7 Bug-Reported-by: jidanni@jidanni.org
9 Bug-Reference-URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=519165
13 Though references to $@ when there are no positional parameters will now
14 cause the shell to exit if the `errexit' option has been enabled, constructs
15 such as ${@:-foo} should not cause an exit.
19 *** ../bash-4.0-patched/subst.c 2009-03-08 21:24:39.000000000 -0400
20 --- subst.c 2009-03-14 19:04:10.000000000 -0400
24 /* Flags for the `pflags' argument to param_expand() */
25 #define PF_NOCOMSUB 0x01 /* Do not perform command substitution */
26 + #define PF_IGNUNBOUND 0x02 /* ignore unbound vars even if -u set */
28 /* These defs make it easier to use the editor. */
31 static int chk_arithsub __P((const char *, int));
33 ! static WORD_DESC *parameter_brace_expand_word __P((char *, int, int));
34 static WORD_DESC *parameter_brace_expand_indir __P((char *, int, int, int *, int *));
35 static WORD_DESC *parameter_brace_expand_rhs __P((char *, char *, int, int, int *, int *));
37 static int chk_arithsub __P((const char *, int));
39 ! static WORD_DESC *parameter_brace_expand_word __P((char *, int, int, int));
40 static WORD_DESC *parameter_brace_expand_indir __P((char *, int, int, int *, int *));
41 static WORD_DESC *parameter_brace_expand_rhs __P((char *, char *, int, int, int *, int *));
44 NAME was found inside of a double-quoted expression. */
46 ! parameter_brace_expand_word (name, var_is_special, quoted)
48 ! int var_is_special, quoted;
52 NAME was found inside of a double-quoted expression. */
54 ! parameter_brace_expand_word (name, var_is_special, quoted, pflags)
56 ! int var_is_special, quoted, pflags;
62 ret = param_expand (tt, &sindex, quoted, (int *)NULL, (int *)NULL,
63 ! (int *)NULL, (int *)NULL, 0);
68 ret = param_expand (tt, &sindex, quoted, (int *)NULL, (int *)NULL,
69 ! (int *)NULL, (int *)NULL, pflags);
76 ! w = parameter_brace_expand_word (name, var_is_special, quoted);
78 /* Have to dequote here if necessary */
82 ! w = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND);
84 /* Have to dequote here if necessary */
87 return (WORD_DESC *)NULL;
89 ! w = parameter_brace_expand_word (t, SPECIAL_VAR(t, 0), quoted);
93 return (WORD_DESC *)NULL;
95 ! w = parameter_brace_expand_word (t, SPECIAL_VAR(t, 0), quoted, 0);
100 tdesc = parameter_brace_expand_indir (name + 1, var_is_special, quoted, quoted_dollar_atp, contains_dollar_at);
102 ! tdesc = parameter_brace_expand_word (name, var_is_special, quoted);
106 tdesc = parameter_brace_expand_indir (name + 1, var_is_special, quoted, quoted_dollar_atp, contains_dollar_at);
108 ! tdesc = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND);
113 list = list_rest_of_args ();
115 ! if (list == 0 && unbound_vars_is_error)
119 list = list_rest_of_args ();
121 ! if (list == 0 && unbound_vars_is_error && (pflags & PF_IGNUNBOUND) == 0)
126 list = list_rest_of_args ();
128 ! if (list == 0 && unbound_vars_is_error)
132 list = list_rest_of_args ();
134 ! if (list == 0 && unbound_vars_is_error && (pflags & PF_IGNUNBOUND) == 0)
139 *** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500
140 --- patchlevel.h 2009-02-22 16:11:31.000000000 -0500
143 looks for to find the patch level (for the sccs version string). */
145 ! #define PATCHLEVEL 12
147 #endif /* _PATCHLEVEL_H_ */
149 looks for to find the patch level (for the sccs version string). */
151 ! #define PATCHLEVEL 13
153 #endif /* _PATCHLEVEL_H_ */