1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-14 23:46:10 +00:00
freebsd-ports/shells/bash/files/patch-ae

199 lines
6.3 KiB
Plaintext

Only in : .gdbinit
diff -rc bash-2.03.old/builtins/shopt.def builtins/shopt.def
*** bash-2.03.old/builtins/shopt.def Tue Nov 10 18:56:03 1998
--- builtins/shopt.def Mon Aug 2 17:16:36 1999
***************
*** 56,62 ****
#define OPTFMT "%-15s\t%s\n"
! extern int allow_null_glob_expansion, glob_dot_filenames;
extern int cdable_vars, mail_warning, source_uses_path;
extern int no_exit_on_failed_exec, print_shift_error;
extern int check_hashed_filenames, promptvars, interactive_comments;
--- 56,62 ----
#define OPTFMT "%-15s\t%s\n"
! extern int allow_null_glob_expansion, fail_glob_expansion, glob_dot_filenames;
extern int cdable_vars, mail_warning, source_uses_path;
extern int no_exit_on_failed_exec, print_shift_error;
extern int check_hashed_filenames, promptvars, interactive_comments;
***************
*** 128,133 ****
--- 128,134 ----
{ "mailwarn", &mail_warning, (Function *)NULL },
{ "nocaseglob", &glob_ignore_case, (Function *)NULL },
{ "nullglob", &allow_null_glob_expansion, (Function *)NULL },
+ { "failglob", &fail_glob_expansion, (Function *)NULL },
{ "promptvars", &promptvars, (Function *)NULL },
#if defined (RESTRICTED_SHELL)
{ "restricted_shell", &restricted_shell, set_restricted_shell },
diff -rc bash-2.03.old/doc/bash.1 doc/bash.1
*** bash-2.03.old/doc/bash.1 Wed Jan 20 22:48:04 1999
--- doc/bash.1 Mon Aug 2 17:37:38 1999
***************
*** 2305,2310 ****
--- 2305,2314 ----
.B nullglob
option is set, and no matches are found,
the word is removed.
+ If the
+ .B failglob
+ option is set, and no matches are found, an error message is printed
+ and the command is not executed.
If the shell option
.B nocaseglob
is enabled, the match is performed without regard to the case
diff -rc bash-2.03.old/doc/bashref.texi doc/bashref.texi
*** bash-2.03.old/doc/bashref.texi Wed Jan 20 22:47:01 1999
--- doc/bashref.texi Mon Aug 2 17:35:41 1999
***************
*** 1585,1591 ****
and replaced with an alphabetically sorted list of
file names matching the pattern. If no matching file names are found,
and the shell option @code{nullglob} is disabled, the word is left
! unchanged.
If the @code{nullglob} option is set, and no matches are found, the word
is removed.
If the shell option @code{nocaseglob} is enabled, the match is performed
--- 1585,1592 ----
and replaced with an alphabetically sorted list of
file names matching the pattern. If no matching file names are found,
and the shell option @code{nullglob} is disabled, the word is left
! unchanged. If the @code{failglob} option is set, an error message is
! printed and the commandline is not executed.
If the @code{nullglob} option is set, and no matches are found, the word
is removed.
If the shell option @code{nocaseglob} is enabled, the match is performed
***************
*** 1598,1605 ****
matched explicitly.
In other cases, the @samp{.} character is not treated specially.
! See the description of @code{shopt} in @ref{Bash Builtins},
! for a description of the @code{nocaseglob}, @code{nullglob},
and @code{dotglob} options.
The @code{GLOBIGNORE}
--- 1599,1606 ----
matched explicitly.
In other cases, the @samp{.} character is not treated specially.
! See the description of @code{shopt} in @ref{Bash Builtins}, for a
! description of the @code{nocaseglob}, @code{nullglob}, @code{failglob}
and @code{dotglob} options.
The @code{GLOBIGNORE}
***************
*** 3814,3819 ****
--- 3815,3824 ----
@item extglob
If set, the extended pattern matching features described above
(@pxref{Pattern Matching}) are enabled.
+
+ @item failglob
+ If set, filenames that have globbing characters in them, but don't match
+ anything, will cause an error.
@item histappend
If set, the history list is appended to the file named by the value
Only in bash-2.03.old/lib/readline/doc: Makefile
diff -rc bash-2.03.old/subst.c subst.c
*** bash-2.03.old/subst.c Wed Jan 20 18:13:52 1999
--- subst.c Mon Aug 2 17:17:17 1999
***************
*** 96,101 ****
--- 96,104 ----
a null file. */
int allow_null_glob_expansion;
+ /* Non-zero means to signal an error when globbing fails to match. */
+ int fail_glob_expansion;
+
/* Variables to keep track of which words in an expanded word list (the
output of expand_word_list_internal) are the result of globbing
expansions. GLOB_ARGV_FLAGS is used by execute_cmd.c. */
***************
*** 5667,5672 ****
--- 5670,5680 ----
{
output_list = (WORD_LIST *)list_append (glob_list, output_list);
PREPEND_LIST (tlist, disposables);
+ }
+ else if (fail_glob_expansion != 0)
+ {
+ report_error ("no match: %s", tlist->word->word);
+ jump_to_top_level (DISCARD);
}
else if (allow_null_glob_expansion == 0)
{
diff -rc bash-2.03.old/tests/shopt.right tests/shopt.right
*** bash-2.03.old/tests/shopt.right Thu Sep 3 21:16:28 1998
--- tests/shopt.right Mon Aug 2 17:31:19 1999
***************
*** 20,25 ****
--- 20,26 ----
shopt -u mailwarn
shopt -u nocaseglob
shopt -u nullglob
+ shopt -u failglob
shopt -s promptvars
shopt -u restricted_shell
shopt -u shift_verbose
***************
*** 51,56 ****
--- 52,58 ----
shopt -u mailwarn
shopt -u nocaseglob
shopt -u nullglob
+ shopt -u failglob
shopt -u restricted_shell
shopt -u shift_verbose
--
***************
*** 68,73 ****
--- 70,76 ----
mailwarn off
nocaseglob off
nullglob off
+ failglob off
restricted_shell off
shift_verbose off
--
***************
*** 190,192 ****
--- 193,197 ----
--
./shopt.tests: shopt: xyz1: unknown shell option name
./shopt.tests: shopt: xyz1: unknown option name
+ tmp/l1 tmp/l2 tmp/*4 tmp/l3
+ ./shopt.tests: no match: tmp/*4
diff -rc bash-2.03.old/tests/shopt.tests tests/shopt.tests
*** bash-2.03.old/tests/shopt.tests Thu Nov 20 17:59:32 1997
--- tests/shopt.tests Mon Aug 2 17:26:43 1999
***************
*** 21,26 ****
--- 21,27 ----
shopt -u mailwarn
shopt -u nocaseglob
shopt -u nullglob
+ shopt -u failglob
shopt -s promptvars
shopt -u shift_verbose
shopt -s sourcepath
***************
*** 91,93 ****
--- 92,102 ----
builtin printf -- "--\n"
shopt -p xyz1
shopt -o -p xyz1
+
+ mkdir tmp
+ touch tmp/l1 tmp/l2 tmp/l3
+ builtin echo tmp/l[12] tmp/*4 tmp/*3
+ shopt -s failglob
+ builtin echo tmp/l[12] tmp/*4 tmp/*3
+ rm -r tmp
+ shopt -u failglob