----
Makefile.in
- installdirs: create $(pkgconfigdir) if it doesn't exist
+
+
+ 4/8/2019
+ --------
+readline.pc.in
+ - change CFLAGS to include ${includedir} instead of ${includedir}/readline,
+ to support the recommended `#include <readline/readline.h>'. Report
+ and fix from Andrea Bolognani <abologna@redhat.com>
+
cc. Fixed a redisplay problem that caused an extra newline to be generated on
accept-line when the line length is exactly the screenwidth.
+dd. Fixed a bug with adding multibyte characters to an incremental search
+ string.
+
+ee. Fixed a bug with redoing text insertions in vi mode.
+
+ff. Fixed a bug with pasting text into an incremental search string if bracketed
+ paste mode is enabled. ESC cannot be one of the incremental search
+ terminator characters for this to work.
+
+gg. Fixed a bug with anchored search patterns when performing searches in vi
+ mode.
+
2. New Features in Readline
a. Non-incremental vi-mode search (`N', `n') can search for a shell pattern, as
initial quoting state, so quoting state can be inherited from a previous
line.
+j. Readline now allows application-defined keymap names; there is a new public
+ function, rl_set_keymap_name(), to do that.
+
+k. The "Insert" keypad key, if available, now puts readline into overwrite
+ mode.
+
-------------------------------------------------------------------------------
This document details the changes between this version, readline-7.0, and the
previous version, readline-6.3.
initial quoting state, so quoting state can be inherited from a previous
line.
+j. Readline now allows application-defined keymap names; there is a new public
+ function, rl_set_keymap_name(), to do that.
+
+k. The "Insert" keypad key, if available, now puts readline into overwrite
+ mode.
+
-------------------------------------------------------------------------------
This is a terse description of the new features added to readline-7.0 since
the release of readline-6.3.
-nl
+dnl
dnl Bash specific tests
dnl
dnl Some derived from PDKSH 5.1.3 autoconf tests
dnl
dnl check for typedef'd symbols in header files, but allow the caller to
dnl specify the include files to be checked in addition to the default
+dnl
+dnl This could be changed to use AC_COMPILE_IFELSE instead of AC_EGREP_CPP
dnl
dnl BASH_CHECK_TYPE(TYPE, HEADERS, DEFAULT[, VALUE-IF-FOUND])
AC_DEFUN(BASH_CHECK_TYPE,
[AC_CHECK_LIB(tinfo, tgetent, bash_cv_termcap_lib=libtinfo,
[AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
[AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
- bash_cv_termcap_lib=gnutermcap)])])])])])
+ [AC_CHECK_LIB(ncursesw, tgetent, bash_cv_termcap_lib=libncursesw,
+ bash_cv_termcap_lib=gnutermcap)])])])])])])
if test "X$_bash_needmsg" = "Xyes"; then
AC_MSG_CHECKING(which library has the termcap functions)
fi
],
ac_cv_rl_version=`cat conftest.rlv`,
ac_cv_rl_version='0.0',
-ac_cv_rl_version='7.0')])
+ac_cv_rl_version='8.0')])
CFLAGS="$_save_CFLAGS"
LDFLAGS="$_save_LDFLAGS"
AC_SUBST(lispdir)
])
-dnl
-dnl tests added for gettext
-dnl
-# codeset.m4 serial AM1 (gettext-0.10.40)
-dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_LANGINFO_CODESET],
-[
- AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
- [AC_TRY_LINK([#include <langinfo.h>],
- [char* cs = nl_langinfo(CODESET);],
- am_cv_langinfo_codeset=yes,
- am_cv_langinfo_codeset=no)
- ])
- if test $am_cv_langinfo_codeset = yes; then
- AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
- [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
- fi
-])
-# gettext.m4 serial 20 (gettext-0.12)
-dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-dnl Macro to add for using GNU gettext.
-
-dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
-dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
-dnl default (if it is not specified or empty) is 'no-libtool'.
-dnl INTLSYMBOL should be 'external' for packages with no intl directory,
-dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
-dnl If INTLSYMBOL is 'use-libtool', then a libtool library
-dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
-dnl depending on --{enable,disable}-{shared,static} and on the presence of
-dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
-dnl $(top_builddir)/intl/libintl.a will be created.
-dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
-dnl implementations (in libc or libintl) without the ngettext() function
-dnl will be ignored. If NEEDSYMBOL is specified and is
-dnl 'need-formatstring-macros', then GNU gettext implementations that don't
-dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
-dnl INTLDIR is used to find the intl libraries. If empty,
-dnl the value `$(top_builddir)/intl/' is used.
-dnl
-dnl The result of the configuration is one of three cases:
-dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
-dnl and used.
-dnl Catalog format: GNU --> install in $(datadir)
-dnl Catalog extension: .mo after installation, .gmo in source tree
-dnl 2) GNU gettext has been found in the system's C library.
-dnl Catalog format: GNU --> install in $(datadir)
-dnl Catalog extension: .mo after installation, .gmo in source tree
-dnl 3) No internationalization, always use English msgid.
-dnl Catalog format: none
-dnl Catalog extension: none
-dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
-dnl The use of .gmo is historical (it was needed to avoid overwriting the
-dnl GNU format catalogs when building on a platform with an X/Open gettext),
-dnl but we keep it in order not to force irrelevant filename changes on the
-dnl maintainers.
-dnl
-AC_DEFUN([AM_GNU_GETTEXT],
-[
- dnl Argument checking.
- ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
- [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
-])])])])])
- ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
- [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
-])])])])
- define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
- define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
-
- AC_REQUIRE([AM_PO_SUBDIRS])dnl
- ifelse(gt_included_intl, yes, [
- AC_REQUIRE([AM_INTL_SUBDIR])dnl
- ])
-
- dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
-
- dnl Sometimes libintl requires libiconv, so first search for libiconv.
- dnl Ideally we would do this search only after the
- dnl if test "$USE_NLS" = "yes"; then
- dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then
- dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
- dnl the configure script would need to contain the same shell code
- dnl again, outside any 'if'. There are two solutions:
- dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
- dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
- dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
- dnl documented, we avoid it.
- ifelse(gt_included_intl, yes, , [
- AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
- ])
-
- dnl Set USE_NLS.
- AM_NLS
-
- ifelse(gt_included_intl, yes, [
- BUILD_INCLUDED_LIBINTL=no
- USE_INCLUDED_LIBINTL=no
- ])
- LIBINTL=
- LTLIBINTL=
- POSUB=
-
- dnl If we use NLS figure out what method
- if test "$USE_NLS" = "yes"; then
- gt_use_preinstalled_gnugettext=no
- ifelse(gt_included_intl, yes, [
- AC_MSG_CHECKING([whether included gettext is requested])
- AC_ARG_WITH(included-gettext,
- [ --with-included-gettext use the GNU gettext library included here],
- nls_cv_force_use_gnu_gettext=$withval,
- nls_cv_force_use_gnu_gettext=no)
- AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
-
- nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
- if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
- ])
- dnl User does not insist on using GNU NLS library. Figure out what
- dnl to use. If GNU gettext is available we use this. Else we have
- dnl to fall back to GNU NLS library.
-
- dnl Add a version number to the cache macros.
- define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
- define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
- define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
-
- AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
- [AC_TRY_LINK([#include <libintl.h>
-]ifelse([$2], [need-formatstring-macros],
-[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-], [])[extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;],
- [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
- gt_cv_func_gnugettext_libc=yes,
- gt_cv_func_gnugettext_libc=no)])
-
- if test "$gt_cv_func_gnugettext_libc" != "yes"; then
- dnl Sometimes libintl requires libiconv, so first search for libiconv.
- ifelse(gt_included_intl, yes, , [
- AM_ICONV_LINK
- ])
- dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
- dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
- dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
- dnl even if libiconv doesn't exist.
- AC_LIB_LINKFLAGS_BODY([intl])
- AC_CACHE_CHECK([for GNU gettext in libintl],
- gt_cv_func_gnugettext_libintl,
- [gt_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $INCINTL"
- gt_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBINTL"
- dnl Now see whether libintl exists and does not depend on libiconv.
- AC_TRY_LINK([#include <libintl.h>
-]ifelse([$2], [need-formatstring-macros],
-[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-], [])[extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias ();],
- [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
- gt_cv_func_gnugettext_libintl=yes,
- gt_cv_func_gnugettext_libintl=no)
- dnl Now see whether libintl exists and depends on libiconv.
- if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
- LIBS="$LIBS $LIBICONV"
- AC_TRY_LINK([#include <libintl.h>
-]ifelse([$2], [need-formatstring-macros],
-[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-], [])[extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias ();],
- [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
- [LIBINTL="$LIBINTL $LIBICONV"
- LTLIBINTL="$LTLIBINTL $LTLIBICONV"
- gt_cv_func_gnugettext_libintl=yes
- ])
- fi
- CPPFLAGS="$gt_save_CPPFLAGS"
- LIBS="$gt_save_LIBS"])
- fi
-
- dnl If an already present or preinstalled GNU gettext() is found,
- dnl use it. But if this macro is used in GNU gettext, and GNU
- dnl gettext is already preinstalled in libintl, we update this
- dnl libintl. (Cf. the install rule in intl/Makefile.in.)
- if test "$gt_cv_func_gnugettext_libc" = "yes" \
- || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
- && test "$PACKAGE" != gettext-runtime \
- && test "$PACKAGE" != gettext-tools; }; then
- gt_use_preinstalled_gnugettext=yes
- else
- dnl Reset the values set by searching for libintl.
- LIBINTL=
- LTLIBINTL=
- INCINTL=
- fi
-
- ifelse(gt_included_intl, yes, [
- if test "$gt_use_preinstalled_gnugettext" != "yes"; then
- dnl GNU gettext is not found in the C library.
- dnl Fall back on included GNU gettext library.
- nls_cv_use_gnu_gettext=yes
- fi
- fi
-
- if test "$nls_cv_use_gnu_gettext" = "yes"; then
- dnl Mark actions used to generate GNU NLS library.
- BUILD_INCLUDED_LIBINTL=yes
- USE_INCLUDED_LIBINTL=yes
- LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
- LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
- LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
- fi
-
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- dnl Mark actions to use GNU gettext tools.
- CATOBJEXT=.gmo
- fi
- ])
-
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- AC_DEFINE(ENABLE_NLS, 1,
- [Define to 1 if translation of program messages to the user's native language
- is requested.])
- else
- USE_NLS=no
- fi
- fi
-
- AC_MSG_CHECKING([whether to use NLS])
- AC_MSG_RESULT([$USE_NLS])
- if test "$USE_NLS" = "yes"; then
- AC_MSG_CHECKING([where the gettext function comes from])
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
- gt_source="external libintl"
- else
- gt_source="libc"
- fi
- else
- gt_source="included intl directory"
- fi
- AC_MSG_RESULT([$gt_source])
- fi
-
- if test "$USE_NLS" = "yes"; then
-
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
- AC_MSG_CHECKING([how to link with libintl])
- AC_MSG_RESULT([$LIBINTL])
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
- fi
-
- dnl For backward compatibility. Some packages may be using this.
- AC_DEFINE(HAVE_GETTEXT, 1,
- [Define if the GNU gettext() function is already present or preinstalled.])
- AC_DEFINE(HAVE_DCGETTEXT, 1,
- [Define if the GNU dcgettext() function is already present or preinstalled.])
- fi
-
- dnl We need to process the po/ directory.
- POSUB=po
- fi
-
- ifelse(gt_included_intl, yes, [
- dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
- dnl to 'yes' because some of the testsuite requires it.
- if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
- BUILD_INCLUDED_LIBINTL=yes
- fi
-
- dnl Make all variables we use known to autoconf.
- AC_SUBST(BUILD_INCLUDED_LIBINTL)
- AC_SUBST(USE_INCLUDED_LIBINTL)
- AC_SUBST(CATOBJEXT)
-
- dnl For backward compatibility. Some configure.ins may be using this.
- nls_cv_header_intl=
- nls_cv_header_libgt=
-
- dnl For backward compatibility. Some Makefiles may be using this.
- DATADIRNAME=share
- AC_SUBST(DATADIRNAME)
-
- dnl For backward compatibility. Some Makefiles may be using this.
- INSTOBJEXT=.mo
- AC_SUBST(INSTOBJEXT)
-
- dnl For backward compatibility. Some Makefiles may be using this.
- GENCAT=gencat
- AC_SUBST(GENCAT)
-
- dnl For backward compatibility. Some Makefiles may be using this.
- if test "$USE_INCLUDED_LIBINTL" = yes; then
- INTLOBJS="\$(GETTOBJS)"
- fi
- AC_SUBST(INTLOBJS)
-
- dnl Enable libtool support if the surrounding package wishes it.
- INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
- AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
- ])
-
- dnl For backward compatibility. Some Makefiles may be using this.
- INTLLIBS="$LIBINTL"
- AC_SUBST(INTLLIBS)
-
- dnl Make all documented variables known to autoconf.
- AC_SUBST(LIBINTL)
- AC_SUBST(LTLIBINTL)
- AC_SUBST(POSUB)
-])
-
-
-dnl Checks for all prerequisites of the intl subdirectory,
-dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
-dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
-AC_DEFUN([AM_INTL_SUBDIR],
-[
- AC_REQUIRE([AC_PROG_INSTALL])dnl
- AC_REQUIRE([AM_MKINSTALLDIRS])dnl
- AC_REQUIRE([AC_PROG_CC])dnl
- AC_REQUIRE([AC_CANONICAL_HOST])dnl
- AC_REQUIRE([AC_PROG_RANLIB])dnl
- AC_REQUIRE([AC_ISC_POSIX])dnl
- AC_REQUIRE([AC_HEADER_STDC])dnl
- AC_REQUIRE([AC_C_CONST])dnl
- AC_REQUIRE([AC_C_INLINE])dnl
- AC_REQUIRE([AC_TYPE_OFF_T])dnl
- AC_REQUIRE([AC_TYPE_SIZE_T])dnl
- AC_REQUIRE([AC_FUNC_ALLOCA])dnl
- AC_REQUIRE([AC_FUNC_MMAP])dnl
- AC_REQUIRE([jm_GLIBC21])dnl
- AC_REQUIRE([gt_INTDIV0])dnl
- AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
- AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
- AC_REQUIRE([gt_INTTYPES_PRI])dnl
-
- AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
-stdlib.h string.h unistd.h sys/param.h])
- AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
-geteuid getgid getuid mempcpy munmap putenv setenv setlocale localeconv stpcpy \
-strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next \
-__fsetlocking])
-
- AM_ICONV
- AM_LANGINFO_CODESET
- if test $ac_cv_header_locale_h = yes; then
- AM_LC_MESSAGES
- fi
-
- dnl intl/plural.c is generated from intl/plural.y. It requires bison,
- dnl because plural.y uses bison specific features. It requires at least
- dnl bison-1.26 because earlier versions generate a plural.c that doesn't
- dnl compile.
- dnl bison is only needed for the maintainer (who touches plural.y). But in
- dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
- dnl the rule in general Makefile. Now, some people carelessly touch the
- dnl files or have a broken "make" program, hence the plural.c rule will
- dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
- dnl present or too old.
- AC_CHECK_PROGS([INTLBISON], [bison])
- if test -z "$INTLBISON"; then
- ac_verc_fail=yes
- else
- dnl Found it, now check the version.
- AC_MSG_CHECKING([version of bison])
-changequote(<<,>>)dnl
- ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
- case $ac_prog_version in
- '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
- 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
-changequote([,])dnl
- ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
- *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
- esac
- AC_MSG_RESULT([$ac_prog_version])
- fi
- if test $ac_verc_fail = yes; then
- INTLBISON=:
- fi
-])
-
-
-dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
-AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
-# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
-dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-# Test for the GNU C Library, version 2.1 or newer.
-# From Bruno Haible.
-
-AC_DEFUN([jm_GLIBC21],
- [
- AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
- ac_cv_gnu_library_2_1,
- [AC_EGREP_CPP([Lucky GNU user],
- [
-#include <features.h>
-#ifdef __GNU_LIBRARY__
- #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
- Lucky GNU user
- #endif
-#endif
- ],
- ac_cv_gnu_library_2_1=yes,
- ac_cv_gnu_library_2_1=no)
- ]
- )
- AC_SUBST(GLIBC21)
- GLIBC21="$ac_cv_gnu_library_2_1"
- ]
-)
-# iconv.m4 serial AM4 (gettext-0.11.3)
-dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
-[
- dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
-
- dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
- dnl accordingly.
- AC_LIB_LINKFLAGS_BODY([iconv])
-])
-
-AC_DEFUN([AM_ICONV_LINK],
-[
- dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
- dnl those with the standalone portable GNU libiconv installed).
-
- dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
- dnl accordingly.
- AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-
- dnl Add $INCICONV to CPPFLAGS before performing the following checks,
- dnl because if the user has installed libiconv and not disabled its use
- dnl via --without-libiconv-prefix, he wants to use it. The first
- dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
- am_save_CPPFLAGS="$CPPFLAGS"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-
- AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
- am_cv_func_iconv="no, consider installing GNU libiconv"
- am_cv_lib_iconv=no
- AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
- [iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);],
- am_cv_func_iconv=yes)
- if test "$am_cv_func_iconv" != yes; then
- am_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
- AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
- [iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);],
- am_cv_lib_iconv=yes
- am_cv_func_iconv=yes)
- LIBS="$am_save_LIBS"
- fi
- ])
- if test "$am_cv_func_iconv" = yes; then
- AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
- fi
- if test "$am_cv_lib_iconv" = yes; then
- AC_MSG_CHECKING([how to link with libiconv])
- AC_MSG_RESULT([$LIBICONV])
- else
- dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
- dnl either.
- CPPFLAGS="$am_save_CPPFLAGS"
- LIBICONV=
- LTLIBICONV=
- fi
- AC_SUBST(LIBICONV)
- AC_SUBST(LTLIBICONV)
-])
-
-AC_DEFUN([AM_ICONV],
-[
- AM_ICONV_LINK
- if test "$am_cv_func_iconv" = yes; then
- AC_MSG_CHECKING([for iconv declaration])
- AC_CACHE_VAL(am_cv_proto_iconv, [
- AC_TRY_COMPILE([
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
-], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
- am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
- am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
- AC_MSG_RESULT([$]{ac_t:-
- }[$]am_cv_proto_iconv)
- AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
- [Define as const if the declaration of iconv() needs const.])
- fi
-])
-# intdiv0.m4 serial 1 (gettext-0.11.3)
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([gt_INTDIV0],
-[
- AC_REQUIRE([AC_PROG_CC])dnl
- AC_REQUIRE([AC_CANONICAL_HOST])dnl
-
- AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
- gt_cv_int_divbyzero_sigfpe,
- [
- AC_TRY_RUN([
-#include <stdlib.h>
-#include <signal.h>
-
-static void
-#ifdef __cplusplus
-sigfpe_handler (int sig)
-#else
-sigfpe_handler (sig) int sig;
-#endif
-{
- /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
- exit (sig != SIGFPE);
-}
-
-int x = 1;
-int y = 0;
-int z;
-int nan;
-
-int main ()
-{
- signal (SIGFPE, sigfpe_handler);
-/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
-#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
- signal (SIGTRAP, sigfpe_handler);
-#endif
-/* Linux/SPARC yields signal SIGILL. */
-#if defined (__sparc__) && defined (__linux__)
- signal (SIGILL, sigfpe_handler);
-#endif
-
- z = x / y;
- nan = y / y;
- exit (1);
-}
-], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
- [
- # Guess based on the CPU.
- case "$host_cpu" in
- alpha* | i[34567]86 | m68k | s390*)
- gt_cv_int_divbyzero_sigfpe="guessing yes";;
- *)
- gt_cv_int_divbyzero_sigfpe="guessing no";;
- esac
- ])
- ])
- case "$gt_cv_int_divbyzero_sigfpe" in
- *yes) value=1;;
- *) value=0;;
- esac
- AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
- [Define if integer division by zero raises signal SIGFPE.])
-])
-# inttypes.m4 serial 1 (gettext-0.11.4)
-dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Paul Eggert.
-
-# Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with
-# <sys/types.h>.
-
-AC_DEFUN([gt_HEADER_INTTYPES_H],
-[
- AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
- [
- AC_TRY_COMPILE(
- [#include <sys/types.h>
-#include <inttypes.h>],
- [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
- ])
- if test $gt_cv_header_inttypes_h = yes; then
- AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
- [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])
- fi
-])
-# inttypes_h.m4 serial 5 (gettext-0.12)
-dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Paul Eggert.
-
-# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
-# doesn't clash with <sys/types.h>, and declares uintmax_t.
-
-AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
-[
- AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
- [AC_TRY_COMPILE(
- [#include <sys/types.h>
-#include <inttypes.h>],
- [uintmax_t i = (uintmax_t) -1;],
- jm_ac_cv_header_inttypes_h=yes,
- jm_ac_cv_header_inttypes_h=no)])
- if test $jm_ac_cv_header_inttypes_h = yes; then
- AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
- [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
- and declares uintmax_t. ])
- fi
-])
-# inttypes-pri.m4 serial 1 (gettext-0.11.4)
-dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Bruno Haible.
-
-# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
-# macros to non-string values. This is the case on AIX 4.3.3.
-
-AC_DEFUN([gt_INTTYPES_PRI],
-[
- AC_REQUIRE([gt_HEADER_INTTYPES_H])
- if test $gt_cv_header_inttypes_h = yes; then
- AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
- gt_cv_inttypes_pri_broken,
- [
- AC_TRY_COMPILE([#include <inttypes.h>
-#ifdef PRId32
-char *p = PRId32;
-#endif
-], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
- ])
- fi
- if test "$gt_cv_inttypes_pri_broken" = yes; then
- AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
- [Define if <inttypes.h> exists and defines unusable PRI* macros.])
- fi
-])
-# isc-posix.m4 serial 2 (gettext-0.11.2)
-dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-# This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
-
-# This test replaces the one in autoconf.
-# Currently this macro should have the same name as the autoconf macro
-# because gettext's gettext.m4 (distributed in the automake package)
-# still uses it. Otherwise, the use in gettext.m4 makes autoheader
-# give these diagnostics:
-# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
-# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
-
-undefine([AC_ISC_POSIX])
-
-AC_DEFUN([AC_ISC_POSIX],
- [
- dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
- AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
- ]
-)
-# lcmessage.m4 serial 3 (gettext-0.11.3)
-dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
-
-# Check whether LC_MESSAGES is available in <locale.h>.
-
-AC_DEFUN([AM_LC_MESSAGES],
-[
- AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
- [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
- am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
- if test $am_cv_val_LC_MESSAGES = yes; then
- AC_DEFINE(HAVE_LC_MESSAGES, 1,
- [Define if your <locale.h> file defines LC_MESSAGES.])
- fi
-])
-# lib-ld.m4 serial 2 (gettext-0.12)
-dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl Subroutines of libtool.m4,
-dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
-dnl with libtool.m4.
-
-dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
-AC_DEFUN([AC_LIB_PROG_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
- acl_cv_prog_gnu_ld=yes
-else
- acl_cv_prog_gnu_ld=no
-fi])
-with_gnu_ld=$acl_cv_prog_gnu_ld
-])
-
-dnl From libtool-1.4. Sets the variable LD.
-AC_DEFUN([AC_LIB_PROG_LD],
-[AC_ARG_WITH(gnu-ld,
-[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by GCC])
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [[\\/]* | [A-Za-z]:[\\/]*)]
- [re_direlt='/[^/][^/]*/\.\./']
- # Canonicalize the path of ld
- ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(acl_cv_path_LD,
-[if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- acl_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
- test "$with_gnu_ld" != no && break
- else
- test "$with_gnu_ld" != yes && break
- fi
- fi
- done
- IFS="$ac_save_ifs"
-else
- acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT($LD)
-else
- AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_LIB_PROG_LD_GNU
-])
-# lib-link.m4 serial 4 (gettext-0.12)
-dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Bruno Haible.
-
-dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
-dnl augments the CPPFLAGS variable.
-AC_DEFUN([AC_LIB_LINKFLAGS],
-[
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
- define([Name],[translit([$1],[./-], [___])])
- define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
- AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
- AC_LIB_LINKFLAGS_BODY([$1], [$2])
- ac_cv_lib[]Name[]_libs="$LIB[]NAME"
- ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
- ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
- ])
- LIB[]NAME="$ac_cv_lib[]Name[]_libs"
- LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
- INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
- AC_SUBST([LIB]NAME)
- AC_SUBST([LTLIB]NAME)
- dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
- dnl results of this search when this library appears as a dependency.
- HAVE_LIB[]NAME=yes
- undefine([Name])
- undefine([NAME])
-])
-
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
-dnl searches for libname and the libraries corresponding to explicit and
-dnl implicit dependencies, together with the specified include files and
-dnl the ability to compile and link the specified testcode. If found, it
-dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
-dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
-dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
-dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
-AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
-[
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
- define([Name],[translit([$1],[./-], [___])])
- define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-
- dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
- dnl accordingly.
- AC_LIB_LINKFLAGS_BODY([$1], [$2])
-
- dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
- dnl because if the user has installed lib[]Name and not disabled its use
- dnl via --without-lib[]Name-prefix, he wants to use it.
- ac_save_CPPFLAGS="$CPPFLAGS"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-
- AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIB[]NAME"
- AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
- LIBS="$ac_save_LIBS"
- ])
- if test "$ac_cv_lib[]Name" = yes; then
- HAVE_LIB[]NAME=yes
- AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
- AC_MSG_CHECKING([how to link with lib[]$1])
- AC_MSG_RESULT([$LIB[]NAME])
- else
- HAVE_LIB[]NAME=no
- dnl If $LIB[]NAME didn't lead to a usable library, we don't need
- dnl $INC[]NAME either.
- CPPFLAGS="$ac_save_CPPFLAGS"
- LIB[]NAME=
- LTLIB[]NAME=
- fi
- AC_SUBST([HAVE_LIB]NAME)
- AC_SUBST([LIB]NAME)
- AC_SUBST([LTLIB]NAME)
- undefine([Name])
- undefine([NAME])
-])
-
-dnl Determine the platform dependent parameters needed to use rpath:
-dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
-dnl hardcode_direct, hardcode_minus_L.
-AC_DEFUN([AC_LIB_RPATH],
-[
- AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
- AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
- AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
- AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
- CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
- ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
- . ./conftest.sh
- rm -f ./conftest.sh
- acl_cv_rpath=done
- ])
- wl="$acl_cv_wl"
- libext="$acl_cv_libext"
- shlibext="$acl_cv_shlibext"
- hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- hardcode_direct="$acl_cv_hardcode_direct"
- hardcode_minus_L="$acl_cv_hardcode_minus_L"
- dnl Determine whether the user wants rpath handling at all.
- AC_ARG_ENABLE(rpath,
- [ --disable-rpath do not hardcode runtime library paths],
- :, enable_rpath=yes)
-])
-
-dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
-AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
-[
- define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
- dnl By default, look in $includedir and $libdir.
- use_additional=yes
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- AC_LIB_ARG_WITH([lib$1-prefix],
-[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
- --without-lib$1-prefix don't search for lib$1 in includedir and libdir],
-[
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
- fi
- fi
-])
- dnl Search the library and its dependencies in $additional_libdir and
- dnl $LDFLAGS. Using breadth-first-seach.
- LIB[]NAME=
- LTLIB[]NAME=
- INC[]NAME=
- rpathdirs=
- ltrpathdirs=
- names_already_handled=
- names_next_round='$1 $2'
- while test -n "$names_next_round"; do
- names_this_round="$names_next_round"
- names_next_round=
- for name in $names_this_round; do
- already_handled=
- for n in $names_already_handled; do
- if test "$n" = "$name"; then
- already_handled=yes
- break
- fi
- done
- if test -z "$already_handled"; then
- names_already_handled="$names_already_handled $name"
- dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
- dnl or AC_LIB_HAVE_LINKFLAGS call.
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
- eval value=\"\$HAVE_LIB$uppername\"
- if test -n "$value"; then
- if test "$value" = yes; then
- eval value=\"\$LIB$uppername\"
- test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
- eval value=\"\$LTLIB$uppername\"
- test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
- else
- dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
- dnl that this library doesn't exist. So just drop it.
- :
- fi
- else
- dnl Search the library lib$name in $additional_libdir and $LDFLAGS
- dnl and the already constructed $LIBNAME/$LTLIBNAME.
- found_dir=
- found_la=
- found_so=
- found_a=
- if test $use_additional = yes; then
- if test "X$prefer_shared" = "Xyes" && test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
- found_dir="$additional_libdir"
- found_so="$additional_libdir/lib$name.$shlibext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- else
- if test -f "$additional_libdir/lib$name.$libext"; then
- found_dir="$additional_libdir"
- found_a="$additional_libdir/lib$name.$libext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- for x in $LDFLAGS $LTLIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- case "$x" in
- -L*)
- dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test "X$prefer_shared" = "Xyes" && test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
- found_dir="$dir"
- found_so="$dir/lib$name.$shlibext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- else
- if test -f "$dir/lib$name.$libext"; then
- found_dir="$dir"
- found_a="$dir/lib$name.$libext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- fi
- fi
- ;;
- esac
- if test "X$found_dir" != "X"; then
- break
- fi
- done
- fi
- if test "X$found_dir" != "X"; then
- dnl Found the library.
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
- if test "X$found_so" != "X"; then
- dnl Linking with a shared library. We attempt to hardcode its
- dnl directory into the executable's runpath, unless it's the
- dnl standard /usr/lib.
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
- dnl No hardcoding is needed.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- else
- dnl Use an explicit option to hardcode DIR into the resulting
- dnl binary.
- dnl Potentially add DIR to ltrpathdirs.
- dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $found_dir"
- fi
- dnl The hardcoding into $LIBNAME is system dependent.
- if test "$hardcode_direct" = yes; then
- dnl Using DIR/libNAME.so during linking hardcodes DIR into the
- dnl resulting binary.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- else
- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
- dnl Use an explicit option to hardcode DIR into the resulting
- dnl binary.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- dnl Potentially add DIR to rpathdirs.
- dnl The rpathdirs will be appended to $LIBNAME at the end.
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $found_dir"
- fi
- else
- dnl Rely on "-L$found_dir".
- dnl But don't add it if it's already contained in the LDFLAGS
- dnl or the already constructed $LIBNAME
- haveit=
- for x in $LDFLAGS $LIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
- fi
- if test "$hardcode_minus_L" != no; then
- dnl FIXME: Not sure whether we should use
- dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
- dnl here.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- else
- dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
- dnl here, because this doesn't fit in flags passed to the
- dnl compiler. So give up. No hardcoding. This affects only
- dnl very old systems.
- dnl FIXME: Not sure whether we should use
- dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
- dnl here.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
- fi
- fi
- fi
- fi
- else
- if test "X$found_a" != "X"; then
- dnl Linking with a static library.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
- else
- dnl We shouldn't come here, but anyway it's good to have a
- dnl fallback.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
- fi
- fi
- dnl Assume the include files are nearby.
- additional_includedir=
- case "$found_dir" in
- */lib | */lib/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
- dnl Potentially add $additional_includedir to $INCNAME.
- dnl But don't add it
- dnl 1. if it's the standard /usr/include,
- dnl 2. if it's /usr/local/include and we are using GCC on Linux,
- dnl 3. if it's already present in $CPPFLAGS or the already
- dnl constructed $INCNAME,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INC[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- dnl Really add $additional_includedir to $INCNAME.
- INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- dnl Look for dependencies.
- if test -n "$found_la"; then
- dnl Read the .la file. It defines the variables
- dnl dlname, library_names, old_library, dependency_libs, current,
- dnl age, revision, installed, dlopen, dlpreopen, libdir.
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- dnl We use only dependency_libs.
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
- dnl But don't add it
- dnl 1. if it's the standard /usr/lib,
- dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
- dnl 3. if it's already present in $LDFLAGS or the already
- dnl constructed $LIBNAME,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/lib"; then
- haveit=
- if test "X$additional_libdir" = "X/usr/local/lib"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LIBNAME.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LTLIBNAME.
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- dnl Potentially add DIR to rpathdirs.
- dnl The rpathdirs will be appended to $LIBNAME at the end.
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- dnl Potentially add DIR to ltrpathdirs.
- dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- dnl Handle this in the next round.
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
- dnl Handle this in the next round. Throw away the .la's
- dnl directory; it is already contained in a preceding -L
- dnl option.
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
- dnl Most likely an immediate library name.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
- ;;
- esac
- done
- fi
- else
- dnl Didn't find the library; assume it is in the system directories
- dnl known to the linker and runtime loader. (All the system
- dnl directories known to the linker should also be known to the
- dnl runtime loader, otherwise the system is severely misconfigured.)
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$hardcode_libdir_separator"; then
- dnl Weird platform: only the last -rpath option counts, the user must
- dnl pass all path elements in one option. We can arrange that for a
- dnl single library, but not when more than one $LIBNAMEs are used.
- alldirs=
- for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
- done
- dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
- else
- dnl The -rpath options are cumulative.
- for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$found_dir"
- eval flag=\"$hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
- done
- fi
- fi
- if test "X$ltrpathdirs" != "X"; then
- dnl When using libtool, the option that works for both libraries and
- dnl executables is -R. The -R options are cumulative.
- for found_dir in $ltrpathdirs; do
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
- done
- fi
-])
-
-dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
-dnl unless already present in VAR.
-dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
-dnl contains two or three consecutive elements that belong together.
-AC_DEFUN([AC_LIB_APPENDTOVAR],
-[
- for element in [$2]; do
- haveit=
- for x in $[$1]; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- [$1]="${[$1]}${[$1]:+ }$element"
- fi
- done
-])
-# lib-prefix.m4 serial 2 (gettext-0.12)
-dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Bruno Haible.
-
-dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
-dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
-dnl require excessive bracketing.
-ifdef([AC_HELP_STRING],
-[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
-[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
-
-dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
-dnl to access previously installed libraries. The basic assumption is that
-dnl a user will want packages to use other packages he previously installed
-dnl with the same --prefix option.
-dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
-dnl libraries, but is otherwise very convenient.
-AC_DEFUN([AC_LIB_PREFIX],
-[
- AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- dnl By default, look in $includedir and $libdir.
- use_additional=yes
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- AC_LIB_ARG_WITH([lib-prefix],
-[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
- --without-lib-prefix don't search for libraries in includedir and libdir],
-[
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
- fi
- fi
-])
- if test $use_additional = yes; then
- dnl Potentially add $additional_includedir to $CPPFLAGS.
- dnl But don't add it
- dnl 1. if it's the standard /usr/include,
- dnl 2. if it's already present in $CPPFLAGS,
- dnl 3. if it's /usr/local/include and we are using GCC on Linux,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- for x in $CPPFLAGS; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- dnl Really add $additional_includedir to $CPPFLAGS.
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- dnl Potentially add $additional_libdir to $LDFLAGS.
- dnl But don't add it
- dnl 1. if it's the standard /usr/lib,
- dnl 2. if it's already present in $LDFLAGS,
- dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/lib"; then
- haveit=
- for x in $LDFLAGS; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test "X$additional_libdir" = "X/usr/local/lib"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LDFLAGS.
- LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- fi
-])
-
-dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
-dnl acl_final_exec_prefix, containing the values to which $prefix and
-dnl $exec_prefix will expand at the end of the configure script.
-AC_DEFUN([AC_LIB_PREPARE_PREFIX],
-[
- dnl Unfortunately, prefix and exec_prefix get only finally determined
- dnl at the end of configure.
- if test "X$prefix" = "XNONE"; then
- acl_final_prefix="$ac_default_prefix"
- else
- acl_final_prefix="$prefix"
- fi
- if test "X$exec_prefix" = "XNONE"; then
- acl_final_exec_prefix='${prefix}'
- else
- acl_final_exec_prefix="$exec_prefix"
- fi
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
- prefix="$acl_save_prefix"
-])
-
-dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
-dnl variables prefix and exec_prefix bound to the values they will have
-dnl at the end of the configure script.
-AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
-[
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- $1
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-])
-# nls.m4 serial 1 (gettext-0.12)
-dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-AC_DEFUN([AM_NLS],
-[
- AC_MSG_CHECKING([whether NLS is requested])
- dnl Default is enabled NLS
- AC_ARG_ENABLE(nls,
- [ --disable-nls do not use Native Language Support],
- USE_NLS=$enableval, USE_NLS=yes)
- AC_MSG_RESULT($USE_NLS)
- AC_SUBST(USE_NLS)
-])
-
-AC_DEFUN([AM_MKINSTALLDIRS],
-[
- dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
- dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
- dnl Try to locate it.
- MKINSTALLDIRS=
- if test -n "$ac_aux_dir"; then
- case "$ac_aux_dir" in
- /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
- *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
- esac
- fi
- if test -z "$MKINSTALLDIRS"; then
- MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
- fi
- AC_SUBST(MKINSTALLDIRS)
-])
-# po.m4 serial 1 (gettext-0.12)
-dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-dnl Checks for all prerequisites of the po subdirectory.
-AC_DEFUN([AM_PO_SUBDIRS],
-[
- AC_REQUIRE([AC_PROG_MAKE_SET])dnl
- AC_REQUIRE([AC_PROG_INSTALL])dnl
- AC_REQUIRE([AM_MKINSTALLDIRS])dnl
- AC_REQUIRE([AM_NLS])dnl
-
- dnl Perform the following tests also if --disable-nls has been given,
- dnl because they are needed for "make dist" to work.
-
- dnl Search for GNU msgfmt in the PATH.
- dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
- dnl The second test excludes FreeBSD msgfmt.
- AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
- [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
- (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
- :)
- AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
-
- dnl Search for GNU xgettext 0.12 or newer in the PATH.
- dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
- dnl The second test excludes FreeBSD xgettext.
- AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
- [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
- (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
- :)
- dnl Remove leftover from FreeBSD xgettext call.
- rm -f messages.po
-
- dnl Search for GNU msgmerge 0.11 or newer in the PATH.
- AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
- [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
-
- dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
- dnl Test whether we really found GNU msgfmt.
- if test "$GMSGFMT" != ":"; then
- dnl If it is no GNU msgfmt we define it as : so that the
- dnl Makefiles still can work.
- if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
- (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- : ;
- else
- GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
- AC_MSG_RESULT(
- [found $GMSGFMT program is not GNU msgfmt; ignore it])
- GMSGFMT=":"
- fi
- fi
-
- dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
- dnl Test whether we really found GNU xgettext.
- if test "$XGETTEXT" != ":"; then
- dnl If it is no GNU xgettext we define it as : so that the
- dnl Makefiles still can work.
- if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
- (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- : ;
- else
- AC_MSG_RESULT(
- [found xgettext program is not GNU xgettext; ignore it])
- XGETTEXT=":"
- fi
- dnl Remove leftover from FreeBSD xgettext call.
- rm -f messages.po
- fi
-
- AC_OUTPUT_COMMANDS([
- for ac_file in $CONFIG_FILES; do
- # Support "outfile[:infile[:infile...]]"
- case "$ac_file" in
- *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- esac
- # PO directories have a Makefile.in generated from Makefile.in.in.
- case "$ac_file" in */Makefile.in)
- # Adjust a relative srcdir.
- ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
- ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
- ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
- # In autoconf-2.13 it is called $ac_given_srcdir.
- # In autoconf-2.50 it is called $srcdir.
- test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
- case "$ac_given_srcdir" in
- .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
- /*) top_srcdir="$ac_given_srcdir" ;;
- *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
- if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
- rm -f "$ac_dir/POTFILES"
- test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
- cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
- POMAKEFILEDEPS="POTFILES.in"
- # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
- # on $ac_dir but don't depend on user-specified configuration
- # parameters.
- if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
- # The LINGUAS file contains the set of available languages.
- if test -n "$OBSOLETE_ALL_LINGUAS"; then
- test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
- fi
- ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- # Hide the ALL_LINGUAS assigment from automake.
- eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
- POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
- else
- # The set of available languages was given in configure.in.
- eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
- fi
- case "$ac_given_srcdir" in
- .) srcdirpre= ;;
- *) srcdirpre='$(srcdir)/' ;;
- esac
- POFILES=
- GMOFILES=
- UPDATEPOFILES=
- DUMMYPOFILES=
- for lang in $ALL_LINGUAS; do
- POFILES="$POFILES $srcdirpre$lang.po"
- GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
- UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
- DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
- done
- # CATALOGS depends on both $ac_dir and the user's LINGUAS
- # environment variable.
- INST_LINGUAS=
- if test -n "$ALL_LINGUAS"; then
- for presentlang in $ALL_LINGUAS; do
- useit=no
- if test "%UNSET%" != "$LINGUAS"; then
- desiredlanguages="$LINGUAS"
- else
- desiredlanguages="$ALL_LINGUAS"
- fi
- for desiredlang in $desiredlanguages; do
- # Use the presentlang catalog if desiredlang is
- # a. equal to presentlang, or
- # b. a variant of presentlang (because in this case,
- # presentlang can be used as a fallback for messages
- # which are not translated in the desiredlang catalog).
- case "$desiredlang" in
- "$presentlang"*) useit=yes;;
- esac
- done
- if test $useit = yes; then
- INST_LINGUAS="$INST_LINGUAS $presentlang"
- fi
- done
- fi
- CATALOGS=
- if test -n "$INST_LINGUAS"; then
- for lang in $INST_LINGUAS; do
- CATALOGS="$CATALOGS $lang.gmo"
- done
- fi
- test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
- sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
- for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
- if test -f "$f"; then
- case "$f" in
- *.orig | *.bak | *~) ;;
- *) cat "$f" >> "$ac_dir/Makefile" ;;
- esac
- fi
- done
- fi
- ;;
- esac
- done],
- [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
- # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
- # from automake.
- eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
- # Capture the value of LINGUAS because we need it to compute CATALOGS.
- LINGUAS="${LINGUAS-%UNSET%}"
- ])
-])
-# progtest.m4 serial 3 (gettext-0.12)
-dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
-
-# Search path for a program which passes the given test.
-
-dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
-dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-AC_DEFUN([AM_PATH_PROG_WITH_TEST],
-[
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "$2", so it can be a program name with args.
-set dummy $2; ac_word=[$]2
-AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL(ac_cv_path_$1,
-[case "[$]$1" in
- [[\\/]]* | ?:[[\\/]]*)
- ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in ifelse([$5], , $PATH, [$5]); do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- if [$3]; then
- ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
-dnl If no 4th arg is given, leave the cache variable unset,
-dnl so AC_PATH_PROGS will keep looking.
-ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
-])dnl
- ;;
-esac])dnl
-$1="$ac_cv_path_$1"
-if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
- AC_MSG_RESULT([$]$1)
-else
- AC_MSG_RESULT(no)
-fi
-AC_SUBST($1)dnl
-])
-# stdint_h.m4 serial 3 (gettext-0.12)
-dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Paul Eggert.
-
-# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
-# doesn't clash with <sys/types.h>, and declares uintmax_t.
-
-AC_DEFUN([jm_AC_HEADER_STDINT_H],
-[
- AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
- [AC_TRY_COMPILE(
- [#include <sys/types.h>
-#include <stdint.h>],
- [uintmax_t i = (uintmax_t) -1;],
- jm_ac_cv_header_stdint_h=yes,
- jm_ac_cv_header_stdint_h=no)])
- if test $jm_ac_cv_header_stdint_h = yes; then
- AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
- [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
- and declares uintmax_t. ])
- fi
-])
-# uintmax_t.m4 serial 7 (gettext-0.12)
-dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Paul Eggert.
-
-AC_PREREQ(2.13)
-
-# Define uintmax_t to 'unsigned long' or 'unsigned long long'
-# if it is not already defined in <stdint.h> or <inttypes.h>.
-
-AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
-[
- AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
- AC_REQUIRE([jm_AC_HEADER_STDINT_H])
- if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
- AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
- test $ac_cv_type_unsigned_long_long = yes \
- && ac_type='unsigned long long' \
- || ac_type='unsigned long'
- AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
- [Define to unsigned long or unsigned long long
- if <stdint.h> and <inttypes.h> don't define.])
- else
- AC_DEFINE(HAVE_UINTMAX_T, 1,
- [Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.])
- fi
-])
-# ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40)
-dnl Copyright (C) 1999-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Paul Eggert.
-
-AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
-[
- AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
- [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;],
- [unsigned long long ullmax = (unsigned long long) -1;
- return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
- ac_cv_type_unsigned_long_long=yes,
- ac_cv_type_unsigned_long_long=no)])
- if test $ac_cv_type_unsigned_long_long = yes; then
- AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
- [Define if you have the unsigned long long type.])
- fi
-])
-
dnl From gnulib
AC_DEFUN([BASH_FUNC_FPURGE],
[
[Define if you have a working sbrk function.])
fi
])
+
+AC_DEFUN(BASH_FUNC_FNMATCH_EQUIV_FALLBACK,
+[AC_MSG_CHECKING(whether fnmatch can be used to check bracket equivalence classes)
+AC_CACHE_VAL(bash_cv_fnmatch_equiv_fallback,
+[AC_TRY_RUN([
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <fnmatch.h>
+#include <locale.h>
+
+char *pattern = "[[=a=]]";
+
+/* char *string = "ä"; */
+unsigned char string[4] = { '\xc3', '\xa4', '\0' };
+
+int
+main (int c, char **v)
+{
+ setlocale (LC_ALL, "en_US.UTF-8");
+ if (fnmatch (pattern, (const char *)string, 0) != FNM_NOMATCH)
+ exit (0);
+ exit (1);
+}
+
+], bash_cv_fnmatch_equiv_fallback=yes, bash_cv_fnmatch_equiv_fallback=no,
+ [AC_MSG_WARN(cannot check fnmatch if cross compiling -- defaulting to no)
+ bash_cv_fnmatch_equiv_fallback=no]
+)])
+AC_MSG_RESULT($bash_cv_fnmatch_equiv_fallback)
+if test "$bash_cv_fnmatch_equiv_fallback" = "yes" ; then
+ bash_cv_fnmatch_equiv_value=1
+else
+ bash_cv_fnmatch_equiv_value=0
+fi
+AC_DEFINE_UNQUOTED([FNMATCH_EQUIV_FALLBACK], [$bash_cv_fnmatch_equiv_value], [Whether fnmatch can be used for bracket equivalence classes])
+])
/* bind.c -- key binding and startup file support for the readline library. */
-/* Copyright (C) 1987-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2019 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
int
rl_bind_key (int key, rl_command_func_t *function)
{
- char keyseq[3];
+ char keyseq[4];
int l;
- if (key < 0)
+ if (key < 0 || key > largest_char)
return (key);
+ /* Want to make this a multi-character key sequence with an ESC prefix */
if (META_CHAR (key) && _rl_convert_meta_chars_to_ascii)
{
if (_rl_keymap[ESC].type == ISKMAP)
escmap[key].function = function;
return (0);
}
- return (key);
+
+ /* Otherwise, let's just let rl_generic_bind handle the key sequence.
+ We start it off with ESC here and let the code below add the rest
+ of the sequence. */
+ keyseq[0] = ESC;
+ l = 1;
+ key = UNMETA(key);
+ goto bind_keyseq;
}
/* If it's bound to a function or macro, just overwrite. Otherwise we have
else
{
l = 0;
+bind_keyseq:
if (key == '\\')
keyseq[l++] = '\\';
keyseq[l++] = key;
return -1;
}
+ /* We now rely on rl_translate_keyseq to do this conversion, so this
+ check is superfluous. */
+#if 0
if (META_CHAR (ic) && _rl_convert_meta_chars_to_ascii)
{
ic = UNMETA (ic);
map = FUNCTION_TO_KEYMAP (map, ESC);
}
}
+#endif
if ((i + 1) < keys_len)
{
return 0;
}
+#define ADD_NORMAL_CHAR(c) \
+ do { \
+ if (META_CHAR (c) && _rl_convert_meta_chars_to_ascii) \
+ { \
+ array[l++] = ESC; \
+ array[l++] = UNMETA (c); \
+ } \
+ else \
+ array[l++] = (c); \
+ } while (0)
+
/* Translate the ASCII representation of SEQ, stuffing the values into ARRAY,
an array of characters. LEN gets the final length of ARRAY. Return
non-zero if there was an error parsing SEQ. */
int
rl_translate_keyseq (const char *seq, char *array, int *len)
{
- register int i, c, l, temp;
+ register int i, l, temp;
+ unsigned char c;
for (i = l = 0; c = seq[i]; i++)
{
else if (c == 'M')
{
i++; /* seq[i] == '-' */
- /* XXX - obey convert-meta setting */
- if (_rl_convert_meta_chars_to_ascii && _rl_keymap[ESC].type == ISKMAP)
- array[l++] = ESC; /* ESC is meta-prefix */
+ /* XXX - obey convert-meta setting, convert to key seq */
+ if (_rl_convert_meta_chars_to_ascii)
+ {
+ array[l++] = ESC; /* ESC is meta-prefix */
+ i++;
+ array[l++] = UNMETA (seq[i]); /* UNMETA just in case */
+ }
else if (seq[i+1] == '\\' && seq[i+2] == 'C' && seq[i+3] == '-')
{
i += 4;
for (temp = 2, c -= '0'; ISOCTAL ((unsigned char)seq[i]) && temp--; i++)
c = (c * 8) + OCTVALUE (seq[i]);
i--; /* auto-increment in for loop */
- array[l++] = c & largest_char;
+ c &= largest_char;
+ ADD_NORMAL_CHAR (c);
break;
case 'x':
i++;
if (temp == 2)
c = 'x';
i--; /* auto-increment in for loop */
- array[l++] = c & largest_char;
+ c &= largest_char;
+ ADD_NORMAL_CHAR (c);
break;
default: /* backslashes before non-special chars just add the char */
- array[l++] = c;
+ c &= largest_char;
+ ADD_NORMAL_CHAR (c);
break; /* the backslash is stripped */
}
continue;
}
- array[l++] = c;
+ ADD_NORMAL_CHAR (c);
}
*len = l;
{
/* If this is the last key in the key sequence, return the
map. */
- if (keyseq[i + 1] == '\0')
+ if (i + 1 == len)
{
if (type)
*type = ISKMAP;
/* If we're not at the end of the key sequence, and the current key
is bound to something other than a keymap, then the entire key
sequence is not bound. */
- else if (map[ic].type != ISKMAP && keyseq[i+1])
+ else if (map[ic].type != ISKMAP && i+1 < len)
return ((rl_command_func_t *)NULL);
- else /* map[ic].type != ISKMAP && keyseq[i+1] == 0 */
+ else /* map[ic].type != ISKMAP && i+1 == len */
{
if (type)
*type = map[ic].type;
/* Strip trailing whitespace from values of boolean variables. */
if (find_boolean_var (var) >= 0)
{
- /* remove trailing whitespace */
-remove_trailing:
- e = value + strlen (value) - 1;
- while (e >= value && whitespace (*e))
- e--;
- e++; /* skip back to whitespace or EOS */
-
- if (*e && e >= value)
- *e = '\0';
+ /* just read a whitespace-delimited word or empty string */
+ for (e = value; *e && whitespace (*e) == 0; e++)
+ ;
+ if (e > value)
+ *e = '\0'; /* cut off everything trailing */
}
else if ((i = find_string_var (var)) >= 0)
{
value++; /* skip past the quote */
}
else
- goto remove_trailing;
+ {
+ /* remove trailing whitespace */
+ e = value + strlen (value) - 1;
+ while (e >= value && whitespace (*e))
+ e--;
+ e++; /* skip back to whitespace or EOS */
+
+ if (*e && e >= value)
+ *e = '\0';
+ }
+ }
+ else
+ {
+ /* avoid calling rl_variable_bind just to find this out */
+ _rl_init_file_error ("%s: unknown variable name", var);
+ return 1;
}
-
+
rl_variable_bind (var, value);
return 0;
}
}
/* A boolean value that can appear in a `set variable' command is true if
- the value is null or empty, `on' (case-insensitive), or "1". Any other
+ the value is null or empty, `on' (case-insensitive), or "1". All other
values result in 0 (false). */
static int
bool_to_int (const char *value)
return (_rl_get_string_variable_value (string_varlist[i].name));
/* Unknown variable names return NULL. */
- return 0;
+ return (char *)NULL;
}
int
}
v = (*string_varlist[i].set_func) (value);
+ if (v != 0)
+ _rl_init_file_error ("%s: could not set value to `%s'", name, value);
return v;
}
/* Local variable states what happened during the last completion attempt. */
static int completion_changed_buffer;
+static int last_completion_failed = 0;
/* The result of the query to the user about displaying completion matches */
static int completion_y_or_n;
if (rl_inhibit_completion)
return (_rl_insert_char (ignore, invoking_key));
- else if (rl_last_func == rl_complete && !completion_changed_buffer)
+ else if (rl_last_func == rl_complete && completion_changed_buffer == 0 && last_completion_failed == 0)
return (rl_complete_internal ('?'));
else if (_rl_complete_show_all)
return (rl_complete_internal ('!'));
/* */
/************************************/
-/* Reset readline state on a signal or other event. */
+/* Reset public readline state on a signal or other event. */
void
_rl_reset_completion_state (void)
{
rl_ding ();
FREE (saved_line_buffer);
completion_changed_buffer = 0;
+ last_completion_failed = 1;
RL_UNSETSTATE(RL_STATE_COMPLETING);
_rl_reset_completion_state ();
return (0);
rl_ding ();
FREE (saved_line_buffer);
completion_changed_buffer = 0;
+ last_completion_failed = 1;
RL_UNSETSTATE(RL_STATE_COMPLETING);
_rl_reset_completion_state ();
return (0);
}
+ if (matches && matches[0] && *matches[0])
+ last_completion_failed = 0;
+
switch (what_to_do)
{
case TAB:
typedef RETSIGTYPE sigfunc();
-int nsigint;
+volatile int nsigint;
#ifdef HAVE_POSIX_SIGNALS
sigfunc *
$as_echo "$ac_cv_lib_ncurses_tgetent" >&6; }
if test "x$ac_cv_lib_ncurses_tgetent" = xyes; then :
bash_cv_termcap_lib=libncurses
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lncursesw" >&5
+$as_echo_n "checking for tgetent in -lncursesw... " >&6; }
+if ${ac_cv_lib_ncursesw_tgetent+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lncursesw $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* 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 tgetent ();
+int
+main ()
+{
+return tgetent ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_ncursesw_tgetent=yes
+else
+ ac_cv_lib_ncursesw_tgetent=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncursesw_tgetent" >&5
+$as_echo "$ac_cv_lib_ncursesw_tgetent" >&6; }
+if test "x$ac_cv_lib_ncursesw_tgetent" = xyes; then :
+ bash_cv_termcap_lib=libncursesw
else
bash_cv_termcap_lib=gnutermcap
fi
fi
+fi
+
if test "X$_bash_needmsg" = "Xyes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which library has the termcap functions" >&5
$as_echo_n "checking which library has the termcap functions... " >&6; }
void
_rl_clear_screen (void)
{
-#ifndef __DJGPP__
+#if defined (__DJGPP__)
+ ScreenClear ();
+ ScreenSetCursor (0, 0);
+#else
if (_rl_term_clrpag)
tputs (_rl_term_clrpag, 1, _rl_output_character_function);
else
rl_crlf ();
-#else
- ScreenClear ();
- ScreenSetCursor (0, 0);
#endif /* __DJGPP__ */
}
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on September, 19 2018 by texi2html 1.64 -->
+<!-- Created on April, 17 2019 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
<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</I> on <I>September, 19 2018</I>
+This document was generated by <I>chet</I> on <I>April, 17 2019</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
<BR>
<FONT SIZE="-1">
This document was generated
-by <I>chet</I> on <I>September, 19 2018</I>
+by <I>chet</I> on <I>April, 17 2019</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
This is history.info, produced by makeinfo version 6.5 from
history.texi.
-This document describes the GNU History library (version 8.0, 18
-September 2018), a programming tool that provides a consistent user
-interface for recalling lines of previously typed input.
+This document describes the GNU History library (version 8.0, 6 March
+2019), a programming tool that provides a consistent user interface for
+recalling lines of previously typed input.
Copyright (C) 1988-2016 Free Software Foundation, Inc.
\1f
Tag Table:
-Node: Top\7f850
-Node: Using History Interactively\7f1495
-Node: History Interaction\7f2003
-Node: Event Designators\7f3901
-Node: Word Designators\7f5040
-Node: Modifiers\7f6677
-Node: Programming with GNU History\7f7900
-Node: Introduction to History\7f8644
-Node: History Storage\7f10334
-Node: History Functions\7f11469
-Node: Initializing History and State Management\7f12458
-Node: History List Management\7f13270
-Node: Information About the History List\7f15564
-Node: Moving Around the History List\7f17178
-Node: Searching the History List\7f18271
-Node: Managing the History File\7f20196
-Node: History Expansion\7f22016
-Node: History Variables\7f23945
-Node: History Programming Example\7f27925
-Node: GNU Free Documentation License\7f30602
-Node: Concept Index\7f55774
-Node: Function and Variable Index\7f56479
+Node: Top\7f845
+Node: Using History Interactively\7f1490
+Node: History Interaction\7f1998
+Node: Event Designators\7f3896
+Node: Word Designators\7f5035
+Node: Modifiers\7f6672
+Node: Programming with GNU History\7f7895
+Node: Introduction to History\7f8639
+Node: History Storage\7f10329
+Node: History Functions\7f11464
+Node: Initializing History and State Management\7f12453
+Node: History List Management\7f13265
+Node: Information About the History List\7f15559
+Node: Moving Around the History List\7f17173
+Node: Searching the History List\7f18266
+Node: Managing the History File\7f20191
+Node: History Expansion\7f22011
+Node: History Variables\7f23940
+Node: History Programming Example\7f27920
+Node: GNU Free Documentation License\7f30597
+Node: Concept Index\7f55769
+Node: Function and Variable Index\7f56474
\1f
End Tag Table
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.998 Copyright 2018 Radical Eye Software
%%Title: history.dvi
-%%CreationDate: Wed Sep 19 15:10:43 2018
+%%CreationDate: Wed Apr 17 13:02:34 2019
%%Pages: 24
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o history.ps history.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2018.09.19:1110
+%DVIPSSource: TeX output 2019.04.17:0902
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
%%Page: 1 1
TeXDict begin 1 0 bop 150 1318 a Fr(GNU)65 b(History)h(Library)p
150 1418 3600 34 v 1920 1515 a Fq(Edition)31 b(8.0,)h(for)e
-Fp(History)e(Library)h Fq(V)-8 b(ersion)31 b(8.0.)3118
-1623 y(Septem)m(b)s(er)f(2018)150 4927 y Fo(Chet)45 b(Ramey)-11
+Fp(History)e(Library)h Fq(V)-8 b(ersion)31 b(8.0.)3285
+1623 y(Marc)m(h)g(2019)150 4927 y Fo(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 4413 a Fq(This)43 b(do)s(cumen)m(t)g(describ)
-s(es)g(the)h(GNU)g(History)h(library)e(\(v)m(ersion)h(8.0,)49
-b(18)44 b(Septem)m(b)s(er)f(2018\),)50 b(a)150 4523 y(programming)32
-b(to)s(ol)h(that)f(pro)m(vides)g(a)h(consisten)m(t)g(user)e(in)m
-(terface)j(for)d(recalling)j(lines)e(of)g(previously)150
-4633 y(t)m(yp)s(ed)e(input.)150 4767 y(Cop)m(yrigh)m(t)602
-4764 y(c)577 4767 y Fn(\015)g Fq(1988{2016)35 b(F)-8
-b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390
-4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8
-b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f
-(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
+TeXDict begin 2 1 bop 150 4413 a Fq(This)28 b(do)s(cumen)m(t)h(describ)
+s(es)g(the)g(GNU)h(History)f(library)g(\(v)m(ersion)h(8.0,)g(6)g(Marc)m
+(h)g(2019\),)h(a)f(program-)150 4523 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 4633 y(input.)150
+4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577 4767 y Fn(\015)30
+b Fq(1988{2016)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8
+b(oundation,)31 b(Inc.)390 4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h
+(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s
+(cumen)m(t)f(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26
b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43
b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8
-GNU Readline 7.0 2017 December 28 READLINE(3)
+GNU Readline 8.0 2017 December 28 READLINE(3)
.\"
.\" Last Change: Thu Dec 28 14:49:51 EST 2017
.\"
-.TH READLINE 3 "2017 December 28" "GNU Readline 7.0"
+.TH READLINE 3 "2017 December 28" "GNU Readline 8.0"
.\"
.\" File Name macro. This used to be `.PN', for Path Name,
.\" but Sun doesn't seem to like that very much.
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on September, 19 2018 by texi2html 1.64 -->
+<!-- Created on April, 17 2019 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
to provide a command line interface.
</P><P>
-Copyright (C) 1988--2016 Free Software Foundation, Inc.
+Copyright (C) 1988--2019 Free Software Foundation, Inc.
</P><P>
Permission is granted to make and distribute verbatim copies of
<A NAME="IDX266"></A>
<DL>
-<DT><U>Function:</U> void <B>rl_set_keymap</B> <I>(const char *name, Keymap keymap)</I>
+<DT><U>Function:</U> int <B>rl_set_keymap_name</B> <I>(const char *name, Keymap keymap)</I>
<DD>Set the name of <VAR>keymap</VAR>. This name will then be "registered" and
available for use in a <CODE>set keymap</CODE> inputrc directive
see section <A HREF="readline.html#SEC9">1.3 Readline Init File</A>).
-The <VAR>name</VAR> may not be one of Readline's builtin names;
+The <VAR>name</VAR> may not be one of Readline's builtin keymap names;
you may not add a different name for one of Readline's builtin keymaps.
-Readline will make a copy of <VAR>name</VAR>.
You may replace the name associated with a given keymap by calling this
-function two or more times with the same <VAR>keymap</VAR> argument.
-You can associate a registered name with a new keymap by calling this
-function two or more times with the same <VAR>name</VAR> argument.
+function more than once with the same <VAR>keymap</VAR> argument.
+You may associate a registered <VAR>name</VAR> with a new keymap by calling this
+function more than once with the same <VAR>name</VAR> argument.
There is no way to remove a named keymap once the name has been
registered.
+Readline will make a copy of <VAR>name</VAR>.
+The return value is greater than zero unless <VAR>name</VAR> is one of
+Readline's builtin keymap names or <VAR>keymap</VAR> is one of Readline's
+builtin keymaps.
</DL>
</P><P>
If an application does not wish Readline to catch <CODE>SIGWINCH</CODE>, it may
call <CODE>rl_resize_terminal()</CODE> or <CODE>rl_set_screen_size()</CODE> to force
-Readline to update its idea of the terminal size when a <CODE>SIGWINCH</CODE>
-is received.
+Readline to update its idea of the terminal size when it receives
+a <CODE>SIGWINCH</CODE>.
</P><P>
<A NAME="IDX365"></A>
<DD>Set Readline's idea of the terminal size to <VAR>rows</VAR> rows and
<VAR>cols</VAR> columns. If either <VAR>rows</VAR> or <VAR>columns</VAR> is less than
or equal to 0, Readline's idea of that terminal dimension is unchanged.
+This is intended to tell Readline the physical dimensions of the terminal,
+and is used internally to calculate the maximum number of characters that
+may appear on the screen.
</DL>
</P><P>
If an application does not want to install a <CODE>SIGWINCH</CODE> handler, but
-is still interested in the screen dimensions, Readline's idea of the screen
-size may be queried.
+is still interested in the screen dimensions, it may query Readline's idea
+of the screen size.
</P><P>
<A NAME="IDX368"></A>
This can be changed in application-specific completion functions to
provide the "most sensible word separator character" according to
an application-specific command line syntax specification.
+It is set to the default before any application-specific completion function
+is called, and may only be changed within such a function.
</DL>
</P><P>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX277"><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#IDX322"><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#IDX263"><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#IDX266"><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#IDX266"><CODE>rl_set_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#IDX349"><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#IDX311"><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#IDX367"><CODE>rl_set_screen_size</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
<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</I> on <I>September, 19 2018</I>
+This document was generated by <I>chet</I> on <I>April, 17 2019</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
<BR>
<FONT SIZE="-1">
This document was generated
-by <I>chet</I> on <I>September, 19 2018</I>
+by <I>chet</I> on <I>April, 17 2019</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
This is readline.info, produced by makeinfo version 6.5 from rlman.texi.
-This manual describes the GNU Readline Library (version 8.0, 18
-September 2018), a library which aids in the consistency of user
-interface across discrete programs which provide a command line
-interface.
+This manual describes the GNU Readline Library (version 8.0, 6 March
+2019), a library which aids in the consistency of user interface across
+discrete programs which provide a command line interface.
Copyright (C) 1988-2016 Free Software Foundation, Inc.
aiding in the consistency of user interface across discrete programs
that need to provide a command line interface.
- Copyright (C) 1988-2016 Free Software Foundation, Inc.
+ Copyright (C) 1988-2019 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice pare
supplied in a 'set keymap' inputrc line (*note Readline Init
File::).
- -- Function: void rl_set_keymap (const char *name, Keymap keymap)
+ -- Function: int rl_set_keymap_name (const char *name, Keymap keymap)
Set the name of KEYMAP. This name will then be "registered" and
available for use in a 'set keymap' inputrc directive *note
Readline Init File::). The NAME may not be one of Readline's
- builtin names; you may not add a different name for one of
- Readline's builtin keymaps. Readline will make a copy of NAME.
- You may replace the name associated with a given keymap by calling
- this function two or more times with the same KEYMAP argument. You
- can associate a registered name with a new keymap by calling this
- function two or more times with the same NAME argument. There is
- no way to remove a named keymap once the name has been registered.
+ builtin keymap names; you may not add a different name for one of
+ Readline's builtin keymaps. You may replace the name associated
+ with a given keymap by calling this function more than once with
+ the same KEYMAP argument. You may associate a registered NAME with
+ a new keymap by calling this function more than once with the same
+ NAME argument. There is no way to remove a named keymap once the
+ name has been registered. Readline will make a copy of NAME. The
+ return value is greater than zero unless NAME is one of Readline's
+ builtin keymap names or KEYMAP is one of Readline's builtin
+ keymaps.
\1f
File: readline.info, Node: Binding Keys, Next: Associating Function Names and Bindings, Prev: Keymaps, Up: Readline Convenience Functions
If an application does not wish Readline to catch 'SIGWINCH', it may
call 'rl_resize_terminal()' or 'rl_set_screen_size()' to force Readline
-to update its idea of the terminal size when a 'SIGWINCH' is received.
+to update its idea of the terminal size when it receives a 'SIGWINCH'.
-- Function: void rl_echo_signal_char (int sig)
If an application wishes to install its own signal handlers, but
-- Function: void rl_set_screen_size (int rows, int cols)
Set Readline's idea of the terminal size to ROWS rows and COLS
columns. If either ROWS or COLUMNS is less than or equal to 0,
- Readline's idea of that terminal dimension is unchanged.
+ Readline's idea of that terminal dimension is unchanged. This is
+ intended to tell Readline the physical dimensions of the terminal,
+ and is used internally to calculate the maximum number of
+ characters that may appear on the screen.
If an application does not want to install a 'SIGWINCH' handler, but
-is still interested in the screen dimensions, Readline's idea of the
-screen size may be queried.
+is still interested in the screen dimensions, it may query Readline's
+idea of the screen size.
-- Function: void rl_get_screen_size (int *rows, int *cols)
Return Readline's idea of the terminal's size in the variables
automatically. This can be changed in application-specific
completion functions to provide the "most sensible word separator
character" according to an application-specific command line syntax
- specification.
+ specification. It is set to the default before any
+ application-specific completion function is called, and may only be
+ changed within such a function.
-- Variable: int rl_completion_suppress_append
If non-zero, RL_COMPLETION_APPEND_CHARACTER is not appended to
* rl_attempted_completion_function: Completion Variables.
(line 11)
* rl_attempted_completion_over: Completion Variables.
- (line 253)
+ (line 255)
* rl_basic_quote_characters: Completion Variables.
(line 143)
* rl_basic_word_break_characters: Completion Variables.
* rl_clear_message: Redisplay. (line 51)
* rl_clear_pending_input: Character Input. (line 29)
* rl_clear_signals: Readline Signal Handling.
- (line 179)
+ (line 182)
* rl_clear_visible_line: Redisplay. (line 25)
* rl_complete: How Completing Works.
(line 46)
* rl_completion_entry_function <1>: Completion Variables.
(line 6)
* rl_completion_found_quote: Completion Variables.
- (line 212)
+ (line 214)
* rl_completion_invoking_key: Completion Variables.
- (line 276)
+ (line 278)
* rl_completion_mark_symlink_dirs: Completion Variables.
- (line 218)
+ (line 220)
* rl_completion_matches: Completion Functions.
(line 43)
* rl_completion_mode: Completion Functions.
* rl_completion_query_items: Completion Variables.
(line 178)
* rl_completion_quote_character: Completion Variables.
- (line 200)
+ (line 202)
* rl_completion_suppress_append: Completion Variables.
- (line 194)
+ (line 196)
* rl_completion_suppress_quote: Completion Variables.
- (line 206)
+ (line 208)
* rl_completion_type: Completion Variables.
- (line 268)
+ (line 270)
* rl_completion_word_break_hook: Completion Variables.
(line 151)
* rl_copy_keymap: Keymaps. (line 16)
* rl_explicit_arg: Readline Variables. (line 272)
* rl_extend_line_buffer: Utility Functions. (line 26)
* rl_filename_completion_desired: Completion Variables.
- (line 233)
+ (line 235)
* rl_filename_completion_function: Completion Functions.
(line 57)
* rl_filename_dequoting_function: Completion Variables.
* rl_filename_quote_characters: Completion Variables.
(line 166)
* rl_filename_quoting_desired: Completion Variables.
- (line 243)
+ (line 245)
* rl_filename_quoting_function: Completion Variables.
(line 23)
* rl_filename_rewrite_hook: Completion Variables.
* rl_get_keymap_by_name: Keymaps. (line 46)
* rl_get_keymap_name: Keymaps. (line 51)
* rl_get_screen_size: Readline Signal Handling.
- (line 162)
+ (line 165)
* rl_get_termcap: Miscellaneous Functions.
(line 41)
* rl_gnu_readline_p: Readline Variables. (line 82)
* rl_ignore_completion_duplicates: Completion Variables.
- (line 229)
+ (line 231)
* rl_ignore_some_completions_function: Completion Variables.
(line 55)
* rl_inhibit_completion: Completion Variables.
- (line 282)
+ (line 284)
* rl_initialize: Utility Functions. (line 30)
* rl_input_available_hook: Readline Variables. (line 140)
* rl_insert_completions: Completion Functions.
(line 121)
* rl_reset_line_state: Redisplay. (line 29)
* rl_reset_screen_size: Readline Signal Handling.
- (line 166)
+ (line 169)
* rl_reset_terminal: Terminal Management. (line 34)
* rl_resize_terminal: Readline Signal Handling.
(line 149)
* rl_set_key: Binding Keys. (line 71)
* rl_set_keyboard_input_timeout: Character Input. (line 34)
* rl_set_keymap: Keymaps. (line 43)
-* rl_set_keymap <1>: Keymaps. (line 56)
+* rl_set_keymap_name: Keymaps. (line 56)
* rl_set_paren_blink_timeout: Miscellaneous Functions.
(line 36)
* rl_set_prompt: Redisplay. (line 80)
* rl_set_screen_size: Readline Signal Handling.
(line 153)
* rl_set_signals: Readline Signal Handling.
- (line 173)
+ (line 176)
* rl_show_char: Redisplay. (line 36)
* rl_signal_event_hook: Readline Variables. (line 136)
* rl_sort_completion_matches: Completion Variables.
- (line 260)
+ (line 262)
* rl_special_prefixes: Completion Variables.
(line 171)
* rl_startup_hook: Readline Variables. (line 114)
\1f
Tag Table:
-Node: Top\7f866
-Node: Command Line Editing\7f1591
-Node: Introduction and Notation\7f2243
-Node: Readline Interaction\7f3867
-Node: Readline Bare Essentials\7f5059
-Node: Readline Movement Commands\7f6843
-Node: Readline Killing Commands\7f7804
-Node: Readline Arguments\7f9723
-Node: Searching\7f10768
-Node: Readline Init File\7f12921
-Node: Readline Init File Syntax\7f14075
-Node: Conditional Init Constructs\7f34234
-Node: Sample Init File\7f38431
-Node: Bindable Readline Commands\7f41549
-Node: Commands For Moving\7f42604
-Node: Commands For History\7f44171
-Node: Commands For Text\7f48436
-Node: Commands For Killing\7f51878
-Node: Numeric Arguments\7f54045
-Node: Commands For Completion\7f55185
-Node: Keyboard Macros\7f57154
-Node: Miscellaneous Commands\7f57842
-Node: Readline vi Mode\7f61764
-Node: Programming with GNU Readline\7f63581
-Node: Basic Behavior\7f64567
-Node: Custom Functions\7f68250
-Node: Readline Typedefs\7f69733
-Node: Function Writing\7f71367
-Node: Readline Variables\7f72681
-Node: Readline Convenience Functions\7f85353
-Node: Function Naming\7f86425
-Node: Keymaps\7f87687
-Node: Binding Keys\7f90604
-Node: Associating Function Names and Bindings\7f95152
-Node: Allowing Undoing\7f97931
-Node: Redisplay\7f100481
-Node: Modifying Text\7f104505
-Node: Character Input\7f105752
-Node: Terminal Management\7f107650
-Node: Utility Functions\7f109473
-Node: Miscellaneous Functions\7f112801
-Node: Alternate Interface\7f115390
-Node: A Readline Example\7f118132
-Node: Alternate Interface Example\7f120071
-Node: Readline Signal Handling\7f123603
-Node: Custom Completers\7f132652
-Node: How Completing Works\7f133372
-Node: Completion Functions\7f136679
-Node: Completion Variables\7f140253
-Node: A Short Completion Example\7f155897
-Node: GNU Free Documentation License\7f168676
-Node: Concept Index\7f193850
-Node: Function and Variable Index\7f195371
+Node: Top\7f861
+Node: Command Line Editing\7f1586
+Node: Introduction and Notation\7f2238
+Node: Readline Interaction\7f3862
+Node: Readline Bare Essentials\7f5054
+Node: Readline Movement Commands\7f6838
+Node: Readline Killing Commands\7f7799
+Node: Readline Arguments\7f9718
+Node: Searching\7f10763
+Node: Readline Init File\7f12916
+Node: Readline Init File Syntax\7f14070
+Node: Conditional Init Constructs\7f34229
+Node: Sample Init File\7f38426
+Node: Bindable Readline Commands\7f41544
+Node: Commands For Moving\7f42599
+Node: Commands For History\7f44166
+Node: Commands For Text\7f48431
+Node: Commands For Killing\7f51873
+Node: Numeric Arguments\7f54040
+Node: Commands For Completion\7f55180
+Node: Keyboard Macros\7f57149
+Node: Miscellaneous Commands\7f57837
+Node: Readline vi Mode\7f61759
+Node: Programming with GNU Readline\7f63576
+Node: Basic Behavior\7f64562
+Node: Custom Functions\7f68245
+Node: Readline Typedefs\7f69728
+Node: Function Writing\7f71362
+Node: Readline Variables\7f72676
+Node: Readline Convenience Functions\7f85348
+Node: Function Naming\7f86420
+Node: Keymaps\7f87682
+Node: Binding Keys\7f90761
+Node: Associating Function Names and Bindings\7f95309
+Node: Allowing Undoing\7f98088
+Node: Redisplay\7f100638
+Node: Modifying Text\7f104662
+Node: Character Input\7f105909
+Node: Terminal Management\7f107807
+Node: Utility Functions\7f109630
+Node: Miscellaneous Functions\7f112958
+Node: Alternate Interface\7f115547
+Node: A Readline Example\7f118289
+Node: Alternate Interface Example\7f120228
+Node: Readline Signal Handling\7f123760
+Node: Custom Completers\7f132998
+Node: How Completing Works\7f133718
+Node: Completion Functions\7f137025
+Node: Completion Variables\7f140599
+Node: A Short Completion Example\7f156390
+Node: GNU Free Documentation License\7f169169
+Node: Concept Index\7f194343
+Node: Function and Variable Index\7f195864
\1f
End Tag Table
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.998 Copyright 2018 Radical Eye Software
%%Title: readline.dvi
-%%CreationDate: Wed Sep 19 15:10:43 2018
+%%CreationDate: Wed Apr 17 13:02:34 2019
%%Pages: 81
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o readline.ps readline.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2018.09.19:1110
+%DVIPSSource: TeX output 2019.04.17:0902
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
%%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(8.0,)i(for)e
-Fs(Readline)e(Library)h Ft(V)-8 b(ersion)31 b(8.0.)3118
-1623 y(Septem)m(b)s(er)f(2018)150 4927 y Fr(Chet)45 b(Ramey)-11
+Fs(Readline)e(Library)h Ft(V)-8 b(ersion)31 b(8.0.)3285
+1623 y(Marc)m(h)g(2019)150 4927 y Fr(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 4413 a Ft(This)21 b(man)m(ual)g(describ)s(es)
-g(the)g(GNU)h(Readline)g(Library)f(\(v)m(ersion)h(8.0,)i(18)e(Septem)m
-(b)s(er)f(2018\),)26 b(a)21 b(library)150 4523 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
-4633 y(command)30 b(line)h(in)m(terface.)150 4767 y(Cop)m(yrigh)m(t)602
-4764 y(c)577 4767 y Fq(\015)f Ft(1988{2016)35 b(F)-8
-b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390
-4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8
-b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f
-(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
-b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26
-b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43
-b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8
-b(oundation;)53 b(with)44 b(no)g(In)m(v)-5 b(arian)m(t)46
-b(Sections,)j(no)390 5230 y(F)-8 b(ron)m(t-Co)m(v)m(er)31
-b(T)-8 b(exts,)30 b(and)f(no)f(Bac)m(k-Co)m(v)m(er)k(T)-8
+TeXDict begin 2 1 bop 150 4413 a Ft(This)37 b(man)m(ual)h(describ)s(es)
+f(the)h(GNU)g(Readline)g(Library)f(\(v)m(ersion)h(8.0,)j(6)d(Marc)m(h)h
+(2019\),)i(a)d(library)150 4523 y(whic)m(h)h(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 4633 y(command)30 b(line)h(in)m
+(terface.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577
+4767 y Fq(\015)f Ft(1988{2016)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)
+-8 b(oundation,)31 b(Inc.)390 4902 y(P)m(ermission)21
+b(is)f(gran)m(ted)h(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s
+(dify)e(this)i(do)s(cumen)m(t)f(under)f(the)390 5011
+y(terms)25 b(of)h(the)f(GNU)h(F)-8 b(ree)27 b(Do)s(cumen)m(tation)g
+(License,)g(V)-8 b(ersion)26 b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)
+390 5121 y(published)43 b(b)m(y)h(the)h(F)-8 b(ree)46
+b(Soft)m(w)m(are)g(F)-8 b(oundation;)53 b(with)44 b(no)g(In)m(v)-5
+b(arian)m(t)46 b(Sections,)j(no)390 5230 y(F)-8 b(ron)m(t-Co)m(v)m(er)
+31 b(T)-8 b(exts,)30 b(and)f(no)f(Bac)m(k-Co)m(v)m(er)k(T)-8
b(exts.)41 b(A)29 b(cop)m(y)h(of)f(the)g(license)h(is)f(included)390
5340 y(in)h(the)h(section)g(en)m(titled)h(\\GNU)f(F)-8
b(ree)32 b(Do)s(cumen)m(tation)g(License".)p eop end
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 4713 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 4902
-y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_set_keymap)49
-b Fg(\()p Ff(const)34 b(c)m(har)g(*name,)f(Keymap)h(k)m(eymap)p
-Fg(\))390 5011 y Ft(Set)27 b(the)f(name)h(of)f Fj(k)m(eymap)p
-Ft(.)40 b(This)26 b(name)h(will)f(then)h(b)s(e)e Fs(")p
-Ft(registered)p Fs(")i Ft(and)f(a)m(v)-5 b(ailable)29
-b(for)d(use)g(in)390 5121 y(a)f Fs(set)k(keymap)23 b
-Ft(inputrc)g(directiv)m(e)j(see)f(Section)g(1.3)h([Readline)f(Init)f
-(File],)j(page)e(4\).)40 b(The)24 b Fj(name)390 5230
-y Ft(ma)m(y)i(not)f(b)s(e)f(one)h(of)g(Readline's)h(builtin)f(names;)i
-(y)m(ou)e(ma)m(y)h(not)f(add)f(a)h(di\013eren)m(t)h(name)f(for)g(one)
-390 5340 y(of)31 b(Readline's)g(builtin)f(k)m(eymaps.)42
-b(Readline)32 b(will)f(mak)m(e)g(a)h(cop)m(y)f(of)g Fj(name)p
-Ft(.)42 b(Y)-8 b(ou)31 b(ma)m(y)g(replace)p eop end
+y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_set_keymap_name)e
+Fg(\()p Ff(const)34 b(c)m(har)g(*name,)f(Keymap)h(k)m(eymap)p
+Fg(\))390 5011 y Ft(Set)g(the)f(name)h(of)g Fj(k)m(eymap)p
+Ft(.)50 b(This)33 b(name)h(will)f(then)h(b)s(e)e Fs(")p
+Ft(registered)p Fs(")i Ft(and)f(a)m(v)-5 b(ailable)36
+b(for)d(use)390 5121 y(in)i(a)g Fs(set)29 b(keymap)k
+Ft(inputrc)h(directiv)m(e)j(see)e(Section)h(1.3)g([Readline)g(Init)e
+(File],)k(page)e(4\).)54 b(The)390 5230 y Fj(name)27
+b Ft(ma)m(y)c(not)g(b)s(e)e(one)i(of)f(Readline's)h(builtin)f(k)m
+(eymap)g(names;)j(y)m(ou)e(ma)m(y)g(not)f(add)g(a)g(di\013eren)m(t)390
+5340 y(name)36 b(for)g(one)g(of)g(Readline's)h(builtin)e(k)m(eymaps.)58
+b(Y)-8 b(ou)37 b(ma)m(y)f(replace)h(the)f(name)g(asso)s(ciated)p
+eop end
%%Page: 34 38
TeXDict begin 34 37 bop 150 -116 a Ft(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(34)390
-299 y(the)31 b(name)f(asso)s(ciated)i(with)e(a)h(giv)m(en)h(k)m(eymap)f
-(b)m(y)f(calling)i(this)e(function)g(t)m(w)m(o)i(or)f(more)f(times)390
-408 y(with)35 b(the)h(same)g Fj(k)m(eymap)j Ft(argumen)m(t.)57
-b(Y)-8 b(ou)36 b(can)g(asso)s(ciate)i(a)e(registered)g(name)g(with)f(a)
-h(new)390 518 y(k)m(eymap)h(b)m(y)g(calling)h(this)f(function)f(t)m(w)m
-(o)i(or)f(more)g(times)g(with)f(the)h(same)g Fj(name)42
-b Ft(argumen)m(t.)390 628 y(There)30 b(is)g(no)h(w)m(a)m(y)g(to)g(remo)
-m(v)m(e)h(a)f(named)f(k)m(eymap)g(once)h(the)g(name)f(has)h(b)s(een)e
-(registered.)150 826 y Fi(2.4.3)63 b(Binding)42 b(Keys)150
-973 y Ft(Key)34 b(sequences)g(are)h(asso)s(ciate)h(with)e(functions)f
+299 y(with)31 b(a)g(giv)m(en)h(k)m(eymap)g(b)m(y)f(calling)h(this)f
+(function)g(more)h(than)e(once)i(with)f(the)g(same)h
+Fj(k)m(eymap)390 408 y Ft(argumen)m(t.)50 b(Y)-8 b(ou)34
+b(ma)m(y)h(asso)s(ciate)g(a)f(registered)g Fj(name)39
+b Ft(with)33 b(a)h(new)f(k)m(eymap)h(b)m(y)f(calling)i(this)390
+518 y(function)c(more)h(than)f(once)i(with)e(the)h(same)g
+Fj(name)k Ft(argumen)m(t.)45 b(There)31 b(is)h(no)g(w)m(a)m(y)g(to)g
+(remo)m(v)m(e)390 628 y(a)k(named)e(k)m(eymap)i(once)g(the)f(name)g
+(has)g(b)s(een)g(registered.)56 b(Readline)36 b(will)f(mak)m(e)h(a)g
+(cop)m(y)g(of)390 737 y Fj(name)p Ft(.)41 b(The)30 b(return)f(v)-5
+b(alue)31 b(is)g(greater)g(than)g(zero)g(unless)f Fj(name)35
+b Ft(is)c(one)g(of)f(Readline's)h(builtin)390 847 y(k)m(eymap)g(names)f
+(or)h Fj(k)m(eymap)i Ft(is)e(one)f(of)h(Readline's)g(builtin)f(k)m
+(eymaps.)150 1056 y Fi(2.4.3)63 b(Binding)42 b(Keys)150
+1203 y Ft(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 1083 y(ternal)30 b(k)m(eymaps:)40 b Fs(emacs_standard_keymap)p
+150 1313 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 1192 y(movement_keymap)p Ft(,)41 b(and)h
+Ft(,)g Fs(vi_)150 1423 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 1302 y(and)30 b(the)g(examples)h(in)f
-(this)h(man)m(ual)f(assume)g(that.)275 1436 y(Since)d
+b Ft(is)42 b(the)g(default,)150 1532 y(and)30 b(the)g(examples)h(in)f
+(this)h(man)m(ual)f(assume)g(that.)275 1677 y(Since)d
Fs(readline\(\))e Ft(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
-1546 y(alw)m(a)m(ys)34 b(the)f(danger)f(that)i(a)f(custom)g(binding)e
+1787 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 1655 y(b)s(e)25 b(o)m(v)m(erridden.)39
+Fs(readline\(\))c Ft(will)150 1896 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 1765 y(function)37
+(ey)g(bindings)f(in)g(an)h(initialization)150 2006 y(function)37
b(assigned)g(to)h(the)f Fs(rl_startup_hook)c Ft(v)-5
b(ariable)38 b(\(see)g(Section)g(2.3)g([Readline)g(V)-8
-b(ariables],)150 1875 y(page)31 b(27\).)275 2009 y(These)f(functions)g
-(manage)h(k)m(ey)g(bindings.)3350 2192 y([F)-8 b(unction])-3599
+b(ariables],)150 2115 y(page)31 b(27\).)275 2260 y(These)f(functions)g
+(manage)h(k)m(ey)g(bindings.)3350 2465 y([F)-8 b(unction])-3599
b Fh(int)53 b(rl_bind_key)c Fg(\()p Ff(in)m(t)34 b(k)m(ey)-8
-b(,)32 b(rl)p 1441 2192 30 5 v 43 w(command)p 1904 2192
-V 45 w(func)p 2133 2192 V 45 w(t)h(*function)p Fg(\))390
-2302 y Ft(Binds)f Fj(k)m(ey)42 b Ft(to)34 b Fj(function)e
+b(,)32 b(rl)p 1441 2465 30 5 v 43 w(command)p 1904 2465
+V 45 w(func)p 2133 2465 V 45 w(t)h(*function)p Fg(\))390
+2575 y Ft(Binds)f Fj(k)m(ey)42 b Ft(to)34 b Fj(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 2412 y(of)e(an)f(in)m(v)
--5 b(alid)31 b Fj(k)m(ey)p Ft(.)3350 2595 y([F)-8 b(unction])-3599
+b(Returns)32 b(non-zero)i(in)f(the)g(case)390 2685 y(of)e(an)f(in)m(v)
+-5 b(alid)31 b Fj(k)m(ey)p Ft(.)3350 2890 y([F)-8 b(unction])-3599
b Fh(int)53 b(rl_bind_key_in_map)e Fg(\()p Ff(in)m(t)34
-b(k)m(ey)-8 b(,)32 b(rl)p 1807 2595 V 43 w(command)p
-2270 2595 V 45 w(func)p 2499 2595 V 45 w(t)h(*function,)565
-2705 y(Keymap)h(map)p Fg(\))390 2814 y Ft(Bind)c Fj(k)m(ey)39
+b(k)m(ey)-8 b(,)32 b(rl)p 1807 2890 V 43 w(command)p
+2270 2890 V 45 w(func)p 2499 2890 V 45 w(t)h(*function,)565
+2999 y(Keymap)h(map)p Fg(\))390 3109 y Ft(Bind)c Fj(k)m(ey)39
b Ft(to)31 b Fj(function)f Ft(in)g Fj(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 Fj(k)m(ey)p Ft(.)3350 2998 y([F)-8 b(unction])-3599
+b Fj(k)m(ey)p Ft(.)3350 3314 y([F)-8 b(unction])-3599
b Fh(int)53 b(rl_bind_key_if_unboun)q(d)e Fg(\()p Ff(in)m(t)34
-b(k)m(ey)-8 b(,)32 b(rl)p 2016 2998 V 44 w(command)p
-2480 2998 V 44 w(func)p 2708 2998 V 45 w(t)565 3107 y(*function)p
-Fg(\))390 3217 y Ft(Binds)43 b Fj(k)m(ey)53 b Ft(to)45
+b(k)m(ey)-8 b(,)32 b(rl)p 2016 3314 V 44 w(command)p
+2480 3314 V 44 w(func)p 2708 3314 V 45 w(t)565 3424 y(*function)p
+Fg(\))390 3533 y Ft(Binds)43 b Fj(k)m(ey)53 b Ft(to)45
b Fj(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 3327 y(Returns)29
+(curren)m(tly)g(activ)m(e)i(k)m(eymap.)390 3643 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 Fj(k)m(ey)39 b Ft(or)30 b(if)h Fj(k)m(ey)39 b Ft(is)30
-b(already)h(b)s(ound.)3350 3510 y([F)-8 b(unction])-3599
+b(already)h(b)s(ound.)3350 3848 y([F)-8 b(unction])-3599
b Fh(int)53 b(rl_bind_key_if_unboun)q(d_in)q(_ma)q(p)e
-Fg(\()p Ff(in)m(t)34 b(k)m(ey)-8 b(,)32 b(rl)p 2382 3510
-V 44 w(command)p 2846 3510 V 44 w(func)p 3074 3510 V
-46 w(t)565 3620 y(*function,)i(Keymap)g(map)p Fg(\))390
-3729 y Ft(Binds)27 b Fj(k)m(ey)36 b Ft(to)28 b Fj(function)f
+Fg(\()p Ff(in)m(t)34 b(k)m(ey)-8 b(,)32 b(rl)p 2382 3848
+V 44 w(command)p 2846 3848 V 44 w(func)p 3074 3848 V
+46 w(t)565 3958 y(*function,)i(Keymap)g(map)p Fg(\))390
+4067 y Ft(Binds)27 b Fj(k)m(ey)36 b Ft(to)28 b Fj(function)f
Ft(if)g(it)h(is)f(not)h(already)g(b)s(ound)d(in)i Fj(map)p
Ft(.)39 b(Returns)27 b(non-zero)g(in)g(the)h(case)390
-3839 y(of)j(an)f(in)m(v)-5 b(alid)31 b Fj(k)m(ey)39 b
+4177 y(of)j(an)f(in)m(v)-5 b(alid)31 b Fj(k)m(ey)39 b
Ft(or)30 b(if)g Fj(k)m(ey)39 b Ft(is)31 b(already)g(b)s(ound.)3350
-4022 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_unbind_key)d
-Fg(\()p Ff(in)m(t)33 b(k)m(ey)p Fg(\))390 4132 y Ft(Bind)j
+4382 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_unbind_key)d
+Fg(\()p Ff(in)m(t)33 b(k)m(ey)p Fg(\))390 4491 y Ft(Bind)j
Fj(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
-4242 y(case)31 b(of)g(error.)3350 4425 y([F)-8 b(unction])-3599
+4601 y(case)31 b(of)g(error.)3350 4806 y([F)-8 b(unction])-3599
b Fh(int)53 b(rl_unbind_key_in_map)f Fg(\()p Ff(in)m(t)33
-b(k)m(ey)-8 b(,)33 b(Keymap)g(map)p Fg(\))390 4535 y
+b(k)m(ey)-8 b(,)33 b(Keymap)g(map)p Fg(\))390 4916 y
Ft(Bind)d Fj(k)m(ey)39 b Ft(to)31 b(the)g(n)m(ull)f(function)g(in)g
Fj(map)p Ft(.)40 b(Returns)30 b(non-zero)h(in)f(case)h(of)g(error.)3350
-4718 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_unbind_function_in)q
-(_map)f Fg(\()p Ff(rl)p 1821 4718 V 44 w(command)p 2285
-4718 V 45 w(func)p 2514 4718 V 45 w(t)33 b(*function,)565
-4828 y(Keymap)h(map)p Fg(\))390 4937 y Ft(Un)m(bind)29
+5121 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_unbind_function_in)q
+(_map)f Fg(\()p Ff(rl)p 1821 5121 V 44 w(command)p 2285
+5121 V 45 w(func)p 2514 5121 V 45 w(t)33 b(*function,)565
+5230 y(Keymap)h(map)p Fg(\))390 5340 y Ft(Un)m(bind)29
b(all)i(k)m(eys)g(that)g(execute)h Fj(function)e Ft(in)g
-Fj(map)p Ft(.)3350 5121 y([F)-8 b(unction])-3599 b Fh(int)53
-b(rl_unbind_command_in_)q(map)f Fg(\()p Ff(const)34 b(c)m(har)g
-(*command,)f(Keymap)565 5230 y(map)p Fg(\))390 5340 y
-Ft(Un)m(bind)c(all)i(k)m(eys)g(that)g(are)g(b)s(ound)e(to)i
-Fj(command)i Ft(in)d Fj(map)p Ft(.)p eop end
+Fj(map)p Ft(.)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)3350
-299 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_bind_keyseq)d
+299 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_unbind_command_in_)q(map)
+f Fg(\()p Ff(const)34 b(c)m(har)g(*command,)f(Keymap)565
+408 y(map)p Fg(\))390 518 y Ft(Un)m(bind)c(all)i(k)m(eys)g(that)g(are)g
+(b)s(ound)e(to)i Fj(command)i Ft(in)d Fj(map)p Ft(.)3350
+707 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_bind_keyseq)d
Fg(\()p Ff(const)34 b(c)m(har)g(*k)m(eyseq,)e(rl)p 2119
-299 30 5 v 44 w(command)p 2583 299 V 44 w(func)p 2811
-299 V 46 w(t)565 408 y(*function)p Fg(\))390 518 y Ft(Bind)43
+707 30 5 v 44 w(command)p 2583 707 V 44 w(func)p 2811
+707 V 46 w(t)565 817 y(*function)p Fg(\))390 927 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
Fj(k)m(eyseq)j Ft(to)e(the)f(function)g Fj(function)p
-Ft(,)390 628 y(b)s(eginning)27 b(in)h(the)h(curren)m(t)f(k)m(eymap.)40
+Ft(,)390 1036 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 737 y(v)-5 b(alue)31 b(is)f(non-zero)h(if)
-g Fj(k)m(eyseq)i Ft(is)d(in)m(v)-5 b(alid.)3350 939 y([F)d(unction])
--3599 b Fh(int)53 b(rl_bind_keyseq_in_map)f Fg(\()p Ff(const)34
-b(c)m(har)g(*k)m(eyseq,)565 1049 y(rl)p 639 1049 V 44
-w(command)p 1103 1049 V 44 w(func)p 1331 1049 V 45 w(t)f(*function,)h
-(Keymap)g(map)p Fg(\))390 1159 y Ft(Bind)25 b(the)g(k)m(ey)h(sequence)f
-(represen)m(ted)g(b)m(y)g(the)g(string)g Fj(k)m(eyseq)j
-Ft(to)e(the)f(function)g Fj(function)p Ft(.)39 b(This)390
-1268 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
-Fj(map)p Ft(.)40 b(The)29 b(return)390 1378 y(v)-5 b(alue)31
-b(is)f(non-zero)h(if)g Fj(k)m(eyseq)i Ft(is)d(in)m(v)-5
-b(alid.)3350 1580 y([F)d(unction])-3599 b Fh(int)53 b(rl_set_key)c
-Fg(\()p Ff(const)34 b(c)m(har)g(*k)m(eyseq,)e(rl)p 1910
-1580 V 44 w(command)p 2374 1580 V 44 w(func)p 2602 1580
-V 45 w(t)h(*function,)565 1690 y(Keymap)h(map)p Fg(\))390
-1799 y Ft(Equiv)-5 b(alen)m(t)31 b(to)g Fs(rl_bind_keyseq_in_map)p
-Ft(.)3350 2001 y([F)-8 b(unction])-3599 b Fh(int)53 b
-(rl_bind_keyseq_if_unb)q(ound)f Fg(\()p Ff(const)34 b(c)m(har)g(*k)m
-(eyseq,)565 2111 y(rl)p 639 2111 V 44 w(command)p 1103
-2111 V 44 w(func)p 1331 2111 V 45 w(t)f(*function)p Fg(\))390
-2220 y Ft(Binds)i Fj(k)m(eyseq)k Ft(to)d Fj(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 2330 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 Fj(k)m(eyseq)j
-Ft(or)c(if)g Fj(k)m(eyseq)k Ft(is)c(already)h(b)s(ound.)3350
-2532 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_bind_keyseq_if_unb)q
-(ound)q(_in)q(_ma)q(p)e Fg(\()p Ff(const)34 b(c)m(har)g(*k)m(eyseq,)565
-2642 y(rl)p 639 2642 V 44 w(command)p 1103 2642 V 44
-w(func)p 1331 2642 V 45 w(t)f(*function,)h(Keymap)g(map)p
-Fg(\))390 2751 y Ft(Binds)d Fj(k)m(eyseq)k Ft(to)e Fj(function)f
+b(.)41 b(The)28 b(return)390 1146 y(v)-5 b(alue)31 b(is)f(non-zero)h
+(if)g Fj(k)m(eyseq)i Ft(is)d(in)m(v)-5 b(alid.)3350 1335
+y([F)d(unction])-3599 b Fh(int)53 b(rl_bind_keyseq_in_map)f
+Fg(\()p Ff(const)34 b(c)m(har)g(*k)m(eyseq,)565 1445
+y(rl)p 639 1445 V 44 w(command)p 1103 1445 V 44 w(func)p
+1331 1445 V 45 w(t)f(*function,)h(Keymap)g(map)p Fg(\))390
+1554 y Ft(Bind)25 b(the)g(k)m(ey)h(sequence)f(represen)m(ted)g(b)m(y)g
+(the)g(string)g Fj(k)m(eyseq)j Ft(to)e(the)f(function)g
+Fj(function)p Ft(.)39 b(This)390 1664 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 Fj(map)p Ft(.)40 b(The)29 b(return)390
+1773 y(v)-5 b(alue)31 b(is)f(non-zero)h(if)g Fj(k)m(eyseq)i
+Ft(is)d(in)m(v)-5 b(alid.)3350 1963 y([F)d(unction])-3599
+b Fh(int)53 b(rl_set_key)c Fg(\()p Ff(const)34 b(c)m(har)g(*k)m(eyseq,)
+e(rl)p 1910 1963 V 44 w(command)p 2374 1963 V 44 w(func)p
+2602 1963 V 45 w(t)h(*function,)565 2072 y(Keymap)h(map)p
+Fg(\))390 2182 y Ft(Equiv)-5 b(alen)m(t)31 b(to)g Fs
+(rl_bind_keyseq_in_map)p Ft(.)3350 2371 y([F)-8 b(unction])-3599
+b Fh(int)53 b(rl_bind_keyseq_if_unb)q(ound)f Fg(\()p
+Ff(const)34 b(c)m(har)g(*k)m(eyseq,)565 2481 y(rl)p 639
+2481 V 44 w(command)p 1103 2481 V 44 w(func)p 1331 2481
+V 45 w(t)f(*function)p Fg(\))390 2590 y Ft(Binds)i Fj(k)m(eyseq)k
+Ft(to)d Fj(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 2700
+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 Fj(k)m(eyseq)j Ft(or)c(if)g Fj(k)m(eyseq)k
+Ft(is)c(already)h(b)s(ound.)3350 2889 y([F)-8 b(unction])-3599
+b Fh(int)53 b(rl_bind_keyseq_if_unb)q(ound)q(_in)q(_ma)q(p)e
+Fg(\()p Ff(const)34 b(c)m(har)g(*k)m(eyseq,)565 2999
+y(rl)p 639 2999 V 44 w(command)p 1103 2999 V 44 w(func)p
+1331 2999 V 45 w(t)f(*function,)h(Keymap)g(map)p Fg(\))390
+3108 y Ft(Binds)d Fj(k)m(eyseq)k Ft(to)e Fj(function)f
Ft(if)g(it)g(is)g(not)g(already)h(b)s(ound)d(in)h Fj(map)p
-Ft(.)46 b(Returns)31 b(non-zero)h(in)g(the)390 2861 y(case)f(of)g(an)f
+Ft(.)46 b(Returns)31 b(non-zero)h(in)g(the)390 3218 y(case)f(of)g(an)f
(in)m(v)-5 b(alid)31 b Fj(k)m(eyseq)j Ft(or)c(if)g Fj(k)m(eyseq)k
-Ft(is)c(already)h(b)s(ound.)3350 3063 y([F)-8 b(unction])-3599
+Ft(is)c(already)h(b)s(ound.)3350 3407 y([F)-8 b(unction])-3599
b Fh(int)53 b(rl_generic_bind)d Fg(\()p Ff(in)m(t)34
b(t)m(yp)s(e,)f(const)g(c)m(har)h(*k)m(eyseq,)f(c)m(har)h(*data,)565
-3173 y(Keymap)g(map)p Fg(\))390 3282 y Ft(Bind)27 b(the)g(k)m(ey)h
+3517 y(Keymap)g(map)p Fg(\))390 3626 y Ft(Bind)27 b(the)g(k)m(ey)h
(sequence)f(represen)m(ted)g(b)m(y)g(the)g(string)g Fj(k)m(eyseq)j
Ft(to)e(the)f(arbitrary)g(p)s(oin)m(ter)g Fj(data)p Ft(.)390
-3392 y Fj(t)m(yp)s(e)34 b Ft(sa)m(ys)29 b(what)f(kind)g(of)g(data)h(is)
+3736 y Fj(t)m(yp)s(e)34 b Ft(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 Fj(data)p Ft(;)h(this)e(can)h(b)s(e)f(a)
-g(function)g(\()p Fs(ISFUNC)p Ft(\),)h(a)390 3502 y(macro)h(\()p
+g(function)g(\()p Fs(ISFUNC)p Ft(\),)h(a)390 3846 y(macro)h(\()p
Fs(ISMACR)p Ft(\),)f(or)g(a)h(k)m(eymap)g(\()p Fs(ISKMAP)p
Ft(\).)40 b(This)28 b(mak)m(es)j(new)e(k)m(eymaps)g(as)h(necessary)-8
-b(.)41 b(The)390 3611 y(initial)32 b(k)m(eymap)e(in)h(whic)m(h)f(to)h
-(do)f(bindings)f(is)i Fj(map)p Ft(.)3350 3813 y([F)-8
+b(.)41 b(The)390 3955 y(initial)32 b(k)m(eymap)e(in)h(whic)m(h)f(to)h
+(do)f(bindings)f(is)i Fj(map)p Ft(.)3350 4144 y([F)-8
b(unction])-3599 b Fh(int)53 b(rl_parse_and_bind)e Fg(\()p
-Ff(c)m(har)34 b(*line)p Fg(\))390 3923 y Ft(P)m(arse)c
+Ff(c)m(har)34 b(*line)p Fg(\))390 4254 y Ft(P)m(arse)c
Fj(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 4033 y(and)g(v)-5 b(ariable)31 b(assignmen)m(ts)g(found)e(\(see)i
+390 4364 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
-4235 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_read_init_file)e
+4553 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_read_init_file)e
Fg(\()p Ff(const)34 b(c)m(har)g(*\014lename)p Fg(\))390
-4344 y Ft(Read)e(k)m(eybindings)f(and)g(v)-5 b(ariable)32
+4663 y Ft(Read)e(k)m(eybindings)f(and)g(v)-5 b(ariable)32
b(assignmen)m(ts)g(from)f Fj(\014lename)37 b Ft(\(see)32
-b(Section)g(1.3)h([Readline)390 4454 y(Init)d(File],)i(page)f(4\).)150
-4662 y Fi(2.4.4)63 b(Asso)s(ciating)41 b(F)-10 b(unction)42
-b(Names)f(and)g(Bindings)150 4809 y Ft(These)30 b(functions)g(allo)m(w)
+b(Section)g(1.3)h([Readline)390 4772 y(Init)d(File],)i(page)f(4\).)150
+4974 y Fi(2.4.4)63 b(Asso)s(ciating)41 b(F)-10 b(unction)42
+b(Names)f(and)g(Bindings)150 5121 y Ft(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 4919 y(in)m(v)m(ok)m(ed)
+(named)e(functions)g(and)f(the)h(functions)150 5230 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 5028 y(arbitrary)j(function.)3350 5230
-y([F)-8 b(unction])-3599 b Fh(rl_command_func_t)57 b(*)c
-(rl_named_function)e Fg(\()p Ff(const)34 b(c)m(har)g(*name)p
-Fg(\))390 5340 y Ft(Return)c(the)g(function)g(with)g(name)h
-Fj(name)p Ft(.)p eop end
+(with)f(an)150 5340 y(arbitrary)j(function.)p eop end
%%Page: 36 40
TeXDict begin 36 39 bop 150 -116 a Ft(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 Fh(rl_command_func_t)57
-b(*)c(rl_function_of_keyseq)f Fg(\()p Ff(const)34 b(c)m(har)565
-408 y(*k)m(eyseq,)f(Keymap)g(map,)g(in)m(t)h(*t)m(yp)s(e)p
-Fg(\))390 518 y Ft(Return)e(the)g(function)h(in)m(v)m(ok)m(ed)h(b)m(y)e
-Fj(k)m(eyseq)k Ft(in)c(k)m(eymap)h Fj(map)p Ft(.)47 b(If)32
-b Fj(map)j Ft(is)d Fs(NULL)p Ft(,)g(the)h(curren)m(t)390
-628 y(k)m(eymap)k(is)g(used.)60 b(If)37 b Fj(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 737
-y Ft(v)-5 b(ariable)30 b(it)g(p)s(oin)m(ts)g(to)g(\(one)g(of)g
-Fs(ISFUNC)p Ft(,)e Fs(ISKMAP)p Ft(,)g(or)i Fs(ISMACR)p
-Ft(\).)39 b(It)30 b(tak)m(es)h(a)f Fs(")p Ft(translated)p
-Fs(")f Ft(k)m(ey)390 847 y(sequence)i(and)f(should)f(not)i(b)s(e)e
-(used)h(if)g(the)h(k)m(ey)g(sequence)g(can)f(include)g(NUL.)3350
-1039 y([F)-8 b(unction])-3599 b Fh(rl_command_func_t)57
+b(*)c(rl_named_function)e Fg(\()p Ff(const)34 b(c)m(har)g(*name)p
+Fg(\))390 408 y Ft(Return)c(the)g(function)g(with)g(name)h
+Fj(name)p Ft(.)3350 607 y([F)-8 b(unction])-3599 b Fh
+(rl_command_func_t)57 b(*)c(rl_function_of_keyseq)f Fg(\()p
+Ff(const)34 b(c)m(har)565 716 y(*k)m(eyseq,)f(Keymap)g(map,)g(in)m(t)h
+(*t)m(yp)s(e)p Fg(\))390 826 y Ft(Return)e(the)g(function)h(in)m(v)m
+(ok)m(ed)h(b)m(y)e Fj(k)m(eyseq)k Ft(in)c(k)m(eymap)h
+Fj(map)p Ft(.)47 b(If)32 b Fj(map)j Ft(is)d Fs(NULL)p
+Ft(,)g(the)h(curren)m(t)390 936 y(k)m(eymap)k(is)g(used.)60
+b(If)37 b Fj(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 1045 y Ft(v)-5 b(ariable)30 b(it)g(p)s(oin)m(ts)
+g(to)g(\(one)g(of)g Fs(ISFUNC)p Ft(,)e Fs(ISKMAP)p Ft(,)g(or)i
+Fs(ISMACR)p Ft(\).)39 b(It)30 b(tak)m(es)h(a)f Fs(")p
+Ft(translated)p Fs(")f Ft(k)m(ey)390 1155 y(sequence)i(and)f(should)f
+(not)i(b)s(e)e(used)h(if)g(the)h(k)m(ey)g(sequence)g(can)f(include)g
+(NUL.)3350 1353 y([F)-8 b(unction])-3599 b Fh(rl_command_func_t)57
b(*)c(rl_function_of_keyseq_)q(len)f Fg(\()p Ff(const)34
-b(c)m(har)565 1149 y(*k)m(eyseq,)f(size)p 1121 1149 30
+b(c)m(har)565 1463 y(*k)m(eyseq,)f(size)p 1121 1463 30
5 v 44 w(t)g(len,)g(Keymap)h(map,)f(in)m(t)g(*t)m(yp)s(e)p
-Fg(\))390 1258 y Ft(Return)20 b(the)h(function)g(in)m(v)m(ok)m(ed)i(b)m
+Fg(\))390 1572 y Ft(Return)20 b(the)h(function)g(in)m(v)m(ok)m(ed)i(b)m
(y)e Fj(k)m(eyseq)j Ft(of)d(length)g Fj(len)h Ft(in)e(k)m(eymap)i
Fj(map)p Ft(.)37 b(Equiv)-5 b(alen)m(t)22 b(to)g Fs(rl_)390
-1368 y(function_of_keyseq)g Ft(with)28 b(the)f(addition)h(of)f(the)h
+1682 y(function_of_keyseq)g Ft(with)28 b(the)f(addition)h(of)f(the)h
Fj(len)f Ft(parameter.)41 b(It)27 b(tak)m(es)i(a)f Fs(")p
-Ft(translated)p Fs(")390 1477 y Ft(k)m(ey)j(sequence)g(and)f(should)f
+Ft(translated)p Fs(")390 1792 y Ft(k)m(ey)j(sequence)g(and)f(should)f
(b)s(e)h(used)f(if)i(the)f(k)m(ey)h(sequence)g(can)g(include)f(NUL.)
-3350 1670 y([F)-8 b(unction])-3599 b Fh(char)54 b(**)e
-(rl_invoking_keyseqs)g Fg(\()p Ff(rl)p 1717 1670 V 44
-w(command)p 2181 1670 V 44 w(func)p 2409 1670 V 45 w(t)33
-b(*function)p Fg(\))390 1779 y Ft(Return)d(an)i(arra)m(y)f(of)h
+3350 1990 y([F)-8 b(unction])-3599 b Fh(char)54 b(**)e
+(rl_invoking_keyseqs)g Fg(\()p Ff(rl)p 1717 1990 V 44
+w(command)p 2181 1990 V 44 w(func)p 2409 1990 V 45 w(t)33
+b(*function)p Fg(\))390 2100 y Ft(Return)d(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 Fj(function)e Ft(in)390 1889 y(the)g(curren)m(t)f(k)m
-(eymap.)3350 2081 y([F)-8 b(unction])-3599 b Fh(char)54
+m(v)m(ok)m(e)h Fj(function)e Ft(in)390 2209 y(the)g(curren)m(t)f(k)m
+(eymap.)3350 2408 y([F)-8 b(unction])-3599 b Fh(char)54
b(**)e(rl_invoking_keyseqs_i)q(n_m)q(ap)g Fg(\()p Ff(rl)p
-2083 2081 V 44 w(command)p 2547 2081 V 44 w(func)p 2775
-2081 V 45 w(t)565 2191 y(*function,)34 b(Keymap)g(map)p
-Fg(\))390 2300 y Ft(Return)c(an)i(arra)m(y)f(of)h(strings)f(represen)m
+2083 2408 V 44 w(command)p 2547 2408 V 44 w(func)p 2775
+2408 V 45 w(t)565 2517 y(*function,)34 b(Keymap)g(map)p
+Fg(\))390 2627 y Ft(Return)c(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
-Fj(function)e Ft(in)390 2410 y(the)g(k)m(eymap)f Fj(map)p
-Ft(.)3350 2602 y([F)-8 b(unction])-3599 b Fh(void)54
+Fj(function)e Ft(in)390 2736 y(the)g(k)m(eymap)f Fj(map)p
+Ft(.)3350 2935 y([F)-8 b(unction])-3599 b Fh(void)54
b(rl_function_dumper)c Fg(\()p Ff(in)m(t)34 b(readable)p
-Fg(\))390 2712 y Ft(Prin)m(t)29 b(the)h(readline)f(function)g(names)g
+Fg(\))390 3044 y Ft(Prin)m(t)29 b(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 2821 y Fs(rl_outstream)p Ft(.)36 b(If)27 b Fj(readable)33
+(to)390 3154 y Fs(rl_outstream)p Ft(.)36 b(If)27 b Fj(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 2931 y(b)s(e)i(made)g(part)g(of)h
-(an)f Fs(inputrc)f Ft(\014le)h(and)g(re-read.)3350 3123
+(a)h(w)m(a)m(y)h(that)f(it)g(can)390 3264 y(b)s(e)i(made)g(part)g(of)h
+(an)f Fs(inputrc)f Ft(\014le)h(and)g(re-read.)3350 3462
y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_list_funmap_names)d
-Fg(\()p Ff(v)m(oid)p Fg(\))390 3233 y Ft(Prin)m(t)30
+Fg(\()p Ff(v)m(oid)p Fg(\))390 3572 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 3425 y([F)-8 b(unction])-3599
+Fs(rl_outstream)p Ft(.)3350 3770 y([F)-8 b(unction])-3599
b Fh(const)54 b(char)f(**)g(rl_funmap_names)d Fg(\()p
-Ff(v)m(oid)p Fg(\))390 3534 y Ft(Return)25 b(a)i(NULL)f(terminated)g
+Ff(v)m(oid)p Fg(\))390 3880 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 3644 y(arra)m(y)28
+b(arra)m(y)g(is)g(sorted.)39 b(The)390 3989 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 3754 y(the)j(p)s(oin)m(ters,)f(using)g
+b(but)f(not)390 4099 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
-3946 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_add_funmap_entry)e
-Fg(\()p Ff(const)34 b(c)m(har)g(*name,)g(rl)p 2331 3946
-V 43 w(command)p 2794 3946 V 45 w(func)p 3023 3946 V
-45 w(t)565 4055 y(*function)p Fg(\))390 4165 y Ft(Add)e
+4297 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_add_funmap_entry)e
+Fg(\()p Ff(const)34 b(c)m(har)g(*name,)g(rl)p 2331 4297
+V 43 w(command)p 2794 4297 V 45 w(func)p 3023 4297 V
+45 w(t)565 4407 y(*function)p Fg(\))390 4516 y Ft(Add)e
Fj(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 Fj(function)f Ft(the)390
-4275 y(function)d(to)h(b)s(e)f(called)h(when)f Fj(name)35
-b Ft(is)c(in)m(v)m(ok)m(ed.)150 4478 y Fi(2.4.5)63 b(Allo)m(wing)41
-b(Undoing)150 4625 y Ft(Supp)s(orting)34 b(the)i(undo)e(command)i(is)g
+4626 y(function)d(to)h(b)s(e)f(called)h(when)f Fj(name)35
+b Ft(is)c(in)m(v)m(ok)m(ed.)150 4832 y Fi(2.4.5)63 b(Allo)m(wing)41
+b(Undoing)150 4979 y Ft(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 4734 y(useful.)k(It)30 b(is)h(certainly)g(easy)g(to)g
+m(h)h(more)150 5089 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 4873 y(If)40 b(y)m(our)h(function)f(simply)g(inserts)h(text)h
+275 5230 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
-4982 y(text\(\))26 b Ft(or)i Fs(rl_delete_text\(\))23
+5340 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 5121 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 5230
-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
-5340 y(group\(\))28 b Ft(and)i Fs(rl_end_undo_group\(\))p
-Ft(.)p eop end
+m(ou)h(automatically)-8 b(.)p eop end
%%Page: 37 41
TeXDict begin 37 40 bop 150 -116 a Ft(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(37)275
-299 y(The)29 b(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 421 y Fe(enum)40 b(undo_code)h({)f(UNDO_DELETE,)i
-(UNDO_INSERT,)g(UNDO_BEGIN,)g(UNDO_END)f(};)275 565 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
-675 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 785 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 989 y([F)-8 b(unction])-3599
-b Fh(int)53 b(rl_begin_undo_group)e Fg(\()p Ff(v)m(oid)p
-Fg(\))390 1098 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
-1208 y(comes)42 b(from)f(calls)i(to)f Fs(rl_insert_text\(\))37
+299 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 408 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 518 y(group\(\))28 b Ft(and)i Fs
+(rl_end_undo_group\(\))p Ft(.)275 649 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 757
+y Fe(enum)40 b(undo_code)h({)f(UNDO_DELETE,)i(UNDO_INSERT,)g
+(UNDO_BEGIN,)g(UNDO_END)f(};)275 887 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 997 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 1106 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 1279 y([F)-8 b(unction])-3599 b Fh(int)53 b
+(rl_begin_undo_group)e Fg(\()p Ff(v)m(oid)p Fg(\))390
+1388 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
+1498 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
-1318 y(result)30 b(of)h(calls)g(to)g Fs(rl_add_undo\(\))p
-Ft(.)3350 1522 y([F)-8 b(unction])-3599 b Fh(int)53 b
-(rl_end_undo_group)e Fg(\()p Ff(v)m(oid)p Fg(\))390 1631
+1608 y(result)30 b(of)h(calls)g(to)g Fs(rl_add_undo\(\))p
+Ft(.)3350 1780 y([F)-8 b(unction])-3599 b Fh(int)53 b
+(rl_end_undo_group)e Fg(\()p Ff(v)m(oid)p Fg(\))390 1890
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
-1741 y(b)s(e)h(one)g(call)i(to)f Fs(rl_end_undo_group\(\))25
+1999 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 1945 y([F)-8 b(unction])-3599 b Fh(void)54
+Ft(.)3350 2172 y([F)-8 b(unction])-3599 b Fh(void)54
b(rl_add_undo)48 b Fg(\()p Ff(en)m(um)35 b(undo)p 1558
-1945 30 5 v 45 w(co)s(de)e(what,)g(in)m(t)g(start,)g(in)m(t)g(end,)h(c)
-m(har)565 2055 y(*text)p Fg(\))390 2164 y Ft(Remem)m(b)s(er)g(ho)m(w)g
+2172 30 5 v 45 w(co)s(de)e(what,)g(in)m(t)g(start,)g(in)m(t)g(end,)h(c)
+m(har)565 2281 y(*text)p Fg(\))390 2391 y Ft(Remem)m(b)s(er)g(ho)m(w)g
(to)h(undo)d(an)i(ev)m(en)m(t)i(\(according)f(to)g Fj(what)r
Ft(\).)52 b(The)33 b(a\013ected)j(text)f(runs)d(from)390
-2274 y Fj(start)h Ft(to)e Fj(end)p Ft(,)f(and)g(encompasses)h
-Fj(text)p Ft(.)3350 2478 y([F)-8 b(unction])-3599 b Fh(void)54
+2500 y Fj(start)h Ft(to)e Fj(end)p Ft(,)f(and)g(encompasses)h
+Fj(text)p Ft(.)3350 2673 y([F)-8 b(unction])-3599 b Fh(void)54
b(rl_free_undo_list)c Fg(\()p Ff(v)m(oid)p Fg(\))390
-2588 y Ft(F)-8 b(ree)31 b(the)g(existing)g(undo)f(list.)3350
-2792 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_do_undo)c
-Fg(\()p Ff(v)m(oid)p Fg(\))390 2902 y Ft(Undo)22 b(the)h(\014rst)g
+2783 y Ft(F)-8 b(ree)31 b(the)g(existing)g(undo)f(list.)3350
+2955 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_do_undo)c
+Fg(\()p Ff(v)m(oid)p Fg(\))390 3065 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
-3011 y(if)30 b(something)h(w)m(as)g(undone.)275 3215
+3174 y(if)30 b(something)h(w)m(as)g(undone.)275 3347
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 3325 y(c)m(hange)40 b(its)f(case\),)j(call)e Fs(rl_modifying\(\))35
+150 3456 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 3435 y(supply)29 b(the)h(indices)h(of)f
+b(Y)-8 b(ou)39 b(m)m(ust)150 3566 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 3639 y([F)g(unction])-3599 b Fh(int)53 b(rl_modifying)c
+b(.)3350 3738 y([F)g(unction])-3599 b Fh(int)53 b(rl_modifying)c
Fg(\()p Ff(in)m(t)34 b(start,)e(in)m(t)i(end)p Fg(\))390
-3748 y Ft(T)-8 b(ell)41 b(Readline)g(to)g(sa)m(v)m(e)g(the)g(text)g(b)s
+3848 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 Fj(start)i Ft(and)c Fj(end)k Ft(as)e(a)f(single)h(undo)
-e(unit.)70 b(It)40 b(is)390 3858 y(assumed)30 b(that)h(y)m(ou)f(will)h
-(subsequen)m(tly)f(mo)s(dify)f(that)i(text.)150 4067
-y Fi(2.4.6)63 b(Redispla)m(y)3350 4274 y Ft([F)-8 b(unction])-3599
+e(unit.)70 b(It)40 b(is)390 3957 y(assumed)30 b(that)h(y)m(ou)f(will)h
+(subsequen)m(tly)f(mo)s(dify)f(that)i(text.)150 4149
+y Fi(2.4.6)63 b(Redispla)m(y)3350 4338 y Ft([F)-8 b(unction])-3599
b Fh(void)54 b(rl_redisplay)49 b Fg(\()p Ff(v)m(oid)p
-Fg(\))390 4384 y Ft(Change)38 b(what's)f(displa)m(y)m(ed)i(on)e(the)h
+Fg(\))390 4447 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 4493 y(buffer)p Ft(.)3350 4697 y([F)-8
+Fs(rl_line_)390 4557 y(buffer)p Ft(.)3350 4729 y([F)-8
b(unction])-3599 b Fh(int)53 b(rl_forced_update_disp)q(lay)f
-Fg(\()p Ff(v)m(oid)p Fg(\))390 4807 y Ft(F)-8 b(orce)41
+Fg(\()p Ff(v)m(oid)p Fg(\))390 4839 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 4917
+(whether)c(or)g(not)h(Readline)h(thinks)e(the)390 4948
y(screen)30 b(displa)m(y)h(is)f(correct.)3350 5121 y([F)-8
b(unction])-3599 b Fh(int)53 b(rl_on_new_line)d Fg(\()p
Ff(v)m(oid)p Fg(\))390 5230 y Ft(T)-8 b(ell)31 b(the)f(up)s(date)f
(\()p Fs(SIGHUP)p Ft(,)g(for)e(example\),)k(Readline)d(pro)m(vides)g
(con)m(v)m(enience)150 518 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 693 y([F)-8 b(unction])-3599
+i(of)g(a)f(signal.)3350 704 y([F)-8 b(unction])-3599
b Fh(int)53 b(rl_pending_signal)e Fg(\()p Ff(v)m(oid)p
-Fg(\))390 803 y Ft(Return)27 b(the)g(signal)h(n)m(um)m(b)s(er)e(of)i
+Fg(\))390 814 y Ft(Return)27 b(the)g(signal)h(n)m(um)m(b)s(er)e(of)i
(the)f(most)h(recen)m(t)h(signal)f(Readline)g(receiv)m(ed)g(but)f(has)g
-(not)h(y)m(et)390 913 y(handled,)i(or)g(0)h(if)f(there)h(is)f(no)g(p)s
-(ending)f(signal.)3350 1088 y([F)-8 b(unction])-3599
+(not)h(y)m(et)390 924 y(handled,)i(or)g(0)h(if)f(there)h(is)f(no)g(p)s
+(ending)f(signal.)3350 1110 y([F)-8 b(unction])-3599
b Fh(void)54 b(rl_cleanup_after_signal)e Fg(\()p Ff(v)m(oid)p
-Fg(\))390 1198 y Ft(This)33 b(function)h(will)g(reset)g(the)g(state)i
+Fg(\))390 1219 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 1307 y Ft(w)m(as)c(called,)h(and)d(remo)m(v)m(e)j
+Fs(readline\(\))390 1329 y Ft(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 1417 y(v)-5 b(alues)31 b(of)f
+(ending)d(on)h(the)390 1439 y(v)-5 b(alues)31 b(of)f
Fs(rl_catch_signals)c Ft(and)k Fs(rl_catch_sigwinch)p
-Ft(.)3350 1592 y([F)-8 b(unction])-3599 b Fh(void)54
+Ft(.)3350 1625 y([F)-8 b(unction])-3599 b Fh(void)54
b(rl_free_line_state)c Fg(\()p Ff(v)m(oid)p Fg(\))390
-1702 y Ft(This)38 b(will)i(free)f(an)m(y)h(partial)g(state)g(asso)s
+1734 y Ft(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
-1811 y(mation,)46 b(an)m(y)d(partial)h(history)e(en)m(try)-8
+1844 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 1921 y(partially-en)m(tered)50
+b(and)42 b(an)m(y)390 1954 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 2030 y(after_signal\(\))p
+(b)s(efore)e Fs(rl_cleanup_)390 2063 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
-2140 y(curren)m(t)30 b(input)g(line.)3350 2315 y([F)-8
+2173 y(curren)m(t)30 b(input)g(line.)3350 2359 y([F)-8
b(unction])-3599 b Fh(void)54 b(rl_reset_after_signal)d
-Fg(\()p Ff(v)m(oid)p Fg(\))390 2425 y Ft(This)28 b(will)g(reinitialize)
+Fg(\()p Ff(v)m(oid)p Fg(\))390 2469 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 2534 y(ing)j(on)f(the)g(v)-5
+(handlers,)f(dep)s(end-)390 2578 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 2710 y(If)j(an)g(application)i(w)m(an)m
+(rl_catch_sigwinch)p Ft(.)275 2765 y(If)j(an)g(application)i(w)m(an)m
(ts)g(to)f(force)g(Readline)h(to)f(handle)g(an)m(y)g(signals)g(that)g
-(ha)m(v)m(e)h(arriv)m(ed)f(while)150 2819 y(it)j(has)g(b)s(een)f
+(ha)m(v)m(e)h(arriv)m(ed)f(while)150 2874 y(it)j(has)g(b)s(een)f
(executing,)j Fs(rl_check_signals\(\))31 b Ft(will)36
b(call)h(Readline's)g(in)m(ternal)g(signal)f(handler)f(if)150
-2929 y(there)i(are)g(an)m(y)g(p)s(ending)e(signals.)61
+2984 y(there)i(are)g(an)m(y)g(p)s(ending)e(signals.)61
b(This)36 b(is)g(primarily)h(in)m(tended)f(for)h(those)g(applications)h
-(that)f(use)150 3039 y(a)h(custom)g Fs(rl_getc_function)33
+(that)f(use)150 3093 y(a)h(custom)g Fs(rl_getc_function)33
b Ft(\(see)39 b(Section)g(2.3)g([Readline)f(V)-8 b(ariables],)42
-b(page)c(27\))h(and)e(wish)g(to)150 3148 y(handle)30
+b(page)c(27\))h(and)e(wish)g(to)150 3203 y(handle)30
b(signals)h(receiv)m(ed)h(while)e(w)m(aiting)i(for)e(input.)3350
-3324 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_check_signals)c
-Fg(\()p Ff(v)m(oid)p Fg(\))390 3433 y Ft(If)40 b(there)h(are)g(an)m(y)g
+3389 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_check_signals)c
+Fg(\()p Ff(v)m(oid)p Fg(\))390 3499 y Ft(If)40 b(there)h(are)g(an)m(y)g
(p)s(ending)e(signals,)44 b(call)e(Readline's)g(in)m(ternal)f(signal)g
-(handling)f(functions)390 3543 y(to)j(pro)s(cess)g(them.)77
+(handling)f(functions)390 3608 y(to)j(pro)s(cess)g(them.)77
b Fs(rl_pending_signal\(\))38 b Ft(can)43 b(b)s(e)f(used)g(indep)s
-(enden)m(tly)f(to)j(determine)390 3652 y(whether)30 b(or)g(not)h(there)
-f(are)h(an)m(y)g(p)s(ending)e(signals.)275 3828 y(If)38
+(enden)m(tly)f(to)j(determine)390 3718 y(whether)30 b(or)g(not)h(there)
+f(are)h(an)m(y)g(p)s(ending)e(signals.)275 3904 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
-3937 y(terminal\(\))24 b Ft(or)j Fs(rl_set_screen_size\(\))22
+4014 y(terminal\(\))24 b Ft(or)j Fs(rl_set_screen_size\(\))22
b Ft(to)28 b(force)g(Readline)f(to)h(up)s(date)f(its)g(idea)h(of)f(the)
-g(terminal)150 4047 y(size)k(when)f(a)g Fs(SIGWINCH)e
-Ft(is)j(receiv)m(ed.)3350 4222 y([F)-8 b(unction])-3599
+g(terminal)150 4124 y(size)k(when)f(it)h(receiv)m(es)h(a)e
+Fs(SIGWINCH)p Ft(.)3350 4310 y([F)-8 b(unction])-3599
b Fh(void)54 b(rl_echo_signal_char)d Fg(\()p Ff(in)m(t)33
-b(sig)p Fg(\))390 4332 y Ft(If)43 b(an)g(application)i(wishes)e(to)i
+b(sig)p Fg(\))390 4419 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 4441 y(displa)m(y)31 b(c)m(haracters)h(that)f
+(e)g(readline)390 4529 y(displa)m(y)31 b(c)m(haracters)h(that)f
(generate)h(signals,)f(calling)h(this)e(function)g(with)g
-Fj(sig)39 b Ft(set)31 b(to)g Fs(SIGINT)p Ft(,)390 4551
+Fj(sig)39 b Ft(set)31 b(to)g Fs(SIGINT)p Ft(,)390 4639
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 4726 y([F)-8
+m(haracter)i(generating)g(that)f(signal.)3350 4825 y([F)-8
b(unction])-3599 b Fh(void)54 b(rl_resize_terminal)c
-Fg(\()p Ff(v)m(oid)p Fg(\))390 4836 y Ft(Up)s(date)30
+Fg(\()p Ff(v)m(oid)p Fg(\))390 4934 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.)3350 5011 y([F)-8
+b(alues)31 b(from)f(the)g(k)m(ernel.)3350 5121 y([F)-8
b(unction])-3599 b Fh(void)54 b(rl_set_screen_size)c
Fg(\()p Ff(in)m(t)34 b(ro)m(ws,)f(in)m(t)g(cols)p Fg(\))390
-5121 y Ft(Set)28 b(Readline's)h(idea)f(of)g(the)g(terminal)g(size)h(to)
+5230 y Ft(Set)28 b(Readline's)h(idea)f(of)g(the)g(terminal)g(size)h(to)
g Fj(ro)m(ws)i Ft(ro)m(ws)d(and)f Fj(cols)33 b Ft(columns.)40
-b(If)27 b(either)h Fj(ro)m(ws)390 5230 y Ft(or)35 b Fj(columns)k
+b(If)27 b(either)h Fj(ro)m(ws)390 5340 y Ft(or)35 b Fj(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 5340 y(unc)m(hanged.)p
-eop end
+(that)h(terminal)f(dimension)g(is)p eop end
%%Page: 50 54
TeXDict begin 50 53 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(50)275
-299 y(If)32 b(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 408 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
-591 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_get_screen_size)c
-Fg(\()p Ff(in)m(t)34 b(*ro)m(ws,)f(in)m(t)g(*cols)p Fg(\))390
-701 y Ft(Return)c(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 810 y(men)m(ts.)3350 993 y([F)-8 b(unction])-3599
-b Fh(void)54 b(rl_reset_screen_size)d Fg(\()p Ff(v)m(oid)p
-Fg(\))390 1102 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 1285
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(50)390
+299 y(unc)m(hanged.)39 b(This)27 b(is)h(in)m(tended)g(to)g(tell)h
+(Readline)f(the)g(ph)m(ysical)g(dimensions)f(of)h(the)g(terminal,)390
+408 y(and)44 b(is)h(used)f(in)m(ternally)i(to)f(calculate)j(the)d
+(maxim)m(um)f(n)m(um)m(b)s(er)g(of)h(c)m(haracters)h(that)f(ma)m(y)390
+518 y(app)s(ear)30 b(on)g(the)h(screen.)275 695 y(If)h(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
+804 y(the)d(screen)f(dimensions,)g(it)h(ma)m(y)g(query)f(Readline's)h
+(idea)g(of)f(the)h(screen)f(size.)3350 981 y([F)-8 b(unction])-3599
+b Fh(void)54 b(rl_get_screen_size)c Fg(\()p Ff(in)m(t)34
+b(*ro)m(ws,)f(in)m(t)g(*cols)p Fg(\))390 1091 y Ft(Return)c(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
+1200 y(men)m(ts.)3350 1377 y([F)-8 b(unction])-3599 b
+Fh(void)54 b(rl_reset_screen_size)d Fg(\()p Ff(v)m(oid)p
+Fg(\))390 1486 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 1663
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 1467 y([F)-8 b(unction])-3599
+(Readline's)f(signal)g(handlers.)3350 1840 y([F)-8 b(unction])-3599
b Fh(int)53 b(rl_set_signals)d Fg(\()p Ff(v)m(oid)p Fg(\))390
-1577 y Ft(Install)40 b(Readline's)h(signal)f(handler)f(for)h
+1949 y Ft(Install)40 b(Readline's)h(signal)f(handler)f(for)h
Fs(SIGINT)p Ft(,)h Fs(SIGQUIT)p Ft(,)f Fs(SIGTERM)p Ft(,)h
-Fs(SIGHUP)p Ft(,)g Fs(SIGALRM)p Ft(,)390 1686 y Fs(SIGTSTP)p
+Fs(SIGHUP)p Ft(,)g Fs(SIGALRM)p Ft(,)390 2059 y Fs(SIGTSTP)p
Ft(,)35 b Fs(SIGTTIN)p Ft(,)f Fs(SIGTTOU)p Ft(,)h(and)g
Fs(SIGWINCH)p Ft(,)f(dep)s(ending)g(on)h(the)g(v)-5 b(alues)36
-b(of)f Fs(rl_catch_)390 1796 y(signals)28 b Ft(and)i
-Fs(rl_catch_sigwinch)p Ft(.)3350 1978 y([F)-8 b(unction])-3599
+b(of)f Fs(rl_catch_)390 2168 y(signals)28 b Ft(and)i
+Fs(rl_catch_sigwinch)p Ft(.)3350 2345 y([F)-8 b(unction])-3599
b Fh(int)53 b(rl_clear_signals)e Fg(\()p Ff(v)m(oid)p
-Fg(\))390 2088 y Ft(Remo)m(v)m(e)32 b(all)f(of)g(the)g(Readline)g
+Fg(\))390 2455 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 2327 y Fr(2.6)68 b(Custom)45 b(Completers)150
-2487 y Ft(T)m(ypically)-8 b(,)47 b(a)c(program)g(that)g(reads)f
+Ft(.)150 2690 y Fr(2.6)68 b(Custom)45 b(Completers)150
+2850 y Ft(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 2596 y(commands)35 b(and)g(data.)56 b(If)35
+(biguating)150 2959 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 2706 y(commands,)29 b(data,)i(or)e(b)s
+(vide)f(completion)i(for)150 3069 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 2816 y(co)s(op)s(erate)j(to)h(pro)
-m(vide)e(this)g(service.)150 3014 y Fi(2.6.1)63 b(Ho)m(w)40
-b(Completing)i(W)-10 b(orks)150 3161 y Ft(In)26 b(order)f(to)i
+m(our)f(program)g(and)f(Readline)150 3178 y(co)s(op)s(erate)j(to)h(pro)
+m(vide)e(this)g(service.)150 3373 y Fi(2.6.1)63 b(Ho)m(w)40
+b(Completing)i(W)-10 b(orks)150 3520 y Ft(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 3270 y(is,)28 b(it)f(is)g(not)g(p)s(ossible)g(to)g
+b(That)150 3629 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 3380 y(w)m(ords)33
+(all)f(of)g(the)g(p)s(ossible)150 3739 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 3489 y(to)d(completion,)h(and)e(t)m(w)m(o)i(of)e(the)h
+(terface)150 3848 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 3599 y(F)-8 b(or)39 b(completing)g(other)f(t)m
+b(and)e(username.)150 3958 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 3709 y(section)32
+(completion)h(function.)64 b(This)150 4067 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 3842 y(There)e(are)i(three)g(ma)
+(and)g(pro)m(vides)g(an)h(example.)275 4199 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
-3976 y(1.)61 b(The)43 b(user-in)m(terface)h(function)f
+4331 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 4086 y(argumen)m(ts)36 b(as)g(other)g(bindable)f
+e(the)h(same)330 4441 y(argumen)m(ts)36 b(as)g(other)g(bindable)f
(Readline)h(functions:)51 b Fj(coun)m(t)38 b Ft(and)d
-Fj(in)m(v)m(oking)p 3107 4086 28 4 v 41 w(k)m(ey)p Ft(.)57
-b(It)36 b(isolates)330 4195 y(the)i(w)m(ord)f(to)h(b)s(e)f(completed)i
+Fj(in)m(v)m(oking)p 3107 4441 28 4 v 41 w(k)m(ey)p Ft(.)57
+b(It)36 b(isolates)330 4551 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 4305 y(p)s(ossible)31
+b(generate)g(a)f(list)g(of)330 4660 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 4415
+(completions,)h(inserts)f(the)g(p)s(ossible)330 4770
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
-4524 y(desired.)199 4658 y(2.)61 b(The)33 b(in)m(ternal)h(function)g
+4879 y(desired.)199 5011 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 Fj(gener-)330 4768 y(ator)44
+(application-supplied)h Fj(gener-)330 5121 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
-4877 y(these)h(matc)m(hes.)68 b(The)39 b(caller)h(should)e(place)i(the)
+5230 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
-4987 y(completion_entry_functio)o(n)p Ft(.)199 5121 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 5230
-y(a)33 b(string)g(eac)m(h)h(time.)48 b(The)32 b(argumen)m(ts)h(to)h
-(the)f(generator)h(function)e(are)h Fj(text)j Ft(and)c
-Fj(state)p Ft(.)49 b Fj(text)330 5340 y Ft(is)32 b(the)g(partial)h(w)m
-(ord)f(to)h(b)s(e)e(completed.)47 b Fj(state)38 b Ft(is)32
-b(zero)h(the)f(\014rst)g(time)g(the)h(function)e(is)h(called,)p
-eop end
+5340 y(completion_entry_functio)o(n)p Ft(.)p eop end
%%Page: 51 55
TeXDict begin 51 54 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(51)330
-299 y(allo)m(wing)46 b(the)e(generator)h(to)f(p)s(erform)f(an)m(y)h
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(51)199
+299 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
+408 y(a)33 b(string)g(eac)m(h)h(time.)48 b(The)32 b(argumen)m(ts)h(to)h
+(the)f(generator)h(function)e(are)h Fj(text)j Ft(and)c
+Fj(state)p Ft(.)49 b Fj(text)330 518 y Ft(is)32 b(the)g(partial)h(w)m
+(ord)f(to)h(b)s(e)e(completed.)47 b Fj(state)38 b Ft(is)32
+b(zero)h(the)f(\014rst)g(time)g(the)h(function)e(is)h(called,)330
+628 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 408 y(zero)30 b(in)m(teger)h(for)d(eac)m(h)j(subsequen)m(t)d(call.)
+330 737 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 518 y(inform)37 b Fs(rl_completion_matches\(\))32
+Ft(to)330 847 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 628 y(the)39 b(generator)h(function)e(computes)h(the)g
+b(Usually)330 956 y(the)39 b(generator)h(function)e(computes)h(the)g
(list)g(of)g(p)s(ossible)f(completions)i(when)e Fj(state)45
-b Ft(is)39 b(zero,)330 737 y(and)25 b(returns)f(them)i(one)f(at)i(a)f
+b Ft(is)39 b(zero,)330 1066 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 847 y(returns)31 b(as)h(a)g(matc)m(h)h(m)m
+(generator)g(function)330 1176 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 956
+Ft(;)g(Readline)h(frees)g(the)g(strings)g(when)330 1285
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
-Fj(application-)330 1066 y(sp)s(eci\014c)d(completion)i(function)p
-Ft(.)3350 1237 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_complete)c
+Fj(application-)330 1395 y(sp)s(eci\014c)d(completion)i(function)p
+Ft(.)3350 1575 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_complete)c
Fg(\()p Ff(in)m(t)34 b(ignore,)e(in)m(t)i(in)m(v)m(oking)p
-2020 1237 30 5 v 43 w(k)m(ey)p Fg(\))390 1347 y Ft(Complete)d(the)g(w)m
+2020 1575 30 5 v 43 w(k)m(ey)p Fg(\))390 1685 y Ft(Complete)d(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
-1456 y(initial)42 b(simple)f(matc)m(hing)i(selection)f(algorithm)h
+1794 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
-1566 y(default)31 b(is)f(to)h(do)f(\014lename)h(completion.)3371
-1737 y([V)-8 b(ariable])-3598 b Fh(rl_compentry_func_t)58
-b(*)53 b(rl_completion_entry_fun)q(cti)q(on)390 1846
+1904 y(default)31 b(is)f(to)h(do)f(\014lename)h(completion.)3371
+2084 y([V)-8 b(ariable])-3598 b Fh(rl_compentry_func_t)58
+b(*)53 b(rl_completion_entry_fun)q(cti)q(on)390 2194
y Ft(This)39 b(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 1956 y(v)-5 b(alue)24 b(of)g Fs
+b(If)40 b(the)390 2303 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
-2066 y(function,)49 b Fs(rl_filename_completion_)o(fun)o(ctio)o(n\(\))p
+2413 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 Fj(application-sp)s(eci\014c)390
-2175 y(completion)22 b(function)f Ft(is)g(a)h(function)e(whose)h
+2522 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
-2285 y(function)28 b Ft(and)i(whose)g(return)f(v)-5 b(alues)31
+2632 y(function)28 b Ft(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
-2475 y Fi(2.6.2)63 b(Completion)41 b(F)-10 b(unctions)150
-2622 y Ft(Here)31 b(is)f(the)h(complete)h(list)f(of)f(callable)j
+2828 y Fi(2.6.2)63 b(Completion)41 b(F)-10 b(unctions)150
+2975 y Ft(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
-2793 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_complete_internal)f
-Fg(\()p Ff(in)m(t)33 b(what)p 1861 2793 V 44 w(to)p 1994
-2793 V 43 w(do)p Fg(\))390 2903 y Ft(Complete)k(the)g(w)m(ord)f(at)i
-(or)e(b)s(efore)g(p)s(oin)m(t.)60 b Fj(what)p 2208 2903
-28 4 v 40 w(to)p 2328 2903 V 41 w(do)41 b Ft(sa)m(ys)c(what)f(to)i(do)e
-(with)g(the)h(com-)390 3012 y(pletion.)44 b(A)31 b(v)-5
+3156 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_complete_internal)f
+Fg(\()p Ff(in)m(t)33 b(what)p 1861 3156 V 44 w(to)p 1994
+3156 V 43 w(do)p Fg(\))390 3265 y Ft(Complete)k(the)g(w)m(ord)f(at)i
+(or)e(b)s(efore)g(p)s(oin)m(t.)60 b Fj(what)p 2208 3265
+28 4 v 40 w(to)p 2328 3265 V 41 w(do)41 b Ft(sa)m(ys)c(what)f(to)i(do)e
+(with)g(the)h(com-)390 3375 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
-3122 y(completion.)44 b(`)p Fs(*)p Ft(')32 b(means)f(insert)g(all)h(of)
+3484 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 3231 y(of)k(the)f(p)s(ossible)g
+b(means)f(to)h(displa)m(y)f(all)390 3594 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 3341 y(completion.)41
+(as)g(p)s(erforming)e(partial)390 3703 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 3451 y(completions)32 b(share)e(a)g(common)h
-(pre\014x.)3350 3622 y([F)-8 b(unction])-3599 b Fh(int)53
+(the)g(p)s(ossible)390 3813 y(completions)32 b(share)e(a)g(common)h
+(pre\014x.)3350 3993 y([F)-8 b(unction])-3599 b Fh(int)53
b(rl_complete)c Fg(\()p Ff(in)m(t)34 b(ignore,)e(in)m(t)i(in)m(v)m
-(oking)p 2020 3622 30 5 v 43 w(k)m(ey)p Fg(\))390 3731
+(oking)p 2020 3993 30 5 v 43 w(k)m(ey)p Fg(\))390 4103
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 3841 y(the)33 b(initial)h(simple)f(matc)m(hing)h(selection)h
+s(es)390 4212 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 3950 y Fs(rl_completion_entry_func)o(tion)o
+b Ft(and)390 4322 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 4060 y(calls)32 b Fs(rl_complete_internal\(\))24
+59 b(This)390 4432 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
-Fj(in)m(v)m(oking)p 3314 4060 28 4 v 41 w(k)m(ey)p Ft(.)3350
-4231 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_possible_completio)q(ns)
+Fj(in)m(v)m(oking)p 3314 4432 28 4 v 41 w(k)m(ey)p Ft(.)3350
+4612 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_possible_completio)q(ns)
f Fg(\()p Ff(in)m(t)33 b(coun)m(t,)h(in)m(t)f(in)m(v)m(oking)p
-2622 4231 30 5 v 43 w(k)m(ey)p Fg(\))390 4340 y Ft(List)41
+2622 4612 30 5 v 43 w(k)m(ey)p Fg(\))390 4721 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 4450 y(complete_internal\(\))25 b Ft(with)30
-b(an)g(argumen)m(t)h(of)g(`)p Fs(?)p Ft('.)3350 4621
+Fs(rl_)390 4831 y(complete_internal\(\))25 b Ft(with)30
+b(an)g(argumen)m(t)h(of)g(`)p Fs(?)p Ft('.)3350 5011
y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_insert_completions)f
Fg(\()p Ff(in)m(t)34 b(coun)m(t,)f(in)m(t)g(in)m(v)m(oking)p
-2517 4621 V 44 w(k)m(ey)p Fg(\))390 4731 y Ft(Insert)g(the)h(list)g(of)
+2517 5011 V 44 w(k)m(ey)p Fg(\))390 5121 y Ft(Insert)g(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 4840 y(w)m(ord.)44 b(See)32
+(partially-completed)390 5230 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
-4950 y(an)30 b(argumen)m(t)h(of)g(`)p Fs(*)p Ft('.)3350
-5121 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_completion_mode)e
-Fg(\()p Ff(rl)p 1455 5121 V 44 w(command)p 1919 5121
-V 44 w(func)p 2147 5121 V 46 w(t)33 b(*cfunc)p Fg(\))390
-5230 y Ft(Returns)40 b(the)i(appropriate)g(v)-5 b(alue)41
-b(to)i(pass)e(to)h Fs(rl_complete_internal\(\))35 b Ft(dep)s(ending)40
-b(on)390 5340 y(whether)g Fj(cfunc)46 b Ft(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-)p eop end
+5340 y(an)30 b(argumen)m(t)h(of)g(`)p Fs(*)p Ft('.)p
+eop end
%%Page: 52 56
TeXDict begin 52 55 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(52)390
-299 y Fs(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 408 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 589 y([F)-8 b(unction])-3599 b Fh(char)54 b(**)e
-(rl_completion_matches)g Fg(\()p Ff(const)34 b(c)m(har)g(*text,)565
-698 y(rl)p 639 698 30 5 v 44 w(comp)s(en)m(try)p 1145
-698 V 44 w(func)p 1373 698 V 45 w(t)f(*en)m(try)p 1767
-698 V 44 w(func)p Fg(\))390 808 y Ft(Returns)k(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
-Fj(text)p Ft(.)64 b(If)38 b(there)g(are)g(no)390 917
-y(completions,)f(returns)c Fs(NULL)p Ft(.)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 1027 y(for)26 b Fj(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 1137 y(with)k(a)h
-Fs(NULL)e Ft(p)s(oin)m(ter.)390 1270 y Fj(en)m(try)p
-603 1270 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 1379 y Fj(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
-1489 y(subsequen)m(t)33 b(calls.)52 b Fj(en)m(try)p 1320
-1489 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 1599
-y(more)d(matc)m(hes.)3350 1779 y([F)-8 b(unction])-3599
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(52)3350
+299 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_completion_mode)e
+Fg(\()p Ff(rl)p 1455 299 30 5 v 44 w(command)p 1919 299
+V 44 w(func)p 2147 299 V 46 w(t)33 b(*cfunc)p Fg(\))390
+408 y Ft(Returns)40 b(the)i(appropriate)g(v)-5 b(alue)41
+b(to)i(pass)e(to)h Fs(rl_complete_internal\(\))35 b Ft(dep)s(ending)40
+b(on)390 518 y(whether)g Fj(cfunc)46 b Ft(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 628 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 737 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 917 y([F)-8
+b(unction])-3599 b Fh(char)54 b(**)e(rl_completion_matches)g
+Fg(\()p Ff(const)34 b(c)m(har)g(*text,)565 1027 y(rl)p
+639 1027 V 44 w(comp)s(en)m(try)p 1145 1027 V 44 w(func)p
+1373 1027 V 45 w(t)f(*en)m(try)p 1767 1027 V 44 w(func)p
+Fg(\))390 1137 y Ft(Returns)k(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 Fj(text)p Ft(.)64
+b(If)38 b(there)g(are)g(no)390 1246 y(completions,)f(returns)c
+Fs(NULL)p Ft(.)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 1356 y(for)26
+b Fj(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
+1465 y(with)k(a)h Fs(NULL)e Ft(p)s(oin)m(ter.)390 1599
+y Fj(en)m(try)p 603 1599 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
+1708 y Fj(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 1818 y(subsequen)m(t)33 b(calls.)52 b Fj(en)m(try)p
+1320 1818 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
+1927 y(more)d(matc)m(hes.)3350 2107 y([F)-8 b(unction])-3599
b Fh(char)54 b(*)e(rl_filename_completion)q(_fu)q(nct)q(ion)g
-Fg(\()p Ff(const)34 b(c)m(har)g(*text,)e(in)m(t)565 1888
-y(state)p Fg(\))390 1998 y Ft(A)26 b(generator)h(function)e(for)g
+Fg(\()p Ff(const)34 b(c)m(har)g(*text,)e(in)m(t)565 2217
+y(state)p Fg(\))390 2327 y Ft(A)26 b(generator)h(function)e(for)g
(\014lename)h(completion)h(in)e(the)h(general)h(case.)40
-b Fj(text)28 b Ft(is)e(a)g(partial)h(\014le-)390 2107
+b Fj(text)28 b Ft(is)e(a)g(partial)h(\014le-)390 2436
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
-2217 y(functions)30 b(\(the)h(Bash)f(completion)i(functions)e(call)i
-(this)e(and)g(other)g(Readline)h(functions\).)3350 2397
+2546 y(functions)30 b(\(the)h(Bash)f(completion)i(functions)e(call)i
+(this)e(and)g(other)g(Readline)h(functions\).)3350 2726
y([F)-8 b(unction])-3599 b Fh(char)54 b(*)e(rl_username_completion)q
(_fu)q(nct)q(ion)g Fg(\()p Ff(const)34 b(c)m(har)g(*text,)e(in)m(t)565
-2507 y(state)p Fg(\))390 2616 y Ft(A)d(completion)g(generator)h(for)e
+2836 y(state)p Fg(\))390 2945 y Ft(A)d(completion)g(generator)h(for)e
(usernames.)40 b Fj(text)31 b Ft(con)m(tains)f(a)f(partial)g(username)f
-(preceded)g(b)m(y)390 2726 y(a)j(random)f(c)m(haracter)i(\(usually)e(`)
+(preceded)g(b)m(y)390 3055 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
-Fj(state)37 b Ft(is)31 b(zero)g(on)390 2836 y(the)g(\014rst)e(call)j
-(and)e(non-zero)h(for)f(subsequen)m(t)f(calls.)150 3032
+Fj(state)37 b Ft(is)31 b(zero)g(on)390 3164 y(the)g(\014rst)e(call)j
+(and)e(non-zero)h(for)f(subsequen)m(t)f(calls.)150 3361
y Fi(2.6.3)63 b(Completion)41 b(V)-10 b(ariables)3371
-3226 y Ft([V)i(ariable])-3598 b Fh(rl_compentry_func_t)58
-b(*)53 b(rl_completion_entry_fun)q(cti)q(on)390 3336
+3555 y Ft([V)i(ariable])-3598 b Fh(rl_compentry_func_t)58
+b(*)53 b(rl_completion_entry_fun)q(cti)q(on)390 3665
y Ft(A)34 b(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 3445 y(use)d Fs(rl_filename_completion_fu)o(nct)o
+Ft(means)h(to)390 3774 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
-3626 y([V)-8 b(ariable])-3598 b Fh(rl_completion_func_t)58
+3954 y([V)-8 b(ariable])-3598 b Fh(rl_completion_func_t)58
b(*)53 b(rl_attempted_completio)q(n_f)q(unct)q(ion)390
-3735 y Ft(A)35 b(p)s(oin)m(ter)g(to)g(an)g(alternativ)m(e)i(function)d
+4064 y Ft(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 3845 y Fj(text)p Ft(,)26 b Fj(start)p Ft(,)f(and)d
+390 4173 y Fj(text)p Ft(,)26 b Fj(start)p Ft(,)f(and)d
Fj(end)p Ft(.)38 b Fj(start)25 b Ft(and)e Fj(end)j Ft(are)d(indices)g
(in)g Fs(rl_line_buffer)c Ft(de\014ning)j(the)h(b)s(ound-)390
-3954 y(aries)j(of)h Fj(text)p Ft(,)h(whic)m(h)d(is)h(a)h(c)m(haracter)g
+4283 y(aries)j(of)h Fj(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 4064 y(this)c(v)-5 b(ariable)22
+Fs(NULL)p Ft(,)h(or)g(if)390 4393 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
-4173 y(entry_function)i Ft(to)30 b(generate)f(matc)m(hes,)i(otherwise)d
+4502 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
-4283 y(used.)37 b(If)22 b(this)g(function)g(sets)h(the)g
+4612 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 4393 y(v)-5 b(alue,)35 b(Readline)g(will)f(not)
+b(to)f(a)f(non-zero)390 4721 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 4502 y(no)d(matc)m(hes.)3371
-4682 y([V)-8 b(ariable])-3598 b Fh(rl_quote_func_t)57
-b(*)52 b(rl_filename_quoting_)q(func)q(tio)q(n)390 4792
+(function)f(returns)390 4831 y(no)d(matc)m(hes.)3371
+5011 y([V)-8 b(ariable])-3598 b Fh(rl_quote_func_t)57
+b(*)52 b(rl_filename_quoting_)q(func)q(tio)q(n)390 5121
y Ft(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
-4902 y(This)k(is)i(called)g(if)f(\014lename)h(completion)g(is)f(b)s
+5230 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
-5011 y(in)33 b Fs(rl_filename_quote_charac)o(ter)o(s)27
+5340 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 5121 y(is)37 b(called)h(with)e
-Fj(text)p Ft(,)k Fj(matc)m(h)p 1438 5121 V 41 w(t)m(yp)s(e)p
-Ft(,)f(and)d Fj(quote)p 2119 5121 V 41 w(p)s(oin)m(ter)p
-Ft(.)60 b(The)36 b Fj(text)k Ft(is)d(the)g(\014lename)g(to)h(b)s(e)390
-5230 y(quoted.)76 b(The)42 b Fj(matc)m(h)p 1210 5230
-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
-5340 y(matc)m(h,)33 b(or)e Fs(MULT_MATCH)p Ft(.)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)p eop end
+b(The)32 b(function)p eop end
%%Page: 53 57
TeXDict begin 53 56 bop 150 -116 a Ft(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(53)390
-299 y(closing)22 b(quote)f(c)m(haracter.)40 b(The)20
-b Fj(quote)p 1751 299 28 4 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 408 y(the)31 b(user)e(t)m(yp)s(ed.)41 b(Some)30
+299 y(is)37 b(called)h(with)e Fj(text)p Ft(,)k Fj(matc)m(h)p
+1438 299 28 4 v 41 w(t)m(yp)s(e)p Ft(,)f(and)d Fj(quote)p
+2119 299 V 41 w(p)s(oin)m(ter)p Ft(.)60 b(The)36 b Fj(text)k
+Ft(is)d(the)g(\014lename)g(to)h(b)s(e)390 408 y(quoted.)76
+b(The)42 b Fj(matc)m(h)p 1210 408 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 518 y(matc)m(h,)33 b(or)e Fs(MULT_MATCH)p
+Ft(.)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 628 y(closing)22 b(quote)f(c)m
+(haracter.)40 b(The)20 b Fj(quote)p 1751 628 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 737 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
-600 y([V)-8 b(ariable])-3598 b Fh(rl_dequote_func_t)57
-b(*)c(rl_filename_dequoting_)q(fun)q(cti)q(on)390 710
+908 y([V)-8 b(ariable])-3598 b Fh(rl_dequote_func_t)57
+b(*)c(rl_filename_dequoting_)q(fun)q(cti)q(on)390 1018
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
-819 y(a)i(\014lename)g(b)s(efore)f(completion)h(is)g(attempted,)h(so)f
+1128 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
-929 y(matc)m(hing)39 b(the)f(text)i(against)f(names)f(in)g(the)g
+1237 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 Fj(text)p
-Ft(,)42 b(the)c(text)390 1038 y(of)k(the)h(w)m(ord)f(to)g(b)s(e)g
-(dequoted,)j(and)d Fj(quote)p 2014 1038 V 41 w(c)m(har)p
+Ft(,)42 b(the)c(text)390 1347 y(of)k(the)h(w)m(ord)f(to)g(b)s(e)g
+(dequoted,)j(and)d Fj(quote)p 2014 1347 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
-1148 y(delimits)33 b(the)f(\014lename)g(\(usually)h(`)p
+1456 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 Fj(quote)p
-2368 1148 V 41 w(c)m(har)39 b Ft(is)32 b(zero,)i(the)e(\014lename)g(w)m
-(as)h(not)390 1258 y(in)d(an)g(em)m(b)s(edded)g(string.)3371
-1449 y([V)-8 b(ariable])-3598 b Fh(rl_linebuf_func_t)57
-b(*)c(rl_char_is_quoted_p)390 1559 y Ft(A)37 b(p)s(oin)m(ter)g(to)g(a)g
+2368 1456 V 41 w(c)m(har)39 b Ft(is)32 b(zero,)i(the)e(\014lename)g(w)m
+(as)h(not)390 1566 y(in)d(an)g(em)m(b)s(edded)g(string.)3371
+1737 y([V)-8 b(ariable])-3598 b Fh(rl_linebuf_func_t)57
+b(*)c(rl_char_is_quoted_p)390 1847 y Ft(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 1668 y(in)e(the)h(line)f(bu\013er)g
+(sp)s(eci\014c)f(c)m(haracter)390 1956 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 1778 y(calling)26 b(Readline)g(uses.)38
+(the)f(program)390 2066 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 Fj(text)p Ft(,)27 b(the)e(text)h(of)f(the)390 1887
+b Fj(text)p Ft(,)27 b(the)e(text)h(of)f(the)390 2176
y(line,)31 b(and)g Fj(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 1997 y(c)m(haracter)h(found)d(in)g Fs
+(whether)g(a)390 2285 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 2107 y(w)m(ords)f(for)g(the)h
-(completer.)3371 2298 y([V)-8 b(ariable])-3598 b Fh
+b(b)s(e)h(used)f(to)i(break)390 2395 y(w)m(ords)f(for)g(the)h
+(completer.)3371 2566 y([V)-8 b(ariable])-3598 b Fh
(rl_compignore_func_t)58 b(*)53 b(rl_ignore_some_complet)q(ion)q(s_fu)q
-(nct)q(ion)390 2408 y Ft(This)37 b(function,)i(if)f(de\014ned,)g(is)g
+(nct)q(ion)390 2676 y Ft(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 2517 y(is)c(done,)h(after)f(all)h(the)g(matc)m(hing)g
+(completion)390 2785 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 2627 y(minated)f(arra)m(y)g
+b(is)g(passed)f(a)i Fs(NULL)d Ft(ter-)390 2895 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
-2737 y(common)d(to)g(all)h(matc)m(hes.)41 b(This)28 b(function)h(can)g
+3004 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
-2846 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 3038 y([V)-8 b(ariable])-3598
+3114 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 3285 y([V)-8 b(ariable])-3598
b Fh(rl_icppfunc_t)56 b(*)d(rl_directory_completio)q(n_ho)q(ok)390
-3147 y Ft(This)44 b(function,)49 b(if)d(de\014ned,)i(is)d(allo)m(w)m
+3395 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 3257 y(Readline)35 b(completes.)56 b(It)35 b(could)g(b)s(e)f(used)g
+390 3504 y(Readline)35 b(completes.)56 b(It)35 b(could)g(b)s(e)f(used)g
(to)i(expand)e(sym)m(b)s(olic)h(links)g(or)g(shell)g(v)-5
-b(ariables)35 b(in)390 3366 y(pathnames.)70 b(It)41 b(is)f(called)h
+b(ariables)35 b(in)390 3614 y(pathnames.)70 b(It)41 b(is)f(called)h
(with)f(the)h(address)e(of)i(a)g(string)f(\(the)h(curren)m(t)f
-(directory)h(name\))390 3476 y(as)d(an)f(argumen)m(t,)j(and)d(ma)m(y)i
+(directory)h(name\))390 3724 y(as)d(an)f(argumen)m(t,)j(and)d(ma)m(y)i
(mo)s(dify)d(that)j(string.)62 b(If)37 b(the)h(string)f(is)h(replaced)g
-(with)f(a)h(new)390 3586 y(string,)j(the)d(old)h(v)-5
+(with)f(a)h(new)390 3833 y(string,)j(the)d(old)h(v)-5
b(alue)39 b(should)e(b)s(e)h(freed.)64 b(An)m(y)39 b(mo)s(di\014ed)e
-(directory)i(name)f(should)g(ha)m(v)m(e)i(a)390 3695
+(directory)i(name)f(should)g(ha)m(v)m(e)i(a)390 3943
y(trailing)c(slash.)54 b(The)35 b(mo)s(di\014ed)e(v)-5
b(alue)36 b(will)f(b)s(e)f(used)g(as)i(part)e(of)h(the)h(completion,)h
-(replacing)390 3805 y(the)32 b(directory)g(p)s(ortion)f(of)h(the)g
+(replacing)390 4052 y(the)32 b(directory)g(p)s(ortion)f(of)h(the)g
(pathname)f(the)h(user)f(t)m(yp)s(ed.)44 b(A)m(t)33 b(the)f(least,)h
-(ev)m(en)g(if)e(no)h(other)390 3914 y(expansion)j(is)h(p)s(erformed,)f
+(ev)m(en)g(if)e(no)h(other)390 4162 y(expansion)j(is)h(p)s(erformed,)f
(this)h(function)f(should)g(remo)m(v)m(e)i(an)m(y)f(quote)g(c)m
-(haracters)h(from)e(the)390 4024 y(directory)c(name,)g(b)s(ecause)f
+(haracters)h(from)e(the)390 4271 y(directory)c(name,)g(b)s(ecause)f
(its)h(result)f(will)h(b)s(e)e(passed)h(directly)h(to)g
-Fs(opendir\(\))p Ft(.)390 4162 y(The)25 b(directory)i(completion)g(ho)s
+Fs(opendir\(\))p Ft(.)390 4402 y(The)25 b(directory)i(completion)g(ho)s
(ok)e(returns)g(an)h(in)m(teger)h(that)f(should)f(b)s(e)g(non-zero)i
-(if)e(the)i(func-)390 4272 y(tion)35 b(mo)s(di\014es)e(its)i(directory)
+(if)e(the)i(func-)390 4511 y(tion)35 b(mo)s(di\014es)e(its)i(directory)
f(argumen)m(t.)53 b(The)33 b(function)h(should)f(not)i(mo)s(dify)e(the)
-h(directory)390 4381 y(argumen)m(t)d(if)f(it)h(returns)e(0.)3371
-4573 y([V)-8 b(ariable])-3598 b Fh(rl_icppfunc_t)56 b(*)d
-(rl_directory_rewrite_h)q(ook;)390 4682 y Ft(If)24 b(non-zero,)i(this)e
+h(directory)390 4621 y(argumen)m(t)d(if)f(it)h(returns)e(0.)3371
+4792 y([V)-8 b(ariable])-3598 b Fh(rl_icppfunc_t)56 b(*)d
+(rl_directory_rewrite_h)q(ook;)390 4902 y Ft(If)24 b(non-zero,)i(this)e
(is)h(the)f(address)g(of)g(a)h(function)f(to)h(call)g(when)f
-(completing)h(a)g(directory)g(name.)390 4792 y(This)h(function)g(tak)m
+(completing)h(a)g(directory)g(name.)390 5011 y(This)h(function)g(tak)m
(es)i(the)f(address)f(of)h(the)f(directory)h(name)g(to)g(b)s(e)f(mo)s
-(di\014ed)g(as)h(an)f(argumen)m(t.)390 4902 y(Unlik)m(e)40
+(di\014ed)g(as)h(an)f(argumen)m(t.)390 5121 y(Unlik)m(e)40
b Fs(rl_directory_completion_h)o(ook)p Ft(,)35 b(it)40
b(only)f(mo)s(di\014es)f(the)i(directory)f(name)h(used)390
-5011 y(in)35 b Fs(opendir)p Ft(,)g(not)g(what)h(is)f(displa)m(y)m(ed)h
+5230 y(in)35 b Fs(opendir)p Ft(,)g(not)g(what)h(is)f(displa)m(y)m(ed)h
(when)e(the)i(p)s(ossible)f(completions)h(are)g(prin)m(ted)f(or)g(in-)
-390 5121 y(serted.)k(It)27 b(is)f(called)h(b)s(efore)f(rl)p
-1463 5121 V 40 w(directory)p 1859 5121 V 41 w(completion)p
-2333 5121 V 41 w(ho)s(ok.)39 b(A)m(t)27 b(the)g(least,)h(ev)m(en)f(if)g
-(no)f(other)390 5230 y(expansion)35 b(is)h(p)s(erformed,)f(this)h
-(function)f(should)g(remo)m(v)m(e)i(an)m(y)f(quote)g(c)m(haracters)h
-(from)e(the)390 5340 y(directory)c(name,)g(b)s(ecause)f(its)h(result)f
-(will)h(b)s(e)e(passed)h(directly)h(to)g Fs(opendir\(\))p
-Ft(.)p eop end
+390 5340 y(serted.)k(It)27 b(is)f(called)h(b)s(efore)f(rl)p
+1463 5340 V 40 w(directory)p 1859 5340 V 41 w(completion)p
+2333 5340 V 41 w(ho)s(ok.)39 b(A)m(t)27 b(the)g(least,)h(ev)m(en)f(if)g
+(no)f(other)p eop end
%%Page: 54 58
TeXDict begin 54 57 bop 150 -116 a Ft(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(54)390
-299 y(The)37 b(directory)i(rewrite)f(ho)s(ok)f(returns)g(an)h(in)m
-(teger)h(that)f(should)f(b)s(e)g(non-zero)i(if)e(the)i(func-)390
-408 y(tion)e(mo)s(d\014es)e(its)h(directory)h(argumen)m(t.)58
+299 y(expansion)35 b(is)h(p)s(erformed,)f(this)h(function)f(should)g
+(remo)m(v)m(e)i(an)m(y)f(quote)g(c)m(haracters)h(from)e(the)390
+408 y(directory)c(name,)g(b)s(ecause)f(its)h(result)f(will)h(b)s(e)e
+(passed)h(directly)h(to)g Fs(opendir\(\))p Ft(.)390 540
+y(The)37 b(directory)i(rewrite)f(ho)s(ok)f(returns)g(an)h(in)m(teger)h
+(that)f(should)f(b)s(e)g(non-zero)i(if)e(the)i(func-)390
+650 y(tion)e(mo)s(d\014es)e(its)h(directory)h(argumen)m(t.)58
b(The)36 b(function)f(should)h(not)g(mo)s(dify)f(the)h(directory)390
-518 y(argumen)m(t)31 b(if)f(it)h(returns)e(0.)3371 731
+759 y(argumen)m(t)31 b(if)f(it)h(returns)e(0.)3371 934
y([V)-8 b(ariable])-3598 b Fh(rl_icppfunc_t)56 b(*)d
-(rl_filename_stat_hook)390 840 y Ft(If)30 b(non-zero,)h(this)f(is)g
+(rl_filename_stat_hook)390 1044 y Ft(If)30 b(non-zero,)h(this)f(is)g
(the)g(address)f(of)h(a)h(function)f(for)f(the)i(completer)g(to)g(call)
-g(b)s(efore)f(deciding)390 950 y(whic)m(h)g(c)m(haracter)i(to)e(app)s
+g(b)s(efore)f(deciding)390 1154 y(whic)m(h)g(c)m(haracter)i(to)e(app)s
(end)f(to)i(a)f(completed)h(name.)41 b(This)29 b(function)h(mo)s
-(di\014es)f(its)i(\014lename)390 1059 y(name)36 b(argumen)m(t,)h(and)e
+(di\014es)f(its)i(\014lename)390 1263 y(name)36 b(argumen)m(t,)h(and)e
(the)h(mo)s(di\014ed)e(v)-5 b(alue)36 b(is)g(passed)f(to)h
Fs(stat\(\))e Ft(to)i(determine)g(the)g(\014le's)390
-1169 y(t)m(yp)s(e)41 b(and)f(c)m(haracteristics.)73 b(This)40
+1373 y(t)m(yp)s(e)41 b(and)f(c)m(haracteristics.)73 b(This)40
b(function)g(do)s(es)g(not)h(need)f(to)h(remo)m(v)m(e)h(quote)f(c)m
-(haracters)390 1279 y(from)30 b(the)g(\014lename.)390
-1427 y(The)i(stat)h(ho)s(ok)f(returns)f(an)h(in)m(teger)i(that)e
+(haracters)390 1482 y(from)30 b(the)g(\014lename.)390
+1614 y(The)i(stat)h(ho)s(ok)f(returns)f(an)h(in)m(teger)i(that)e
(should)g(b)s(e)f(non-zero)i(if)f(the)g(function)g(mo)s(d\014es)g(its)
-390 1537 y(directory)42 b(argumen)m(t.)73 b(The)40 b(function)h(should)
+390 1724 y(directory)42 b(argumen)m(t.)73 b(The)40 b(function)h(should)
f(not)h(mo)s(dify)f(the)h(directory)h(argumen)m(t)f(if)g(it)390
-1647 y(returns)29 b(0.)3371 1859 y([V)-8 b(ariable])-3598
+1833 y(returns)29 b(0.)3371 2008 y([V)-8 b(ariable])-3598
b Fh(rl_dequote_func_t)57 b(*)c(rl_filename_rewrite_ho)q(ok)390
-1969 y Ft(If)39 b(non-zero,)k(this)d(is)f(the)h(address)f(of)h(a)g
+2118 y Ft(If)39 b(non-zero,)k(this)d(is)f(the)h(address)f(of)h(a)g
(function)g(called)g(when)f(reading)h(directory)g(en)m(tries)390
-2078 y(from)f(the)h(\014lesystem)g(for)g(completion)h(and)e(comparing)i
+2228 y(from)f(the)h(\014lesystem)g(for)g(completion)h(and)e(comparing)i
(them)e(to)i(the)f(partial)h(w)m(ord)e(to)i(b)s(e)390
-2188 y(completed.)g(The)26 b(function)h(should)f(p)s(erform)f(an)m(y)j
+2337 y(completed.)g(The)26 b(function)h(should)f(p)s(erform)f(an)m(y)j
(necessary)f(application)i(or)e(system-sp)s(eci\014c)390
-2298 y(con)m(v)m(ersion)35 b(on)g(the)f(\014lename,)i(suc)m(h)d(as)i
+2447 y(con)m(v)m(ersion)35 b(on)g(the)f(\014lename,)i(suc)m(h)d(as)i
(con)m(v)m(erting)h(b)s(et)m(w)m(een)f(c)m(haracter)g(sets)g(or)f(con)m
-(v)m(erting)390 2407 y(from)f(a)g(\014lesystem)h(format)g(to)g(a)f(c)m
+(v)m(erting)390 2556 y(from)f(a)g(\014lesystem)h(format)g(to)g(a)f(c)m
(haracter)i(input)e(format.)50 b(The)32 b(function)h(tak)m(es)i(t)m(w)m
-(o)g(argu-)390 2517 y(men)m(ts:)49 b Fj(fname)p Ft(,)36
+(o)g(argu-)390 2666 y(men)m(ts:)49 b Fj(fname)p Ft(,)36
b(the)e(\014lename)h(to)g(b)s(e)f(con)m(v)m(erted,)j(and)d
Fj(fnlen)p Ft(,)h(its)g(length)g(in)f(b)m(ytes.)53 b(It)35
-b(m)m(ust)390 2626 y(either)24 b(return)e(its)h(\014rst)g(argumen)m(t)g
+b(m)m(ust)390 2776 y(either)24 b(return)e(its)h(\014rst)g(argumen)m(t)g
(\(if)h(no)f(con)m(v)m(ersion)h(tak)m(es)h(place\))g(or)e(the)g(con)m
-(v)m(erted)i(\014lename)390 2736 y(in)j(newly-allo)s(cated)i(memory)-8
+(v)m(erted)i(\014lename)390 2885 y(in)j(newly-allo)s(cated)i(memory)-8
b(.)41 b(The)27 b(con)m(v)m(erted)j(form)e(is)g(used)g(to)h(compare)f
-(against)i(the)e(w)m(ord)390 2845 y(to)g(b)s(e)e(completed,)j(and,)f
+(against)i(the)e(w)m(ord)390 2995 y(to)g(b)s(e)e(completed,)j(and,)f
(if)f(it)h(matc)m(hes,)h(is)e(added)f(to)i(the)g(list)f(of)h(matc)m
-(hes.)41 b(Readline)27 b(will)h(free)390 2955 y(the)j(allo)s(cated)h
-(string.)3371 3168 y([V)-8 b(ariable])-3598 b Fh(rl_compdisp_func_t)58
+(hes.)41 b(Readline)27 b(will)h(free)390 3104 y(the)j(allo)s(cated)h
+(string.)3371 3280 y([V)-8 b(ariable])-3598 b Fh(rl_compdisp_func_t)58
b(*)52 b(rl_completion_display)q(_ma)q(tch)q(es_h)q(ook)390
-3277 y Ft(If)22 b(non-zero,)i(then)e(this)g(is)g(the)g(address)f(of)h
+3389 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 3387 y(normally)h(displa)m(y)h(the)f(list)h(of)f(p)s(ossible)g
+390 3499 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 3497 y(displa)m(ying)37 b(the)h(list.)61
+(Readline)390 3608 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 Fj(matc)m(hes)p Ft(,)39 b Fs(int)d
-Fj(n)m(um)p 3370 3497 28 4 v 40 w(matc)m(hes)p Ft(,)390
-3606 y Fs(int)26 b Fj(max)p 735 3606 V 40 w(length)p
+Fj(n)m(um)p 3370 3608 28 4 v 40 w(matc)m(hes)p Ft(,)390
+3718 y Fs(int)26 b Fj(max)p 735 3718 V 40 w(length)p
Ft(\))h(where)f Fj(matc)m(hes)31 b Ft(is)c(the)f(arra)m(y)h(of)g(matc)m
-(hing)g(strings,)h Fj(n)m(um)p 3152 3606 V 39 w(matc)m(hes)j
-Ft(is)c(the)390 3716 y(n)m(um)m(b)s(er)35 b(of)i(strings)f(in)g(that)h
-(arra)m(y)-8 b(,)39 b(and)d Fj(max)p 2073 3716 V 40 w(length)h
+(hing)g(strings,)h Fj(n)m(um)p 3152 3718 V 39 w(matc)m(hes)j
+Ft(is)c(the)390 3828 y(n)m(um)m(b)s(er)35 b(of)i(strings)f(in)g(that)h
+(arra)m(y)-8 b(,)39 b(and)d Fj(max)p 2073 3828 V 40 w(length)h
Ft(is)g(the)f(length)h(of)g(the)f(longest)i(string)390
-3825 y(in)f(that)i(arra)m(y)-8 b(.)63 b(Readline)39 b(pro)m(vides)e(a)h
+3937 y(in)f(that)i(arra)m(y)-8 b(.)63 b(Readline)39 b(pro)m(vides)e(a)h
(con)m(v)m(enience)i(function,)f Fs(rl_display_match_list)p
-Ft(,)390 3935 y(that)33 b(tak)m(es)g(care)g(of)f(doing)g(the)g(displa)m
+Ft(,)390 4047 y(that)33 b(tak)m(es)g(care)g(of)f(doing)g(the)g(displa)m
(y)g(to)h(Readline's)g(output)e(stream.)46 b(Y)-8 b(ou)33
-b(ma)m(y)f(call)h(that)390 4044 y(function)d(from)g(this)g(ho)s(ok.)
-3371 4257 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
-(rl_basic_word_break_ch)q(ara)q(cter)q(s)390 4367 y Ft(The)44
+b(ma)m(y)f(call)h(that)390 4156 y(function)d(from)g(this)g(ho)s(ok.)
+3371 4332 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
+(rl_basic_word_break_ch)q(ara)q(cter)q(s)390 4441 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
-4476 y(routine.)61 b(The)37 b(default)g(v)-5 b(alue)37
+4551 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 4586 y(completion)c(in)e(Bash:)41
-b Fs(")30 b(\\t\\n\\"\\\\'`@$><=;|&{\(")p Ft(.)3371 4799
+(break)g(w)m(ords)f(for)390 4661 y(completion)c(in)e(Bash:)41
+b Fs(")30 b(\\t\\n\\"\\\\'`@$><=;|&{\(")p Ft(.)3371 4836
y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
-(rl_basic_quote_charact)q(ers)390 4908 y Ft(A)30 b(list)i(of)e(quote)h
+(rl_basic_quote_charact)q(ers)390 4945 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
5121 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
(rl_completer_word_brea)q(k_c)q(hara)q(cte)q(rs)390 5230
(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 847 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 1025 y([V)-8 b(ariable])-3598
+b Ft(is)30 b(used.)3371 1011 y([V)-8 b(ariable])-3598
b Fh(const)54 b(char)f(*)g(rl_completer_quote_cha)q(rac)q(ters)390
-1134 y Ft(A)34 b(list)g(of)g(c)m(haracters)h(whic)m(h)e(can)h(b)s(e)g
+1121 y Ft(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 1244 y(o)s(ccurs)26 b(on)g(the)g(en)m(tire)i
+b(Completion)390 1230 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 1354 y(characters)32
+(rl_completer_word_break)o(_)390 1340 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 1463 y(list.)3371
-1641 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
-(rl_filename_quote_char)q(act)q(ers)390 1751 y Ft(A)34
+(they)g(also)h(app)s(ear)e(within)h(this)390 1450 y(list.)3371
+1614 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
+(rl_filename_quote_char)q(act)q(ers)390 1724 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
-1861 y(app)s(ear)d(in)g(a)h(completed)g(\014lename.)41
+1833 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
-2039 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
-(rl_special_prefixes)390 2148 y Ft(The)27 b(list)i(of)e(c)m(haracters)j
+1998 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
+(rl_special_prefixes)390 2107 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 Fj(text)k Ft(when)390 2258 y(it)25 b(is)g(passed)f(to)h
+(left)i(in)e Fj(text)k Ft(when)390 2217 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 2367 y(kind)i(of)h(completing)h(to)f(do.)
+g(help)f(determine)h(what)390 2326 y(kind)i(of)h(completing)h(to)f(do.)
40 b(F)-8 b(or)29 b(instance,)g(Bash)f(sets)g(this)g(v)-5
b(ariable)28 b(to)h Fs(")p Ft($@)p Fs(")e Ft(so)h(that)g(it)h(can)390
-2477 y(complete)j(shell)e(v)-5 b(ariables)31 b(and)f(hostnames.)3371
-2655 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_query_i)q
-(tems)390 2765 y Ft(Up)36 b(to)h(this)f(man)m(y)g(items)h(will)f(b)s(e)
+2436 y(complete)j(shell)e(v)-5 b(ariables)31 b(and)f(hostnames.)3371
+2600 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_query_i)q
+(tems)390 2710 y Ft(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 2874 y(After)28 b(that,)h(readline)f
+(ossible-completions)h(call.)390 2819 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 2984 y(v)-5
+(see)f(them)g(all.)40 b(The)28 b(default)390 2929 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 3162 y([V)-8 b(ariable])-3598 b Fh(int)53
-b(rl_completion_append_)q(char)q(act)q(er)390 3271 y
+(the)h(user.)3371 3093 y([V)-8 b(ariable])-3598 b Fh(int)53
+b(rl_completion_append_)q(char)q(act)q(er)390 3203 y
Ft(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
-3381 y(c)m(haracter)23 b(is)e(app)s(ended)f(to)i(the)g(inserted)f
+3313 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 3491 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)390 3600 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 3710 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 3819 y(sp)s(eci\014c)30 b(command)g(line)h
-(syn)m(tax)g(sp)s(eci\014cation.)3371 3998 y([V)-8 b(ariable])-3598
-b Fh(int)53 b(rl_completion_suppres)q(s_ap)q(pen)q(d)390
-4107 y Ft(If)33 b(non-zero,)i Fj(rl)p 949 4107 28 4 v
-39 w(completion)p 1421 4107 V 42 w(app)s(end)p 1755 4107
+(haracter)390 3422 y(\(`)31 b('\).)40 b(Setting)27 b(this)g(to)g(the)g
+(n)m(ull)f(c)m(haracter)j(\(`)p Fs(\\0)p Ft('\))e(prev)m(en)m(ts)g(an)m
+(ything)g(b)s(eing)f(app)s(ended)f(auto-)390 3532 y(matically)-8
+b(.)41 b(This)22 b(can)i(b)s(e)f(c)m(hanged)h(in)f(application-sp)s
+(eci\014c)h(completion)h(functions)e(to)h(pro)m(vide)390
+3641 y(the)d(\\most)i(sensible)e(w)m(ord)g(separator)h(c)m(haracter")h
+(according)f(to)g(an)f(application-sp)s(eci\014c)i(com-)390
+3751 y(mand)28 b(line)i(syn)m(tax)f(sp)s(eci\014cation.)42
+b(It)29 b(is)g(set)h(to)g(the)f(default)g(b)s(efore)g(an)m(y)g
+(application-sp)s(eci\014c)390 3861 y(completion)j(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 4025 y([V)-8 b(ariable])-3598 b
+Fh(int)53 b(rl_completion_suppres)q(s_ap)q(pen)q(d)390
+4134 y Ft(If)33 b(non-zero,)i Fj(rl)p 949 4134 28 4 v
+39 w(completion)p 1421 4134 V 42 w(app)s(end)p 1755 4134
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 4217 y(of)28 b(the)f(command)h(line,)h(as)e
+(hes)g(at)g(the)g(end)390 4244 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 4326
+(efore)g(an)m(y)f(application-sp)s(eci\014c)390 4354
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
-4504 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_quote_c)q
-(hara)q(cte)q(r)390 4614 y Ft(When)36 b(Readline)h(is)f(completing)h
+4518 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_quote_c)q
+(hara)q(cte)q(r)390 4628 y Ft(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 4724 y Fj(rl)p 457 4724 V 40 w(completer)p
-885 4724 V 41 w(quote)p 1145 4724 V 41 w(c)m(haracters)p
+(haracters)g(in)390 4737 y Fj(rl)p 457 4737 V 40 w(completer)p
+885 4737 V 41 w(quote)p 1145 4737 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 4833 y(This)30 b(is)g(set)h(b)s(efore)f(an)m
+(c)m(haracter)i(found.)390 4847 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 5011 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_suppres)
q(s_qu)q(ote)390 5121 y Ft(If)32 b(non-zero,)h(Readline)g(do)s(es)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34
b Fb(52)2025 3293 y Fe(rl_completion_mode)10 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(:)24 b Fb(51)2025 3381
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fb(52)2025 3381
y Fe(rl_copy_keymap)f Fa(:)13 b(:)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(:)34 b Fb(33)2025 3468 y Fe(rl_copy_text)8 b Fa(:)15
b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)33 b Fb(36)150 434 y Fe(rl_function_of_keyseq_len)9
b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)23 b Fb(36)150 521 y Fe(rl_funmap_names)17
+(:)h(:)f(:)g(:)23 b Fb(36)150 522 y Fe(rl_funmap_names)17
b Fa(:)g(:)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(:)32
b Fb(36)150 609 y Fe(rl_generic_bind)17 b Fa(:)g(:)c(:)g(:)g(:)g(:)g(:)
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37
b Fb(33)150 783 y Fe(rl_get_keymap_by_name)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(:)33 b Fb(33)150 870 y Fe(rl_get_keymap_name)10
+(:)g(:)g(:)h(:)f(:)33 b Fb(33)150 871 y Fe(rl_get_keymap_name)10
b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(33)150
-957 y Fe(rl_get_screen_size)10 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f
+958 y Fe(rl_get_screen_size)10 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)24 b Fb(50)150 1045 y Fe(rl_get_termcap)f Fa(:)13
b(:)g(:)g(:)g(:)h(:)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(:)35
b Fb(39)150 1219 y Fe(rl_initialize)25 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(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(41)150 1306 y
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(41)150 1307 y
Fe(rl_insert_completions)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(:)33
-b Fb(51)150 1393 y Fe(rl_insert_text)23 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f
+b Fb(51)150 1394 y Fe(rl_insert_text)23 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(:)h(:)f(:)g(:)g(:)34 b Fb(39)150 1481 y Fe
(rl_invoking_keyseqs)7 b Fa(:)17 b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)21
b Fb(36)150 1568 y Fe(rl_invoking_keyseqs_in_map)7 b
Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)21 b Fb(36)150 1655 y Fe(rl_kill_text)8 b Fa(:)16
+g(:)g(:)21 b Fb(36)150 1656 y Fe(rl_kill_text)8 b Fa(:)16
b(:)d(:)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(:)22
-b Fb(39)150 1742 y Fe(rl_list_funmap_names)k Fa(:)13
+b Fb(39)150 1743 y Fe(rl_list_funmap_names)k 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(:)36 b Fb(36)150 1829 y Fe(rl_macro_bind)25
+(:)h(:)f(:)g(:)g(:)g(:)36 b Fb(36)150 1830 y Fe(rl_macro_bind)25
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(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37
b Fb(42)150 1917 y Fe(rl_macro_dumper)17 b Fa(:)g(:)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(:)32 b Fb(42)150 2004 y Fe(rl_make_bare_keymap)7
+g(:)g(:)g(:)g(:)g(:)g(:)32 b Fb(42)150 2005 y Fe(rl_make_bare_keymap)7
b Fa(:)17 b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)21 b Fb(33)150
-2091 y Fe(rl_make_keymap)i Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+2092 y Fe(rl_make_keymap)i 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(:)h
-(:)f(:)g(:)g(:)34 b Fb(33)150 2178 y Fe(rl_message)13
+(:)f(:)g(:)g(:)34 b Fb(33)150 2179 y Fe(rl_message)13
b Fa(:)i(:)e(:)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(:)27 b Fb(38)150 2265 y Fe(rl_modifying)8 b Fa(:)16
+(:)g(:)27 b Fb(38)150 2266 y Fe(rl_modifying)8 b Fa(:)16
b(:)d(:)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(:)22
-b Fb(37)150 2353 y Fe(rl_named_function)12 b Fa(:)17
+b Fb(37)150 2354 y Fe(rl_named_function)12 b Fa(:)17
b(:)c(:)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(:)26 b Fb(35)150
-2440 y Fe(rl_on_new_line)d Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(36)150
+2441 y Fe(rl_on_new_line)d 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(:)h
-(:)f(:)g(:)g(:)34 b Fb(37)150 2527 y Fe(rl_on_new_line_with_prompt)7
+(:)f(:)g(:)g(:)34 b Fb(37)150 2528 y Fe(rl_on_new_line_with_prompt)7
b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)21 b Fb(38)150 2614 y Fe(rl_parse_and_bind)12
+(:)g(:)g(:)21 b Fb(38)150 2615 y Fe(rl_parse_and_bind)12
b Fa(:)17 b(:)c(:)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(:)26 b Fb(35)150
-2701 y Fe(rl_pending_signal)12 b Fa(:)17 b(:)c(:)g(:)h(:)f(:)g(:)g(:)g
+2703 y Fe(rl_pending_signal)12 b Fa(:)17 b(:)c(:)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(:)26 b Fb(49)150 2789 y Fe(rl_possible_completions)14
+g(:)h(:)26 b Fb(49)150 2790 y Fe(rl_possible_completions)14
b Fa(:)k(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)28 b Fb(51)150 2876 y Fe(rl_prep_terminal)15
+(:)g(:)h(:)f(:)g(:)28 b Fb(51)150 2877 y Fe(rl_prep_terminal)15
b Fa(:)h(:)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(:)29 b
-Fb(40)150 2963 y Fe(rl_push_macro_input)7 b Fa(:)17 b(:)d(:)f(:)g(:)g
+Fb(40)150 2964 y Fe(rl_push_macro_input)7 b Fa(:)17 b(:)d(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)21 b Fb(39)150 3050 y Fe(rl_read_init_file)12
+g(:)h(:)f(:)21 b Fb(39)150 3052 y Fe(rl_read_init_file)12
b Fa(:)17 b(:)c(:)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(:)26 b Fb(35)150
-3137 y Fe(rl_read_key)10 b Fa(:)16 b(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+3139 y Fe(rl_read_key)10 b Fa(:)16 b(:)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(:)g(:)g(:)g(:)25 b Fb(39)150 3225 y
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)25 b Fb(39)150 3226 y
Fe(rl_redisplay)8 b Fa(:)16 b(:)d(:)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(:)22 b Fb(37)150 3312 y Fe(rl_replace_line)17
+g(:)g(:)h(:)f(:)g(:)22 b Fb(37)150 3313 y Fe(rl_replace_line)17
b Fa(:)g(:)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(:)32
-b Fb(41)150 3399 y Fe(rl_reset_after_signal)24 b Fa(:)13
+b Fb(41)150 3400 y Fe(rl_reset_after_signal)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(:)33 b Fb(49)150 3486 y Fe(rl_reset_line_state)7
+(:)g(:)g(:)h(:)f(:)33 b Fb(49)150 3488 y Fe(rl_reset_line_state)7
b Fa(:)17 b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)21 b Fb(38)150
-3573 y Fe(rl_reset_screen_size)26 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g
+3575 y Fe(rl_reset_screen_size)26 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(:)36
-b Fb(50)150 3661 y Fe(rl_reset_terminal)12 b Fa(:)17
+b Fb(50)150 3662 y Fe(rl_reset_terminal)12 b Fa(:)17
b(:)c(:)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(:)26 b Fb(40)150
-3748 y Fe(rl_resize_terminal)10 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f
+3749 y Fe(rl_resize_terminal)10 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)24 b Fb(49)150 3835 y Fe(rl_restore_prompt)12 b Fa(:)17
+g(:)24 b Fb(49)150 3837 y Fe(rl_restore_prompt)12 b Fa(:)17
b(:)c(:)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(:)26 b Fb(38)150
-3922 y Fe(rl_restore_state)15 b Fa(:)h(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+3924 y Fe(rl_restore_state)15 b Fa(:)h(:)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(:)29 b Fb(41)150 4009 y Fe(rl_save_prompt)23 b
+g(:)g(:)29 b Fb(41)150 4011 y Fe(rl_save_prompt)23 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(:)h(:)f(:)g(:)g(:)34
-b Fb(38)150 4097 y Fe(rl_save_state)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
+b Fb(38)150 4098 y Fe(rl_save_state)25 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(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(40)150 4184 y
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(40)150 4186 y
Fe(rl_set_key)13 b Fa(:)i(:)e(:)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(:)27 b Fb(35)150 4271 y Fe
+g(:)g(:)g(:)h(:)f(:)g(:)27 b Fb(35)150 4273 y Fe
(rl_set_keyboard_input_timeout)17 b Fa(:)h(:)c(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(40)150 4358 y Fe(rl_set_keymap)25
+(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(40)150 4360 y Fe(rl_set_keymap)25
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(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37
-b Fb(33)150 4445 y Fe(rl_set_paren_blink_timeout)7 b
-Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)21 b Fb(42)150 4533 y Fe(rl_set_prompt)k 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(:)37
-b Fb(39)150 4620 y Fe(rl_set_screen_size)10 b Fa(:)17
+b Fb(33)150 4447 y Fe(rl_set_keymap_name)10 b Fa(:)17
b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(49)150 4707
-y Fe(rl_set_signals)f 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(:)h(:)f(:)
-g(:)g(:)34 b Fb(50)150 4794 y Fe(rl_show_char)8 b Fa(:)16
-b(:)d(:)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(:)22
-b Fb(38)150 4881 y Fe(rl_stuff_char)j 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(:)37 b Fb(39)2025 260 y Fe
-(rl_tty_set_default_bindings)27 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(40)2025 348 y
-Fe(rl_tty_set_echoing)10 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(:)24
-b Fb(40)2025 436 y Fe(rl_tty_unset_default_bindings)16
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(33)150 4535
+y Fe(rl_set_paren_blink_timeout)7 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(42)150
+4622 y Fe(rl_set_prompt)k 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(:)37 b Fb(39)150 4709 y Fe(rl_set_screen_size)10
+b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(49)150
+4796 y Fe(rl_set_signals)f 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(:)h
+(:)f(:)g(:)g(:)34 b Fb(50)150 4884 y Fe(rl_show_char)8
+b Fa(:)16 b(:)d(:)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(:)
+22 b Fb(38)2025 260 y Fe(rl_stuff_char)j 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(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(39)2025 347 y
+Fe(rl_tty_set_default_bindings)27 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(40)2025 435
+y Fe(rl_tty_set_echoing)10 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(:)
+24 b Fb(40)2025 523 y Fe(rl_tty_unset_default_bindings)16
b Fa(:)j(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)30
-b Fb(40)2025 524 y Fe(rl_unbind_command_in_map)11 b Fa(:)19
+b Fb(40)2025 610 y Fe(rl_unbind_command_in_map)11 b Fa(:)19
b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)26 b Fb(34)2025 613 y Fe(rl_unbind_function_in_map)9
+g(:)g(:)26 b Fb(35)2025 698 y Fe(rl_unbind_function_in_map)9
b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)23 b Fb(34)2025 701 y Fe(rl_unbind_key)i Fa(:)13
+(:)g(:)h(:)23 b Fb(34)2025 786 y Fe(rl_unbind_key)i 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(:)g(:)h(:)f(:)g(:)g(:)g(:)37
-b Fb(34)2025 789 y Fe(rl_unbind_key_in_map)26 b Fa(:)13
+b Fb(34)2025 873 y Fe(rl_unbind_key_in_map)26 b Fa(:)13
b(:)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(34)2025 877 y Fe
+(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(34)2025 961 y Fe
(rl_username_completion_functio)q(n)11 b Fa(:)19 b(:)13
b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)25 b Fb(52)2025
-965 y Fe(rl_variable_bind)15 b Fa(:)h(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+1048 y Fe(rl_variable_bind)15 b Fa(:)h(:)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(:)29 b Fb(42)2025 1054 y Fe(rl_variable_dumper)10
+h(:)f(:)29 b Fb(42)2025 1136 y Fe(rl_variable_dumper)10
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(:)24 b Fb(42)2025
-1141 y Fe(rl_variable_value)12 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g
+1223 y Fe(rl_variable_value)12 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(:)27 b Fb(42)2021 1397 y Fr(S)2025 1516 y Fe(self-insert)h(\(a,)e
+g(:)g(:)27 b Fb(42)2021 1467 y Fr(S)2025 1585 y Fe(self-insert)h(\(a,)e
(b,)g(A,)g(1,)g(!,)g(...)q(\))15 b Fa(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)29 b Fb(19)2025 1605 y Fe(set-mark)e(\(C-@\))10
+(:)g(:)g(:)h(:)f(:)29 b Fb(19)2025 1672 y Fe(set-mark)e(\(C-@\))10
b Fa(:)k(:)f(:)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(:)24
-b Fb(22)2025 1693 y(sho)n(w-all-if-am)n(biguous)e Fa(:)13
+b Fb(22)2025 1760 y(sho)n(w-all-if-am)n(biguous)e Fa(:)13
b(:)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(9)2025 1781
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 b Fb(9)2025 1847
y(sho)n(w-all-if-unmo)r(di\014ed)11 b Fa(:)j(:)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(:)27 b Fb(9)2025 1869 y(sho)n(w-mo)r(de-in-prompt)15
+(:)g(:)27 b Fb(9)2025 1935 y(sho)n(w-mo)r(de-in-prompt)15
b Fa(:)d(:)h(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)30 b Fb(9)2025
-1957 y(skip-completed-text)17 b Fa(:)11 b(:)j(:)f(:)g(:)g(:)g(:)g(:)g
+2023 y(skip-completed-text)17 b Fa(:)11 b(:)j(:)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(:)32 b Fb(9)2025 2046 y Fe(skip-csi-sequence)d(\(\))11
+g(:)g(:)g(:)32 b Fb(9)2025 2110 y Fe(skip-csi-sequence)d(\(\))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(:)26 b Fb(23)2025 2133
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)26 b Fb(23)2025 2197
y Fe(start-kbd-macro)j(\(C-x)d(\(\))10 b Fa(:)k(:)f(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)25
-b Fb(21)2021 2388 y Fr(T)2025 2507 y Fe(tab-insert)j(\(M-TAB\))16
+b Fb(21)2021 2441 y Fr(T)2025 2558 y Fe(tab-insert)j(\(M-TAB\))16
b Fa(:)f(:)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(:)31 b Fb(19)2025
-2596 y Fe(tilde-expand)d(\(M-~\))16 b Fa(:)f(:)e(:)g(:)g(:)g(:)g(:)h(:)
+2645 y Fe(tilde-expand)d(\(M-~\))16 b Fa(:)f(:)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(:)31 b Fb(22)2025 2684 y Fe(transpose-chars)e(\(C-t\))9
+(:)g(:)31 b Fb(22)2025 2733 y Fe(transpose-chars)e(\(C-t\))9
b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)23 b Fb(19)2025 2771 y
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)23 b Fb(19)2025 2820 y
Fe(transpose-words)29 b(\(M-t\))9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)23
-b Fb(19)2021 3037 y Fr(U)2025 3156 y Fe(undo)j(\(C-_)h(or)f(C-x)g
+b Fb(19)2021 3074 y Fr(U)2025 3191 y Fe(undo)j(\(C-_)h(or)f(C-x)g
(C-u\))12 b Fa(:)i(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)27 b Fb(22)2025
-3244 y Fe(universal-argument)i(\(\))9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
+3279 y Fe(universal-argument)i(\(\))9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-23 b Fb(21)2025 3332 y Fe(unix-filename-rubout)30 b(\(\))21
+23 b Fb(21)2025 3366 y Fe(unix-filename-rubout)30 b(\(\))21
b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)35 b Fb(20)2025 3421 y Fe(unix-line-discard)29
+(:)g(:)g(:)h(:)f(:)35 b Fb(20)2025 3454 y Fe(unix-line-discard)29
b(\(C-u\))22 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(20)2025 3509
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(20)2025 3541
y Fe(unix-word-rubout)29 b(\(C-w\))6 b Fa(:)14 b(:)g(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)21
-b Fb(20)2025 3596 y Fe(upcase-word)28 b(\(M-u\))20 b
+b Fb(20)2025 3629 y Fe(upcase-word)28 b(\(M-u\))20 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(:)34 b Fb(19)2021
-3862 y Fr(V)2025 3981 y Fb(vi-cmd-mo)r(de-string)18 b
+3882 y Fr(V)2025 3999 y Fb(vi-cmd-mo)r(de-string)18 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(:)g(:)h(:)33 b Fb(10)2025
-4069 y Fe(vi-editing-mode)c(\(M-C-j\))22 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)
+4087 y Fe(vi-editing-mode)c(\(M-C-j\))22 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35
-b Fb(23)2025 4157 y(vi-ins-mo)r(de-string)8 b Fa(:)13
+b Fb(23)2025 4175 y(vi-ins-mo)r(de-string)8 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(:)23 b Fb(10)2025
-4244 y(visible-stats)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+4262 y(visible-stats)11 b Fa(:)j(:)f(:)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(:)26 b Fb(10)2021 4499 y
-Fr(Y)2025 4618 y Fe(yank)g(\(C-y\))21 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(10)2021 4504 y
+Fr(Y)2025 4621 y Fe(yank)g(\(C-y\))21 b Fa(:)13 b(:)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(:)g(:)g(:)h(:)f(:)34 b
-Fb(20)2025 4706 y Fe(yank-last-arg)28 b(\(M-.)f(or)f(M-_\))10
+Fb(20)2025 4709 y Fe(yank-last-arg)28 b(\(M-.)f(or)f(M-_\))10
b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)24 b Fb(18)2025 4794 y Fe(yank-nth-arg)k(\(M-C-y\))11
+f(:)g(:)24 b Fb(18)2025 4796 y Fe(yank-nth-arg)k(\(M-C-y\))11
b Fa(:)k(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)26 b Fb(18)2025 4881
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)26 b Fb(18)2025 4884
y Fe(yank-pop)h(\(M-y\))10 b Fa(:)k(:)f(:)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(:)24 b Fb(20)p eop end
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
-%%CreationDate: Mon May 21 10:32:52 2018
+%%CreationDate: Wed Apr 17 09:02:35 2019
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
(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 7.0)72 768 Q(2017 December 28)121.245 E(1)190.955 E
+-.18 E(GNU Readline 8.0)72 768 Q(2017 December 28)121.245 E(1)190.955 E
0 Cg EP
%%Page: 2 2
%%BeginPageSetup
(Unquoted te)108 720 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 7.0)72 768 Q(2017 December 28)121.245 E(2)190.955 E 0 Cg
+(GNU Readline 8.0)72 768 Q(2017 December 28)121.245 E(2)190.955 E 0 Cg
EP
%%Page: 3 3
%%BeginPageSetup
.237(re simply listed)-2.737 F(on the terminal.)144 720 Q 2.5(An)5 G
-2.25 -.15(eg a)-2.5 H(ti).15 E .3 -.15(ve v)-.25 H
(alue causes readline to ne)-.1 E -.15(ve)-.25 G 2.5(ra).15 G(sk.)-2.5 E
-(GNU Readline 7.0)72 768 Q(2017 December 28)121.245 E(3)190.955 E 0 Cg
+(GNU Readline 8.0)72 768 Q(2017 December 28)121.245 E(3)190.955 E 0 Cg
EP
%%Page: 4 4
%%BeginPageSetup
earch without subsequently e)144 708 R -.15(xe)-.15 G(cut-).15 E .935
(ing the character as a command.)144 720 R .935(If this v)5.935 F .935
(ariable has not been gi)-.25 F -.15(ve)-.25 G 3.434(nav).15 G .934
-(alue, the characters)-3.684 F F2(ESC)3.434 E F0(GNU Readline 7.0)72 768
+(alue, the characters)-3.684 F F2(ESC)3.434 E F0(GNU Readline 8.0)72 768
Q(2017 December 28)121.245 E(4)190.955 E 0 Cg EP
%%Page: 5 5
%%BeginPageSetup
(ginning of the prompt indicating the editing mode: emacs, vi)-.15 F
(command, or vi insertion.)144 720 Q(The mode strings are user)5 E
(-settable \(e.g.,)-.2 E F1(emacs\255mode\255string)2.5 E F0(\).)A
-(GNU Readline 7.0)72 768 Q(2017 December 28)121.245 E(5)190.955 E 0 Cg
+(GNU Readline 8.0)72 768 Q(2017 December 28)121.245 E(5)190.955 E 0 Cg
EP
%%Page: 6 6
%%BeginPageSetup
(ey s)-.1 H .397(equence that quotes the).15 F(current or pre)180 688.8
Q(vious w)-.25 E(ord in)-.1 E F1(bash)2.5 E F0(:)A F1($if)180 712.8 Q F0
(Bash)2.5 E 2.5(#Q)180 724.8 S(uote the current or pre)-2.5 E(vious w)
--.25 E(ord)-.1 E(GNU Readline 7.0)72 768 Q(2017 December 28)121.245 E(6)
+-.25 E(ord)-.1 E(GNU Readline 8.0)72 768 Q(2017 December 28)121.245 E(6)
190.955 E 0 Cg EP
%%Page: 7 7
%%BeginPageSetup
664.8 S(rward\255char \(C\255f\)).25 E F0(Mo)144 676.8 Q .3 -.15(ve f)
-.15 H(orw).15 E(ard a character)-.1 E(.)-.55 E F1
(backward\255char \(C\255b\))108 688.8 Q F0(Mo)144 700.8 Q .3 -.15(ve b)
--.15 H(ack a character).15 E(.)-.55 E(GNU Readline 7.0)72 768 Q
+-.15 H(ack a character).15 E(.)-.55 E(GNU Readline 8.0)72 768 Q
(2017 December 28)121.245 E(7)190.955 E 0 Cg EP
%%Page: 8 8
%%BeginPageSetup
(and the point.)144 700.8 R .036(The search string must match at the be)
5.036 F .035(ginning of a history line.)-.15 F .035
(This is a non-incre-)5.035 F(mental search.)144 712.8 Q
-(GNU Readline 7.0)72 768 Q(2017 December 28)121.245 E(8)190.955 E 0 Cg
+(GNU Readline 8.0)72 768 Q(2017 December 28)121.245 E(8)190.955 E 0 Cg
EP
%%Page: 9 9
%%BeginPageSetup
700.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 712.8 S(rd, b).1
-E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E(GNU Readline 7.0)72
+E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E(GNU Readline 8.0)72
768 Q(2017 December 28)121.245 E(9)190.955 E 0 Cg EP
%%Page: 10 10
%%BeginPageSetup
(gument already accumulating, or start a ne)-.18 F 2.867(wa)-.25 G -.18
(rg)-2.867 G 2.867(ument. M\255\255).18 F .366(starts a ne)2.867 F -.05
(ga)-.15 G(-).05 E(ti)144 729.6 Q .3 -.15(ve a)-.25 H -.18(rg).15 G
-(ument.).18 E(GNU Readline 7.0)72 768 Q(2017 December 28)121.245 E(10)
+(ument.).18 E(GNU Readline 8.0)72 768 Q(2017 December 28)121.245 E(10)
185.955 E 0 Cg EP
%%Page: 11 11
%%BeginPageSetup
686.4 Q F1(abort \(C\255g\))108 698.4 Q F0 3.249
(Abort the current editing command and ring the terminal')144 710.4 R
5.748(sb)-.55 G 3.248(ell \(subject to the setting of)-5.748 F F1
-(bell\255style)144 722.4 Q F0(\).)A(GNU Readline 7.0)72 768 Q
+(bell\255style)144 722.4 Q F0(\).)A(GNU Readline 8.0)72 768 Q
(2017 December 28)121.245 E(11)185.955 E 0 Cg EP
%%Page: 12 12
%%BeginPageSetup
(Characters with the eighth bit set are written as)5.064 F .527
(M\255<character>, and are referred to as)108 724.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(GNU Readline 7.0)72
+(printable ASCII characters not mentioned)3.027 F(GNU Readline 8.0)72
768 Q(2017 December 28)121.245 E(12)185.955 E 0 Cg EP
%%Page: 13 13
%%BeginPageSetup
151.2 669.6 R(-search-backw)-.2 E(ard)-.1 E 2.5("M-space" set-mark)151.2
681.6 R 2.5("M-#" insert-comment)151.2 693.6 R 2.5("M-&" tilde-e)151.2
705.6 R(xpand)-.15 E 2.5("M-*" insert-completions)151.2 717.6 R 2.5
-("M--" digit-ar)151.2 729.6 R(gument)-.18 E(GNU Readline 7.0)72 768 Q
+("M--" digit-ar)151.2 729.6 R(gument)-.18 E(GNU Readline 8.0)72 768 Q
(2017 December 28)121.245 E(13)185.955 E 0 Cg EP
%%Page: 14 14
%%BeginPageSetup
("C-R" re)151.2 681.6 R -.15(ve)-.25 G(rse-search-history).15 E 2.5
("C-S" forw)151.2 693.6 R(ard-search-history)-.1 E 2.5
("C-T" transpose-chars)151.2 705.6 R 2.5("C-U" unix-line-discard)151.2
-717.6 R 2.5("C-V" quoted-insert)151.2 729.6 R(GNU Readline 7.0)72 768 Q
+717.6 R 2.5("C-V" quoted-insert)151.2 729.6 R(GNU Readline 8.0)72 768 Q
(2017 December 28)121.245 E(14)185.955 E 0 Cg EP
%%Page: 15 15
%%BeginPageSetup
664.8 R(-search)-.2 E 2.5("G" vi-fetch-history)151.2 676.8 R 2.5
("I" vi-insert-be)151.2 688.8 R(g)-.15 E 2.5("N" vi-search-ag)151.2
700.8 R(ain)-.05 E 2.5("P" vi-put)151.2 712.8 R 2.5("R" vi-replace)151.2
-724.8 R(GNU Readline 7.0)72 768 Q(2017 December 28)121.245 E(15)185.955
+724.8 R(GNU Readline 8.0)72 768 Q(2017 December 28)121.245 E(15)185.955
E 0 Cg EP
%%Page: 16 16
%%BeginPageSetup
(gnu.bash.b)2.5 E(ug)-.2 E F0(.)A(Comments and b)108 729.6 Q
(ug reports concerning this manual page should be directed to)-.2 E F2
-.15(ch)2.5 G(et.r).15 E(ame)-.15 E(y@case)-.3 E(.edu)-.15 E F0(.).25 E
-(GNU Readline 7.0)72 768 Q(2017 December 28)121.245 E(16)185.955 E 0 Cg
+(GNU Readline 8.0)72 768 Q(2017 December 28)121.245 E(16)185.955 E 0 Cg
EP
%%Page: 17 17
%%BeginPageSetup
/F0 10/Times-Roman@0 SF 117.355(READLINE\(3\) Library)72 48 R
(Functions Manual)2.5 E(READLINE\(3\))119.855 E/F1 10.95/Times-Bold@0 SF
-.11(BU)72 84 S(GS).11 E F0(It')108 96 Q 2.5(st)-.55 G
-(oo big and too slo)-2.5 E -.65(w.)-.25 G(GNU Readline 7.0)72 768 Q
+(oo big and too slo)-2.5 E -.65(w.)-.25 G(GNU Readline 8.0)72 768 Q
(2017 December 28)121.245 E(17)185.955 E 0 Cg EP
%%Trailer
end
in the consistency of user interface across discrete programs that need
to provide a command line interface.
-Copyright (C) 1988--2016 Free Software Foundation, Inc.
+Copyright (C) 1988--2019 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
be supplied in a @code{set keymap} inputrc line (@pxref{Readline Init File}).
@end deftypefun
-@deftypefun void rl_set_keymap (const char *name, Keymap keymap)
+@deftypefun int rl_set_keymap_name (const char *name, Keymap keymap)
Set the name of @var{keymap}. This name will then be "registered" and
available for use in a @code{set keymap} inputrc directive
@pxref{Readline Init File}).
-The @var{name} may not be one of Readline's builtin names;
+The @var{name} may not be one of Readline's builtin keymap names;
you may not add a different name for one of Readline's builtin keymaps.
-Readline will make a copy of @var{name}.
You may replace the name associated with a given keymap by calling this
-function two or more times with the same @var{keymap} argument.
-You can associate a registered name with a new keymap by calling this
-function two or more times with the same @var{name} argument.
+function more than once with the same @var{keymap} argument.
+You may associate a registered @var{name} with a new keymap by calling this
+function more than once with the same @var{name} argument.
There is no way to remove a named keymap once the name has been
registered.
+Readline will make a copy of @var{name}.
+The return value is greater than zero unless @var{name} is one of
+Readline's builtin keymap names or @var{keymap} is one of Readline's
+builtin keymaps.
@end deftypefun
@node Binding Keys
If an application does not wish Readline to catch @code{SIGWINCH}, it may
call @code{rl_resize_terminal()} or @code{rl_set_screen_size()} to force
-Readline to update its idea of the terminal size when a @code{SIGWINCH}
-is received.
+Readline to update its idea of the terminal size when it receives
+a @code{SIGWINCH}.
@deftypefun void rl_echo_signal_char (int sig)
If an application wishes to install its own signal handlers, but still
Set Readline's idea of the terminal size to @var{rows} rows and
@var{cols} columns. If either @var{rows} or @var{columns} is less than
or equal to 0, Readline's idea of that terminal dimension is unchanged.
+This is intended to tell Readline the physical dimensions of the terminal,
+and is used internally to calculate the maximum number of characters that
+may appear on the screen.
@end deftypefun
If an application does not want to install a @code{SIGWINCH} handler, but
-is still interested in the screen dimensions, Readline's idea of the screen
-size may be queried.
+is still interested in the screen dimensions, it may query Readline's idea
+of the screen size.
@deftypefun void rl_get_screen_size (int *rows, int *cols)
Return Readline's idea of the terminal's size in the
This can be changed in application-specific completion functions to
provide the ``most sensible word separator character'' according to
an application-specific command line syntax specification.
+It is set to the default before any application-specific completion function
+is called, and may only be changed within such a function.
@end deftypevar
@deftypevar int rl_completion_suppress_append
that variable is unset, the default is @file{~/.inputrc}. If that
file does not exist or cannot be read, the ultimate default is
@file{/etc/inputrc}.
+@ifset BashFeatures
+The @w{@code{bind}} builtin command can also be used to set Readline
+keybindings and variables.
+@xref{Bash Builtins}.
+@end ifset
When a program which uses the Readline library starts up, the
init file is read, and the key bindings are set.
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.
+If there is no default compspec, Bash attempts alias expansion
+on the command word as a final resort, and attempts to find a compspec
+for the command word from any successful expansion
Once a compspec has been found, it is used to generate the list of
matching words.
apply to ``empty'' command completion; that is, completion attempted on a
blank line.
The @option{-I} option indicates that other supplied options and actions should
-apply to completion on the inital non-assignment word on the line, or after a
+apply to completion on the initial non-assignment word on the line, or after a
command delimiter such as @samp{;} or @samp{|}, which is usually command
name completion.
If multiple options are supplied, the @option{-D} option takes precedence
apply to ``empty'' command completion; that is, completion attempted on a
blank line.
The @option{-I} option indicates that other supplied options should
-apply to completion on the inital non-assignment word on the line, or after a
+apply to completion on the initial non-assignment word on the line, or after a
command delimiter such as @samp{;} or @samp{|}, which is usually command
name completion.
The @option{-o bashdefault} option brings in the rest of the "Bash default"
completions -- possible completion that Bash adds to the default Readline
set. These include things like command name completion, variable completion
-for words beginning with @samp{@{}, completions containing pathname
+for words beginning with @samp{$} or @samp{$@{}, completions containing pathname
expansion patterns (@pxref{Filename Expansion}), and so on.
Once installed using @code{complete}, @code{_comp_cd} will be called every
the common GNU, Unix, and Linux commands -- are available as part of the
bash_completion project. This is installed by default on many GNU/Linux
distributions. Originally written by Ian Macdonald, the project now lives
-at @url{http://bash-completion.alioth.debian.org/}. There are ports for
+at @url{https://github.com/scop/bash-completion/}. There are ports for
other systems such as Solaris and Mac OS X.
An older version of the bash_completion package is distributed with bash
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on September, 19 2018 by texi2html 1.64 -->
+<!-- Created on April, 17 2019 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
<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</I> on <I>September, 19 2018</I>
+This document was generated by <I>chet</I> on <I>April, 17 2019</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
<BR>
<FONT SIZE="-1">
This document was generated
-by <I>chet</I> on <I>September, 19 2018</I>
+by <I>chet</I> on <I>April, 17 2019</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
rluserman.texi.
This manual describes the end user interface of the GNU Readline Library
-(version 8.0, 18 September 2018), a library which aids in the
-consistency of user interface across discrete programs which provide a
-command line interface.
+(version 8.0, 6 March 2019), a library which aids in the consistency of
+user interface across discrete programs which provide a command line
+interface.
Copyright (C) 1988-2016 Free Software Foundation, Inc.
\1f
Tag Table:
-Node: Top\7f909
-Node: Command Line Editing\7f1431
-Node: Introduction and Notation\7f2085
-Node: Readline Interaction\7f3710
-Node: Readline Bare Essentials\7f4903
-Node: Readline Movement Commands\7f6688
-Node: Readline Killing Commands\7f7650
-Node: Readline Arguments\7f9570
-Node: Searching\7f10616
-Node: Readline Init File\7f12770
-Node: Readline Init File Syntax\7f13925
-Node: Conditional Init Constructs\7f34085
-Node: Sample Init File\7f38283
-Node: Bindable Readline Commands\7f41402
-Node: Commands For Moving\7f42458
-Node: Commands For History\7f44026
-Node: Commands For Text\7f48292
-Node: Commands For Killing\7f51735
-Node: Numeric Arguments\7f53903
-Node: Commands For Completion\7f55044
-Node: Keyboard Macros\7f57014
-Node: Miscellaneous Commands\7f57703
-Node: Readline vi Mode\7f61626
-Node: GNU Free Documentation License\7f62540
+Node: Top\7f904
+Node: Command Line Editing\7f1426
+Node: Introduction and Notation\7f2080
+Node: Readline Interaction\7f3705
+Node: Readline Bare Essentials\7f4898
+Node: Readline Movement Commands\7f6683
+Node: Readline Killing Commands\7f7645
+Node: Readline Arguments\7f9565
+Node: Searching\7f10611
+Node: Readline Init File\7f12765
+Node: Readline Init File Syntax\7f13920
+Node: Conditional Init Constructs\7f34080
+Node: Sample Init File\7f38278
+Node: Bindable Readline Commands\7f41397
+Node: Commands For Moving\7f42453
+Node: Commands For History\7f44021
+Node: Commands For Text\7f48287
+Node: Commands For Killing\7f51730
+Node: Numeric Arguments\7f53898
+Node: Commands For Completion\7f55039
+Node: Keyboard Macros\7f57009
+Node: Miscellaneous Commands\7f57698
+Node: Readline vi Mode\7f61621
+Node: GNU Free Documentation License\7f62535
\1f
End Tag Table
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.998 Copyright 2018 Radical Eye Software
%%Title: rluserman.dvi
-%%CreationDate: Wed Sep 19 15:10:43 2018
+%%CreationDate: Wed Apr 17 13:02:34 2019
%%Pages: 34
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o rluserman.ps rluserman.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2018.09.19:1110
+%DVIPSSource: TeX output 2019.04.17:0902
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
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(8.0,)i(for)e Fn(Readline)e(Library)h Fo(V)-8 b(ersion)31
-b(8.0.)3118 1623 y(Septem)m(b)s(er)f(2018)150 4927 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 3600 17 v eop end
+b(8.0.)3285 1623 y(Marc)m(h)g(2019)150 4927 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
+3600 17 v eop end
%%Page: 2 2
-TeXDict begin 2 1 bop 150 4413 a Fo(This)29 b(man)m(ual)g(describ)s(es)
-g(the)h(end)e(user)h(in)m(terface)i(of)f(the)f(GNU)h(Readline)g
-(Library)f(\(v)m(ersion)h(8.0,)h(18)150 4523 y(Septem)m(b)s(er)36
-b(2018\),)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 4633
-y(programs)30 b(whic)m(h)g(pro)m(vide)h(a)f(command)g(line)h(in)m
-(terface.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577
-4767 y Fl(\015)f Fo(1988{2016)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)
--8 b(oundation,)31 b(Inc.)390 4902 y(P)m(ermission)21
-b(is)f(gran)m(ted)h(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s
-(dify)e(this)i(do)s(cumen)m(t)f(under)f(the)390 5011
-y(terms)25 b(of)h(the)f(GNU)h(F)-8 b(ree)27 b(Do)s(cumen)m(tation)g
-(License,)g(V)-8 b(ersion)26 b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)
-390 5121 y(published)43 b(b)m(y)h(the)h(F)-8 b(ree)46
-b(Soft)m(w)m(are)g(F)-8 b(oundation;)53 b(with)44 b(no)g(In)m(v)-5
-b(arian)m(t)46 b(Sections,)j(no)390 5230 y(F)-8 b(ron)m(t-Co)m(v)m(er)
-31 b(T)-8 b(exts,)30 b(and)f(no)f(Bac)m(k-Co)m(v)m(er)k(T)-8
+TeXDict begin 2 1 bop 150 4413 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(8.0,)150 4523 y(6)j(Marc)m(h)g(2019\),)k(a)c
+(library)f(whic)m(h)g(aids)g(in)h(the)f(consistency)h(of)g(user)e(in)m
+(terface)j(across)f(discrete)150 4633 y(programs)30 b(whic)m(h)g(pro)m
+(vide)h(a)f(command)g(line)h(in)m(terface.)150 4767 y(Cop)m(yrigh)m(t)
+602 4764 y(c)577 4767 y Fl(\015)f Fo(1988{2016)35 b(F)-8
+b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390
+4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8
+b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f
+(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
+b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26
+b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43
+b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8
+b(oundation;)53 b(with)44 b(no)g(In)m(v)-5 b(arian)m(t)46
+b(Sections,)j(no)390 5230 y(F)-8 b(ron)m(t-Co)m(v)m(er)31
+b(T)-8 b(exts,)30 b(and)f(no)f(Bac)m(k-Co)m(v)m(er)k(T)-8
b(exts.)41 b(A)29 b(cop)m(y)h(of)f(the)g(license)h(is)f(included)390
5340 y(in)h(the)h(section)g(en)m(titled)h(\\GNU)f(F)-8
b(ree)32 b(Do)s(cumen)m(tation)g(License".)p eop end
@ignore
-Copyright (C) 1988-2018 Free Software Foundation, Inc.
+Copyright (C) 1988-2019 Free Software Foundation, Inc.
@end ignore
@set EDITION 8.0
@set VERSION 8.0
-@set UPDATED 18 September 2018
-@set UPDATED-MONTH September 2018
+@set UPDATED 6 March 2019
+@set UPDATED-MONTH March 2019
-@set LASTCHANGE Tue Sep 18 13:08:12 EDT 2018
+@set LASTCHANGE Wed Mar 6 09:51:02 EST 2019
[AC_CHECK_LIB(tinfo, tgetent, bash_cv_termcap_lib=libtinfo,
[AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
[AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
- bash_cv_termcap_lib=gnutermcap)])])])])])
+ [AC_CHECK_LIB(ncursesw, tgetent, bash_cv_termcap_lib=libncursesw,
+ bash_cv_termcap_lib=gnutermcap)])])])])])])
if test "X$_bash_needmsg" = "Xyes"; then
AC_MSG_CHECKING(which library has the termcap functions)
fi
/* histfile.c - functions to manipulate the history file. */
-/* Copyright (C) 1989-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2019 Free Software Foundation, Inc.
This file contains the GNU History Library (History), a set of
routines for managing the text of previously typed lines.
#endif /* HISTORY_USE_MMAP */
+#if defined(_WIN32)
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+#endif
+
/* If we're compiling for __EMX__ (OS/2) or __CYGWIN__ (cygwin32 environment
on win 95/98/nt), we want to open files with O_BINARY mode so that there
is no \n -> \r\n conversion performed. On other systems, we don't want to
static char *history_tempfile PARAMS((const char *));
static int histfile_backup PARAMS((const char *, const char *));
static int histfile_restore PARAMS((const char *, const char *));
+static int history_rename PARAMS((const char *, const char *));
/* Return the string that should be used in the place of this
filename. This only matters when you don't specify the
if (file_size == 0)
{
free (input);
+ close (file);
return 0; /* don't waste time if we don't have to */
}
return (0);
}
+/* We need a special version for WIN32 because Windows rename() refuses to
+ overwrite an existing file. */
+static int
+history_rename (const char *old, const char *new)
+{
+#if defined (_WIN32)
+ return (MoveFileEx (old, new, MOVEFILE_REPLACE_EXISTING) == 0 ? -1 : 0);
+#else
+ return (rename (old, new));
+#endif
+}
+
/* Save FILENAME to BACK, handling case where FILENAME is a symlink
(e.g., ~/.bash_history -> .histfiles/.bash_history.$HOSTNAME) */
static int
if ((n = readlink (filename, linkbuf, sizeof (linkbuf) - 1)) > 0)
{
linkbuf[n] = '\0';
- return (rename (linkbuf, back));
+ return (history_rename (linkbuf, back));
}
#endif
- return (rename (filename, back));
+ return (history_rename (filename, back));
}
/* Restore ORIG from BACKUP handling case where ORIG is a symlink
if ((n = readlink (orig, linkbuf, sizeof (linkbuf) - 1)) > 0)
{
linkbuf[n] = '\0';
- return (rename (backup, linkbuf));
+ return (history_rename (backup, linkbuf));
}
#endif
- return (rename (backup, orig));
+ return (history_rename (backup, orig));
}
/* Truncate the history file FNAME, leaving only LINES trailing lines.
_hs_history_patsearch (const char *string, int direction, int flags)
{
char *pat;
- size_t len;
+ size_t len, start;
int ret, unescaped_backslash;
#if defined (HAVE_FNMATCH)
}
if (unescaped_backslash)
return -1;
- pat = (char *)xmalloc (len + 2);
+ pat = (char *)xmalloc (len + 3);
+ /* If the search string is not anchored, we'll be calling fnmatch (assuming
+ we have it). Prefix a `*' to the front of the search string so we search
+ anywhere in the line. */
+ if ((flags & ANCHORED_SEARCH) == 0 && string[0] != '*')
+ {
+ pat[0] = '*';
+ start = 1;
+ len++;
+ }
+ else
+ {
+ start = 0;
+ }
+
/* Attempt to reduce the number of searches by tacking a `*' onto the end
of a pattern that doesn't have one. Assume a pattern that ends in a
backslash contains an even number of trailing backslashes; we check
above */
- strcpy (pat, string);
+ strcpy (pat + start, string);
if (pat[len - 1] != '*')
{
pat[len] = '*'; /* XXX */
/* Windows isatty returns true for every character device, including the null
device, so we need to perform additional checks. */
#if defined (_WIN32) && !defined (__CYGWIN__)
-#include <conio.h>
#include <io.h>
+#include <conio.h>
#define WIN32_LEAN_AND_MEAN 1
#include <windows.h>
int
win32_isatty (int fd)
{
- return (_isatty (fd) ? ((((long) (HANDLE) _get_osfhandle (fd)) & 3) == 3) : 0);
+ if (_isatty(fd))
+ {
+ HANDLE h;
+ DWORD ignored;
+
+ if ((h = (HANDLE) _get_osfhandle (fd)) == INVALID_HANDLE_VALUE)
+ {
+ errno = EBADF;
+ return 0;
+ }
+ if (GetConsoleMode (h, &ignored) != 0)
+ return 1;
+ }
+ errno = ENOTTY;
+ return 0;
}
#define isatty(x) win32_isatty(x)
else if (_rl_caught_signal == SIGINT)
#endif
RL_CHECK_SIGNALS ();
+#if defined (SIGTSTP)
+ else if (_rl_caught_signal == SIGTSTP)
+ RL_CHECK_SIGNALS ();
+#endif
/* non-keyboard-generated signals of interest */
#if defined (SIGWINCH)
else if (_rl_caught_signal == SIGWINCH)
_rl_isearch_dispatch (_rl_search_cxt *cxt, int c)
{
int n, wstart, wlen, limit, cval, incr;
+ char *paste;
+ size_t pastelen;
+ int j;
rl_command_func_t *f;
f = (rl_command_func_t *)NULL;
cxt->lastc = -5;
else if (c == CTRL ('Y') || f == rl_yank) /* XXX */
cxt->lastc = -6;
+ else if (f == rl_bracketed_paste_begin)
+ cxt->lastc = -7;
}
/* If we changed the keymap earlier while translating a key sequence into
cxt->search_string[cxt->search_string_index] = '\0';
break;
+ case -7: /* bracketed paste */
+ paste = _rl_bracketed_text (&pastelen);
+ if (paste == 0 || *paste == 0)
+ {
+ free (paste);
+ break;
+ }
+ if (cxt->search_string_index + pastelen + 1 >= cxt->search_string_size)
+ {
+ cxt->search_string_size += pastelen + 2;
+ cxt->search_string = (char *)xrealloc (cxt->search_string, cxt->search_string_size);
+ }
+ strcpy (cxt->search_string + cxt->search_string_index, paste);
+ cxt->search_string_index += pastelen;
+ free (paste);
+ break;
+
/* Add character to search string and continue search. */
default:
#if defined (HANDLE_MULTIBYTE)
`bracketed paste' sequence, read the rest of the pasted input until the
closing sequence and insert the pasted text as a single unit without
interpretation. */
-int
-rl_bracketed_paste_begin (int count, int key)
+char *
+_rl_bracketed_text (size_t *lenp)
{
- int retval, c;
+ int c;
size_t len, cap;
char *buf;
- retval = 0;
len = 0;
buf = xmalloc (cap = 64);
+ buf[0] = '\0';
RL_SETSTATE (RL_STATE_MOREINPUT);
while ((c = rl_read_key ()) >= 0)
if (len == cap)
buf = xrealloc (buf, cap + 1);
buf[len] = '\0';
- retval = rl_insert_text (buf) == len ? 0 : 1;
}
+ if (lenp)
+ *lenp = len;
+ return (buf);
+}
+
+int
+rl_bracketed_paste_begin (int count, int key)
+{
+ int retval, c;
+ size_t len, cap;
+ char *buf;
+
+ buf = _rl_bracketed_text (&len);
+ retval = rl_insert_text (buf) == len ? 0 : 1;
+
xfree (buf);
return (retval);
}
/* misc.c -- miscellaneous bindable readline functions. */
-/* Copyright (C) 1987-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2019 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
intended to be called while actively editing, and the current line is
not assumed to have been added to the history list. */
void
-_rl_revert_all_lines (void)
+_rl_revert_previous_lines (void)
{
int hpos;
HIST_ENTRY *entry;
xfree (lbuf);
}
+/* Revert all lines in the history by making sure we are at the end of the
+ history before calling _rl_revert_previous_lines() */
+void
+_rl_revert_all_lines (void)
+{
+ int pos;
+
+ pos = where_history ();
+ using_history ();
+ _rl_revert_previous_lines ();
+ history_set_pos (pos);
+}
+
/* Free the history list, including private readline data and take care
of pointer aliases to history data. Resets rl_undo_list if it points
to an UNDO_LIST * saved as some history entry's data member. This
if (temp == 0)
{
- rl_maybe_unsave_line ();
+ _rl_free_saved_history_line ();
rl_ding ();
}
else
/* readline.c -- a general facility for reading lines of input
with emacs style editing and completion. */
-/* Copyright (C) 1987-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2019 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
Version: @LIBVERSION@
Requires.private: @TERMCAP_PKG_CONFIG_LIB@
Libs: -L${libdir} -lreadline
-Cflags: -I${includedir}/readline
+Cflags: -I${includedir}
/* rlprivate.h -- functions and variables global to the readline library,
but not intended for use by applications. */
-/* Copyright (C) 1999-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2019 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
#define BRACK_PASTE_INIT "\033[?2004h"
#define BRACK_PASTE_FINI "\033[?2004l\r"
+extern char *_rl_bracketed_text PARAMS((size_t *));
+
/* macro.c */
extern void _rl_with_macro_input PARAMS((char *));
extern int _rl_peek_macro_key PARAMS((void));
extern int _rl_free_saved_history_line PARAMS((void));
extern void _rl_set_insert_mode PARAMS((int, int));
+extern void _rl_revert_previous_lines PARAMS((void));
extern void _rl_revert_all_lines PARAMS((void));
/* nls.c */
extern _rl_search_cxt *_rl_nscxt;
/* signals.c */
-extern int _rl_interrupt_immediately;
extern int volatile _rl_caught_signal;
extern _rl_sigcleanup_func_t *_rl_sigcleanup;
sflags |= ANCHORED_SEARCH;
s++;
}
- ret = _hs_history_patsearch (string, dir, sflags);
+ ret = _hs_history_patsearch (s, dir, sflags);
}
else if (*string == '^')
ret = history_search_prefix (string + 1, dir);
rl_clear_message ();
rl_point = cxt->save_point;
rl_mark = cxt->save_mark;
+ _rl_fix_point (1);
rl_restore_prompt ();
RL_UNSETSTATE (RL_STATE_NSEARCH);
#endif
/* Private variables. */
-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 as long as
static RETSIGTYPE
rl_signal_handler (int sig)
{
- if (_rl_interrupt_immediately)
- {
- _rl_interrupt_immediately = 0;
- _rl_handle_signal (sig);
- }
- else
- _rl_caught_signal = sig;
-
+ _rl_caught_signal = sig;
SIGHANDLER_RETURN;
}
# Attempt to guess a canonical system name.
# Copyright 1992-2018 Free Software Foundation, Inc.
-timestamp='2018-05-19'
+timestamp='2018-08-29'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
exit 1
fi
-trap 'exit 1' 1 2 15
-
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
# temporary files to be created and, as you can see below, it is a
# Portable tmp directory creation inspired by the Autoconf team.
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
- ,,) echo "int x;" > "$dummy.c" ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
+tmp=
+# shellcheck disable=SC2172
+trap 'test -z "$tmp" || rm -fr "$tmp"' 1 2 13 15
+trap 'exitcode=$?; test -z "$tmp" || rm -fr "$tmp"; exit $exitcode' 0
+
+set_cc_for_build() {
+ : "${TMPDIR=/tmp}"
+ # shellcheck disable=SC2039
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
+ dummy=$tmp/dummy
+ case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
+ ,,) echo "int x;" > "$dummy.c"
+ for driver in cc gcc c89 c99 ; do
+ if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$driver"
+ break
+ fi
+ done
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+ esac
+}
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+if test -f /.attbin/uname ; then
PATH=$PATH:/.attbin ; export PATH
fi
# We could probably try harder.
LIBC=gnu
- eval "$set_cc_for_build"
+ set_cc_for_build
cat <<-EOF > "$dummy.c"
#include <features.h>
#if defined(__UCLIBC__)
os=netbsdelf
;;
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval "$set_cc_for_build"
+ set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
then
echo i386-pc-auroraux"$UNAME_RELEASE"
exit ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- eval "$set_cc_for_build"
- SUN_ARCH=i386
- # If there is a compiler, see if it is configured for 64-bit objects.
- # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
- # This test works for both compilers.
- if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
- if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- SUN_ARCH=x86_64
- fi
- fi
- echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
+ UNAME_REL="`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
+ case `isainfo -b` in
+ 32)
+ echo i386-pc-solaris2"$UNAME_REL"
+ ;;
+ 64)
+ echo x86_64-pc-solaris2"$UNAME_REL"
+ ;;
+ esac
exit ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
echo clipper-intergraph-clix"$UNAME_RELEASE"
exit ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
- eval "$set_cc_for_build"
+ set_cc_for_build
sed 's/^ //' << EOF > "$dummy.c"
#ifdef __cplusplus
#include <stdio.h> /* for printf() prototype */
exit ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval "$set_cc_for_build"
+ set_cc_for_build
sed 's/^ //' << EOF > "$dummy.c"
#include <sys/systemcfg.h>
esac
fi
if [ "$HP_ARCH" = "" ]; then
- eval "$set_cc_for_build"
+ set_cc_for_build
sed 's/^ //' << EOF > "$dummy.c"
#define _HPUX_SOURCE
esac
if [ "$HP_ARCH" = hppa2.0w ]
then
- eval "$set_cc_for_build"
+ set_cc_for_build
# hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
# 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
echo ia64-hp-hpux"$HPUX_REV"
exit ;;
3050*:HI-UX:*:*)
- eval "$set_cc_for_build"
+ set_cc_for_build
sed 's/^ //' << EOF > "$dummy.c"
#include <unistd.h>
int
*:BSD/OS:*:*)
echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
exit ;;
+ arm:FreeBSD:*:*)
+ UNAME_PROCESSOR=`uname -p`
+ set_cc_for_build
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi
+ else
+ echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf
+ fi
+ exit ;;
*:FreeBSD:*:*)
UNAME_PROCESSOR=`/usr/bin/uname -p`
case "$UNAME_PROCESSOR" in
echo "$UNAME_MACHINE"-pc-uwin
exit ;;
amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
- echo x86_64-unknown-cygwin
+ echo x86_64-pc-cygwin
exit ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
# other systems with GNU libc and userland
echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
exit ;;
- i*86:Minix:*:*)
- echo "$UNAME_MACHINE"-pc-minix
+ *:Minix:*:*)
+ echo "$UNAME_MACHINE"-unknown-minix
exit ;;
aarch64:Linux:*:*)
echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
arm*:Linux:*:*)
- eval "$set_cc_for_build"
+ set_cc_for_build
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
mips:Linux:*:* | mips64:Linux:*:*)
- eval "$set_cc_for_build"
+ set_cc_for_build
sed 's/^ //' << EOF > "$dummy.c"
#undef CPU
#undef ${UNAME_MACHINE}
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- eval "$set_cc_for_build"
+ set_cc_for_build
if test "$UNAME_PROCESSOR" = unknown ; then
UNAME_PROCESSOR=powerpc
fi
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
+ # shellcheck disable=SC2154
if test "$cputype" = 386; then
UNAME_MACHINE=i386
else
# Configuration validation subroutine script.
# Copyright 1992-2018 Free Software Foundation, Inc.
-timestamp='2018-05-19'
+timestamp='2018-08-29'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
- ) # Use stdin as input.
break ;;
-* )
- echo "$me: invalid option $1$help"
+ echo "$me: invalid option $1$help" >&2
exit 1 ;;
*local*)
esac
;;
*-*)
- basic_machine=$field1
- os=$field2
+ # A lone config we happen to match not fitting any pattern
+ case $field1-$field2 in
+ decstation-3100)
+ basic_machine=mips-dec
+ os=
+ ;;
+ *-*)
+ # Second component is usually, but not always the OS
+ case $field2 in
+ # Prevent following clause from handling this valid os
+ sun*os*)
+ basic_machine=$field1
+ os=$field2
+ ;;
+ # Manufacturers
+ dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
+ | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
+ | unicom* | ibm* | next | hp | isi* | apollo | altos* \
+ | convergent* | ncr* | news | 32* | 3600* | 3100* \
+ | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
+ | ultra | tti* | harris | dolphin | highlevel | gould \
+ | cbm | ns | masscomp | apple | axis | knuth | cray \
+ | microblaze* | sim | cisco \
+ | oki | wec | wrs | winbond)
+ basic_machine=$field1-$field2
+ os=
+ ;;
+ *)
+ basic_machine=$field1
+ os=$field2
+ ;;
+ esac
+ ;;
+ esac
;;
*)
# Convert single-component short-hands not valid as part of
basic_machine=m68010-adobe
os=scout
;;
+ alliant)
+ basic_machine=fx80-alliant
+ os=
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ os=
+ ;;
am29k)
basic_machine=a29k-none
os=bsd
basic_machine=580-amdahl
os=sysv
;;
+ amiga)
+ basic_machine=m68k-unknown
+ os=
+ ;;
amigaos | amigados)
basic_machine=m68k-unknown
os=amigaos
basic_machine=arm-unknown
os=cegcc
;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=bsd
+ ;;
cray)
basic_machine=j90-cray
os=unicos
;;
- craynv)
- basic_machine=craynv-cray
- os=unicosmp
+ crds | unos)
+ basic_machine=m68k-crds
+ os=
+ ;;
+ da30)
+ basic_machine=m68k-da30
+ os=
+ ;;
+ decstation | pmax | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ os=
;;
delta88)
basic_machine=m88k-motorola
basic_machine=m88k-harris
os=sysv3
;;
+ hp300)
+ basic_machine=m68k-hp
+ ;;
hp300bsd)
basic_machine=m68k-hp
os=bsd
os=mach
;;
vsta)
- basic_machine=i386-unknown
+ basic_machine=i386-pc
os=vsta
;;
isi68 | isi)
os=sysv4
;;
netbsd386)
- basic_machine=i386-unknown
+ basic_machine=i386-pc
os=netbsd
;;
netwinder)
basic_machine=mips-sei
os=seiux
;;
+ sequent)
+ basic_machine=i386-sequent
+ os=
+ ;;
sps7)
basic_machine=m68k-bull
os=sysv2
;;
+ st2000)
+ basic_machine=m68k-tandem
+ os=
+ ;;
stratus)
basic_machine=i860-stratus
os=sysv4
;;
+ sun2)
+ basic_machine=m68000-sun
+ os=
+ ;;
sun2os3)
basic_machine=m68000-sun
os=sunos3
basic_machine=m68000-sun
os=sunos4
;;
+ sun3)
+ basic_machine=m68k-sun
+ os=
+ ;;
sun3os3)
basic_machine=m68k-sun
os=sunos3
basic_machine=m68k-sun
os=sunos4
;;
+ sun4)
+ basic_machine=sparc-sun
+ os=
+ ;;
sun4os3)
basic_machine=sparc-sun
os=sunos3
basic_machine=sparc-sun
os=solaris2
;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ os=
+ ;;
sv1)
basic_machine=sv1-cray
os=unicos
;;
esac
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work. We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
- sun*os*)
- # Prevent following clause from handling this invalid input.
- ;;
- dec* | mips* | sequent* | encore* | pc532* | sgi* | sony* | \
- att* | 7300* | 3300* | delta* | motorola* | sun[234]* | \
- unicom* | ibm* | next | hp | isi* | apollo | altos* | \
- convergent* | ncr* | news | 32* | 3600* | 3100* | hitachi* |\
- c[123]* | convex* | sun | crds | omron* | dg | ultra | tti* | \
- harris | dolphin | highlevel | gould | cbm | ns | masscomp | \
- apple | axis | knuth | cray | microblaze*)
- os=
- basic_machine=$1
- ;;
- bluegene*)
- os=cnk
- ;;
- sim | cisco | oki | wec | winbond)
- os=
- basic_machine=$1
- ;;
- scout)
- ;;
- wrs)
- os=vxworks
- basic_machine=$1
- ;;
- chorusos*)
- os=chorusos
- basic_machine=$1
- ;;
- chorusrdb)
- os=chorusrdb
- basic_machine=$1
- ;;
- hiux*)
- os=hiuxwe2
- ;;
- sco6)
- os=sco5v6
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- sco5)
- os=sco3.2v5
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- sco4)
- os=sco3.2v4
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- sco3.2v[4-9]*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- sco5v6*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- sco*)
- os=sco3.2v2
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- udk*)
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- isc)
- os=isc2.2
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- clix*)
- basic_machine=clipper-intergraph
- ;;
- isc*)
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- lynx*178)
- os=lynxos178
- ;;
- lynx*5)
- os=lynxos5
- ;;
- lynx*)
- os=lynxos
- ;;
- ptx*)
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
- ;;
- psos*)
- os=psos
- ;;
- mint | mint[0-9]*)
- basic_machine=m68k-atari
- os=mint
- ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
+# Decode 1-component or ad-hoc basic machines
case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
- 1750a | 580 \
- | a29k \
- | aarch64 | aarch64_be \
- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | am33_2.0 \
- | arc | arceb \
- | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv6m | armv[78][arm] \
- | avr | avr32 \
- | ba \
- | be32 | be64 \
- | bfin \
- | c4x | c8051 | clipper | csky \
- | d10v | d30v | dlx | dsp16xx \
- | e2k | epiphany \
- | fido | fr30 | frv | ft32 \
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
- | hexagon \
- | i370 | i860 | i960 | ia16 | ia64 \
- | ip2k | iq2000 \
- | k1om \
- | le32 | le64 \
- | lm32 \
- | m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
- | mips | mipsbe | mipseb | mipsel | mipsle \
- | mips16 \
- | mips64 | mips64el \
- | mips64octeon | mips64octeonel \
- | mips64orion | mips64orionel \
- | mips64r5900 | mips64r5900el \
- | mips64vr | mips64vrel \
- | mips64vr4100 | mips64vr4100el \
- | mips64vr4300 | mips64vr4300el \
- | mips64vr5000 | mips64vr5000el \
- | mips64vr5900 | mips64vr5900el \
- | mipsisa32 | mipsisa32el \
- | mipsisa32r2 | mipsisa32r2el \
- | mipsisa32r6 | mipsisa32r6el \
- | mipsisa64 | mipsisa64el \
- | mipsisa64r2 | mipsisa64r2el \
- | mipsisa64r6 | mipsisa64r6el \
- | mipsisa64sb1 | mipsisa64sb1el \
- | mipsisa64sr71k | mipsisa64sr71kel \
- | mipsr5900 | mipsr5900el \
- | mipstx39 | mipstx39el \
- | mn10200 | mn10300 \
- | moxie \
- | mt \
- | msp430 \
- | nds32 | nds32le | nds32be \
- | nfp \
- | nios | nios2 | nios2eb | nios2el \
- | ns16k | ns32k \
- | open8 | or1k | or1knd | or32 \
- | pdp10 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle \
- | pru \
- | pyramid \
- | riscv32 | riscv64 \
- | rl78 | rx \
- | score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu \
- | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
- | ubicom32 \
- | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
- | visium \
- | wasm32 \
- | x86 | xc16x | xstormy16 | xtensa \
- | z8k | z80)
- basic_machine=$basic_machine-unknown
- ;;
- c54x)
- basic_machine=tic54x-unknown
- ;;
- c55x)
- basic_machine=tic55x-unknown
- ;;
- c6x)
- basic_machine=tic6x-unknown
- ;;
- leon|leon[3-9])
- basic_machine=sparc-$basic_machine
- ;;
- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
- basic_machine=$basic_machine-unknown
- os=${os:-none}
- ;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
+ # Here we handle the default manufacturer of certain CPU types. It is in
+ # some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ cpu=hppa1.1
+ vendor=winbond
;;
- m9s12z | m68hcs12z | hcs12z | s12z)
- basic_machine=s12z-unknown
- os=${os:-none}
+ op50n)
+ cpu=hppa1.1
+ vendor=oki
;;
- ms1)
- basic_machine=mt-unknown
+ op60c)
+ cpu=hppa1.1
+ vendor=oki
;;
- strongarm | thumb | xscale)
- basic_machine=arm-unknown
+ ibm*)
+ cpu=i370
+ vendor=ibm
;;
- xgate)
- basic_machine=$basic_machine-unknown
- os=${os:-none}
+ orion105)
+ cpu=clipper
+ vendor=highlevel
;;
- xscaleeb)
- basic_machine=armeb-unknown
+ mac | mpw | mac-mpw)
+ cpu=m68k
+ vendor=apple
;;
-
- xscaleel)
- basic_machine=armel-unknown
+ pmac | pmac-mpw)
+ cpu=powerpc
+ vendor=apple
;;
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
- i*86 | x86_64)
- basic_machine=$basic_machine-pc
- ;;
- # Recognize the basic CPU types with company name.
- 580-* \
- | a29k-* \
- | aarch64-* | aarch64_be-* \
- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* | avr32-* \
- | ba-* \
- | be32-* | be64-* \
- | bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* \
- | c8051-* | clipper-* | craynv-* | csky-* | cydra-* \
- | d10v-* | d30v-* | dlx-* \
- | e2k-* | elxsi-* \
- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
- | h8300-* | h8500-* \
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
- | hexagon-* \
- | i*86-* | i860-* | i960-* | ia16-* | ia64-* \
- | ip2k-* | iq2000-* \
- | k1om-* \
- | le32-* | le64-* \
- | lm32-* \
- | m32c-* | m32r-* | m32rle-* \
- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
- | microblaze-* | microblazeel-* \
- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
- | mips16-* \
- | mips64-* | mips64el-* \
- | mips64octeon-* | mips64octeonel-* \
- | mips64orion-* | mips64orionel-* \
- | mips64r5900-* | mips64r5900el-* \
- | mips64vr-* | mips64vrel-* \
- | mips64vr4100-* | mips64vr4100el-* \
- | mips64vr4300-* | mips64vr4300el-* \
- | mips64vr5000-* | mips64vr5000el-* \
- | mips64vr5900-* | mips64vr5900el-* \
- | mipsisa32-* | mipsisa32el-* \
- | mipsisa32r2-* | mipsisa32r2el-* \
- | mipsisa32r6-* | mipsisa32r6el-* \
- | mipsisa64-* | mipsisa64el-* \
- | mipsisa64r2-* | mipsisa64r2el-* \
- | mipsisa64r6-* | mipsisa64r6el-* \
- | mipsisa64sb1-* | mipsisa64sb1el-* \
- | mipsisa64sr71k-* | mipsisa64sr71kel-* \
- | mipsr5900-* | mipsr5900el-* \
- | mipstx39-* | mipstx39el-* \
- | mmix-* \
- | mt-* \
- | msp430-* \
- | nds32-* | nds32le-* | nds32be-* \
- | nfp-* \
- | nios-* | nios2-* | nios2eb-* | nios2el-* \
- | none-* | np1-* | ns16k-* | ns32k-* \
- | open8-* \
- | or1k*-* \
- | orion-* \
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
- | pru-* \
- | pyramid-* \
- | riscv32-* | riscv64-* \
- | rl78-* | romp-* | rs6000-* | rx-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
- | sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
- | tahoe-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
- | tile*-* \
- | tron-* \
- | ubicom32-* \
- | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
- | vax-* \
- | visium-* \
- | wasm32-* \
- | we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* \
- | xstormy16-* | xtensa*-* \
- | ymp-* \
- | z8k-* | z80-*)
- ;;
- # Recognize the basic CPU types without company name, with glob match.
- xtensa*)
- basic_machine=$basic_machine-unknown
- ;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
+ cpu=m68000
+ vendor=att
;;
3b*)
- basic_machine=we32k-att
- ;;
- abacus)
- basic_machine=abacus-unknown
- ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- amd64)
- basic_machine=x86_64-pc
- ;;
- amd64-*)
- basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
- ;;
- amiga | amiga-*)
- basic_machine=m68k-unknown
- ;;
- asmjs)
- basic_machine=asmjs-unknown
- ;;
- blackfin-*)
- basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
- os=linux
+ cpu=we32k
+ vendor=att
;;
bluegene*)
- basic_machine=powerpc-ibm
+ cpu=powerpc
+ vendor=ibm
os=cnk
;;
- c54x-*)
- basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
- ;;
- c55x-*)
- basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
- ;;
- c6x-*)
- basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
- ;;
- c90)
- basic_machine=c90-cray
- os=${os:-unicos}
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=bsd
- ;;
- cr16 | cr16-*)
- basic_machine=cr16-unknown
- os=${os:-elf}
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- crisv32 | crisv32-* | etraxfs*)
- basic_machine=crisv32-axis
- ;;
- cris | cris-* | etrax*)
- basic_machine=cris-axis
- ;;
- crx)
- basic_machine=crx-unknown
- os=${os:-elf}
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- ;;
decsystem10* | dec10*)
- basic_machine=pdp10-dec
+ cpu=pdp10
+ vendor=dec
os=tops10
;;
decsystem20* | dec20*)
- basic_machine=pdp10-dec
+ cpu=pdp10
+ vendor=dec
os=tops20
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- ;;
- dpx20 | dpx20-*)
- basic_machine=rs6000-bull
- os=${os:-bosx}
+ cpu=m68k
+ vendor=motorola
;;
dpx2*)
- basic_machine=m68k-bull
+ cpu=m68k
+ vendor=bull
os=sysv3
;;
- e500v[12])
- basic_machine=powerpc-unknown
- os=$os"spe"
- ;;
- e500v[12]-*)
- basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
- os=$os"spe"
- ;;
encore | umax | mmax)
- basic_machine=ns32k-encore
+ cpu=ns32k
+ vendor=encore
;;
elxsi)
- basic_machine=elxsi-elxsi
+ cpu=elxsi
+ vendor=elxsi
os=${os:-bsd}
;;
fx2800)
- basic_machine=i860-alliant
+ cpu=i860
+ vendor=alliant
;;
genix)
- basic_machine=ns32k-ns
+ cpu=ns32k
+ vendor=ns
;;
h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
+ cpu=hppa1.1
+ vendor=hitachi
os=hiuxwe2
;;
- hp300-*)
- basic_machine=m68k-hp
- ;;
hp3k9[0-9][0-9] | hp9[0-9][0-9])
- basic_machine=hppa1.0-hp
+ cpu=hppa1.0
+ vendor=hp
;;
hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
+ cpu=m68000
+ vendor=hp
;;
hp9k3[2-9][0-9])
- basic_machine=m68k-hp
+ cpu=m68k
+ vendor=hp
;;
hp9k6[0-9][0-9] | hp6[0-9][0-9])
- basic_machine=hppa1.0-hp
+ cpu=hppa1.0
+ vendor=hp
;;
hp9k7[0-79][0-9] | hp7[0-79][0-9])
- basic_machine=hppa1.1-hp
+ cpu=hppa1.1
+ vendor=hp
;;
hp9k78[0-9] | hp78[0-9])
# FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
+ cpu=hppa1.1
+ vendor=hp
;;
hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
# FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
+ cpu=hppa1.1
+ vendor=hp
;;
hp9k8[0-9][13679] | hp8[0-9][13679])
- basic_machine=hppa1.1-hp
+ cpu=hppa1.1
+ vendor=hp
;;
hp9k8[0-9][0-9] | hp8[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
+ cpu=hppa1.0
+ vendor=hp
;;
i*86v32)
- basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ vendor=pc
os=sysv32
;;
i*86v4*)
- basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ vendor=pc
os=sysv4
;;
i*86v)
- basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ vendor=pc
os=sysv
;;
i*86sol2)
- basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ vendor=pc
os=solaris2
;;
j90 | j90-cray)
- basic_machine=j90-cray
+ cpu=j90
+ vendor=cray
os=${os:-unicos}
;;
iris | iris4d)
- basic_machine=mips-sgi
+ cpu=mips
+ vendor=sgi
case $os in
irix*)
;;
;;
esac
;;
- leon-*|leon[3-9]-*)
- basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
- ;;
- m68knommu-*)
- basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
- os=linux
- ;;
- microblaze*)
- basic_machine=microblaze-xilinx
- ;;
miniframe)
- basic_machine=m68000-convergent
+ cpu=m68000
+ vendor=convergent
;;
*mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
- basic_machine=m68k-atari
+ cpu=m68k
+ vendor=atari
os=mint
;;
- mips3*-*)
- basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
- ;;
- ms1-*)
- basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
- ;;
news-3600 | risc-news)
- basic_machine=mips-sony
+ cpu=mips
+ vendor=sony
os=newsos
;;
next | m*-next)
- basic_machine=m68k-next
+ cpu=m68k
+ vendor=next
case $os in
nextstep* )
;;
esac
;;
np1)
- basic_machine=np1-gould
+ cpu=np1
+ vendor=gould
;;
- neo-tandem)
- basic_machine=neo-tandem
+ op50n-* | op60c-*)
+ cpu=hppa1.1
+ vendor=oki
+ os=proelf
;;
- nse-tandem)
- basic_machine=nse-tandem
+ pa-hitachi)
+ cpu=hppa1.1
+ vendor=hitachi
+ os=hiuxwe2
;;
- nsr-tandem)
- basic_machine=nsr-tandem
+ pbd)
+ cpu=sparc
+ vendor=tti
;;
- nsv-tandem)
- basic_machine=nsv-tandem
+ pbb)
+ cpu=m68k
+ vendor=tti
;;
- nsx-tandem)
- basic_machine=nsx-tandem
+ pc532)
+ cpu=ns32k
+ vendor=pc532
;;
- op50n-* | op60c-*)
- basic_machine=hppa1.1-oki
- os=proelf
+ pn)
+ cpu=pn
+ vendor=gould
;;
- openrisc | openrisc-*)
- basic_machine=or32-unknown
+ power)
+ cpu=power
+ vendor=ibm
;;
- pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=hiuxwe2
+ ps2)
+ cpu=i386
+ vendor=ibm
;;
- parisc-*)
- basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
- os=linux
+ rm[46]00)
+ cpu=mips
+ vendor=siemens
;;
- pbd)
- basic_machine=sparc-tti
+ rtpc | rtpc-*)
+ cpu=romp
+ vendor=ibm
;;
- pbb)
- basic_machine=m68k-tti
+ sde)
+ cpu=mipsisa32
+ vendor=sde
+ os=${os:-elf}
;;
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
+ simso-wrs)
+ cpu=sparclite
+ vendor=wrs
+ os=vxworks
;;
- pc98)
- basic_machine=i386-pc
+ tower | tower-32)
+ cpu=m68k
+ vendor=ncr
;;
- pc98-*)
- basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ vpp*|vx|vx-*)
+ cpu=f301
+ vendor=fujitsu
;;
- pentium | p5 | k5 | k6 | nexgen | viac3)
- basic_machine=i586-pc
+ w65)
+ cpu=w65
+ vendor=wdc
;;
- pentiumpro | p6 | 6x86 | athlon | athlon_*)
- basic_machine=i686-pc
+ w89k-*)
+ cpu=hppa1.1
+ vendor=winbond
+ os=proelf
;;
- pentiumii | pentium2 | pentiumiii | pentium3)
- basic_machine=i686-pc
+ none)
+ cpu=none
+ vendor=none
;;
- pentium4)
- basic_machine=i786-pc
+ leon|leon[3-9])
+ cpu=sparc
+ vendor=$basic_machine
;;
- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ leon-*|leon[3-9]-*)
+ cpu=sparc
+ vendor=`echo "$basic_machine" | sed 's/-.*//'`
;;
- pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+
+ *-*)
+ IFS="-" read -r cpu vendor <<EOF
+$basic_machine
+EOF
;;
- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
- basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ cpu=$basic_machine
+ vendor=pc
;;
- pentium4-*)
- basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ # These rules are duplicated from below for sake of the special case above;
+ # i.e. things that normalized to x86 arches should also default to "pc"
+ pc98)
+ cpu=i386
+ vendor=pc
;;
- pn)
- basic_machine=pn-gould
+ x64 | amd64)
+ cpu=x86_64
+ vendor=pc
;;
- power) basic_machine=power-ibm
+ # Recognize the basic CPU types without company name.
+ *)
+ cpu=$basic_machine
+ vendor=unknown
;;
- ppc | ppcbe) basic_machine=powerpc-unknown
+esac
+
+unset -v basic_machine
+
+# Decode basic machines in the full and proper CPU-Company form.
+case $cpu-$vendor in
+ # Here we handle the default manufacturer of certain CPU types in canonical form. It is in
+ # some cases the only manufacturer, in others, it is the most popular.
+ craynv-unknown)
+ vendor=cray
+ os=${os:-unicosmp}
+ ;;
+ c90-unknown | c90-cray)
+ vendor=cray
+ os=${os:-unicos}
;;
- ppc-* | ppcbe-*)
- basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ fx80-unknown)
+ vendor=alliant
;;
- ppcle | powerpclittle)
- basic_machine=powerpcle-unknown
+ romp-unknown)
+ vendor=ibm
;;
- ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ mmix-unknown)
+ vendor=knuth
;;
- ppc64) basic_machine=powerpc64-unknown
+ microblaze-unknown | microblazeel-unknown)
+ vendor=xilinx
;;
- ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ rs6000-unknown)
+ vendor=ibm
;;
- ppc64le | powerpc64little)
- basic_machine=powerpc64le-unknown
+ vax-unknown)
+ vendor=dec
;;
- ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ pdp11-unknown)
+ vendor=dec
;;
- ps2)
- basic_machine=i386-ibm
+ we32k-unknown)
+ vendor=att
;;
- rm[46]00)
- basic_machine=mips-siemens
+ cydra-unknown)
+ vendor=cydrome
;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
+ i370-ibm*)
+ vendor=ibm
;;
- s390 | s390-*)
- basic_machine=s390-ibm
+ orion-unknown)
+ vendor=highlevel
;;
- s390x | s390x-*)
- basic_machine=s390x-ibm
+ xps-unknown | xps100-unknown)
+ cpu=xps100
+ vendor=honeywell
;;
- sb1)
- basic_machine=mipsisa64sb1-unknown
+
+ # Here we normalize CPU types with a missing or matching vendor
+ dpx20-unknown | dpx20-bull)
+ cpu=rs6000
+ vendor=bull
+ os=${os:-bosx}
;;
- sb1el)
- basic_machine=mipsisa64sb1el-unknown
+
+ # Here we normalize CPU types irrespective of the vendor
+ amd64-*)
+ cpu=x86_64
;;
- sde)
- basic_machine=mipsisa32-sde
- os=${os:-elf}
+ blackfin-*)
+ cpu=bfin
+ os=linux
;;
- sequent)
- basic_machine=i386-sequent
+ c54x-*)
+ cpu=tic54x
;;
- sh5el)
- basic_machine=sh5le-unknown
+ c55x-*)
+ cpu=tic55x
;;
- simso-wrs)
- basic_machine=sparclite-wrs
- os=vxworks
+ c6x-*)
+ cpu=tic6x
;;
- spur)
- basic_machine=spur-unknown
+ e500v[12]-*)
+ cpu=powerpc
+ os=$os"spe"
;;
- st2000)
- basic_machine=m68k-tandem
+ mips3*-*)
+ cpu=mips64
;;
- strongarm-* | thumb-*)
- basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ms1-*)
+ cpu=mt
;;
- sun2)
- basic_machine=m68000-sun
+ m68knommu-*)
+ cpu=m68k
+ os=linux
;;
- sun3 | sun3-*)
- basic_machine=m68k-sun
+ m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
+ cpu=s12z
;;
- sun4)
- basic_machine=sparc-sun
+ openrisc-*)
+ cpu=or32
;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
+ parisc-*)
+ cpu=hppa
+ os=linux
;;
- tile*)
- basic_machine=$basic_machine-unknown
- os=linux-gnu
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ cpu=i586
;;
- tx39)
- basic_machine=mipstx39-unknown
+ pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
+ cpu=i686
;;
- tx39el)
- basic_machine=mipstx39el-unknown
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ cpu=i686
;;
- tower | tower-32)
- basic_machine=m68k-ncr
+ pentium4-*)
+ cpu=i786
;;
- vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
+ pc98-*)
+ cpu=i386
;;
- w65*)
- basic_machine=w65-wdc
- os=none
+ ppc-* | ppcbe-*)
+ cpu=powerpc
;;
- w89k-*)
- basic_machine=hppa1.1-winbond
- os=proelf
+ ppcle-* | powerpclittle-*)
+ cpu=powerpcle
;;
- x64)
- basic_machine=x86_64-pc
+ ppc64-*)
+ cpu=powerpc64
;;
- xps | xps100)
- basic_machine=xps100-honeywell
+ ppc64le-* | powerpc64little-*)
+ cpu=powerpc64le
;;
- xscale-* | xscalee[bl]-*)
- basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
+ sb1-*)
+ cpu=mipsisa64sb1
;;
- none)
- basic_machine=none-none
- os=${os:-none}
+ sb1el-*)
+ cpu=mipsisa64sb1el
;;
-
-# Here we handle the default manufacturer of certain CPU types. It is in
-# some cases the only manufacturer, in others, it is the most popular.
- w89k)
- basic_machine=hppa1.1-winbond
+ sh5e[lb]-*)
+ cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
;;
- op50n)
- basic_machine=hppa1.1-oki
+ spur-*)
+ cpu=spur
;;
- op60c)
- basic_machine=hppa1.1-oki
+ strongarm-* | thumb-*)
+ cpu=arm
;;
- romp)
- basic_machine=romp-ibm
+ tx39-*)
+ cpu=mipstx39
;;
- mmix)
- basic_machine=mmix-knuth
+ tx39el-*)
+ cpu=mipstx39el
;;
- rs6000)
- basic_machine=rs6000-ibm
+ x64-*)
+ cpu=x86_64
;;
- vax)
- basic_machine=vax-dec
+ xscale-* | xscalee[bl]-*)
+ cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
;;
- pdp11)
- basic_machine=pdp11-dec
+
+ # Recognize the canonical CPU Types that limit and/or modify the
+ # company names they are paired with.
+ cr16-*)
+ os=${os:-elf}
;;
- we32k)
- basic_machine=we32k-att
+ crisv32-* | etraxfs*-*)
+ cpu=crisv32
+ vendor=axis
;;
- sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
- basic_machine=sh-unknown
+ cris-* | etrax*-*)
+ cpu=cris
+ vendor=axis
;;
- cydra)
- basic_machine=cydra-cydrome
+ crx-*)
+ os=${os:-elf}
;;
- orion)
- basic_machine=orion-highlevel
+ neo-tandem)
+ cpu=neo
+ vendor=tandem
;;
- orion105)
- basic_machine=clipper-highlevel
+ nse-tandem)
+ cpu=nse
+ vendor=tandem
;;
- mac | mpw | mac-mpw)
- basic_machine=m68k-apple
+ nsr-tandem)
+ cpu=nsr
+ vendor=tandem
;;
- pmac | pmac-mpw)
- basic_machine=powerpc-apple
+ nsv-tandem)
+ cpu=nsv
+ vendor=tandem
+ ;;
+ nsx-tandem)
+ cpu=nsx
+ vendor=tandem
;;
- *-unknown)
- # Make sure to match an already-canonicalized machine name.
+ s390-*)
+ cpu=s390
+ vendor=ibm
;;
+ s390x-*)
+ cpu=s390x
+ vendor=ibm
+ ;;
+ tile*-*)
+ os=${os:-linux-gnu}
+ ;;
+
*)
- echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
- exit 1
+ # Recognize the canonical CPU types that are allowed with any
+ # company name.
+ case $cpu in
+ 1750a | 580 \
+ | a29k \
+ | aarch64 | aarch64_be \
+ | abacus \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
+ | alphapca5[67] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arceb \
+ | arm | arm[lb]e | arme[lb] | armv* \
+ | avr | avr32 \
+ | asmjs \
+ | ba \
+ | be32 | be64 \
+ | bfin | bs2000 \
+ | c[123]* | c30 | [cjt]90 | c4x \
+ | c8051 | clipper | craynv | csky | cydra \
+ | d10v | d30v | dlx | dsp16xx \
+ | e2k | elxsi | epiphany \
+ | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
+ | h8300 | h8500 \
+ | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
+ | i370 | i*86 | i860 | i960 | ia16 | ia64 \
+ | ip2k | iq2000 \
+ | k1om \
+ | le32 | le64 \
+ | lm32 \
+ | m32c | m32r | m32rle \
+ | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k | v70 | w65 \
+ | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip \
+ | m88110 | m88k | maxq | mb | mcore | mep | metag \
+ | microblaze | microblazeel \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r6 | mipsisa32r6el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
+ | mipstx39 | mipstx39el \
+ | mmix \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nds32 | nds32le | nds32be \
+ | nfp \
+ | nios | nios2 | nios2eb | nios2el \
+ | none | np1 | ns16k | ns32k \
+ | open8 \
+ | or1k* \
+ | or32 \
+ | orion \
+ | pdp10 | pdp11 | pj | pjl | pn | power \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
+ | pru \
+ | pyramid \
+ | riscv | riscv32 | riscv64 \
+ | rl78 | romp | rs6000 | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
+ | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
+ | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
+ | spu \
+ | tahoe \
+ | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
+ | tron \
+ | ubicom32 \
+ | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
+ | vax \
+ | visium \
+ | wasm32 \
+ | we32k \
+ | x86 | x86_64 | xc16x | xgate | xps100 \
+ | xstormy16 | xtensa* \
+ | ymp \
+ | z8k | z80)
+ ;;
+
+ *)
+ echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
+ exit 1
+ ;;
+ esac
;;
esac
# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
- *-digital*)
- basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
+case $vendor in
+ digital*)
+ vendor=dec
;;
- *-commodore*)
- basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
+ commodore*)
+ vendor=cbm
;;
*)
;;
auroraux)
os=auroraux
;;
+ bluegene*)
+ os=cnk
+ ;;
solaris1 | solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
;;
es1800*)
os=ose
;;
+ # Some version numbers need modification
+ chorusos*)
+ os=chorusos
+ ;;
+ isc)
+ os=isc2.2
+ ;;
+ sco6)
+ os=sco5v6
+ ;;
+ sco5)
+ os=sco3.2v5
+ ;;
+ sco4)
+ os=sco3.2v4
+ ;;
+ sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ ;;
+ sco3.2v[4-9]* | sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ ;;
+ scout)
+ # Don't match below
+ ;;
+ sco*)
+ os=sco3.2v2
+ ;;
+ psos*)
+ os=psos
+ ;;
# Now accept the basic system types.
# The portable systems comes first.
# Each alternative MUST end in a * to match a version number.
# sysv* is not here because it comes later, after sysvr4.
gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
- | *vms* | sco* | esix* | isc* | aix* | cnk* | sunos | sunos[34]*\
+ | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\
| hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
| sym* | kopensolaris* | plan9* \
| amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
| aos* | aros* | cloudabi* | sortix* \
| nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
- | clix* | riscos* | uniplus* | iris* | rtu* | xenix* \
- | hiux* | knetbsd* | mirbsd* | netbsd* \
+ | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
+ | knetbsd* | mirbsd* | netbsd* \
| bitrig* | openbsd* | solidbsd* | libertybsd* \
| ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
| bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
| ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
| udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \
- | chorusos* | chorusrdb* | cegcc* | glidix* \
- | cygwin* | msys* | pe* | psos* | moss* | proelf* | rtems* \
+ | chorusrdb* | cegcc* | glidix* \
+ | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
| midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \
| linux-newlib* | linux-musl* | linux-uclibc* \
| uxpv* | beos* | mpeix* | udk* | moxiebox* \
# Remember, each alternative MUST END IN *, to match a version number.
;;
qnx*)
- case $basic_machine in
- x86-* | i*86-*)
+ case $cpu in
+ x86 | i*86)
;;
*)
os=nto-$os
;;
esac
;;
+ hiux*)
+ os=hiuxwe2
+ ;;
nto-qnx*)
;;
nto*)
| windows* | osx | abug | netware* | os9* \
| macos* | mpw* | magic* | mmixware* | mon960* | lnews*)
;;
- mac*)
- os=`echo "$os" | sed -e 's|mac|macos|'`
- ;;
linux-dietlibc)
os=linux-dietlibc
;;
linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
- sunos5*)
- os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
+ lynx*178)
+ os=lynxos178
;;
- sunos6*)
- os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
+ lynx*5)
+ os=lynxos5
+ ;;
+ lynx*)
+ os=lynxos
+ ;;
+ mac*)
+ os=`echo "$os" | sed -e 's|mac|macos|'`
;;
opened*)
os=openedition
os400*)
os=os400
;;
+ sunos5*)
+ os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
+ ;;
+ sunos6*)
+ os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
+ ;;
wince*)
os=wince
;;
# Until real need of OS specific support for
# particular features comes up, bare metal
# configurations are quite functional.
- case $basic_machine in
+ case $cpu in
arm*)
os=eabi
;;
# will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point.
-case $basic_machine in
+case $cpu-$vendor in
score-*)
os=elf
;;
c8051-*)
os=elf
;;
+ clipper-intergraph)
+ os=clix
+ ;;
hexagon-*)
os=elf
;;
*-atari*)
os=mint
;;
+ *-wrs)
+ os=vxworks
+ ;;
*)
os=none
;;
# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer. We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
- *-unknown)
+case $vendor in
+ unknown)
case $os in
riscix*)
vendor=acorn
genix*)
vendor=ns
;;
+ clix*)
+ vendor=intergraph
+ ;;
mvs* | opened*)
vendor=ibm
;;
vendor=stratus
;;
esac
- basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
;;
esac
-echo "$basic_machine-$os"
+echo "$cpu-$vendor-$os"
exit
# Local variables:
rl_bind_keyseq_if_unbound (_rl_term_at7, rl_end_of_line); /* End */
rl_bind_keyseq_if_unbound (_rl_term_kD, rl_delete);
+ rl_bind_keyseq_if_unbound (_rl_term_kI, rl_overwrite_mode); /* Insert */
_rl_keymap = xkeymap;
}
if (nwc != wc) /* just skip unchanged characters */
{
char *s, *e;
- mlen = wcrtomb (mb, nwc, &mps);
+ mbstate_t ts;
+
+ memset (&ts, 0, sizeof (mbstate_t));
+ mlen = wcrtomb (mb, nwc, &ts);
+ if (mlen < 0)
+ {
+ nwc = wc;
+ memset (&ts, 0, sizeof (mbstate_t));
+ mlen = wcrtomb (mb, nwc, &ts);
+ if (mlen < 0) /* should not happen */
+ strncpy (mb, rl_line_buffer + start, mlen = m);
+ }
if (mlen > 0)
mb[mlen] = '\0';
/* what to do if m != mlen? adjust below */
/* Undoing deletes means inserting some text. */
case UNDO_DELETE:
rl_point = start;
+ _rl_fix_point (1);
rl_insert_text (rl_undo_list->text);
xfree (rl_undo_list->text);
break;
case UNDO_INSERT:
rl_delete_text (start, end);
rl_point = start;
+ _rl_fix_point (1);
break;
/* Undoing an END means undoing everything 'til we get to a BEGIN. */
_rl_reset_argument ();
rl_clear_pending_input ();
- RL_UNSETSTATE (RL_STATE_MACRODEF);
while (rl_executing_macro)
_rl_pop_executing_macro ();
+ _rl_kill_kbd_macro ();
RL_UNSETSTATE (RL_STATE_MULTIKEY); /* XXX */
rl_vi_start_inserting (int key, int repeat, int sign)
{
_rl_vi_set_last (key, repeat, sign);
+ rl_begin_undo_group (); /* ensure inserts aren't concatenated */
rl_vi_insertion_mode (1, key);
}