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
