]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
More Makefile updates; updates for bash-5.3-beta
authorChet Ramey <chet.ramey@case.edu>
Fri, 15 Nov 2024 16:15:23 +0000 (11:15 -0500)
committerChet Ramey <chet.ramey@case.edu>
Fri, 15 Nov 2024 16:15:23 +0000 (11:15 -0500)
22 files changed:
CHANGES
CHANGES-5.3
CWRU/CWRU.chlog
MANIFEST
Makefile.in
NEWS
NEWS-5.3
README
builtins/Makefile.in
configure
configure.ac
doc/Makefile.in
examples/loadables/getconf.c
lib/glob/Makefile.in
lib/malloc/Makefile.in
lib/readline/Makefile.in
lib/readline/doc/Makefile.in
lib/sh/Makefile.in
lib/sh/tmpfile.c
lib/tilde/Makefile.in
po/bash.pot
support/bash.pc.in

diff --git a/CHANGES b/CHANGES
index 56c14a64cfbc792880f2eec9c22c9d1c38add1b8..dbbb40bcd9f4e7715e4b051a5c2843e1c97c5470 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,172 @@
+This document details the changes between this version, bash-5.3-beta, and
+the previous version, bash-5.3-alpha.
+
+1. Changes to Bash
+
+a. Per POSIX, a null pathname argument to `cd' is now an error.
+
+b. Fixes for command completion when the directory portion of the pathname
+   contains characters that require quoting.
+
+c. Fix to prevent redirections from undergoing word expansion twice.
+
+d. Fix for rare parsing issue with for loops where a newline appears before
+   `in'.
+
+e. The bash build process now assumes a C90 compilation environment and a
+   POSIX.1-1990 execution environment.
+
+f. Fixed a bug where bash's internal redirection flags could collide with
+   the system's open/fcntl flags.
+
+g. Fixed a problem with `jobs' run from a trap or `bind -x' command printing
+   the status of terminated foreground jobs.
+
+h. Bash works around a macOS gettext bug with translating the `command not
+   found' message by caching the translated string.
+
+i. Bash does not try to set the tty state after a process finishes if it is
+   running a trap, running a readline key binding (bind -x), or executing a
+   programmable completion.
+
+j. Restricted shells are not allowed to run `enable -f', even when it's
+   shorthand from `enable f'.
+
+k. Work around an android problem with file descriptors if the read builtin
+   gets both -u and -e.
+
+l. Fixed some small memory leaks in bash completion and command parsing and
+   execution.
+
+m. Fix for crash when timed commands jump back to the top level after SIGINT.
+
+n. Minor fixes for command substitution parsing in the foreground.
+
+o. Fix to reset read builtin buffer after SIGINT.
+
+p. Fix for inconsistency between arrays and scalar variables when declaring
+   local variables and using values from previous variable contexts.
+
+q. Bash doesn't try to give the terminal back to the original process group
+   after running a trap unless job control is enabled.
+
+r. Fix to inhibit fork optimizations in functions that set a RETURN trap.
+
+s. Fixes for parsing commands within process substitutions where they should
+   behave differently than command substitutions.
+
+t. Restrict the effect of force_fignore to the cases where FIGNORE should
+   affect completions.
+
+u. Fix for `read' builtin and invalid multibyte characters that contain the
+   delimiter character, so the delimiter acts as intended.
+
+v. Fix for `read -e' so it restores the correct completion function if it's
+   interrupted.
+
+w. Fix an off-by-one error when parsing an improperly-formed printf time
+   specification.
+
+x. Fix for return status for commands whose return status is being inverted
+   when set -e is ignored.
+
+y. Fix for checking `read' builtin timeouts after we check for having read
+   the delimiter.
+
+z. Fixes for integer overflows and size_t variables.
+
+aa. Fixes for the Makefiles to simplify, remove some unused variables, and
+    clean up what `git' sees after running the various clean targets.
+
+bb. Fix for the `exec' builtin to avoid duplicate error messages.
+
+2. Changes to Readline
+
+a. Make sure the bracketed-paste input buffer is null-terminated when read
+   returns an error.
+
+b. Fixed a small memory leak in execute-named-command if the command doesn't
+   exist or the function doesn't return.
+
+c. Fix for attempting to change case of invalid multibyte characters.
+
+d. Fix for possible completions that compare identically when using case-
+   insensitive completion but have different byte lengths.
+
+e. Fix to make non-incremental searches use undo lists and set the history
+   position the same way as incremental searches.
+
+f. Don't check for signals when handling a received signal.
+
+g. Fix off-by-one error when tokenizing words like $((expr)) while performing
+   history expansion.
+
+h. Fixes for incremental searches and redisplay in the C locale.
+
+3. New Features in Bash
+
+a. MULTIPLE_COPROCS is now enabled by default.
+
+b. The `bind' builtin interprets additional non-option arguments after -p or
+   -P as bindable command names and restricts output to the bindings for
+   those names.
+
+c. Bash now uses the login shell for $BASH if the shell is named `su' or `-su'.
+
+d. Bash now prints job notifications if an interactive shell is running a trap,
+   even though the shell is not interactive at that moment.
+
+e. Programmable completion allows a new compspec loaded after a completion
+   function returns 124 to be used in more cases.
+
+f. ./source has a new -p PATH option, which makes it use the PATH argument
+   instead of $PATH to look for the file.
+
+g. GLOBSORT has a new `numeric' sort specifier, which sorts all-digit strings
+   as numbers.
+
+h. Documentation has been significantly updated.
+
+i. `wait -n' can now return terminated process substitutions, jobs about
+   which the user has already been notified (like `wait' without options),
+   
+j. `wait -n' removes jobs from the jobs table or list of terminated children
+    when in posix mode.
+
+k. Changed the `wait' builtin behavior regarding process substitutions to
+   match the documentation.
+
+l. There is a new `bash_source_fullpath' shopt option, which makes bash put
+   full pathnames into BASH_SOURCE, and a way to set a default value for it
+   at configure time.
+
+m. Posix mode now forces job notifications to occur when the new edition of
+   POSIX specifes (since it now specifies them).
+
+n. Interactive shells don't print job notifications while sourcing scripts.
+
+o. The parser prints more information about the command it's trying to parse
+   when it encounters EOF before completing the command.
+
+p. Posix mode no longer requires function names to be valid shell identifiers.
+
+q. If `exit' is run in a trap and not supplied an exit status argument, it
+   uses the value of $? from before the trap only if it's run at the trap's
+   `top level' and would cause the trap to end (that is, not in a subshell).
+   This is from Posix interp 1602.
+
+4. New Features in Readline
+
+a. Documentation has been significantly updated.
+
+b. New `force-meta-prefix' bindable variable, which forces the use of ESC as
+   the meta prefix when using "\M-" in key bindings instead of overloading
+   convert-meta.
+
+c. The default value for `readline-colored-completion-prefix' no longer has a
+   leading `.'; the original report was based on a misunderstanding.
+
+------------------------------------------------------------------------------
 This document details the changes between this version, bash-5.3-alpha, and
 the previous version, bash-5.2-release.
 
index a981ad4c9aaaf4885222d2989bbc24ed686bddd6..2e15fa6b0ff4c0bdba8627f961fa848bfe064d30 100644 (file)
@@ -1,3 +1,172 @@
+This document details the changes between this version, bash-5.3-beta, and
+the previous version, bash-5.3-alpha.
+
+1. Changes to Bash
+
+a. Per POSIX, a null pathname argument to `cd' is now an error.
+
+b. Fixes for command completion when the directory portion of the pathname
+   contains characters that require quoting.
+
+c. Fix to prevent redirections from undergoing word expansion twice.
+
+d. Fix for rare parsing issue with for loops where a newline appears before
+   `in'.
+
+e. The bash build process now assumes a C90 compilation environment and a
+   POSIX.1-1990 execution environment.
+
+f. Fixed a bug where bash's internal redirection flags could collide with
+   the system's open/fcntl flags.
+
+g. Fixed a problem with `jobs' run from a trap or `bind -x' command printing
+   the status of terminated foreground jobs.
+
+h. Bash works around a macOS gettext bug with translating the `command not
+   found' message by caching the translated string.
+
+i. Bash does not try to set the tty state after a process finishes if it is
+   running a trap, running a readline key binding (bind -x), or executing a
+   programmable completion.
+
+j. Restricted shells are not allowed to run `enable -f', even when it's
+   shorthand from `enable f'.
+
+k. Work around an android problem with file descriptors if the read builtin
+   gets both -u and -e.
+
+l. Fixed some small memory leaks in bash completion and command parsing and
+   execution.
+
+m. Fix for crash when timed commands jump back to the top level after SIGINT.
+
+n. Minor fixes for command substitution parsing in the foreground.
+
+o. Fix to reset read builtin buffer after SIGINT.
+
+p. Fix for inconsistency between arrays and scalar variables when declaring
+   local variables and using values from previous variable contexts.
+
+q. Bash doesn't try to give the terminal back to the original process group
+   after running a trap unless job control is enabled.
+
+r. Fix to inhibit fork optimizations in functions that set a RETURN trap.
+
+s. Fixes for parsing commands within process substitutions where they should
+   behave differently than command substitutions.
+
+t. Restrict the effect of force_fignore to the cases where FIGNORE should
+   affect completions.
+
+u. Fix for `read' builtin and invalid multibyte characters that contain the
+   delimiter character, so the delimiter acts as intended.
+
+v. Fix for `read -e' so it restores the correct completion function if it's
+   interrupted.
+
+w. Fix an off-by-one error when parsing an improperly-formed printf time
+   specification.
+
+x. Fix for return status for commands whose return status is being inverted
+   when set -e is ignored.
+
+y. Fix for checking `read' builtin timeouts after we check for having read
+   the delimiter.
+
+z. Fixes for integer overflows and size_t variables.
+
+aa. Fixes for the Makefiles to simplify, remove some unused variables, and
+    clean up what `git' sees after running the various clean targets.
+
+bb. Fix for the `exec' builtin to avoid duplicate error messages.
+
+2. Changes to Readline
+
+a. Make sure the bracketed-paste input buffer is null-terminated when read
+   returns an error.
+
+b. Fixed a small memory leak in execute-named-command if the command doesn't
+   exist or the function doesn't return.
+
+c. Fix for attempting to change case of invalid multibyte characters.
+
+d. Fix for possible completions that compare identically when using case-
+   insensitive completion but have different byte lengths.
+
+e. Fix to make non-incremental searches use undo lists and set the history
+   position the same way as incremental searches.
+
+f. Don't check for signals when handling a received signal.
+
+g. Fix off-by-one error when tokenizing words like $((expr)) while performing
+   history expansion.
+
+h. Fixes for incremental searches and redisplay in the C locale.
+
+3. New Features in Bash
+
+a. MULTIPLE_COPROCS is now enabled by default.
+
+b. The `bind' builtin interprets additional non-option arguments after -p or
+   -P as bindable command names and restricts output to the bindings for
+   those names.
+
+c. Bash now uses the login shell for $BASH if the shell is named `su' or `-su'.
+
+d. Bash now prints job notifications if an interactive shell is running a trap,
+   even though the shell is not interactive at that moment.
+
+e. Programmable completion allows a new compspec loaded after a completion
+   function returns 124 to be used in more cases.
+
+f. ./source has a new -p PATH option, which makes it use the PATH argument
+   instead of $PATH to look for the file.
+
+g. GLOBSORT has a new `numeric' sort specifier, which sorts all-digit strings
+   as numbers.
+
+h. Documentation has been significantly updated.
+
+i. `wait -n' can now return terminated process substitutions, jobs about
+   which the user has already been notified (like `wait' without options),
+   
+j. `wait -n' removes jobs from the jobs table or list of terminated children
+    when in posix mode.
+
+k. Changed the `wait' builtin behavior regarding process substitutions to
+   match the documentation.
+
+l. There is a new `bash_source_fullpath' shopt option, which makes bash put
+   full pathnames into BASH_SOURCE, and a way to set a default value for it
+   at configure time.
+
+m. Posix mode now forces job notifications to occur when the new edition of
+   POSIX specifes (since it now specifies them).
+
+n. Interactive shells don't print job notifications while sourcing scripts.
+
+o. The parser prints more information about the command it's trying to parse
+   when it encounters EOF before completing the command.
+
+p. Posix mode no longer requires function names to be valid shell identifiers.
+
+q. If `exit' is run in a trap and not supplied an exit status argument, it
+   uses the value of $? from before the trap only if it's run at the trap's
+   `top level' and would cause the trap to end (that is, not in a subshell).
+   This is from Posix interp 1602.
+
+4. New Features in Readline
+
+a. Documentation has been significantly updated.
+
+b. New `force-meta-prefix' bindable variable, which forces the use of ESC as
+   the meta prefix when using "\M-" in key bindings instead of overloading
+   convert-meta.
+
+c. The default value for `readline-colored-completion-prefix' no longer has a
+   leading `.'; the original report was based on a misunderstanding.
+
+------------------------------------------------------------------------------
 This document details the changes between this version, bash-5.3-alpha, and
 the previous version, bash-5.2-release.
 
index c6018d8b04fb996c167c3d3464433432b90e44d7..2f4245b852a77b40eccc8d931305bbea84b773c3 100644 (file)
@@ -9140,7 +9140,7 @@ bashline.c
          to dequote the entire pathname
        - command_word_completion_function: since the directory name from $PATH
          is not quoted, use the dequoted hint to construct the full pathname
-         to pass to rl_filename_completion_function (possibly after quoting it
+         to pass to rl_filename_completion_function (possibly after quoting it)
          From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=306043
 
                                   4/10
@@ -10483,7 +10483,7 @@ builtins/common.c
          POSIX interp 1602, in POSIX.1-2024
 
 stringlib.c
-       - find_token_in_alist: if FLAGS is non-zero, do *no* allocate new
+       - find_token_in_alist: if FLAGS is non-zero, do *not* allocate new
          memory for the token. The existing behavior is to allocate memory
          and return a copy of the token, and all callers pass 0
 
@@ -10620,7 +10620,7 @@ lib/termcap/termcap.c
 Makefile.in
        - y.tab.h: move from CREATED_HEADERS to INSTALLED_HEADERS so we don't
          clean it
-       - maybe-clean: slightly chnage the syntax of the recipe
+       - maybe-clean: slightly change the syntax of the recipe
 
 doc/Makefile.in
        - PSFILES: split into CREATED_PS and ps files from the distro
@@ -10631,3 +10631,22 @@ doc/Makefile.in
        - mostlyclean: don't remove Makefile
        - maybe-clean: use realpath equivalent like in top-level Makefile.in
        Report from Mike Jonkmans <bashbug@jonkmans.nl>
+
+                                  11/11
+                                  -----
+Makefile.in,doc/Makefile.in,lib/glob/Makefile.in,lib/readline/Makefile.in
+lib/malloc/Makefile.in.,lib/tilde/Makefile.in
+       - mostlyclean: swap with clean where appropriate
+       - add .PHONY target for clean targets where appropriate
+
+Makefile.in,configure.ac
+       - STDCKDINT_H: variable for possibly-created file stdckdint.h, for
+         dependencies; add dependencies where appropriate
+
+Makefile.in,doc/Makefile.in
+       - add various gnu-standard install targets that do nothing
+
+                                  11/14
+                                  -----
+CHANGES,NEWS
+       - updated for bash-5.3-beta
index 49f27bc3347d14e29d2d358ae3645f08cb786d81..2d43261e312c177b6b65b5c39f2a04b78c165dbe 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -692,8 +692,8 @@ doc/fdl.txt f
 #
 doc/article.ps f
 doc/rose94.ps  f
-doc/bash.ps            f
-doc/bashref.ps f
+#doc/bash.ps           f
+#doc/bashref.ps        f
 doc/bashref.dvi        f
 doc/bash.0             f
 doc/bashbug.0          f
index 00db8cbb71767011914469a6964072740df5ed70..174a2772130eb64865a8afa47961c75fa823f45b 100644 (file)
@@ -439,6 +439,8 @@ $(MALLOC_LIBRARY):  ${MALLOC_SOURCE} ${ALLOC_HEADERS} config.h
                 $(MAKE) $(BASH_MAKEFLAGS) \
                 MALLOC_CFLAGS="$(MALLOC_CFLAGS)" ${MALLOC_TARGET} ) || exit 1
 
+STDCKDINT_H = @STDCKDINT_H@
+
 BASHINCDIR = ${srcdir}/include
 BASHINCFILES =  $(BASHINCDIR)/posixstat.h $(BASHINCDIR)/ansi_stdlib.h \
                 $(BASHINCDIR)/filecntl.h $(BASHINCDIR)/posixdir.h \
@@ -500,7 +502,7 @@ INSTALLED_HEADERS = shell.h bashjmp.h command.h syntax.h general.h error.h \
                    conftypes.h unwind_prot.h jobs.h siglist.h \
                    execute_cmd.h y.tab.h
 INSTALLED_BUILTINS_HEADERS = bashgetopt.h common.h getopt.h
-INSTALLED_INCFILES =    posixstat.h ansi_stdlib.h filecntl.h posixdir.h \
+INSTALLED_INCLUDE_HEADERS = posixstat.h ansi_stdlib.h filecntl.h posixdir.h \
        memalloc.h stdc.h posixjmp.h posixwait.h posixtime.h systimes.h \
        unionwait.h maxpath.h shtty.h typemax.h ocache.h chartypes.h gettext.h \
        posixstat.h shmbchar.h shmbutil.h stat-time.h posixselect.h \
@@ -607,6 +609,7 @@ CREATED_MAKEFILES = Makefile builtins/Makefile doc/Makefile \
                    lib/intl/Makefile po/Makefile po/Makefile.in
 CREATED_HEADERS = signames.h config.h pathnames.h version.h \
                  ${DEFDIR}/builtext.h
+CREATED_SUBDIR_HEADERS = ${LIBINTL_H}
 
 OTHER_DOCS = $(srcdir)/CHANGES $(srcdir)/COMPAT $(srcdir)/NEWS $(srcdir)/POSIX \
        $(srcdir)/RBASH $(srcdir)/README
@@ -798,7 +801,7 @@ syntax.c:   mksyntax${EXEEXT} $(srcdir)/syntax.h
        $(RM) $@
        ./mksyntax$(EXEEXT) -o $@
 
-$(BUILTINS_LIBRARY): $(DEFDIR)/builtext.h $(BUILTIN_DEFS) $(BUILTIN_C_SRC) config.h ${BASHINCDIR}/memalloc.h
+$(BUILTINS_LIBRARY): $(DEFDIR)/builtext.h $(BUILTIN_DEFS) $(BUILTIN_C_SRC) config.h ${BASHINCDIR}/memalloc.h pathnames.h
        @(cd $(DEFDIR) && $(MAKE) $(BASH_MAKEFLAGS) DEBUG=${DEBUG} targets ) || exit 1
 
 # these require special rules to circumvent make builtin rules
@@ -872,7 +875,7 @@ loadables: .made
 doc documentation:  force
        @(cd $(DOCDIR) ; $(MAKE) $(BASH_MAKEFLAGS) )
 
-info dvi ps: force
+info dvi ps pdf html: force
        @(cd $(DOCDIR) ; $(MAKE) $(BASH_MAKEFLAGS) CFLAGS='$(CCFLAGS)' $@ )
 
 force:
@@ -886,6 +889,16 @@ tags:      $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE)
 
 # Targets that actually do things not part of the build
 
+install-html:
+       @(cd $(DOCDIR) ; $(MAKE) $(BASH_MAKEFLAGS) CFLAGS='$(CCFLAGS)' $@ )
+
+
+install-info:
+install-dvi:
+install-pdf:
+install-ps:
+installcheck:
+
 installdirs:
        @${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(bindir)
        @${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(man1dir)
@@ -920,7 +933,7 @@ install-headers: install-headers-dirs
        @for hf in $(INSTALLED_HEADERS) ; do \
                ${INSTALL_DATA} $(srcdir)/"$$hf" $(DESTDIR)$(headersdir)/$$hf || exit 1; \
        done
-       @for hf in $(INSTALLED_INCFILES) ; do \
+       @for hf in $(INSTALLED_INCLUDE_HEADERS) ; do \
                ${INSTALL_DATA} $(BASHINCDIR)/"$$hf" $(DESTDIR)$(headersdir)/include/$$hf || exit 1; \
        done
        @for hf in $(INSTALLED_BUILTINS_HEADERS) ; do \
@@ -933,13 +946,21 @@ install-headers: install-headers-dirs
                        ${INSTALL_DATA} $(srcdir)/"$$hf" $(DESTDIR)$(headersdir)/$$hf || exit 1; \
                fi ; \
        done
+       @SDH=${CREATED_SUBDIR_HEADERS} ; \
+       for hf in $${SDH} ; do \
+               $(INSTALL_DATA) "$$hf" $(DESTDIR)$(headersdir)/ ; \
+       done
        -$(INSTALL_DATA) $(SUPPORT_DIR)/bash.pc $(DESTDIR)$(pkgconfigdir)/bash.pc
 
 uninstall-headers:
        -( cd $(DESTDIR)$(headersdir) && $(RM) $(INSTALLED_HEADERS) )
-       -( cd $(DESTDIR)$(headersdir)/include && $(RM) $(INSTALLED_INCFILES) )
+       -( cd $(DESTDIR)$(headersdir)/include && $(RM) $(INSTALLED_INCLUDE_HEADERS) )
        -( cd $(DESTDIR)$(headersdir)/builtins && $(RM) $(INSTALLED_BUILTINS_HEADERS) )
        -( cd $(DESTDIR)$(headersdir) && $(RM) $(CREATED_HEADERS) )
+       -@SDH=${CREATED_SUBDIR_HEADERS} ; \
+       for hf in $${SDH} ; do \
+               ( cd $(DESTDIR)$(headersdir) && $(RM) `basename "$$hf"` )
+       done
        -( $(RM) $(DESTDIR)$(pkgconfigdir)/bash.pc )
 
 uninstall:     .made
@@ -1332,6 +1353,7 @@ nojobs.o: sig.h error.h ${BASHINCDIR}/shtty.h input.h parser.h
 nojobs.o: $(DEFDIR)/builtext.h
 nojobs.o: $(BASHINCDIR)/ocache.h $(BASHINCDIR)/chartypes.h $(BASHINCDIR)/typemax.h
 nojobs.o: $(BASHINCDIR)/unlocked-io.h
+nojobs.o: shell.h pathnames.h
 
 # shell features that may be compiled in
 
@@ -1373,7 +1395,8 @@ braces.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h ar
 braces.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
 braces.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
 braces.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h
-braces.o: ${BASHINCDIR}/typemax.h ${BASHINCDIR}/ocache.h ${BASHINCDIR}/chartypes.h 
+braces.o: ${BASHINCDIR}/typemax.h ${BASHINCDIR}/ocache.h ${BASHINCDIR}/chartypes.h
+braces.o: ${STDCKDINT_H} ${BASHINCDIR}/intprops-internal.h
 alias.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h command.h ${BASHINCDIR}/stdc.h
 alias.o: general.h xmalloc.h bashtypes.h externs.h alias.h
 alias.o: pcomplete.h hashlib.h
@@ -1520,6 +1543,7 @@ unwind_prot.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
 variables.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
 version.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
 xmalloc.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+xmalloc.o: ${STDCKDINT_H} ${BASHINCDIR}/intprops-internal.h
 
 # XXX
 $(MALLOC_SOURCE): bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
@@ -1627,7 +1651,6 @@ $(DEFDIR)/exec.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h
 $(DEFDIR)/exec.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
 $(DEFDIR)/exec.o: dispose_cmd.h make_cmd.h subst.h externs.h execute_cmd.h 
 $(DEFDIR)/exec.o: findcmd.h flags.h quit.h $(DEFSRC)/common.h ${BASHINCDIR}/stdc.h
-$(DEFDIR)/exec.o: pathnames.h
 $(DEFDIR)/exit.o: bashtypes.h 
 $(DEFDIR)/exit.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
 $(DEFDIR)/exit.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
@@ -1695,6 +1718,7 @@ $(DEFDIR)/printf.o: variables.h arrayfunc.h conftypes.h ${BASHINCDIR}/stdc.h $(D
 $(DEFDIR)/printf.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h
 $(DEFDIR)/printf.o: ${BASHINCDIR}/chartypes.h 
 $(DEFDIR)/printf.o: $(BASHINCDIR)/unlocked-io.h
+$(DEFDIR)/printf.o: ${STDCKDINT_H} ${BASHINCDIR}/intprops-internal.h
 $(DEFDIR)/pushd.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
 $(DEFDIR)/pushd.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
 $(DEFDIR)/pushd.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
diff --git a/NEWS b/NEWS
index a9b99054ea93b6bd69c1f0ad630224fe32eeba1f..40f9a03ae2fccca23032921d51a454a25552c966 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -48,8 +48,8 @@ p. Treat a NULL value for $PATH as equivalent to ".".
 p. New loadable builtins: kv, strptime
 
 q. GLOBSORT: new variable to specify how to sort the results of pathname
-   expansion (name, size, blocks, mtime, atime, ctime, none) in ascending
-   or descending order.
+   expansion (name, size, blocks, mtime, atime, ctime, numeric, none) in
+   ascending or descending order.
 
 r. `compgen' has a new option: -V varname. If supplied, it stores the generated
    completions into VARNAME instead of printing them on stdout.
@@ -96,6 +96,53 @@ ee. New test builtin behavior when parsing a parenthesized subexpression and
     Added for compatibility with coreutils test, dependent on the shell
     compatibility level. Such expressions remain ambiguous.
 
+ff. MULTIPLE_COPROCS is now enabled by default.
+
+gg. The `bind' builtin interprets additional non-option arguments after -p or
+    -P as bindable command names and restricts output to the bindings for
+    those names.
+
+hh. Bash now uses the login shell for $BASH if the shell is named `su' or `-su'.
+
+ii. Bash now prints job notifications if an interactive shell is running a trap,
+    even though the shell is not interactive at that moment.
+
+jj. Programmable completion allows a new compspec loaded after a completion
+    function returns 124 to be used in more cases.
+
+kk. ./source has a new -p PATH option, which makes it use the PATH argument
+    instead of $PATH to look for the file.
+
+ll. Documentation has been significantly updated.
+
+mm. `wait -n' can now return terminated process substitutions, jobs about
+    which the user has already been notified (like `wait' without options),
+   
+nn. `wait -n' removes jobs from the jobs table or list of terminated children
+     when in posix mode.
+
+oo. Changed the `wait' builtin behavior regarding process substitutions to
+    match the documentation.
+
+pp. There is a new `bash_source_fullpath' shopt option, which makes bash put
+    full pathnames into BASH_SOURCE, and a way to set a default value for it
+    at configure time.
+
+qq. Posix mode now forces job notifications to occur when the new edition of
+    POSIX specifes (since it now specifies them).
+
+rr. Interactive shells don't print job notifications while sourcing scripts.
+
+ss. The parser prints more information about the command it's trying to parse
+    when it encounters EOF before completing the command.
+
+tt. Posix mode no longer requires function names to be valid shell identifiers.
+
+uu. If `exit' is run in a trap and not supplied an exit status argument, it
+    uses the value of $? from before the trap only if it's run at the trap's
+    `top level' and would cause the trap to end (that is, not in a subshell).
+    This is from Posix interp 1602.
+
 2. New Features in Readline
 
 a. Output a newline if there is no prompt and readline reads an empty line.
@@ -128,6 +175,14 @@ i. Incremental and non-incremental searches now allow ^V/^Q (or, in the former
    case, anything bound to quoted-insert) to quote characters in the search
    string.
 
+j. Documentation has been significantly updated.
+
+k. New `force-meta-prefix' bindable variable, which forces the use of ESC as
+   the meta prefix when using "\M-" in key bindings instead of overloading
+   convert-meta.
+
+l. The default value for `readline-colored-completion-prefix' no longer has a
+   leading `.'; the original report was based on a misunderstanding.
 
 -------------------------------------------------------------------------------
 This is a terse description of the new features added to bash-5.2 since
index a27584541e6fd1f888ba9d7fab9ff747a717cb1c..7f860ecf495b0e533d17a6a842d56564eec8984f 100644 (file)
--- a/NEWS-5.3
+++ b/NEWS-5.3
@@ -96,6 +96,53 @@ ee. New test builtin behavior when parsing a parenthesized subexpression and
     Added for compatibility with coreutils test, dependent on the shell
     compatibility level. Such expressions remain ambiguous.
 
+ff. MULTIPLE_COPROCS is now enabled by default.
+
+gg. The `bind' builtin interprets additional non-option arguments after -p or
+    -P as bindable command names and restricts output to the bindings for
+    those names.
+
+hh. Bash now uses the login shell for $BASH if the shell is named `su' or `-su'.
+
+ii. Bash now prints job notifications if an interactive shell is running a trap,
+    even though the shell is not interactive at that moment.
+
+jj. Programmable completion allows a new compspec loaded after a completion
+    function returns 124 to be used in more cases.
+
+kk. ./source has a new -p PATH option, which makes it use the PATH argument
+    instead of $PATH to look for the file.
+
+ll. Documentation has been significantly updated.
+
+mm. `wait -n' can now return terminated process substitutions, jobs about
+    which the user has already been notified (like `wait' without options),
+   
+nn. `wait -n' removes jobs from the jobs table or list of terminated children
+     when in posix mode.
+
+oo. Changed the `wait' builtin behavior regarding process substitutions to
+    match the documentation.
+
+pp. There is a new `bash_source_fullpath' shopt option, which makes bash put
+    full pathnames into BASH_SOURCE, and a way to set a default value for it
+    at configure time.
+
+qq. Posix mode now forces job notifications to occur when the new edition of
+    POSIX specifes (since it now specifies them).
+
+rr. Interactive shells don't print job notifications while sourcing scripts.
+
+ss. The parser prints more information about the command it's trying to parse
+    when it encounters EOF before completing the command.
+
+tt. Posix mode no longer requires function names to be valid shell identifiers.
+
+uu. If `exit' is run in a trap and not supplied an exit status argument, it
+    uses the value of $? from before the trap only if it's run at the trap's
+    `top level' and would cause the trap to end (that is, not in a subshell).
+    This is from Posix interp 1602.
+
 2. New Features in Readline
 
 a. Output a newline if there is no prompt and readline reads an empty line.
@@ -127,3 +174,12 @@ h. execute-named-command: a new bindable command that reads the name of a
 i. Incremental and non-incremental searches now allow ^V/^Q (or, in the former
    case, anything bound to quoted-insert) to quote characters in the search
    string.
+
+j. Documentation has been significantly updated.
+
+k. New `force-meta-prefix' bindable variable, which forces the use of ESC as
+   the meta prefix when using "\M-" in key bindings instead of overloading
+   convert-meta.
+
+l. The default value for `readline-colored-completion-prefix' no longer has a
+   leading `.'; the original report was based on a misunderstanding.
diff --git a/README b/README
index 1ed6e863061a9198f4e1884e01512f05b3022827..34621000be372afc38f71a7f2045c19e12adaa1b 100644 (file)
--- a/README
+++ b/README
@@ -7,16 +7,16 @@ but also with interactive command line editing, job control on
 architectures that support it, csh-like features such as history
 substitution and brace expansion, and a slew of other features. 
 For more information on the features of Bash that are new to this
-type of shell, see the file `doc/bashref.texi'.  There is also a
-large Unix-style man page.  The man page is the definitive description
-of the shell's features. 
+type of shell, see the file `doc/bashref.info'.  There is also a
+large Unix-style man page. If the info fie and the man page conflict,
+the man page is the definitive description of the shell's features. 
 
 See the file POSIX for a discussion of how the Bash defaults differ
 from the POSIX spec and a description of the Bash `posix mode'.
 
 There are some user-visible incompatibilities between this version
-of Bash and previous widely-distributed versions, bash-4.4, bash-5.0,
-and bash-5.1. For details, see the file COMPAT.  The NEWS file tersely
+of Bash and previous widely-distributed versions, bash-5.0, bash-5.1,
+and bash-5.2. For details, see the file COMPAT.  The NEWS file tersely
 lists features that are new in this release. 
 
 Bash is free software, distributed under the terms of the [GNU] General
@@ -28,7 +28,7 @@ A number of frequently-asked questions are answered in the file
 `doc/FAQ'. (That file is no longer updated.)
 
 To compile Bash, type `./configure', then `make'.  Bash auto-configures
-the build process, so no further intervention should be necessary.  Bash
+the build process, so no further intervention should be necessary. Bash
 builds with `gcc' by default if it is available.  If you want to use `cc'
 instead, type
 
@@ -40,13 +40,14 @@ may work:
        env CC=cc ./configure
 
 Read the file INSTALL in this directory for more information about how
-to customize and control the build process.  The file NOTES contains
+to customize and control the build process, including how to build in a
+directory different from the source directory. The file NOTES contains
 platform-specific installation and configuration information.
 
 If you are a csh user and wish to convert your csh aliases to Bash
 aliases, you may wish to use the script `examples/misc/alias-conv.sh'
-as a starting point.  The script `examples/misc/cshtobash' is a
-more ambitious script that attempts to do a more complete job.
+as a starting point. The script `examples/misc/cshtobash' is a more
+ambitious script that attempts to do a more complete job.
 
 Reporting Bugs
 ==============
@@ -64,8 +65,8 @@ changes that people would like.  This mailing list is also available
 as a usenet newsgroup: gnu.bash.bug. 
 
 When you send a bug report, please use the `bashbug' program that is
-built at the same time as bash.  If bash fails to build, try building
-bashbug directly with `make bashbug'.  If you cannot build `bashbug',
+built at the same time as bash. If bash fails to build, try building
+bashbug directly with `make bashbug'. If you cannot build `bashbug',
 please send mail to bug-bash@gnu.org with the following information:
 
        * the version number and release status of Bash (e.g., 2.05a-release)
index 3ce607abb100c1d9dff00460e5e17e260fdda27b..7e0ec32423a9a98f85b7f91ca2b839454e5e1710 100644 (file)
@@ -114,6 +114,8 @@ DIRECTDEFINE = -D $(srcdir)
 HELPDIRDEFINE = @HELPDIRDEFINE@
 HELPSTRINGS = @HELPSTRINGS@
 
+STDCKDINT_H = @STDCKDINT_H@
+
 # xxx this is bad style
 RL_LIBSRC = $(topdir)/lib/readline
 
@@ -258,6 +260,8 @@ documentation: builtins.texi
 builtins.texi: $(MKBUILTINS)
        ./$(MKBUILTINS) -documentonly $(DEFSRC)
 
+.PHONY: basic-clean clean maintainer-clean distclean mostlyclean maybe-clean
+
 clean:
        $(RM) $(OFILES) $(CREATED_FILES) libbuiltins.a
        $(RM) $(MKBUILTINS) gen-helpfiles $(CREATED_OBJECTS)
@@ -563,6 +567,7 @@ printf.o: $(topdir)/bashtypes.h ${srcdir}/common.h $(BASHINCDIR)/chartypes.h
 printf.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h
 printf.o: ../pathnames.h
 printf.o: $(BASHINCDIR)/unlocked-io.h
+printf.o: ${STDCKDINT_H} ${BASHINCDIR}/intprops-internal.h
 pushd.o: $(topdir)/command.h ../config.h $(BASHINCDIR)/memalloc.h
 pushd.o: $(topdir)/error.h $(topdir)/general.h $(topdir)/xmalloc.h
 pushd.o: $(topdir)/quit.h $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h
index b80bdbd3ca5c5704091844ae37c643f58321f9ca..1ffb68ddc6b4dbc88849677ef8079be7b761e4a3 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.ac for Bash 5.3, version 5.073.
+# From configure.ac for Bash 5.3, version 5.074.
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.72 for bash 5.3-beta.
 #
@@ -649,6 +649,7 @@ gl_use_threads_default=
 gl_use_winpthreads_default=
 enable_year2038=no
 ac_subst_vars='LTLIBOBJS
+STDCKDINT_H
 LOCAL_DEFS
 LOCAL_LDFLAGS
 LOCAL_CFLAGS
@@ -9221,8 +9222,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
         LIBS=$save_LIBS
         test $gl_pthread_api = yes && break
       done
-      echo "$as_me:9224: gl_pthread_api=$gl_pthread_api" >&5
-      echo "$as_me:9225: LIBPTHREAD=$LIBPTHREAD" >&5
+      echo "$as_me:9225: gl_pthread_api=$gl_pthread_api" >&5
+      echo "$as_me:9226: LIBPTHREAD=$LIBPTHREAD" >&5
 
       gl_pthread_in_glibc=no
       # On Linux with glibc >= 2.34, libc contains the fully functional
@@ -9248,7 +9249,7 @@ rm -rf conftest*
 
           ;;
       esac
-      echo "$as_me:9251: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
+      echo "$as_me:9252: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
 
       # Test for libpthread by looking for pthread_kill. (Not pthread_self,
       # since it is defined as a macro on OSF/1.)
@@ -9426,7 +9427,7 @@ fi
 
         fi
       fi
-      echo "$as_me:9429: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
+      echo "$as_me:9430: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
     fi
     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5
 printf %s "checking whether POSIX threads API is available... " >&6; }
@@ -9673,8 +9674,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
         LIBS=$save_LIBS
         test $gl_pthread_api = yes && break
       done
-      echo "$as_me:9676: gl_pthread_api=$gl_pthread_api" >&5
-      echo "$as_me:9677: LIBPTHREAD=$LIBPTHREAD" >&5
+      echo "$as_me:9677: gl_pthread_api=$gl_pthread_api" >&5
+      echo "$as_me:9678: LIBPTHREAD=$LIBPTHREAD" >&5
 
       gl_pthread_in_glibc=no
       # On Linux with glibc >= 2.34, libc contains the fully functional
@@ -9700,7 +9701,7 @@ rm -rf conftest*
 
           ;;
       esac
-      echo "$as_me:9703: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
+      echo "$as_me:9704: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
 
       # Test for libpthread by looking for pthread_kill. (Not pthread_self,
       # since it is defined as a macro on OSF/1.)
@@ -9878,7 +9879,7 @@ fi
 
         fi
       fi
-      echo "$as_me:9881: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
+      echo "$as_me:9882: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
     fi
     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5
 printf %s "checking whether POSIX threads API is available... " >&6; }
