enable MULTIPLE_COPROCS; bind -p/-P can print out bindings for individual command names; changes to Makefile to remove MFLAGS; simplify build tools by assuming C90 compilation environment for better cross-compiling support

This commit is contained in:
Chet Ramey
2024-04-26 16:51:04 -04:00
parent 8c8daff1e3
commit 9c430f6bf3
57 changed files with 4179 additions and 3995 deletions
+6
View File
@@ -428,6 +428,10 @@ version and versions 2.0 and above.
there are four or fewer, it uses the posix test algorithm on the
subexpression.
68. The bind builtin's -p and -P options treat any arguments remaining after
option processing as bindable command names for which to print any key
bindings.
Shell Compatibility Level
=========================
@@ -587,6 +591,8 @@ compat51 (set using BASH_COMPAT)
compat52 (set using BASH_COMPAT)
- the test builtin uses its historical algorithm for parsing
expressions composed of five or more primaries.
- the -p and -P options to the bind builtin treat remaining arguments
as bindable command names for which to print any key bindings
-------------------------------------------------------------------------------
+55 -1
View File
@@ -1,4 +1,4 @@
\
12/6/2020
---------
@@ -9177,3 +9177,57 @@ parser.h
expecting_in_command
- PST_FORCMD: new parser state, used to say if we're parsing a `for'
command and waiting for an IN token (not used yet)
4/22
----
config-top.h
- MULTIPLE_COPROCS: now enabled by default
4/23
----
doc/bash.1,doc/bashref.texi
- add text clarifying the difference between PIPESTATUS and $?
expr.c,redir.c,jobs.c,parse.y,arrayfunc.c,test.c,subst.c
builtins/declare.def,builtins/wait.def,builtins/printf.def
- went through and removed or modified TAGs for bash-5.3
lib/readline/bind.c
- rl_print_keybinding: handle case where there are no key sequences
bound to the command name; don't just print out every unbound key
builtins/bind.def
- bind_builtin: if the shell compatibility level is > 52, interpret
additional non-option arguments supplied with -P and -p as bindable
command names and print out any bindings for those names
4/24
----
Makefile.in,doc/Makefile.in,builtins/Makefile.in
lib/sh/Makefile.in,lib/glob/Makefile.in,lib/tilde/Makefile.in
lib/readline/Makefile.in
- MFLAGS -> BASH_MAKEFLAGS, rely on make passing MAKEFLAGS in the
environment
From a report by Cedric Blancher <cedric.blancher@gmail.com>
buildconf.h
- new build include file, construct from buildconf.h.in; contains a
subset of config.h for use by the build tools
mksyntax.c
- now assumes a C90 compilation environment; includes buildconf.h for
any build-time configuration variables
Makefile.in
- buildconf.h: add to CREATED_CONFIGURE
- mksyntax: now depends on buildconf.h instead of config.h
4/25
----
support/bashversion.c,version.c
- now assumes a C90 compilation environment; includes buildconf.h for
any build-time configuration variables
support/printenv.c,support/recho.c,support/xcase.c,support/zecho.c
- now assumes a C90 compilation environment and POSIX.1-1990 execution
environment
+2 -1
View File
@@ -149,6 +149,7 @@ bashtypes.h f
mailcheck.h f
xmalloc.h f
pathnames.h.in f
buildconf.h.in f
# order is important here
y.tab.c F
y.tab.h F
@@ -712,7 +713,7 @@ doc/aosa-bash-full.pdf f
support/Makefile.in f
support/bash.pc.in f
support/bashversion.c f
support/checkbashisms f 755
#support/checkbashisms f 755
support/config.guess f
support/config.rpath f 755
support/config.sub f
+71 -63
View File
@@ -1,4 +1,4 @@
# Makefile for bash-5.3, version 5.5
# Makefile for bash-5.3, version 5.6
#
# Copyright (C) 1996-2024 Free Software Foundation, Inc.
@@ -427,7 +427,7 @@ ALLOC_HEADERS = $(ALLOC_LIBSRC)/getpagesize.h $(ALLOC_LIBSRC)/shmalloc.h \
$(MALLOC_LIBRARY): ${MALLOC_SOURCE} ${ALLOC_HEADERS} config.h
@(cd $(ALLOC_LIBDIR) && \
$(MAKE) $(MFLAGS) \
$(MAKE) $(BASH_MAKEFLAGS) \
MALLOC_CFLAGS="$(MALLOC_CFLAGS)" ${MALLOC_TARGET} ) || exit 1
BASHINCDIR = ${srcdir}/include
@@ -587,7 +587,7 @@ CREATED_MACOS = recho.dSYM zecho.dSYM printenv.dSYM xcase.dSYM \
bashversion.dSYM mksyntax.dSYM ${DEFDIR}/psize.aux.dSYM
CREATED_CONFIGURE = config.h config.cache config.status config.log \
stamp-h po/POTFILES config.status.lineno \
stdckdint.h
stdckdint.h buildconf.h
CREATED_MAKEFILES = Makefile builtins/Makefile doc/Makefile \
lib/readline/Makefile lib/glob/Makefile \
lib/sh/Makefile lib/tilde/Makefile lib/malloc/Makefile \
@@ -636,23 +636,23 @@ strip: $(Program) .made
-$(SIZE) $(Program)
lint:
${MAKE} ${MFLAGS} ADDON_CFLAGS='${GCC_LINT_FLAGS}' .made
${MAKE} $(BASH_MAKEFLAGS) ADDON_CFLAGS='${GCC_LINT_FLAGS}' .made
asan:
${MAKE} ${MFLAGS} ADDON_CFLAGS='${ASAN_XCFLAGS}' ADDON_LDFLAGS='${ASAN_XLDFLAGS}' .made
${MAKE} $(BASH_MAKEFLAGS) ADDON_CFLAGS='${ASAN_XCFLAGS}' ADDON_LDFLAGS='${ASAN_XLDFLAGS}' .made
ubsan:
${MAKE} ${MFLAGS} ADDON_CFLAGS='${UBSAN_XCFLAGS}' ADDON_LDFLAGS='${UBSAN_XLDFLAGS}' .made
${MAKE} $(BASH_MAKEFLAGS) ADDON_CFLAGS='${UBSAN_XCFLAGS}' ADDON_LDFLAGS='${UBSAN_XLDFLAGS}' .made
valgrind:
${MAKE} ${MFLAGS} ADDON_CFLAGS='-DDISABLE_MALLOC_WRAPPERS' ADDON_LDFLAGS= .made
${MAKE} $(BASH_MAKEFLAGS) ADDON_CFLAGS='-DDISABLE_MALLOC_WRAPPERS' ADDON_LDFLAGS= .made
lsan:
${MAKE} ${MFLAGS} CC=${LSAN_CC} ADDON_CFLAGS='${LSAN_XCFLAGS}' ADDON_LDFLAGS='${LSAN_XLDFLAGS}' .made
${MAKE} $(BASH_MAKEFLAGS) CC=${LSAN_CC} ADDON_CFLAGS='${LSAN_XCFLAGS}' ADDON_LDFLAGS='${LSAN_XLDFLAGS}' .made
# cheating
gcov:
${MAKE} ${MFLAGS} CFLAGS=-g ADDON_CFLAGS='${GCOV_XCFLAGS}' ADDON_LDFLAGS='${GCOV_XLDFLAGS}' .made
${MAKE} $(BASH_MAKEFLAGS) CFLAGS=-g ADDON_CFLAGS='${GCOV_XCFLAGS}' ADDON_LDFLAGS='${GCOV_XLDFLAGS}' .made
# have to make this separate because making tests depend on $(PROGRAM)
@@ -671,7 +671,7 @@ lsan-tests: lsan $(TESTS_SUPPORT)
profiling-tests: ${PROGRAM}
@test "X$$PROFILE_FLAGS" == "X" && { echo "profiling-tests: must be built with profiling enabled" >&2; exit 1; }
@${MAKE} ${MFLAGS} tests TESTSCRIPT=run-gprof
@${MAKE} $(BASH_MAKEFLAGS) tests TESTSCRIPT=run-gprof
version.h: $(SOURCES) config.h Makefile patchlevel.h
$(SHELL) $(SUPPORT_SRC)mkversion.sh -b -S ${topdir} -s $(RELSTATUS) -d $(Version) -o newversion.h \
@@ -680,11 +680,14 @@ version.h: $(SOURCES) config.h Makefile patchlevel.h
bashversion$(EXEEXT): buildversion.o $(SUPPORT_SRC)bashversion.c
$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) ${LDFLAGS_FOR_BUILD} -o $@ $(SUPPORT_SRC)bashversion.c buildversion.o ${LIBS_FOR_BUILD}
bashversion$(EXEEXT): buildconf.h
buildversion.o: $(srcdir)/version.c
$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -DBUILDTOOL -c -o $@ $(srcdir)/version.c
buildversion.o: bashintl.h $(BASHINCDIR)/gettext.h
buildversion.o: version.h patchlevel.h conftypes.h
buildversion.o: buildconf.h
# old rules
GRAM_H = parser-built
@@ -714,40 +717,42 @@ $(LIBDEP): .build
$(READLINE_LIBRARY): config.h $(READLINE_SOURCE)
@echo making $@ in ${RL_LIBDIR}
@( { test "${RL_LIBDIR}" = "${libdir}" && exit 0; } || \
cd ${RL_LIBDIR} && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} libreadline.a) || exit 1
cd ${RL_LIBDIR} && $(MAKE) $(BASH_MAKEFLAGS) DEBUG=${DEBUG} libreadline.a) || exit 1
$(HISTORY_LIBRARY): config.h $(HISTORY_SOURCE) $(READLINE_DEP)
@echo making $@ in ${HIST_LIBDIR}
@( { test "${HIST_LIBDIR}" = "${libdir}" && exit 0; } || \
cd ${HIST_LIBDIR} && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} libhistory.a) || exit 1
cd ${HIST_LIBDIR} && $(MAKE) $(BASH_MAKEFLAGS) DEBUG=${DEBUG} libhistory.a) || exit 1
$(GLOB_LIBRARY): config.h $(GLOB_SOURCE)
@echo making $@ in ${GLOB_LIBDIR}
@(cd ${GLOB_LIBDIR} && \
$(MAKE) $(MFLAGS) DEBUG=${DEBUG} libglob.a) || exit 1
$(MAKE) $(BASH_MAKEFLAGS) DEBUG=${DEBUG} libglob.a) || exit 1
$(TILDE_LIBRARY): config.h $(TILDE_SOURCE)
@echo making $@ in ${TILDE_LIBDIR}
@(cd ${TILDE_LIBDIR} && \
$(MAKE) $(MFLAGS) libtilde.a) || exit 1
$(MAKE) $(BASH_MAKEFLAGS) libtilde.a) || exit 1
$(TERMCAP_LIBRARY): config.h ${TERMCAP_SOURCE}
@echo making $@ in ${TERM_LIBDIR}
@(cd ${TERM_LIBDIR} && \
$(MAKE) $(MFLAGS) libtermcap.a) || exit 1
$(MAKE) $(BASH_MAKEFLAGS) libtermcap.a) || exit 1
$(SHLIB_LIBRARY): config.h ${SHLIB_SOURCE}
@echo making $@ in ${SH_LIBDIR}
@(cd ${SH_LIBDIR} && \
$(MAKE) $(MFLAGS) DEBUG=${DEBUG} ${SHLIB_LIBNAME}) || exit 1
$(MAKE) $(BASH_MAKEFLAGS) DEBUG=${DEBUG} ${SHLIB_LIBNAME}) || exit 1
${INTL_LIBRARY}: config.h ${INTL_LIBDIR}/Makefile
@echo making $@ in ${INTL_LIBDIR}
@(cd ${INTL_LIBDIR} && \
$(MAKE) $(MFLAGS) XCFLAGS="${LOCAL_CFLAGS}" all) || exit 1
$(MAKE) $(BASH_MAKEFLAGS) XCFLAGS="${LOCAL_CFLAGS}" all) || exit 1
${LIBINTL_H}: ${INTL_DEP}
# If we are cross-compiling, we link in this file and initialize the array
# of signal names at runtime
signames.o: $(SUPPORT_SRC)signames.c
$(RM) $@
$(CC) $(CCFLAGS) -c $(SUPPORT_SRC)signames.c
@@ -760,11 +765,13 @@ mksignames.o: $(SUPPORT_SRC)mksignames.c
$(RM) $@
$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -DBUILDTOOL -c $(SUPPORT_SRC)mksignames.c
# If we are not cross-compiling, we write out a header file (lsignames.h) with
# the signal name definitions at build time
mksignames$(EXEEXT): mksignames.o buildsignames.o
$(RM) $@
$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) ${LDFLAGS_FOR_BUILD} -o $@ mksignames.o buildsignames.o ${LIBS_FOR_BUILD}
mksyntax$(EXEEXT): ${srcdir}/mksyntax.c config.h syntax.h ${BASHINCDIR}/chartypes.h bashansi.h
mksyntax$(EXEEXT): ${srcdir}/mksyntax.c buildconf.h syntax.h ${BASHINCDIR}/chartypes.h
$(RM) $@
${CC_FOR_BUILD} ${CCFLAGS_FOR_BUILD} ${LDFLAGS_FOR_BUILD} -o $@ ${srcdir}/mksyntax.c ${LIBS_FOR_BUILD}
@@ -783,23 +790,23 @@ syntax.c: mksyntax${EXEEXT} $(srcdir)/syntax.h
./mksyntax$(EXEEXT) -o $@
$(BUILTINS_LIBRARY): $(DEFDIR)/builtext.h $(BUILTIN_DEFS) $(BUILTIN_C_SRC) config.h ${BASHINCDIR}/memalloc.h version.h
@(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} targets ) || exit 1
@(cd $(DEFDIR) && $(MAKE) $(BASH_MAKEFLAGS) DEBUG=${DEBUG} targets ) || exit 1
# these require special rules to circumvent make builtin rules
${DEFDIR}/common.o: $(BUILTIN_SRCDIR)/common.c
@(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} common.o) || exit 1
@(cd $(DEFDIR) && $(MAKE) $(BASH_MAKEFLAGS) DEBUG=${DEBUG} common.o) || exit 1
${DEFDIR}/bashgetopt.o: $(BUILTIN_SRCDIR)/bashgetopt.c
@(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} bashgetopt.o) || exit 1
@(cd $(DEFDIR) && $(MAKE) $(BASH_MAKEFLAGS) DEBUG=${DEBUG} bashgetopt.o) || exit 1
${DEFDIR}/builtext.h: $(BUILTIN_DEFS)
@(cd $(DEFDIR) && $(MAKE) $(MFLAGS) builtext.h ) || exit 1
@(cd $(DEFDIR) && $(MAKE) $(BASH_MAKEFLAGS) builtext.h ) || exit 1
${DEFDIR}/pipesize.h: ${BUILTINS_LIBRARY}
@(cd $(DEFDIR) && $(MAKE) $(MFLAGS) pipesize.h ) || exit 1
@(cd $(DEFDIR) && $(MAKE) $(BASH_MAKEFLAGS) pipesize.h ) || exit 1
$(SDIR)/man2html$(EXEEXT): ${SUPPORT_SRC}/man2html.c
@(cd $(SDIR) && $(MAKE) $(MFLAGS) all ) || exit 1
@(cd $(SDIR) && $(MAKE) $(BASH_MAKEFLAGS) all ) || exit 1
# For the justification of the following Makefile rules, see node
# `Automatic Remaking' in GNU Autoconf documentation.
@@ -842,19 +849,19 @@ reconfig: force
# force loadables to wait until the shell is built
loadables: .made
cd $(LOADABLES_DIR) && $(MAKE) $(MFLAGS) all
cd $(LOADABLES_DIR) && $(MAKE) $(BASH_MAKEFLAGS) all
#newversion: mkversion
# $(RM) .build
# ./mkversion -dir $(srcdir) -dist
# mv -f newversion.h version.h
# $(MAKE) -f $(srcdir)/Makefile $(MFLAGS) srcdir=$(srcdir)
# $(MAKE) -f $(srcdir)/Makefile $(BASH_MAKEFLAGS) srcdir=$(srcdir)
doc documentation: force
@(cd $(DOCDIR) ; $(MAKE) $(MFLAGS) )
@(cd $(DOCDIR) ; $(MAKE) $(BASH_MAKEFLAGS) )
info dvi ps: force
@(cd $(DOCDIR) ; $(MAKE) $(MFLAGS) CFLAGS='$(CCFLAGS)' $@ )
@(cd $(DOCDIR) ; $(MAKE) $(BASH_MAKEFLAGS) CFLAGS='$(CCFLAGS)' $@ )
force:
@@ -872,22 +879,22 @@ installdirs:
@${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(man1dir)
@${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(infodir)
@${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(docdir)
-( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(PO_DIR) ; $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
install: .made installdirs
$(INSTALL_PROGRAM) $(INSTALLMODE) $(Program) $(DESTDIR)$(bindir)/$(Program)
$(INSTALL_SCRIPT) $(INSTALLMODE2) bashbug $(DESTDIR)$(bindir)/bashbug
$(INSTALL_DATA) $(OTHER_DOCS) $(DESTDIR)$(docdir)
-( cd $(DOCDIR) ; $(MAKE) $(MFLAGS) \
-( cd $(DOCDIR) ; $(MAKE) $(BASH_MAKEFLAGS) \
man1dir=$(man1dir) man1ext=$(man1ext) \
man3dir=$(man3dir) man3ext=$(man3ext) \
infodir=$(infodir) htmldir=$(htmldir) DESTDIR=$(DESTDIR) $@ )
-( cd $(DEFDIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(LOADABLES_DIR) && $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(DEFDIR) ; $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(PO_DIR) ; $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(LOADABLES_DIR) && $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
install-strip:
$(MAKE) $(MFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
$(MAKE) $(BASH_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
prefix=${prefix} exec_prefix=${exec_prefix} \
DESTDIR=$(DESTDIR) install
@@ -926,12 +933,12 @@ uninstall-headers:
uninstall: .made
$(RM) $(DESTDIR)$(bindir)/$(Program) $(DESTDIR)$(bindir)/bashbug
-( cd $(DESTDIR)$(docdir) && ${RM} ${OTHER_INSTALLED_DOCS} )
-( cd $(DOCDIR) ; $(MAKE) $(MFLAGS) \
-( cd $(DOCDIR) ; $(MAKE) $(BASH_MAKEFLAGS) \
man1dir=$(man1dir) man1ext=$(man1ext) \
man3dir=$(man3dir) man3ext=$(man3ext) \
infodir=$(infodir) htmldir=$(htmldir) DESTDIR=$(DESTDIR) $@ )
-( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(LOADABLES_DIR) && $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(PO_DIR) ; $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(LOADABLES_DIR) && $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
.PHONY: basic-clean clean maintainer-clean distclean mostlyclean maybe-clean
@@ -943,36 +950,36 @@ basic-clean:
$(RM) .build .made version.h
clean: basic-clean
( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ )
( cd builtins && $(MAKE) $(MFLAGS) $@ )
-( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ )
( cd $(DOCDIR) && $(MAKE) $(BASH_MAKEFLAGS) $@ )
( cd builtins && $(MAKE) $(BASH_MAKEFLAGS) $@ )
-( cd $(SDIR) && $(MAKE) $(BASH_MAKEFLAGS) $@ )
-for libdir in ${LIB_SUBDIRS}; do \
(cd $$libdir && test -f Makefile && $(MAKE) $(MFLAGS) $@) ;\
(cd $$libdir && test -f Makefile && $(MAKE) $(BASH_MAKEFLAGS) $@) ;\
done
-( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(LOADABLES_DIR) && $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(PO_DIR) ; $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(LOADABLES_DIR) && $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
$(RM) $(CREATED_SUPPORT)
$(RM) -rf $(CREATED_MACOS)
mostlyclean: basic-clean
( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ )
( cd builtins && $(MAKE) $(MFLAGS) $@ )
-( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ )
( cd $(DOCDIR) && $(MAKE) $(BASH_MAKEFLAGS) $@ )
( cd builtins && $(MAKE) $(BASH_MAKEFLAGS) $@ )
-( cd $(SDIR) && $(MAKE) $(BASH_MAKEFLAGS) $@ )
-for libdir in ${LIB_SUBDIRS}; do \
(cd $$libdir && test -f Makefile && $(MAKE) $(MFLAGS) $@) ;\
(cd $$libdir && test -f Makefile && $(MAKE) $(BASH_MAKEFLAGS) $@) ;\
done
-( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(LOADABLES_DIR) && $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(PO_DIR) ; $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(LOADABLES_DIR) && $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
distclean: basic-clean maybe-clean
( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ )
( cd builtins && $(MAKE) $(MFLAGS) $@ )
-( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ )
( cd $(DOCDIR) && $(MAKE) $(BASH_MAKEFLAGS) $@ )
( cd builtins && $(MAKE) $(BASH_MAKEFLAGS) $@ )
-( cd $(SDIR) && $(MAKE) $(BASH_MAKEFLAGS) $@ )
-for libdir in ${LIB_SUBDIRS}; do \
(cd $$libdir && test -f Makefile && $(MAKE) $(MFLAGS) $@) ;\
(cd $$libdir && test -f Makefile && $(MAKE) $(BASH_MAKEFLAGS) $@) ;\
done
-( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(LOADABLES_DIR) && $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(PO_DIR) ; $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(LOADABLES_DIR) && $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
$(RM) $(CREATED_CONFIGURE) tags TAGS
$(RM) $(CREATED_SUPPORT) Makefile $(CREATED_MAKEFILES) $(CREATED_HEADERS)
$(RM) -rf $(CREATED_MACOS)
@@ -981,14 +988,14 @@ maintainer-clean: basic-clean
@echo This command is intended for maintainers to use.
@echo It deletes files that may require special tools to rebuild.
$(RM) y.tab.c y.tab.h parser-built tags TAGS
( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ )
( cd builtins && $(MAKE) $(MFLAGS) $@ )
( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ )
( cd $(DOCDIR) && $(MAKE) $(BASH_MAKEFLAGS) $@ )
( cd builtins && $(MAKE) $(BASH_MAKEFLAGS) $@ )
( cd $(SDIR) && $(MAKE) $(BASH_MAKEFLAGS) $@ )
-for libdir in ${LIB_SUBDIRS}; do \
(cd $$libdir && test -f Makefile && $(MAKE) $(MFLAGS) $@) ;\
(cd $$libdir && test -f Makefile && $(MAKE) $(BASH_MAKEFLAGS) $@) ;\
done
-( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(LOADABLES_DIR) && $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(PO_DIR) ; $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
-( cd $(LOADABLES_DIR) && $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
$(RM) $(CREATED_CONFIGURE) Makefile $(CREATED_MAKEFILES)
$(RM) $(CREATED_SUPPORT) $(CREATED_HEADERS)
$(RM) -rf $(CREATED_MACOS)
@@ -1025,8 +1032,8 @@ dist: force
@echo $(Program) $(srcdir)/support/mkdist -m $(srcdir)/MANIFEST -s $(srcdir) -r ${PACKAGE} -t $(PACKAGE_VERSION)
xdist: force
( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ )
( cd po && $(MAKE) $(MFLAGS) $@ )
( cd $(DOCDIR) && $(MAKE) $(BASH_MAKEFLAGS) $@ )
( cd po && $(MAKE) $(BASH_MAKEFLAGS) $@ )
depend: depends
@@ -1288,6 +1295,7 @@ variables.o: pcomplete.h ${BASHINCDIR}/chartypes.h
variables.o: ${BASHINCDIR}/posixtime.h assoc.h ${DEFSRC}/getopt.h
variables.o: version.h $(DEFDIR)/builtext.h
version.o: conftypes.h patchlevel.h version.h
version.o: buildconf.h
xmalloc.o: config.h bashtypes.h ${BASHINCDIR}/ansi_stdlib.h error.h
xmalloc.o: ${BASHINCDIR}/stdc.h $(ALLOC_LIBSRC)/shmalloc.h
+1 -5
View File
@@ -1359,8 +1359,7 @@ array_expand_index (SHELL_VAR *var, const char *s, int len, int flags)
exp = (char *)xmalloc (len);
strncpy (exp, s, len - 1);
exp[len - 1] = '\0';
#if 1 /* TAG: bash-5.3 */
#if 0
#if 0 /* XXX - not dependent on compatibility mode for now */
if (shell_compatibility_level <= 52 || (flags & AV_NOEXPAND) == 0)
#else
if ((flags & AV_NOEXPAND) == 0)
@@ -1368,9 +1367,6 @@ array_expand_index (SHELL_VAR *var, const char *s, int len, int flags)
t = expand_arith_string (exp, Q_DOUBLE_QUOTES|Q_ARITH|Q_ARRAYSUB); /* XXX - Q_ARRAYSUB for future use */
else
t = exp;
#else
t = expand_arith_string (exp, Q_DOUBLE_QUOTES|Q_ARITH|Q_ARRAYSUB); /* XXX - Q_ARRAYSUB for future use */
#endif
savecmd = this_command_name;
this_command_name = (char *)NULL;
eflag = (shell_compatibility_level > 51) ? 0 : EXP_EXPANDED;
+35
View File
@@ -0,0 +1,35 @@
/* buildconf.h -- config definitions from build environment for tools needed
at build time */
/* Copyright (C) 2024 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
Bash is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Bash is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
#if !defined (BUILDCONF_H_)
#define BUILDCONF_H_
#undef HAVE_LOCALE_H
#undef HAVE_UNISTD_H
#undef HAVE_ISBLANK
#undef PROCESS_SUBSTITUTION
#undef EXTENDED_GLOB
#endif /* BUILDCONF_H */
+2 -2
View File
@@ -266,7 +266,7 @@ distclean maintainer-clean: clean
$(OFILES): $(MKBUILTINS) ../config.h
../version.h: ../config.h ../Makefile Makefile
-( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} version.h )
-( cd ${BUILD_DIR} && ${MAKE} ${BASH_MAKEFLAGS} version.h )
# maintainer special - for now
po: builtins.c
@@ -275,7 +275,7 @@ po: builtins.c
${LIBINTL_H}:
@echo making $@ in ${INTL_BUILDDIR}
@(cd ${INTL_BUILDDIR} && \
$(MAKE) $(MFLAGS) libintl.h) || exit 1
$(MAKE) $(BASH_MAKEFLAGS) libintl.h) || exit 1
# dependencies
+22 -16
View File
@@ -1,7 +1,7 @@
This file is bind.def, from which is created bind.c.
It implements the builtin "bind" in Bash.
Copyright (C) 1987-2023 Free Software Foundation, Inc.
Copyright (C) 1987-2024 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -57,6 +57,9 @@ Options:
-X List key sequences bound with -x and associated commands
in a form that can be reused as input.
If arguments remain after option processing, the -p and -P options treat
them as readline command names and restrict output to those names.
Exit Status:
bind returns 0 unless an unrecognized option is given or an error occurs.
$END
@@ -114,6 +117,7 @@ bind_builtin (WORD_LIST *list)
Keymap kmap, saved_keymap;
int flags, opt;
char *initfile, *map_name, *fun_name, *unbind_name, *remove_seq, *cmd_seq, *t;
WORD_LIST *savelist;
if (no_line_editing)
builtin_warning (_("line editing not enabled"));
@@ -220,24 +224,29 @@ bind_builtin (WORD_LIST *list)
if (flags & PFLAG)
{
#if 0 /* TAG:bash-5.3 */
if (list == 0)
if (shell_compatibility_level <= 52 || list == 0)
rl_function_dumper (1);
else
while (list)
{
rl_print_keybinding (list->word->word, kmap, 1);
list = list->next;
}
#else
rl_function_dumper (1);
#endif
{
/* Allow both -p and -P to have a crack at the additional
arguments, just like supplying both -p and -P without
arguments displays the full set of bindings twice in
two separate formats. Otherwise, -p takes all the
arguments and -P prints all the bindings. */
savelist = (flags & PPFLAG) ? list : (WORD_LIST *)NULL;
while (list)
{
rl_print_keybinding (list->word->word, kmap, 1);
list = list->next;
}
list = savelist;
}
}
/* should combine this with the above clause */
if (flags & PPFLAG)
{
#if 0 /* TAG:bash-5.3 */
if (list == 0)
if (shell_compatibility_level <= 52 || list == 0)
rl_function_dumper (0);
else
while (list)
@@ -245,9 +254,6 @@ bind_builtin (WORD_LIST *list)
rl_print_keybinding (list->word->word, kmap, 0);
list = list->next;
}
#else
rl_function_dumper (0);
#endif
}
-3
View File
@@ -890,8 +890,6 @@ restart_new_var_name:
EXECUTION_FAILURE would cause set -e to exit the shell. */
NEXT_VARIABLE ();
}
#if 1
/* TAG:bash-5.3 20240216 */
/* Cannot set or unset invalid attributes on readonly variables */
else if (readonly_p (var) && ((flags_on & invalid_readonly_attrs) || (flags_off & invalid_readonly_attrs)))
{
@@ -901,7 +899,6 @@ restart_new_var_name:
any_failed++;
NEXT_VARIABLE ();
}
#endif
#if defined (ARRAY_VARS)
/* Array variable error checking. */
+1
View File
@@ -536,6 +536,7 @@ printf_builtin (WORD_LIST *list)
}
#endif
#if 0 /*TAG:bash-5.4*/
/* If altform, treat like %b */
if (altform == 0)
#endif
{
+2 -2
View File
@@ -211,7 +211,7 @@ wait_builtin (WORD_LIST *list)
#if defined (JOB_CONTROL)
if (nflag)
{
#if 0 /* TAG:bash-5.3 stevenpelley@gmail.com 01/22/2024 */
#if 0 /* TAG:bash-5.4 stevenpelley@gmail.com 01/22/2024 */
/* First let's see if there are any requested pids that have already
been removed from the jobs list and saved on bgpids. */
if (list)
@@ -393,7 +393,7 @@ unset_waitlist (void)
UNBLOCK_CHILD (oset);
}
#if 0 /* TAG:bash-5.3 */
#if 0 /* TAG:bash-5.4 */
static int
check_bgpids (WORD_LIST *list, struct procstat *pstat)
{
+1 -1
View File
@@ -141,7 +141,7 @@
executing simultaneously */
/* TAG: bash-5.3 */
#ifndef MULTIPLE_COPROCS
# define MULTIPLE_COPROCS 0
# define MULTIPLE_COPROCS 1
#endif
/* Define to 0 if you want the checkwinsize option off by default, 1 if you
Vendored
+2 -1
View File
@@ -3208,7 +3208,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_config_headers="$ac_config_headers config.h"
ac_config_headers="$ac_config_headers config.h buildconf.h"
BASHVERS=5.3
@@ -23860,6 +23860,7 @@ for ac_config_target in $ac_config_targets
do
case $ac_config_target in
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
"buildconf.h") CONFIG_HEADERS="$CONFIG_HEADERS buildconf.h" ;;
"po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"builtins/Makefile") CONFIG_FILES="$CONFIG_FILES builtins/Makefile" ;;
+1 -1
View File
@@ -34,7 +34,7 @@ AC_PREREQ(2.69)
AC_CONFIG_SRCDIR(shell.h)
dnl where to find install.sh, config.sub, and config.guess
AC_CONFIG_AUX_DIR(./support)
AC_CONFIG_HEADERS(config.h)
AC_CONFIG_HEADERS(config.h buildconf.h)
dnl checks for version info
BASHVERS=bashvers
+2 -2
View File
@@ -1,6 +1,6 @@
# This Makefile is for the Bash/documentation directory -*- text -*-.
#
# Copyright (C) 2003-2015 Free Software Foundation, Inc.
# Copyright (C) 2003-2024 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -222,7 +222,7 @@ OTHER_DOCS = $(srcdir)/FAQ $(srcdir)/INTRO
OTHER_INSTALLED_DOCS = FAQ INTRO
$(MAN2HTML): ${topdir}/support/man2html.c
-( cd ${BUILD_DIR}/support ; ${MAKE} ${MFLAGS} man2html)
-( cd ${BUILD_DIR}/support ; ${MAKE} ${BASH_MAKEFLAGS} man2html)
clean:
$(RM) *.aux *.bak *.cp *.fn *.ky *.log *.pg *.toc *.tp *.vr *.cps \
+1631 -1614
View File
File diff suppressed because it is too large Load Diff
+32 -8
View File
@@ -5,14 +5,14 @@
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
.\" Last Change: Fri Mar 29 11:54:22 EDT 2024
.\" Last Change: Tue Apr 23 15:08:01 EDT 2024
.\"
.\" bash_builtins, strip all but Built-Ins section
.\" avoid a warning about an undefined register
.\" .if !rzY .nr zY 0
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
.TH BASH 1 "2024 March 29" "GNU Bash 5.3"
.TH BASH 1 "2024 April 23" "GNU Bash 5.3"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
@@ -86,8 +86,8 @@ bash \- GNU Bourne-Again SHell
[options]
[command_string | file]
.SH COPYRIGHT
.if n Bash is Copyright (C) 1989-2023 by the Free Software Foundation, Inc.
.if t Bash is Copyright \(co 1989-2023 by the Free Software Foundation, Inc.
.if n Bash is Copyright (C) 1989-2024 by the Free Software Foundation, Inc.
.if t Bash is Copyright \(co 1989-2024 by the Free Software Foundation, Inc.
.SH DESCRIPTION
.B Bash
is an \fBsh\fP-compatible command language interpreter that
@@ -1491,7 +1491,7 @@ Expands to the number of positional parameters in decimal.
.TP
.B ?
Expands to the exit status of the most recently executed foreground
pipeline.
command.
.TP
.B \-
Expands to the current option flags as specified upon invocation,
@@ -2032,8 +2032,11 @@ The default is system-dependent.
An array variable (see
.B Arrays
below) containing a list of exit status values from the processes
in the most-recently-executed foreground pipeline (which may
contain only a single command).
in the most-recently-executed foreground pipeline, which may
consist of only a simple command
(see
.B "SHELL GRAMMAR"
above).
.TP
.B PPID
The process ID of the shell's parent. This variable is readonly.
@@ -8145,7 +8148,7 @@ returns 0 unless run when job control is disabled or, when run with
job control enabled, any specified \fIjobspec\fP was not found
or was started without job control.
.TP
\fBbind\fP [\fB\-m\fP \fIkeymap\fP] [\fB\-lpsvPSVX\fP]
\fBbind\fP [\fB\-m\fP \fIkeymap\fP] [\fB\-lsvSVX\fP]
.PD 0
.TP
\fBbind\fP [\fB\-m\fP \fIkeymap\fP] [\fB\-q\fP \fIfunction\fP] [\fB\-u\fP \fIfunction\fP] [\fB\-r\fP \fIkeyseq\fP]
@@ -8156,6 +8159,8 @@ or was started without job control.
.TP
\fBbind\fP [\fB\-m\fP \fIkeymap\fP] \fIkeyseq\fP:\fIfunction\-name\fP
.TP
\fBbind\fP [\fB\-m\fP \fIkeymap\fP] \fB\-p\fP|\fB\-P\fP [\fIreadline\-command\fP]
.TP
\fBbind\fP [\fB\-m\fP \fIkeymap\fP] \fIkeyseq\fP:\fIreadline\-command\fP
.TP
\fBbind\fP \fIreadline-command-line\fP
@@ -8203,9 +8208,13 @@ List the names of all \fBreadline\fP functions.
.B \-p
Display \fBreadline\fP function names and bindings in such a way
that they can be re-read.
If arguments remain after option processing, \fBbind\fP treats
them as readline command names and restricts output to those names.
.TP
.B \-P
List current \fBreadline\fP function names and bindings.
If arguments remain after option processing, \fBbind\fP treats
them as readline command names and restricts output to those names.
.TP
.B \-s
Display \fBreadline\fP key sequences bound to macros and the strings
@@ -12110,6 +12119,21 @@ It will fail at word expansion time if extglob hasn't been
enabled by the time the command is executed.
.RE
.PD
.TP
\fBcompat52\fP
.PD 0
.RS
.IP \(bu
The \fBtest\fP builtin uses its historical algorithm to parse parenthesized
subexpressions when given five or more arguments.
.IP \(bu
If the \fB\-p\fP or \fB\-P\fP option is supplied to the \fBbind\fP builtin,
\fBbind\fP treats any arguments remaining after option processing
as bindable command names, and
displays any key sequences bound to those commands, instead of treating
the arguments as key sequences to bind.
.RE
.PD
.\" bash_builtins
.if \n(zZ=1 .ig zZ
.SH "RESTRICTED SHELL"
+34 -9
View File
@@ -3,7 +3,7 @@
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2024 March 29<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2024 April 23<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
@@ -73,7 +73,7 @@ bash - GNU Bourne-Again SHell
<H3>COPYRIGHT</H3>
Bash is Copyright &#169; 1989-2023 by the Free Software Foundation, Inc.
Bash is Copyright &#169; 1989-2024 by the Free Software Foundation, Inc.
<A NAME="lbAE">&nbsp;</A>
<H3>DESCRIPTION</H3>
@@ -1881,7 +1881,7 @@ Expands to the number of positional parameters in decimal.
<DD>
Expands to the exit status of the most recently executed foreground
pipeline.
command.
<DT><B>-</B>
<DD>
@@ -2562,8 +2562,12 @@ An array variable (see
<B>Arrays</B>
below) containing a list of exit status values from the processes
in the most-recently-executed foreground pipeline (which may
contain only a single command).
in the most-recently-executed foreground pipeline, which may
consist of only a simple command
(see
<B>SHELL GRAMMAR</B>
above).
<DT><B>PPID</B>
<DD>
@@ -10287,12 +10291,13 @@ is not present, the shell's notion of the <I>current job</I> is used.
returns 0 unless run when job control is disabled or, when run with
job control enabled, any specified <I>jobspec</I> was not found
or was started without job control.
<DT><B>bind</B> [<B>-m</B> <I>keymap</I>] [<B>-lpsvPSVX</B>]<DD>
<DT><B>bind</B> [<B>-m</B> <I>keymap</I>] [<B>-lsvSVX</B>]<DD>
<DT><B>bind</B> [<B>-m</B> <I>keymap</I>] [<B>-q</B> <I>function</I>] [<B>-u</B> <I>function</I>] [<B>-r</B> <I>keyseq</I>]<DD>
<DT><B>bind</B> [<B>-m</B> <I>keymap</I>] <B>-f</B> <I>filename</I><DD>
<DT><B>bind</B> [<B>-m</B> <I>keymap</I>] <B>-x</B> <I>keyseq</I>[:] <I>shell-command</I><DD>
<DT><B>bind</B> [<B>-m</B> <I>keymap</I>] <I>keyseq</I>:<I>function-name</I><DD>
<DT><B>bind</B> [<B>-m</B> <I>keymap</I>] <B>-p</B>|<B>-P</B> [<I>readline-command</I>]<DD>
<DT><B>bind</B> [<B>-m</B> <I>keymap</I>] <I>keyseq</I>:<I>readline-command</I><DD>
<DT><B>bind</B> <I>readline-command-line</I><DD>
@@ -10355,10 +10360,14 @@ List the names of all <B>readline</B> functions.
<DD>
Display <B>readline</B> function names and bindings in such a way
that they can be re-read.
If arguments remain after option processing, <B>bind</B> treats
them as readline command names and restricts output to those names.
<DT><B>-P</B>
<DD>
List current <B>readline</B> function names and bindings.
If arguments remain after option processing, <B>bind</B> treats
them as readline command names and restricts output to those names.
<DT><B>-s</B>
<DD>
@@ -15164,6 +15173,22 @@ enabled by the time the command is executed.
</DL></DL>
<DT><B>compat52</B><DD>
<DL COMPACT><DT><DD>
<DL COMPACT>
<DT>*<DD>
The <B>test</B> builtin uses its historical algorithm to parse parenthesized
subexpressions when given five or more arguments.
<DT>*<DD>
If the <B>-p</B> or <B>-P</B> option is supplied to the <B>bind</B> builtin,
<B>bind</B> treats any arguments remaining after option processing
as bindable command names, and
displays any key sequences bound to those commands, instead of treating
the arguments as key sequences to bind.
</DL></DL>
</DL>
@@ -15471,7 +15496,7 @@ There may be only one active coprocess at a time.
<HR>
<TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>GNU Bash 5.3<TH ALIGN=CENTER width=33%>2024 March 29<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>GNU Bash 5.3<TH ALIGN=CENTER width=33%>2024 April 23<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
@@ -15577,7 +15602,7 @@ There may be only one active coprocess at a time.
<DT><A HREF="#lbDI">BUGS</A><DD>
</DL>
<HR>
This document was created by man2html from /usr/local/src/bash/bash-20240402/doc/bash.1.<BR>
Time: 04 April 2024 17:50:28 EDT
This document was created by man2html from /usr/local/src/bash/bash-20240422/doc/bash.1.<BR>
Time: 23 April 2024 17:29:53 EDT
</BODY>
</HTML>
+194 -183
View File
@@ -1,9 +1,9 @@
This is bash.info, produced by makeinfo version 7.1 from bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 5.3, 5 April 2024).
Bash shell (version 5.3, 23 April 2024).
This is Edition 5.3, last updated 5 April 2024, of The GNU Bash
This is Edition 5.3, last updated 23 April 2024, of The GNU Bash
Reference Manual, for Bash, Version 5.3.
Copyright © 1988-2023 Free Software Foundation, Inc.
@@ -26,10 +26,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 5.3, 5 April 2024). The Bash home page is
Bash shell (version 5.3, 23 April 2024). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.3, last updated 5 April 2024, of The GNU Bash
This is Edition 5.3, last updated 23 April 2024, of The GNU Bash
Reference Manual, for Bash, Version 5.3.
Bash contains features that appear in other popular shells, and some
@@ -1588,7 +1588,7 @@ only be referenced; assignment to them is not allowed.
?
($?) Expands to the exit status of the most recently executed
foreground pipeline.
foreground command.
-
($-, a hyphen.) Expands to the current option flags as specified
@@ -3779,12 +3779,13 @@ standard.
Aliases::.
bind
bind [-m KEYMAP] [-lpsvPSVX]
bind [-m KEYMAP] [-lsvSVX]
bind [-m KEYMAP] [-q FUNCTION] [-u FUNCTION] [-r KEYSEQ]
bind [-m KEYMAP] -f FILENAME
bind [-m KEYMAP] -x KEYSEQ[: ]SHELL-COMMAND
bind [-m KEYMAP] KEYSEQ:FUNCTION-NAME
bind [-m KEYMAP] KEYSEQ:READLINE-COMMAND
bind [-m KEYMAP] -p|-P [READLINE-COMMAND]
bind READLINE-COMMAND-LINE
Display current Readline (*note Command Line Editing::) key and
@@ -3810,10 +3811,14 @@ standard.
-p
Display Readline function names and bindings in such a way
that they can be used as an argument to a subsequent bind
command or in a Readline initialization file.
command or in a Readline initialization file. If arguments
remain after option processing, bind treats them as readline
command names and restricts output to those names.
-P
List current Readline function names and bindings.
List current Readline function names and bindings. If
arguments remain after option processing, bind treats them
as readline command names and restricts output to those names.
-v
Display Readline variable names and values in such a way that
@@ -5938,7 +5943,8 @@ Variables::).
PIPESTATUS
An array variable (*note Arrays::) containing a list of exit status
values from the processes in the most-recently-executed foreground
pipeline (which may contain only a single command).
pipeline, which may consist of only a simple command (*note Shell
Commands::).
POSIXLY_CORRECT
If this variable is in the environment when Bash starts, the shell
@@ -7777,6 +7783,11 @@ required for bash-5.1 and later versions.
• The test builtin uses its historical algorithm to parse
parenthesized subexpressions when given five or more
arguments.
• If the -p or -P option is supplied to the bind builtin,
bind treats any arguments remaining after option processing
as bindable command names, and displays any key sequences
bound to those commands, instead of treating the arguments as
key sequences to bind.

File: bash.info, Node: Job Control, Next: Command Line Editing, Prev: Bash Features, Up: Top
@@ -12209,11 +12220,11 @@ D.1 Index of Shell Builtin Commands
* bind: Bash Builtins. (line 21)
* break: Bourne Shell Builtins.
(line 37)
* builtin: Bash Builtins. (line 119)
* caller: Bash Builtins. (line 128)
* builtin: Bash Builtins. (line 124)
* caller: Bash Builtins. (line 133)
* cd: Bourne Shell Builtins.
(line 45)
* command: Bash Builtins. (line 145)
* command: Bash Builtins. (line 150)
* compgen: Programmable Completion Builtins.
(line 12)
* complete: Programmable Completion Builtins.
@@ -12222,13 +12233,13 @@ D.1 Index of Shell Builtin Commands
(line 248)
* continue: Bourne Shell Builtins.
(line 90)
* declare: Bash Builtins. (line 165)
* declare: Bash Builtins. (line 170)
* dirs: Directory Stack Builtins.
(line 7)
* disown: Job Control Builtins.
(line 104)
* echo: Bash Builtins. (line 268)
* enable: Bash Builtins. (line 317)
* echo: Bash Builtins. (line 273)
* enable: Bash Builtins. (line 322)
* eval: Bourne Shell Builtins.
(line 99)
* exec: Bourne Shell Builtins.
@@ -12247,26 +12258,26 @@ D.1 Index of Shell Builtin Commands
(line 153)
* hash: Bourne Shell Builtins.
(line 197)
* help: Bash Builtins. (line 355)
* help: Bash Builtins. (line 360)
* history: Bash History Builtins.
(line 46)
* jobs: Job Control Builtins.
(line 27)
* kill: Job Control Builtins.
(line 58)
* let: Bash Builtins. (line 374)
* local: Bash Builtins. (line 382)
* logout: Bash Builtins. (line 399)
* mapfile: Bash Builtins. (line 404)
* let: Bash Builtins. (line 379)
* local: Bash Builtins. (line 387)
* logout: Bash Builtins. (line 404)
* mapfile: Bash Builtins. (line 409)
* popd: Directory Stack Builtins.
(line 35)
* printf: Bash Builtins. (line 450)
* printf: Bash Builtins. (line 455)
* pushd: Directory Stack Builtins.
(line 69)
* pwd: Bourne Shell Builtins.
(line 222)
* read: Bash Builtins. (line 518)
* readarray: Bash Builtins. (line 624)
* read: Bash Builtins. (line 523)
* readarray: Bash Builtins. (line 629)
* readonly: Bourne Shell Builtins.
(line 232)
* return: Bourne Shell Builtins.
@@ -12275,7 +12286,7 @@ D.1 Index of Shell Builtin Commands
* shift: Bourne Shell Builtins.
(line 272)
* shopt: The Shopt Builtin. (line 9)
* source: Bash Builtins. (line 633)
* source: Bash Builtins. (line 638)
* suspend: Job Control Builtins.
(line 116)
* test: Bourne Shell Builtins.
@@ -12286,12 +12297,12 @@ D.1 Index of Shell Builtin Commands
(line 393)
* true: Bourne Shell Builtins.
(line 455)
* type: Bash Builtins. (line 638)
* typeset: Bash Builtins. (line 676)
* ulimit: Bash Builtins. (line 682)
* type: Bash Builtins. (line 643)
* typeset: Bash Builtins. (line 681)
* ulimit: Bash Builtins. (line 687)
* umask: Bourne Shell Builtins.
(line 460)
* unalias: Bash Builtins. (line 788)
* unalias: Bash Builtins. (line 793)
* unset: Bourne Shell Builtins.
(line 478)
* wait: Job Control Builtins.
@@ -12535,32 +12546,32 @@ D.3 Parameter and Variable Index
* PATH: Bourne Shell Variables.
(line 42)
* PIPESTATUS: Bash Variables. (line 602)
* POSIXLY_CORRECT: Bash Variables. (line 607)
* PPID: Bash Variables. (line 617)
* PROMPT_COMMAND: Bash Variables. (line 621)
* PROMPT_DIRTRIM: Bash Variables. (line 627)
* PS0: Bash Variables. (line 633)
* POSIXLY_CORRECT: Bash Variables. (line 608)
* PPID: Bash Variables. (line 618)
* PROMPT_COMMAND: Bash Variables. (line 622)
* PROMPT_DIRTRIM: Bash Variables. (line 628)
* PS0: Bash Variables. (line 634)
* PS1: Bourne Shell Variables.
(line 48)
* PS2: Bourne Shell Variables.
(line 53)
* PS3: Bash Variables. (line 638)
* PS4: Bash Variables. (line 643)
* PWD: Bash Variables. (line 651)
* RANDOM: Bash Variables. (line 654)
* READLINE_ARGUMENT: Bash Variables. (line 660)
* READLINE_LINE: Bash Variables. (line 664)
* READLINE_MARK: Bash Variables. (line 668)
* READLINE_POINT: Bash Variables. (line 674)
* REPLY: Bash Variables. (line 678)
* PS3: Bash Variables. (line 639)
* PS4: Bash Variables. (line 644)
* PWD: Bash Variables. (line 652)
* RANDOM: Bash Variables. (line 655)
* READLINE_ARGUMENT: Bash Variables. (line 661)
* READLINE_LINE: Bash Variables. (line 665)
* READLINE_MARK: Bash Variables. (line 669)
* READLINE_POINT: Bash Variables. (line 675)
* REPLY: Bash Variables. (line 679)
* revert-all-at-newline: Readline Init File Syntax.
(line 325)
* search-ignore-case: Readline Init File Syntax.
(line 332)
* SECONDS: Bash Variables. (line 681)
* SHELL: Bash Variables. (line 690)
* SHELLOPTS: Bash Variables. (line 695)
* SHLVL: Bash Variables. (line 704)
* SECONDS: Bash Variables. (line 682)
* SHELL: Bash Variables. (line 691)
* SHELLOPTS: Bash Variables. (line 696)
* SHLVL: Bash Variables. (line 705)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 337)
* show-all-if-unmodified: Readline Init File Syntax.
@@ -12569,15 +12580,15 @@ D.3 Parameter and Variable Index
(line 352)
* skip-completed-text: Readline Init File Syntax.
(line 358)
* SRANDOM: Bash Variables. (line 709)
* SRANDOM: Bash Variables. (line 710)
* TEXTDOMAIN: Creating Internationalized Scripts.
(line 51)
* TEXTDOMAINDIR: Creating Internationalized Scripts.
(line 51)
* TIMEFORMAT: Bash Variables. (line 718)
* TMOUT: Bash Variables. (line 756)
* TMPDIR: Bash Variables. (line 768)
* UID: Bash Variables. (line 772)
* TIMEFORMAT: Bash Variables. (line 719)
* TMOUT: Bash Variables. (line 757)
* TMPDIR: Bash Variables. (line 769)
* UID: Bash Variables. (line 773)
* vi-cmd-mode-string: Readline Init File Syntax.
(line 371)
* vi-ins-mode-string: Readline Init File Syntax.
@@ -12969,138 +12980,138 @@ D.5 Concept Index

Tag Table:
Node: Top893
Node: Introduction2826
Node: What is Bash?3039
Node: What is a shell?4180
Node: Definitions6759
Node: Basic Shell Features9935
Node: Shell Syntax11155
Node: Shell Operation12182
Node: Quoting13480
Node: Escape Character14793
Node: Single Quotes15291
Node: Double Quotes15640
Node: ANSI-C Quoting16983
Node: Locale Translation18368
Node: Creating Internationalized Scripts19712
Node: Comments23910
Node: Shell Commands24545
Node: Reserved Words25484
Node: Simple Commands26349
Node: Pipelines27008
Node: Lists30071
Node: Compound Commands31943
Node: Looping Constructs32952
Node: Conditional Constructs35496
Node: Command Grouping50400
Node: Coprocesses51887
Node: GNU Parallel54583
Node: Shell Functions55501
Node: Shell Parameters63607
Node: Positional Parameters68140
Node: Special Parameters69075
Node: Shell Expansions72382
Node: Brace Expansion74571
Node: Tilde Expansion77234
Node: Shell Parameter Expansion80000
Node: Command Substitution99107
Node: Arithmetic Expansion102640
Node: Process Substitution103605
Node: Word Splitting104742
Node: Filename Expansion106883
Node: Pattern Matching109979
Node: Quote Removal115212
Node: Redirections115516
Node: Executing Commands125325
Node: Simple Command Expansion125992
Node: Command Search and Execution128103
Node: Command Execution Environment130511
Node: Environment133820
Node: Exit Status135524
Node: Signals137309
Node: Shell Scripts140923
Node: Shell Builtin Commands144015
Node: Bourne Shell Builtins146126
Node: Bash Builtins170530
Node: Modifying Shell Behavior205135
Node: The Set Builtin205477
Node: The Shopt Builtin216992
Node: Special Builtins233728
Node: Shell Variables234717
Node: Bourne Shell Variables235151
Node: Bash Variables237344
Node: Bash Features273894
Node: Invoking Bash274908
Node: Bash Startup Files281307
Node: Interactive Shells286619
Node: What is an Interactive Shell?287027
Node: Is this Shell Interactive?287693
Node: Interactive Shell Behavior288517
Node: Bash Conditional Expressions292271
Node: Shell Arithmetic297445
Node: Aliases300527
Node: Arrays303482
Node: The Directory Stack310281
Node: Directory Stack Builtins311078
Node: Controlling the Prompt315527
Node: The Restricted Shell318665
Node: Bash POSIX Mode321452
Node: Shell Compatibility Mode338963
Node: Job Control347647
Node: Job Control Basics348104
Node: Job Control Builtins353278
Node: Job Control Variables359238
Node: Command Line Editing360415
Node: Introduction and Notation362119
Node: Readline Interaction363763
Node: Readline Bare Essentials364951
Node: Readline Movement Commands366769
Node: Readline Killing Commands367766
Node: Readline Arguments369744
Node: Searching370801
Node: Readline Init File373030
Node: Readline Init File Syntax374312
Node: Conditional Init Constructs399250
Node: Sample Init File403615
Node: Bindable Readline Commands406736
Node: Commands For Moving407961
Node: Commands For History410061
Node: Commands For Text415144
Node: Commands For Killing419219
Node: Numeric Arguments422020
Node: Commands For Completion423172
Node: Keyboard Macros427488
Node: Miscellaneous Commands428189
Node: Readline vi Mode434843
Node: Programmable Completion435795
Node: Programmable Completion Builtins443752
Node: A Programmable Completion Example455318
Node: Using History Interactively460663
Node: Bash History Facilities461344
Node: Bash History Builtins464456
Node: History Interaction469699
Node: Event Designators474024
Node: Word Designators475607
Node: Modifiers477593
Node: Installing Bash479502
Node: Basic Installation480636
Node: Compilers and Options484515
Node: Compiling For Multiple Architectures485265
Node: Installation Names487014
Node: Specifying the System Type489248
Node: Sharing Defaults489994
Node: Operation Controls490708
Node: Optional Features491727
Node: Reporting Bugs503529
Node: Major Differences From The Bourne Shell504878
Node: GNU Free Documentation License524613
Node: Indexes549790
Node: Builtin Index550241
Node: Reserved Word Index557339
Node: Variable Index559784
Node: Function Index576915
Node: Concept Index590771
Node: Top895
Node: Introduction2830
Node: What is Bash?3043
Node: What is a shell?4184
Node: Definitions6763
Node: Basic Shell Features9939
Node: Shell Syntax11159
Node: Shell Operation12186
Node: Quoting13484
Node: Escape Character14797
Node: Single Quotes15295
Node: Double Quotes15644
Node: ANSI-C Quoting16987
Node: Locale Translation18372
Node: Creating Internationalized Scripts19716
Node: Comments23914
Node: Shell Commands24549
Node: Reserved Words25488
Node: Simple Commands26353
Node: Pipelines27012
Node: Lists30075
Node: Compound Commands31947
Node: Looping Constructs32956
Node: Conditional Constructs35500
Node: Command Grouping50404
Node: Coprocesses51891
Node: GNU Parallel54587
Node: Shell Functions55505
Node: Shell Parameters63611
Node: Positional Parameters68144
Node: Special Parameters69079
Node: Shell Expansions72385
Node: Brace Expansion74574
Node: Tilde Expansion77237
Node: Shell Parameter Expansion80003
Node: Command Substitution99110
Node: Arithmetic Expansion102643
Node: Process Substitution103608
Node: Word Splitting104745
Node: Filename Expansion106886
Node: Pattern Matching109982
Node: Quote Removal115215
Node: Redirections115519
Node: Executing Commands125328
Node: Simple Command Expansion125995
Node: Command Search and Execution128106
Node: Command Execution Environment130514
Node: Environment133823
Node: Exit Status135527
Node: Signals137312
Node: Shell Scripts140926
Node: Shell Builtin Commands144018
Node: Bourne Shell Builtins146129
Node: Bash Builtins170533
Node: Modifying Shell Behavior205492
Node: The Set Builtin205834
Node: The Shopt Builtin217349
Node: Special Builtins234085
Node: Shell Variables235074
Node: Bourne Shell Variables235508
Node: Bash Variables237701
Node: Bash Features274283
Node: Invoking Bash275297
Node: Bash Startup Files281696
Node: Interactive Shells287008
Node: What is an Interactive Shell?287416
Node: Is this Shell Interactive?288082
Node: Interactive Shell Behavior288906
Node: Bash Conditional Expressions292660
Node: Shell Arithmetic297834
Node: Aliases300916
Node: Arrays303871
Node: The Directory Stack310670
Node: Directory Stack Builtins311467
Node: Controlling the Prompt315916
Node: The Restricted Shell319054
Node: Bash POSIX Mode321841
Node: Shell Compatibility Mode339352
Node: Job Control348371
Node: Job Control Basics348828
Node: Job Control Builtins354002
Node: Job Control Variables359962
Node: Command Line Editing361139
Node: Introduction and Notation362843
Node: Readline Interaction364487
Node: Readline Bare Essentials365675
Node: Readline Movement Commands367493
Node: Readline Killing Commands368490
Node: Readline Arguments370468
Node: Searching371525
Node: Readline Init File373754
Node: Readline Init File Syntax375036
Node: Conditional Init Constructs399974
Node: Sample Init File404339
Node: Bindable Readline Commands407460
Node: Commands For Moving408685
Node: Commands For History410785
Node: Commands For Text415868
Node: Commands For Killing419943
Node: Numeric Arguments422744
Node: Commands For Completion423896
Node: Keyboard Macros428212
Node: Miscellaneous Commands428913
Node: Readline vi Mode435567
Node: Programmable Completion436519
Node: Programmable Completion Builtins444476
Node: A Programmable Completion Example456042
Node: Using History Interactively461387
Node: Bash History Facilities462068
Node: Bash History Builtins465180
Node: History Interaction470423
Node: Event Designators474748
Node: Word Designators476331
Node: Modifiers478317
Node: Installing Bash480226
Node: Basic Installation481360
Node: Compilers and Options485239
Node: Compiling For Multiple Architectures485989
Node: Installation Names487738
Node: Specifying the System Type489972
Node: Sharing Defaults490718
Node: Operation Controls491432
Node: Optional Features492451
Node: Reporting Bugs504253
Node: Major Differences From The Bourne Shell505602
Node: GNU Free Documentation License525337
Node: Indexes550514
Node: Builtin Index550965
Node: Reserved Word Index558063
Node: Variable Index560508
Node: Function Index577639
Node: Concept Index591495

End Tag Table
BIN
View File
Binary file not shown.
+2 -2
View File
@@ -29,7 +29,7 @@
\entry{declare}{60}{\code {declare}}
\entry{echo}{61}{\code {echo}}
\entry{enable}{62}{\code {enable}}
\entry{help}{62}{\code {help}}
\entry{help}{63}{\code {help}}
\entry{let}{63}{\code {let}}
\entry{local}{63}{\code {local}}
\entry{logout}{63}{\code {logout}}
@@ -40,7 +40,7 @@
\entry{source}{67}{\code {source}}
\entry{type}{67}{\code {type}}
\entry{typeset}{67}{\code {typeset}}
\entry{ulimit}{67}{\code {ulimit}}
\entry{ulimit}{68}{\code {ulimit}}
\entry{unalias}{69}{\code {unalias}}
\entry{set}{69}{\code {set}}
\entry{shopt}{73}{\code {shopt}}
+2 -2
View File
@@ -38,7 +38,7 @@
\entry{\code {getopts}}{51}
\initial {H}
\entry{\code {hash}}{52}
\entry{\code {help}}{62}
\entry{\code {help}}{63}
\entry{\code {history}}{160}
\initial {J}
\entry{\code {jobs}}{119}
@@ -74,7 +74,7 @@
\entry{\code {type}}{67}
\entry{\code {typeset}}{67}
\initial {U}
\entry{\code {ulimit}}{67}
\entry{\code {ulimit}}{68}
\entry{\code {umask}}{56}
\entry{\code {unalias}}{69}
\entry{\code {unset}}{57}
BIN
View File
Binary file not shown.
+19 -8
View File
@@ -4,9 +4,9 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- This text is a brief description of the features that are present in
the Bash shell (version 5.3, 5 April 2024).
the Bash shell (version 5.3, 23 April 2024).
This is Edition 5.3, last updated 5 April 2024,
This is Edition 5.3, last updated 23 April 2024,
of The GNU Bash Reference Manual,
for Bash, Version 5.3.
@@ -77,10 +77,10 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Previou
<h1 class="top" id="Bash-Features-1"><span>Bash Features<a class="copiable-link" href="#Bash-Features-1"> &para;</a></span></h1>
<p>This text is a brief description of the features that are present in
the Bash shell (version 5.3, 5 April 2024).
the Bash shell (version 5.3, 23 April 2024).
The Bash home page is <a class="url" href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
</p>
<p>This is Edition 5.3, last updated 5 April 2024,
<p>This is Edition 5.3, last updated 23 April 2024,
of <cite class="cite">The GNU Bash Reference Manual</cite>,
for <code class="code">Bash</code>, Version 5.3.
</p>
@@ -2244,7 +2244,7 @@ expand to nothing (i.e., they are removed).
<dt><a id="index-_003f"></a><span><code class="code">?</code><a class="copiable-link" href="#index-_003f"> &para;</a></span></dt>
<dd><a class="index-entry-id" id="index-_0024_003f"></a>
<p>($?) Expands to the exit status of the most recently executed foreground
pipeline.
command.
</p>
</dd>
<dt><a id="index-_002d"></a><span><code class="code">-</code><a class="copiable-link" href="#index-_002d"> &para;</a></span></dt>
@@ -5027,12 +5027,13 @@ Aliases are described in <a class="ref" href="#Aliases">Aliases</a>.
</dd>
<dt><a id="index-bind"></a><span><code class="code">bind</code><a class="copiable-link" href="#index-bind"> &para;</a></span></dt>
<dd><div class="example">
<pre class="example-preformatted">bind [-m <var class="var">keymap</var>] [-lpsvPSVX]
<pre class="example-preformatted">bind [-m <var class="var">keymap</var>] [-lsvSVX]
bind [-m <var class="var">keymap</var>] [-q <var class="var">function</var>] [-u <var class="var">function</var>] [-r <var class="var">keyseq</var>]
bind [-m <var class="var">keymap</var>] -f <var class="var">filename</var>
bind [-m <var class="var">keymap</var>] -x <var class="var">keyseq[: ]shell-command</var>
bind [-m <var class="var">keymap</var>] <var class="var">keyseq:function-name</var>
bind [-m <var class="var">keymap</var>] <var class="var">keyseq:readline-command</var>
bind [-m <var class="var">keymap</var>] -p|-P [<var class="var">readline-command</var>]
bind <var class="var">readline-command-line</var>
</pre></div>
@@ -5073,10 +5074,14 @@ synonym); <code class="code">emacs</code> is equivalent to <code class="code">em
in such a way that they can be used as
an argument to a subsequent <code class="code">bind</code> command
or in a Readline initialization file.
If arguments remain after option processing, <code class="code">bind</code> treats
them as readline command names and restricts output to those names.
</p>
</dd>
<dt><code class="code">-P</code></dt>
<dd><p>List current Readline function names and bindings.
If arguments remain after option processing, <code class="code">bind</code> treats
them as readline command names and restricts output to those names.
</p>
</dd>
<dt><code class="code">-v</code></dt>
@@ -7752,8 +7757,9 @@ generated by the <code class="code">getopts</code> builtin command.
<dt><a id="index-PIPESTATUS"></a><span><code class="code">PIPESTATUS</code><a class="copiable-link" href="#index-PIPESTATUS"> &para;</a></span></dt>
<dd><p>An array variable (see <a class="pxref" href="#Arrays">Arrays</a>)
containing a list of exit status values from the processes
in the most-recently-executed foreground pipeline (which may
contain only a single command).
in the most-recently-executed foreground pipeline, which may
consist of only a simple command
(see <a class="pxref" href="#Shell-Commands">Shell Commands</a>).
</p>
</dd>
<dt><a id="index-POSIXLY_005fCORRECT"></a><span><code class="code">POSIXLY_CORRECT</code><a class="copiable-link" href="#index-POSIXLY_005fCORRECT"> &para;</a></span></dt>
@@ -10021,6 +10027,11 @@ enabled by the time the command is executed.
<dd><ul class="itemize mark-bullet">
<li>The <code class="code">test</code> builtin uses its historical algorithm to parse parenthesized
subexpressions when given five or more arguments.
</li><li>If the <samp class="option">-p</samp> or <samp class="option">-P</samp> option is supplied to the <code class="code">bind</code> builtin,
<code class="code">bind</code> treats any arguments remaining after option processing
as bindable command names, and
displays any key sequences bound to those commands, instead of treating
the arguments as key sequences to bind.
</li></ul>
</dd>
+194 -183
View File
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 7.1 from
bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 5.3, 5 April 2024).
Bash shell (version 5.3, 23 April 2024).
This is Edition 5.3, last updated 5 April 2024, of The GNU Bash
This is Edition 5.3, last updated 23 April 2024, of The GNU Bash
Reference Manual, for Bash, Version 5.3.
Copyright © 1988-2023 Free Software Foundation, Inc.
@@ -27,10 +27,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 5.3, 5 April 2024). The Bash home page is
Bash shell (version 5.3, 23 April 2024). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.3, last updated 5 April 2024, of The GNU Bash
This is Edition 5.3, last updated 23 April 2024, of The GNU Bash
Reference Manual, for Bash, Version 5.3.
Bash contains features that appear in other popular shells, and some
@@ -1589,7 +1589,7 @@ only be referenced; assignment to them is not allowed.
?
($?) Expands to the exit status of the most recently executed
foreground pipeline.
foreground command.
-
($-, a hyphen.) Expands to the current option flags as specified
@@ -3780,12 +3780,13 @@ standard.
Aliases::.
bind
bind [-m KEYMAP] [-lpsvPSVX]
bind [-m KEYMAP] [-lsvSVX]
bind [-m KEYMAP] [-q FUNCTION] [-u FUNCTION] [-r KEYSEQ]
bind [-m KEYMAP] -f FILENAME
bind [-m KEYMAP] -x KEYSEQ[: ]SHELL-COMMAND
bind [-m KEYMAP] KEYSEQ:FUNCTION-NAME
bind [-m KEYMAP] KEYSEQ:READLINE-COMMAND
bind [-m KEYMAP] -p|-P [READLINE-COMMAND]
bind READLINE-COMMAND-LINE
Display current Readline (*note Command Line Editing::) key and
@@ -3811,10 +3812,14 @@ standard.
-p
Display Readline function names and bindings in such a way
that they can be used as an argument to a subsequent bind
command or in a Readline initialization file.
command or in a Readline initialization file. If arguments
remain after option processing, bind treats them as readline
command names and restricts output to those names.
-P
List current Readline function names and bindings.
List current Readline function names and bindings. If
arguments remain after option processing, bind treats them
as readline command names and restricts output to those names.
-v
Display Readline variable names and values in such a way that
@@ -5939,7 +5944,8 @@ Variables::).
PIPESTATUS
An array variable (*note Arrays::) containing a list of exit status
values from the processes in the most-recently-executed foreground
pipeline (which may contain only a single command).
pipeline, which may consist of only a simple command (*note Shell
Commands::).
POSIXLY_CORRECT
If this variable is in the environment when Bash starts, the shell
@@ -7778,6 +7784,11 @@ required for bash-5.1 and later versions.
• The test builtin uses its historical algorithm to parse
parenthesized subexpressions when given five or more
arguments.
• If the -p or -P option is supplied to the bind builtin,
bind treats any arguments remaining after option processing
as bindable command names, and displays any key sequences
bound to those commands, instead of treating the arguments as
key sequences to bind.

File: bashref.info, Node: Job Control, Next: Command Line Editing, Prev: Bash Features, Up: Top
@@ -12210,11 +12221,11 @@ D.1 Index of Shell Builtin Commands
* bind: Bash Builtins. (line 21)
* break: Bourne Shell Builtins.
(line 37)
* builtin: Bash Builtins. (line 119)
* caller: Bash Builtins. (line 128)
* builtin: Bash Builtins. (line 124)
* caller: Bash Builtins. (line 133)
* cd: Bourne Shell Builtins.
(line 45)
* command: Bash Builtins. (line 145)
* command: Bash Builtins. (line 150)
* compgen: Programmable Completion Builtins.
(line 12)
* complete: Programmable Completion Builtins.
@@ -12223,13 +12234,13 @@ D.1 Index of Shell Builtin Commands
(line 248)
* continue: Bourne Shell Builtins.
(line 90)
* declare: Bash Builtins. (line 165)
* declare: Bash Builtins. (line 170)
* dirs: Directory Stack Builtins.
(line 7)
* disown: Job Control Builtins.
(line 104)
* echo: Bash Builtins. (line 268)
* enable: Bash Builtins. (line 317)
* echo: Bash Builtins. (line 273)
* enable: Bash Builtins. (line 322)
* eval: Bourne Shell Builtins.
(line 99)
* exec: Bourne Shell Builtins.
@@ -12248,26 +12259,26 @@ D.1 Index of Shell Builtin Commands
(line 153)
* hash: Bourne Shell Builtins.
(line 197)
* help: Bash Builtins. (line 355)
* help: Bash Builtins. (line 360)
* history: Bash History Builtins.
(line 46)
* jobs: Job Control Builtins.
(line 27)
* kill: Job Control Builtins.
(line 58)
* let: Bash Builtins. (line 374)
* local: Bash Builtins. (line 382)
* logout: Bash Builtins. (line 399)
* mapfile: Bash Builtins. (line 404)
* let: Bash Builtins. (line 379)
* local: Bash Builtins. (line 387)
* logout: Bash Builtins. (line 404)
* mapfile: Bash Builtins. (line 409)
* popd: Directory Stack Builtins.
(line 35)
* printf: Bash Builtins. (line 450)
* printf: Bash Builtins. (line 455)
* pushd: Directory Stack Builtins.
(line 69)
* pwd: Bourne Shell Builtins.
(line 222)
* read: Bash Builtins. (line 518)
* readarray: Bash Builtins. (line 624)
* read: Bash Builtins. (line 523)
* readarray: Bash Builtins. (line 629)
* readonly: Bourne Shell Builtins.
(line 232)
* return: Bourne Shell Builtins.
@@ -12276,7 +12287,7 @@ D.1 Index of Shell Builtin Commands
* shift: Bourne Shell Builtins.
(line 272)
* shopt: The Shopt Builtin. (line 9)
* source: Bash Builtins. (line 633)
* source: Bash Builtins. (line 638)
* suspend: Job Control Builtins.
(line 116)
* test: Bourne Shell Builtins.
@@ -12287,12 +12298,12 @@ D.1 Index of Shell Builtin Commands
(line 393)
* true: Bourne Shell Builtins.
(line 455)
* type: Bash Builtins. (line 638)
* typeset: Bash Builtins. (line 676)
* ulimit: Bash Builtins. (line 682)
* type: Bash Builtins. (line 643)
* typeset: Bash Builtins. (line 681)
* ulimit: Bash Builtins. (line 687)
* umask: Bourne Shell Builtins.
(line 460)
* unalias: Bash Builtins. (line 788)
* unalias: Bash Builtins. (line 793)
* unset: Bourne Shell Builtins.
(line 478)
* wait: Job Control Builtins.
@@ -12536,32 +12547,32 @@ D.3 Parameter and Variable Index
* PATH: Bourne Shell Variables.
(line 42)
* PIPESTATUS: Bash Variables. (line 602)
* POSIXLY_CORRECT: Bash Variables. (line 607)
* PPID: Bash Variables. (line 617)
* PROMPT_COMMAND: Bash Variables. (line 621)
* PROMPT_DIRTRIM: Bash Variables. (line 627)
* PS0: Bash Variables. (line 633)
* POSIXLY_CORRECT: Bash Variables. (line 608)
* PPID: Bash Variables. (line 618)
* PROMPT_COMMAND: Bash Variables. (line 622)
* PROMPT_DIRTRIM: Bash Variables. (line 628)
* PS0: Bash Variables. (line 634)
* PS1: Bourne Shell Variables.
(line 48)
* PS2: Bourne Shell Variables.
(line 53)
* PS3: Bash Variables. (line 638)
* PS4: Bash Variables. (line 643)
* PWD: Bash Variables. (line 651)
* RANDOM: Bash Variables. (line 654)
* READLINE_ARGUMENT: Bash Variables. (line 660)
* READLINE_LINE: Bash Variables. (line 664)
* READLINE_MARK: Bash Variables. (line 668)
* READLINE_POINT: Bash Variables. (line 674)
* REPLY: Bash Variables. (line 678)
* PS3: Bash Variables. (line 639)
* PS4: Bash Variables. (line 644)
* PWD: Bash Variables. (line 652)
* RANDOM: Bash Variables. (line 655)
* READLINE_ARGUMENT: Bash Variables. (line 661)
* READLINE_LINE: Bash Variables. (line 665)
* READLINE_MARK: Bash Variables. (line 669)
* READLINE_POINT: Bash Variables. (line 675)
* REPLY: Bash Variables. (line 679)
* revert-all-at-newline: Readline Init File Syntax.
(line 325)
* search-ignore-case: Readline Init File Syntax.
(line 332)
* SECONDS: Bash Variables. (line 681)
* SHELL: Bash Variables. (line 690)
* SHELLOPTS: Bash Variables. (line 695)
* SHLVL: Bash Variables. (line 704)
* SECONDS: Bash Variables. (line 682)
* SHELL: Bash Variables. (line 691)
* SHELLOPTS: Bash Variables. (line 696)
* SHLVL: Bash Variables. (line 705)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 337)
* show-all-if-unmodified: Readline Init File Syntax.
@@ -12570,15 +12581,15 @@ D.3 Parameter and Variable Index
(line 352)
* skip-completed-text: Readline Init File Syntax.
(line 358)
* SRANDOM: Bash Variables. (line 709)
* SRANDOM: Bash Variables. (line 710)
* TEXTDOMAIN: Creating Internationalized Scripts.
(line 51)
* TEXTDOMAINDIR: Creating Internationalized Scripts.
(line 51)
* TIMEFORMAT: Bash Variables. (line 718)
* TMOUT: Bash Variables. (line 756)
* TMPDIR: Bash Variables. (line 768)
* UID: Bash Variables. (line 772)
* TIMEFORMAT: Bash Variables. (line 719)
* TMOUT: Bash Variables. (line 757)
* TMPDIR: Bash Variables. (line 769)
* UID: Bash Variables. (line 773)
* vi-cmd-mode-string: Readline Init File Syntax.
(line 371)
* vi-ins-mode-string: Readline Init File Syntax.
@@ -12970,138 +12981,138 @@ D.5 Concept Index

Tag Table:
Node: Top896
Node: Introduction2832
Node: What is Bash?3048
Node: What is a shell?4192
Node: Definitions6774
Node: Basic Shell Features9953
Node: Shell Syntax11176
Node: Shell Operation12206
Node: Quoting13507
Node: Escape Character14823
Node: Single Quotes15324
Node: Double Quotes15676
Node: ANSI-C Quoting17022
Node: Locale Translation18410
Node: Creating Internationalized Scripts19757
Node: Comments23958
Node: Shell Commands24596
Node: Reserved Words25538
Node: Simple Commands26406
Node: Pipelines27068
Node: Lists30134
Node: Compound Commands32009
Node: Looping Constructs33021
Node: Conditional Constructs35568
Node: Command Grouping50475
Node: Coprocesses51965
Node: GNU Parallel54664
Node: Shell Functions55585
Node: Shell Parameters63694
Node: Positional Parameters68230
Node: Special Parameters69168
Node: Shell Expansions72478
Node: Brace Expansion74670
Node: Tilde Expansion77336
Node: Shell Parameter Expansion80105
Node: Command Substitution99215
Node: Arithmetic Expansion102751
Node: Process Substitution103719
Node: Word Splitting104859
Node: Filename Expansion107003
Node: Pattern Matching110102
Node: Quote Removal115338
Node: Redirections115645
Node: Executing Commands125457
Node: Simple Command Expansion126127
Node: Command Search and Execution128241
Node: Command Execution Environment130652
Node: Environment133964
Node: Exit Status135671
Node: Signals137459
Node: Shell Scripts141076
Node: Shell Builtin Commands144171
Node: Bourne Shell Builtins146285
Node: Bash Builtins170692
Node: Modifying Shell Behavior205300
Node: The Set Builtin205645
Node: The Shopt Builtin217163
Node: Special Builtins233902
Node: Shell Variables234894
Node: Bourne Shell Variables235331
Node: Bash Variables237527
Node: Bash Features274080
Node: Invoking Bash275097
Node: Bash Startup Files281499
Node: Interactive Shells286814
Node: What is an Interactive Shell?287225
Node: Is this Shell Interactive?287894
Node: Interactive Shell Behavior288721
Node: Bash Conditional Expressions292478
Node: Shell Arithmetic297655
Node: Aliases300740
Node: Arrays303698
Node: The Directory Stack310500
Node: Directory Stack Builtins311300
Node: Controlling the Prompt315752
Node: The Restricted Shell318893
Node: Bash POSIX Mode321683
Node: Shell Compatibility Mode339197
Node: Job Control347884
Node: Job Control Basics348344
Node: Job Control Builtins353521
Node: Job Control Variables359484
Node: Command Line Editing360664
Node: Introduction and Notation362371
Node: Readline Interaction364018
Node: Readline Bare Essentials365209
Node: Readline Movement Commands367030
Node: Readline Killing Commands368030
Node: Readline Arguments370011
Node: Searching371071
Node: Readline Init File373303
Node: Readline Init File Syntax374588
Node: Conditional Init Constructs399529
Node: Sample Init File403897
Node: Bindable Readline Commands407021
Node: Commands For Moving408249
Node: Commands For History410352
Node: Commands For Text415438
Node: Commands For Killing419516
Node: Numeric Arguments422320
Node: Commands For Completion423475
Node: Keyboard Macros427794
Node: Miscellaneous Commands428498
Node: Readline vi Mode435155
Node: Programmable Completion436110
Node: Programmable Completion Builtins444070
Node: A Programmable Completion Example455639
Node: Using History Interactively460987
Node: Bash History Facilities461671
Node: Bash History Builtins464786
Node: History Interaction470032
Node: Event Designators474360
Node: Word Designators475946
Node: Modifiers477935
Node: Installing Bash479847
Node: Basic Installation480984
Node: Compilers and Options484866
Node: Compiling For Multiple Architectures485619
Node: Installation Names487371
Node: Specifying the System Type489608
Node: Sharing Defaults490357
Node: Operation Controls491074
Node: Optional Features492096
Node: Reporting Bugs503901
Node: Major Differences From The Bourne Shell505253
Node: GNU Free Documentation License524991
Node: Indexes550171
Node: Builtin Index550625
Node: Reserved Word Index557726
Node: Variable Index560174
Node: Function Index577308
Node: Concept Index591167
Node: Top898
Node: Introduction2836
Node: What is Bash?3052
Node: What is a shell?4196
Node: Definitions6778
Node: Basic Shell Features9957
Node: Shell Syntax11180
Node: Shell Operation12210
Node: Quoting13511
Node: Escape Character14827
Node: Single Quotes15328
Node: Double Quotes15680
Node: ANSI-C Quoting17026
Node: Locale Translation18414
Node: Creating Internationalized Scripts19761
Node: Comments23962
Node: Shell Commands24600
Node: Reserved Words25542
Node: Simple Commands26410
Node: Pipelines27072
Node: Lists30138
Node: Compound Commands32013
Node: Looping Constructs33025
Node: Conditional Constructs35572
Node: Command Grouping50479
Node: Coprocesses51969
Node: GNU Parallel54668
Node: Shell Functions55589
Node: Shell Parameters63698
Node: Positional Parameters68234
Node: Special Parameters69172
Node: Shell Expansions72481
Node: Brace Expansion74673
Node: Tilde Expansion77339
Node: Shell Parameter Expansion80108
Node: Command Substitution99218
Node: Arithmetic Expansion102754
Node: Process Substitution103722
Node: Word Splitting104862
Node: Filename Expansion107006
Node: Pattern Matching110105
Node: Quote Removal115341
Node: Redirections115648
Node: Executing Commands125460
Node: Simple Command Expansion126130
Node: Command Search and Execution128244
Node: Command Execution Environment130655
Node: Environment133967
Node: Exit Status135674
Node: Signals137462
Node: Shell Scripts141079
Node: Shell Builtin Commands144174
Node: Bourne Shell Builtins146288
Node: Bash Builtins170695
Node: Modifying Shell Behavior205657
Node: The Set Builtin206002
Node: The Shopt Builtin217520
Node: Special Builtins234259
Node: Shell Variables235251
Node: Bourne Shell Variables235688
Node: Bash Variables237884
Node: Bash Features274469
Node: Invoking Bash275486
Node: Bash Startup Files281888
Node: Interactive Shells287203
Node: What is an Interactive Shell?287614
Node: Is this Shell Interactive?288283
Node: Interactive Shell Behavior289110
Node: Bash Conditional Expressions292867
Node: Shell Arithmetic298044
Node: Aliases301129
Node: Arrays304087
Node: The Directory Stack310889
Node: Directory Stack Builtins311689
Node: Controlling the Prompt316141
Node: The Restricted Shell319282
Node: Bash POSIX Mode322072
Node: Shell Compatibility Mode339586
Node: Job Control348608
Node: Job Control Basics349068
Node: Job Control Builtins354245
Node: Job Control Variables360208
Node: Command Line Editing361388
Node: Introduction and Notation363095
Node: Readline Interaction364742
Node: Readline Bare Essentials365933
Node: Readline Movement Commands367754
Node: Readline Killing Commands368754
Node: Readline Arguments370735
Node: Searching371795
Node: Readline Init File374027
Node: Readline Init File Syntax375312
Node: Conditional Init Constructs400253
Node: Sample Init File404621
Node: Bindable Readline Commands407745
Node: Commands For Moving408973
Node: Commands For History411076
Node: Commands For Text416162
Node: Commands For Killing420240
Node: Numeric Arguments423044
Node: Commands For Completion424199
Node: Keyboard Macros428518
Node: Miscellaneous Commands429222
Node: Readline vi Mode435879
Node: Programmable Completion436834
Node: Programmable Completion Builtins444794
Node: A Programmable Completion Example456363
Node: Using History Interactively461711
Node: Bash History Facilities462395
Node: Bash History Builtins465510
Node: History Interaction470756
Node: Event Designators475084
Node: Word Designators476670
Node: Modifiers478659
Node: Installing Bash480571
Node: Basic Installation481708
Node: Compilers and Options485590
Node: Compiling For Multiple Architectures486343
Node: Installation Names488095
Node: Specifying the System Type490332
Node: Sharing Defaults491081
Node: Operation Controls491798
Node: Optional Features492820
Node: Reporting Bugs504625
Node: Major Differences From The Bourne Shell505977
Node: GNU Free Documentation License525715
Node: Indexes550895
Node: Builtin Index551349
Node: Reserved Word Index558450
Node: Variable Index560898
Node: Function Index578032
Node: Concept Index591891

End Tag Table
+20 -20
View File
@@ -1,11 +1,11 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/MacPorts 2024.70613_0) (preloaded format=pdfetex 2024.4.2) 5 APR 2024 12:10
This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/MacPorts 2024.70613_0) (preloaded format=pdfetex 2024.4.9) 23 APR 2024 17:29
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
%&-line parsing enabled.
**\input /usr/local/src/bash/bash-20240402/doc/bashref.texi
(/usr/local/src/bash/bash-20240402/doc/bashref.texi
(/usr/local/src/bash/bash-20240402/doc/texinfo.tex
**\input /usr/local/src/bash/bash-20240422/doc/bashref.texi
(/usr/local/src/bash/bash-20240422/doc/bashref.texi
(/usr/local/src/bash/bash-20240422/doc/texinfo.tex
Loading texinfo [version 2015-11-22.14]:
\outerhsize=\dimen16
\outervsize=\dimen17
@@ -161,15 +161,15 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
texinfo.tex: doing @include of version.texi
(/usr/local/src/bash/bash-20240402/doc/version.texi) [1{/opt/local/var/db/texmf
(/usr/local/src/bash/bash-20240422/doc/version.texi) [1{/opt/local/var/db/texmf
/fonts/map/pdftex/updmap/pdftex.map}] [2]
(/usr/local/build/bash/bash-20240402/doc/bashref.toc [-1] [-2] [-3]) [-4]
(/usr/local/build/bash/bash-20240402/doc/bashref.toc)
(/usr/local/build/bash/bash-20240402/doc/bashref.toc) Chapter 1
(/usr/local/build/bash/bash-20240422/doc/bashref.toc [-1] [-2] [-3]) [-4]
(/usr/local/build/bash/bash-20240422/doc/bashref.toc)
(/usr/local/build/bash/bash-20240422/doc/bashref.toc) Chapter 1
\openout0 = `bashref.toc'.
(/usr/local/build/bash/bash-20240402/doc/bashref.aux)
(/usr/local/build/bash/bash-20240422/doc/bashref.aux)
\openout1 = `bashref.aux'.
Chapter 2 [1] [2]
@@ -230,7 +230,7 @@ live/fonts/enc/dvips/cm-super/cm-super-t1.enc}] [20] [21] [22] [23] [24]
[49] [50] [51] [52]
[53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67]
[68]
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5436--5436
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5441--5441
[]@texttt set [-abefhkmnptuvxBCEHPT] [-o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
@@ -243,7 +243,7 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5436--5436
.etc.
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5437--5437
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5442--5442
[]@texttt set [+abefhkmnptuvxBCEHPT] [+o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
@@ -262,7 +262,7 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5437--5437
[119] [120]
texinfo.tex: doing @include of rluser.texi
(/usr/local/src/bash/bash-20240402/lib/readline/doc/rluser.texi
(/usr/local/src/bash/bash-20240422/lib/readline/doc/rluser.texi
Chapter 8 [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131]
[132]
Underfull \hbox (badness 7540) in paragraph at lines 882--888
@@ -312,10 +312,10 @@ gnored[]
texinfo.tex: doing @include of hsuser.texi
(/usr/local/src/bash/bash-20240402/lib/readline/doc/hsuser.texi Chapter 9
(/usr/local/src/bash/bash-20240422/lib/readline/doc/hsuser.texi Chapter 9
[158] [159] [160] [161] [162] [163]) Chapter 10 [164] [165] [166] [167]
[168]
Underfull \hbox (badness 10000) in paragraph at lines 9815--9824
Underfull \hbox (badness 10000) in paragraph at lines 9827--9836
[]@textrm All of the fol-low-ing op-tions ex-cept for `@texttt alt-array-implem
entation[]@textrm '[],
@@ -328,7 +328,7 @@ entation[]@textrm '[],
.etc.
Underfull \hbox (badness 10000) in paragraph at lines 9815--9824
Underfull \hbox (badness 10000) in paragraph at lines 9827--9836
@textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
extrm '[], `@texttt strict-posix-default[]@textrm '[], and
@@ -344,13 +344,13 @@ extrm '[], `@texttt strict-posix-default[]@textrm '[], and
[178] [179] Appendix C [180]
texinfo.tex: doing @include of fdl.texi
(/usr/local/src/bash/bash-20240402/doc/fdl.texi
(/usr/local/src/bash/bash-20240422/doc/fdl.texi
[181] [182] [183] [184] [185] [186] [187]) Appendix D [188] [189] [190]
[191] [192] [193] [194] [195] [196] [197] )
Here is how much of TeX's memory you used:
4105 strings out of 495840
47629 string characters out of 6171739
143196 words of memory out of 5000000
143243 words of memory out of 5000000
5048 multiletter control sequences out of 15000+600000
34315 words of font info for 116 fonts, out of 8000000 for 9000
701 hyphenation exceptions out of 8191
@@ -371,10 +371,10 @@ texmf-texlive/fonts/type1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf
-texlive/fonts/type1/public/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texli
ve/fonts/type1/public/cm-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fon
ts/type1/public/cm-super/sfrm1440.pfb>
Output written on bashref.pdf (203 pages, 818717 bytes).
Output written on bashref.pdf (203 pages, 819186 bytes).
PDF statistics:
2832 PDF objects out of 2984 (max. 8388607)
2582 compressed objects within 26 object streams
2834 PDF objects out of 2984 (max. 8388607)
2584 compressed objects within 26 object streams
331 named destinations out of 1000 (max. 500000)
1157 words of extra memory for PDF output out of 10000 (max. 10000000)
BIN
View File
Binary file not shown.
+772 -756
View File
File diff suppressed because it is too large Load Diff
+16 -4
View File
@@ -1875,7 +1875,7 @@ expand to nothing (i.e., they are removed).
@item ?
@vindex $?
($?) Expands to the exit status of the most recently executed foreground
pipeline.
command.
@item -
@vindex $-
@@ -4504,12 +4504,13 @@ Aliases are described in @ref{Aliases}.
@item bind
@btindex bind
@example
bind [-m @var{keymap}] [-lpsvPSVX]
bind [-m @var{keymap}] [-lsvSVX]
bind [-m @var{keymap}] [-q @var{function}] [-u @var{function}] [-r @var{keyseq}]
bind [-m @var{keymap}] -f @var{filename}
bind [-m @var{keymap}] -x @var{keyseq[: ]shell-command}
bind [-m @var{keymap}] @var{keyseq:function-name}
bind [-m @var{keymap}] @var{keyseq:readline-command}
bind [-m @var{keymap}] -p|-P [@var{readline-command}]
bind @var{readline-command-line}
@end example
@@ -4548,9 +4549,13 @@ Display Readline function names and bindings
in such a way that they can be used as
an argument to a subsequent @code{bind} command
or in a Readline initialization file.
If arguments remain after option processing, @code{bind} treats
them as readline command names and restricts output to those names.
@item -P
List current Readline function names and bindings.
If arguments remain after option processing, @code{bind} treats
them as readline command names and restricts output to those names.
@item -v
Display Readline variable names and values
@@ -6923,8 +6928,9 @@ A string describing the operating system Bash is running on.
@item PIPESTATUS
An array variable (@pxref{Arrays})
containing a list of exit status values from the processes
in the most-recently-executed foreground pipeline (which may
contain only a single command).
in the most-recently-executed foreground pipeline, which may
consist of only a simple command
(@pxref{Shell Commands}).
@item POSIXLY_CORRECT
If this variable is in the environment when Bash starts, the shell
@@ -9085,6 +9091,12 @@ enabled by the time the command is executed.
@item
The @code{test} builtin uses its historical algorithm to parse parenthesized
subexpressions when given five or more arguments.
@item
If the @option{-p} or @option{-P} option is supplied to the @code{bind} builtin,
@code{bind} treats any arguments remaining after option processing
as bindable command names, and
displays any key sequences bound to those commands, instead of treating
the arguments as key sequences to bind.
@end itemize
@end table
+1 -1
View File
@@ -114,7 +114,7 @@
\entry{PS0}{91}{\code {PS0}}
\entry{PS3}{91}{\code {PS3}}
\entry{PS4}{91}{\code {PS4}}
\entry{PWD}{91}{\code {PWD}}
\entry{PWD}{92}{\code {PWD}}
\entry{RANDOM}{92}{\code {RANDOM}}
\entry{READLINE_ARGUMENT}{92}{\code {READLINE_ARGUMENT}}
\entry{READLINE_LINE}{92}{\code {READLINE_LINE}}
+1 -1
View File
@@ -169,7 +169,7 @@
\entry{\code {PS2}}{81}
\entry{\code {PS3}}{91}
\entry{\code {PS4}}{91}
\entry{\code {PWD}}{91}
\entry{\code {PWD}}{92}
\initial {R}
\entry{\code {RANDOM}}{92}
\entry{\code {READLINE_ARGUMENT}}{92}
+996 -980
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -2,10 +2,10 @@
Copyright (C) 1988-2024 Free Software Foundation, Inc.
@end ignore
@set LASTCHANGE Fri Apr 5 12:10:00 EDT 2024
@set LASTCHANGE Tue Apr 23 15:08:20 EDT 2024
@set EDITION 5.3
@set VERSION 5.3
@set UPDATED 5 April 2024
@set UPDATED 23 April 2024
@set UPDATED-MONTH April 2024
+3 -2
View File
@@ -1,4 +1,4 @@
/* Copyright (C) 1991-2023 Free Software Foundation, Inc.
/* Copyright (C) 1991-2024 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software; you can redistribute it and/or modify
@@ -1051,7 +1051,8 @@ getconf_all (WORD_LIST *list)
if (c->call != PATHCONF && path)
continue; /* Only print pathconf vars if path supplied */
#endif
printf("%-35s", c->name);
/* The output format for getconf -a is required by POSIX interp 1808 */
printf("%s: ", c->name);
if (getconf_print (c, path, 1) == EXECUTION_FAILURE)
r = EXECUTION_FAILURE;
}
-1
View File
@@ -467,7 +467,6 @@ subexpr (const char *expr)
val = EXP_LOWEST ();
/*TAG:bash-5.3 make it clear that these are arithmetic syntax errors */
if (curtok != 0)
evalerror (_("arithmetic syntax error in expression"));
+1 -1
View File
@@ -537,7 +537,7 @@ extern size_t utf8_mbstrlen (const char *);
/* declarations for functions defined in lib/sh/wcsnwidth.c */
#if defined (HANDLE_MULTIBYTE)
extern int wcsnwidth (const wchar_t *, size_t, int);
extern int wcsnwidth (const wchar_t *, size_t, size_t);
#endif
/* declarations for functions defined in lib/sh/winsize.c */
+1 -1
View File
@@ -3297,7 +3297,7 @@ return_job:
if (jobs_list_frozen == 0) /* must be running a funsub to get here */
{
notify_of_job_status (); /* XXX */
#if 1 /* TAG: bash-5.3 kre@munnari.oz.au 01/30/2024 */
#if 1 /* kre@munnari.oz.au 01/30/2024 */
delete_job (i, posixly_correct ? DEL_NOBGPID : 0);
#else
delete_job (i, 0);
+6 -6
View File
@@ -4,7 +4,7 @@
# #
####################################################################
#
# Copyright (C) 1996-2009 Free Software Foundation, Inc.
# Copyright (C) 1996-2024 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -101,7 +101,7 @@ what-tar:
done
documentation: force
-(cd doc; $(MAKE) $(MFLAGS))
-(cd doc; $(MAKE) $(BASH_MAKEFLAGS))
force:
# The rule for 'includes' is written funny so that the if statement
@@ -111,17 +111,17 @@ install:
clean:
rm -f $(OBJECTS) $(LIBRARY_NAME)
-(cd doc && $(MAKE) $(MFLAGS) $@ )
-(cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
realclean distclean maintainer-clean: clean
-( cd doc && $(MAKE) $(MFLAGS) $@ )
-( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
$(RM) -f Makefile
mostlyclean: clean
-( cd doc && $(MAKE) $(MFLAGS) $@ )
-( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
${BUILD_DIR}/pathnames.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
-( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} pathnames.h )
-( cd ${BUILD_DIR} && ${MAKE} ${BASH_MAKEFLAGS} pathnames.h )
######################################################################
# #
+5 -5
View File
@@ -4,7 +4,7 @@
# #
#############################################################################
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
# Copyright (C) 1994-2024 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -137,7 +137,7 @@ libhistory.a: $(HISTOBJ) xmalloc.o xfree.o
documentation: force
test -d doc || mkdir doc
-( cd doc && $(MAKE) $(MFLAGS) )
-( cd doc && $(MAKE) $(BASH_MAKEFLAGS) )
# Since tilde.c is shared between readline and bash, make sure we compile
# it with the right flags when it's built as part of readline
@@ -161,13 +161,13 @@ tags: force
clean: force
$(RM) $(OBJECTS) *.a
-( cd doc && $(MAKE) $(MFLAGS) $@ )
-( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
mostlyclean: clean
-( cd doc && $(MAKE) $(MFLAGS) $@ )
-( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
distclean maintainer-clean: clean
-( cd doc && $(MAKE) $(MFLAGS) $@ )
-( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
$(RM) Makefile
$(RM) TAGS tags
+3 -3
View File
@@ -1,6 +1,6 @@
/* bind.c -- key binding and startup file support for the readline library. */
/* Copyright (C) 1987-2023 Free Software Foundation, Inc.
/* Copyright (C) 1987-2024 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.
@@ -257,7 +257,7 @@ rl_unbind_function_in_map (rl_command_func_t *func, Keymap map)
map[i].function = (rl_command_func_t *)NULL;
rval = 1;
}
else if (map[i].type == ISKMAP) /* TAG:readline-8.1 */
else if (map[i].type == ISKMAP)
{
int r;
r = rl_unbind_function_in_map (func, FUNCTION_TO_KEYMAP (map, i));
@@ -2749,7 +2749,7 @@ rl_print_keybinding (const char *name, Keymap kmap, int print_readably)
char **invokers;
function = rl_named_function (name);
invokers = rl_invoking_keyseqs_in_map (function, kmap ? kmap : _rl_keymap);
invokers = function ? rl_invoking_keyseqs_in_map (function, kmap ? kmap : _rl_keymap) : (char **)NULL;
if (print_readably)
{
+1 -1
View File
@@ -1111,7 +1111,7 @@ rl_redisplay (void)
#endif
{
#if 0
/* TAG: readline-8.3 20230227 */
/* TAG: readline-8.4 20230227 */
/* https://savannah.gnu.org/support/index.php?110830
asking for non-printing meta characters to be printed using an
escape sequence. */
+3 -3
View File
@@ -2,7 +2,7 @@
# Makefile for the Bash library
#
#
# Copyright (C) 1998-2022 Free Software Foundation, Inc.
# Copyright (C) 1998-2024 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -140,10 +140,10 @@ mostlyclean: clean
# Dependencies
${BUILD_DIR}/version.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
-( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} version.h )
-( cd ${BUILD_DIR} && ${MAKE} ${BASH_MAKEFLAGS} version.h )
${BUILD_DIR}/pathnames.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
-( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} pathnames.h )
-( cd ${BUILD_DIR} && ${MAKE} ${BASH_MAKEFLAGS} pathnames.h )
# rules for losing makes, like SunOS
anonfile.o: anonfile.c
+1 -1
View File
@@ -67,7 +67,7 @@
#define CASE_USEWORDS 0x1000 /* modify behavior to act on words in passed string */
extern char *substring (char *, int, int);
extern char *substring (char *, size_t, size_t);
#ifndef UCHAR_MAX
# define UCHAR_MAX TYPE_MAXIMUM(unsigned char)
+5 -5
View File
@@ -4,7 +4,7 @@
# #
####################################################################
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
# Copyright (C) 1996-2024 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -92,7 +92,7 @@ $(LIBRARY_NAME): $(OBJECTS)
-test -n "$(RANLIB)" && $(RANLIB) $@
documentation: force
-(cd doc; $(MAKE) $(MFLAGS))
-(cd doc; $(MAKE) $(BASH_MAKEFLAGS))
force:
@@ -105,14 +105,14 @@ install:
clean:
$(RM) -f $(OBJECTS) $(LIBRARY_NAME)
-( cd doc && $(MAKE) $(MFLAGS) $@ )
-( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
realclean distclean maintainer-clean: clean
-( cd doc && $(MAKE) $(MFLAGS) $@ )
-( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
$(RM) -f Makefile
mostlyclean: clean
-( cd doc && $(MAKE) $(MFLAGS) $@ )
-( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
######################################################################
# #
+6 -50
View File
@@ -20,30 +20,23 @@
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
#include "config.h"
/* assume C90 compilation environment */
#include <stdio.h>
#include "bashansi.h"
#include "chartypes.h"
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#else
extern int optind;
extern char *optarg;
#endif
#include <buildconf.h>
#include "chartypes.h"
#include "syntax.h"
#ifndef errno
extern int errno;
#endif
#ifndef HAVE_STRERROR
extern char *strerror();
#endif
struct wordflag {
int flag;
char *fstr;
@@ -356,40 +349,3 @@ main(int argc, char **argv)
fclose (fp);
exit (0);
}
#if !defined (HAVE_STRERROR)
#include <bashtypes.h>
#if defined (HAVE_SYS_PARAM_H)
# include <sys/param.h>
#endif
#if defined (HAVE_UNISTD_H)
# include <unistd.h>
#endif
/* Return a string corresponding to the error number E. From
the ANSI C spec. */
#if defined (strerror)
# undef strerror
#endif
char *
strerror (int e)
{
static char emsg[40];
#if defined (HAVE_SYS_ERRLIST)
extern int sys_nerr;
extern char *sys_errlist[];
if (e > 0 && e < sys_nerr)
return (sys_errlist[e]);
else
#endif /* HAVE_SYS_ERRLIST */
{
sprintf (emsg, "Unknown system error %d", e);
return (&emsg[0]);
}
}
#endif /* HAVE_STRERROR */
+2 -2
View File
@@ -2548,7 +2548,7 @@ shell_getc (int remove_quoted_newline)
/* We want to make read errors cancel execution of any partial
line, so we set i = 0 if shell_input_line_terminator == READERR. */
/* XXX TAG: bash-5.3 austingroup interp 1629 */
/* austin group interp 1629 */
#if defined (FATAL_READERROR)
if (shell_input_line_terminator == READERR)
i = 0; /* no-op for now */
@@ -3996,7 +3996,7 @@ parse_matched_pair (int qc, int open, int close, size_t *lenp, int flags)
free (ttrans);
nestlen = strlen (nestret);
}
#if 0 /* TAG:bash-5.3 */
#if 0 /* XXX - this is a different condition than the one immediately previous */
/* This single-quotes PARAM in ${PARAM OP WORD} when PARAM
contains a $'...' even when extended_quote is set. */
else if ((rflags & P_DQUOTE) && (dolbrace_state == DOLBRACE_PARAM) && (flags & P_DOLBRACE))
+1 -1
View File
@@ -1,6 +1,6 @@
/* patchlevel.h -- current bash patch level */
/* Copyright (C) 2001-2022 Free Software Foundation, Inc.
/* Copyright (C) 2001-2024 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
+1 -1
View File
@@ -1,6 +1,6 @@
/* pathnames.h -- absolute filenames that bash wants for various defaults. */
/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
/* Copyright (C) 1987-2009,2024 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
+1 -1
View File
@@ -724,7 +724,7 @@ redir_open (char *filename, int flags, int mode, enum r_instruction ri)
}
while (fd < 0 && errno == EINTR);
#if 0 /* TAG: bash-5.3 champetier.etienne@gmail.com 01/28/2024 */
#if 0 /* reportedly no longer needed */
#if defined (AFS)
if ((fd < 0) && (errno == EACCES))
{
+2 -2
View File
@@ -4003,7 +4003,7 @@ expand_arith_string (char *string, int quoted)
/* This is expanded version of expand_string_internal as it's called by
expand_string_leave_quoted */
td.flags = W_NOPROCSUB|W_NOTILDE; /* don't want process substitution or tilde expansion */
#if 0 /* TAG: bash-5.2 */
#if 0 /* TAG: notyet */
if (quoted & Q_ARRAYSUB)
td.flags |= W_NOCOMSUB;
#endif
@@ -8663,7 +8663,7 @@ string_var_assignment (SHELL_VAR *v, char *s)
sprintf (ret, "declare -%s %s", flags, v->name); /* just attributes, unset */
else if (i > 0)
sprintf (ret, "declare -%s %s=%s", flags, v->name, val); /* attributes, set */
#if 1 /*TAG: tentative */
#if 1 /*TAG: bash-5.3 tentative */
else if (i == 0 && val && local_p (v) && variable_context == v->context)
sprintf (ret, "declare %s=%s", v->name, val); /* set local variable at current scope */
else if (i == 0 && val == 0 && local_p (v) && variable_context == v->context)
+7 -11
View File
@@ -1,6 +1,6 @@
/* bashversion.c -- Display bash version information. */
/* Copyright (C) 2001-2022,2023 Free Software Foundation, Inc.
/* Copyright (C) 2001-2024 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -18,19 +18,15 @@
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <buildconf.h>
#include "stdc.h"
/* assume C90 compilation environment */
#include <stdio.h>
#if defined (HAVE_UNISTD_H)
# include <unistd.h>
extern int optind;
extern char *optarg;
#endif
#include "bashansi.h"
#include <string.h>
#include <stdlib.h>
#include <stddef.h>
#include <unistd.h>
#include "version.h"
#include "conftypes.h"
+3 -6
View File
@@ -6,7 +6,7 @@
chet@po.cwru.edu
*/
/* Copyright (C) 1997-2002,2023 Free Software Foundation, Inc.
/* Copyright (C) 1997-2002,2023-2024 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -24,12 +24,9 @@
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
#if defined (HAVE_CONFIG_H)
# include <config.h>
#endif
#include "bashansi.h"
#include <stdio.h> /* puts */
#include <stdlib.h> /* exit */
#include <string.h> /* strncmp */
extern char **environ;
+2 -6
View File
@@ -6,7 +6,7 @@
chet@po.cwru.edu
*/
/* Copyright (C) 2002-2005,2023 Free Software Foundation, Inc.
/* Copyright (C) 2002-2005,2023-2024 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -24,12 +24,8 @@
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
#if defined (HAVE_CONFIG_H)
# include <config.h>
#endif
#include "bashansi.h"
#include <stdio.h>
#include <stdlib.h>
void strprint(char *);
+3 -6
View File
@@ -23,14 +23,11 @@
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#if HAVE_UNISTD_H
#include <unistd.h>
#endif
#include "bashansi.h"
#include <errno.h>
#include <unistd.h>
#ifndef errno
extern int errno;
+1 -5
View File
@@ -18,12 +18,8 @@
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
#if defined (HAVE_CONFIG_H)
# include <config.h>
#endif
#include "bashansi.h"
#include <stdio.h>
#include <stdlib.h>
int
main(int argc, char **argv)
+1 -1
View File
@@ -657,7 +657,7 @@ unary_test (char *op, char *arg, int flags)
array_eltstate_t es;
/* Let's assume that this has already been expanded once. */
/* XXX - TAG:bash-5.2 fix with corresponding fix to execute_cmd.c:
/* bash-5.2 fix with corresponding fix to execute_cmd.c:
execute_cond_node() that passes TEST_ARRAYEXP in FLAGS */
if (shell_compatibility_level > 51)
+1 -3
View File
@@ -18,12 +18,10 @@
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
#include <config.h>
#include <buildconf.h>
#include <stdio.h>
#include "stdc.h"
#include "version.h"
#include "patchlevel.h"
#include "conftypes.h"