mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-25 04:43:33 +00:00
Re-add patch for failglob variable (see previous discussion on -commiters)
This commit is contained in:
parent
0eefe0c694
commit
913c2b25ba
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=28728
151
shells/bash/files/patch-ae
Normal file
151
shells/bash/files/patch-ae
Normal file
@ -0,0 +1,151 @@
|
||||
diff -ru ../work/bash-2.04/builtins/shopt.def ./builtins/shopt.def
|
||||
--- ../work/bash-2.04/builtins/shopt.def Tue Sep 21 17:20:01 1999
|
||||
+++ ./builtins/shopt.def Wed May 24 12:18:31 2000
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
#define OPTFMT "%-15s\t%s\n"
|
||||
|
||||
-extern int allow_null_glob_expansion, glob_dot_filenames;
|
||||
+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;
|
||||
@@ -137,6 +137,7 @@
|
||||
#endif
|
||||
{ "nocaseglob", &glob_ignore_case, (Function *)NULL },
|
||||
{ "nullglob", &allow_null_glob_expansion, (Function *)NULL },
|
||||
+ { "failglob", &fail_glob_expansion, (Function *)NULL },
|
||||
#if defined (PROGRAMMABLE_COMPLETION)
|
||||
{ "progcomp", &prog_completion_enabled, (Function *)NULL },
|
||||
#endif
|
||||
diff -ru ../work/bash-2.04/doc/bash.1 ./doc/bash.1
|
||||
--- ../work/bash-2.04/doc/bash.1 Tue Mar 14 17:37:56 2000
|
||||
+++ ./doc/bash.1 Wed May 24 12:17:39 2000
|
||||
@@ -2414,6 +2414,10 @@
|
||||
.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 -ru ../work/bash-2.04/doc/bashref.texi ./doc/bashref.texi
|
||||
--- ../work/bash-2.04/doc/bashref.texi Tue Mar 14 17:38:33 2000
|
||||
+++ ./doc/bashref.texi Wed May 24 12:17:39 2000
|
||||
@@ -1679,7 +1679,8 @@
|
||||
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.
|
||||
+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
|
||||
@@ -1692,8 +1693,8 @@
|
||||
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},
|
||||
+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}
|
||||
@@ -3319,6 +3320,10 @@
|
||||
@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 ../work/bash-2.04/lib/readline/doc: Makefile
|
||||
diff -ru ../work/bash-2.04/subst.c ./subst.c
|
||||
--- ../work/bash-2.04/subst.c Tue Mar 14 16:42:02 2000
|
||||
+++ ./subst.c Wed May 24 12:17:39 2000
|
||||
@@ -106,6 +106,9 @@
|
||||
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. */
|
||||
@@ -6018,6 +6021,11 @@
|
||||
{
|
||||
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 -ru ../work/bash-2.04/tests/shopt.right ./tests/shopt.right
|
||||
--- ../work/bash-2.04/tests/shopt.right Tue Sep 21 17:55:58 1999
|
||||
+++ ./tests/shopt.right Wed May 24 12:17:23 2000
|
||||
@@ -21,6 +21,7 @@
|
||||
shopt -u no_empty_cmd_completion
|
||||
shopt -u nocaseglob
|
||||
shopt -u nullglob
|
||||
+shopt -u failglob
|
||||
shopt -s progcomp
|
||||
shopt -s promptvars
|
||||
shopt -u restricted_shell
|
||||
@@ -56,6 +57,7 @@
|
||||
shopt -u no_empty_cmd_completion
|
||||
shopt -u nocaseglob
|
||||
shopt -u nullglob
|
||||
+shopt -u failglob
|
||||
shopt -u restricted_shell
|
||||
shopt -u shift_verbose
|
||||
shopt -u xpg_echo
|
||||
@@ -75,6 +77,7 @@
|
||||
no_empty_cmd_completion off
|
||||
nocaseglob off
|
||||
nullglob off
|
||||
+failglob off
|
||||
restricted_shell off
|
||||
shift_verbose off
|
||||
xpg_echo off
|
||||
@@ -198,3 +201,5 @@
|
||||
--
|
||||
./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 -ru ../work/bash-2.04/tests/shopt.tests ./tests/shopt.tests
|
||||
--- ../work/bash-2.04/tests/shopt.tests Tue Sep 21 17:49:32 1999
|
||||
+++ ./tests/shopt.tests Wed May 24 12:17:39 2000
|
||||
@@ -21,6 +21,7 @@
|
||||
shopt -u mailwarn
|
||||
shopt -u nocaseglob
|
||||
shopt -u nullglob
|
||||
+shopt -u failglob
|
||||
shopt -s promptvars
|
||||
shopt -u shift_verbose
|
||||
shopt -s sourcepath
|
||||
@@ -92,3 +93,11 @@
|
||||
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
|
151
shells/bash2/files/patch-ae
Normal file
151
shells/bash2/files/patch-ae
Normal file
@ -0,0 +1,151 @@
|
||||
diff -ru ../work/bash-2.04/builtins/shopt.def ./builtins/shopt.def
|
||||
--- ../work/bash-2.04/builtins/shopt.def Tue Sep 21 17:20:01 1999
|
||||
+++ ./builtins/shopt.def Wed May 24 12:18:31 2000
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
#define OPTFMT "%-15s\t%s\n"
|
||||
|
||||
-extern int allow_null_glob_expansion, glob_dot_filenames;
|
||||
+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;
|
||||
@@ -137,6 +137,7 @@
|
||||
#endif
|
||||
{ "nocaseglob", &glob_ignore_case, (Function *)NULL },
|
||||
{ "nullglob", &allow_null_glob_expansion, (Function *)NULL },
|
||||
+ { "failglob", &fail_glob_expansion, (Function *)NULL },
|
||||
#if defined (PROGRAMMABLE_COMPLETION)
|
||||
{ "progcomp", &prog_completion_enabled, (Function *)NULL },
|
||||
#endif
|
||||
diff -ru ../work/bash-2.04/doc/bash.1 ./doc/bash.1
|
||||
--- ../work/bash-2.04/doc/bash.1 Tue Mar 14 17:37:56 2000
|
||||
+++ ./doc/bash.1 Wed May 24 12:17:39 2000
|
||||
@@ -2414,6 +2414,10 @@
|
||||
.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 -ru ../work/bash-2.04/doc/bashref.texi ./doc/bashref.texi
|
||||
--- ../work/bash-2.04/doc/bashref.texi Tue Mar 14 17:38:33 2000
|
||||
+++ ./doc/bashref.texi Wed May 24 12:17:39 2000
|
||||
@@ -1679,7 +1679,8 @@
|
||||
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.
|
||||
+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
|
||||
@@ -1692,8 +1693,8 @@
|
||||
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},
|
||||
+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}
|
||||
@@ -3319,6 +3320,10 @@
|
||||
@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 ../work/bash-2.04/lib/readline/doc: Makefile
|
||||
diff -ru ../work/bash-2.04/subst.c ./subst.c
|
||||
--- ../work/bash-2.04/subst.c Tue Mar 14 16:42:02 2000
|
||||
+++ ./subst.c Wed May 24 12:17:39 2000
|
||||
@@ -106,6 +106,9 @@
|
||||
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. */
|
||||
@@ -6018,6 +6021,11 @@
|
||||
{
|
||||
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 -ru ../work/bash-2.04/tests/shopt.right ./tests/shopt.right
|
||||
--- ../work/bash-2.04/tests/shopt.right Tue Sep 21 17:55:58 1999
|
||||
+++ ./tests/shopt.right Wed May 24 12:17:23 2000
|
||||
@@ -21,6 +21,7 @@
|
||||
shopt -u no_empty_cmd_completion
|
||||
shopt -u nocaseglob
|
||||
shopt -u nullglob
|
||||
+shopt -u failglob
|
||||
shopt -s progcomp
|
||||
shopt -s promptvars
|
||||
shopt -u restricted_shell
|
||||
@@ -56,6 +57,7 @@
|
||||
shopt -u no_empty_cmd_completion
|
||||
shopt -u nocaseglob
|
||||
shopt -u nullglob
|
||||
+shopt -u failglob
|
||||
shopt -u restricted_shell
|
||||
shopt -u shift_verbose
|
||||
shopt -u xpg_echo
|
||||
@@ -75,6 +77,7 @@
|
||||
no_empty_cmd_completion off
|
||||
nocaseglob off
|
||||
nullglob off
|
||||
+failglob off
|
||||
restricted_shell off
|
||||
shift_verbose off
|
||||
xpg_echo off
|
||||
@@ -198,3 +201,5 @@
|
||||
--
|
||||
./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 -ru ../work/bash-2.04/tests/shopt.tests ./tests/shopt.tests
|
||||
--- ../work/bash-2.04/tests/shopt.tests Tue Sep 21 17:49:32 1999
|
||||
+++ ./tests/shopt.tests Wed May 24 12:17:39 2000
|
||||
@@ -21,6 +21,7 @@
|
||||
shopt -u mailwarn
|
||||
shopt -u nocaseglob
|
||||
shopt -u nullglob
|
||||
+shopt -u failglob
|
||||
shopt -s promptvars
|
||||
shopt -u shift_verbose
|
||||
shopt -s sourcepath
|
||||
@@ -92,3 +93,11 @@
|
||||
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
|
151
shells/bash3/files/patch-ae
Normal file
151
shells/bash3/files/patch-ae
Normal file
@ -0,0 +1,151 @@
|
||||
diff -ru ../work/bash-2.04/builtins/shopt.def ./builtins/shopt.def
|
||||
--- ../work/bash-2.04/builtins/shopt.def Tue Sep 21 17:20:01 1999
|
||||
+++ ./builtins/shopt.def Wed May 24 12:18:31 2000
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
#define OPTFMT "%-15s\t%s\n"
|
||||
|
||||
-extern int allow_null_glob_expansion, glob_dot_filenames;
|
||||
+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;
|
||||
@@ -137,6 +137,7 @@
|
||||
#endif
|
||||
{ "nocaseglob", &glob_ignore_case, (Function *)NULL },
|
||||
{ "nullglob", &allow_null_glob_expansion, (Function *)NULL },
|
||||
+ { "failglob", &fail_glob_expansion, (Function *)NULL },
|
||||
#if defined (PROGRAMMABLE_COMPLETION)
|
||||
{ "progcomp", &prog_completion_enabled, (Function *)NULL },
|
||||
#endif
|
||||
diff -ru ../work/bash-2.04/doc/bash.1 ./doc/bash.1
|
||||
--- ../work/bash-2.04/doc/bash.1 Tue Mar 14 17:37:56 2000
|
||||
+++ ./doc/bash.1 Wed May 24 12:17:39 2000
|
||||
@@ -2414,6 +2414,10 @@
|
||||
.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 -ru ../work/bash-2.04/doc/bashref.texi ./doc/bashref.texi
|
||||
--- ../work/bash-2.04/doc/bashref.texi Tue Mar 14 17:38:33 2000
|
||||
+++ ./doc/bashref.texi Wed May 24 12:17:39 2000
|
||||
@@ -1679,7 +1679,8 @@
|
||||
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.
|
||||
+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
|
||||
@@ -1692,8 +1693,8 @@
|
||||
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},
|
||||
+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}
|
||||
@@ -3319,6 +3320,10 @@
|
||||
@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 ../work/bash-2.04/lib/readline/doc: Makefile
|
||||
diff -ru ../work/bash-2.04/subst.c ./subst.c
|
||||
--- ../work/bash-2.04/subst.c Tue Mar 14 16:42:02 2000
|
||||
+++ ./subst.c Wed May 24 12:17:39 2000
|
||||
@@ -106,6 +106,9 @@
|
||||
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. */
|
||||
@@ -6018,6 +6021,11 @@
|
||||
{
|
||||
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 -ru ../work/bash-2.04/tests/shopt.right ./tests/shopt.right
|
||||
--- ../work/bash-2.04/tests/shopt.right Tue Sep 21 17:55:58 1999
|
||||
+++ ./tests/shopt.right Wed May 24 12:17:23 2000
|
||||
@@ -21,6 +21,7 @@
|
||||
shopt -u no_empty_cmd_completion
|
||||
shopt -u nocaseglob
|
||||
shopt -u nullglob
|
||||
+shopt -u failglob
|
||||
shopt -s progcomp
|
||||
shopt -s promptvars
|
||||
shopt -u restricted_shell
|
||||
@@ -56,6 +57,7 @@
|
||||
shopt -u no_empty_cmd_completion
|
||||
shopt -u nocaseglob
|
||||
shopt -u nullglob
|
||||
+shopt -u failglob
|
||||
shopt -u restricted_shell
|
||||
shopt -u shift_verbose
|
||||
shopt -u xpg_echo
|
||||
@@ -75,6 +77,7 @@
|
||||
no_empty_cmd_completion off
|
||||
nocaseglob off
|
||||
nullglob off
|
||||
+failglob off
|
||||
restricted_shell off
|
||||
shift_verbose off
|
||||
xpg_echo off
|
||||
@@ -198,3 +201,5 @@
|
||||
--
|
||||
./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 -ru ../work/bash-2.04/tests/shopt.tests ./tests/shopt.tests
|
||||
--- ../work/bash-2.04/tests/shopt.tests Tue Sep 21 17:49:32 1999
|
||||
+++ ./tests/shopt.tests Wed May 24 12:17:39 2000
|
||||
@@ -21,6 +21,7 @@
|
||||
shopt -u mailwarn
|
||||
shopt -u nocaseglob
|
||||
shopt -u nullglob
|
||||
+shopt -u failglob
|
||||
shopt -s promptvars
|
||||
shopt -u shift_verbose
|
||||
shopt -s sourcepath
|
||||
@@ -92,3 +93,11 @@
|
||||
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
|
Loading…
Reference in New Issue
Block a user