@@ -16938,7 +16939,7 @@ INTL_DEP= INTL_INC= LIBINTL_H=
 if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
        INTL_DEP='${INTL_LIBDIR}/libintl.a'
        INTL_INC='-I${INTL_LIBSRC} -I${INTL_BUILDDIR}'
-       LIBINTL_H='${INTL_BUILDDIR}/libintl.h'
+       LIBINTL_H='${INTL_LIBDIR}/libintl.h'
 
        printf "%s\n" "#define HAVE_LOCALE_CHARSET 1" >>confdefs.h
 
@@ -23069,12 +23070,16 @@ ac_config_commands="$ac_config_commands stamp-h"
 
 if test "$ac_cv_header_stdckdint_h" = yes; then
        rm -f stdckdint.h
+       STDCKDINT_H=
 elif cmp ${srcdir}/include/stdckdint.in.h stdckdint.h 2>/dev/null; then
        :
+       STDCKDINT_H='${BUILD_DIR}/stdckdint.h'
 else
        cp ${srcdir}/include/stdckdint.in.h stdckdint.h
+       STDCKDINT_H='${BUILD_DIR}/stdckdint.h'
 fi
 
+
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
index 44b458d54d0a2b0b65607c0056d29b15caec5949..6409f85b6c196bcdd51c5cdd54a0bfac7f9eeefd 100644 (file)
@@ -21,7 +21,7 @@ dnl Process this file with autoconf to produce a configure script.
 #   You should have received a copy of the GNU General Public License
 #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-AC_REVISION([for Bash 5.3, version 5.073])dnl
