diff options
author | cracauer <cracauer@FreeBSD.org> | 1999-12-04 03:50:51 +0800 |
---|---|---|
committer | cracauer <cracauer@FreeBSD.org> | 1999-12-04 03:50:51 +0800 |
commit | 8f700a84d6c3866b2046c7f0c968c6b6ce9b16ad (patch) | |
tree | 06e6fd39dc8f118ea6dee64dac23efb624c00835 /shells/bash | |
parent | d824071b4fc3d63d3bdb6181b7bfc48b520ed73f (diff) | |
download | freebsd-ports-gnome-8f700a84d6c3866b2046c7f0c968c6b6ce9b16ad.tar.gz freebsd-ports-gnome-8f700a84d6c3866b2046c7f0c968c6b6ce9b16ad.tar.zst freebsd-ports-gnome-8f700a84d6c3866b2046c7f0c968c6b6ce9b16ad.zip |
Add `failglob' option as announced on -ports mailing list.
Diffstat (limited to 'shells/bash')
-rw-r--r-- | shells/bash/files/patch-ae | 198 |
1 files changed, 198 insertions, 0 deletions
diff --git a/shells/bash/files/patch-ae b/shells/bash/files/patch-ae new file mode 100644 index 000000000000..5b7b8a75a9a6 --- /dev/null +++ b/shells/bash/files/patch-ae @@ -0,0 +1,198 @@ +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 |