+AC_REVISION([for Bash 5.3, version 5.074])dnl
 
 define(bashvers, 5.3)
 define(relstatus, beta)
@@ -1370,10 +1370,14 @@ AC_CONFIG_COMMANDS([stamp-h], [echo timestamp > stamp-h])
 
 if test "$ac_cv_header_stdckdint_h" = yes; then
        rm -f stdckdint.h
+       STDCKDINT_H=
 elif cmp ${srcdir}/include/stdckdint.in.h stdckdint.h 2>/dev/null; then
        :
+       STDCKDINT_H='${BUILD_DIR}/stdckdint.h'
 else
        cp ${srcdir}/include/stdckdint.in.h stdckdint.h
+       STDCKDINT_H='${BUILD_DIR}/stdckdint.h'
 fi
+AC_SUBST(STDCKDINT_H)
 
 AC_OUTPUT
index 8d91ddda5dc4bee9cf28bf86fc0d83b64200c745..8b6b6ed991cc04123416bc73c48c13991ec9bac7 100644 (file)
@@ -222,6 +222,8 @@ OTHER_INSTALLED_DOCS = FAQ INTRO
 $(MAN2HTML):   ${topdir}/support/man2html.c
        -( cd ${BUILD_DIR}/support ; ${MAKE} ${BASH_MAKEFLAGS} man2html)
 
+.PHONY: clean maintainer-clean distclean mostlyclean maybe-clean
+
 mostlyclean:
        $(RM) *.aux *.bak *.cp *.fn *.ky *.log *.pg *.toc *.tp *.vr *.cps \
                *.pgs *.bt *.bts *.rw *.rws *.fns *.kys *.tps *.vrs *.o
@@ -287,6 +289,16 @@ install-html:      html
                $(INSTALL_DATA) $(srcdir)/bashref.html $(DESTDIR)$(htmldir) ; \
        fi
 
+install-dvi:
+install-pdf:
+install-ps:
+
+uninstall-html:
+       -if test -n "$(htmldir)" ; then \
+               $(RM) $(DESTDIR)$(htmldir)/bash.html ; \
+               $(RM) $(DESTDIR)$(htmldir)/bashref.html ; \
+       fi
+
 uninstall:
        -$(RM) $(DESTDIR)$(man1dir)/bash${man1ext} $(DESTDIR)$(man1dir)/bashbug${man1ext}
        -$(RM) $(DESTDIR)$(man1dir)/bash_builtins${man1ext}
index 834163026651b5d28c6eac5fe5a8e3c8bb3e87b8..3981250c379865bd97556e9a555be1942e76b37b 100644 (file)
@@ -21,8 +21,6 @@
 #include <unistd.h>
 #include <errno.h>
 #include <error.h>
-#include <gettext.h>
-#include <locale.h>
 #include <string.h>
 #include <stdlib.h>
 #include <stdio.h>
index 48da8fcb1f86120547acc917a2fbac4e6a634652..25d9e32172f897921a6ca7671030d9a2b55c9bbb 100644 (file)
@@ -68,8 +68,11 @@ LIBRARY_NAME = libglob.a
 
 # The C code source files for this library.
 CSOURCES = $(srcdir)/glob.c $(srcdir)/strmatch.c $(srcdir)/smatch.c \
+          $(srcdir)/gmisc.c \
           $(srcdir)/xmbsrtowcs.c
 
+LOOP_FILES = $(srcdir)/glob_loop.c $(srcdir)/gm_loop.c $(srcdir)/sm_loop.c
+
 # The header files for this library.
 HSOURCES = $(srcdir)/strmatch.h
 
@@ -110,7 +113,9 @@ force:
 # include files.
 install:
 
-clean:
+.PHONY: clean maintainer-clean distclean mostlyclean
+
+mostlyclean:
        rm -f $(OBJECTS) $(LIBRARY_NAME)
        -(cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
 
@@ -118,7 +123,7 @@ realclean distclean maintainer-clean: clean
        -( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
        $(RM) -f Makefile
 
-mostlyclean: clean
+clean: mostlyclean
        -( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
 
 ${BUILD_DIR}/pathnames.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
index c2f00d8e316fb1a9d3241144bd9934f749b11144..09e581050adccf72c8b905af44335291aeb8faf0 100644 (file)
@@ -102,9 +102,13 @@ alloca.o:  $(srcdir)/$(ALLOCA_SOURCE)
                mv $(ALLOCA_OBJECT) alloca.o >/dev/null 2>&1 ; \
        fi
 
-mostlyclean clean:
+.PHONY: clean maintainer-clean distclean mostlyclean
+
+mostlyclean:
        $(RM) *.o libmalloc.a
 
+clean: mostlyclean
+
 distclean realclean maintainer-clean: clean
        $(RM) Makefile
 
index 477a4cfc9c233f4b2809df2b6e88036b3a36b36c..e1dc388cacff58f2c30676f4b4f3fc132637d957 100644 (file)
@@ -161,11 +161,13 @@ TAGS:     force
 tags:  force
        $(CTAGS) $(CSOURCES) $(HSOURCES)
 
-clean: force
+.PHONY: clean maintainer-clean distclean mostlyclean 
+
+mostlyclean:   force
        $(RM) $(OBJECTS) *.a
        -( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
 
-mostlyclean: clean
+clean: mostlyclean
        -( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
 
 distclean maintainer-clean: clean
index e197d66f02d8f56d2799a7d27ad6ae3e6655b705..16d6a5e7bf0be58dad3edae301ec0718a6c8fc50 100644 (file)
@@ -178,7 +178,9 @@ html:       $(HTMLOBJ)
 text:  $(TEXTOBJ)
 pdf:   $(PDFOBJ)
 
-clean:
+.PHONY: clean maintainer-clean distclean mostlyclean 
+
+mostlyclean:
        $(RM) *.aux *.cp *.fn *.ky *.log *.pg *.toc *.tp *.vr *.cps *.pgs \
              *.fns *.kys *.tps *.vrs *.bt *.bts *.o core *.core
 
@@ -186,7 +188,7 @@ distclean: clean
        $(RM) $(CREATED_DOCS)
        $(RM) $(INTERMEDIATE_OBJ)
 
-mostlyclean: clean
+clean: mostlyclean
 
 maintainer-clean: distclean
        $(RM) Makefile
index 8e658cd31f35141c15e61d01319710dd0cbecaf4..044df7931a96fcb2507b7887d86f312258e90679 100644 (file)
@@ -35,6 +35,7 @@ LIBBUILD = ${BUILD_DIR}/lib
 BASHINCDIR = ${topdir}/include
 
 INTL_LIBSRC = ${topdir}/lib/intl
+INTL_LIBDIR = ${LIBBUILD}/intl
 INTL_BUILDDIR = ${LIBBUILD}/intl
 INTL_INC = @INTL_INC@
 LIBINTL_H = @LIBINTL_H@
@@ -134,13 +135,15 @@ force:
 # include files.
 install:
 
-clean:
+.PHONY: clean maintainer-clean distclean mostlyclean
+
+mostlyclean:
        $(RM) $(OBJECTS) $(LIBRARY_NAME)
 
 realclean distclean maintainer-clean: clean
        $(RM) Makefile
 
-mostlyclean: clean
+clean: mostlyclean
 
 # Dependencies
 
index 006b6b177e2081624247b8010b3b4c166b836a9b..6105ebd61b6bd10f7a229241da3fe10092e244f4 100644 (file)
@@ -270,7 +270,7 @@ sh_mktmpfd (const char *nameroot, int flags, char **namep)
     }
   while (fd < 0 && errno == EEXIST);
 
-  if ((flags & MT_UNLINK) && (tmpunlink (filename) < 0)
+  if ((flags & MT_UNLINK) && (tmpunlink (filename) < 0))
     {
       int e = errno;
       close (fd);
index ea9bb626c209ae39139ffc8fc9e7fa5b3a9a5683..b2cb36165dc8acab3cfb190a2a8cafb9a320b023 100644 (file)
@@ -106,7 +106,9 @@ install:
        $(INSTALL_DATA) -c -m 644 $(LIBRARY_NAME) $(libdir)/$(LIBRARY_NAME)
        -test -n "$(RANLIB)" && $(RANLIB) -t $(libdir)/$(LIBRARY_NAME)
 
-clean:
+.PHONY: clean maintainer-clean distclean mostlyclean 
+
+mostlyclean:
        $(RM) -f $(OBJECTS) $(LIBRARY_NAME)
        -( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
 
@@ -114,7 +116,7 @@ realclean distclean maintainer-clean: clean
        -( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
        $(RM) -f Makefile
 
-mostlyclean: clean
+clean: mostlyclean
        -( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
 
 ######################################################################
index 6d865097c890237cb4d3788a67190e328ebef96e..ada1f5a54e55ccb291b6e2bfa253af30d2a044b4 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-05 12:15-0400\n"
+"POT-Creation-Date: 2024-11-12 11:51-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -22,52 +22,51 @@ msgstr ""
 msgid "bad array subscript"
 msgstr ""
 
-#: arrayfunc.c:463 builtins/declare.def:749 variables.c:2195 variables.c:2224
-#: variables.c:3098
+#: arrayfunc.c:466 builtins/declare.def:748 variables.c:2196 variables.c:2225
+#: variables.c:3099
 #, c-format
 msgid "%s: removing nameref attribute"
 msgstr ""
 
-#: arrayfunc.c:490 builtins/declare.def:924
+#: arrayfunc.c:493 builtins/declare.def:920
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr ""
 
-#: arrayfunc.c:786
+#: arrayfunc.c:789
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr ""
 
-#: arrayfunc.c:838
+#: arrayfunc.c:841
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr ""
 
 #: bashhist.c:464
-#, c-format
-msgid "%s: cannot create: %s"
+msgid "cannot create"
 msgstr ""
 
-#: bashline.c:4555
+#: bashline.c:4628
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr ""
 
-#: bashline.c:4725
+#: bashline.c:4799
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr ""
 
-#: bashline.c:4754
+#: bashline.c:4828
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr ""
 
-#: bashline.c:4785
+#: bashline.c:4859
 #, c-format
 msgid "%s: missing separator"
 msgstr ""
 
-#: bashline.c:4832
+#: bashline.c:4906
 #, c-format
 msgid "`%s': cannot unbind in command keymap"
 msgstr ""
@@ -87,41 +86,40 @@ msgstr ""
 msgid "brace expansion: failed to allocate memory for `%s'"
 msgstr ""
 
-#: builtins/alias.def:131 variables.c:1788
+#: builtins/alias.def:131 variables.c:1789
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr ""
 
-#: builtins/bind.def:119
+#: builtins/bind.def:123
 msgid "line editing not enabled"
 msgstr ""
 
-#: builtins/bind.def:204
+#: builtins/bind.def:208
 #, c-format
 msgid "`%s': invalid keymap name"
 msgstr ""
 
-#: builtins/bind.def:271
-#, c-format
-msgid "%s: cannot read: %s"
+#: builtins/bind.def:277
+msgid "cannot read"
 msgstr ""
 
-#: builtins/bind.def:347 builtins/bind.def:376
+#: builtins/bind.def:353 builtins/bind.def:382
 #, c-format
 msgid "`%s': unknown function name"
 msgstr ""
 
-#: builtins/bind.def:355
+#: builtins/bind.def:361
 #, c-format
 msgid "%s is not bound to any keys.\n"
 msgstr ""
 
-#: builtins/bind.def:359
+#: builtins/bind.def:365
 #, c-format
 msgid "%s can be invoked via "
 msgstr ""
 
-#: builtins/bind.def:395 builtins/bind.def:412
+#: builtins/bind.def:401 builtins/bind.def:418
 #, c-format
 msgid "`%s': cannot unbind"
 msgstr ""
@@ -158,11 +156,11 @@ msgstr ""
 msgid "too many arguments"
 msgstr ""
 
-#: builtins/cd.def:336
+#: builtins/cd.def:335
 msgid "null directory"
 msgstr ""
 
-#: builtins/cd.def:347
+#: builtins/cd.def:345
 msgid "OLDPWD not set"
 msgstr ""
 
@@ -181,7 +179,7 @@ msgstr ""
 msgid "%s: usage: "
 msgstr ""
 
-#: builtins/common.c:178 shell.c:524 shell.c:863
+#: builtins/common.c:178 shell.c:524 shell.c:865
 #, c-format
 msgid "%s: option requires an argument"
 msgstr ""
@@ -196,7 +194,7 @@ msgstr ""
 msgid "%s: not found"
 msgstr ""
 
-#: builtins/common.c:198 shell.c:876
+#: builtins/common.c:198 shell.c:878
 #, c-format
 msgid "%s: invalid option"
 msgstr ""
@@ -206,8 +204,7 @@ msgstr ""
 msgid "%s: invalid option name"
 msgstr ""
 
-#: builtins/common.c:210 execute_cmd.c:2461 general.c:360 general.c:365
-#: general.c:446 general.c:457
+#: builtins/common.c:210 error.c:461
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr ""
@@ -220,7 +217,7 @@ msgstr ""
 msgid "invalid hex number"
 msgstr ""
 
-#: builtins/common.c:223 expr.c:1560 expr.c:1574
+#: builtins/common.c:223 expr.c:1559 expr.c:1573
 msgid "invalid number"
 msgstr ""
 
@@ -272,60 +269,66 @@ msgstr ""
 msgid "no job control"
 msgstr ""
 
-#: builtins/common.c:282
+#: builtins/common.c:279
+#, c-format
+msgid "%s: invalid job specification"
+msgstr ""
+
+#: builtins/common.c:289
 #, c-format
 msgid "%s: restricted"
 msgstr ""
 
-#: builtins/common.c:284
+#: builtins/common.c:291
 msgid "restricted"
 msgstr ""
 
-#: builtins/common.c:291
+#: builtins/common.c:298
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr ""
 
-#: builtins/common.c:300
-#, c-format
-msgid "write error: %s"
+#: builtins/common.c:307
+msgid "write error"
 msgstr ""
 
-#: builtins/common.c:307
-#, c-format
-msgid "error setting terminal attributes: %s"
+#: builtins/common.c:314
+msgid "error setting terminal attributes"
 msgstr ""
 
-#: builtins/common.c:309
-#, c-format
-msgid "error getting terminal attributes: %s"
+#: builtins/common.c:316
+msgid "error getting terminal attributes"
 msgstr ""
 
-#: builtins/common.c:599
-#, c-format
-msgid "%s: error retrieving current directory: %s: %s\n"
+#: builtins/common.c:611
+msgid "error retrieving current directory"
 msgstr ""
 
-#: builtins/common.c:663 builtins/common.c:665
+#: builtins/common.c:675 builtins/common.c:677
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr ""
 
-#: builtins/common.c:917
+#: builtins/common.c:709
+#, c-format
+msgid "%s: job specification requires leading `%%'"
+msgstr ""
+
+#: builtins/common.c:937
 msgid "help not available in this version"
 msgstr ""
 
-#: builtins/common.c:985
+#: builtins/common.c:1005
 #, c-format
 msgid "%s: not an indexed array"
 msgstr ""
 
-#: builtins/common.c:1008 builtins/set.def:964 variables.c:3864
+#: builtins/common.c:1028 builtins/set.def:964 variables.c:3868
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr ""
 
-#: builtins/common.c:1013 builtins/set.def:930 variables.c:3869
+#: builtins/common.c:1033 builtins/set.def:930 variables.c:3873
 #, c-format
 msgid "%s: cannot unset"
 msgstr ""
@@ -353,50 +356,50 @@ msgstr ""
 msgid "not currently executing completion function"
 msgstr ""
 
-#: builtins/declare.def:136
+#: builtins/declare.def:139
 msgid "can only be used in a function"
 msgstr ""
 
-#: builtins/declare.def:472
+#: builtins/declare.def:471
 msgid "cannot use `-f' to make functions"
 msgstr ""
 
-#: builtins/declare.def:500 execute_cmd.c:6249
+#: builtins/declare.def:499 execute_cmd.c:6294
 #, c-format
 msgid "%s: readonly function"
 msgstr ""
 
-#: builtins/declare.def:557 builtins/declare.def:844
+#: builtins/declare.def:556 builtins/declare.def:843
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr ""
 
-#: builtins/declare.def:568 variables.c:3345
+#: builtins/declare.def:567 variables.c:3346
 #, c-format
 msgid "%s: nameref variable self references not allowed"
 msgstr ""
 
-#: builtins/declare.def:573 variables.c:2034 variables.c:3342
+#: builtins/declare.def:572 variables.c:2035 variables.c:3343
 #, c-format
 msgid "%s: circular name reference"
 msgstr ""
 
-#: builtins/declare.def:577 builtins/declare.def:851 builtins/declare.def:860
+#: builtins/declare.def:576 builtins/declare.def:850 builtins/declare.def:859
 #, c-format
 msgid "`%s': invalid variable name for name reference"
 msgstr ""
 
-#: builtins/declare.def:912
+#: builtins/declare.def:908
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr ""
 
-#: builtins/declare.def:918
+#: builtins/declare.def:914
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr ""
 
-#: builtins/declare.def:947
+#: builtins/declare.def:943
 #, c-format
 msgid "%s: quoted compound array assignment deprecated"
 msgstr ""
@@ -405,64 +408,68 @@ msgstr ""
 msgid "dynamic loading not available"
 msgstr ""
 
-#: builtins/enable.def:385
+#: builtins/enable.def:389
 #, c-format
 msgid "cannot open shared object %s: %s"
 msgstr ""
 
-#: builtins/enable.def:404
+#: builtins/enable.def:408
 #, c-format
 msgid "%s: builtin names may not contain slashes"
 msgstr ""
 
-#: builtins/enable.def:419
+#: builtins/enable.def:423
 #, c-format
 msgid "cannot find %s in shared object %s: %s"
 msgstr ""
 
-#: builtins/enable.def:436
+#: builtins/enable.def:440
 #, c-format
 msgid "%s: dynamic builtin already loaded"
 msgstr ""
 
-#: builtins/enable.def:440
+#: builtins/enable.def:444
 #, c-format
 msgid "load function for %s returns failure (%d): not loaded"
 msgstr ""
 
-#: builtins/enable.def:561
+#: builtins/enable.def:565
 #, c-format
 msgid "%s: not dynamically loaded"
 msgstr ""
 
-#: builtins/enable.def:587
+#: builtins/enable.def:591
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr ""
 
-#: builtins/evalfile.c:136 builtins/hash.def:190 execute_cmd.c:6082
+#: builtins/evalfile.c:137 builtins/hash.def:190 execute_cmd.c:6114
 #, c-format
 msgid "%s: is a directory"
 msgstr ""
 
-#: builtins/evalfile.c:142
+#: builtins/evalfile.c:143
 #, c-format
 msgid "%s: not a regular file"
 msgstr ""
 
-#: builtins/evalfile.c:151
+#: builtins/evalfile.c:152
 #, c-format
 msgid "%s: file is too large"
 msgstr ""
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1688
-#, c-format
-msgid "%s: cannot execute binary file"
+#: builtins/evalfile.c:189 builtins/evalfile.c:207 execute_cmd.c:6196
+#: shell.c:1690
+msgid "cannot execute binary file"
 msgstr ""
 
-#: builtins/exec.def:157 builtins/exec.def:159 builtins/exec.def:245
+#: builtins/evalstring.c:478
 #, c-format
-msgid "%s: cannot execute: %s"
+msgid "%s: ignoring function definition attempt"
+msgstr ""
+
+#: builtins/exec.def:157 builtins/exec.def:159 builtins/exec.def:248
+msgid "cannot execute"
 msgstr ""
 
 #: builtins/exit.def:61
@@ -494,15 +501,14 @@ msgid "history specification"
 msgstr ""
 
 #: builtins/fc.def:462
-#, c-format
-msgid "%s: cannot open temp file: %s"
+msgid "cannot open temp file"
 msgstr ""
 
-#: builtins/fg_bg.def:148 builtins/jobs.def:289
+#: builtins/fg_bg.def:150 builtins/jobs.def:293
 msgid "current"
 msgstr ""
 
-#: builtins/fg_bg.def:157
+#: builtins/fg_bg.def:159
 #, c-format
 msgid "job %d started without job control"
 msgstr ""
@@ -550,11 +556,10 @@ msgid ""
 msgstr ""
 
 #: builtins/help.def:214
-#, c-format
-msgid "%s: cannot open: %s"
+msgid "cannot open"
 msgstr ""
 
-#: builtins/help.def:502
+#: builtins/help.def:500
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -579,7 +584,7 @@ msgstr ""
 msgid "empty filename"
 msgstr ""
 
-#: builtins/history.def:280 subst.c:8233
+#: builtins/history.def:280 subst.c:8215
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr ""
@@ -594,36 +599,30 @@ msgstr ""
 msgid "%s: history expansion failed"
 msgstr ""
 
-#: builtins/inlib.def:71
-#, c-format
-msgid "%s: inlib failed"
-msgstr ""
-
 #: builtins/jobs.def:109
 msgid "no other options allowed with `-x'"
 msgstr ""
 
-#: builtins/kill.def:210
+#: builtins/kill.def:213
 #, c-format
 msgid "%s: arguments must be process or job IDs"
 msgstr ""
 
-#: builtins/kill.def:271
+#: builtins/kill.def:275
 msgid "Unknown error"
 msgstr ""
 
-#: builtins/let.def:96 builtins/let.def:120 expr.c:634 expr.c:652
+#: builtins/let.def:96 builtins/let.def:120 expr.c:633 expr.c:651
 msgid "expression expected"
 msgstr ""
 
-#: builtins/mapfile.def:249 builtins/read.def:359
+#: builtins/mapfile.def:249 builtins/read.def:373
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr ""
 
-#: builtins/mapfile.def:257 builtins/read.def:366
-#, c-format
-msgid "%d: invalid file descriptor: %s"
+#: builtins/mapfile.def:257 builtins/read.def:380
+msgid "invalid file descriptor"
 msgstr ""
 
 #: builtins/mapfile.def:266 builtins/mapfile.def:304
@@ -649,41 +648,35 @@ msgstr ""
 msgid "array variable support required"
 msgstr ""
 
-#: builtins/printf.def:475
+#: builtins/printf.def:477
 #, c-format
 msgid "`%s': missing format character"
 msgstr ""
 
-#: builtins/printf.def:600
+#: builtins/printf.def:603
 #, c-format
 msgid "`%c': invalid time format specification"
 msgstr ""
 
-#: builtins/printf.def:702
-#, c-format
-msgid "%%Q: string length: %s"
+#: builtins/printf.def:705
+msgid "string length"
 msgstr ""
 
-#: builtins/printf.def:802
+#: builtins/printf.def:805
 #, c-format
 msgid "`%c': invalid format character"
 msgstr ""
 
-#: builtins/printf.def:827 execute_cmd.c:6080
-#, c-format
-msgid "%s: %s"
-msgstr ""
-
-#: builtins/printf.def:919
+#: builtins/printf.def:922
 #, c-format
 msgid "format parsing problem: %s"
 msgstr ""
 
-#: builtins/printf.def:1104
+#: builtins/printf.def:1107
 msgid "missing hex digit for \\x"
 msgstr ""
 
-#: builtins/printf.def:1119
+#: builtins/printf.def:1122
 #, c-format
 msgid "missing unicode digit for \\%c"
 msgstr ""
@@ -779,14 +772,13 @@ msgid ""
 "    The `dirs' builtin displays the directory stack."
 msgstr ""
 
-#: builtins/read.def:331
+#: builtins/read.def:346
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr ""
 
-#: builtins/read.def:868
-#, c-format
-msgid "read error: %d: %s"
+#: builtins/read.def:909
+msgid "read error"
 msgstr ""
 
 #: builtins/return.def:73
@@ -816,20 +808,20 @@ msgstr ""
 msgid "shift count"
 msgstr ""
 
-#: builtins/shopt.def:330
+#: builtins/shopt.def:332
 msgid "cannot set and unset shell options simultaneously"
 msgstr ""
 
-#: builtins/shopt.def:454
+#: builtins/shopt.def:457
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr ""
 
-#: builtins/source.def:127
+#: builtins/source.def:143
 msgid "filename argument required"
 msgstr ""
 
-#: builtins/source.def:153
+#: builtins/source.def:179
 #, c-format
 msgid "%s: file not found"
 msgstr ""
@@ -842,6 +834,10 @@ msgstr ""
 msgid "cannot suspend a login shell"
 msgstr ""
 
+#: builtins/test.def:146 test.c:926
+msgid "missing `]'"
+msgstr ""
+
 #: builtins/type.def:231
 #, c-format
 msgid "%s is aliased to `%s'\n"
@@ -877,28 +873,26 @@ msgstr ""
 msgid "%s is hashed (%s)\n"
 msgstr ""
 
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:401
 #, c-format
 msgid "%s: invalid limit argument"
 msgstr ""
 
-#: builtins/ulimit.def:424
+#: builtins/ulimit.def:427
 #, c-format
 msgid "`%c': bad command"
 msgstr ""
 
-#: builtins/ulimit.def:459
-#, c-format
-msgid "%s: cannot get limit: %s"
+#: builtins/ulimit.def:463 builtins/ulimit.def:733
+msgid "cannot get limit"
 msgstr ""
 
-#: builtins/ulimit.def:492
+#: builtins/ulimit.def:496
 msgid "limit"
 msgstr ""
 
-#: builtins/ulimit.def:504 builtins/ulimit.def:790
-#, c-format
-msgid "%s: cannot modify limit: %s"
+#: builtins/ulimit.def:509 builtins/ulimit.def:797
+msgid "cannot modify limit"
 msgstr ""
 
 #: builtins/umask.def:114
@@ -961,80 +955,72 @@ msgstr ""
 msgid "%s: unbound variable"
 msgstr ""
 
-#: eval.c:252
+#: eval.c:256
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr ""
 
-#: execute_cmd.c:587
-#, c-format
-msgid "cannot redirect standard input from /dev/null: %s"
+#: execute_cmd.c:606
+msgid "cannot redirect standard input from /dev/null"
 msgstr ""
 
-#: execute_cmd.c:1369
+#: execute_cmd.c:1404
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr ""
 
-#: execute_cmd.c:2447
+#: execute_cmd.c:2485
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
 msgstr ""
 
-#: execute_cmd.c:2600
+#: execute_cmd.c:2639
 msgid "pipe error"
 msgstr ""
 
-#: execute_cmd.c:4048
+#: execute_cmd.c:4092
 #, c-format
 msgid "invalid regular expression `%s': %s"
 msgstr ""
 
-#: execute_cmd.c:4050
+#: execute_cmd.c:4094
 #, c-format
 msgid "invalid regular expression `%s'"
 msgstr ""
 
-#: execute_cmd.c:5028
+#: execute_cmd.c:5048
 #, c-format
 msgid "eval: maximum eval nesting level exceeded (%d)"
 msgstr ""
 
-#: execute_cmd.c:5041
+#: execute_cmd.c:5061
 #, c-format
 msgid "%s: maximum source nesting level exceeded (%d)"
 msgstr ""
 
-#: execute_cmd.c:5170
+#: execute_cmd.c:5190
 #, c-format
 msgid "%s: maximum function nesting level exceeded (%d)"
 msgstr ""
 
-#: execute_cmd.c:5727
-#, c-format
-msgid "%s: restricted: cannot specify `/' in command names"
+#: execute_cmd.c:5728
+msgid "command not found"
 msgstr ""
 
-#: execute_cmd.c:5844
+#: execute_cmd.c:5757
 #, c-format
-msgid "%s: command not found"
+msgid "%s: restricted: cannot specify `/' in command names"
 msgstr ""
 
-#: execute_cmd.c:6118
-#, c-format
-msgid "%s: %s: bad interpreter"
+#: execute_cmd.c:6150
+msgid "bad interpreter"
 msgstr ""
 
-#: execute_cmd.c:6127
+#: execute_cmd.c:6159
 #, c-format
 msgid "%s: cannot execute: required file not found"
 msgstr ""
 
-#: execute_cmd.c:6164
-#, c-format
-msgid "%s: cannot execute binary file: %s"
-msgstr ""
-
-#: execute_cmd.c:6290
+#: execute_cmd.c:6335
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr ""
@@ -1047,76 +1033,76 @@ msgstr ""
 msgid "recursion stack underflow"
 msgstr ""
 
-#: expr.c:472
+#: expr.c:471
 msgid "arithmetic syntax error in expression"
 msgstr ""
 
-#: expr.c:516
+#: expr.c:515
 msgid "attempted assignment to non-variable"
 msgstr ""
 
-#: expr.c:525
+#: expr.c:524
 msgid "arithmetic syntax error in variable assignment"
 msgstr ""
 
-#: expr.c:539 expr.c:906
+#: expr.c:538 expr.c:905
 msgid "division by 0"
 msgstr ""
 
-#: expr.c:587
+#: expr.c:586
 msgid "bug: bad expassign token"
 msgstr ""
 
-#: expr.c:641
+#: expr.c:640
 msgid "`:' expected for conditional expression"
 msgstr ""
 
-#: expr.c:968
+#: expr.c:967
 msgid "exponent less than 0"
 msgstr ""
 
-#: expr.c:1029
+#: expr.c:1028
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr ""
 
-#: expr.c:1056
+#: expr.c:1055
 msgid "missing `)'"
 msgstr ""
 
-#: expr.c:1107 expr.c:1490
+#: expr.c:1106 expr.c:1489
 msgid "arithmetic syntax error: operand expected"
 msgstr ""
 
-#: expr.c:1451 expr.c:1472
+#: expr.c:1450 expr.c:1471
 msgid "--: assignment requires lvalue"
 msgstr ""
 
-#: expr.c:1453 expr.c:1474
+#: expr.c:1452 expr.c:1473
 msgid "++: assignment requires lvalue"
 msgstr ""
 
-#: expr.c:1492
+#: expr.c:1491
 msgid "arithmetic syntax error: invalid arithmetic operator"
 msgstr ""
 
-#: expr.c:1515
+#: expr.c:1514
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr ""
 
-#: expr.c:1578
+#: expr.c:1577
 msgid "invalid arithmetic base"
 msgstr ""
 
-#: expr.c:1587
+#: expr.c:1586
 msgid "invalid integer constant"
 msgstr ""
 
-#: expr.c:1603
+#: expr.c:1602
 msgid "value too great for base"
 msgstr ""
 
-#: expr.c:1654
+#: expr.c:1653
 #, c-format
 msgid "%s: expression error\n"
 msgstr ""
@@ -1125,12 +1111,12 @@ msgstr ""
 msgid "getcwd: cannot access parent directories"
 msgstr ""
 
-#: general.c:452
+#: general.c:459
 #, c-format
 msgid "`%s': is a special builtin"
 msgstr ""
 
-#: input.c:98 subst.c:6580
+#: input.c:98 subst.c:6540
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr ""
@@ -1145,162 +1131,162 @@ msgstr ""
 msgid "save_bash_input: buffer already exists for new fd %d"
 msgstr ""
 
-#: jobs.c:539
+#: jobs.c:549
 msgid "start_pipeline: pgrp pipe"
 msgstr ""
 
-#: jobs.c:899
+#: jobs.c:910
 #, c-format
 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr ""
 
-#: jobs.c:951
+#: jobs.c:962
 #, c-format
 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr ""
 
-#: jobs.c:1292
+#: jobs.c:1380
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr ""
 
-#: jobs.c:1408
+#: jobs.c:1496
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr ""
 
-#: jobs.c:1509
+#: jobs.c:1620
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr ""
 
-#: jobs.c:1839
+#: jobs.c:1949
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr ""
 
-#: jobs.c:1853
+#: jobs.c:1963
 #, c-format
 msgid "Signal %d"
 msgstr ""
 
-#: jobs.c:1864 jobs.c:1890
+#: jobs.c:1974 jobs.c:2000
 msgid "Done"
 msgstr ""
 
-#: jobs.c:1869 siglist.c:123
+#: jobs.c:1979 siglist.c:123
 msgid "Stopped"
 msgstr ""
 
-#: jobs.c:1873
+#: jobs.c:1983
 #, c-format
 msgid "Stopped(%s)"
 msgstr ""
 
-#: jobs.c:1877
+#: jobs.c:1987
 msgid "Running"
 msgstr ""
 
-#: jobs.c:1894
+#: jobs.c:2004
 #, c-format
 msgid "Done(%d)"
 msgstr ""
 
-#: jobs.c:1896
+#: jobs.c:2006
 #, c-format
 msgid "Exit %d"
 msgstr ""
 
-#: jobs.c:1899
+#: jobs.c:2009
 msgid "Unknown status"
 msgstr ""
 
-#: jobs.c:1983
+#: jobs.c:2105
 #, c-format
 msgid "(core dumped) "
 msgstr ""
 
-#: jobs.c:2002
+#: jobs.c:2124
 #, c-format
 msgid "  (wd: %s)"
 msgstr ""
 
-#: jobs.c:2229
+#: jobs.c:2391
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr ""
 
-#: jobs.c:2580 nojobs.c:637
+#: jobs.c:2753 nojobs.c:640
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr ""
 
-#: jobs.c:2872
+#: jobs.c:3049
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr ""
 
-#: jobs.c:3228
+#: jobs.c:3407
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr ""
 
-#: jobs.c:3566
+#: jobs.c:3835
 #, c-format
 msgid "%s: no current jobs"
 msgstr ""
 
-#: jobs.c:3573
+#: jobs.c:3842
 #, c-format
 msgid "%s: job has terminated"
 msgstr ""
 
-#: jobs.c:3582
+#: jobs.c:3851
 #, c-format
 msgid "%s: job %d already in background"
 msgstr ""
 
-#: jobs.c:3810
+#: jobs.c:4089
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
 msgstr ""
 
-#: jobs.c:4348
+#: jobs.c:4638
 #, c-format
 msgid "%s: line %d: "
 msgstr ""
 
-#: jobs.c:4363 nojobs.c:892
+#: jobs.c:4654 nojobs.c:895
 #, c-format
 msgid " (core dumped)"
 msgstr ""
 
-#: jobs.c:4379 jobs.c:4399
+#: jobs.c:4674 jobs.c:4694
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr ""
 
-#: jobs.c:4430
+#: jobs.c:4738
 msgid "initialize_job_control: getpgrp failed"
 msgstr ""
 
-#: jobs.c:4486
+#: jobs.c:4794
 msgid "initialize_job_control: no job control in background"
 msgstr ""
 
-#: jobs.c:4502
+#: jobs.c:4810
 msgid "initialize_job_control: line discipline"
 msgstr ""
 
-#: jobs.c:4512
+#: jobs.c:4820
 msgid "initialize_job_control: setpgid"
 msgstr ""
 
-#: jobs.c:4533 jobs.c:4542
+#: jobs.c:4841 jobs.c:4850
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr ""
 
-#: jobs.c:4547
+#: jobs.c:4855
 msgid "no job control in this shell"
 msgstr ""
 
@@ -1344,19 +1330,19 @@ msgstr ""
 msgid "free: start and end chunk sizes differ"
 msgstr ""
 
-#: lib/malloc/malloc.c:1154
+#: lib/malloc/malloc.c:1155
 msgid "realloc: called with unallocated block argument"
 msgstr ""
 
-#: lib/malloc/malloc.c:1169
+#: lib/malloc/malloc.c:1170
 msgid "realloc: underflow detected; mh_nbytes out of range"
 msgstr ""
 
-#: lib/malloc/malloc.c:1175
+#: lib/malloc/malloc.c:1176
 msgid "realloc: underflow detected; magic8 corrupted"
 msgstr ""
 
-#: lib/malloc/malloc.c:1183
+#: lib/malloc/malloc.c:1184
 msgid "realloc: start and end chunk sizes differ"
 msgstr ""
 
@@ -1398,24 +1384,8 @@ msgstr ""
 msgid "network operations not supported"
 msgstr ""
 
-#: locale.c:222
-#, c-format
-msgid "setlocale: LC_ALL: cannot change locale (%s)"
-msgstr ""
-
-#: locale.c:224
-#, c-format
-msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
-msgstr ""
-
-#: locale.c:297
-#, c-format
-msgid "setlocale: %s: cannot change locale (%s)"
-msgstr ""
-
-#: locale.c:299
-#, c-format
-msgid "setlocale: %s: cannot change locale (%s): %s"
+#: locale.c:226 locale.c:228 locale.c:301 locale.c:303
+msgid "cannot change locale"
 msgstr ""
 
 #: mailcheck.c:435
@@ -1459,123 +1429,136 @@ msgstr ""
 msgid "make_redirection: redirection instruction `%d' out of range"
 msgstr ""
 
-#: parse.y:2518
+#: parse.y:2572
 #, c-format
 msgid ""
 "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
 "truncated"
 msgstr ""
 
-#: parse.y:2810
-#, c-format
-msgid "script file read error: %s"
+#: parse.y:2864
+msgid "script file read error"
 msgstr ""
 
-#: parse.y:3046
+#: parse.y:3101
 msgid "maximum here-document count exceeded"
 msgstr ""
 
-#: parse.y:3831 parse.y:4727 parse.y:6767
+#: parse.y:3901 parse.y:4799 parse.y:6853
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr ""
 
-#: parse.y:4934
+#: parse.y:5006
 msgid "unexpected EOF while looking for `]]'"
 msgstr ""
 
-#: parse.y:4939
+#: parse.y:5011
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr ""
 
-#: parse.y:4943
+#: parse.y:5015
 msgid "syntax error in conditional expression"
 msgstr ""
 
-#: parse.y:5021
+#: parse.y:5093
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr ""
 
-#: parse.y:5025
+#: parse.y:5097
 msgid "expected `)'"
 msgstr ""
 
-#: parse.y:5053
+#: parse.y:5127
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr ""
 
-#: parse.y:5057
+#: parse.y:5131
 msgid "unexpected argument to conditional unary operator"
 msgstr ""
 
-#: parse.y:5104
+#: parse.y:5178
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr ""
 
-#: parse.y:5108
+#: parse.y:5182
 msgid "conditional binary operator expected"
 msgstr ""
 
-#: parse.y:5135
+#: parse.y:5211
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr ""
 
-#: parse.y:5139
+#: parse.y:5215
 msgid "unexpected argument to conditional binary operator"
 msgstr ""
 
-#: parse.y:5150
+#: parse.y:5226
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr ""
 
-#: parse.y:5153
+#: parse.y:5229
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr ""
 
-#: parse.y:5157
+#: parse.y:5233
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr ""
 
-#: parse.y:6737
+#: parse.y:6821
+#, c-format
+msgid "syntax error near unexpected token `%s' while looking for matching `%c'"
+msgstr ""
+
+#: parse.y:6823
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr ""
 
-#: parse.y:6756
+#: parse.y:6842
 #, c-format
 msgid "syntax error near `%s'"
 msgstr ""
 
-#: parse.y:6769
+#: parse.y:6861
+#, c-format
+msgid "syntax error: unexpected end of file from `%s' command on line %d"
+msgstr ""
+
+#: parse.y:6863
 #, c-format
 msgid "syntax error: unexpected end of file from command on line %d"
 msgstr ""
 
-#: parse.y:6772
+#: parse.y:6867
 msgid "syntax error: unexpected end of file"
 msgstr ""
 
-#: parse.y:6772
+#: parse.y:6867
 msgid "syntax error"
 msgstr ""
 
-#: parse.y:6821
+#: parse.y:6916
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr ""
 
-#: parse.y:7018
+#: parse.y:7114
 msgid "unexpected EOF while looking for matching `)'"
 msgstr ""
 
+#: pathexp.c:897
+msgid "invalid glob sort type"
+msgstr ""
+
 #: pcomplete.c:1070
 #, c-format
 msgid "completion: function `%s' not found"
@@ -1610,7 +1593,7 @@ msgstr ""
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr ""
 
-#: print_cmd.c:1576
+#: print_cmd.c:1597
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr ""
@@ -1620,35 +1603,30 @@ msgid "file descriptor out of range"
 msgstr ""
 
 #: redir.c:200
-#, c-format
-msgid "%s: ambiguous redirect"
+msgid "ambiguous redirect"
 msgstr ""
 
 #: redir.c:204
-#, c-format
-msgid "%s: cannot overwrite existing file"
+msgid "cannot overwrite existing file"
 msgstr ""
 
 #: redir.c:209
-#, c-format
-msgid "%s: restricted: cannot redirect output"
+msgid "restricted: cannot redirect output"
 msgstr ""
 
 #: redir.c:214
-#, c-format
-msgid "cannot create temp file for here-document: %s"
+msgid "cannot create temp file for here-document"
 msgstr ""
 
 #: redir.c:218
-#, c-format
-msgid "%s: cannot assign fd to variable"
+msgid "cannot assign fd to variable"
 msgstr ""
 
 #: redir.c:633
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr ""
 
-#: redir.c:920 redir.c:1034 redir.c:1092 redir.c:1256
+#: redir.c:937 redir.c:1051 redir.c:1109 redir.c:1273
 msgid "redirection error: cannot duplicate fd"
 msgstr ""
 
@@ -1660,88 +1638,88 @@ msgstr ""
 msgid "/tmp must be a valid directory name"
 msgstr ""
 
-#: shell.c:825
+#: shell.c:827
 msgid "pretty-printing mode ignored in interactive shells"
 msgstr ""
 
-#: shell.c:967
+#: shell.c:969
 #, c-format
 msgid "%c%c: invalid option"
 msgstr ""
 
-#: shell.c:1355
+#: shell.c:1357
 #, c-format
 msgid "cannot set uid to %d: effective uid %d"
 msgstr ""
 
-#: shell.c:1371
+#: shell.c:1373
 #, c-format
 msgid "cannot set gid to %d: effective gid %d"
 msgstr ""
 
-#: shell.c:1560
+#: shell.c:1562
 msgid "cannot start debugger; debugging mode disabled"
 msgstr ""
 
-#: shell.c:1673
+#: shell.c:1675
 #, c-format
 msgid "%s: Is a directory"
 msgstr ""
 
-#: shell.c:1889
+#: shell.c:1891
 msgid "I have no name!"
 msgstr ""
 
-#: shell.c:2053
+#: shell.c:2055
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr ""
 
-#: shell.c:2054
+#: shell.c:2056
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
 "\t%s [GNU long option] [option] script-file ...\n"
 msgstr ""
 
-#: shell.c:2056
+#: shell.c:2058
 msgid "GNU long options:\n"
 msgstr ""
 
-#: shell.c:2060
+#: shell.c:2062
 msgid "Shell options:\n"
 msgstr ""
 
-#: shell.c:2061
+#: shell.c:2063
 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr ""
 
-#: shell.c:2080
+#: shell.c:2082
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr ""
 
-#: shell.c:2086
+#: shell.c:2088
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
 msgstr ""
 
-#: shell.c:2087
+#: shell.c:2089
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
 msgstr ""
 
-#: shell.c:2088
+#: shell.c:2090
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr ""
 
-#: shell.c:2090
+#: shell.c:2092
 #, c-format
 msgid "bash home page: <http://www.gnu.org/software/bash>\n"
 msgstr ""
 
-#: shell.c:2091
+#: shell.c:2093
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
@@ -1921,105 +1899,105 @@ msgstr ""
 msgid "bad substitution: no closing `%s' in %s"
 msgstr ""
 
-#: subst.c:3602
+#: subst.c:3599
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr ""
 
-#: subst.c:6420 subst.c:6436
+#: subst.c:6379 subst.c:6395
 msgid "cannot make pipe for process substitution"
 msgstr ""
 
-#: subst.c:6496
+#: subst.c:6455
 msgid "cannot make child for process substitution"
 msgstr ""
 
-#: subst.c:6570
+#: subst.c:6530
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr ""
 
-#: subst.c:6572
+#: subst.c:6532
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr ""
 
-#: subst.c:6595
+#: subst.c:6555
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr ""
 
-#: subst.c:6761
+#: subst.c:6721
 msgid "command substitution: ignored null byte in input"
 msgstr ""
 
-#: subst.c:6990
+#: subst.c:6960
 msgid "function_substitute: cannot open anonymous file for output"
 msgstr ""
 
-#: subst.c:7064
+#: subst.c:7034
 msgid "function_substitute: cannot duplicate anonymous file as standard output"
 msgstr ""
 
-#: subst.c:7236 subst.c:7257
+#: subst.c:7208 subst.c:7229
 msgid "cannot make pipe for command substitution"
 msgstr ""
 
-#: subst.c:7305
+#: subst.c:7280
 msgid "cannot make child for command substitution"
 msgstr ""
 
-#: subst.c:7338
+#: subst.c:7313
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr ""
 
-#: subst.c:7820 subst.c:10996
+#: subst.c:7802 subst.c:10978
 #, c-format
 msgid "%s: invalid variable name for name reference"
 msgstr ""
 
-#: subst.c:7913 subst.c:7931 subst.c:8107
+#: subst.c:7895 subst.c:7913 subst.c:8089
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr ""
 
-#: subst.c:7947 subst.c:8115
+#: subst.c:7929 subst.c:8097
 #, c-format
 msgid "%s: invalid variable name"
 msgstr ""
 
-#: subst.c:8132 subst.c:10278 subst.c:10305
+#: subst.c:8114 subst.c:10260 subst.c:10287
 #, c-format
 msgid "%s: bad substitution"
 msgstr ""
 
-#: subst.c:8231
+#: subst.c:8213
 #, c-format
 msgid "%s: parameter not set"
 msgstr ""
 
-#: subst.c:8487 subst.c:8502
+#: subst.c:8469 subst.c:8484
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr ""
 
-#: subst.c:10404
+#: subst.c:10386
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr ""
 
-#: subst.c:10862
+#: subst.c:10844
 msgid ""
 "future versions of the shell will force evaluation as an arithmetic "
 "substitution"
 msgstr ""
 
-#: subst.c:11542
+#: subst.c:11552
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr ""
 
-#: subst.c:12615
+#: subst.c:12626
 #, c-format
 msgid "no match: %s"
 msgstr ""
@@ -2052,10 +2030,6 @@ msgstr ""
 msgid "%s: unary operator expected"
 msgstr ""
 
-#: test.c:926
-msgid "missing `]'"
-msgstr ""
-
 #: test.c:944
 #, c-format
 msgid "syntax error: `%s' unexpected"
@@ -2070,125 +2044,129 @@ msgstr ""
 msgid "trap handler: maximum trap handler level exceeded (%d)"
 msgstr ""
 
-#: trap.c:450
+#: trap.c:455
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
 msgstr ""
 
-#: trap.c:454
+#: trap.c:459
 #, c-format
 msgid ""
 "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
 msgstr ""
 
-#: trap.c:582
+#: trap.c:592
 #, c-format
 msgid "trap_handler: bad signal %d"
 msgstr ""
 
-#: variables.c:440
+#: unwind_prot.c:246 unwind_prot.c:292
+msgid "frame not found"
+msgstr ""
+
+#: variables.c:441
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr ""
 
-#: variables.c:863
+#: variables.c:864
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr ""
 
-#: variables.c:2190 variables.c:2219 variables.c:2277 variables.c:2296
-#: variables.c:2314 variables.c:2349 variables.c:2377 variables.c:2404
-#: variables.c:2430 variables.c:3273 variables.c:3281 variables.c:3793
-#: variables.c:3837
+#: variables.c:2191 variables.c:2220 variables.c:2278 variables.c:2297
+#: variables.c:2315 variables.c:2350 variables.c:2378 variables.c:2405
+#: variables.c:2431 variables.c:3274 variables.c:3282 variables.c:3797
+#: variables.c:3841
 #, c-format
 msgid "%s: maximum nameref depth (%d) exceeded"
 msgstr ""
 
-#: variables.c:2640
+#: variables.c:2641
 msgid "make_local_variable: no function context at current scope"
 msgstr ""
 
-#: variables.c:2659
+#: variables.c:2660
 #, c-format
 msgid "%s: variable may not be assigned value"
 msgstr ""
 
-#: variables.c:2830 variables.c:2883
+#: variables.c:2831 variables.c:2884
 #, c-format
 msgid "%s: cannot inherit value from incompatible type"
 msgstr ""
 
-#: variables.c:3436
+#: variables.c:3437
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr ""
 
-#: variables.c:4389
+#: variables.c:4387
 msgid "all_local_variables: no function context at current scope"
 msgstr ""
 
-#: variables.c:4793
+#: variables.c:4791
 #, c-format
 msgid "%s has null exportstr"
 msgstr ""
 
-#: variables.c:4798 variables.c:4807
+#: variables.c:4796 variables.c:4805
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr ""
 
-#: variables.c:4813
+#: variables.c:4811
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr ""
 
-#: variables.c:5331
+#: variables.c:5329
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr ""
 
-#: variables.c:5344
+#: variables.c:5342
 msgid "pop_var_context: no global_variables context"
 msgstr ""
 
-#: variables.c:5434
+#: variables.c:5432
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
 msgstr ""
 
-#: variables.c:6404
+#: variables.c:6423
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr ""
 
-#: variables.c:6409
+#: variables.c:6428
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
 msgstr ""
 
-#: variables.c:6453
+#: variables.c:6472
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr ""
 
-#: version.c:46
+#: version.c:50
 msgid "Copyright (C) 2024 Free Software Foundation, Inc."
 msgstr ""
 
-#: version.c:47
+#: version.c:51
 msgid ""
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
 "html>\n"
 msgstr ""
 
-#: version.c:85
+#: version.c:90
 #, c-format
 msgid "GNU bash, version %s (%s)\n"
 msgstr ""
 
-#: version.c:90
+#: version.c:95
 msgid "This is free software; you are free to change and redistribute it."
 msgstr ""
 
-#: version.c:91
+#: version.c:96
 msgid "There is NO WARRANTY, to the extent permitted by law."
 msgstr ""
 
@@ -2377,11 +2355,11 @@ msgid "shift [n]"
 msgstr ""
 
 #: builtins.c:152
-msgid "source filename [arguments]"
+msgid "source [-p path] filename [arguments]"
 msgstr ""
 
 #: builtins.c:154
-msgid ". filename [arguments]"
+msgid ". [-p path] filename [arguments]"
 msgstr ""
 
 #: builtins.c:157
@@ -2604,11 +2582,15 @@ msgid ""
 "commands\n"
 "                         in a form that can be reused as input.\n"
 "    \n"
+"    If arguments remain after option processing, the -p and -P options "
+"treat\n"
+"    them as readline command names and restrict output to those names.\n"
+"    \n"
 "    Exit Status:\n"
 "    bind returns 0 unless an unrecognized option is given or an error occurs."
 msgstr ""
 
-#: builtins.c:332
+#: builtins.c:335
 msgid ""
 "Exit for, while, or until loops.\n"
 "    \n"
@@ -2619,7 +2601,7 @@ msgid ""
 "    The exit status is 0 unless N is not greater than or equal to 1."
 msgstr ""
 
-#: builtins.c:344
+#: builtins.c:347
 msgid ""
 "Resume for, while, or until loops.\n"
 "    \n"
@@ -2630,7 +2612,7 @@ msgid ""
 "    The exit status is 0 unless N is not greater than or equal to 1."
 msgstr ""
 
-#: builtins.c:356
+#: builtins.c:359
 msgid ""
 "Execute shell builtins.\n"
 "    \n"
@@ -2644,7 +2626,7 @@ msgid ""
 "    not a shell builtin."
 msgstr ""
 
-#: builtins.c:371
+#: builtins.c:374
 msgid ""
 "Return the context of the current subroutine call.\n"
 "    \n"
@@ -2660,7 +2642,7 @@ msgid ""
 "    is invalid."
 msgstr ""
 
-#: builtins.c:389
+#: builtins.c:392
 msgid ""
 "Change the shell working directory.\n"
 "    \n"
@@ -2705,7 +2687,7 @@ msgid ""
 "    -P is used; non-zero otherwise."
 msgstr ""
 
-#: builtins.c:427
+#: builtins.c:430
 msgid ""
 "Print the name of the current working directory.\n"
 "    \n"
@@ -2721,7 +2703,7 @@ msgid ""
 "    cannot be read."
 msgstr ""
 
-#: builtins.c:444
+#: builtins.c:447
 msgid ""
 "Null command.\n"
 "    \n"
@@ -2731,7 +2713,7 @@ msgid ""
 "    Always succeeds."
 msgstr ""
 
-#: builtins.c:455
+#: builtins.c:458
 msgid ""
 "Return a successful result.\n"
 "    \n"
@@ -2739,7 +2721,7 @@ msgid ""
 "    Always succeeds."
 msgstr ""
 
-#: builtins.c:464
+#: builtins.c:467
 msgid ""
 "Return an unsuccessful result.\n"
 "    \n"
@@ -2747,7 +2729,7 @@ msgid ""
 "    Always fails."
 msgstr ""
 
-#: builtins.c:473
+#: builtins.c:476
 msgid ""
 "Execute a simple command or display information about commands.\n"
 "    \n"
@@ -2766,7 +2748,7 @@ msgid ""
 "    Returns exit status of COMMAND, or failure if COMMAND is not found."
 msgstr ""
 
-#: builtins.c:492
+#: builtins.c:495
 msgid ""
 "Set variable values and attributes.\n"
 "    \n"
@@ -2809,20 +2791,23 @@ msgid ""
 "    assignment error occurs."
 msgstr ""
 
-#: builtins.c:535
+#: builtins.c:538
 msgid ""
 "Set variable values and attributes.\n"
 "    \n"
 "    A synonym for `declare'.  See `help declare'."
 msgstr ""
 
-#: builtins.c:543
+#: builtins.c:546
 msgid ""
 "Define local variables.\n"
 "    \n"
 "    Create a local variable called NAME, and give it VALUE.  OPTION can\n"
 "    be any option accepted by `declare'.\n"
 "    \n"
+"    If any NAME is \"-\", local saves the set of shell options and restores\n"
+"    them when the function returns.\n"
+"    \n"
 "    Local variables can only be used within a function; they are visible\n"
 "    only to the function where they are defined and its children.\n"
 "    \n"
@@ -2831,7 +2816,7 @@ msgid ""
 "    assignment error occurs, or the shell is not executing a function."
 msgstr ""
 
-#: builtins.c:560
+#: builtins.c:566
 msgid ""
 "Write arguments to the standard output.\n"
 "    \n"
@@ -2871,7 +2856,7 @@ msgid ""
 "    Returns success unless a write error occurs."
 msgstr ""
 
-#: builtins.c:600
+#: builtins.c:606
 msgid ""
 "Write arguments to the standard output.\n"
 "    \n"
@@ -2884,7 +2869,7 @@ msgid ""
 "    Returns success unless a write error occurs."
 msgstr ""
 
-#: builtins.c:615
+#: builtins.c:621
 msgid ""
 "Enable and disable shell builtins.\n"
 "    \n"
@@ -2917,7 +2902,7 @@ msgid ""
 "    Returns success unless NAME is not a shell builtin or an error occurs."
 msgstr ""
 
-#: builtins.c:648
+#: builtins.c:654
 msgid ""
 "Execute arguments as a shell command.\n"
 "    \n"
@@ -2929,7 +2914,7 @@ msgid ""
 "    Returns exit status of command or success if command is null."
 msgstr ""
 
-#: builtins.c:660
+#: builtins.c:666
 msgid ""
 "Parse option arguments.\n"
 "    \n"
@@ -2970,7 +2955,7 @@ msgid ""
 "    encountered or an error occurs."
 msgstr ""
 
-#: builtins.c:702
+#: builtins.c:708
 msgid ""
 "Replace the shell with the given command.\n"
 "    \n"
@@ -2993,7 +2978,7 @@ msgid ""
 "occurs."
 msgstr ""
 
-#: builtins.c:723
+#: builtins.c:729
 msgid ""
 "Exit the shell.\n"
 "    \n"
@@ -3001,7 +2986,7 @@ msgid ""
 "    is that of the last command executed."
 msgstr ""
 
-#: builtins.c:732
+#: builtins.c:738
 msgid ""
 "Exit a login shell.\n"
 "    \n"
@@ -3010,7 +2995,7 @@ msgid ""
 "    in a login shell."
 msgstr ""
 
-#: builtins.c:742
+#: builtins.c:748
 msgid ""
 "Display or execute commands from the history list.\n"
 "    \n"
@@ -3042,7 +3027,7 @@ msgid ""
 "occurs."
 msgstr ""
 
-#: builtins.c:774
+#: builtins.c:780
 msgid ""
 "Move job to the foreground.\n"
 "    \n"
@@ -3054,7 +3039,7 @@ msgid ""
 "    Status of command placed in foreground, or failure if an error occurs."
 msgstr ""
 
-#: builtins.c:789
+#: builtins.c:795
 msgid ""
 "Move jobs to the background.\n"
 "    \n"
@@ -3068,7 +3053,7 @@ msgid ""
 "    Returns success unless job control is not enabled or an error occurs."
 msgstr ""
 
-#: builtins.c:803
+#: builtins.c:809
 msgid ""
 "Remember or display program locations.\n"
 "    \n"
@@ -3092,7 +3077,7 @@ msgid ""
 "    Returns success unless NAME is not found or an invalid option is given."
 msgstr ""
 
-#: builtins.c:828
+#: builtins.c:834
 msgid ""
 "Display information about builtin commands.\n"
 "    \n"
@@ -3114,7 +3099,7 @@ msgid ""
 "given."
 msgstr ""
 
-#: builtins.c:852
+#: builtins.c:858
 msgid ""
 "Display or manipulate the history list.\n"
 "    \n"
@@ -3153,7 +3138,7 @@ msgid ""
 "    Returns success unless an invalid option is given or an error occurs."
 msgstr ""
 
-#: builtins.c:893
+#: builtins.c:899
 msgid ""
 "Display status of jobs.\n"
 "    \n"
@@ -3177,7 +3162,7 @@ msgid ""
 "    If -x is used, returns the exit status of COMMAND."
 msgstr ""
 
-#: builtins.c:920
+#: builtins.c:926
 msgid ""
 "Remove jobs from current shell.\n"
 "    \n"
@@ -3194,7 +3179,7 @@ msgid ""
 "    Returns success unless an invalid option or JOBSPEC is given."
 msgstr ""
 
-#: builtins.c:939
+#: builtins.c:945
 msgid ""
 "Send a signal to a job.\n"
 "    \n"
@@ -3217,7 +3202,7 @@ msgid ""
 "    Returns success unless an invalid option is given or an error occurs."
 msgstr ""
 
-#: builtins.c:963
+#: builtins.c:969
 msgid ""
 "Evaluate arithmetic expressions.\n"
 "    \n"
@@ -3262,7 +3247,7 @@ msgid ""
 "    If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
 msgstr ""
 
-#: builtins.c:1008
+#: builtins.c:1014
 msgid ""
 "Read a line from the standard input and split it into fields.\n"
 "    \n"
@@ -3318,7 +3303,7 @@ msgid ""
 "    or an invalid file descriptor is supplied as the argument to -u."
 msgstr ""
 
-#: builtins.c:1058
+#: builtins.c:1064
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -3330,7 +3315,7 @@ msgid ""
 "    Returns N, or failure if the shell is not executing a function or script."
 msgstr ""
 
-#: builtins.c:1071
+#: builtins.c:1077
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
 "    \n"
@@ -3420,7 +3405,7 @@ msgid ""
 "    Returns success unless an invalid option is given."
 msgstr ""
 
-#: builtins.c:1160
+#: builtins.c:1166
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -3442,7 +3427,7 @@ msgid ""
 "    Returns success unless an invalid option is given or a NAME is read-only."
 msgstr ""
 
-#: builtins.c:1182
+#: builtins.c:1188
 msgid ""
 "Set export attribute for shell variables.\n"
 "    \n"
@@ -3461,7 +3446,7 @@ msgid ""
 "    Returns success unless an invalid option is given or NAME is invalid."
 msgstr ""
 
-#: builtins.c:1201
+#: builtins.c:1207
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -3482,7 +3467,7 @@ msgid ""
 "    Returns success unless an invalid option is given or NAME is invalid."
 msgstr ""
 
-#: builtins.c:1223
+#: builtins.c:1229
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -3493,21 +3478,23 @@ msgid ""
 "    Returns success unless N is negative or greater than $#."
 msgstr ""
 
-#: builtins.c:1235 builtins.c:1250
+#: builtins.c:1241 builtins.c:1257
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
-"    Read and execute commands from FILENAME in the current shell.  The\n"
-"    entries in $PATH are used to find the directory containing FILENAME.\n"
-"    If any ARGUMENTS are supplied, they become the positional parameters\n"
-"    when FILENAME is executed.\n"
+"    Read and execute commands from FILENAME in the current shell. If the\n"
+"    -p option is supplied, the PATH argument is treated as a colon-\n"
+"    separated list of directories to search for FILENAME. If -p is not\n"
+"    supplied, $PATH is searched to find FILENAME. If any ARGUMENTS are\n"
+"    supplied, they become the positional parameters when FILENAME is "
+"executed.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns the status of the last command executed in FILENAME; fails if\n"
 "    FILENAME cannot be read."
 msgstr ""
 
-#: builtins.c:1266
+#: builtins.c:1274
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -3523,7 +3510,7 @@ msgid ""
 "    Returns success unless job control is not enabled or an error occurs."
 msgstr ""
 
-#: builtins.c:1284
+#: builtins.c:1292
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -3606,7 +3593,7 @@ msgid ""
 "    false or an invalid argument is given."
 msgstr ""
 
-#: builtins.c:1366
+#: builtins.c:1374
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -3614,7 +3601,7 @@ msgid ""
 "    be a literal `]', to match the opening `['."
 msgstr ""
 
-#: builtins.c:1375
+#: builtins.c:1383
 msgid ""
 "Display process times.\n"
 "    \n"
@@ -3626,7 +3613,7 @@ msgid ""
 "    Always succeeds."
 msgstr ""
 
-#: builtins.c:1387
+#: builtins.c:1395
 msgid ""
 "Trap signals and other events.\n"
 "    \n"
@@ -3675,7 +3662,7 @@ msgid ""
 "given."
 msgstr ""
 
-#: builtins.c:1430
+#: builtins.c:1438
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -3705,7 +3692,7 @@ msgid ""
 "found."
 msgstr ""
 
-#: builtins.c:1461
+#: builtins.c:1469
 msgid ""
 "Modify shell resource limits.\n"
 "    \n"
@@ -3752,11 +3739,14 @@ msgid ""
 "    -b, which is in bytes; and -e, -i, -k, -n, -q, -r, -u, -x, and -P,\n"
 "    which accept unscaled values.\n"
 "    \n"
+"    When in posix mode, values supplied with -c and -f are in 512-byte\n"
+"    increments.\n"
+"    \n"
 "    Exit Status:\n"
 "    Returns success unless an invalid option is supplied or an error occurs."
 msgstr ""
 
-#: builtins.c:1513
+#: builtins.c:1524
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -3774,7 +3764,7 @@ msgid ""
 "    Returns success unless MODE is invalid or an invalid option is given."
 msgstr ""
 
-#: builtins.c:1533
+#: builtins.c:1544
 msgid ""
 "Wait for job completion and return exit status.\n"
 "    \n"
@@ -3806,7 +3796,7 @@ msgid ""
 "    children."
 msgstr ""
 
-#: builtins.c:1564
+#: builtins.c:1575
 msgid ""
 "Wait for process completion and return exit status.\n"
 "    \n"
@@ -3821,7 +3811,7 @@ msgid ""
 "    option is given."
 msgstr ""
 
-#: builtins.c:1579
+#: builtins.c:1590
 msgid ""
 "Execute PIPELINE, which can be a simple command, and negate PIPELINE's\n"
 "    return status.\n"
@@ -3830,7 +3820,7 @@ msgid ""
 "    The logical negation of PIPELINE's return status."
 msgstr ""
 
-#: builtins.c:1589
+#: builtins.c:1600
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -3843,7 +3833,7 @@ msgid ""
 "    Returns the status of the last command executed."
 msgstr ""
 
-#: builtins.c:1603
+#: builtins.c:1614
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -3860,7 +3850,7 @@ msgid ""
 "    Returns the status of the last command executed."
 msgstr ""
 
-#: builtins.c:1621
+#: builtins.c:1632
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -3880,7 +3870,7 @@ msgid ""
 "    Returns the status of the last command executed."
 msgstr ""
 
-#: builtins.c:1642
+#: builtins.c:1653
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -3896,7 +3886,7 @@ msgid ""
 "    The return status is the return status of PIPELINE."
 msgstr ""
 
-#: builtins.c:1659
+#: builtins.c:1670
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -3907,7 +3897,7 @@ msgid ""
 "    Returns the status of the last command executed."
 msgstr ""
 
-#: builtins.c:1671
+#: builtins.c:1682
 msgid ""
 "Execute commands based on conditional.\n"
 "    \n"
@@ -3928,7 +3918,7 @@ msgid ""
 "    Returns the status of the last command executed."
 msgstr ""
 
-#: builtins.c:1688
+#: builtins.c:1699
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
@@ -3940,7 +3930,7 @@ msgid ""
 "    Returns the status of the last command executed."
 msgstr ""
 
-#: builtins.c:1700
+#: builtins.c:1711
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
@@ -3952,7 +3942,7 @@ msgid ""
 "    Returns the status of the last command executed."
 msgstr ""
 
-#: builtins.c:1712
+#: builtins.c:1723
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -3965,7 +3955,7 @@ msgid ""
 "    The coproc command returns an exit status of 0."
 msgstr ""
 
-#: builtins.c:1726
+#: builtins.c:1737
 msgid ""
 "Define shell function.\n"
 "    \n"
@@ -3979,7 +3969,7 @@ msgid ""
 "    Returns success unless NAME is readonly."
 msgstr ""
 
-#: builtins.c:1740
+#: builtins.c:1751
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -3990,7 +3980,7 @@ msgid ""
 "    Returns the status of the last command executed."
 msgstr ""
 
-#: builtins.c:1752
+#: builtins.c:1763
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -4004,7 +3994,7 @@ msgid ""
 "    Returns the status of the resumed job."
 msgstr ""
 
-#: builtins.c:1767
+#: builtins.c:1778
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -4015,7 +4005,7 @@ msgid ""
 "    Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
 msgstr ""
 
-#: builtins.c:1779
+#: builtins.c:1790
 msgid ""
 "Execute conditional command.\n"
 "    \n"
@@ -4043,7 +4033,7 @@ msgid ""
 "    0 or 1 depending on value of EXPRESSION."
 msgstr ""
 
-#: builtins.c:1805
+#: builtins.c:1816
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -4097,7 +4087,7 @@ msgid ""
 "    \t\tcommands should be saved on the history list.\n"
 msgstr ""
 
-#: builtins.c:1862
+#: builtins.c:1873
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -4128,7 +4118,7 @@ msgid ""
 "    change fails."
 msgstr ""
 
-#: builtins.c:1896
+#: builtins.c:1907
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -4155,7 +4145,7 @@ msgid ""
 "    change fails."
 msgstr ""
 
-#: builtins.c:1926
+#: builtins.c:1937
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -4184,7 +4174,7 @@ msgid ""
 "    Returns success unless an invalid option is supplied or an error occurs."
 msgstr ""
 
-#: builtins.c:1957
+#: builtins.c:1968
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -4204,7 +4194,7 @@ msgid ""
 "    given or OPTNAME is disabled."
 msgstr ""
 
-#: builtins.c:1978
+#: builtins.c:1989
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -4245,7 +4235,7 @@ msgid ""
 "    error occurs."
 msgstr ""
 
-#: builtins.c:2014
+#: builtins.c:2025
 msgid ""
 "Specify how arguments are to be completed by Readline.\n"
 "    \n"
@@ -4276,7 +4266,7 @@ msgid ""
 "    Returns success unless an invalid option is supplied or an error occurs."
 msgstr ""
 
-#: builtins.c:2044
+#: builtins.c:2055
 msgid ""
 "Display possible completions depending on the options.\n"
 "    \n"
@@ -4293,7 +4283,7 @@ msgid ""
 "    Returns success unless an invalid option is supplied or an error occurs."
 msgstr ""
 
-#: builtins.c:2062
+#: builtins.c:2073
 msgid ""
 "Modify or display completion options.\n"
 "    \n"
@@ -4325,7 +4315,7 @@ msgid ""
 "    have a completion specification defined."
 msgstr ""
 
-#: builtins.c:2093
+#: builtins.c:2104
 msgid ""
 "Read lines from the standard input into an indexed array variable.\n"
 "    \n"
@@ -4367,7 +4357,7 @@ msgid ""
 "    not an indexed array."
 msgstr ""
 
-#: builtins.c:2129
+#: builtins.c:2140
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
index 60096593b1a8cb8cb57dfd8fe5b378eced7028e9..6045234138a4df4136ef6ecab5cdb7469a5474e0 100644 (file)
@@ -8,9 +8,10 @@ libdir=@libdir@
 loadablesdir=@loadablesdir@
 headersdir=${includedir}/@PACKAGE_NAME@
 
-LOCAL_CFLAGS = @LOCAL_CFLAGS@
+DEFS = @DEFS@
 LOCAL_DEFS = @LOCAL_DEFS@
-CCFLAGS = ${LOCAL_DEFS} ${LOCAL_CFLAGS}
+LOCAL_CFLAGS = @LOCAL_CFLAGS@
+CCFLAGS = ${DEFS} ${LOCAL_DEFS} ${LOCAL_CFLAGS}
 
 CC = @CC@
 SHOBJ_CC = @SHOBJ_CC@