]>
Commit | Line | Data |
---|---|---|
d166f048 JA |
1 | 12/23/1996 |
2 | ---------- | |
3 | [bash-2.0 released] | |
726f6388 | 4 | |
d166f048 JA |
5 | 12/27 |
6 | ----- | |
7 | configure.in | |
8 | - don't automatically use GNU malloc on FreeBSD, the builtin one | |
9 | is supposed to be better (but doesn't have the debugging hooks) | |
726f6388 | 10 | |
d166f048 JA |
11 | builtins/exec.def |
12 | - check that full_pathname(command) doesn't return NULL because of | |
13 | inaccessible parent directories | |
726f6388 | 14 | |
d166f048 JA |
15 | support/config.sub |
16 | - recognize OpenBSD | |
726f6388 | 17 | |
d166f048 JA |
18 | execute_cmd.c |
19 | - broke the code that opens a file for output redirection when in | |
20 | noclobber mode out into a separate function: noclobber_open(). | |
21 | This tries to avoid race conditions and file replacement between | |
22 | stat(2) and open(2) | |
726f6388 | 23 | |
726f6388 | 24 | subst.c |
d166f048 JA |
25 | - make sure pat_subst does not run off the end of its return |
26 | string when copying the unmatched portion of the input string | |
726f6388 | 27 | |
d166f048 JA |
28 | 12/30 |
29 | ----- | |
30 | doc/Makefile.in | |
31 | - don't install readline.3 by default | |
726f6388 | 32 | |
d166f048 JA |
33 | lib/tilde/tilde.c |
34 | - removed an unnecessary check for string[i] being non-null in | |
35 | tilde_find_suffix | |
726f6388 | 36 | |
d166f048 JA |
37 | 12/31 |
38 | ----- | |
39 | support/config.{sub,guess} | |
40 | - merged in changes from config.sub in autoconf-2.12 distribution | |
726f6388 | 41 | |
d166f048 JA |
42 | lib/readline/readline.c |
43 | - in rl_newline, only call _rl_vi_done_inserting and _rl_vi_reset_last | |
44 | if readline is currently in vi mode | |
726f6388 | 45 | |
d166f048 JA |
46 | lib/readline/display.c |
47 | - corrected a misuse of inv_lbreaks where vis_lbreaks was wanted in | |
48 | the code that decides whether the cursor is at the beginning of | |
49 | an otherwise-empty line | |
726f6388 | 50 | |
28ef6c31 JA |
51 | 1/2/1997 |
52 | -------- | |
d166f048 JA |
53 | support/bashbug.sh |
54 | - fixed a typo, thanks to eggert@twinsun.com | |
726f6388 | 55 | |
d166f048 JA |
56 | aclocal.m4 |
57 | - new test, BASH_STRUCT_DIRENT_D_FILENO, testing for d_fileno member | |
58 | of struct dirent | |
726f6388 | 59 | |
d166f048 JA |
60 | configure.in |
61 | - call BASH_STRUCT_DIRENT_D_FILENO | |
726f6388 | 62 | |
d166f048 JA |
63 | config.h.in |
64 | - new #define for STRUCT_DIRENT_HAS_D_FILENO | |
726f6388 | 65 | |
d166f048 JA |
66 | lib/posixheaders/posixdir.h |
67 | - only define d_fileno as d_ino if STRUCT_DIRENT_HAS_D_INO is defined | |
68 | and STRUCT_DIRENT_HAS_D_FILENO is not defined. This fixed the | |
69 | problem of compiling getcwd.c on SunOS4.1.4 with cc | |
726f6388 | 70 | |
d166f048 JA |
71 | 1/3 |
72 | --- | |
726f6388 | 73 | lib/readline/complete.c |
d166f048 | 74 | - fix a memory-used-after-freed bug reported by Andreas Schwab |
726f6388 | 75 | |
d166f048 JA |
76 | configure.in |
77 | - call BASH_CHECK_SOCKLIB only if getpeername is not found in libc | |
78 | (ac_cv_func_getpeername = no) | |
726f6388 | 79 | |
d166f048 JA |
80 | 1/13 |
81 | ---- | |
726f6388 | 82 | |
d166f048 JA |
83 | builtins/getopt.h |
84 | - change #define guard to _SH_GETOPT_H to avoid similar guards in | |
85 | /usr/include/getopt.h (Dec OSF/1 4.x, for example) | |
726f6388 | 86 | |
d166f048 JA |
87 | variables.h |
88 | - fix assign_array_from_string so that it rejects attempts to assign | |
89 | to readonly variables | |
726f6388 | 90 | |
d166f048 JA |
91 | subst.c |
92 | - fix verify_substring_values to handle offsets that are past the | |
93 | end or before the beginning (in the case of a negative offset) | |
94 | of the expanded variable value | |
726f6388 | 95 | |
d166f048 | 96 | 1/14 |
726f6388 | 97 | ---- |
d166f048 JA |
98 | bashline.c |
99 | - fix a problem where any completion after a `cmd` command | |
100 | substitution would inappropriately attempt command completion, | |
101 | even if the previous command substitution was correctly closed | |
726f6388 | 102 | |
d166f048 JA |
103 | builtins/evalstring.c |
104 | - unwind_protect remember_on_history even if the shell is not | |
105 | interactive, since history can now be used in scripts, and | |
106 | `source' will turn off interactive_shell before calling | |
107 | parse_and_execute | |
726f6388 | 108 | |
d166f048 JA |
109 | jobs.c |
110 | - new function get_job_by_pid(pid, block) to translate a pid to | |
111 | a job number. The block argument says whether or not to block | |
112 | SIGCHLD | |
726f6388 | 113 | |
d166f048 JA |
114 | jobs.h |
115 | - new extern declaration for get_job_by_pid | |
726f6388 | 116 | |
d166f048 JA |
117 | builtins/jobs.def |
118 | - call get_job_by_pid if an argument appears to be a pid rather | |
119 | than a jobspec | |
726f6388 | 120 | |
d166f048 JA |
121 | configure.in |
122 | - configure --without-gnu-malloc automatically on MachTen 4.x | |
726f6388 | 123 | |
d166f048 JA |
124 | builtins/cd.def |
125 | - change to mindist() so that a best guess of `.' returns 3, | |
126 | which means not reasonable | |
726f6388 | 127 | |
d166f048 JA |
128 | lib/posixheaders/memalloc.h |
129 | - changed hpux_9 to __hpux, since the new config stuff doesn't | |
130 | define hpux_9 | |
726f6388 JA |
131 | |
132 | subst.c | |
d166f048 JA |
133 | - fix parameter_brace_patsub to handle null patterns (doesn't |
134 | do anything) | |
726f6388 | 135 | |
d166f048 JA |
136 | oslib.c |
137 | - slight change to bzero replacement | |
726f6388 | 138 | |
d166f048 JA |
139 | support/bashbug.sh |
140 | - changed TEMP to be /tmp/bbug.$$ as a sop to systems with 14-char | |
141 | file names | |
726f6388 | 142 | |
d166f048 JA |
143 | doc/bashref.texi |
144 | - add note to POSIX Mode section that the output of `set' when | |
145 | invoked without arguments is sorted when in POSIX mode | |
726f6388 | 146 | |
d166f048 | 147 | 1/15 |
726f6388 | 148 | ---- |
d166f048 JA |
149 | support/recho.c |
150 | - a couple of changes prompted by a `gcc -Wall' | |
726f6388 | 151 | |
d166f048 JA |
152 | subst.c |
153 | - changed ASSIGN_RETURN macro to use the do...while(0) idiom to | |
154 | avoid problems with its multiple statements | |
726f6388 | 155 | |
d166f048 JA |
156 | builtins/setattr.def |
157 | - a bad identifier given to readonly or export without an assignment | |
158 | statement (e.g. `readonly a[5]') is an error, but not an assignment | |
159 | error (i.e., return EXECUTION_FAILURE rather than EX_BADASSIGN) | |
726f6388 | 160 | |
d166f048 JA |
161 | tests/{{array,new-exp}.,tilde-}tests |
162 | - added `set +o posix' at the beginning to disable POSIX mode, which | |
163 | causes some of the tests to fail. Some systems (e.g. LINUX-FT), | |
164 | set POSIXLY_CORRECT by default | |
726f6388 | 165 | |
d166f048 JA |
166 | tests/test-tests |
167 | - added a warning if $UID is 0 to the effect that the test suite | |
168 | should not be run as root | |
169 | - worked around the `noread' and `nowrite' tests failing when run | |
170 | as root | |
726f6388 | 171 | |
d166f048 JA |
172 | test.c |
173 | - began removing the remains of the STANDALONE code, since test is | |
174 | included in GNU shellutils | |
726f6388 | 175 | |
d166f048 JA |
176 | 1/16 |
177 | ---- | |
178 | lib/readline/{readline,display}.c | |
179 | - a couple of slight changes to build on Win95 using djgpp (reported | |
180 | by x-aes@telelogic.se) | |
726f6388 | 181 | |
d166f048 JA |
182 | Makefile.in |
183 | - changed TERMCAP_LIBDIR to TERM_LIBDIR, so building the termcap | |
184 | library (if necessary) should work now | |
726f6388 | 185 | |
d166f048 JA |
186 | bashline.c |
187 | - new function: quote_word_break_characters(), to backslash-quote | |
188 | characters in a filename that the readline completion code would | |
189 | treat as word breaks | |
190 | - change bash_quote_filename to call quote_word_break_characters if | |
191 | the completion quoting style says to use backslashes | |
192 | - add `:' to rl_filename_quote_characters, since it's part of | |
193 | filename_word_break_characters | |
194 | ||
195 | lib/posixheaders/posixjmp.h | |
196 | - new file, with half of bashjmp.h | |
197 | - posixjmp.h and lib/readline/posixjmp.h are symlinks to this file | |
726f6388 | 198 | |
d166f048 JA |
199 | bashjmp.h |
200 | - include "posixjmp.h" for possible redefinitions of setjmp/longjmp | |
201 | and procenv_t | |
202 | ||
203 | 1/17 | |
726f6388 | 204 | ---- |
d166f048 JA |
205 | shell.c |
206 | - bad options now cause the standard shell usage message (a subset | |
207 | of what `bash --help' prints) to be displayed on stderr | |
726f6388 JA |
208 | |
209 | trap.c | |
d166f048 JA |
210 | - don't free the trap command for a DEBUG trap in |
211 | restore_default_signal if SIG_INPROGRESS is set -- there's already | |
212 | a pointer saved to the old value in _run_trap_internal. This | |
213 | makes bashdb run better, too | |
726f6388 | 214 | |
d166f048 JA |
215 | examples/bashdb/bashdb.{pre,fns} |
216 | - a couple of minor fixes; it actually has a chance of working now | |
726f6388 | 217 | |
d166f048 | 218 | 1/21 |
726f6388 | 219 | ---- |
d166f048 JA |
220 | config.h.in |
221 | - add a define for <dlfcn.h>, HAVE_DLFCN_H | |
726f6388 | 222 | |
d166f048 JA |
223 | configure.in |
224 | - look for <dlfcn.h>, define HAVE_DLFCN_H if found | |
726f6388 | 225 | |
d166f048 JA |
226 | builtins/enable.def |
227 | - include <dlfcn.h> only if HAVE_DLFCN_H is defined | |
726f6388 | 228 | |
d166f048 JA |
229 | lib/readline/display.c |
230 | - renamed clear_to_eol to _rl_clear_to_eol and made it global, so | |
231 | other library files (readline.c) can use it | |
232 | - new function _rl_clear_screen, to clear the screen with the right | |
233 | termcap escape sequence | |
726f6388 | 234 | |
d166f048 JA |
235 | lib/readline/readline.c |
236 | - call _rl_clear_to_eol and _rl_clear_screen instead of using tputs | |
237 | - extern declarations for _rl_clear_to_eol and _rl_clear_screen | |
726f6388 | 238 | |
d166f048 | 239 | 1/22 |
726f6388 | 240 | ---- |
d166f048 JA |
241 | mailcheck.c |
242 | - fixed a problem in make_default_mailpath() where a slash was not | |
243 | added between the default mail directory and the username | |
726f6388 | 244 | |
d166f048 JA |
245 | 1/23 |
246 | ---- | |
247 | stringlib.c | |
248 | - added a fourth parameter to ansicstr: the length of the returned | |
249 | string | |
726f6388 | 250 | |
d166f048 JA |
251 | externs.h |
252 | - changed declaration of ansicstr | |
726f6388 | 253 | |
d166f048 JA |
254 | parse.y |
255 | - changed call to ansicstr -- saves a call to strlen | |
726f6388 | 256 | |
d166f048 JA |
257 | builtins/echo.def |
258 | - changed call to ansicstr | |
259 | - if do_v9 is non-zero, use putchar to output the string instead | |
260 | of printf, since there may be embedded NULL characters | |
726f6388 | 261 | |
d166f048 JA |
262 | doc/{bash.1,bashref.texi}, builtins/trap.def |
263 | - modified the `trap' documentation to make it clearer that trap | |
264 | takes multiple signal specs as arguments | |
726f6388 | 265 | |
d166f048 JA |
266 | jobs.c, nojobs.c, jobs.h |
267 | - renamed initialize_jobs to initialize_job_control, added an | |
268 | argument (force) | |
726f6388 | 269 | |
d166f048 JA |
270 | jobs.c |
271 | - set shell_tty to fileno(stderr) in initialize_job_control if | |
272 | the shell is not interactive. This fixes the problem of bad | |
273 | tty pgrps when monitor mode is turned on in a non-interactive | |
274 | shell | |
726f6388 | 275 | |
d166f048 JA |
276 | sig.c |
277 | - made initialize_terminating_signals do only that; moved the rest | |
278 | of the code that used to be there into a new function: | |
279 | initialize_shell_signals, which calls initialize_terminating_signals | |
280 | if the shell is interactive | |
281 | - initialize_terminating_signals is now extern | |
282 | - made reset_terminating_signals return immediately if | |
283 | termsigs_intitialized is zero, meaning that | |
284 | initialize_terminating_signals has not been called | |
726f6388 | 285 | |
d166f048 JA |
286 | sig.h |
287 | - new extern declaration for initialize_terminating_signals | |
726f6388 | 288 | |
d166f048 JA |
289 | trap.c |
290 | - call initialize_terminating_signals from set_signal if sig is | |
291 | EXIT_TRAP and the shell is not interactive. Since the terminating | |
292 | signals do not need to be initialized until a trap on exit is | |
293 | set, not doing that at startup should result in a speed increase | |
294 | for scripts | |
726f6388 JA |
295 | |
296 | execute_cmd.c | |
d166f048 JA |
297 | - save and restore command->flags in time_command, so you can use |
298 | `time command' in a loop | |
726f6388 | 299 | |
d166f048 JA |
300 | 1/24 |
301 | ---- | |
302 | lib/readline/display.c | |
303 | - fix redisplay code to wrap correctly if the prompt is longer than | |
304 | the screen width (reported by bos@Eng.Sun.COM) | |
726f6388 | 305 | |
d166f048 JA |
306 | lib/readline/undo.c |
307 | - don't include <setjmp.h>, it's not needed | |
308 | ||
309 | lib/readline/{util,readline}.c | |
310 | - include "posixjmp.h" instead of <setjmp.h> | |
311 | - readline_top_level is now a `procenv_t' instead of a `jmp_buf' | |
312 | (now readline uses the correct posix semantics for preserving | |
313 | the signal mask and other things across longjmp) | |
314 | ||
315 | parse.y | |
316 | - fixes to push_string/pop_string to make them more general -- they | |
317 | now can be used generally, instead of having to be associated | |
318 | with an alias being expanded | |
319 | - fixes to the parser so that it parses (( ls abc; ls def); ls ghi) | |
320 | as a nested subshell command for backwards compatibility. Broke | |
321 | the double-paren expression parsing off into a new function: | |
322 | parse_arith_cmd, called from read_token when a `((' is seen. If | |
323 | it looks like an arithmetic command, return `let' and set things | |
324 | up so that the expression is returned as a double-quoted string | |
325 | by the next call to read_token. If it's a nested subshell, push | |
326 | the text we parsed onto the list of strings for later consumption | |
327 | and return `(' | |
726f6388 | 328 | |
d166f048 JA |
329 | lib/glob/glob.c |
330 | - fix glob_vector so it doesn't short-circuit checking a filename if | |
331 | it starts with a `.' and the pattern starts with `\.' (if | |
332 | noglob_dot_filenames is set). This makes `".junk2"*' match | |
333 | `.junk2.txt' correctly | |
726f6388 | 334 | |
d166f048 | 335 | 1/27 |
726f6388 | 336 | ---- |
d166f048 JA |
337 | support/bashbug.sh |
338 | - ask for confirmation before sending the bug report | |
726f6388 | 339 | |
d166f048 JA |
340 | builtins/fc.def |
341 | - when editing and re-executing a multiline command, make sure | |
342 | current_command_line_count is initialized and then incremented | |
343 | for each line read from the file so that the lines added to | |
344 | the history list by fc_replhist and fc_addhist obey the `lithist' | |
345 | and `cmdhist' shopt options. Reported by tibbitts@pb.seflin.org | |
726f6388 | 346 | |
d166f048 | 347 | 1/28 |
726f6388 | 348 | ---- |
d166f048 JA |
349 | lib/readline/readline.h |
350 | - added a couple of extern declarations for variables described in | |
351 | the documentation but heretofore undeclared | |
726f6388 | 352 | |
d166f048 JA |
353 | builtins/ulimit.def |
354 | - try to catch some classes of integer overflows before calling | |
355 | set_limit | |
726f6388 | 356 | |
d166f048 JA |
357 | 1/29 |
358 | ---- | |
726f6388 | 359 | parse.y |
d166f048 JA |
360 | - push and pop a `(' delimiter while parsing a $(...) construct, so |
361 | the history code doesn't try to inappropriately add a `;' when | |
362 | a newline appears in the `...' | |
726f6388 | 363 | |
d166f048 JA |
364 | aclocal.m4 |
365 | - new macro, BASH_STRUCT_WINSIZE, which looks for `struct winsize' | |
366 | in <sys/ioctl.h> (or one of the files it includes) | |
726f6388 | 367 | |
d166f048 JA |
368 | configure.in |
369 | - call BASH_STRUCT_WINSIZE | |
370 | - slightly reorganized the calls to bash-specific macros | |
726f6388 | 371 | |
d166f048 JA |
372 | config.h.in |
373 | - add an `#undef STRUCT_WINSIZE_IN_SYS_IOCTL' | |
726f6388 | 374 | |
d166f048 JA |
375 | jobs.c, nojobs.c |
376 | - only look in sys/ptem.h for struct winsize if | |
377 | STRUCT_WINSIZE_IN_SYS_IOCTL is not defined to cpp | |
726f6388 | 378 | |
d166f048 JA |
379 | 1/30 |
380 | ---- | |
381 | .{distribution,patchlevel} | |
382 | - renamed to _{distribution,patchlevel} | |
726f6388 | 383 | |
d166f048 JA |
384 | configure.in |
385 | - create a variable BASHVERS, from the contents of _distribution, | |
386 | and a variable BASHPATCH, from the contents of _patchlevel, | |
387 | (using m4 magic so we don't have to distribute .distribution | |
388 | and .patchlevel) and substitute them into Makefile.in | |
726f6388 | 389 | |
d166f048 JA |
390 | Makefile.in |
391 | - use Version and PatchLevel variables instead of the contents of | |
392 | .distribution and .patchlevel, respectively. These are set by | |
393 | configure | |
394 | - removed `.machine' from targets and dependencies | |
726f6388 | 395 | |
d166f048 JA |
396 | support/mkversion.sh |
397 | - new shell script to handle updating version.h, replaces mkversion.c | |
398 | (which is now overkill) | |
726f6388 | 399 | |
d166f048 JA |
400 | support/mkdist |
401 | - don't bother with writing .distribution and .patchlevel files, | |
402 | since they're no longer distributed | |
726f6388 | 403 | |
d166f048 JA |
404 | support/mknewvers.sh |
405 | - simple bash script to make new version files. It can increment | |
406 | the major or minor version numbers or patchlevel, or take a | |
407 | completely new version number (e.g., 2.01) as an argument | |
726f6388 | 408 | |
d166f048 JA |
409 | doc/Makefile.in |
410 | - added support for the `install-info' command to update the info | |
411 | directory file after installing bash.info | |
726f6388 | 412 | |
d166f048 JA |
413 | 1/31 |
414 | ---- | |
415 | builtins/help.def | |
416 | - fix core dump with `help --' | |
726f6388 | 417 | |
d166f048 JA |
418 | susbt.c |
419 | - make call_expand_word_internal obey the convention that if | |
420 | expand_word_internal returns &expand_word_{fatal,error}, then | |
421 | w->word has already been freed | |
422 | - return &expand_word_fatal from expand_word_internal if the shell | |
423 | is not interactive and `set -u' has been executed | |
726f6388 | 424 | |
d166f048 JA |
425 | test.c, general.c |
426 | - moved group_member from test.c to general.c | |
726f6388 | 427 | |
d166f048 JA |
428 | externs.h, general.h |
429 | - moved extern declaration of group_member from externs.h to general.h | |
726f6388 | 430 | |
d166f048 JA |
431 | general.c |
432 | - broke the code that initializes the group array out into a new | |
433 | function, initialize_group_array() | |
434 | - initialize_group_array() now initializes an array even if the OS | |
435 | does not have getgroups(). If it does not, an array with one | |
436 | element (the real gid) is created | |
437 | - call sysconf(_SC_NGROUPS_MAX) if sysconf is available and | |
438 | _SC_NGROUPS_MAX is defined | |
439 | - new function, char **get_group_list(int *), to return an array | |
440 | of strings made from the groups list | |
726f6388 | 441 | |
726f6388 | 442 | variables.c |
d166f048 JA |
443 | - new dynamic array variable: GROUPS, expands to the group set as |
444 | obtained with getgroups() (or whatever initialize_group_array() | |
445 | makes) | |
726f6388 | 446 | |
d166f048 JA |
447 | doc/{bash.{1,html},bashref.texi} |
448 | - added description of GROUPS variable | |
726f6388 | 449 | |
d166f048 JA |
450 | test/test-tests |
451 | - before modifying the setgid bit on /tmp/setgid, try to change its | |
452 | group to ${GROUPS[0]} | |
726f6388 | 453 | |
d166f048 JA |
454 | 2/3 |
455 | --- | |
456 | aclocal.m4 | |
457 | - new autconf macro, BASH_MISC_SPEED_T, to see if speed_t is defined | |
458 | in <sys/types.h> | |
726f6388 | 459 | |
d166f048 JA |
460 | configure.in |
461 | - call BASH_MISC_SPEED_T | |
726f6388 | 462 | |
d166f048 JA |
463 | config.h.in |
464 | - add `#undef SPEED_T_IN_SYS_TYPES' | |
726f6388 | 465 | |
d166f048 JA |
466 | lib/readline/tcap.h |
467 | - include `rltty.h' if HAVE_TERMCAP_H and __linux__ are defined, but | |
468 | SPEED_T_IN_SYS_STYPES is not, before including <termcap.h> | |
469 | ||
470 | support/mksignames.c, siglist.c | |
471 | - add support for 4.4 BSD SIGLOST | |
726f6388 | 472 | |
d166f048 JA |
473 | support/config.guess |
474 | - add support for recognizing QNX based on `uname' output | |
726f6388 | 475 | |
d166f048 JA |
476 | Makefile.in |
477 | - make sure recho and zecho are compiled with the same set of CC | |
478 | options as the rest of the sources | |
726f6388 JA |
479 | |
480 | lib/readline/bind.c | |
d166f048 JA |
481 | - change calls to rl_generic_bind to cast the third argument to |
482 | (char *) where necessary | |
726f6388 | 483 | |
d166f048 JA |
484 | command.h |
485 | - two new flags: CMD_AMPERSAND (currently unused), and CMD_STDIN_REDIR, | |
486 | which means that this command should have its standard input | |
487 | redirected from /dev/null if there are not any explicit redirections | |
488 | to stdin | |
726f6388 | 489 | |
d166f048 JA |
490 | execute_cmd.c |
491 | - a redirection of type r_inputa_direction is no longer added at the | |
492 | beginning of the redirection chain for an async command; | |
493 | CMD_STDIN_REDIR is set in the flags instead | |
494 | - new function: stdin_redirects: returns the number of redirections to | |
495 | stdin in a chain of redirections | |
496 | - new functions: async_redirect_stdin() to open /dev/null and make it | |
497 | file descriptor 0 | |
498 | - changes to make CMD_STDIN_REDIR propagate to all of the necessary | |
499 | functions (like execute_simple_command) | |
500 | - execute_disk command now takes the flags from simple_command rather | |
501 | than just the CMD_NO_FORK flag as its last argument | |
502 | - various places after make_child is executed (in the child) check for | |
503 | CMD_STDIN_REDIRECT (and no stdin redirections or piping) and call | |
504 | async_redirect_stdin | |
505 | - stdin_redir is now global | |
726f6388 | 506 | |
d166f048 JA |
507 | eval.c |
508 | - set stdin_redir to 0 just before calling execute_command so it | |
509 | gets reset to a known value and doesn't persist across commands | |
726f6388 | 510 | |
d166f048 JA |
511 | 2/4 |
512 | --- | |
513 | builtins/ulimit.def | |
514 | - add a stub function for ulimit(2) on systems without HAVE_RESOURCE | |
515 | or HAVE_ULIMIT that just sets errno to EINVAL and returns -1 -- | |
516 | QNX is one such system | |
726f6388 | 517 | |
d166f048 JA |
518 | bashhist.c |
519 | - pre_process_line needs to protect all occurrences of hist_verify | |
520 | with #ifdef READLINE | |
726f6388 | 521 | |
d166f048 JA |
522 | builtins/shopt.def |
523 | - hist_verify needs to be protected with #ifdef READLINE, not | |
524 | #ifdef HISTORY | |
726f6388 | 525 | |
d166f048 JA |
526 | 2/5 |
527 | --- | |
528 | support/config.{guess,sub}, configure.in | |
529 | - chages to better support the Harris Night Hawk | |
726f6388 | 530 | |
d166f048 JA |
531 | [many files] |
532 | - changes for things pointed out by gcc -Wall | |
726f6388 | 533 | |
d166f048 JA |
534 | lib/glob/Makefile.in |
535 | - make sure -DSHELL is included in CCFLAGS so that globbing is | |
536 | interruptible | |
726f6388 | 537 | |
d166f048 JA |
538 | lib/malloc/malloc.c |
539 | - extern declaration for botch: if botch is #defined, it should be | |
540 | the name of a void function | |
726f6388 | 541 | |
d166f048 JA |
542 | configure.in,Makefile.in,builtins/Makefile.in, |
543 | lib/{glob,malloc,readline,tilde}/Makefile.in | |
544 | - add a LOCAL_DEFS variable, substituted from configure into the | |
545 | various Makefiles. It's set to -DSHELL, so that define gets | |
546 | passed to all sub-makes without doing anything special | |
726f6388 | 547 | |
d166f048 JA |
548 | lib/readline/readline.c |
549 | - change to rl_digit_loop to make it compatible with GNU emacs: | |
550 | if a key bound to `universal-argument' is read after reading | |
551 | some digits, it terminates the argument but is otherwise | |
552 | ignored. This is how people can insert repeated digits | |
726f6388 | 553 | |
d166f048 JA |
554 | doc/{bash.{1,html},readline.3}, lib/readline/doc/rluser.texinfo |
555 | - changed description of `universal-argument' to describe how | |
556 | to terminate a numeric argument | |
726f6388 | 557 | |
d166f048 JA |
558 | 2/6 |
559 | --- | |
560 | jobs.c | |
561 | - changed kill_pid to diddle the job and process data structures | |
562 | if we're sending SIGCONT to a stopped job with `kill' so that | |
563 | the shell knows the job is running again. ksh93 does this | |
726f6388 | 564 | |
d166f048 JA |
565 | 2/7 |
566 | --- | |
567 | unwind_prot.c | |
568 | - changed bcopy to FASTCOPY | |
726f6388 | 569 | |
d166f048 JA |
570 | builtins/enable.def |
571 | - changed pointer arithmetic in delete_builtin to just subtract | |
572 | the head of the builtins list (shell_builtins) from a pointer | |
573 | to the builtin to be deleted (b) to find its index in the list | |
574 | on ANSI C systems | |
726f6388 | 575 | |
d166f048 | 576 | 2/10 |
726f6388 | 577 | ---- |
d166f048 JA |
578 | lib/readline/bind.c |
579 | - when using old-style keynames to bind to a new-style macro, | |
580 | pass an array of type (unsigned char *) to rl_macro_bind | |
581 | ||
582 | builtins/getopt.c | |
583 | - change sh_getopt to return EOF if nextchar is empty or NULL | |
584 | and sh_optind is greater than argc. This can happen if a | |
585 | script mixes calls to `getopts' with calls to `shift' | |
726f6388 | 586 | |
d166f048 | 587 | 2/11 |
726f6388 | 588 | ---- |
d166f048 JA |
589 | print_cmd.c |
590 | - fixed make_command_string_internal so that commands with the | |
591 | CMD_TIME_POSIX flag set print `time -p' instead of `time' | |
592 | - changed print_redirection_list so the here documents are | |
593 | printed after all the other redirections, and followed by a | |
594 | newline (rather than a possible semicolon) | |
595 | - added a new variable, was_heredoc, to avoid adding a semicolon | |
596 | at the beginning of an empty line after printing the heredoc | |
597 | ending delimiter | |
598 | ||
599 | execute_cmd.c | |
600 | - don't put the gnu_argv_flags into the environment any more; it's | |
601 | proven to be a bad idea | |
726f6388 | 602 | |
d166f048 JA |
603 | configure.in |
604 | - set LOCAL_CFLAGS to `-DSunOS5' on Solaris 5.5[.x] | |
726f6388 | 605 | |
d166f048 JA |
606 | builtins/echo.def |
607 | - only call fflush() after printing each word on SunOS 5.5, since | |
608 | that's the system with the bug that prompted its inclusion in | |
609 | the first place | |
726f6388 | 610 | |
d166f048 JA |
611 | support/mksignames.c |
612 | - added support for more system-specific signals from AIX 4.2, | |
613 | changed initialization order so that system-specific signals | |
614 | are done first, before the common signals | |
726f6388 | 615 | |
d166f048 | 616 | 2/12 |
726f6388 | 617 | ---- |
d166f048 JA |
618 | execute_cmd.c |
619 | - broke the code that creates a file containing the text of a | |
620 | here document out into a separate function: here_doc_to_fd | |
621 | - create the temp file used for a here document with mode 600 | |
622 | - open the temp file used for a here document with O_EXCL | |
726f6388 | 623 | |
d166f048 JA |
624 | shell.h |
625 | - changed the uid members of struct user_info to be of type uid_t | |
626 | and the gid members to be of type gid_t | |
726f6388 | 627 | |
d166f048 JA |
628 | parse.y |
629 | - changed the type of the `type' argument to init_yy_io() to be | |
630 | `enum stream_type', since that's what's always passed | |
726f6388 | 631 | |
d166f048 JA |
632 | input.h |
633 | - changed the function prototype for init_yy_io so the third arg is | |
634 | type `enum stream_type' | |
726f6388 | 635 | |
d166f048 JA |
636 | externs.h |
637 | - added a prototype for getcwd, if HAVE_GETCWD is not defined | |
726f6388 | 638 | |
d166f048 JA |
639 | builtins/umask.def |
640 | - changed all variables that are used as arguments to or save the | |
641 | return value from umask(2) to be of type mode_t | |
642 | - changed print_symbolic_umask to take an argument of type mode_t | |
726f6388 | 643 | |
d166f048 JA |
644 | 2/13 |
645 | ---- | |
646 | jobs.c | |
647 | - if old_sigint_handler is set to SIG_DFL, as it will be in a script | |
648 | without a trap on SIGINT installed, call termination_unwind_protect() | |
649 | directly from waitchld() | |
726f6388 | 650 | |
d166f048 JA |
651 | 2/14 |
652 | ---- | |
653 | configure.in | |
654 | - added a section before the call to BASH_CHECK_LIB_TERMCAP to | |
655 | set a variable prefer_curses on some systems (AIX, for one) | |
726f6388 | 656 | |
d166f048 JA |
657 | aclocal.m4 |
658 | - in BASH_CHECK_LIB_TERMCAP, don't return -ltermcap if $prefer_curses | |
659 | is non-empty | |
726f6388 | 660 | |
d166f048 JA |
661 | lib/readline/Makefile.in |
662 | - redid the dependencies | |
726f6388 | 663 | |
d166f048 | 664 | 2/17 |
726f6388 | 665 | ---- |
d166f048 JA |
666 | hashlib.c, getcwd.c |
667 | - include `bashansi.h' instead of stdlib.h and string.h | |
726f6388 | 668 | |
d166f048 JA |
669 | error.c, siglist.c, xmalloc.c, builtins/{common,evalfile,mkbuiltins,psize}.c, |
670 | builtins/{exec,exit,fg_bg,hash,history}.def | |
671 | - include `bashtypes.h' instead of directly including <sys/types.h> | |
726f6388 | 672 | |
d166f048 JA |
673 | builtins/fc.def |
674 | - include ../bashtypes.h and ../posixstat.h instead of bashtypes.h | |
675 | and posixstat.h | |
726f6388 | 676 | |
d166f048 JA |
677 | builtins/mkbuiltins.c |
678 | - include ../posixstat.h instead of <sys/stat.h> | |
726f6388 | 679 | |
d166f048 JA |
680 | general.h |
681 | - include `bashtypes.h' if RLIMTYPE is defined, so we can fetch | |
682 | a definition of quad_t (or whatever) from <sys/types.h> before | |
683 | using it in a function prototype | |
684 | ||
685 | Makefile.in, builtins/Makefile.in | |
686 | - updated dependencies | |
726f6388 | 687 | |
d166f048 JA |
688 | 2/18 |
689 | ---- | |
690 | builtins/set.def | |
691 | - new function, set_posix_mode, called when `set [-+]o posix' | |
692 | or `shopt -[su] -o posix' is executed. It sets or unsets | |
693 | $POSIXLY_CORRECT and calls sv_strict_posix | |
726f6388 JA |
694 | |
695 | subst.c | |
d166f048 JA |
696 | - in sv_strict_posix, call posix_readline_initialize only if |
697 | the shell is interactive (interactive_shell != 0) | |
726f6388 | 698 | |
d166f048 JA |
699 | shell.c |
700 | - if we are acting like `sh', call posix_readline_initialize | |
701 | if the shell is interactive | |
702 | - moved the code that does posix.2 mode initialization after | |
703 | interactive_shell is set, and call posix_readline_initialize | |
704 | if interactive_shell is non-zero | |
726f6388 | 705 | |
d166f048 JA |
706 | bashwait.h |
707 | - renamed to unionwait.h, since that is what it defines | |
726f6388 | 708 | |
d166f048 JA |
709 | posixwait.h |
710 | - moved the POSIX 1003.1 job control defines here from jobs.h | |
726f6388 | 711 | |
d166f048 JA |
712 | jobs.h |
713 | - include `posixwait.h' | |
726f6388 | 714 | |
d166f048 JA |
715 | 2/19 |
716 | ---- | |
717 | braces.c | |
718 | - if SHELL is defined, pass the contents of new-style command | |
719 | substitution through without expanding brace constructs between | |
720 | the parens -- let the subshell do it | |
726f6388 | 721 | |
d166f048 JA |
722 | subst.c |
723 | - when brace-expanding words, preserve the flags (word->flags) if | |
724 | brace expansion does not change the word. This fixes the problem | |
725 | of things like | |
726f6388 | 726 | |
d166f048 | 727 | local -a avar=( ${PATH//: } ); |
726f6388 | 728 | |
d166f048 JA |
729 | bashline.c |
730 | - have shell_expand_line pass a copy of rl_line_buffer to expand_string | |
731 | in case there are substitution errors and the string gets freed | |
726f6388 | 732 | |
d166f048 | 733 | 2/20 |
726f6388 | 734 | ---- |
d166f048 JA |
735 | expr.c |
736 | - make sure that expland and explor set `lasttok' to LAND and LOR, | |
737 | respectively, if they parse `&&' or `||'. This makes the | |
738 | precedence code work right | |
726f6388 | 739 | |
726f6388 | 740 | subst.c |
d166f048 JA |
741 | - changes so that non-interactive shells exit immediately when a |
742 | parameter that is unset is referenced after `set -u' has been | |
743 | executed causes the shell to exit immediately | |
726f6388 | 744 | |
d166f048 JA |
745 | 2/21 |
746 | ---- | |
747 | flags.c | |
748 | - if `set -r' is executed, call maybe_make_restricted so that $PATH | |
749 | and $SHELL are made read-only | |
726f6388 | 750 | |
726f6388 | 751 | execute_cmd.c |
d166f048 JA |
752 | - if `set -e' has been executed, and we're inverting a pipeline's |
753 | return status with `!', set CMD_IGNORE_RETURN so a failing | |
754 | command does not inadvertently cause the shell to exit before | |
755 | the exit status can be inverted. This is probably only a problem | |
756 | with the `eval' builtin. | |
726f6388 | 757 | |
d166f048 JA |
758 | 2/24 |
759 | ---- | |
760 | builtins/hash.def | |
761 | - add a missing argument of 0 to add_hashed_command | |
ccc6cda3 | 762 | |
d166f048 JA |
763 | builtins/kill.def |
764 | - job identifiers can be used in non-interactive shells as long as | |
765 | job control has been turned on with `set -m' | |
ccc6cda3 | 766 | |
d166f048 JA |
767 | jobs.c |
768 | - we want to be notified of stopped jobs if job_control is non-zero, | |
769 | even if the shell is not interactive | |
ccc6cda3 | 770 | |
d166f048 JA |
771 | execute_cmd.c |
772 | - make sure shell_execve returns EX_NOTFOUND if execve fails and | |
773 | errno is set to ENOENT | |
774 | - makes sure execute_builtin saves the temporary environment to | |
775 | builtin_env for the `eval' builtin, since it can destroy the | |
776 | temporary environment when it calls parse_and_execute | |
ccc6cda3 | 777 | |
d166f048 JA |
778 | bashhist.c |
779 | - new variable: hist_last_line_added, set to 1 if the last command | |
780 | line was added to the history successfully as a separate entry. | |
781 | Used by `history' and `fc' | |
ccc6cda3 | 782 | |
d166f048 | 783 | 2/25 |
ccc6cda3 | 784 | ---- |
d166f048 JA |
785 | trap.c |
786 | - save line number before executing trap command, because | |
787 | parse_and_execute resets it to 1 and the trap command might | |
788 | want it | |
ccc6cda3 | 789 | |
d166f048 JA |
790 | execute_cmd.c |
791 | - change to executing_line_number to return trap_line_number if | |
792 | the shell is currently running a trap | |
ccc6cda3 | 793 | |
d166f048 | 794 | 2/26 |
ccc6cda3 | 795 | ---- |
d166f048 JA |
796 | execute_cmd.c |
797 | - change to time_command so that a `real' value of 0 does not | |
798 | cause a divide-by-zero error when computing cpu percentage | |
ccc6cda3 | 799 | |
d166f048 JA |
800 | lib/readline/signals.c |
801 | - if MUST_REINSTALL_SIGHANDLERS is defined, reinstall the SIGWINCH | |
802 | handler in rl_handle_sigwinch | |
ccc6cda3 | 803 | |
d166f048 JA |
804 | builtins/set.def |
805 | - `unset' now rejects attempts to unset names that are not valid | |
806 | shell identifiers as errors | |
807 | - add a description of `-o history' option to help text | |
ccc6cda3 | 808 | |
d166f048 JA |
809 | subst.c |
810 | - in parameter_brace_patsub, we want backslash removal done on | |
811 | the replacement if (mflags & MATCH_QUOTED), since the code | |
812 | in expand_word_internal will not do it. We need to call | |
813 | expand_string_unsplit directly, since maybe_expand_string does | |
814 | not do the right thing | |
ccc6cda3 | 815 | |
d166f048 JA |
816 | 2/28 |
817 | ---- | |
818 | execute_cmd.c | |
819 | - if execute_for_command finds that the iteration variable is readonly, | |
820 | decrement loop_level before returning | |
ccc6cda3 | 821 | |
d166f048 JA |
822 | builtins/break.def |
823 | - if the break count is <= 0, display an error message and break out | |
824 | of all loops | |
ccc6cda3 | 825 | |
d166f048 JA |
826 | builtins/command.def |
827 | - if PATH is unset, and we're using command -p, we don't want PATH | |
828 | to be set to the empty string when `command' completes | |
ccc6cda3 | 829 | |
d166f048 JA |
830 | builtins/common.c |
831 | - POSIX.2 says `kill -l signum' prints the signal name without the | |
832 | leading `SIG' prefix, so check for this_shell_builtin == kill_builtin | |
833 | in display_signal_list | |
ccc6cda3 | 834 | |
d166f048 JA |
835 | builtins/getopts.def |
836 | - when invoked without any arguments, `getopts' now prints a usage | |
837 | message | |
ccc6cda3 | 838 | |
d166f048 JA |
839 | 3/3 |
840 | --- | |
841 | builtins/common.c | |
842 | - add a second argument to get_numeric_arg: if non-zero, the shell | |
843 | exits on a bad argument; if not, the shell jumps to top_level | |
844 | with a DISCARD argument, which aborts the current command | |
ccc6cda3 | 845 | |
d166f048 JA |
846 | builtins/{break,exit,history,return,shift}.def |
847 | - change calls to get_numeric_argument | |
ccc6cda3 | 848 | |
d166f048 JA |
849 | lib/readline/funmap.c |
850 | - add `dump-macros' to list of bindable names | |
ccc6cda3 | 851 | |
d166f048 JA |
852 | lib/readline/readline.h |
853 | - added extern declaration for rl_prompt (it was apparently missing) | |
ccc6cda3 | 854 | |
d166f048 JA |
855 | lib/readline/readline.c |
856 | - new internal function, _rl_init_line_state, which sets rl_point | |
857 | and rl_end to 0, sets the_line to point to _rl_line_buffer, and | |
858 | clears the line | |
ccc6cda3 | 859 | |
d166f048 JA |
860 | lib/readline/callback.c |
861 | - if a user's callback function does not clear the line, clear it | |
862 | for him by calling _rl_init_line_state | |
ccc6cda3 | 863 | |
d166f048 JA |
864 | 3/4 |
865 | --- | |
866 | alias.c | |
867 | - made the readline support functions #ifdef READLINE, so they're | |
868 | not compiled into the shell unless readline is | |
ccc6cda3 | 869 | |
d166f048 JA |
870 | lib/readline/bind.c |
871 | - new function _rl_untranslate_macro_value, to expand meta-prefixes | |
872 | and other special characters in a macro value for printing by | |
873 | _rl_macro_dumper_internal | |
874 | - call _rl_untranslate_macro_value in _rl_macro_dumper_internal to | |
875 | get a printable version of the macro value | |
ccc6cda3 JA |
876 | |
877 | lib/readline/readline.c | |
d166f048 JA |
878 | - new variable, rl_dispatching, set to 1 when we call a function |
879 | from _rl_dispatch | |
ccc6cda3 | 880 | |
d166f048 JA |
881 | lib/readline/readline.h |
882 | - extern declaration for rl_dispatching | |
ccc6cda3 | 883 | |
d166f048 JA |
884 | lib/readline/complete.c |
885 | - make sure S_ISCHR and S_ISBLK are defined before using them | |
ccc6cda3 | 886 | |
d166f048 JA |
887 | lib/readline/terminal.c |
888 | - add a new #define NEED_EXTERN_PC. Define this if the termcap | |
889 | or curses libraries need `extern' before declarations of PC, | |
890 | BC, and UP | |
ccc6cda3 | 891 | |
d166f048 JA |
892 | lib/readline/{readline,terminal,histfile}.c |
893 | - changes to compile on OS/2 with OS/2 `EMX' port of gcc, originally | |
894 | sent by ilya@math.ohio-state.edu | |
ccc6cda3 | 895 | |
d166f048 JA |
896 | builtins/set.def |
897 | - fixed a bug in set_shellopts that caused the shell to crash if | |
898 | there were no shell options set | |
ccc6cda3 | 899 | |
d166f048 JA |
900 | 3/5 |
901 | --- | |
902 | configure.in,Makefile.in | |
903 | - choose run-all or run-minimal as the test script based on whether | |
904 | the --enable-minimal-config option was given to configure | |
ccc6cda3 | 905 | |
d166f048 JA |
906 | builtins/setattr.def |
907 | - fixed `export -p' and `readonly -p' so that they output `export' | |
908 | or `readonly' when in POSIX mode, as POSIX.2 specifies | |
ccc6cda3 | 909 | |
d166f048 JA |
910 | 3/6 |
911 | --- | |
912 | builtins/setattr.def | |
913 | - make `readonly -a var=(...)' work just like `declare -ar var=(...)', | |
914 | since the two logically mean the same | |
915 | - `readonly -f' and `export -f' don't print the function definition | |
916 | for each readonly or exported function, respectively, when in | |
917 | POSIX mode | |
ccc6cda3 | 918 | |
d166f048 JA |
919 | jobs.c, nojobs.c |
920 | - don't report status for processes killed by SIGPIPE if | |
921 | DONT_REPORT_SIGPIPE is defined | |
ccc6cda3 | 922 | |
d166f048 JA |
923 | config.h.top |
924 | - added a commented-out define for DONT_REPORT_SIGPIPE | |
ccc6cda3 | 925 | |
d166f048 JA |
926 | execute_cmd.c |
927 | - `time' can now be used to time background pipelines, and reports | |
928 | the timing statistics when the pipeline completes | |
ccc6cda3 | 929 | |
d166f048 | 930 | [bash-2.01-alpha1 frozen] |
ccc6cda3 | 931 | |
d166f048 JA |
932 | 3/12 |
933 | ---- | |
934 | subst.c | |
935 | - move the parent end of the pipe file descriptor used for process | |
936 | substitution to a high, unused file descriptor to avoid clashes | |
937 | with redirections performed explicitly by a script | |
ccc6cda3 | 938 | |
d166f048 JA |
939 | configure.in |
940 | - added a `--with-curses' argument so curses can be forcibly chosen | |
941 | over libtermcap (some Unix versions ship lousy termcap databases) | |
ccc6cda3 | 942 | |
d166f048 JA |
943 | support/mkconffiles |
944 | - new script to create _distribution and _patchlevel from values | |
945 | contained in `configure' | |
ccc6cda3 | 946 | |
d166f048 JA |
947 | doc/bashref.texi |
948 | - updated installation instructions | |
ccc6cda3 | 949 | |
d166f048 | 950 | 3/13 |
ccc6cda3 | 951 | ---- |
d166f048 JA |
952 | general.c |
953 | - if `getgroups' returns 0, make sure we add the primary group id | |
954 | as GROUPS[0]. | |
955 | - if we have getgroups, and the primary gid is not in the array | |
956 | getgroups returns, add it as group_array[0] and shuffle everything | |
957 | up one element. This ensures that current_user.gid == group_array[0] | |
958 | all the time | |
959 | ||
960 | tests/builtins.tests | |
961 | - changes to avoid stray variables in environment when the shell | |
962 | version of printenv is used with bash as /bin/sh, running the | |
963 | `exec -c' tests. | |
ccc6cda3 | 964 | |
d166f048 | 965 | 3/14 |
ccc6cda3 | 966 | ---- |
d166f048 JA |
967 | builtins/cd.def |
968 | - spelling correction is no longer enabled by default | |
ccc6cda3 | 969 | |
d166f048 JA |
970 | support/bashbug.sh |
971 | - if the shell's release status is alpha or beta, offer the option | |
972 | of sending the bug report to the bash-testers mailing list as | |
973 | well as to chet | |
ccc6cda3 | 974 | |
d166f048 | 975 | 3/17 |
ccc6cda3 | 976 | ---- |
d166f048 JA |
977 | configure.in |
978 | - configure --without-gnu-malloc by default on *-sgi-irix6* because | |
979 | their code needs 8-byte alignment | |
ccc6cda3 | 980 | |
d166f048 JA |
981 | support/bashbug.sh |
982 | - ``' needs to be quoted with a backslash in double-quoted strings | |
ccc6cda3 | 983 | |
d166f048 JA |
984 | aclocal.m4 |
985 | - slight changes to the strcoll test, since AIX 4.2 returns -1, 0, or | |
986 | 1 from strcmp(3) but a numeric collation order difference from | |
987 | strcoll(3) | |
ccc6cda3 | 988 | |
d166f048 | 989 | 3/18 |
ccc6cda3 | 990 | ---- |
d166f048 JA |
991 | command.h |
992 | - new redirection error code: HEREDOC_REDIRECT | |
ccc6cda3 | 993 | |
d166f048 JA |
994 | execute_cmd.c |
995 | - return HEREDOC_REDIRECT from do_redirection_internal when | |
996 | here_document_to_fd cannot create the temp file for a here document | |
997 | - changed redirection_error to print a meaningful message when | |
998 | here document temp file creation fails (HEREDOC_REDIRECT) | |
ccc6cda3 | 999 | |
d166f048 | 1000 | 3/19 |
ccc6cda3 | 1001 | ---- |
ccc6cda3 | 1002 | subst.c |
d166f048 JA |
1003 | - changes to match_pattern_char: return 1 if the first char of the |
1004 | pattern is `?' only if the string is non-null; just return 1 if | |
1005 | the first char of the pattern is `[' and the string is non-empty | |
1006 | rather than try to re-implement the brace matching code from fnmatch | |
ccc6cda3 | 1007 | |
d166f048 JA |
1008 | lib/glob/fnmatch.c |
1009 | - some changes from glibc-2.0.1 posix/fnmatch.c | |
ccc6cda3 | 1010 | |
d166f048 | 1011 | 3/21 |
ccc6cda3 | 1012 | ---- |
d166f048 JA |
1013 | variables.c |
1014 | - only do the initialization of `ignoreeof' if the shell is | |
1015 | interactive | |
1016 | - reset values of $SHLVL > 1000 to 1 in adjust_shell_level, and | |
1017 | don't call itos, since we don't need its generality | |
1018 | - new function, initialize_shell_level, just calls adjust_shell_level | |
1019 | with argument of 1. If $SHLVL is unset, adjust_shell_level will | |
1020 | deal with it correctly | |
1021 | - change initialize_shell_variables to not malloc a copy of each | |
1022 | environment variable, just keep two pointers into the env string: | |
1023 | one for the name, one for the value | |
1024 | - broke the code that computes the value of $BASH out into a separate | |
1025 | function: get_bash_name | |
1026 | - get_bash_name special-cases shell_name with a `./' prefix when | |
1027 | initializing $BASH | |
1028 | - new function: set_home_var, sets $HOME to current_user.home_dir if | |
1029 | it's not already set, calling get_current_user_info if | |
1030 | current_user.home_dir is NULL | |
1031 | - new function: set_shell_var, sets $SHELL to current_user.shell if | |
1032 | it's not already set, calling get_current_user_info if | |
1033 | current_user.shell is NULL | |
1034 | - changed places that reference information in current_user to check | |
1035 | for NULL values of the member they're interested in and call | |
1036 | get_current_user_info if necessary | |
ccc6cda3 | 1037 | |
d166f048 JA |
1038 | shell.c |
1039 | - moved the code that sets up the information in current_user that | |
1040 | comes from the password file into a new function, | |
1041 | get_current_user_info | |
1042 | - shell_initialize calls get_current_user_info only if the shell is | |
1043 | interactive | |
ccc6cda3 | 1044 | |
d166f048 JA |
1045 | externs.h |
1046 | - new extern declaration for get_current_user_info(), so variables.c | |
1047 | can use it | |
ccc6cda3 | 1048 | |
d166f048 | 1049 | 3/24 |
ccc6cda3 | 1050 | ---- |
d166f048 JA |
1051 | lib/tilde/tilde.c |
1052 | - if SHELL is defined, user the current_user struct info to find | |
1053 | the user's home directory rather than calling getpwuid | |
ccc6cda3 | 1054 | |
d166f048 JA |
1055 | 3/25 |
1056 | ---- | |
1057 | nojobs.c | |
1058 | - don't try to open /dev/tty when getting or setting the tty state | |
1059 | and window size; use shell_tty instead | |
1060 | - initialize shell_tty to standard error in initialize_job_control | |
1061 | - only fetch the tty state initially if the shell is interactive | |
ccc6cda3 | 1062 | |
d166f048 JA |
1063 | general.c |
1064 | - open /dev/tty with the O_NONBLOCK flag | |
ccc6cda3 JA |
1065 | |
1066 | variables.c | |
d166f048 JA |
1067 | - changed all_vars so that it sorts its output all the time, not |
1068 | just when in POSIX mode. This means that the output of `set' | |
1069 | and `export' will be sorted | |
ccc6cda3 JA |
1070 | |
1071 | builtins/set.def | |
d166f048 JA |
1072 | - in initialize_shell_options, only call parse_shellopts if we |
1073 | inherited $SHELLOPTS from the environment | |
1074 | - make sure we call parse_shellopts from initialize_shell_options | |
1075 | with a copy of the value of SHELLOPTS, in case one of the functions | |
1076 | called while setting one of the variables modifies $SHELLOPTS | |
ccc6cda3 JA |
1077 | |
1078 | lib/readline/readline.c | |
d166f048 JA |
1079 | - make sure that digit arguments don't change the state of |
1080 | rl_last_func | |
ccc6cda3 | 1081 | |
d166f048 JA |
1082 | support/printenv.c |
1083 | - new file, printenv(1) clone, used to avoid environment variables | |
1084 | that might be set automatically when using printenv.sh | |
ccc6cda3 JA |
1085 | |
1086 | lib/tilde/tilde.c | |
d166f048 JA |
1087 | - if SHELL is defined, don't call getenv to get the value of $HOME, |
1088 | call get_string_value () directly | |
ccc6cda3 | 1089 | |
d166f048 | 1090 | 3/26 |
ccc6cda3 | 1091 | ---- |
d166f048 JA |
1092 | lib/readline/histexpand.c |
1093 | - abstracted the `#ifdef SHELL' stuff that checked for special cases | |
1094 | that should not be history expanded ([!...], ${!...}) into a call | |
1095 | to a function that is the value of the | |
1096 | new history_inhibit_expansion_function variable | |
ccc6cda3 | 1097 | |
d166f048 JA |
1098 | lib/readline/history.h |
1099 | - extern declaration for history_inhibit_expansion_function | |
ccc6cda3 | 1100 | |
d166f048 JA |
1101 | bashhist.c |
1102 | - new function, bash_history_inhibit_expansion, which checks for | |
1103 | the special cases in which history expansion should be inhibited | |
1104 | - changes to the various history initialization functions to | |
1105 | set history_inhibit_expansion_function | |
ccc6cda3 | 1106 | |
d166f048 JA |
1107 | lib/readline/doc/hstech.texinfo |
1108 | - documented history_inhibit_expansion_function | |
ccc6cda3 | 1109 | |
d166f048 JA |
1110 | lib/readline/shell.c |
1111 | - new file, containing versions of the functions that are provided | |
1112 | by bash when readline is linked as part of bash | |
1113 | - new function: get_env_value(). If SHELL is defined, this calls | |
1114 | get_string_value(). If SHELL is not defined, this calls getenv() | |
ccc6cda3 | 1115 | |
d166f048 JA |
1116 | lib/readline/histexpand.c |
1117 | - moved single_quote() to shell.c | |
ccc6cda3 | 1118 | |
d166f048 JA |
1119 | lib/readline/util.c |
1120 | - moved savestring() to shell.c | |
ccc6cda3 | 1121 | |
d166f048 JA |
1122 | lib/readline/terminal.c |
1123 | - moved set_lines_and_columns() to shell.c | |
ccc6cda3 | 1124 | |
d166f048 JA |
1125 | lib/readline/Makefile.in, Makefile.in |
1126 | - added shell.c and shell.o to the appropriate variables that contain | |
1127 | the files comprising the readline and history libraries | |
ccc6cda3 | 1128 | |
d166f048 JA |
1129 | lib/readline/signals.c |
1130 | - introduced two new cpp defines: HANDLE_JOB_SIGNALS and | |
1131 | HANDLE_SIGTERM. When HANDLE_JOB_SIGNALS is defined, SIGTSTP, | |
1132 | SIGTTIN, and SIGTTOU are caught and handled. When HANDLE_SIGTERM | |
1133 | is defined, SIGTERM is caught and handled. These are both | |
1134 | defined automatically if SHELL is not defined | |
ccc6cda3 | 1135 | |
d166f048 JA |
1136 | lib/readline/{bind,histfile,nls,readline,terminal}.c |
1137 | - call get_env_value instead of getenv(). This should remove the | |
1138 | dependency on being able to redefine getenv() in oslib.c | |
ccc6cda3 | 1139 | |
d166f048 JA |
1140 | shell.c |
1141 | - added a missing argument of -1 to the call to list_minus_o_opts. | |
1142 | Now `bash -o' lists all options, not just random ones depending | |
1143 | on what's on the stack | |
ccc6cda3 | 1144 | |
d166f048 | 1145 | 3/28 |
ccc6cda3 | 1146 | ---- |
d166f048 JA |
1147 | builtins/ulimit.def |
1148 | - change RLIM_INFINITY to the hard limit only if the hard limit is | |
1149 | greater than the current (soft) limit | |
ccc6cda3 | 1150 | |
d166f048 JA |
1151 | hashlib.c |
1152 | - return immediately from flush_hash_table if the hash table passed | |
1153 | is NULL | |
ccc6cda3 | 1154 | |
d166f048 JA |
1155 | 4/1 |
1156 | --- | |
1157 | shell.c | |
1158 | - remove call to initialize_filename_hashing -- initialize the hash | |
1159 | table the first time a hashed command has to be remembered | |
ccc6cda3 | 1160 | |
d166f048 JA |
1161 | hashcmd.c |
1162 | - new file, with functions to perform filename hashing and lookup | |
1163 | taken from builtins/hash.def and builtins/common.c | |
1164 | - change to remember_filename -- call initialize_filename_hashing | |
1165 | if hashing_initialized is 0 | |
ccc6cda3 | 1166 | |
d166f048 JA |
1167 | hashcmd.h |
1168 | - new file, mostly from builtins/hashcom.h, with extern function | |
1169 | declarations added | |
ccc6cda3 | 1170 | |
d166f048 JA |
1171 | execute_cmd.c, builtins/{hash,type}.def |
1172 | - include hashcmd.h for hash function and type definitions | |
ccc6cda3 | 1173 | |
d166f048 JA |
1174 | builtins/{common.{c,h},hash.def} |
1175 | - moved hashing functions and declarations to hashcmd.c/hashcmd.h | |
ccc6cda3 | 1176 | |
d166f048 JA |
1177 | Makefile.in, builtins/Makefile.in |
1178 | - changed source and object file definitions and dependencies because | |
1179 | of addition of hashcmd.h and hashcmd.c | |
ccc6cda3 | 1180 | |
d166f048 JA |
1181 | builtins/hash.def |
1182 | - return immediately from print_hashed_commands if hashed_commands | |
1183 | is empty, indicating that the hash table has not been initialized | |
ccc6cda3 | 1184 | |
d166f048 | 1185 | 4/2 |
ccc6cda3 | 1186 | --- |
d166f048 JA |
1187 | lib/readline/bind.c |
1188 | - fixed translation of ESC in rl_untranslate_keyseq and | |
1189 | rl_untranslate_macro_value | |
ccc6cda3 | 1190 | |
d166f048 JA |
1191 | lib/readline/{readline,kill}.c |
1192 | - added an argument to _rl_fix_point telling it whether or not to | |
1193 | fix up the mark also; changed calls to _rl_fix_point to add the | |
1194 | appropriate argument | |
ccc6cda3 | 1195 | |
d166f048 JA |
1196 | Makefile.in |
1197 | - changed the substitution delimiter in the `sed' commands that | |
1198 | create bashbug from `:' to `%' to avoid conflicts with options | |
1199 | containing `:' | |
ccc6cda3 | 1200 | |
d166f048 | 1201 | 4/3 |
ccc6cda3 | 1202 | --- |
d166f048 JA |
1203 | print_cmd.c |
1204 | - made the initial value and the default growth value for the | |
1205 | printed command somewhat smaller -- we don't really need to | |
1206 | allocate 4096 bytes for the printed command | |
1207 | - added stdarg support to xprintf if PREFER_STDARG is defined | |
ccc6cda3 | 1208 | |
d166f048 JA |
1209 | stringlib.c |
1210 | - changed strip_trailing to take the index of the last character | |
1211 | as the second argument, saving a (useless) call to strlen, since | |
1212 | the caller already knows where the end of the string is | |
ccc6cda3 | 1213 | |
d166f048 JA |
1214 | subst.c |
1215 | - change call to strip_trailing in command_substitute to add the | |
1216 | new second argument | |
ccc6cda3 | 1217 | |
d166f048 JA |
1218 | externs.h |
1219 | - changed extern declaration for strip_trailing | |
ccc6cda3 | 1220 | |
d166f048 | 1221 | 4/4 |
ccc6cda3 | 1222 | --- |
d166f048 JA |
1223 | Makefile.in, configure.in, lib/malloc/Makefile.in |
1224 | - changed the strategy for picking which `malloc' to include by | |
1225 | having configure define a `malloc target' and the Makefile in | |
1226 | lib/malloc implementing rules for that target | |
ccc6cda3 | 1227 | |
d166f048 JA |
1228 | 4/5 |
1229 | --- | |
1230 | Makefile.in | |
1231 | - slightly changed the rules for remaking `parser-built': it is | |
1232 | now a copy of y.tab.h, updated only when the contents of y.tab.h | |
1233 | change | |
1234 | - everything that used to depend on y.tab.h now depends on | |
1235 | parser-built | |
ccc6cda3 | 1236 | |
d166f048 JA |
1237 | 4/6 |
1238 | --- | |
1239 | execute_cmd.c, print_cmd.c | |
1240 | - use #include <y.tab.h> so we pick up y.tab.h from the build | |
1241 | directory instead of the source directory if it happens to be | |
1242 | recreated in the build directory | |
ccc6cda3 | 1243 | |
d166f048 JA |
1244 | 4/7 |
1245 | --- | |
1246 | bashline.c | |
1247 | - fixed another problem with `pwd`/[TAB] thinking that the `/ | |
1248 | started an unclosed command substitution, generating errors | |
ccc6cda3 | 1249 | |
d166f048 | 1250 | 4/8 |
ccc6cda3 | 1251 | --- |
d166f048 JA |
1252 | general.c |
1253 | - renamed bash_tilde_expansion_failure_hook to be | |
1254 | bash_special_tilde_expansions, since that more accurately reflects | |
1255 | its function | |
1256 | - changed tilde_initialize so that there is no failure hook -- the | |
1257 | special expansions are handled first with the preexpansion hook | |
ccc6cda3 | 1258 | |
d166f048 JA |
1259 | lib/tilde/tilde.c |
1260 | - new variable: tilde_expansion_preexpansion_hook -- if non-null, it | |
1261 | points to a function that is called before standard tilde expansion | |
1262 | is attempted | |
ccc6cda3 | 1263 | |
d166f048 JA |
1264 | lib/tilde/tilde.h |
1265 | - extern declaration for tilde_expansion_preexpansion_hook | |
ccc6cda3 | 1266 | |
d166f048 JA |
1267 | doc/{bash.{1,html},bashref.texi} |
1268 | - added optional open paren to description of `case' command syntax | |
ccc6cda3 | 1269 | |
d166f048 | 1270 | 4/9 |
ccc6cda3 | 1271 | --- |
d166f048 JA |
1272 | variables.c |
1273 | - on qnx, set and export a variable `NODE' which contains the QNX | |
1274 | `node id' | |
ccc6cda3 | 1275 | |
d166f048 JA |
1276 | general.c |
1277 | - QNX system can now handle pathnames with a leading `//' | |
ccc6cda3 | 1278 | |
d166f048 JA |
1279 | configure.in |
1280 | - added `-Dqnx' to LOCAL_CFLAGS on QNX machines | |
ccc6cda3 | 1281 | |
d166f048 JA |
1282 | lib/malloc/getpagesize.h |
1283 | - some systems need sysconf(_SC_PAGE_SIZE) to obtain the page size; | |
1284 | added code to check for it | |
ccc6cda3 | 1285 | |
d166f048 | 1286 | 4/10 |
ccc6cda3 | 1287 | ---- |
d166f048 JA |
1288 | print_cmd.c |
1289 | - include the prototype for cprintf only if PREFER_STDARG is defined, | |
1290 | otherwise just have a K&R-style forward function declaration | |
ccc6cda3 | 1291 | |
d166f048 JA |
1292 | hashlib.h |
1293 | - reduced the default number of buckets in a hash table to 53 | |
ccc6cda3 | 1294 | |
d166f048 JA |
1295 | lib/tilde/tilde.c |
1296 | - prime the result string in tilde_expand by allocating a new string | |
1297 | that's as long as the input string (+16 if a tilde appears in | |
1298 | the string to be expanded). This should reduce the number of | |
1299 | reallocs | |
ccc6cda3 | 1300 | |
d166f048 JA |
1301 | subst.c |
1302 | - broke the code that reads the output of a command substitution | |
1303 | through the pipe to the subshell out into a separate function: | |
1304 | read_comsub(). This does not use stdio, but rather reads | |
1305 | directly from the pipe into a local 128-character buffer | |
ccc6cda3 | 1306 | |
d166f048 JA |
1307 | 4/11 |
1308 | ---- | |
1309 | execute_cmd.c | |
1310 | - some systems need both <sys/time.h> and <time.h>, so include both | |
1311 | if it's possible, otherwise include <sys/time.h> (if present) | |
ccc6cda3 | 1312 | |
d166f048 JA |
1313 | lib/readline/rl{tty,defs}.h |
1314 | - moved includes of <sys/stream.h>, <sys/ptem.h>, etc. to rltty.h | |
ccc6cda3 | 1315 | |
d166f048 JA |
1316 | lib/readline/terminal.c |
1317 | - include rltty.h after rldefs.h | |
ccc6cda3 JA |
1318 | |
1319 | variables.c | |
d166f048 JA |
1320 | - changes to make environment creation faster and use less memory |
1321 | (fewer malloc/free calls, too): | |
1322 | ||
1323 | o two new variables: export_env_index (how many environment | |
1324 | strings are in export_env) and export_env_size (the | |
1325 | number of slots for strings allocated in export_env) | |
1326 | o added new function add_to_export_env, since adding the | |
1327 | exported shell variables and shell functions does not | |
1328 | need to search the export_env for a definition to supersede | |
1329 | (we just cleared it out!) | |
1330 | o renamed add_or_supersede to add_or_supersede_exported_var, | |
1331 | since it always works on export_env, and changed the second | |
1332 | argument to a flag saying whether or not to allocate a new | |
1333 | copy of the string placed into the environment | |
1334 | o changed calls to add_or_supersede to the new | |
1335 | add_or_supersede_exported_var with the appropriate flags | |
1336 | o don't free and reallocate export_env in maybe_make_export_env, | |
1337 | just free the strings and start anew | |
1338 | o prime the size of export_env from the total number of shell | |
1339 | variables and shell functions -- this will always be enough | |
1340 | for the exported shell functions and variables, and big | |
1341 | enough most of the time for the entire environment | |
ccc6cda3 JA |
1342 | |
1343 | builtins/cd.def | |
d166f048 JA |
1344 | - efficiency hack in bindpwd(): if PWD is exported, we will have to |
1345 | rebuild the entire exported environment after every time we change | |
1346 | directories. What we do is see if array_needs_making changes value | |
1347 | from 0 to 1 after bind_variable ("PWD", dirname) is called, and | |
1348 | that PWD is exported. If that happens, we just replace the value | |
1349 | of PWD in the exported environment with a call to | |
1350 | add_or_supersede_exported_var | |
1351 | ||
1352 | bashline.c, parse.y | |
1353 | - check calls to pre_process_line to make a fresh copy of the line | |
1354 | if pre_process_line returns what it was passed, in preparation | |
1355 | for future changes | |
ccc6cda3 | 1356 | |
d166f048 JA |
1357 | bashhist.c |
1358 | - pre_process_line now returns its argument if it did not make | |
1359 | any changes to it | |
ccc6cda3 | 1360 | |
d166f048 JA |
1361 | alias.c |
1362 | - free the bucket entry holding the alias to be removed in | |
1363 | remove_alias, as well as the data | |
ccc6cda3 | 1364 | |
d166f048 JA |
1365 | 4/14 |
1366 | ---- | |
1367 | unwind_prot.c | |
1368 | - if an unwind-protect frame is being discarded, and its cleanup | |
1369 | function is `restore_variable', the `arg' member points to a | |
1370 | SAVED_VAR that must be freed. This change is made in | |
1371 | remove_unwind_protect_internal and unwind_frame_discard_internal | |
ccc6cda3 | 1372 | |
d166f048 JA |
1373 | parse.y |
1374 | - need to free memory allocated by parse_arith_cmd if it is an | |
1375 | arithmetic command, after using it to make a new word | |
ccc6cda3 | 1376 | |
d166f048 JA |
1377 | subst.c |
1378 | - fixed some memory leaks caused by not freeing the argument to | |
1379 | make_bare_word, which duplicates its string argument | |
1380 | - need to dispose list generated by list_rest_of_args in | |
1381 | paramter_list_remove_pattern | |
1382 | - make sure the return value from getpattern() is freed | |
1383 | - make sure array_value_internal always returns newly-allocated | |
1384 | memory | |
1385 | - get_var_and_type returns a new type: VT_ARRAYMEMBER if the | |
1386 | string passed is of the form var[index] | |
1387 | - make sure parameter_brace_substring frees the memory allocated | |
1388 | by get_var_and_type if verify_substring_values returns 0 | |
ccc6cda3 | 1389 | |
d166f048 JA |
1390 | hashlib.c, hashlib.h |
1391 | - new function, dispose_hash_table (table), which frees the | |
1392 | table's bucket array and the table itself | |
ccc6cda3 | 1393 | |
d166f048 JA |
1394 | alias.c |
1395 | - call dispose_hash_table from delete_all_aliases instead of just | |
1396 | freeing the table | |
ccc6cda3 | 1397 | |
d166f048 JA |
1398 | pathexp.c |
1399 | - make sure to free `newnames' (but *not* its contents) before | |
1400 | returning from ignore_globbed_names | |
ccc6cda3 | 1401 | |
d166f048 JA |
1402 | builtins/exec.def |
1403 | - make sure the argv created to pass to shell_execve is freed if | |
1404 | the execve fails and we're not exiting on failed execs | |
ccc6cda3 | 1405 | |
d166f048 JA |
1406 | expr.c |
1407 | - broke evalexp into two functions: evalexp, which sets up the | |
1408 | jmp_buf that errors jump to, and subexpr, which does the | |
1409 | evaluation and pushing and popping of contexts | |
1410 | - readtok now calls subexpr to evaluate subexpressions in | |
1411 | parentheses | |
1412 | - evalexp now takes an additional paramter, a pointer to an int. | |
1413 | If the expression contains errors, the location to which this | |
1414 | points gets 0, otherwise it gets 1 to show that the value | |
1415 | returned may be used. This plugs up memory leaks that were | |
1416 | the result of evalexp() longjmping back to top_level | |
1417 | - fixed a memory leak: expr_stack[0] was not being freed | |
ccc6cda3 | 1418 | |
d166f048 JA |
1419 | externs.h |
1420 | - changed extern declaration for evalexp | |
ccc6cda3 | 1421 | |
d166f048 JA |
1422 | variables.c, subst.c, builtins/let.def |
1423 | - changed calls to evalexp appropriately. They either cause a | |
1424 | longjmp (top_level, DISCARD) (which is what the old stuff in | |
1425 | expr.c did) or are handled by returning an appropriate error | |
1426 | value (e.g., &expand_word_error in subst.c) | |
ccc6cda3 | 1427 | |
d166f048 | 1428 | 4/16 |
ccc6cda3 | 1429 | ---- |
ccc6cda3 | 1430 | shell.c |
d166f048 JA |
1431 | - make sure to free dollar_vars[0] before assigning it the first |
1432 | argument following `-c command' | |
ccc6cda3 | 1433 | |
d166f048 JA |
1434 | variables.c |
1435 | - if unsetting a local variable with a previous context, make sure | |
1436 | to free the hash table element used to store the local variable | |
ccc6cda3 | 1437 | |
d166f048 JA |
1438 | lib/readline/terminal.c |
1439 | - rearrange the includes so <sys/ioctl.h> is included before rltty.h, | |
1440 | as it is in rltty.c | |
ccc6cda3 | 1441 | |
d166f048 | 1442 | 4/17 |
ccc6cda3 | 1443 | ---- |
d166f048 JA |
1444 | flags.c |
1445 | - new function: reset_shell_flags, which resets all of the flags | |
1446 | back to their initial values | |
ccc6cda3 | 1447 | |
d166f048 JA |
1448 | flags.h |
1449 | - extern declaration for reset_shell_flags | |
ccc6cda3 | 1450 | |
d166f048 JA |
1451 | builtins/set.def |
1452 | - new function: reset_shell_options, which resets all of the -o | |
1453 | options that are not also shell flags back to their initial values | |
ccc6cda3 | 1454 | |
d166f048 JA |
1455 | builtins/shopt.def |
1456 | - new function: reset_shopt_options, which resets all of the shopt | |
1457 | options that are not also shell flags or -o options back to their | |
1458 | initial values | |
ccc6cda3 | 1459 | |
d166f048 JA |
1460 | builtins/common.h |
1461 | - extern declarations for reset_shell_options and reset_shopt_options | |
ccc6cda3 | 1462 | |
d166f048 JA |
1463 | execute_cmd.c |
1464 | - broke the code that reinitializes things when an executable script | |
1465 | without a leading `#!' is found out into a new function: | |
1466 | initialize_subshell | |
1467 | - initialize_subshell now calls the reset_* functions that reset the | |
1468 | shell flags and options | |
ccc6cda3 | 1469 | |
d166f048 JA |
1470 | general.c, general.h |
1471 | - move_to_high_fd now takes a third argument: the highest fd at which | |
1472 | to start looking. If that's less than 20, the maximum number of | |
1473 | open files as returned by getdtablesize() is used (which is what | |
1474 | it did before this) | |
ccc6cda3 | 1475 | |
d166f048 JA |
1476 | jobs.c, shell.c, subst.c |
1477 | - changed calls to move_to_high_fd appropriately | |
ccc6cda3 | 1478 | |
d166f048 | 1479 | [bash-2.01-beta1 frozen] |
ccc6cda3 | 1480 | |
d166f048 | 1481 | 4/18 |
ccc6cda3 | 1482 | ---- |
d166f048 JA |
1483 | general.c |
1484 | - itos now uses a local char buffer to do its conversion, but still | |
1485 | returns newly-allocated memory | |
ccc6cda3 | 1486 | |
d166f048 | 1487 | 4/21 |
ccc6cda3 | 1488 | ---- |
d166f048 JA |
1489 | variables.c |
1490 | - be a little more careful when checking for backwards-compatibility | |
1491 | with exported function definitions | |
ccc6cda3 | 1492 | |
d166f048 | 1493 | 4/22 |
ccc6cda3 | 1494 | ---- |
d166f048 JA |
1495 | builtins/ulimit.def |
1496 | - translate RLIM_INFINITY to limit.rlim_max if the current limit is | |
1497 | less than or equal to the hard limit, not just strictly less than | |
1498 | (the change of 3/28 was too drastic) | |
ccc6cda3 | 1499 | |
d166f048 | 1500 | 4/23 |
ccc6cda3 | 1501 | ---- |
d166f048 JA |
1502 | oslib.c |
1503 | - fixed definition of to_lower on machines without strcasecmp | |
ccc6cda3 JA |
1504 | |
1505 | trap.c | |
d166f048 JA |
1506 | - don't free the trap command in change_signal if the SIG_INPROGRESS |
1507 | is set in the signal's flags -- it will cause memory to be freed | |
1508 | twice if a trap command resets the signal handler more than once, | |
1509 | and _run_trap_internal keeps a pointer to the trap command so it | |
1510 | can free it, so there will be no leaks | |
ccc6cda3 | 1511 | |
d166f048 | 1512 | 4/24 |
ccc6cda3 | 1513 | ---- |
d166f048 JA |
1514 | aclocal.m4,configure.in |
1515 | - removed BASH_CC_WORKS, since AC_PROG_CC now has the functionality | |
ccc6cda3 | 1516 | |
d166f048 JA |
1517 | shell.c, externs.h |
1518 | - get_current_user_info is now a void function | |
ccc6cda3 | 1519 | |
d166f048 JA |
1520 | bashline.c |
1521 | - alias_expand_line_internal was removed | |
1522 | - new function, alias_expand_line, performs alias expansion on | |
1523 | rl_line_buffer and either replaces rl_line_buffer or signals | |
1524 | an error | |
1525 | - new bindable commands: alias-expand-line and | |
1526 | history-and-alias-expand-line, available if ALIAS is defined | |
ccc6cda3 | 1527 | |
d166f048 | 1528 | 4/25 |
ccc6cda3 | 1529 | ---- |
d166f048 JA |
1530 | Makefile.in, lib/malloc/malloc.c |
1531 | - changed the define that turns on malloc range checking from | |
1532 | `rcheck' to `RCHECK' | |
ccc6cda3 | 1533 | |
d166f048 JA |
1534 | lib/readline/isearch.c |
1535 | - fixed a couple of places where rl_search_history would try to | |
1536 | free a NULL pointer | |
ccc6cda3 | 1537 | |
d166f048 | 1538 | 4/29 |
ccc6cda3 | 1539 | ---- |
d166f048 JA |
1540 | unwind_prot.c |
1541 | - fixed a problem with saving a variable that is a null pointer | |
1542 | in unwind_protect_var. It happens only on machines where the | |
1543 | size of a pointer is not the size of an int. The old FASTCOPY | |
1544 | code would copy the eight bytes at memory location zero, which | |
1545 | did not necessarily make a null pointer | |
ccc6cda3 | 1546 | |
d166f048 JA |
1547 | 4/30 |
1548 | ---- | |
ccc6cda3 | 1549 | shell.c |
d166f048 JA |
1550 | - run_startup_files should turn off job control, since the startup |
1551 | files should be run without job control enabled -- this makes | |
1552 | SIGINT interrupt startup file execution again | |
1553 | - if we get a SIGINT or other longjmp to top_level while executing | |
1554 | the startup files, re-enable job control for interactive shells | |
1555 | before setting locally_skip_execution | |
ccc6cda3 | 1556 | |
d166f048 JA |
1557 | 5/2 |
1558 | --- | |
1559 | lib/readline/nls.c | |
1560 | - if we have setlocale(3), don't bother with checking the | |
1561 | environment variables for valid values; just use setlocale() | |
1562 | to set the locale categories from the environment variables | |
1563 | directly and go into eight-bit mode if the current locale is | |
1564 | not C or POSIX | |
ccc6cda3 | 1565 | |
d166f048 JA |
1566 | 5/5 |
1567 | --- | |
1568 | sig.c | |
1569 | - make sure that the handler for SIGPROF is not changed if it has | |
1570 | been set to something other than SIG_IGN or SIG_DFL -- this makes | |
1571 | profiling work after the terminating signals have been initialized | |
ccc6cda3 | 1572 | |
ccc6cda3 | 1573 | bashline.c |
d166f048 JA |
1574 | - if a filename containing `!' is completed, and the user has started |
1575 | the string with a `"', change the completion style to backslash- | |
1576 | quoting, since there's no way to use `!' with double quotes (this | |
1577 | requires more changes to readline to really work right) | |
ccc6cda3 | 1578 | |
d166f048 JA |
1579 | 5/6 |
1580 | --- | |
1581 | lib/readline/complete.c | |
1582 | - changes to make_quoted_replacement, insert_all_matches, and | |
1583 | insert_match and their callers to allow the application-specific | |
1584 | filename quoting function to change the quote character (e.g., for | |
1585 | bash to change a filename containing a `!' and started with a | |
1586 | double quote by the user into a filename with the `!' quoted by | |
1587 | a backslas and no double quote) | |
ccc6cda3 | 1588 | |
d166f048 JA |
1589 | 5/8 |
1590 | --- | |
1591 | jobs.c | |
1592 | - new function: nohup_all_jobs(), calls nohup_job for each entry in | |
1593 | the jobs list | |
1594 | - delete_all_jobs is now global | |
ccc6cda3 | 1595 | |
d166f048 JA |
1596 | jobs.h |
1597 | - new extern declarations for delete_all_jobs() and nohup_all_jobs() | |
ccc6cda3 | 1598 | |
d166f048 JA |
1599 | builtins/jobs.def |
1600 | - `disown' without any jobspec arguments means the current job. Fix | |
1601 | a core dump printing the error message when there is no current job | |
ccc6cda3 | 1602 | |
d166f048 | 1603 | 5/12 |
ccc6cda3 | 1604 | ---- |
d166f048 JA |
1605 | subst.c |
1606 | - process an expansion like $((foo); bar) as a command substitution, | |
1607 | not as an arithmetic expansion. An arithmetic expansion must have | |
1608 | a closing `))' | |
ccc6cda3 | 1609 | |
d166f048 | 1610 | 5/14 |
ccc6cda3 | 1611 | ---- |
d166f048 JA |
1612 | builtins/evalstring.c |
1613 | - the third argument to parse_and_execute() is now a flags word. | |
1614 | The caller can control the value of `interactive' and whether | |
1615 | or not history is disabled while parse_and_execute() runs | |
ccc6cda3 | 1616 | |
d166f048 JA |
1617 | builtins/common.h |
1618 | - new #defines for the flag values for parse_and_execute() | |
ccc6cda3 | 1619 | |
d166f048 JA |
1620 | {bashline,jobs,shell,subst,trap,variables}.c, parse.y, builtins/evalfile.c, |
1621 | builtins/{eval,fc}.def | |
1622 | - changed calls to parse_and_execute appropriately | |
ccc6cda3 | 1623 | |
d166f048 JA |
1624 | builtins/evalfile.c |
1625 | - if _evalfile() is passed FEVAL_HISTORY as part of the flags arg, | |
1626 | don't pass SEVAL_NOHIST to parse_and_execute | |
1627 | - new function: fc_execute_file, which sets FEVAL_HISTORY in the | |
1628 | flags argument to _evalfile() | |
ccc6cda3 JA |
1629 | |
1630 | bashline.c | |
d166f048 JA |
1631 | - call bash_add_history instead of add_history from |
1632 | vi_edit_and_execute_command so the bash state variables get | |
1633 | updated properly. This keeps the `v' command from operating | |
1634 | on an empty command when the history list is stifled | |
ccc6cda3 JA |
1635 | |
1636 | bashhist.c | |
d166f048 | 1637 | - bash_add_history is now global |
ccc6cda3 | 1638 | |
d166f048 JA |
1639 | bashhist.h |
1640 | - extern declaration for bash_add_history | |
ccc6cda3 | 1641 | |
d166f048 JA |
1642 | builtins/fc.def |
1643 | - call fc_execute_file instead of maybe_execute_file in the | |
1644 | edit-and-re-execute case (fc -e ...) | |
1645 | - don't manually insert the commands from the file created by `fc -e' | |
1646 | into the history list, just set remember_on_history and let | |
1647 | fc_execute_file take care of telling parse_and_execute to do the | |
1648 | right thing. This makes compound commands and the `cmdhist' | |
1649 | and `lithist' settings work better. This supersedes the fix of | |
1650 | 1/27. This was reported again by rchen@fractal.eng.yale.edu. | |
ccc6cda3 | 1651 | |
ccc6cda3 | 1652 | parse.y |
d166f048 JA |
1653 | - the body of a `for' command (the commands between do...done or |
1654 | {...}) should be a `compound_list' instead of a `list'. Problem | |
1655 | reported by cpg@research.bell-labs.com | |
ccc6cda3 | 1656 | |
d166f048 JA |
1657 | 5/19 |
1658 | ---- | |
ccc6cda3 | 1659 | lib/readline/complete.c |
d166f048 JA |
1660 | - in filename_completion_function, if we find that the directory |
1661 | pointer (return value from opendir(3)), is not null when state | |
1662 | is 0 (indicating that this is the first time the completion | |
1663 | function has been called for the current completion), call | |
1664 | closedir on it, assuming that it was left open by a previous | |
1665 | (interrupted) completion | |
ccc6cda3 | 1666 | |
d166f048 | 1667 | [bash-2.01-beta2 frozen] |
ccc6cda3 | 1668 | |
d166f048 JA |
1669 | 5/27 |
1670 | ---- | |
1671 | Makefile.in | |
1672 | - make sure that `make distclean' (and other clean targets) remove | |
1673 | the `printenv' executable | |
ccc6cda3 | 1674 | |
d166f048 JA |
1675 | tests/execscript, tests/redir.tests |
1676 | - make sure to set LANG=C and LC_ALL=C so the messages show up in | |
1677 | English | |
ccc6cda3 | 1678 | |
d166f048 JA |
1679 | tests/run-func |
1680 | - add a warning about exported functions in the environment | |
ccc6cda3 | 1681 | |
d166f048 JA |
1682 | 5/29 |
1683 | ---- | |
ccc6cda3 | 1684 | builtins/hash.def |
d166f048 JA |
1685 | - if one of the arguments passed to `hash' is an absolute pathname, |
1686 | just continue the loop, don't do list=list->next first. This | |
1687 | fixes the `hash a/b' -> core dump bug | |
ccc6cda3 | 1688 | |
d166f048 JA |
1689 | 5/30 |
1690 | ---- | |
1691 | general.c | |
1692 | - change canonicalize_pathname to leave a leading `/' alone, as | |
1693 | POSIX requires | |
ccc6cda3 | 1694 | |
d166f048 JA |
1695 | 6/2 |
1696 | --- | |
1697 | support/xenix-link.sh | |
1698 | - shell script for linking bash under Xenix | |
ccc6cda3 | 1699 | |
d166f048 JA |
1700 | 6/3 |
1701 | --- | |
ccc6cda3 | 1702 | bashline.c |
d166f048 JA |
1703 | - fixed a memory leak in command_word_completion_function, courtesy |
1704 | of a.pfaller@pop.gun.de | |
ccc6cda3 | 1705 | |
d166f048 JA |
1706 | hashcmd.c |
1707 | - fixed find_hashed_filename to always return a newly-allocated | |
1708 | string | |
ccc6cda3 | 1709 | |
ccc6cda3 | 1710 | execute_cmd.c |
d166f048 JA |
1711 | - since find_hashed_filename returns newly-allocated memory, don't |
1712 | call savestring() on it, and free it if the data is stale (in | |
1713 | search_for_command()). Another memory leak fixed courtesy of | |
1714 | a.pfaller@pop.gun.de | |
ccc6cda3 | 1715 | |
d166f048 JA |
1716 | builtins/type.def |
1717 | - free the value returned by find_hashed_filename | |
ccc6cda3 | 1718 | |
d166f048 | 1719 | [bash-2.01-release frozen] |
cce855bc JA |
1720 | |
1721 | 6/6 | |
1722 | --- | |
1723 | configure.in | |
1724 | - force shlicc2 and libc malloc for BSD/OS 3.0 | |
1725 | ||
1726 | 6/9 | |
1727 | --- | |
1728 | doc/Makefile.in | |
1729 | - don't create ${man3dir}, since we're not installing the readline | |
1730 | manual page | |
1731 | ||
1732 | lib/readline/readline.h | |
1733 | - rl_dispatching should be declared `extern' | |
1734 | [in bash-2.01.1] | |
1735 | ||
1736 | 6/10 | |
1737 | ---- | |
1738 | lib/malloc/Makefile.in | |
1739 | - make sure ${ALLOCA_SOURCE} is preceded by ${srcdir} so that things | |
1740 | work when building in a directory other than the source directory | |
1741 | [in bash-2.01.1] | |
1742 | ||
1743 | 6/30 | |
1744 | ---- | |
1745 | lib/readline/examples/rltest.c | |
1746 | - don't free the value returned by history_list() | |
1747 | ||
1748 | lib/readline/histfile.c | |
1749 | - open the history file for writing with mode 0600 for better | |
1750 | security | |
1751 | [in bash-2.01.1] | |
1752 | ||
1753 | execute_cmd.c | |
1754 | - select_query now uses legal_number to decide whether the user's | |
1755 | selection is a valid number, and just executes the loop again if | |
1756 | invalid input is entered | |
1757 | [in bash-2.01.1] | |
1758 | ||
1759 | 7/1 | |
1760 | --- | |
1761 | builtins/evalstring.c | |
1762 | - fix to parse_and_execute so `bash -c 'time [-p] zzz'' works right | |
1763 | [in bash-2.01.1] | |
1764 | ||
1765 | execute_cmd.c | |
1766 | - fix to execute_command_internal so that `bash -c time [-p] (zzz)'' | |
1767 | works right | |
1768 | [in bash-2.01.1] | |
1769 | - print_formatted_time should pass a long as the fourth parameter | |
1770 | to mkfmt | |
1771 | [in bash-2.01.1] | |
1772 | ||
1773 | externs.h, shell.c | |
1774 | - `exit_shell' is now a void function | |
1775 | ||
1776 | hashlib.c | |
1777 | - print_table_stats is now a void function | |
1778 | ||
1779 | mailcheck.c | |
1780 | - made add_mail_file check for the filename in the mail file list | |
1781 | using the expanded filename, since that is what it puts into | |
1782 | the list | |
1783 | [in bash-2.01.1] | |
1784 | ||
1785 | variables.c | |
1786 | - for the time being, PWD will be auto-exported, since some systems | |
1787 | seem to expect it | |
1788 | ||
1789 | doc/bashref.texi, lib/readline/doc/{hist,rlman}.texinfo | |
1790 | - added necessary `dircategory' and `direntry' commands to make | |
1791 | `install-info' work correctly | |
1792 | ||
1793 | Makefile.in | |
1794 | - move $(LDFLAGS) after $(BUILTINS_LDFLAGS) and $(LIBRARY_LDFLAGS) on | |
1795 | the line that links bash | |
1796 | ||
1797 | doc/texinfo.tex | |
1798 | - upgraded to version 2.185 from the texinfo-3.9 distribution | |
1799 | ||
1800 | lib/tilde/tilde.c | |
1801 | - fixed a bug in tilde_expand so that enough space is allocated for | |
1802 | the string and terminating null byte if a `~' does not appear. | |
1803 | This was masked before by the bash malloc() | |
1804 | [in bash-2.01.1] | |
1805 | ||
1806 | 7/3 | |
1807 | --- | |
1808 | aclocal.m4 | |
1809 | - new test, BASH_TYPE_INT32_T, to check which builtin C type is | |
1810 | 32 bits wide | |
1811 | - new test, BASH_TYPE_PTRDIFF_T, to check which builtin C type is | |
1812 | appropriate for pointer arithmetic | |
1813 | ||
1814 | configure.in | |
1815 | - check sizes of int and long, and for the existence of an int32_t | |
1816 | basic system type. Call BASH_TYPE_INT32_T if int32_t is not | |
1817 | defined anywhere in the system header files | |
1818 | - check size of (char *), and for the existence of a ptrdiff_t | |
1819 | basic system type. Call BASH_TYPE_PTRDIFF_T if ptrdiff_t is not | |
1820 | defined anywhere in the system header files | |
1821 | - added a check for <stddef.h> | |
1822 | ||
1823 | config.h.in | |
1824 | - add lines for SIZEOF_INT, SIZEOF_LONG, SIZEOF_CHAR_P, int32_t, | |
1825 | u_int32_t, and ptrdiff_t | |
1826 | - added line for HAVE_STDDEF_H | |
1827 | ||
1828 | lib/malloc/malloc.c | |
1829 | - new version, with many changes and much better memory usage; old | |
1830 | (bash-2.01) version is lib/malloc/omalloc.c | |
1831 | ||
1832 | lib/malloc/gmalloc.c | |
1833 | - new version, with a number of changes and range checking included | |
1834 | by default; old (bash-2.01) version is lib/malloc/ogmalloc.c | |
1835 | ||
1836 | execute_cmd.c | |
1837 | - applied patch from 5/27 to make execute_simple_command fork early | |
1838 | if it's part of a pipeline. This keeps assignment statements or | |
1839 | other commands that don't require a builtin, function, or disk | |
1840 | command to be executed from modifying the shell's environment | |
1841 | ||
1842 | tests/exec?.sub | |
1843 | - renamed from tests/execscript.sub? because those filenames are | |
1844 | too long for System V 14-char filename systems | |
1845 | ||
1846 | tests/source?.sub | |
1847 | - renamed from tests/source.sub? because those filenames are bad | |
1848 | for DOS/Windows | |
1849 | ||
1850 | tests/getopts?.sub | |
1851 | - renamed from tests/getopts.sub? because those filenames are bad | |
1852 | for DOS/Windows | |
1853 | ||
1854 | tests/histexp.{tests,right} | |
1855 | - renamed from histexpand.{tests,right} because those filenames are | |
1856 | too long for System V 14-char filename systems | |
1857 | ||
1858 | tests/trap1.sub | |
1859 | - renamed from trap.sub1 because that filename was bad for DOS/Windows | |
1860 | ||
1861 | tests/ifs-[123].right | |
1862 | - renamed from ifs.[123].right because those filenames were bad for | |
1863 | DOS/Windows | |
1864 | ||
1865 | tests/ifs-[123].test | |
1866 | - renamed from ifs-test-[123].sh because those filenames were bad | |
1867 | for DOS/Windows | |
1868 | ||
1869 | examples/startup-files/Bashrc.bfox | |
1870 | - renamed from examples/startup-files/Bashrc because that filename | |
1871 | conflicts with examples/startup-files/bashrc on case-insensitive | |
1872 | file systems | |
1873 | ||
1874 | tests/exec.right | |
1875 | - renamed from execscript.right because that filename is too long | |
1876 | for System V 14-char filename systems | |
1877 | ||
1878 | tests/run-set-e | |
1879 | - renamed from run-set-e-test | |
1880 | ||
1881 | tests/misc/perftest | |
1882 | - renamed from tests/misc/haertel.perftest because that filename is | |
1883 | too long for System V 14-char filename systems | |
1884 | ||
1885 | lib/glob/fnmatch.c | |
1886 | - new version with full POSIX.2 BRE matching (character classes, | |
1887 | collating symbols, equivalence classes), full support for | |
1888 | strcoll(3), and case-insensitive pattern matching | |
1889 | ||
1890 | lib/glob/fnmatch.h | |
1891 | - new version, with necessary symbols for the new fnmatch.c | |
1892 | ||
1893 | tests/posixpat.{tests,right}, tests/run-posixpat | |
1894 | - test suite for the POSIX.2 BRE pattern matching code | |
1895 | ||
1896 | variables.c | |
1897 | - make sure that array assignment using the compound syntax empties | |
1898 | the array before doing the assignment | |
1899 | [in bash-2.01.1] | |
1900 | ||
1901 | trap.c | |
1902 | - new function, trap_to_sighandler(sig), which returns the correct | |
1903 | trap handler for SIG depending on the information in sigmodes[sig] | |
1904 | [in bash-2.01.1] | |
1905 | ||
1906 | sig.h | |
1907 | - extern declarations for trap_handler and trap_to_sighandler | |
1908 | [in bash-2.01.1] | |
1909 | ||
1910 | jobs.c | |
1911 | - if we get an interrupt while waiting for a command to complete, | |
1912 | and there was a trap set on SIGINT that resets the handler to | |
1913 | SIG_DFL, the value that waitchld uses for old_trap_handler will | |
1914 | be wrong (it will be trap_handler, but trap_handler no longer | |
1915 | knows anything about SIGINT). If old_signal_handler is trap_handler, | |
1916 | but signal_is_trapped(SIGINT) returns 0, we need to call | |
1917 | trap_to_sighandler to decide what to do | |
1918 | [in bash-2.01.1] | |
1919 | ||
1920 | 7/7 | |
1921 | --- | |
1922 | locale.c | |
1923 | - fix to set_locale_var to handle an assignment to LC_ALL (e.g., as | |
1924 | the result of `unset LANG') when default_locale is null | |
1925 | [in bash-2.01.1] | |
1926 | ||
1927 | 7/8 | |
1928 | --- | |
1929 | builtins/umask.def, doc/{bash.{1,html},bashref.texi} | |
1930 | - added `-p' option for umask to print output in a reusable form | |
1931 | ||
1932 | 7/9 | |
1933 | --- | |
1934 | doc/{bash.{1,html},bashref.texi} | |
1935 | - removed descriptions of `-type', `-path', and `-all' options to | |
1936 | the `type' builtin in preparation for removing them in the next | |
1937 | release | |
1938 | ||
1939 | builtins/type.def | |
1940 | - removed mention of `-type', `-path', and `-all' options from the | |
1941 | long help description | |
1942 | ||
1943 | error.c, error.h | |
1944 | - new function: internal_warning, for warning messages | |
1945 | ||
1946 | variables.c | |
1947 | - changed a call to internal_error to use internal_warning | |
1948 | - modified change of 7/3 so that arrays are not emptied until | |
1949 | just before the shell is about to assign the new values, so | |
1950 | the old value can be used to generate the rhs of the assignment, | |
1951 | if necessary. This is how `normal' shell variables work | |
1952 | [in bash-2.01.1] | |
1953 | ||
1954 | jobs.c, jobs.h | |
1955 | - delete_job now takes a second int argument and prints a warning | |
1956 | message when deleting a stopped job if the second argument is | |
1957 | non-zero | |
1958 | ||
1959 | jobs.c, builtins/jobs.def | |
1960 | - changed all calls to delete_job to provide a proper second arg | |
1961 | ||
1962 | lib/readline/bind.c | |
1963 | - broke rl_read_init_file into an `upper' and `lower' half in | |
1964 | preparation for adding file inclusion capability to inputrc | |
1965 | parsing | |
1966 | - handle_parser_directive now displays an error message if an | |
1967 | unknown directive is encountered | |
1968 | - parser_endif now prints an error message if an $endif without | |
1969 | a matching $if is found | |
1970 | - added `$include' parser directive to read bindings and commands | |
1971 | from another file at that point | |
1972 | ||
1973 | lib/readline/doc/rluser.texinfo, doc/{bash.{1,html},readline.3} | |
1974 | - documented new readline `$include' parser directive | |
1975 | ||
1976 | shell.c, parse.y | |
1977 | - added a new invocation option, --dump-po-strings, and code to | |
1978 | make it dump translatable strings ($"...") in GNU gettext | |
1979 | `po' format | |
1980 | ||
1981 | doc/{bash.{1,html},bashref.texi} | |
1982 | - documented new `--dump-po-strings' invocation option | |
1983 | ||
1984 | lib/readline/{{kill,funmap}.c,readline.h} | |
1985 | - added `rl_paste_from_clipboard()', bound to `paste-from-clipboard' | |
1986 | for CYGWIN32 users | |
1987 | ||
1988 | lib/readline/kill.c | |
1989 | - incorporated bfox's patches for `iterative' yank-last-arg handling. | |
1990 | This means that one can keep pressing M-. and move backwards in | |
1991 | the history, yanking the last argument of successive history lines | |
1992 | ||
1993 | lib/readline/rlwinsize.h | |
1994 | - new file, encapsulates various locations of the definition for | |
1995 | `struct winsize' | |
1996 | ||
1997 | aclocal.m4 | |
1998 | - augmented BASH_STRUCT_WINSIZE to look in termios.h as well as | |
1999 | sys/ioctl.h for definition of `struct winsize' | |
2000 | ||
2001 | lib/readline/rltty.h | |
2002 | - include "rlwinsize.h" after including tty-driver-specific header | |
2003 | file | |
2004 | ||
2005 | 7/10 | |
2006 | ---- | |
2007 | support/config.guess | |
2008 | - add better support for SunOS on M68K (old Sun3 machines) | |
2009 | ||
2010 | parse.y | |
2011 | - check for compound array assignment in read_token_word only if | |
2012 | there are characters before the `=' (which would make it a legal | |
2013 | assignment statement). This fixes the problem with defining a | |
2014 | function named `=' with `=() { echo foo; }' | |
2015 | [in bash-2.01.1] | |
2016 | ||
2017 | jobs.c, jobs.h | |
2018 | - nohup_all_jobs and delete_all_jobs now take a parameter which | |
2019 | says whether or not to restrict their operation to only running | |
2020 | jobs | |
2021 | ||
2022 | jobs.c | |
2023 | - changed all calls to delete_all_jobs | |
2024 | ||
2025 | builtins/jobs.def | |
2026 | - added `-a' (all jobs) and `-r' (running jobs only) options to | |
2027 | `disown' | |
2028 | ||
2029 | doc/{bash.{1,html},bashref.texi} | |
2030 | - documented new `-a' and `-r' options to `disown' | |
2031 | ||
2032 | findcmd.c, findcmd.h | |
2033 | - new files with command searching code from execute_cmd.c and | |
2034 | function declarations from execute_cmd.h | |
2035 | ||
2036 | Makefile.in, builtins/Makefile.in | |
2037 | - updated dependencies to account for new findcmd.[ch] | |
2038 | - updated dependencies to account for new redir.[ch] | |
2039 | ||
2040 | redir.c, redir.h | |
2041 | - new files with code that sets up lists and performs redirections | |
2042 | from execute_cmd.c and execute_cmd.h | |
2043 | ||
2044 | execute_cmd.c | |
2045 | - include new findcmd.h, redir.h | |
2046 | ||
2047 | 7/11 | |
2048 | ---- | |
2049 | Makefile.in, configure.in | |
2050 | - PROFILE_FLAGS is now substituted into the Makefile by configure | |
2051 | ||
2052 | 7/14 | |
2053 | ---- | |
2054 | print_cmd.c | |
2055 | - make sure single_quote is called from xtrace_print_word_list | |
2056 | to correctly quote each word of trace output, especially those | |
2057 | with embedded quotes | |
2058 | [in bash-2.01.1] | |
2059 | ||
2060 | aclocal.m4 | |
2061 | - extended BASH_CHECK_GETPW_FUNCS so that it checks that getpwuid | |
2062 | and getpwnam can also be declared, as well as getpwent | |
2063 | [in bash-2.01.1] | |
2064 | - in BASH_FUNC_PRINTF, cast printf to type `_bashfunc' before trying | |
2065 | to assign it to `pf' to avoid any prototype problems in the | |
2066 | declaration | |
2067 | [in bash-2.01.1] | |
2068 | ||
2069 | trap.c | |
2070 | - include <unistd.h> before any of the bash-specific header files, | |
2071 | but after config.h | |
2072 | [in bash-2.01.1] | |
2073 | ||
2074 | test.c | |
2075 | - include <errno.h> and declare `extern int errno' before including | |
2076 | any of the bash-specific include files, but after <unistd.h> | |
2077 | [in bash-2.01.1] | |
2078 | ||
2079 | builtins/Makefile.in | |
2080 | - PROFILE_FLAGS is now substituted into the Makefile by configure | |
2081 | ||
2082 | configure.in | |
2083 | - new options, --enable-profiling and --enable-static-link, to turn | |
2084 | on profiling with gprof and link bash statically (if using gcc) | |
2085 | for use as a root shell. The former implies the latter. If | |
2086 | we're linking statically, dynamic loading of new builtins is not | |
2087 | available | |
2088 | ||
2089 | doc/bashref.texi | |
2090 | - documented new --enable-profiling and --enable-static-link | |
2091 | options in installation section; regenerated INSTALL | |
2092 | ||
2093 | lib/glob/glob.[ch] | |
2094 | - new global variable, glob_ignore_case, turns on case-insensitive | |
2095 | filename matching in fnmatch() using the FNM_CASEFOLD flag | |
2096 | ||
2097 | doc/{bash.{1,html},bashref.texi} | |
2098 | - documented new shopt `nocaseglob' option | |
2099 | ||
2100 | 7/15 | |
2101 | ---- | |
2102 | bashline.c | |
2103 | - when glob_complete_word is called with state == 0, make sure we | |
2104 | set rl_filename_completion_desired so that proper quoting of | |
2105 | the resultant filenames is performed | |
2106 | [in bash-2.01.1] | |
2107 | ||
2108 | 7/16 | |
2109 | ---- | |
2110 | externs.h, oslib.c | |
2111 | - strcasecmp and strncasecmp replacements should have `const char *' | |
2112 | as the first two arguments, to match OS definitions | |
2113 | [in bash-2.01.1] | |
2114 | ||
2115 | 7/17 | |
2116 | ---- | |
2117 | (many files) | |
2118 | - changes for minix-2.0, mostly just adding #ifndef _MINIX around | |
2119 | include files that minix doesn't provide, like <sys/param.h> and | |
2120 | <sys/file.h> | |
2121 | ||
2122 | lib/readline/terminal.c | |
2123 | - removed `outchar' function; use _rl_output_character_function in | |
2124 | its place | |
2125 | ||
2126 | support/config.guess | |
2127 | - changes to recognize HP_ARCH of `hppa2.0' | |
2128 | ||
2129 | test.c | |
2130 | - new `-N' option: `test -N file' returns true if FILE exists and | |
2131 | has been modified since it was last accessed | |
2132 | ||
2133 | doc/{bash.{1,html},bashref.texi} | |
2134 | - documented new `test -N' option | |
2135 | ||
2136 | 7/22 | |
2137 | ---- | |
2138 | aclocal.m4 | |
2139 | - prefer /var/spool/mail to /usr/spool/mail in BASH_DEFAULT_MAIL_DIR | |
2140 | [in bash-2.01.1] | |
2141 | ||
2142 | lib/readline/{complete,bind}.c | |
2143 | - new readline variable, print-completions-horizontally, which causes | |
2144 | matches to be printed across the screen (like `ls -x') rather than | |
2145 | up-and-down (like `ls') | |
2146 | - new readline variable, completion-ignore-case, which causes filename | |
2147 | completion and matching to be performed case-insensitively | |
2148 | ||
2149 | doc/{bash.{1,html},readline.3}, lib/readline/doc/rluser.texinfo | |
2150 | - documented new print-completions-horizontally variable | |
2151 | - documented new completion-ignore-case variable | |
2152 | ||
2153 | _distribution, Makefile.in | |
2154 | - bumped the version number up to 2.02-alpha1 | |
2155 | ||
2156 | bracecomp.c | |
2157 | - fixes so that the braces are not quoted by the filename quoting | |
2158 | function when complete-into-braces is executed with M-{. The | |
2159 | brace completion functions do filename quoting themselves | |
2160 | [in bash-2.01.1] | |
2161 | ||
2162 | pathexp.c | |
2163 | - changed quote_string_for_globbing so that it takes a flags word | |
2164 | as its second argument | |
2165 | ||
2166 | pathexp.h | |
2167 | - defines for flags passed to quote_string_for_globbing | |
2168 | ||
2169 | subst.c,execute_cmd.c | |
2170 | - changed calls to quote_string_for_globbing to pass the correct | |
2171 | flag arguments | |
2172 | ||
2173 | expr.c | |
2174 | - added a `**' binary operator to do exponentiation (2**16 == 65536). | |
2175 | precedence is lower than arithmetic operators, higher than unary | |
2176 | operators (2**16-1 == 65535) | |
2177 | ||
2178 | doc/{bash.{1,html},bashref.texi} | |
2179 | - documented new `**' arithmetic binary operator | |
2180 | ||
2181 | 7/24 | |
2182 | ---- | |
2183 | shell.c | |
2184 | - added new (currently undocumented) `--wordexp' option to do the | |
2185 | job required by POSIX.2 wordexp(). If -n is supplied along with | |
2186 | --wordexp, command substitution is disallowed and the shell | |
2187 | exits with a status of 125 if one is attempted. If there is an | |
2188 | expansion error, the shell exits with a status of 127. If there | |
2189 | is a shell parsing error, the shell exits with a status of 126. | |
2190 | Otherwise, the exit status is 0. The current output is | |
2191 | ||
2192 | number of words\n | |
2193 | number of bytes\n | |
2194 | expanded words, one per line, separated by newlines | |
2195 | ||
2196 | This will have to be changed when an interface to glibc is coded | |
2197 | ||
2198 | 7/28 | |
2199 | ---- | |
2200 | hashcmd.h | |
2201 | - reduced the default size of the filename hash table from 631 | |
2202 | to 107 | |
2203 | ||
2204 | sig.c | |
2205 | - don't call initialize_siglist if HAVE_UNDER_SYS_SIGLIST is defined | |
2206 | [in bash-2.01.1] | |
2207 | ||
2208 | siglist.c | |
2209 | - don't compile this file if HAVE_UNDER_SYS_SIGLIST is defined | |
2210 | [in bash-2.01.1] | |
2211 | ||
2212 | variables.c | |
2213 | - fix to make $RANDOM work better in subshells | |
2214 | [in bash-2.01.1] | |
2215 | ||
2216 | aclocal.m4 | |
2217 | - new macro, BASH_DECL_UNDER_SYS_SIGLIST, looks for _sys_siglist in | |
2218 | <signal.h> and <unistd.h>, defines UNDER_SYS_SIGLIST_DECLARED if | |
2219 | found | |
2220 | [in bash-2.01.1] | |
2221 | - change BASH_UNDER_SYS_SIGLIST to require BASH_DECL_UNDER_SYS_SIGLIST, | |
2222 | like BASH_SYS_SIGLIST requires AC_DECL_SYS_SIGLIST | |
2223 | [in bash-2.01.1] | |
2224 | ||
2225 | config.h.in | |
2226 | - add a line for UNDER_SYS_SIGLIST_DECLARED | |
2227 | [in bash-2.01.1] | |
2228 | ||
2229 | configure.in | |
2230 | - make sure that SVR4_2 is defined for machines that have $host_os | |
2231 | sysv4.2* (e.g., sysv4.2MP) as well as $host == sysv4.2 | |
2232 | [in bash-2.01.1] | |
2233 | ||
2234 | 7/29 | |
2235 | ---- | |
2236 | command.h | |
2237 | - new command type, ARITH_COM, used to create and execute a ((...)) | |
2238 | command without translating it into let "..." | |
2239 | ||
2240 | parse.y | |
2241 | - changes to the grammar and lexer so that ((...)) is parsed as a | |
2242 | command of type ARITH_CMD. An ARITH_CMD is a WORD_LIST, for | |
2243 | future expansion, even though only the first word is used | |
2244 | ||
2245 | make_cmd.c, make_cmd.h | |
2246 | - definition and declaration of a function to build an arithmetic | |
2247 | command | |
2248 | ||
2249 | dispose_cmd.c | |
2250 | - added code to dispose of arithmetic commands | |
2251 | ||
2252 | print_cmd.c | |
2253 | - added code to print arithmetic commands, both `regularly' and | |
2254 | when they're being traced with `set -x' | |
2255 | ||
2256 | externs.h | |
2257 | - extern declaration for xtrace_print_arith_cmd | |
2258 | ||
2259 | copy_cmd.c | |
2260 | - added code to copy arithmetic commands | |
2261 | ||
2262 | execute_cmd.c | |
2263 | - added code to directly execute arithmetic commands -- they are | |
2264 | a shell_control_structure, so just about everything like | |
2265 | redirections and piping is taken care of by the boilerplate code. | |
2266 | All that's needed is to expand the expression (which is within | |
2267 | double quotes -- added by parse.y:parse_arith_cmd()), print it | |
2268 | if tracing is enabled, call the expression evaluator, and return | |
2269 | an appropriate result | |
2270 | ||
2271 | 7/30 | |
2272 | ---- | |
2273 | input.c | |
2274 | - new function, set_buffered_stream(fd, bp), sets the buffered stream | |
2275 | associated with FD to BP and returns the old buffered stream | |
2276 | ||
2277 | input.h | |
2278 | - extern declaration for set_buffered_stream | |
2279 | ||
2280 | parse.y | |
2281 | - call set_buffered_stream rather than manipulating the BUFFERS array | |
2282 | directly | |
2283 | ||
2284 | shell.c | |
2285 | - unset_bash_input now takes an argument, CHECK_ZERO. This tells it | |
2286 | whether to check whether default_buffered_input is >= 0 or just > 0 | |
2287 | ||
2288 | externs.h | |
2289 | - changed extern declaration for unset_bash_input | |
2290 | ||
2291 | execute_cmd.c, jobs.c, nojobs.c | |
2292 | - changed calls to unset_bash_input to add appropriate argument | |
2293 | ||
2294 | input.h | |
2295 | - #undef B_* before defining them as flag values for b_flags. Some | |
2296 | systems, like SVR4, have a B_ERROR define in a file included by | |
2297 | jobs.c and nojobs.c, and it causes a warning | |
2298 | ||
2299 | 7/31 | |
2300 | ---- | |
2301 | fnmatch.c | |
2302 | - rewrote most of fnmatch(), so that it now implements ksh-88 style | |
2303 | pattern matching (`[@+*?!](patlist)') if the FNM_EXTMATCH flag | |
2304 | is set | |
2305 | ||
2306 | fnmatch.h | |
2307 | - added a define for FNM_EXTMATCH | |
2308 | ||
2309 | 8/4 | |
2310 | --- | |
2311 | lib/readline/display.c | |
2312 | - fixed _rl_redisplay_after_sigwinch () so that it really redisplays | |
2313 | only the portion after the final newline of a multi-line prompt | |
2314 | [in bash-2.01.1] | |
2315 | ||
2316 | bashline.c | |
2317 | - attempt_shell_completion no longer returns matches if a glob pattern | |
2318 | matches more than one filename -- it caused too many problems | |
2319 | [in bash-2.01.1] | |
2320 | ||
2321 | 8/5 | |
2322 | --- | |
2323 | lib/glob/glob.c | |
2324 | - updated glob_pattern_p so that the extended matching operators | |
2325 | are recognized | |
2326 | ||
2327 | pathexp.c | |
2328 | - udpated unquoted_glob_pattern_p so that the extended matching | |
2329 | operators are recognized | |
2330 | - udpated quote_globbing_chars so that the extended matching | |
2331 | operators are recognized and quoted appropriately | |
2332 | ||
2333 | subst.c | |
2334 | - updated match_pattern_char so that the extended matching operators | |
2335 | are recognized | |
2336 | ||
2337 | parse.y | |
2338 | - updated read_token_word so that it parses an extended matching | |
2339 | pattern as a single word | |
2340 | ||
2341 | jobs.c | |
2342 | - if a job is suspended with SIGTSTP, and the user has set | |
2343 | checkwinsize with `shopt', update the window size | |
2344 | [in bash-2.01.1] | |
2345 | ||
2346 | pathexp.c, pathexp.h | |
2347 | - new global variable, extended_glob, controls whether the extended | |
2348 | pattern matching features are enabled | |
2349 | ||
2350 | pathexp.h | |
2351 | - new define, FNMATCH_EXTFLAG, to be OR'd with other values for | |
2352 | flags argument to fnmatch to enable the extended pattern matching | |
2353 | features if extended_glob is set | |
2354 | ||
2355 | {pathexp,execute_cmd,bashhist,subst,test}.c, builtins/help.def | |
2356 | - changed calls to fnmatch to add FNMATCH_EXTFLAG to the flags arg if | |
2357 | extended_glob is non-zero | |
2358 | ||
2359 | lib/glob/glob.c | |
2360 | - changed flags arg passed to fnmatch to include FNM_EXTMATCH if | |
2361 | extended_glob is non-zero (#ifdef SHELL) | |
2362 | ||
2363 | 8/6 | |
2364 | --- | |
2365 | builtins/shopt.def | |
2366 | - added a new `extglob' shell option, controls the value of | |
2367 | extended_glob | |
2368 | ||
2369 | 8/7 | |
2370 | --- | |
2371 | doc/{bash.{1,html},bashref.texi} | |
2372 | - documented new extended pattern matching operators and the `extglob' | |
2373 | shell option | |
2374 | ||
2375 | tests/{extglob.{tests,right},run-extglob} | |
2376 | - test suite for the new extended globbing features | |
2377 | ||
2378 | 8/8 | |
2379 | --- | |
2380 | parse.y, pathexp.h, lib/glob/fnmatch.c | |
2381 | - made the extended globbing code #ifdef EXTENDED_GLOB | |
2382 | ||
2383 | config.h.in | |
2384 | - added a line for EXTENDED_GLOB, controlled by configure | |
2385 | ||
2386 | configure.in | |
2387 | - new option, --enable-extended-glob, controls defining of | |
2388 | EXTENDED_GLOB (on by default) | |
2389 | ||
2390 | doc/bashref.texi | |
2391 | - documented new `configure' `--enable-extended-glob' option | |
2392 | ||
2393 | 8/11 | |
2394 | ---- | |
2395 | builtins/printf.def | |
2396 | - new `printf' builtin, implemented according to POSIX.2 spec | |
2397 | for printf(1) | |
2398 | ||
2399 | Makefile.in,builtins/Makefile.in | |
2400 | - added necessary stuff for new printf builtin | |
2401 | ||
2402 | 8/12 | |
2403 | ---- | |
2404 | lib/readline/isearch.c | |
2405 | - change to make ^G interrupt the incremental search correctly | |
2406 | [in bash-2.01.1] | |
2407 | ||
2408 | configure.in, config.h.in | |
2409 | - configure now checks for the availability of strtoul(3) | |
2410 | ||
2411 | builtins/printf.def | |
2412 | - use strtoul for the `%o', `%u', `%x', and `%X' formats if it | |
2413 | is available | |
2414 | ||
2415 | 8/13 | |
2416 | ---- | |
2417 | tests/{printf.{right,tests},run-printf} | |
2418 | - extensive test suite for the new `printf' builtin | |
2419 | ||
2420 | builtins/Makefile.in | |
2421 | - change so that `builtext.h' is not recreated every time the source | |
2422 | file for a builtin is changed if the contents are the same. This | |
2423 | keeps many files from being recompiled | |
2424 | ||
2425 | 8/14 | |
2426 | ---- | |
2427 | subst.c | |
2428 | - changed verify_substring_values so that it returns -1 for substring | |
2429 | range errors, 0 for expression errors, and 1 for success | |
2430 | [in bash-2.01.1] | |
2431 | - changed parameter_brace_substring to return an error if | |
2432 | verify_substring_values returns 0, and a null string if it returns | |
2433 | -1. This matches the ksh93 behavior | |
2434 | [in bash-2.01.1] | |
2435 | ||
2436 | trap.c | |
2437 | - changed decode_signal so that it makes sure the first three | |
2438 | characters of a signal name are `SIG' before allowing the `SIG' | |
2439 | prefix to be omitted. This is so a signal spec of `T' does not | |
2440 | match `EXIT', for instance | |
2441 | [in bash-2.01.1] | |
2442 | ||
2443 | builtins/trap.def | |
2444 | - make sure that showtrap() displays traps for signals with unknown | |
2445 | names using the signal number | |
2446 | [in bash-2.01.1] | |
2447 | shell.c | |
2448 | - make sure that `bash -r' doesn't turn on the restricted mode until | |
2449 | after the startup files are executed | |
2450 | [in bash-2.01.1] | |
2451 | ||
2452 | doc/{bash.{1,html},bashref.texi} | |
2453 | - documented printf builtin | |
2454 | ||
2455 | 8/15 | |
2456 | ---- | |
2457 | general.c | |
2458 | - added \xNNN escape to ansicstr -- NNN are up to three hex digits. | |
2459 | This affects $'...', `echo -e', and printf | |
2460 | ||
2461 | builtins/printf.def | |
2462 | - added \xNNN escape to bexpand -- NNN are up to three hex digits. | |
2463 | This affects printf's `%b' conversion specifier | |
2464 | ||
2465 | doc/{bash.{1,html},bashref.texi} | |
2466 | - documented new \xNNN escape sequence for echo, $'...', and printf | |
2467 | ||
2468 | builtins/setattr.def | |
2469 | - make sure that a variable found in the temp environment does not | |
2470 | cause a null string to be assigned by bind_variable (e.g., | |
2471 | foo="" export foo | |
2472 | ) | |
2473 | [in bash-2.01.1] | |
2474 | ||
2475 | 8/18 | |
2476 | ---- | |
2477 | subst.c | |
2478 | - fixed a bug that sometimes caused bad memory (pointer into an | |
2479 | allocated block) to be passed to free when doing arithmetic | |
2480 | substitution. Bug report from stevet@myofb.org | |
2481 | [in bash-2.01.1] | |
2482 | ||
2483 | 8/19 | |
2484 | ---- | |
2485 | subst.c | |
2486 | - considerable changes: moved the code that expands a single | |
2487 | $... parameter expansion into a separate function: param_expand() | |
2488 | This function returns a string, which may contain characters | |
2489 | quoted with CTLESC or CTLNUL without doing word splitting | |
2490 | - changed expand_word_internal to not remove the expansion of "$*" | |
2491 | if the number of positional parameters is > 0 | |
2492 | - changed the '"' case of expand_word_internal to remove quoted | |
2493 | nulls from the resultant word if the expansion was not "$@", and | |
2494 | the word is not a quoted null string ([] == CTLNUL, [1] == '\0') | |
2495 | ||
2496 | subst.c, variables.c | |
2497 | - moved the code that handles special variables from subst.c to | |
2498 | variables.c | |
2499 | ||
2500 | 8/20 | |
2501 | ---- | |
2502 | subst.c | |
2503 | - rearranged the source a bit to group functions with similar | |
2504 | operation together | |
2505 | - fixed parameter_brace_expand so that it no longer allows | |
2506 | indirect expansion of `special' variables | |
2507 | - fixed parameter_brace_expand so taking the length of some of | |
2508 | the shell's special parameters works again | |
2509 | - moved all of the code that computes the length of a shell | |
2510 | parameter (the ${#xxx} expansion) into parameter_brace_expand_length. | |
2511 | Previously, the code that handled the lengths of the shell's | |
2512 | special parameters was in parameter_brace_expand_word | |
2513 | - valid indirect expansions are now only variable names or positional | |
2514 | parameters | |
2515 | ||
2516 | 8/21 | |
2517 | ---- | |
2518 | subst.c | |
2519 | - fixed param_expand to raise an expansion error if $! is being | |
2520 | expanded and no asynchronous processes have been created | |
2521 | - an expression error in a $((...)) arithmetic expansion now causes | |
2522 | a non-interactive shell running in POSIX mode to exit | |
2523 | - relaxed change of 8/20 to allow indirect references to $#, $@, $* | |
2524 | ||
2525 | builtins/bashref.texi | |
2526 | - documented new posix-mode exit on invalid expressions in $((...)) | |
2527 | ||
2528 | lib/readline/complete.c | |
2529 | - don't call rl_strpbrk unless rl_filename_quote_characters is not | |
2530 | NULL -- strpbrk requires non-NULL arguments | |
2531 | [in bash-2.01.1] | |
2532 | ||
2533 | 8/22 | |
2534 | ---- | |
2535 | bashline.c | |
2536 | - don't make `history-expand-line' a bindable command unless | |
2537 | BANG_HISTORY is defined, and don't compile the code for that | |
2538 | command in unless BANG_HISTORY is defined | |
2539 | - make history_expand_line(), tcsh_magic_space(), alias_expand_line(), | |
2540 | and history_and_alias_expand_line() int-returning functions that | |
2541 | return 0 for success and non-zero on error. This allows | |
2542 | tcsh_magic_space() to just call history_expand_line() and insert | |
2543 | a space if that returns successfully | |
2544 | - `magic-space' is now a bindable readline command | |
2545 | ||
2546 | doc/bash.{1,html}, lib/readline/doc/rluser.texinfo | |
2547 | - documented new `magic-space' bindable readline command | |
2548 | ||
2549 | 8/25 | |
2550 | ---- | |
2551 | parse.y | |
2552 | - fixed decode_prompt_string so that values of $PWD longer than | |
2553 | PATH_MAX don't cause buffer overruns (char t_string[PATH_MAX]) | |
2554 | [in bash-2.01.1] | |
2555 | ||
2556 | general.c | |
2557 | - fixed polite_directory_format so that values of $HOME longer | |
2558 | than PATH_MAX don't cause buffer overruns (char tdir[PATH_MAX]) | |
2559 | [in bash-2.01.1] | |
2560 | ||
2561 | subst.c | |
2562 | - fix to expansion of $* so that the positional parameters are | |
2563 | separated by the first character of $IFS, even when the expansion | |
2564 | is not within double quotes, so the correct split is still | |
2565 | performed even when IFS does not contain a space. Works for | |
2566 | ${*}, too | |
2567 | - fix to expansion of $@ so that the positional parameters are | |
2568 | separated by the first character of $IFS, even when the expansion | |
2569 | is not within double quotes, so the correct split is still | |
2570 | performed even when IFS does not contain a space. Works for | |
2571 | ${@}, too | |
2572 | - new function, string_list_dollar_at(), which is to $@ as | |
2573 | string_list_dollar_star is to $* | |
2574 | - fixed expansion of $@ so that splitting is still done even if | |
2575 | IFS is unset or NULL, as POSIX.2 specifies (section 3.5.2) | |
2576 | - fixed expansion of $* so that it expands to multiple words if there | |
2577 | is more than one positional parameter, just like $@, even if | |
2578 | IFS is unset or NULL | |
2579 | - new function list_quote_escapes, quotes (with CTLESC) all | |
2580 | CTLESC and CTLNUL characters in each member of the list | |
2581 | ||
2582 | tests/dollar-{at,star}.sh | |
2583 | - combined into dollar-at-star, changed run-dollars accordingly | |
2584 | ||
2585 | 8/26 | |
2586 | ---- | |
2587 | Makefile.in | |
2588 | - make the `tests' target use $(SHELL) instead of hardcoding `sh' | |
2589 | ||
2590 | 8/29 | |
2591 | ---- | |
2592 | subst.c | |
2593 | - expand_word_list_internal now takes a flags word as the second | |
2594 | argument, telling which expansions to perform on the WORD_LIST | |
2595 | - broke expand_word_list_internal into several functions: one | |
2596 | each to do brace expansion, glob expansion, and the `normal' | |
2597 | shell expansions | |
2598 | - new extern function: expand_words_shellexp() to perform the | |
2599 | `normal' shell expansions on a WORD_LIST | |
2600 | ||
2601 | subst.h | |
2602 | - extern declaration for expand_words_shellexp | |
2603 | ||
2604 | bashline.c | |
2605 | - fixed a problem with attempt_shell_completion where it attempted | |
2606 | to refer to rl_line_buffer[-1] (completion at the start of the | |
2607 | line, which means that ti == -1, which means that the test for | |
2608 | rl_line_buffer[ti] at line 715 was an array bounds error | |
2609 | [in bash-2.01.1] | |
2610 | ||
2611 | eval.c | |
2612 | - new function, parse_string_to_word_list(), which takes a string | |
2613 | and runs it through the parser, returning the resultant word | |
2614 | list | |
2615 | ||
2616 | externs.h | |
2617 | - new extern declaration for parse_string_to_word_list() | |
2618 | ||
2619 | variables.c | |
2620 | - change assign_array_var_from_string to first split the string | |
2621 | between the parens on whitespace, then expand the resultant | |
2622 | list of words with all the shell expansions before doing the | |
2623 | assignment | |
2624 | ||
2625 | 9/4 | |
2626 | --- | |
2627 | redir.c, redir.h | |
2628 | - redirection_error is no longer a static function | |
2629 | ||
2630 | builtins/evalstring.c | |
2631 | - changes to handle $( < filename ) (equivalent to $(cat filename)) | |
2632 | as in ksh | |
2633 | ||
2634 | lib/readline/bind.c | |
2635 | - added two new functions: rl_unbind_function_in_map(func, map), | |
2636 | which unbinds all keys that execute FUNC in MAP; and | |
2637 | rl_unbind_command_in_map(command, map), which unbinds all keys | |
2638 | bound to COMMAND in MAP | |
2639 | ||
2640 | lib/readline/readline.h | |
2641 | - extern declarations for rl_unbind_{function,command}_in_map | |
2642 | ||
2643 | lib/readline/doc/rltech.texi | |
2644 | - documented rl_unbind_{function,command}_in_map | |
2645 | ||
2646 | builtins/bind.def | |
2647 | - added a new option, -u FUNCNAME, which unbinds all key sequences | |
2648 | bound to FUNCNAME in the specified (or current) keymap | |
2649 | ||
2650 | doc/{bash.{1,html},bashref.texi} | |
2651 | - documented new $( < filename ) command substitution | |
2652 | - documented new bind -u FUNCNAME option | |
2653 | ||
2654 | 9/5 | |
2655 | --- | |
2656 | shell.c | |
2657 | - send SIGHUP to all jobs when an interactive login shell exits if | |
2658 | the variable `hup_on_exit' is non-zero | |
2659 | - modified run_startup_files so that if `NON_INTERACTIVE_LOGIN_SHELLS' | |
2660 | is #define'd (perhaps in config.h.top, though there is nothing there | |
2661 | for it), all login shells (interactive and non-interactive) run | |
2662 | /etc/profile and one of the per-user login shell startup files | |
2663 | ||
2664 | builtins/shopt.def | |
2665 | - new shopt option `huponexit' to control the value of hup_on_exit | |
2666 | ||
2667 | doc/{bash.{1,html},bashref.texi} | |
2668 | - documented new `huponexit' shell option | |
2669 | ||
2670 | 9/8 | |
2671 | --- | |
2672 | builtins/common.c | |
2673 | - changed contains_shell_metas to return 1 if a tilde appears at the | |
2674 | start of a string or after a `=' or `:' | |
2675 | - changed backslash_quote to quote a tilde if it appears at the start | |
2676 | of a string or after a `=' or `:' | |
2677 | ||
2678 | lib/readline/complete.c | |
2679 | - moved rl_tilde_expand to util.c; it doesn't really have anything | |
2680 | to do with completion | |
2681 | - moved insert_text to readline.c, renamed it _rl_replace_text (since | |
2682 | that's really what it does), changed callers | |
2683 | - moved code that postprocesses the list of completion matches into | |
2684 | a new function: postprocess_matches | |
2685 | - new implementation of tcsh-like menu completion in a single new | |
2686 | function: rl_menu_complete | |
2687 | ||
2688 | lib/readline/{funmap.c,readline.h} | |
2689 | - necessary declarations for binding rl_menu_complete to the | |
2690 | new `menu-complete' command | |
2691 | ||
2692 | doc/{bash.{1,html},readline.3}, lib/readline/doc/rluser.texinfo | |
2693 | - documented new `menu-complete' bindable readline command | |
2694 | ||
2695 | 9/9 | |
2696 | --- | |
2697 | jobs.c | |
2698 | - delete_job should print a warning only if subshell_environment | |
2699 | is 0, so we don't print bogus warnings when shell scripts without | |
2700 | a leading #! are executed | |
2701 | ||
2702 | 9/10 | |
2703 | ---- | |
2704 | builtins/read.def | |
2705 | - fixed the code so that the `read' is automatically restarted when | |
2706 | it returns -1 with errno == EINTR. SIGINT is handled by the | |
2707 | interrupt handler, since interrupt_immediately is set to 1, so | |
2708 | this handles things like SIGCHLD | |
2709 | [in bash-2.01.1] | |
2710 | ||
2711 | 9/11 | |
2712 | ---- | |
2713 | test.c | |
2714 | - reorganized the code slightly to make it easier to add the ksh-like | |
2715 | [[...]] compound command | |
2716 | ||
2717 | test.h | |
2718 | - new file, with extern declarations for functions available in test.c | |
2719 | ||
2720 | externs.h | |
2721 | - moved declaration of test_command to test.h | |
2722 | ||
2723 | builtins/test.def | |
2724 | - include `test.h' | |
2725 | ||
2726 | 9/16 | |
2727 | ---- | |
2728 | {command,make_cmd,dispose_cmd,externs,subst}.h | |
2729 | parse.y, subst.c | |
2730 | {make,dispose,copy,print,execute}_cmd.c | |
2731 | - changes to add the new ksh-93 compatible [[...]] conditional command | |
2732 | ||
2733 | configure.in | |
2734 | - new enable option, --enable-cond-command, to compile in the [[...]] | |
2735 | command code | |
2736 | ||
2737 | config.h.in | |
2738 | - new #define, COND_COMMAND, to compile in the [[...]] command code | |
2739 | ||
2740 | tests/{run-cond,cond.{tests,right}} | |
2741 | - test suite for the new [[...]] command | |
2742 | ||
2743 | {builtins,lib/{readline,glob,tilde}}/Makefile.in | |
2744 | - explicit dependencies for .o files on .c files for losing makes | |
2745 | like Solaris | |
2746 | ||
2747 | doc/{bash.{1,html},bashref.texi} | |
2748 | - documented the new `[[' compound command | |
2749 | - documented the test/[ builtin behavior based on the number of | |
2750 | arguments in the description of the builtin | |
2751 | - made a new section for conditional expressions that just lists | |
2752 | the available primaries -- the connectives and other operators | |
2753 | are listed in the description of the [[ command and the test/[ | |
2754 | builtin | |
2755 | ||
2756 | 9/18 | |
2757 | ---- | |
2758 | builtins/set.def | |
2759 | - minus_o_option_commands is now a global function so the shopt | |
2760 | code can use it | |
2761 | - minus_o_option_commands now takes an argument telling it which | |
2762 | options to print, just like list_minus_o_options | |
2763 | - new function, print_minus_o_option, which prints the value of | |
2764 | a `set -o' option either in the traditional format or in the | |
2765 | format used by `set +o' | |
2766 | - changed list_minus_o_opts and minus_o_option_commands to call | |
2767 | print_minus_o_option | |
2768 | ||
2769 | builtins/shopt.def | |
2770 | - `shopt -p' now causes output to be printed in a format reusable | |
2771 | as input (the format is a series of shopt commands, like the | |
2772 | output of `set +o') | |
2773 | - fixed a bug that made `shopt -so' and `shopt -uo' not work | |
2774 | - fixed list_shopt_o_options so that `shopt -op' acts like `set +o' | |
2775 | - fixed list_shopt_o_options to that `shopt -op optname' prints the | |
2776 | value of optname in a reusable format | |
2777 | - fixed list_some_o_options so that `shopt -ops' and `shopt -opu' | |
2778 | work and display output in a reusable format | |
2779 | ||
2780 | 9/19 | |
2781 | ---- | |
2782 | doc/{bash.{1,html},bashref.texi} | |
2783 | - documented new `shopt -p' behavior | |
2784 | ||
2785 | shell.c | |
2786 | - made `bash +o' display the same output as `set +o' and then | |
2787 | start an interactive shell (previously `bash -o' and `bash +o' | |
2788 | displayed the same thing) | |
2789 | ||
2790 | builtins/common.h | |
2791 | - added prototypes to the extern function declarations | |
2792 | ||
2793 | 9/22 | |
2794 | ---- | |
2795 | builtins/evalstring.c | |
2796 | - fixed the DISCARD case of the jump_to_top_level so that it | |
2797 | doesn't try to call dispose_command(command) after the | |
2798 | `pe_dispose' unwind frame gets run, since that disposes the | |
2799 | command | |
2800 | ||
2801 | 9/23 | |
2802 | ---- | |
2803 | test.[ch] | |
2804 | - test_eaccess is now a global function so that globbing code can | |
2805 | use it | |
2806 | ||
2807 | lib/glob/glob.c | |
2808 | - rewrote glob_vector to be slightly more efficient and to not | |
2809 | read the directory if the filename pattern does not contain | |
2810 | any globbing chars. This satisfies the POSIX requirement that | |
2811 | read permission is not required for a directory when the | |
2812 | pathname component does not contain a pattern character (bug | |
2813 | reported by jsm28@cam.ac.uk) | |
2814 | ||
2815 | subst.c | |
2816 | - fixed parameter_brace_expand so that ${array[@]} and ${array[*]} | |
2817 | behave correctly when IFS is unset or set to something that does | |
2818 | not contain a space (they should result in separate words, just | |
2819 | like $@ and $*) | |
2820 | ||
2821 | tests/{run-array2,array-at-star,array2.right} | |
2822 | - tests for the expansions of ${array[@]} and ${array[*]}, derived | |
2823 | from the tests in dollar-at-star | |
2824 | ||
2825 | 9/24 | |
2826 | ---- | |
2827 | jobs.c | |
2828 | - fixed cleanup_dead_jobs so that it doesn't remove the job | |
2829 | containing last_asynchronous_pid from the job table. This | |
2830 | fixes the POSIX.2 `wait' requirement problem | |
2831 | ||
2832 | 9/25 | |
2833 | ---- | |
2834 | parse.y | |
2835 | - added `\r' escape sequence to the prompt expansion code | |
2836 | ||
2837 | lib/readline/chardefs.h | |
2838 | - added defines for ISOCTAL, OCTVALUE, isxdigit (if not defined), | |
2839 | and HEXVALUE | |
2840 | ||
2841 | lib/readline/bind.c | |
2842 | - added `normal' echo/printf-like backslash escapes to the | |
2843 | key sequence translation code, with the addition that \d | |
2844 | expands to RUBOUT. This means that key sequence definitions | |
2845 | (before the `:') and macro values may contain these special | |
2846 | backslash-escape sequences | |
2847 | - now that we can translate octal escape sequences in key bindings, | |
2848 | change _rl_get_keyname so that it turns characters with values | |
2849 | 128-159 inclusive into octal escape sequences (\200-\237), since | |
2850 | those characters are not ASCII or ISO Latin 1 | |
2851 | ||
2852 | doc/{bash.{1,html},readline.3}, lib/readline/doc/rluser.texinfo | |
2853 | - documented new backslash escapes for readline key sequence and | |
2854 | macro translation | |
2855 | ||
2856 | builtins/pushd.def | |
2857 | - new function, get_dirstack_from_string(char *string), returns an | |
2858 | element from the directory stack or null, treating the argument | |
2859 | exactly as `dirs string' would, with the exception that if | |
2860 | the first character of `string' is not `+' or `-', a `+' is | |
2861 | assumed | |
2862 | ||
2863 | builtins/common.h | |
2864 | - new extern declaration for get_dirstack_from_string | |
2865 | ||
2866 | general.c | |
2867 | - added code to bash_special_tilde_expansions to get the expansion | |
2868 | using get_dirstack_from_string() if the first character of the | |
2869 | tilde-prefix is a digit or the first character is a `+' or `-' | |
2870 | and the second is a digit | |
2871 | ||
2872 | tests/dstack.{tests,right} | |
2873 | - renamed from dirstack.{tests,right} | |
2874 | ||
2875 | tests/dtack2.{tests,right} | |
2876 | - new tests for the directory stack tilde expansion code | |
2877 | ||
2878 | tests/run-dirstack | |
2879 | - now runs both dstack and dstack2 | |
2880 | ||
2881 | 10/3 | |
2882 | ---- | |
2883 | trap.c | |
2884 | - reordered header file inclusion for irix 4 | |
2885 | ||
2886 | execute_cmd.c | |
2887 | - fixed select_query so that a reply that is not a number is treated | |
2888 | the same as a numeric reply that is out of range | |
2889 | ||
2890 | lib/readline/util.c | |
2891 | - added a backwards-compatibility definition of _rl_savestring() | |
2892 | ||
2893 | builtins/set.def | |
2894 | - initialize_shell_options now takes an argument saying whether or | |
2895 | not we should parse $SHELLOPTS from the environment. The shell | |
2896 | does not parse the value if it's restricted, running setuid, or | |
2897 | running in `privileged mode' | |
2898 | ||
2899 | shell.c | |
2900 | - change call to initialize_shell_options to add the correct argument | |
2901 | ||
2902 | builtins/common.h | |
2903 | - changed extern declaration for initialize_shell_options | |
2904 | ||
2905 | doc/{bash.{1,html},bashref.texi} | |
2906 | - added note that the shell ignores $SHELLOPTS in the environment at | |
2907 | startup if running in privileged mode | |
2908 | - added note that the restricted shell does not parse $SHELLOPTS from | |
2909 | the environment at startup | |
2910 | ||
2911 | 10/6 | |
2912 | ---- | |
2913 | aclocal.m4 | |
2914 | - change BASH_RLIMIT_TYPE so that it looks for rlim_t in | |
2915 | <sys/resource.h> as well as <sys/types.h>, for Solaris 2.6 | |
2916 | - new macro, BASH_LARGE_FILE_SUPPORT, to enable special compilation | |
2917 | options for large files on Solaris 2.6 (from eggert@twinsun.com) | |
2918 | ||
2919 | mailcheck.c | |
2920 | - the `file_size' member of the FILEINFO struct should be of | |
2921 | type `off_t' | |
2922 | - the `size' variable in file_has_grown should be of type `off_t' | |
2923 | - the RESET_MAIL_FILE macro should initialize file_size to 0, not 0L | |
2924 | ||
2925 | builtins/Makefile.in | |
2926 | - LDFLAGS and LOCAL_LDFLAGS are now set by configure | |
2927 | - `mkbuiltins' is now created from `mkbuiltins.o' instead of directly | |
2928 | from the source to the executable | |
2929 | ||
2930 | builtins/evalfile.c | |
2931 | - fixed _evalfile so that it handles large files correctly on | |
2932 | systems where the st_size member of `struct stat' will not fit | |
2933 | into an `int' | |
2934 | ||
2935 | builtins/mkbuiltins.c | |
2936 | - don't assume that st_size fits into an int | |
2937 | ||
2938 | input.[ch] | |
2939 | - the `b_size' member of a struct BSTREAM is now of type `size_t' | |
2940 | - changed third argument to make_buffered_stream to size_t; changed | |
2941 | caller | |
2942 | - changed `size' variable in fd_to_buffered_stream to type `size_t' | |
2943 | ||
2944 | general.h | |
2945 | - include <sys/resource.h> if HAVE_SYS_RESOURCE_H and RLIMTYPE are | |
2946 | both defined, for possible necessary definition of RLIMTYPE | |
2947 | (e.g., on Solaris 2.6) | |
2948 | ||
2949 | {execute_cmd,jobs}.c, builtins/times.def | |
2950 | - don't include <sys/resource.h> explicitly if RLIMTYPE is defined, | |
2951 | since general.h will include it in that case | |
2952 | ||
2953 | lib/readline/bind.c | |
2954 | - new function, char *_rl_read_file(filename, sizep), which reads | |
2955 | FILENAME into a malloced buffer, returning the buffer and the | |
2956 | size of the buffer in *SIZEP | |
2957 | ||
2958 | lib/readline/histfile.c | |
2959 | - changed read_history_range and history_truncate_file to handle | |
2960 | large files | |
2961 | ||
2962 | hashcmd.c | |
2963 | - find_hashed_filename should not add `./' to the front of a pathname | |
2964 | that already begins with `./' | |
2965 | ||
2966 | 10/8 | |
2967 | ---- | |
2968 | support/config.sub | |
2969 | - recognize `hppa2.0' as a valid machine architecture | |
2970 | ||
2971 | aclocal.m4 | |
2972 | - changed BASH_CHECK_LIB_TERMCAP so that `gnutermcap' is not chosen | |
2973 | if `$prefer_curses' is set to something | |
2974 | ||
2975 | bashhist.c | |
2976 | - don't use HISTCONTROL or HISTIGNORE to remove lines from the | |
2977 | second and subsequent lines of a multi-line command | |
2978 | (current_command_line_count > 1). Old code did this only when | |
2979 | command-oriented-history was enabled | |
2980 | ||
2981 | doc/{bash.{1,html},bashref.texi} | |
2982 | - changed descriptions of HISTCONTROL and HISTIGNORE to state that | |
2983 | these variables are not applied to the second and subsequent | |
2984 | lines of a multi-line command | |
2985 | ||
2986 | builtins/hash.def, {copy,dispose}_cmd.c | |
2987 | - include "bashtypes.h" -- cray machines need it because of their | |
2988 | oddball definition of `word' | |
2989 | ||
2990 | configure.in | |
2991 | - changed check of ${host_cpu} to check for `*cray*' and `*Cray*' | |
2992 | when deciding whether to include the GNU malloc, since it | |
2993 | seems that ${host_cpu} gets set to `CrayYMP' | |
2994 | ||
2995 | 10/9 | |
2996 | ---- | |
2997 | configure.in | |
2998 | - look for strtod and strtol in libc | |
2999 | - make lib/sh directory in build directory if not there | |
3000 | - create lib/sh/Makefile | |
3001 | ||
3002 | config.h.in | |
3003 | - added HAVE_STRTOD and HAVE_STRTOL | |
3004 | ||
3005 | Makefile.in | |
3006 | - changes for lib/sh/libsh.a (shell library) | |
3007 | ||
3008 | builtins/printf.def | |
3009 | - took out the `#ifdef STRTOUL' code, since strtoul is in libsh.a, | |
3010 | and will be resolved from there if it's not in libc | |
3011 | ||
3012 | variables.c | |
3013 | - call strtol() instead of string_to_long() | |
3014 | ||
3015 | general.c, general.h | |
3016 | - removed string_to_long | |
3017 | - changed legal_number to use strtol so it correctly sets errno | |
3018 | to ERANGE on overflow | |
3019 | - moved bash_getcwd_errstr here from lib/sh/oslib.c | |
3020 | ||
3021 | externs.h | |
3022 | - moved extern declarations for functions defined in libsh to a | |
3023 | separate section of the file, added extern declarations for | |
3024 | other functions in libsh | |
3025 | ||
3026 | builtins/ulimit.def | |
3027 | - changed macro definition for string_to_rlimtype to call strtol | |
3028 | directly instead of string_to_long | |
3029 | ||
3030 | lib/sh/clktck.c | |
3031 | - moved get_clock_tck to its own file, since it's compiled in | |
3032 | unconditionally | |
3033 | ||
3034 | 10/10 | |
3035 | ----- | |
3036 | lib/sh/getenv.c | |
3037 | - moved getenv() and __getenv() here from lib/sh/oslib.c | |
3038 | ||
3039 | lib/sh/{setlinebuf,strerror,strcasecmp}.c | |
3040 | - moved {setlinebuf,strerror,strcasecmp}() from oslib.c to | |
3041 | individual files | |
3042 | ||
3043 | lib/sh/Makefile.in, Makefile.in | |
3044 | - changes for new files in lib/sh | |
3045 | ||
3046 | aclocal.m4 | |
3047 | - new macro BASH_SYS_RESTARTABLE_SYSCALLS, which does what | |
3048 | AC_SYS_RESTARTABLE_SYSCALLS does, but using posix sigaction() | |
3049 | ||
3050 | configure.in | |
3051 | - call BASH_SYS_RESTARTABLE_SYSCALLS if ac_cv_sys_restartable_syscalls | |
3052 | is `no' | |
3053 | ||
3054 | 10/13 | |
3055 | ----- | |
3056 | builtins/jobs.def | |
3057 | - catch out-of-range jobs better in disown_builtin | |
3058 | ||
3059 | configure.in | |
3060 | - don't build with GNU malloc on cygwin32 | |
3061 | ||
3062 | trap.c | |
3063 | - change signal_name to handle the case where signal_names[sig] is | |
3064 | NULL, which can happen on cygwin32 | |
3065 | ||
3066 | execute_cmd.c | |
3067 | - changes to do_piping to make pipes text mode (O_TEXT) on cygwin32 | |
3068 | ||
3069 | cross-build | |
3070 | - new directory with cache files and other stuff for cross-compiling | |
3071 | bash (currently only for building for cygwin32 on a Unix machine) | |
3072 | ||
3073 | cross-build/cygwin32.cache | |
3074 | - new file containing configuration variable assignments for | |
3075 | cygwin32 that would otherwise require a default case for AC_TRY_RUN | |
3076 | ||
3077 | configure.in | |
3078 | - source ${srcdir}/cross-build/cygwin32.cache on CYGWIN32 systems | |
3079 | if we're cross-compiling on a unix machine | |
3080 | - set $CC_FOR_BUILD for cygwin32 cross-compiling environment | |
3081 | ||
3082 | Makefile.in | |
3083 | - CC_FOR_BUILD is now a variable set by configure | |
3084 | ||
3085 | builtins/mkbuiltins.c | |
3086 | - only check for read(2) returning <= 0 in extract_info() (error | |
3087 | and exit on < 0, warning and return on == 0) | |
3088 | ||
3089 | builtins/evalfile.c | |
3090 | - only check for read(2) returning <= 0 in _evalfile() (error and | |
3091 | and failure return on < 0, success on == 0 while short-circuting | |
3092 | rest of operation) | |
3093 | ||
3094 | 10/14 | |
3095 | ----- | |
3096 | ||
3097 | vprint.c | |
3098 | - moved to lib/sh/vprint.c | |
3099 | ||
3100 | lib/sh/Makefile.in | |
3101 | - added entries for vprint.[co] in the appropriate places | |
3102 | ||
3103 | cross-build/win32sig.h | |
3104 | - a version of signames.h for cross-compiling for the CYGWIN32 | |
3105 | environment on a Unix machine (from noer@cygnus.com) | |
3106 | ||
3107 | aclocal.m4 | |
3108 | - made all cases of AC_TRY_RUN and AC_TRY_COMPILE have reasonable | |
3109 | default cases for cross-compiling, and tell the user what they are | |
3110 | ||
3111 | Makefile.in | |
3112 | - removed vprint.c from shell sources and vprint.o from shell | |
3113 | objects | |
3114 | - added a level of indirection for signames.h -- the variable | |
3115 | SIGNAMES_H is set by configure to either `lsignames.h' or | |
3116 | a file for a cross-compilation environment (currently only | |
3117 | the cygwin32 stuff is supported). Then that file is copied | |
3118 | to `signames.h'. `lsignames.h' is created by `mksignames' as | |
3119 | was previously used to create signames.h directly | |
3120 | ||
3121 | configure.in | |
3122 | - set SIGNAMES_H to either `$(srcdir)/cross-build/win32sig.h' or | |
3123 | `lsignames.h' as appropriate, substitute into Makefile | |
3124 | ||
3125 | 10/15 | |
3126 | ----- | |
3127 | builtins/Makefile.in | |
3128 | - CC_FOR_BUILD is now set by configure and used to build mkbuiltins | |
3129 | and psize.aux | |
3130 | ||
3131 | variables.h | |
3132 | - new variable attribute `att_tempvar', set if the SHELL_VAR * was | |
3133 | constructed on the fly from the temporary environment | |
3134 | ||
3135 | variables.c | |
3136 | - find_name_in_env_array now sets the `att_tempvar' attribute on | |
3137 | the SHELL_VAR it creates | |
3138 | ||
3139 | findcmd.c | |
3140 | - search_for_command now disposes the SHELL_VAR created by searching | |
3141 | the temporary environment for $PATH, if it is found there | |
3142 | - _find_user_command_internal also disposes of the SHELL_VAR if it | |
3143 | has the `att_tempvar' attribute set | |
3144 | ||
3145 | builtins/setattr.c | |
3146 | - show_name_attributes looks in the temporary environemnt, so it needs | |
3147 | to dispose the SHELL_VAR if it has the att_tempvar attribute set | |
3148 | ||
3149 | subst.c | |
3150 | - parameter_brace_expand_word now disposes of the SHELL_VAR returned | |
3151 | by find_variable if it has the att_tempvar attribute set | |
3152 | - ditto for param_expand and word_split | |
3153 | ||
3154 | builtins/kill.def | |
3155 | - disallow null pid arguments instead of treating them as 0 | |
3156 | - display a usage message and return failure if no pid or job | |
3157 | arguments are supplied | |
3158 | ||
3159 | 10/16 | |
3160 | ----- | |
3161 | builtins/declare.def | |
3162 | - make `var=value declare -x var' behave the same as | |
3163 | `var=value export var' and `var=value declare -r var' behave the | |
3164 | same as `var=value readonly var', now that we have the `tempvar' | |
3165 | attribute | |
3166 | ||
3167 | 10/22 | |
3168 | ----- | |
3169 | jobs.c | |
3170 | - non-interactive shells shouldn't report jobs killed by a SIGINT, | |
3171 | even if the standard output is to a terminal | |
3172 | - pretty_print_job should add a CR at the end of its output if the | |
3173 | shell is interactive and asynchronous notification is being | |
3174 | performed. This fixes the problem with extra CRs in the output | |
3175 | of $(jobs) | |
3176 | ||
3177 | general.c | |
3178 | - changed canonicalize_pathname to change `//' into `/', but leave | |
3179 | other pathnames starting with two consecutive slashes alone | |
3180 | ||
3181 | 10/27 | |
3182 | ----- | |
3183 | ||
3184 | lib/readline/histexpand.c | |
3185 | - fixed history_expand so that the appearance of the history | |
3186 | comment character at the beginning of a word inhibits history | |
3187 | expansion for the rest of the line | |
3188 | ||
3189 | 10/29 | |
3190 | ----- | |
3191 | jobs.c,variables.c | |
3192 | - moved set_pipestatus_array to variables.c | |
3193 | ||
3194 | variables.c | |
3195 | - new function, set_pipestatus_from_exit(int), which sets the | |
3196 | PIPESTATUS variable from a command's exit status | |
3197 | ||
3198 | variables.h | |
3199 | - extern declarations for set_pipestatus_from_exit and | |
3200 | set_pipestatus_array | |
3201 | ||
3202 | execute_cmd.c | |
3203 | - fixed execute_simple_command to call set_pipestatus_from_exit | |
3204 | if a foreground builtin or function, or a foreground null | |
3205 | command is executed | |
3206 | ||
3207 | 10/31 | |
3208 | ----- | |
3209 | shell.c | |
3210 | - fixed run_startup_files to detect being run by sshd, and treat | |
3211 | that case as equivalent to being run by rshd | |
3212 | ||
3213 | 11/3 | |
3214 | ---- | |
3215 | builtins/set.def | |
3216 | - make sure `set -a' doesn't cause SHELLOPTS to be exported when | |
3217 | a change is made to one of the shell options | |
3218 | ||
3219 | 11/4 | |
3220 | ---- | |
3221 | pathexp.c | |
3222 | - fix to shell_glob_filename in the code that uses a POSIX glob | |
3223 | library | |
3224 | ||
3225 | 11/5 | |
3226 | ---- | |
3227 | jobs.c | |
3228 | - fix cleanup_dead_jobs to hang onto the job corresponding to | |
3229 | last_asynchronous_pid only if the shell is not interactive | |
3230 | (this still has the problem that until a new async process | |
3231 | is started, the job will stay in the jobs table) | |
3232 | ||
3233 | configure.in,aclocal.m4 | |
3234 | - added a new macro, BASH_TYPE_U_INT32_T, to check for u_int32_t | |
3235 | separately from int32_t, since there are systems (HP-UX 10.20) | |
3236 | that have a define for the latter but not the former | |
3237 | ||
3238 | 11/6 | |
3239 | ---- | |
3240 | jobs.c | |
3241 | - cleanup_dead_jobs no longer checks whether the job it is deleting | |
3242 | corresponds to last_asynchronous_pid | |
3243 | - notify_of_job_status and mark_dead_jobs_as_notified now will not | |
3244 | mark the job corresponding to last_asynchronous_pid as notified | |
3245 | if the shell is not interactive | |
3246 | - wait_for_single_pid, if told to wait for last_asynchronous_pid, | |
3247 | or the job of which it is a member, will take care of marking | |
3248 | the job as notified after calling wait_for and collecting the | |
3249 | status. This means that two successive `wait' calls for $! will | |
3250 | succeed the first time and fail the second, as POSIX.2 specifies | |
3251 | (take this code out if it causes problems) | |
3252 | ||
3253 | 11/7 | |
3254 | ---- | |
3255 | jobs.c | |
3256 | - wait_for_job, if told to wait for the job corresponding to the | |
3257 | last async pid, will mark the job as notified after waiting for | |
3258 | it and collecting the status | |
3259 | ||
3260 | general.h | |
3261 | - fixed MEMBER macro to avoid reading past end of S (it used to | |
3262 | test s[1] before s[0], which is an error if s == "") | |
3263 | ||
3264 | subst.c | |
3265 | - expand_word_internal should free ISTRING before returning if | |
3266 | param_expand returns an error | |
3267 | - parameter_brace_expand_word should free the memory it allocates | |
3268 | and passes to param_expand | |
3269 | ||
3270 | execute_cmd.c | |
3271 | - execute_arith_command should call dispose_words on the list | |
3272 | returned by expand_words | |
3273 | ||
3274 | parse.y | |
3275 | - after calling parse_arith_command, read_token needs to free the | |
3276 | string value that parse_arith_command fills in, since make_word | |
3277 | makes a copy of the string it's passed | |
3278 | ||
3279 | 11/10 | |
3280 | ----- | |
3281 | subst.c | |
3282 | - cond_expand_word needs to free the value returned by string_list | |
3283 | after it is run through quote_string_for_globbing | |
3284 | ||
3285 | parse.y | |
3286 | - make sure cond_term frees yylval.word if it is just a `!' and | |
3287 | it's parsed as a term negation operator | |
3288 | ||
3289 | variables.c | |
3290 | - assign_array_var_from_string needs to free the word list returned | |
3291 | by parse_string_to_word_list after calling expand_words_shellexp | |
3292 | on it | |
3293 | ||
3294 | execute_cmd.c | |
3295 | - changed execute_simple_command to avoid saving the_printed_command | |
3296 | into command_line until just before it's needed. This should save | |
3297 | time and prevent memory leaks on errors, but it must be watched | |
3298 | closely to make sure that the_printed_command doesn't change out | |
3299 | from under execute_simple_command before we copy it | |
3300 | ||
3301 | 11/12 | |
3302 | ----- | |
3303 | builtins/alias.def | |
3304 | - alias and unalias should print error messages when passed an | |
3305 | argument that is not an alias for printing or deletion, | |
3306 | respectively, even if the shell is not interactive | |
3307 | ||
3308 | builtins/exit.def | |
3309 | - `logout' will no longer exit a non-login non-interactive shell | |
3310 | ||
3311 | 11/17 | |
3312 | ----- | |
3313 | lib/readline/nls.c | |
3314 | - add `koi8-r' as a legal LANG value | |
3315 | ||
3316 | builtins/alias.def | |
3317 | - if `alias' or `alias -p' is executed when no aliases are defined, | |
3318 | the return status should be 0, according to POSIX.2 | |
3319 | ||
3320 | 11/18 | |
3321 | ----- | |
3322 | subst.c | |
3323 | - changed a couple of calls to make_word_list (make_word(z), ...) | |
3324 | to add_string_to_list (z, ...) | |
3325 | ||
3326 | execute_cmd.c | |
3327 | - execute_cond_command now sets this_command_name to `[[' | |
3328 | ||
3329 | 11/21 | |
3330 | ----- | |
3331 | variables.c | |
3332 | - all_visible_{function,variable}s and the functions they call | |
3333 | should be compiled in only if READLINE is defined | |
3334 | ||
3335 | 11/24 | |
3336 | ----- | |
3337 | aclocal.m4 | |
3338 | - remove some leading whitespace before preprocessor statements in | |
3339 | BASH_KERNEL_RLIMIT_CHECK | |
3340 | ||
3341 | general.[ch] | |
3342 | - fix declarations for group_member so the extern declaration in | |
3343 | general.h agrees with the definition in general.c (fix from | |
3344 | Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>) | |
3345 | ||
3346 | builtins/cd.def | |
3347 | - print the new working directory if the shell is interactive | |
3348 | and `cd -' succeeds | |
3349 | - don't print the new working directory if it's found in $CDPATH | |
3350 | if the shell is not interactive | |
3351 | ||
3352 | 11/25 | |
3353 | ----- | |
3354 | builtins/cd.def | |
3355 | - fixes to bindpwd so that it copes with get_working_directory | |
3356 | returning NULL (bug from schwab@issan.informatik.uni-dortmund.de) | |
3357 | ||
3358 | 12/2 | |
3359 | ---- | |
3360 | support/config.guess | |
3361 | - add support for new OS name for SINIX SVR4 systems | |
3362 | ||
3363 | 12/3 | |
3364 | ---- | |
3365 | ||
3366 | builtins/set.def | |
3367 | - `unset' should check that a function it's trying to unset is a | |
3368 | legal identifier only when in POSIX mode | |
3369 | ||
3370 | redir.c | |
3371 | - changed here_document_to_fd to try and make sure the filename | |
3372 | used for the here document is `more unique', since the old | |
3373 | version would fail if two here documents were created in less | |
3374 | than a second | |
3375 | ||
3376 | 12/4 | |
3377 | ---- | |
3378 | builtins/cd.def | |
3379 | - POSIX.2 says that if CDPATH is used to find the new directory, | |
3380 | and it's not relative to the current directory, the new directory | |
3381 | name should be displayed on stdout even if the shell is not | |
3382 | interactive | |
3383 | ||
3384 | 12/5 | |
3385 | ---- | |
3386 | parse.y | |
3387 | - changes so that `time' is recognized as a reserved word only at | |
3388 | the beginning of a pipeline (the last read token is one of 0, | |
3389 | `;', `\n', `&&', `||', or `&'): | |
3390 | ||
3391 | o add clause to special_case_tokens that does the check | |
3392 | and returns TIME if the conditions are met | |
3393 | o take check for `TIME' out of CHECK_FOR_RESERVED_WORD, but | |
3394 | leave it in the word_token_alist so that `type' still | |
3395 | reports it as a `keyword' | |
3396 | o new function, time_command_acceptable(), encapsulates the | |
3397 | necessary conditions for `time' to be returned as a | |
3398 | reserved word | |
3399 | ||
3400 | [bash-2.02-alpha1 frozen] | |
3401 | ||
28ef6c31 JA |
3402 | 1/6/1998 |
3403 | -------- | |
cce855bc JA |
3404 | lib/glob/fnmatch.c |
3405 | - fix define for isgraph so that it does not return success for space | |
3406 | - fix strcompare() so that the call to strcoll is surrounded by | |
3407 | #ifdef HAVE_STRCOLL | |
3408 | ||
3409 | 1/7 | |
3410 | --- | |
3411 | lib/glob/fnmatch.c | |
3412 | - the `test' argument to brackmatch() should be of type `unsigned char' | |
3413 | ||
3414 | 1/11 | |
3415 | ---- | |
3416 | execute_cmd.c | |
3417 | - make sure execute_arith_command sets this_command_name to `((' | |
3418 | ||
3419 | 1/29 | |
3420 | ---- | |
3421 | parse.y | |
3422 | - make sure the code for pushing and popping strings is compiled in | |
3423 | if either ALIAS or DPAREN_ARITHMETIC is defined, because the (( | |
3424 | code uses push_string in the case of a nested subshell | |
3425 | - fix cond_skip_newlines so it resets the prompt to $PS2 while | |
3426 | parsing an unfinished conditional command | |
3427 | ||
3428 | dispose_cmd.c, copy_cmd.c, builtins/hash.def | |
3429 | - fixes to not use `word' as a variable name or the name of a | |
3430 | function parameter to get around stuff in the Cray Unix include | |
3431 | files | |
3432 | ||
3433 | builtins/printf.def | |
3434 | - return failure immediately if an illegal format character is | |
3435 | encountered | |
3436 | ||
3437 | redir.c | |
3438 | - make the code that creates here-documents behave better if the | |
3439 | file it's trying to create already exists for some reason | |
3440 | ||
3441 | lib/readline/complete.c | |
3442 | - changed print_filename to return the number of characters it | |
3443 | outputs; changed callers to use that value. This makes columns | |
3444 | line up when printing completion listings with filenames | |
3445 | containing control characters | |
3446 | ||
3447 | doc/bash.{1,html} | |
3448 | - fixed a typo in the quote removal section | |
3449 | ||
3450 | 1/30 | |
3451 | ---- | |
3452 | parse.y | |
3453 | - free_string_list() needs to check that t->expander is not NULL | |
3454 | before trying to dereference it | |
3455 | - reset_parser() doesn't need to set pushed_string_list to NULL | |
3456 | after calling free_string_list(), since free_string_list does it | |
3457 | ||
3458 | configure.in,cross-build/cygwin32.cache | |
3459 | - fixes from Geoff Noer for better cygwin32 cross-compilation | |
3460 | ||
3461 | tests/printf.{tests,right} | |
3462 | - removed test for integer overflow, since error messages differ | |
3463 | across systems | |
3464 | ||
3465 | pathexp.c | |
3466 | - fixed a problem with unquoted_glob_pattern_p that made things | |
3467 | like `x+*' not expand correctly | |
3468 | ||
3469 | lib/glob/glob.c | |
3470 | - fixed a problem with glob_pattern_p that made things like `x+*' | |
3471 | not expand correctly | |
3472 | ||
3473 | builtins/cd.def | |
3474 | - if `cd -P' is executed, or `set -o physical' has been executed, | |
3475 | the value of $PWD after a successful cd will not contain any | |
3476 | symlinks, regardless of whether or not the shell is in posix mode | |
3477 | ||
3478 | 2/3 | |
3479 | --- | |
3480 | lib/readline/shell.c | |
3481 | - include <string.h> or <strings.h> as appropriate | |
3482 | ||
3483 | 2/4 | |
3484 | --- | |
3485 | builtins/common.c | |
3486 | - take out the code in backslash_quote() that looks for tildes to | |
3487 | quote, for the time being | |
3488 | - if getcwd() fails, get_working_directory now prints the error | |
3489 | message corresponding to errno in addition to the rest of the | |
3490 | information -- TENTATIVE CHANGE | |
3491 | ||
3492 | lib/sh/getcwd.c | |
3493 | - fix from Paul Smith to make getcwd() behave better in the presence | |
3494 | of lstat(2) failures | |
3495 | ||
3496 | stringlib.c | |
3497 | - when copying the replacement string into the output string being | |
3498 | constructed, strsub() needs to make sure enough space for the | |
3499 | replacement string is allocated, not the length of the pattern | |
3500 | (use REPLEN, not PATLEN) | |
3501 | ||
3502 | mailcheck.c | |
3503 | - make sure make_default_mailpath() has a valid current_user struct | |
3504 | before trying to construct the default mailpath | |
3505 | ||
3506 | 2/5 | |
3507 | --- | |
3508 | execute_cmd.c | |
3509 | - execute_builtin needs to call run_unwind_frame if the builtin is | |
3510 | `source' or `eval' and we're not in a subshell rather than just | |
3511 | calling dispose_builtin_env, because not all invocations copy | |
3512 | the temporary_env to builtin_env, and nested calls to `.' require | |
3513 | that the temporary env given to the first persist until that first | |
3514 | call to `.' finishes | |
3515 | ||
3516 | parse.y | |
3517 | - fix to history_delimiting_chars so that function definitions like | |
3518 | ||
3519 | function xyz | |
3520 | { | |
3521 | echo a | |
3522 | } | |
3523 | ||
3524 | are saved to the history correctly when command_oriented_history | |
3525 | is enabled, but literal_history is not | |
3526 | ||
3527 | bashhist.c | |
3528 | - when calling internal_error from pre_process_line, use "%s" as | |
3529 | the format with history_value as the argument to avoid the | |
3530 | problem with the failed history event containing printf escape | |
3531 | sequences | |
3532 | ||
3533 | 2/13 | |
3534 | ---- | |
3535 | shell.c | |
3536 | - if shell_initialized is non-zero, don't line-buffer stderr and | |
3537 | stdout in shell_initialize on SunOS5 -- see if this fixes the | |
3538 | crashing problems for scripts without a leading `#! /bin/sh' | |
3539 | ||
3540 | 2/17 | |
3541 | ---- | |
3542 | bashline.c | |
3543 | - added diffs to _ignore_completion_names from Andreas Schwab to | |
3544 | complete names that would otherwise be ignored with FIGNORE if | |
3545 | they are the only possible completions. Define NO_FORCE_FIGNORE | |
3546 | if you want this; it is not defined by default | |
3547 | ||
3548 | 2/19 | |
3549 | ---- | |
3550 | support/bashbug.sh | |
3551 | - changed the bug-bash address to bug-bash@gnu.org | |
3552 | ||
3553 | examples/loadables/Makefile.in | |
3554 | - converted from `Makefile' with some boilerplate configure variables | |
3555 | to find the source and build directories -- still requires some | |
3556 | hand-editing to get the right CFLAGS and LDFLAGS for shared object | |
3557 | creation | |
3558 | ||
3559 | Makefile.in | |
3560 | - create examples/loadables/Makefile with `make makefiles' | |
3561 | ||
3562 | configure.in | |
3563 | - create examples/loadables directory so `make makefiles' can write a | |
3564 | makefile there | |
3565 | ||
3566 | general.c | |
3567 | - make sure initialize_groups_array always sets things up so that | |
3568 | ${GROUPS[0]} is the user's primary group (current_user.gid) | |
3569 | ||
3570 | 2/20 | |
3571 | ---- | |
3572 | lib/readline/parens.c | |
3573 | - change the time delay when showing matching parens from 1.5 sec to | |
3574 | 0.5 sec | |
3575 | ||
3576 | 2/23 | |
3577 | ---- | |
3578 | shell.c | |
3579 | - isnetconn() should call getpeername(fd,...) instead of using 0 | |
3580 | (though fileno(stdin) should always be 0) | |
3581 | ||
3582 | support/config.guess | |
3583 | - updates from master FSF copy | |
3584 | ||
3585 | 2/24 | |
3586 | ---- | |
3587 | support/man2html.c | |
3588 | - modified version of man2html to convert bash.1 into bash.html | |
3589 | ||
3590 | support/Makefile.in | |
3591 | - simple Makefile to create man2html | |
3592 | ||
3593 | configure.in | |
3594 | - make sure support/Makefile is created | |
3595 | ||
3596 | Makefile.in | |
3597 | - make sure support/Makefile is created and cleaned | |
3598 | ||
3599 | doc/Makefile.in | |
3600 | - changes to suffix rules to say how to make .html from .1 | |
3601 | - `bash.html' is now a makefile target, created by man2html from | |
3602 | bash.1 rather than being hand-modified | |
3603 | ||
3604 | lib/sh/itos.c, general.c | |
3605 | - new file, itos() from general.c. This is here because the | |
3606 | implementation of strerror in lib/sh/strerror.c uses itos() | |
3607 | ||
3608 | Makefile.in, lib/sh/Makefile.in | |
3609 | - changes to add itos.c in libsh.a | |
3610 | ||
3611 | externs.h, general.h | |
3612 | - moved extern declaration of itos() from general.h to externs.h | |
3613 | ||
3614 | aclocal.m4 | |
3615 | - changes to BASH_LARGE_FILE_SUPPORT for the LFS64_* variables in | |
3616 | Solaris 2.6 | |
3617 | ||
3618 | Makefile.in | |
3619 | - make sure configure sets CPPFLAGS in this file | |
3620 | ||
3621 | 2/27 | |
3622 | ---- | |
3623 | ||
3624 | builtins/command.def | |
3625 | - make sure get_standard_path returns the value of | |
3626 | STANDARD_UTILS_PATH if _CS_PATH is defined, but confstr(3) | |
3627 | returns 0, indicating that _CS_PATH does not have a defined | |
3628 | value | |
3629 | ||
3630 | bashhist.c | |
3631 | - fixed bash_history_inhibit_expansion() so that extended globbing | |
3632 | expressions like *.!(c) are not history expanded if extended_glob | |
3633 | is non-zero (shopt -s extglob has been executed) | |
3634 | ||
3635 | 3/2 | |
3636 | --- | |
3637 | Makefile.in | |
3638 | - changed release status to `beta1' | |
3639 | ||
3640 | [bash-2.02-beta1 frozen] | |
3641 | ||
3642 | 3/17 | |
3643 | ---- | |
3644 | lib/readline/vi_mode.c | |
3645 | - make sure _rl_vi_save_insert() gets a non-null UNDO_LIST pointer | |
3646 | before trying to do anything with it | |
3647 | ||
3648 | jobs.c | |
3649 | - add a call to internal_warning from wait_for_job if the job is | |
3650 | stopped | |
3651 | - changed notify_of_job_status to not report pipelines exiting due to | |
3652 | SIGPIPE in non-interactive shells if the shell is compiled with | |
3653 | -DDONT_REPORT_SIGPIPE | |
3654 | ||
3655 | builtins/psize.sh | |
3656 | - some fixes to try to avoid /tmp file races and surreptitious | |
3657 | substitutions | |
3658 | ||
3659 | version.c | |
3660 | - changed the extended version info to show 1998 as the copyright year | |
3661 | ||
3662 | parse.y | |
3663 | - fixes from Andreas Schwab <schwab@LS5.informatik.uni-dortmund.de> | |
3664 | for compilation errors when the shell is configured --disable-alias | |
3665 | but with dparen arithmetic enabled | |
3666 | ||
3667 | eval.c | |
3668 | - fixes from Andreas Schwab <schwab@LS5.informatik.uni-dortmund.de> to | |
3669 | make sure the input stream is popped correctly when performing an | |
3670 | array assignment in the command argument to `bash -c', e.g., | |
3671 | `bash -c 'A=()'' | |
3672 | ||
3673 | builtins/kill.def | |
3674 | - make `kill' with no arguments print a usage message and return a | |
3675 | failure status | |
3676 | ||
3677 | alias.c | |
3678 | - fix so that rd_token doesn't dump core when trying to do alias | |
3679 | expansion on a line containing an unclosed single quote (fix from | |
3680 | Vasco Pedro <vp@di.fct.unl.pt>) | |
3681 | ||
3682 | builtins/cd.def | |
3683 | - fix so that using a non-empty directory from CDPATH to construct | |
3684 | the name of the directory to change to results in an absolute | |
3685 | pathname of the new current working directory being displayed, | |
3686 | as POSIX.2 specifies | |
3687 | ||
3688 | support/bashbug.sh | |
3689 | - a couple of small fixes to minimize /tmp file races -- the script | |
3690 | is still raceable, the window is just smaller | |
3691 | ||
3692 | 3/24 | |
3693 | ---- | |
3694 | variables.c | |
3695 | - make sure assign_in_env passes a malloc'd string to | |
3696 | expand_string_unsplit, because some of the error code assumes that | |
3697 | it is malloc'd and frees it (bug reported by Marko.Makela@HUT.FI) | |
3698 | ||
3699 | 3/25 | |
3700 | ---- | |
3701 | doc/bashref.texi | |
3702 | - changed the email addresses to use the @email texinfo tag | |
3703 | ||
3704 | trap.c | |
3705 | - call reset_parser from the exit trap code before calling | |
3706 | parse_and_execute, so reserved words are parsed correctly | |
3707 | ||
3708 | subst.c | |
3709 | - make sure parameter_brace_patsub expands the pattern string as if | |
3710 | the expression were not in double quotes, even if the entire | |
3711 | expansion is enclosed in double quotes, so that quote removal | |
3712 | on embedded double quotes is performed correctly (bug report from | |
3713 | schwab@issan.informatik.uni-dortmund.de) | |
3714 | ||
3715 | 3/27 | |
3716 | ---- | |
3717 | support/config.guess | |
3718 | - changes to allow Power PCs running Apple's Rhapsody to configure | |
3719 | ||
3720 | 3/31 | |
3721 | ---- | |
3722 | ||
3723 | Makefile.in | |
3724 | - changed release status to `beta2' | |
3725 | ||
3726 | [bash-2.02-beta2 frozen] | |
3727 | ||
3728 | 4/6 | |
3729 | --- | |
3730 | subst.c | |
3731 | - make sure command_substitute does not try to set the terminal's | |
3732 | process group to a background job | |
3733 | ||
3734 | [bash-2.02 frozen] | |
b72432fd JA |
3735 | |
3736 | 4/18 | |
3737 | ---- | |
3738 | [bash-2.02 released] | |
3739 | ||
3740 | 4/20 | |
3741 | ---- | |
3742 | bashline.c | |
3743 | - make sure that rl_defun is not called for | |
3744 | history-and-alias-expand-line unless both ALIAS and BANG_HISTORY | |
3745 | are defined | |
3746 | [in bash-2.02.1] | |
3747 | ||
3748 | 4/22 | |
3749 | ---- | |
3750 | make_cmd.c | |
3751 | - make sure that make_here_document allocates enough space for the | |
3752 | first line of the here document, by using the line length +2 | |
3753 | (instead of 1000, which is what the old code did, and breaks if | |
3754 | the first line of the here document is enough longer than 1000 | |
3755 | characters to cause other memory to be scribbled on) | |
3756 | [in bash-2.02.1] | |
3757 | ||
3758 | builtins/cd.def | |
3759 | - when in posix mode, a value of "" for CDPATH should be treated the | |
3760 | same as the current directory, not result in an error | |
3761 | [in bash-2.02.1] | |
3762 | ||
3763 | lib/malloc/malloc.c | |
3764 | - change the mh_align member of `union mhead' to be of type double | |
3765 | rather than a pointer, so that malloc will return (hopefully) | |
3766 | 8-byte aligned memory | |
3767 | [in bash-2.02.1] | |
3768 | ||
3769 | 4/23 | |
3770 | ---- | |
3771 | aclocal.m4 | |
3772 | - add a new macro to check whether or not off_t is 64 bits | |
3773 | ||
3774 | 4/24 | |
3775 | ---- | |
3776 | configure.in | |
3777 | - fixed a typo so the bash malloc is not compiled in on mips-sgi-irix6 | |
3778 | ||
3779 | lib/readline/display.c | |
3780 | - fix for readline redisplay if the prompt string is longer than the | |
3781 | screen width and includes invisible characters | |
3782 | [in bash-2.02.1] | |
3783 | ||
3784 | jobs.c | |
3785 | - make_child should not set the terminal's process group to | |
3786 | pipeline_pgrp if pipeline_pgrp == shell_pgrp (indicating that we | |
3787 | are forking a child for a command substitution) | |
3788 | [in bash-2.02.1] | |
3789 | ||
3790 | subst.c | |
3791 | - in execute_simple_command, in the child forked if there is a pipe | |
3792 | or the command is asynchronous, set subshell_environment to | |
3793 | SUBSHELL_ASYNC only if the command is asynchronous, SUBSHELL_FORK | |
3794 | if there is a pipe in or out | |
3795 | [in bash-2.02.1] | |
3796 | ||
3797 | 4/27 | |
3798 | ---- | |
3799 | support/texi2dvi | |
3800 | - upgraded to version 0.8 (from 0.5) | |
3801 | ||
3802 | support/texi2html | |
3803 | - upgraded to version 1.52 (from 1.51) | |
3804 | ||
3805 | support/config.sub | |
3806 | - config.sub now recognizes all the permutations of the system name | |
3807 | that config.guess produces for alphas | |
3808 | [in bash-2.02.1] | |
3809 | ||
3810 | aclocal.m4 | |
3811 | - changed BASH_TYPE_INT32_T, BASH_TYPE_U_INT32_T, and | |
3812 | BASH_TYPE_PTRDIFF_T to avoid compiling a program; instead use | |
3813 | the values determined by the AC_CHECK_SIZEOF tests to determine | |
3814 | the default values to supply to AC_CHECK_TYPE | |
3815 | ||
3816 | configure.in | |
3817 | - don't call AC_CHECK_TYPE({int32_t,u_int32_t,ptrdiff_t}) from | |
3818 | configure.in; use the updated BASH_TYPE macros instead | |
3819 | ||
3820 | builtins/exec.def | |
3821 | - if shell_execve fails, set ARGS to null because the realloc() call | |
3822 | by shell_execve may have caused it to be reallocated and freed -- | |
3823 | we don't want to free the memory twice | |
3824 | ||
3825 | lib/glob/fnmatch.c | |
3826 | - fixes from ache@nagual.pp.ru to make fnmatch work for eight-bit | |
3827 | characters when `isupper' and `islower' are used -- they were | |
3828 | restricted to ASCII characters before, probably to work around | |
3829 | some ancient, broken C libraries in which is{low,upp}er are valid | |
3830 | only for ASCII characters and return bogus values otherwise | |
3831 | [in bash-2.02.1] | |
3832 | ||
3833 | 4/29 | |
3834 | ---- | |
3835 | builtins/cd.def | |
3836 | - fixed a problem with the shell displaying the old working directory | |
3837 | instead of the new one after changing to a directory found via | |
3838 | $CDPATH when in physical mode (set -o physical) | |
3839 | [in bash-2.02.1] | |
3840 | ||
3841 | make_cmd.c | |
3842 | - make make_cond_command initialize the line number from the cond_node | |
3843 | that's passed as an argument (not that it's used right now) | |
3844 | ||
3845 | copy_cmd.c | |
3846 | - make sure that copy_cond_command copies the type of the cond command, | |
3847 | since execute_cond_command uses that to decide what kind of test | |
3848 | to perform | |
3849 | [in bash-2.02.1] | |
3850 | ||
3851 | builtins/printf.def | |
3852 | - make sure the for loop that processes the format string actually | |
3853 | consumes arguments; otherwise process it only once to avoid | |
3854 | infinite loops (e.g., `printf " " abc def ghi') | |
3855 | [in bash-2.02.1] | |
3856 | - if the format string is empty after preprocessing by ansicstr, | |
3857 | return immediately | |
3858 | [in bash-2.02.1] | |
3859 | ||
3860 | tests/run-printf | |
3861 | - use `diff -a' so the presence of a non-printing character in the | |
3862 | output doesn't confuse diff into thinking the files are binary | |
3863 | (test whether or not `diff' supports `-a' first) | |
3864 | ||
3865 | Makefile.in | |
3866 | - keep $(LOCAL_LIBS) from being specified twice | |
3867 | ||
3868 | 4/30 | |
3869 | ---- | |
3870 | support/shobj-conf | |
3871 | - a script to generate variables to do shared object configuration | |
3872 | for the loadable builtin stuff | |
3873 | ||
3874 | configure.in | |
3875 | - added a section for shared object configuration using an `eval' | |
3876 | of the output of shobj-conf and substituting the generated values | |
3877 | with AC_SUBST | |
3878 | ||
3879 | examples/loadables/Makefile.in | |
3880 | - the system-specific shared object configuration variables are now | |
3881 | substituted by configure | |
3882 | ||
3883 | 5/4 | |
3884 | --- | |
3885 | builtins/ulimit.def | |
3886 | - some changes for HPUX 9.x's peculiar handling of RLIMIT_FILESIZE | |
3887 | - changed the limit retrieval functions to return an error code | |
3888 | and the value in a reference argument to avoid use of RLIM_INVALID | |
3889 | ||
3890 | general.c | |
3891 | - new function, get_group_array(), which returns an array of | |
3892 | gids | |
3893 | ||
3894 | examples/loadables/{id,printenv,sync,uname,whoami,push}.c | |
3895 | - new loadable builtins | |
3896 | ||
3897 | variables.c | |
3898 | - moved code that initializes $PPID into a new function, set_ppid() | |
3899 | ||
3900 | variables.h | |
3901 | - extern declaration for set_ppid() | |
3902 | ||
3903 | 5/6 | |
3904 | --- | |
3905 | subst.c | |
3906 | - make sure that the `"' (double-quoted string) case of | |
3907 | expand_word_internal calls string_list_dollar_at if we've expanded | |
3908 | a double-quoted $@ so correct splitting on $IFS is done when | |
3909 | the expansion is complete. We can't simply call string_list | |
3910 | because that forces a space separator, and $IFS may not contain | |
3911 | a space | |
3912 | [in bash-2.02.1] | |
3913 | ||
3914 | 5/7 | |
3915 | --- | |
3916 | builtins/umask.def | |
3917 | - broke the code that parses a symbolic mode out of symbolic_umask | |
3918 | into a separate function that takes a symbolic mode and an initial | |
3919 | set of bits to modify | |
3920 | ||
3921 | examples/loadables/mkdir.c | |
3922 | - new loadable builtin | |
3923 | ||
3924 | 5/11 | |
3925 | ---- | |
3926 | builtins/printf.def | |
3927 | - use the format string length provided by ansicstr() to process the | |
3928 | format string, rather than testing for nullness, to handle NUL | |
3929 | bytes in the expanded format string | |
3930 | ||
3931 | builtins/pushd.def | |
3932 | - changes so it can be built as both a regular builtin and a loadable | |
3933 | builtin from the same source | |
3934 | ||
3935 | examples/loadables/Makefile.in | |
3936 | - changes to build pushd.c from ${topdir}/builtins/pushd.def and then | |
3937 | compile it with the correct flags to make it a loadable builtin, | |
3938 | even if PUSHD_AND_POPD is not defined in config.h | |
3939 | ||
3940 | 5/12 | |
3941 | ---- | |
3942 | lib/readline/complete.c | |
3943 | - use rl_completer_quote_characters instead of #ifdef SHELL/#endif | |
3944 | code in make_quoted_replacement. This means complete.c no longer | |
3945 | has any #ifdef SHELL code | |
3946 | ||
3947 | 5/13 | |
3948 | ---- | |
3949 | builtins/Makefile.in | |
3950 | - `make clean' should remove mkbuiltins.o | |
3951 | ||
3952 | Makefile.in | |
3953 | - all of the various `clean' targets need to descend into lib/sh | |
3954 | and run the appropriate target there | |
3955 | ||
3956 | builtins/type.def | |
3957 | - changed to use the builtin getopt. The old long options are | |
3958 | handled by prescanning the argument list looking for the long | |
3959 | options, processing them, and taking them out of the list before | |
3960 | passing it to internal_getopt() | |
3961 | ||
3962 | lib/readline/signals.c | |
3963 | - removed #ifdef SHELL code -- job control signals and SIGTERM are | |
3964 | always set in rl_set_signals, but are set to SIG_IGN if the old | |
3965 | handler was SIG_IGN (as bash sets it) | |
3966 | - new function rl_maybe_set_sighandler, which sets the signal | |
3967 | disposition back to SIG_IGN if the old handler was SIG_IGN | |
3968 | - removed #ifdef HANDLE_JOB_SIGNALS and #ifdef HANDLE_SIGTERM code | |
3969 | ||
3970 | lib/readline/rltty.c | |
3971 | - removed #ifdef SHELL code -- set_winsize is always called | |
3972 | to force the application to stop if it's not in the foreground | |
3973 | before getting the tty attributes | |
3974 | ||
3975 | 5/14 | |
3976 | ---- | |
3977 | lib/readline/signals.c | |
3978 | - readline now catches SIGQUIT and cleans up the tty before resending | |
3979 | it to its container application (unless the calling application has | |
3980 | set the disposition of SIGQUIT to be SIG_IGN) | |
3981 | - rl_handle_sigwinch is now called rl_sigwinch_handler | |
3982 | - rl_sigwinch_handler now calls rl_resize_terminal to fetch the | |
3983 | screen size after a SIGWINCH | |
3984 | - the sighandler_cxt struct for non-posix systems now includes | |
3985 | sa_flags and sa_mask variables, for future use | |
3986 | - new variable, rl_catch_signals, indicating that readline should | |
3987 | install its own signal handlers for SIGINT, SIGTERM, SIGQUIT, | |
3988 | SIGALRM, SIGTSTP, SIGTTIN, and SIGTTOU | |
3989 | - new variable, rl_catch_sigwinch, indicating that readline should | |
3990 | install its own SIGWINCH handler, which will chain to a calling | |
3991 | application's SIGWINCH handler | |
3992 | - new function, rl_free_line_state(), to free up variable state | |
3993 | associated with the current line after receiving a signal | |
3994 | - new function, rl_cleanup_after_signal(), to clean up the display | |
3995 | and terminal state after receiving a signal | |
3996 | - new function, rl_reset_after_signal(), to reinitialize the | |
3997 | terminal state after a signal handler returns and readline | |
3998 | continues | |
3999 | - rl_set_signals and rl_clear_signals now look at the values of | |
4000 | rl_catch_signals and rl_catch_sigwinch | |
4001 | ||
4002 | lib/readline/terminal.c | |
4003 | - new function rl_resize_terminal (), to reset readline's idea of | |
4004 | the screen size after a SIGWINCH | |
4005 | ||
4006 | lib/readline/readline.h | |
4007 | - extern declarations for rl_resize_terminal(), rl_free_line_state(), | |
4008 | rl_cleanup_after_signal(), rl_reset_after_signal() | |
4009 | - extern declarations for rl_catch_signals and rl_catch_sigwinch | |
4010 | ||
4011 | variables.c | |
4012 | - new functions, get_env_value(char *) and get_home_dir(void) to | |
4013 | satisfy references from the tilde and readline libraries when | |
4014 | they are compiled as part of bash | |
4015 | ||
4016 | lib/tilde/tilde.c | |
4017 | - rely on extern declarations of get_env_value and get_home_dir; | |
4018 | there is no more #ifdef SHELL code | |
4019 | ||
4020 | lib/readline/shell.c | |
4021 | - implementation of get_home_dir that uses getpwuid() to satisfy | |
4022 | references from tilde.c when not compiled as part of bash | |
4023 | - removed savestring() | |
4024 | - removed #ifdef SHELL/#endif pair -- all of these functions will be | |
4025 | resolved from bash when readline is linked into bash | |
4026 | ||
4027 | lib/readline/savestring.c | |
4028 | - new file, with function definition for savestring() for backwards | |
4029 | compatibility | |
4030 | ||
4031 | Makefile.in, _distribution | |
4032 | - bumped things up to bash-2.03-alpha | |
4033 | ||
4034 | 5/15 | |
4035 | ---- | |
4036 | lib/readline/rlconf.h | |
4037 | - removed #ifdef SHELL/#endif pair, so the callback stuff will be | |
4038 | compiled into libreadline, but never linked into bash (since it's | |
4039 | not referenced) | |
4040 | ||
4041 | configure.in | |
4042 | - added new `--with-installed-readline' option to allow readline to | |
4043 | be linked with an already-installed version -- this will probably | |
4044 | not work with versions of readline prior to 2.3 (libreadline.so.4) | |
4045 | [THIS IS STILL UNDOCUMENTED] | |
4046 | ||
4047 | Makefile.in | |
4048 | - changed necessary variables to allow the `--with-installed-readline' | |
4049 | option to work; shared and static libraries are supported | |
4050 | ||
4051 | 5/18 | |
4052 | ---- | |
4053 | lib/readline/display.c | |
4054 | - _rl_save_prompt is now rl_save_prompt; _rl_restore_prompt is now | |
4055 | rl_restore_prompt | |
4056 | ||
4057 | lib/readline/readline.h | |
4058 | - extern declarations for rl_save_prompt and rl_restore_prompt | |
4059 | ||
4060 | lib/readline/{search,isearch,readline,display}.c | |
4061 | - converted calls to _rl_{save,restore}_prompt () to use new public | |
4062 | versions | |
4063 | ||
4064 | lib/readline/doc/rltech.texinfo | |
4065 | - documented new public functions rl_{save,restore}_prompt | |
4066 | ||
4067 | 5/19 | |
4068 | ---- | |
4069 | lib/readline/readline.c | |
4070 | - new hook function variable, rl_pre_input_hook. If non-zero, it's | |
4071 | called from readline_internal_setup just before it returns and | |
4072 | readline starts reading input | |
4073 | ||
4074 | lib/readline/readline.h | |
4075 | - extern declaration for rl_pre_input_hook | |
4076 | ||
4077 | lib/readline/doc/rltech.texinfo | |
4078 | - documented new variable rl_pre_input_hook | |
4079 | ||
4080 | 5/20 | |
4081 | ---- | |
4082 | lib/readline/complete.c | |
4083 | - new hook function variable, rl_completion_display_matches_hook. | |
4084 | If non-null, this function is called when readline would normally | |
4085 | display the list of completion matches | |
4086 | ||
4087 | lib/readline/readline.h | |
4088 | - extern declaration for rl_completion_display_matches_hook | |
4089 | ||
4090 | lib/readline/doc/rltech.texinfo | |
4091 | - documented rl_completion_display_matches_hook | |
4092 | ||
4093 | lib/readline/readline.c | |
4094 | - if RL_LIBRARY_VERSION is not defined, define it to 4.0 to match | |
4095 | the version number of the shared libraries | |
4096 | ||
4097 | lib/readline/doc/{hist,rlman}.texinfo | |
4098 | - changed the version and edition to 4.0 to match the library version | |
4099 | ||
4100 | support/config.guess | |
4101 | - added case clause for matching UnixWare 7 from SCO (SVR5) -- further | |
4102 | work may be needed | |
4103 | [These fixes were in a usenet posting from hops@sco.com] | |
4104 | ||
4105 | support/config.sub | |
4106 | - added case clauses to recognize various aliases for SCO Open Server | |
4107 | and Open Desktop | |
4108 | [in bash-2.02.1] | |
4109 | - broke the code that canonicalizes unixware into unixware2 and | |
4110 | unixware7 clauses (multiple places) | |
4111 | [in bash-2.02.1] | |
4112 | - added clause to recognize `sysv5' for SVR5 | |
4113 | [These fixes were in a usenet posting from hops@sco.com] | |
4114 | [in bash-2.02.1] | |
4115 | ||
4116 | configure.in | |
4117 | - add `-b elf' to LOCAL_CFLAGS for sco3.2v5* to allow dynamic linking | |
4118 | (and loadable builtins) | |
4119 | - add AC_DEFINE(SVR5) on SVR5 (unixware 7) | |
4120 | ||
4121 | config.h.in | |
4122 | - add #undef SVR5, set by configure | |
4123 | ||
4124 | 5/21 | |
4125 | ---- | |
4126 | shell.c | |
4127 | - line-buffer stdout and stderr in shell_initialize only if | |
4128 | shell_initialized is 0 on all systems, not just SunOS 5 | |
4129 | [in bash-2.02.1] | |
4130 | ||
4131 | support/rlvers.sh | |
4132 | - script to print out the version number of any installed | |
4133 | readline library | |
4134 | ||
4135 | configure.in | |
4136 | - only allow --with-installed-readline if the version of the | |
4137 | installed readline library is 4.0 or greater | |
4138 | ||
4139 | 5/22 | |
4140 | ---- | |
4141 | lib/readline/complete.c | |
4142 | - broke the code that actually displays a list of completion | |
4143 | matches on the output stream into a separate public function, | |
4144 | rl_display_match_list, so it can be called from the hook | |
4145 | function rl_completion_display_matches_hook. | |
4146 | ||
4147 | lib/readline/readline.h | |
4148 | - new extern declaration for rl_display_match_list | |
4149 | ||
4150 | lib/readline/rltech.texinfo | |
4151 | - documented rl_display_match_list | |
4152 | ||
4153 | configure.in,Makefile.in | |
4154 | - --enable-static-link now creates a STATIC_LD variable in Makefile | |
4155 | rather than adding to LDFLAGS directly. LDFLAGS now includes | |
4156 | $(STATIC_LD) | |
4157 | ||
4158 | 6/2 | |
4159 | --- | |
4160 | builtins/cd.def | |
4161 | - OLDPWD is now auto-exported | |
4162 | - broke the code out of bindpwd() that updated the value of PWD in | |
4163 | the export environment in-place and made it general, so it can | |
4164 | be used for OLDPWD, too (this should be made *more* general, and | |
4165 | moved to variables.c) | |
4166 | ||
4167 | 6/3 | |
4168 | --- | |
4169 | variables.c | |
4170 | - moved builtins/cd.def:export_pwd_var to here, renamed it to | |
4171 | update_export_env_inplace | |
4172 | - converted put_command_name_into_env to just call | |
4173 | update_export_env_inplace | |
4174 | - made dummy variable for OLDPWD, marked as invisible and exported, | |
4175 | in initialize_shell_variables | |
4176 | ||
4177 | variables.h | |
4178 | - extern declaration for update_export_env_inplace | |
4179 | ||
4180 | builtins/cd.def | |
4181 | - changed calls to export_pwd_var to update_export_env_inplace | |
4182 | ||
4183 | lib/readline/bind.c | |
4184 | - added missing return in rl_unbind_function_in_map | |
4185 | - changed _rl_read_file to check whether or not `read' returns | |
4186 | < 0 rather than < file_size | |
4187 | - _rl_read_init_file needs to free `openname' after calling | |
4188 | _rl_read_file, since it's not used again | |
4189 | ||
4190 | lib/readline/callback.c | |
4191 | - bogus extern declaration for `readline_internal_startup', should | |
4192 | be readline_internal_setup | |
4193 | ||
4194 | lib/readline/histfile.c | |
4195 | - read_history_range now checks whether read(2) returns < 0 rather | |
4196 | than checking the return value against the file size | |
4197 | ||
4198 | lib/readline/parens.c | |
4199 | - whoops -- timer.tv_usec is *micro* seconds, not milliseconds | |
4200 | ||
4201 | lib/readline/readline.c | |
4202 | - initialize `eof' to 1 in readline_internal_charloop | |
4203 | ||
4204 | 6/5 | |
4205 | --- | |
4206 | configure.in | |
4207 | - if we're configuring with an installed version of readline, set and | |
4208 | have configure substitute RL_INCLUDE to `-I$(includedir)', so the | |
4209 | build process uses the installed readline include files as well as | |
4210 | the libraries | |
4211 | ||
4212 | Makefile.in, builtins/Makefile.in | |
4213 | - add @RL_INCLUDE@ in the appropriate places, substituted by configure | |
4214 | ||
4215 | lib/readline/{history,readline}.h | |
4216 | - add `extern "C"' wrapper if `__cplusplus' is defined | |
4217 | ||
4218 | lib/glob/fnmatch.h | |
4219 | - include stdc.h | |
4220 | - add prototypes to extern declaration for fnmatch() | |
4221 | ||
4222 | lib/readline/rlstdc.h | |
4223 | - link to ../posixheaders/stdc.h (in readline lib with different name | |
4224 | for benefit of standalone readline library installation) | |
4225 | ||
4226 | lib/readline/{history,keymaps}.h | |
4227 | - include rlstdc.h | |
4228 | - add prototypes to all of the extern function declarations | |
4229 | ||
4230 | lib/readline/history.h | |
4231 | - the `data' member of a HIST_ENTRY is now a histdata_t, which is | |
4232 | either a void * (ansi c) or a char * (k&r c) | |
4233 | ||
4234 | lib/readline/readline.c | |
4235 | - changed calls to replace_history_entry to pass a histdata_t as the | |
4236 | third parameter | |
4237 | ||
4238 | 6/8 | |
4239 | --- | |
4240 | copy_cmd.c | |
4241 | - make sure that copy_cond_command doesn't blindly try to copy | |
4242 | com->op, since that will be null for AND and OR nodes, at least | |
4243 | [in bash-2.02.1] | |
4244 | ||
4245 | lib/readline/vi_mode.c | |
4246 | - added missing second argument to rl_vi_[fbe][Ww]ord(), since | |
4247 | they're used as pseudo-bindable commands (they appear in the | |
4248 | default funmap) as well as utility functions | |
4249 | ||
4250 | lib/readline/readline.h | |
4251 | - include rlstdc.h | |
4252 | - added prototypes for functions from vi_mode.c, util.c, terminal.c, | |
4253 | search.c, util.c, undo.c, readline.c, parens.c, macro.c, kill.c, | |
4254 | keymaps.c, isearch.c, input.c, funmap.c, display.c, complete.c, | |
4255 | callback.c, | |
4256 | - added extern declarations for functions from rltty.c | |
4257 | ||
4258 | lib/readline/{readline,util}.c | |
4259 | - rl_refresh_line now takes the standard two arguments for bindable | |
4260 | commands; changed callers | |
4261 | ||
4262 | lib/readline/*.c | |
4263 | - small cleanups for incorrect arguments, etc. uncovered by use of | |
4264 | function prototypes | |
4265 | ||
4266 | bashline.c | |
4267 | - small cleanups for incorrect arguments, etc. uncovered by use of | |
4268 | function prototypes | |
4269 | ||
4270 | 6/11 | |
4271 | ---- | |
4272 | jobs.c | |
4273 | - cast result of strsignal() to (char *) for the benefit of broken | |
4274 | Cray UNICOS machines | |
4275 | [in bash-2.02.1] | |
4276 | ||
4277 | configure.in,aclocal.m4 | |
4278 | - new test, BASH_TYPE_BITS64_T, used to find out what basic type is | |
4279 | 64 bits long; defaults to `double' | |
4280 | - call AC_CHECK_SIZEOF(double) | |
4281 | ||
4282 | config.h.in | |
4283 | - #define for bits64_t, undef by default | |
4284 | ||
4285 | 6/24 | |
4286 | ---- | |
4287 | aclocal.m4 | |
4288 | - changed BASH_TYPE_BITS64_T so that it checks the size of a char * | |
4289 | first, before trying sizeof(double) | |
4290 | ||
4291 | lib/readline/doc/rluser.texinfo,doc/{bash.1,readline.3} | |
4292 | - changed default binding for tilde-expand to M-&, since bash | |
4293 | overrides M-~ to force username completion | |
4294 | ||
4295 | bashline.c | |
4296 | - fixed an off-by-one error in hostnames_matching that exhibited | |
4297 | itself when an exact multiple of 16 hostnames matched (fix | |
4298 | from <davidg@nikhef.nl>) | |
4299 | [in bash-2.02.1] | |
4300 | ||
4301 | 6/30 | |
4302 | ---- | |
4303 | lib/readline/readline.c | |
4304 | - the maximum numeric argument is now 1000000 | |
4305 | ||
4306 | bashline.c | |
4307 | - fixed a bug in bash_directory_completion_hook that caused memory | |
4308 | to be freed twice if a directory name containing an unset | |
4309 | variable was completed and `set -u' had been set | |
4310 | ||
4311 | configure.in | |
4312 | - on LynxOS, add a -DRECYCLES_PIDS to LOCAL_CFLAGS | |
4313 | ||
4314 | execute_cmd.c | |
4315 | - make sure that the changes to make the shell fork early when | |
4316 | run in the background do not cause commands such as `%1 &' | |
4317 | to fork | |
4318 | [in bash-2.02.1] | |
4319 | - if RECYCLES_PIDS is defined, execute_command_internal sets | |
4320 | last_made_pid to NO_PID after waiting for a foreground process, | |
4321 | if the return status is 0 (fix from plai@Lynx.COM (Paul Lai)) | |
4322 | ||
4323 | lib/readline/kill.c | |
4324 | - fixes from Andreas Schwab to rl_yank_last_arg that make it | |
4325 | behave better | |
4326 | ||
4327 | lib/readline/input.c | |
4328 | - fixes from Donald Beaudry <donb@sgi.com> to make the input buffering | |
4329 | and rl_stuff_char work right when the input buffer is nearly full | |
4330 | (probably not a problem with keyboard input, but maybe a problem | |
4331 | with programmers attempting to use rl_stuff_char to preload the | |
4332 | input buffer) | |
4333 | ||
4334 | 7/14 | |
4335 | ---- | |
4336 | parse.y | |
4337 | - fix to decode_prompt_string so that the \$ expansion quotes the `$' | |
4338 | so it won't be processed by subsequent parameter expansion | |
4339 | - change read_token_word so a $$ appearing in a token is recognized | |
4340 | and parsed immediately, so a single or double quote after the | |
4341 | second `$' doesn't cause ANSI-C expansion or locale translation | |
4342 | (bug report from haertel@ichips.intel.com) | |
4343 | ||
4344 | 7/16 | |
4345 | ---- | |
4346 | lib/readline/display.c | |
4347 | - fixed a bug that caused core dumps in xrealloc if the prompt was | |
4348 | longer than 1024 characters | |
4349 | ||
4350 | 7/21 | |
4351 | ---- | |
4352 | builtins/mkbuiltins.c | |
4353 | - if the number of characters read from the .def file is less than | |
4354 | the file size reported by `stat', and the read completed without | |
4355 | errors, reset the file size to avoid writing garbage at the end | |
4356 | of the generated .c file (needed on WIN32 systems, doesn't hurt | |
4357 | on Unix) | |
4358 | ||
4359 | 7/22 | |
4360 | ---- | |
4361 | CWRU/empty-for-wordlist | |
4362 | - patch from Brian Fox for parse.y to allow bash to accept an empty | |
4363 | `wordlist' after the `in' keyword in a for statement | |
4364 | ||
4365 | 7/23 | |
4366 | ---- | |
4367 | doc/bash.1 | |
4368 | - corrected the synopsis of the `for' and `select' statements to | |
4369 | indicate that the semicolon (or newline) after the optional | |
4370 | `in words' is required | |
4371 | ||
4372 | [bash-2.02.1 released] | |
4373 | ||
4374 | 7/28 | |
4375 | ---- | |
4376 | lib/readline/display.c | |
4377 | - make sure visible_length is initialized to 0 in rl_expand_prompt. | |
4378 | Fix from Gerhard Niklasch <nikl@mathematik.tu-muenchen.de>. | |
4379 | ||
4380 | lib/glob/glob.c | |
4381 | - make sure that quotes are removed from the filename being globbed | |
4382 | in glob_vector() before calling the GLOB_TESTNAME macro if there | |
4383 | are no globbing characters in the pattern | |
4384 | ||
4385 | doc/Makefile.in | |
4386 | - make sure that builtins.1 is looked for in $(srcdir) when running | |
4387 | `make install' (it's still commented out, though) | |
4388 | ||
4389 | 7/30 | |
4390 | ---- | |
4391 | config.h.bot | |
4392 | - if PROMPT_STRING_DECODE is not defined, define PPROMPT (the primary | |
4393 | prompt string) as "$ " | |
4394 | ||
4395 | variables.c | |
4396 | - if PROMPT_STRING_DECODE is not defined, and current_user.euid == 0, | |
4397 | PS1 defaults to "# ", otherwise it defaults to `primary_prompt' | |
4398 | ||
4399 | doc/bashbug.1 | |
4400 | - fixed email address prep.ai.mit.edu -> gnu.org | |
4401 | ||
4402 | 8/3 | |
4403 | --- | |
4404 | support/shobj-conf | |
4405 | - add `solaris2' as a possible OS name, treated the same as sunos5 | |
4406 | ||
4407 | 8/4 | |
4408 | --- | |
4409 | shell.c | |
4410 | - changed maybe_make_restricted() so that $ENV and $BASH_ENV are | |
4411 | read-only variables in a restricted shell | |
4412 | ||
4413 | doc/{bash.1,bashref.texi} | |
4414 | - added ENV and BASH_ENV to the list of readonly variables in | |
4415 | restricted mode | |
4416 | ||
4417 | parse.y | |
4418 | - added `do', `then', `else', `{', and `(' to the list of keywords | |
4419 | that may precede the `time' reserved word | |
4420 | ||
4421 | general.c | |
4422 | - added sanity checks to timeval_to_secs and clock_t_to_secs so | |
4423 | that if the fractional part is >= 1000, 1 is added to the | |
4424 | seconds and 1000 is subtracted from the fractional seconds | |
4425 | ||
4426 | 8/6 | |
4427 | --- | |
4428 | Makefile.in | |
4429 | - use $(CC_FOR_BUILD) to build mksignames | |
4430 | ||
4431 | configure.in | |
4432 | - changes to allow cross-building for BeOS as well as cygwin32 | |
4433 | ||
4434 | cross-build/{beos-sig.h,x86-beos.cache} | |
4435 | - new files for cross-compiling for BeOS | |
4436 | ||
4437 | 8/7 | |
4438 | --- | |
4439 | Makefile.in | |
4440 | - changed rule for version.h to use && instead of if-then-else-fi to | |
4441 | make sure the recipe fails if mkversion.sh fails | |
4442 | ||
4443 | configure.in | |
4444 | - beos does not use the GNU malloc | |
4445 | ||
4446 | lib/sh/itos.c | |
4447 | - broke itos into inttostr(i, buf, len) and itos(i), which calls | |
4448 | inttostr and returns a newly-allocated string with the result | |
4449 | ||
4450 | support/mksignames.c | |
4451 | - define `SIGKILLTHR' if system include files define it | |
4452 | ||
4453 | externs.h | |
4454 | - extern declaration for inttostr(int, char *, int) | |
4455 | ||
4456 | 8/13 | |
4457 | ---- | |
4458 | lib/sh/strtol.c | |
4459 | - include stdc.h before bashansi.h | |
4460 | ||
4461 | execute_cmd.c | |
4462 | - make sure that execute_cond_node treats `=' the same as `==' | |
4463 | ||
4464 | 8/25 | |
4465 | ---- | |
4466 | variables.c, print_cmd.c | |
4467 | - changed some calls to itos to use inttostr instead | |
4468 | ||
4469 | cross-build/x86-beos.cache, {execute_cmd,general,shell,trap}.c | |
4470 | - some changes for BeOS (from fnf@ninemoons.com) | |
4471 | ||
4472 | lib/posixheaders/memalloc.h | |
4473 | - changes to handle case where we're using both gcc and the C | |
4474 | version of alloca(), or if we have alloca.h and we're using | |
4475 | the C version of alloca() (from fnf@ninemoons.com) | |
4476 | ||
4477 | lib/sh/oslib.c | |
4478 | - if bcopy or bzero are #defines, #undef them before defining | |
4479 | replacement functions | |
4480 | ||
4481 | support/config.guess | |
4482 | - recognize AmigaOS (from fnf@ninemoons.com) | |
4483 | - recognize BeOS running on various machines | |
4484 | (from fnf@ninemoons.com) | |
4485 | ||
4486 | support/config.sub | |
4487 | - change basic_machine definition for amiga; added amigaos | |
4488 | (from fnf@ninemoons.com) | |
4489 | - changed definitions for MIPS machines running Linux (from | |
4490 | fnf@ninemoons.com) | |
4491 | - recognize `beos' as a valid operating system | |
4492 | (from fnf@ninemoons.com) | |
4493 | - changed OS for *-cbm to `amigaos' rather than `amigados' | |
4494 | (from fnf@ninemoons.com) | |
4495 | ||
4496 | examples/functions/autoload.v3 | |
4497 | - a new version, from Mark Kennedy <mtk@ny.ubs.com> | |
4498 | ||
4499 | lib/readline/readline.c | |
4500 | - new function, rl_delete_or_show_completions, like tcsh editing | |
4501 | function delete-char-or-list | |
4502 | ||
4503 | lib/readline/readline.h | |
4504 | - new extern declaration for rl_delete_or_show_completions | |
4505 | ||
4506 | lib/readline/funmap.c | |
4507 | - new bindable name `delete-char-or-list', like tcsh | |
4508 | ||
4509 | lib/readline/doc/rluser.texinfo, doc/{bash.1,readline.3} | |
4510 | - documented new delete-char-or-list command | |
4511 | ||
4512 | general.c | |
4513 | - fix full_pathname to keep it from generating things like | |
4514 | //foo when the current directory is / | |
4515 | ||
4516 | 8/27 | |
4517 | ---- | |
4518 | builtins/fc.def | |
4519 | - fixed the help text for the -e option | |
4520 | ||
4521 | 8/28 | |
4522 | ---- | |
4523 | support/shobj-conf | |
4524 | - added a clause for AIX 4.2 systems running gcc -- just the | |
4525 | standard gcc stuff for shared objects, but it has to come | |
4526 | before the other AIX 4.2 clause | |
4527 | ||
4528 | 8/31 | |
4529 | ---- | |
4530 | shell.c | |
4531 | - some changes so that `set -e' is turned off while executing | |
4532 | the startup files | |
4533 | ||
4534 | 9/3 | |
4535 | --- | |
4536 | flags.c | |
4537 | - new variable, `restricted_shell', non-zero if the shell was | |
4538 | started in restricted mode | |
4539 | ||
4540 | flags.h | |
4541 | - extern declaration for restricted_shell | |
4542 | ||
4543 | shell.c | |
4544 | - new function, shell_is_restricted, returns 1 if the shell is | |
4545 | supposed to be restricted based on the basename of $0 or the | |
4546 | -r option | |
4547 | - set restricted_shell to the value returned by shell_is_restricted | |
4548 | before executing the startup files | |
4549 | ||
4550 | externs.h | |
4551 | - extern declaration for shell_is_restricted | |
4552 | ||
4553 | builtins/shopt.def | |
4554 | - new shopt variable, restricted_shell, indicates whether the shell | |
4555 | was restricted at startup -- useful in startup files | |
4556 | ||
4557 | doc/{bash.1,bashref.texi} | |
4558 | - documented new restricted_shell shopt option | |
4559 | ||
4560 | 9/15 | |
4561 | ---- | |
4562 | lib/sh/rename.c | |
4563 | - new file, replacement for rename(2) if the OS doesn't provide it | |
4564 | ||
4565 | configure.in,config.h.in,Makefile.in,lib/sh/Makefile.in | |
4566 | - machinery for including rename.o in libsh.a | |
4567 | ||
4568 | nojobs.c | |
4569 | - make sure that set_tty_state returns a value | |
4570 | ||
4571 | builtins/mkbuiltins.c | |
4572 | - use a call to rename(2) instead of a link/unlink pair | |
4573 | ||
4574 | lib/glob/glob.c | |
4575 | - don't #define bcopy if bcopy is already defined | |
4576 | ||
4577 | lib/readline/histfile.c | |
4578 | - add a call to ftruncate for BeOS, which ignores the O_TRUNC flag | |
4579 | to open | |
4580 | ||
4581 | lib/readline/input.c | |
4582 | - make rl_getc loop if read returns -1/EINTR on BeOS | |
4583 | ||
4584 | configure.in | |
4585 | - set ARFLAGS and substitute it into the Makefiles | |
4586 | ||
4587 | {,builtins,lib/{glob,malloc,readline,sh,termcap,tilde}}/Makefile.in | |
4588 | - ARFLAGS is now substituted by configure | |
4589 | - use ARFLAGS in rules that create libraries using $(AR) | |
4590 | ||
4591 | builtins/printf.def | |
4592 | - fixed bug that caused a core dump when a modifier was supplied | |
4593 | in the format string without a conversion character (e.g. `%h') | |
4594 | ||
4595 | 9/17 | |
4596 | ---- | |
4597 | lib/glob/glob.c | |
4598 | - if filenames starting with a dot don't have to be matched | |
4599 | explicitly (e.g., after a `shopt -s dotglob'), don't match | |
4600 | `.' or `..' in any case | |
4601 | ||
4602 | eval.c | |
4603 | - make sure that array assignments don't show up in the history list | |
4604 | (fix from Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>) | |
4605 | ||
4606 | lib/readline/complete.c | |
4607 | - fix to rl_menu_complete so it inserts a single completion properly | |
4608 | when a word matches only one filename | |
4609 | ||
4610 | 9/24 | |
4611 | ---- | |
4612 | execute_cmd.c | |
4613 | - difftimeval should zero out the tv_usec field if the tv_sec field | |
4614 | is < 0 | |
4615 | - addtimeval should check for tv_usec being == 1000000 and add one | |
4616 | to tv_sec if it is | |
4617 | ||
4618 | 9/25 | |
4619 | ---- | |
4620 | subst.c | |
4621 | - fix to expand_word_internal to prevent non-whitespace IFS characters | |
4622 | from causing word splitting if they are not the results of an | |
4623 | expansion (not exactly right yet, but I think it's the result of a | |
4624 | problem with the ${...} end-brace-matching code in the parser) | |
4625 | ||
4626 | 9/28 | |
4627 | ---- | |
4628 | parse.y | |
4629 | - new flag for parse_matched_pair -- P_FIRSTCLOSE -- which makes it not | |
4630 | count and match additional construct open characters | |
4631 | - change calls to parse_matched_pair when matching braces in | |
4632 | ${...} constructs (both unquoted and within double quotes) to | |
4633 | specify the P_FIRSTCLOSE flag to match POSIX.2 requirements | |
4634 | ||
4635 | subst.c | |
4636 | - changed fix from 9/25, now that the parser problem is fixed | |
4637 | ||
4638 | 9/30 | |
4639 | ---- | |
4640 | variables.c | |
4641 | - change expansion of list of words between (...) in array assignments | |
4642 | to include pathname generation in assign_array_var_from_string | |
4643 | ||
4644 | doc/{bash.1,bashref.texi} | |
4645 | - clarified behavior of the shell at startup if running setuid, with | |
4646 | and without the -p option supplied | |
4647 | ||
4648 | 10/7 | |
4649 | ---- | |
4650 | bashhist.c | |
4651 | - change default open(2) mode to 0600 instead of 0666 for `privacy | |
4652 | concerns' | |
4653 | ||
4654 | 10/13 | |
4655 | ----- | |
4656 | lib/readline/display.c | |
4657 | - fixed a problem with displaying tabs after newlines, from | |
4658 | <qrczak@knm.org.pl> | |
4659 | - in update_line, if we are printing over existing material, | |
4660 | only call space_to_eol or _rl_clear_to_eol if lendiff is non-zero | |
4661 | - when moving the cursor in _rl_move_cursor_relative, only call | |
4662 | _rl_backspace if the current cursor position is strictly greater | |
4663 | than the desired cursor position | |
4664 | ||
4665 | 10/14 | |
4666 | ----- | |
4667 | locale.c | |
4668 | - LC_ALL is no longer set automatically when LANG is assigned a value | |
4669 | ||
4670 | config.h.{top,bot} | |
4671 | - renamed to config-{top,bot}.h, respectively | |
4672 | ||
4673 | config.h.in | |
4674 | - include config-top.h and config-bot.h | |
4675 | ||
4676 | Makefile.in | |
4677 | - things now depend on config-top.h and config-bot.h | |
4678 | ||
4679 | subst.c | |
4680 | - minor changes to extract_dollar_brace_string and char_is_quoted to | |
4681 | allow things like "${PIP[TAB] to perform correct variable completion | |
4682 | ||
4683 | 10/15 | |
4684 | ----- | |
4685 | builtins/Makefile.in | |
4686 | - add $(PROFILE_FLAGS) to the make recipe that creates `mkbuiltins', | |
4687 | so configuring with --enable-profiling works right | |
4688 | ||
4689 | 10/20 | |
4690 | ----- | |
4691 | doc/bashref.texi | |
4692 | - documented the new --with-installed-readline option | |
4693 | ||
4694 | [bash-2.03-alpha1 frozen] | |
4695 | ||
4696 | 10/21 | |
4697 | ----- | |
4698 | builtins/reserved.def | |
4699 | - fixed help text for { ... } to make it clear that a semicolon is | |
4700 | required before the closing brace | |
4701 | ||
4702 | 10/22 | |
4703 | ----- | |
4704 | trap.c | |
4705 | - in decode_signal, don't bother calling strcasecmp if | |
4706 | signal_names[sig] is null or empty | |
4707 | ||
4708 | 11/2 | |
4709 | ---- | |
4710 | configure.in | |
4711 | - make sure RL_LIBDIR and HIST_LIBDIR are assigned values even if | |
4712 | readline or history is configured out of the shell, so the -L | |
4713 | options have arguments in the link command | |
4714 | ||
4715 | test.c | |
4716 | - make test_syntax_error cause test to return a status > 1, to | |
4717 | conform to POSIX.2 4.62.8 | |
4718 | ||
4719 | doc/readline.3 | |
4720 | - make sure the SYNOPSIS section indicates that programmers should | |
4721 | include <stdio.h> before <readline.h> | |
4722 | ||
4723 | 11/9 | |
4724 | ---- | |
4725 | Makefile.in | |
4726 | - install with explicit mode of 0755 | |
4727 | ||
4728 | 11/10 | |
4729 | ----- | |
4730 | builtins/test.def | |
4731 | - make sure that a missing `]' makes `[' exit with status 2, to | |
4732 | conform to POSIX.2 4.62.8 | |
4733 | ||
4734 | command.h | |
4735 | - new word flag: W_NOGLOB, meaning to not perform globbing | |
4736 | ||
4737 | execute_cmd.c | |
4738 | - fix_assignment_statements now turns on the W_NOGLOB flag for | |
4739 | arguments to `assignment builtins' that have W_ASSIGNMENT set | |
4740 | ||
4741 | subst.c | |
4742 | - expand_word_internal needs to preserve the W_NOGLOB flag from | |
4743 | the word being expanded to the word being returned | |
4744 | - glob_expand_word_list does not call shell_glob_filename for a | |
4745 | word with W_NOGLOB set | |
4746 | ||
4747 | builtins/shopt.def | |
4748 | - print_shopt is now void | |
4749 | ||
4750 | configure.in | |
4751 | - machines running Rhapsody don't use the bash malloc | |
4752 | - pass host_vendor to the Makefiles with AC_SUBST | |
4753 | ||
4754 | support/config.guess | |
4755 | - Rhapsody is really rhapsody, not nextstep | |
4756 | ||
4757 | support/config.sub | |
4758 | - add rhapsody to the list of supported configurations | |
4759 | ||
4760 | Makefile.in | |
4761 | - pass CONF_HOSTTYPE, CONF_OSTYPE, and CONF_MACHTYPE as -D options | |
4762 | in SYSTEM_FLAGS, to indicate that they came from the configuration | |
4763 | process | |
4764 | - set VENDOR variable from host_vendor configuration variable | |
4765 | - pass CONF_VENDOR as part of SYSTEM_FLAGS | |
4766 | ||
4767 | variables.c | |
4768 | - define HOSTTYPE, OSTYPE, and MACHTYPE as CONF_HOSTTYPE, CONF_OSTYPE, | |
4769 | and CONF_MACHTYPE, respectively | |
4770 | ||
4771 | 11/11 | |
4772 | ----- | |
4773 | doc/{bashref.texi,bash.1} | |
4774 | - updated description of `read' to clarify the -r option and its | |
4775 | effect on backslash escaping | |
4776 | ||
4777 | 11/13 | |
4778 | ----- | |
4779 | examples/loadables/{ln,unlink}.c | |
4780 | - new loadable builtins | |
4781 | ||
4782 | 11/23 | |
4783 | ----- | |
4784 | lib/glob/fnmatch.c | |
4785 | - some fixes to handle extended glob patterns immediately following | |
4786 | a `*' | |
4787 | ||
4788 | tests/extglob.tests | |
4789 | - updated with cases from bug report fixed today | |
4790 | ||
4791 | support/shobj-conf | |
4792 | - udpated stanza for aix 4.2 with gcc, based on information from | |
4793 | jik@cisco.com | |
4794 | ||
4795 | configure.in | |
4796 | - changes to add the correct linker options to allow dynamic linking | |
4797 | when using gcc on AIX 4.2, instead of insisting on the AIX C | |
4798 | compiler | |
4799 | ||
4800 | examples/misc/aliasconv.{bash,sh} | |
4801 | - changes to handle aliases with embedded single quotes | |
4802 | ||
4803 | 11/25 | |
4804 | ----- | |
4805 | lib/readline/complete.c | |
4806 | - postprocess_matches should call compute_lcd_of_matches with an | |
4807 | argument of `t' instead of `text' | |
4808 | - postprocess_matches should never call ding(); leave that for the | |
4809 | callers | |
4810 | - postprocess_matches no longer needs `text' as the first argument | |
4811 | - rl_complete_internal needs to call ding() if postprocess_matches | |
4812 | returns 0, since postprocess_matches no longer does it | |
4813 | - rl_complete_internal can now free `text' immediately after calling | |
4814 | gen_completion_matches, since it's no longer used | |
4815 | ||
4816 | 11/30 | |
4817 | ----- | |
4818 | print_cmd.c | |
4819 | - make sure redirections following compound commands have a space | |
4820 | separating them from the command | |
4821 | ||
4822 | 12/1 | |
4823 | ---- | |
4824 | general.c | |
4825 | - changed canonicalize_pathname so that if the result path begins | |
4826 | with `//', it will be changed to `/' if and only if the original | |
4827 | path did not begin with `//' (there has to be a non-slash after | |
4828 | the leading `///' in the original path) | |
4829 | ||
4830 | 12/2 | |
4831 | ---- | |
4832 | builtins/evalstring.c | |
4833 | - augment the test for turning on CMD_NO_FORK to make sure that | |
4834 | parse_and_execute_level == 1. That takes care of things like | |
4835 | ||
4836 | bash -c 'for f in 1 2 3; do eval "/bin/echo \"$f\"" ; done' | |
4837 | ||
4838 | only printing one line of output | |
4839 | ||
4840 | 12/8 | |
4841 | ---- | |
4842 | config-top.h | |
4843 | - add commented-out #define for NON_INTERACTIVE_LOGIN_SHELLS so | |
4844 | that users may, if they choose, make things like | |
4845 | ||
4846 | #! /bin/bash --login | |
4847 | ||
4848 | work in shell scripts | |
4849 | ||
4850 | 12/10 | |
4851 | ----- | |
4852 | jobs.c | |
4853 | - changes to the way jobs are reaped when the shell is not | |
4854 | interactive: | |
4855 | ||
4856 | o notify_of_job_status no longer marks dead jobs as | |
4857 | notified if they did not exit due to a signal; | |
4858 | o changed mark_background_jobs_as_notified to take an | |
4859 | argument `force': if zero, we only mark enough | |
4860 | dead jobs as notified to keep CHILD_MAX jobs in the | |
4861 | jobs list, as POSIX.2 specifies. If non-zero, mark | |
4862 | all dead jobs as notified; | |
4863 | o wait_for_background_pids marks all dead jobs as | |
4864 | notified when it has finished waiting for everything, | |
4865 | since the only thing that calls it is the `wait' builtin; | |
4866 | o wait_for_single_pid marks a job as notified after it | |
4867 | has completed, since the only things that call it are | |
4868 | wait_for_background_pids and the `wait' builtin | |
4869 | o wait_for_job marks the job as notified after the last | |
4870 | pid completes | |
4871 | ||
4872 | execute_cmd.c | |
4873 | - change execute_subshell_builtin_or_function to check | |
4874 | subshell_environment and pipe_out to decide whether or not to fork | |
4875 | if builtin == jobs_builtin, since the early-forking code added in | |
4876 | bash-2.02 means that the piping has probably already been done | |
4877 | ||
4878 | 12/15 | |
4879 | ----- | |
4880 | parse.y | |
4881 | - changes to make avar=((...)) a syntax error instead of ignoring | |
4882 | the nested parens and treating it as an array assignment | |
4883 | ||
4884 | shell.c | |
4885 | - changed run_startup_files so that any shell, whether or not it is | |
4886 | interactive, will run the login shell startup files when given the | |
4887 | --login option. This happens only when not in posix mode. | |
4888 | ||
4889 | builtins/enable.def | |
4890 | - changes to handle Tenon's MachTen, whose dlclose() does not return | |
4891 | a value | |
4892 | ||
4893 | lib/glob/fnmatch.c | |
4894 | - changed gmatch so that when it calls extmatch, it removes FNM_PERIOD | |
4895 | from the flags if it's not matching at the start of the string. | |
4896 | This fixes the problem of `@' and `+' extended-glob subpatterns | |
4897 | containing bracket expressions treating `.' specially when matching | |
4898 | a portion of the string starting with `.' | |
4899 | ||
4900 | config-top.h | |
4901 | - removed define for NON_INTERACTIVE_LOGIN_SHELLS, since it's no longer | |
4902 | necessary | |
4903 | ||
4904 | 12/17 | |
4905 | ----- | |
4906 | lib/readline/complete.c | |
4907 | - change rl_complete_internal and rl_menu_complete to check | |
4908 | rl_filename_completion_desired to decide whether or not we're | |
4909 | completing filenames instead of checking whether the attempted | |
4910 | completion function is filename_completion_function. | |
4911 | filename_completion_function sets rl_filename_completion_desired, | |
4912 | so this shouldn't break anything -- just allow postprocessing of | |
4913 | matches for user-supplied filename completion functions that don't | |
4914 | call filename_completion_function | |
4915 | ||
4916 | lib/readline/display.c | |
4917 | - new function, _rl_erase_entire_line, which erases the entire line, | |
4918 | no matter where the cursor is, and puts the cursor at the beginning | |
4919 | of the (newly-empty) line | |
4920 | ||
4921 | lib/readline/readline.c | |
4922 | - new application-level variable, rl_erase_empty_line, which, if | |
4923 | non-zero, tells readline to erase the contents of the current line, | |
4924 | prompt and all, if the only character typed to an otherwise-blank | |
4925 | line is bound to rl_newline. Requested by the Cygnus GDB folks. | |
4926 | - change to rl_newline to suppress the call to _rl_update_final if | |
4927 | rl_erase_empty_line is non-zero, and rl_point == rl_end == 0, since | |
4928 | _rl_update_final calls crlf() | |
4929 | - change to readline_internal_charloop to call _rl_erase_entire_line | |
4930 | if newline was the only thing typed on an otherwise-empty line | |
4931 | ||
4932 | lib/readline/readline.h | |
4933 | - extern declaration for rl_erase_empty_line | |
4934 | ||
4935 | lib/readline/doc/rltech.texinfo | |
4936 | - documented new rl_erase_empty_line variable | |
4937 | ||
4938 | 12/18 | |
4939 | ----- | |
4940 | Makefile.in | |
4941 | - changed RELSTATUS to `beta1' | |
4942 | ||
4943 | [bash-2.03-beta1 frozen] | |
4944 | ||
4945 | 12/21 | |
4946 | ----- | |
4947 | doc/{bash.1,bashref.texi} | |
4948 | - added description of `test -h'; equivalent to `test -L' | |
4949 | ||
4950 | 12/22 | |
4951 | ----- | |
4952 | support/shobj-conf | |
4953 | - SHOBJ_LDFLAGS should be those options to ld which are common | |
4954 | between building dynamically loadable shared objects and shared | |
4955 | libraries | |
4956 | - added two new variables: SHOBJ_XLDFLAGS, which are ld options | |
4957 | specific to building dynamically loaded shared objects, and | |
4958 | SHLIB_LIBS, which are other libraries against which shared libraries | |
4959 | should be linked. These are for the benefit of AIX 4.2; other | |
4960 | stanzas do not need to be changed. | |
4961 | ||
4962 | configure.in | |
4963 | - add call to AC_SUBST for SHOBJ_XLDFLAGS | |
4964 | ||
4965 | examples/loadables/Makefile.in | |
4966 | - SHOBJ_XLDFLAGS is now substituted by configure | |
4967 | - $(SHOBJ_LDFLAGS) -> $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) in all | |
4968 | recipes that build loadable builtins | |
4969 | ||
4970 | 12/29 | |
4971 | ----- | |
4972 | support/config.{guess,sub} | |
4973 | - changes for NEC SX4 machines running SUPER-UX (?). Info from | |
4974 | Nicholas Clark <nick@flirble.org> | |
4975 | ||
4976 | lib/readline/bind.c | |
4977 | - new bindable variable, `isearch-terminators', which is the list of | |
4978 | characters that will terminate an incremental search without | |
4979 | subsequently executing the character as a command | |
4980 | ||
4981 | lib/readline/isearch.c | |
4982 | - changes to incorporate the new isearch-terminators bindable variable; | |
4983 | uses new private readline variable _rl_isearch_terminators | |
4984 | (suggested by Brian Fox) | |
4985 | ||
4986 | doc/{bash.1,readline.3}, lib/readline/doc/rluser.texinfo | |
4987 | - documented new `isearch-terminators' settable variable | |
4988 | ||
4989 | lib/readline/complete.c | |
4990 | - new convenience function, free_match_list, called from | |
4991 | rl_complete_internal | |
4992 | ||
4993 | 12/30 | |
4994 | ----- | |
4995 | aclocal.m4 | |
4996 | - changed the calls to AC_MSG_ERROR in the cross-compiling sections | |
4997 | to AC_MSG_WARN, since AC_MSG_ERROR can cause configure to abort | |
4998 | ||
4999 | examples/functions/which | |
5000 | - new function, emulation of `which' as it appears in FreeBSD | |
5001 | ||
5002 | 12/31 | |
5003 | ----- | |
5004 | lib/readline/readline.c | |
5005 | - new bindable function: rl_rubout_or_delete. Does rl_rubout if | |
5006 | rl_point is at the end of the line, or rl_delete if not. This | |
5007 | is intended to mimic the Motif/Netscape/GNOME behavior of the | |
5008 | DEL character, and can be bound to delete to get that behavior | |
5009 | ||
5010 | lib/readline/readline.h | |
5011 | - new extern declaration for rl_rubout_or_delete | |
5012 | ||
5013 | lib/readline/funmap.c | |
5014 | - bound the name `forward-backward-delete-char' to | |
5015 | rl_rubout_or_delete (currently not bound to any keys) | |
5016 | ||
5017 | lib/readline/doc/manvers.texinfo | |
5018 | - new file with readline manual version information, to mantain | |
5019 | consistent numbering between readline and history manuals | |
5020 | ||
5021 | lib/readline/doc/{rlman,hist}.texinfo | |
5022 | - @include manvers.texinfo for version information | |
5023 | - moved the @dircategory and and @direntry directives inside | |
5024 | the @ifinfo block | |
5025 | - changed copyrights to 1988-1999 | |
5026 | ||
5027 | doc/Makefile.in, lib/readline/doc/Makefile.in | |
5028 | - texi2html is now called with -menu (to handle the texinfo menus) | |
5029 | and -monolithic (to include the table of contents in the generated | |
5030 | HTML file instead of putting it in a separate file | |
5031 | - changed recipes to remove references to TOC html files | |
5032 | ||
5033 | lib/glob/fnmatch.c | |
5034 | - include <string.h> or <strings.h> as appropriate for strchr() | |
5035 | declaration | |
5036 | ||
28ef6c31 JA |
5037 | 1/4/1999 |
5038 | -------- | |
b72432fd JA |
5039 | print_cmd.c |
5040 | - don't print bare words when printing conditional expressions in | |
5041 | print_cond_node, use cprintf("%s", cond->op->word) | |
5042 | ||
5043 | subst.c | |
5044 | - in separate_out_assignments, if VARLIST is non-null on function | |
5045 | entry, free it up to clean up after a previous error longjmp | |
5046 | ||
5047 | 1/5 | |
5048 | --- | |
5049 | configure.in | |
5050 | - make sure the case clause that disables the bash malloc on alpha | |
5051 | machines catches things like `alphaev56' as well as `alpha' | |
5052 | ||
5053 | 1/12 | |
5054 | ---- | |
5055 | lib/readline/histlib.h | |
5056 | - new error message code: NO_PREV_SUBST | |
5057 | ||
5058 | lib/readline/histexpand.c | |
5059 | - handle NO_PREV_SUBST with appropriate error message in hist_error | |
5060 | - in history_expand_internal, if the `s' or `&' case results in a | |
5061 | null or empty LHS, return NO_PREV_SUBST | |
5062 | ||
5063 | error.c | |
5064 | - new interface: command_error(func, code, e, flags); intended to | |
5065 | collect command-related errors in one place | |
5066 | - new interface: command_errstr(code); returns a string describing | |
5067 | command error CODE | |
5068 | ||
5069 | error.h | |
5070 | - extern declarations for command_error and command_errstr | |
5071 | ||
5072 | command.h | |
5073 | - possible values for CODE in calls to command_error and command_errstr | |
5074 | ||
5075 | {shell,print_cmd,make_cmd,execute_cmd,dispose_cmd,eval}.c ,builtins/evalstring.c | |
5076 | - changed some calls to programming_error to use command_error | |
5077 | ||
5078 | 1/13 | |
5079 | ---- | |
5080 | configure.in | |
5081 | - if --enable-profiling is specified on a solaris2 machine, don't | |
5082 | turn on enable-static-link, since it's very hard to build a | |
5083 | static binary on solaris2 and gprof does not (apparently) require it | |
5084 | ||
5085 | builtins/getopts.def | |
5086 | - add calls to sh_getopt_restore_state so the state is restored each | |
5087 | time getopts is called. This protects us against the behavior of | |
5088 | some mallocs, which causes `nextchar' to be set to garbage in | |
5089 | getopt.c when a function is called between calls to getopts | |
5090 | ||
5091 | 1/14 | |
5092 | ---- | |
5093 | lib/readline/complete.c | |
5094 | - if postprocess_matches returns 0 in rl_complete_internal, reset | |
5095 | completion_changed_buffer to 0 before returning, since nothing | |
5096 | has been changed | |
5097 | ||
5098 | 1/20 | |
5099 | ---- | |
5100 | subst.c | |
5101 | - fixed pat_subst so that null patterns with a `#' specifier prefix | |
5102 | the string to be substituted on with the replacement, and null | |
5103 | patterns with a `%' specifier append the replacement to the string | |
5104 | to be substituted on | |
5105 | ||
5106 | doc/{bash.1,bashref.texi} | |
5107 | - corrected a small error in the description of parameter pattern | |
5108 | substitution | |
5109 | ||
5110 | support/mksignames.c | |
5111 | - SIGINFO means something else on sequent systems | |
5112 | ||
5113 | 1/26 | |
5114 | ---- | |
5115 | execute_cmd.c | |
5116 | - fix to execute_simple_command to keep a child process from getting | |
5117 | a bad value of last_asynchronous_pid when the shell forks early | |
5118 | ||
5119 | 2/1 | |
5120 | --- | |
5121 | Makefile.in | |
5122 | - changed RELSTATUS to `beta2' | |
5123 | ||
5124 | 2/2 | |
5125 | --- | |
5126 | [bash-2.03-beta2 released] | |
5127 | ||
5128 | 2/3 | |
5129 | --- | |
5130 | tests/{cprint.{tests,right},run-cprint} | |
5131 | - new test to exercise the command printing and copying code -- | |
5132 | hopefully this will avoid things like the `conditional commands | |
5133 | in functions make the shell abort' problem | |
5134 | ||
5135 | 2/4 | |
5136 | --- | |
5137 | version.c | |
5138 | - if MACHTYPE is not defined, use CONF_MACHTYPE if it's defined | |
5139 | ||
5140 | 2/5 | |
5141 | --- | |
5142 | builtins/read.def | |
5143 | - if READLINE is defined, we need an extra pair of braces around | |
5144 | the `while' loop that reads from fd 0 if the -e option is | |
5145 | supplied, otherwise the code erroneously tests the value of | |
5146 | `retval', which is not set when using readline | |
5147 | ||
5148 | 2/15 | |
5149 | ---- | |
5150 | builtins/fc.def | |
5151 | - make sure that fc closes `stream' before calling fc_execute_file | |
5152 | ||
5153 | 2/17 | |
5154 | ---- | |
5155 | builtins/fc.def | |
5156 | - don't bother opening and closing the file of commands before | |
5157 | calling fc_execute_file, since parse_and_execute will write the | |
5158 | commands to the history file for us | |
5159 | ||
5160 | Makefile.in | |
5161 | - changed release status to `release' | |
5162 | ||
5163 | 2/18 | |
5164 | ---- | |
5165 | parse.y | |
5166 | - change to special_case_tokens so that `time' is not recognized | |
5167 | as a reserved word while the parser is parsing a case statement | |
5168 | pattern list (if `time' is the first pattern, the last read | |
5169 | token will be newline, which time_command_acceptable says is OK | |
5170 | to start a pipeline) | |
5171 | ||
5172 | pathexp.c | |
5173 | - some changes to the POSIX_GLOB_LIBRARY code (often unused) | |
5174 | ||
5175 | shell.c | |
5176 | - a couple of changes for Interix (nee OPENNT) | |
5177 | - added code that handles systems without a third argument to main(); | |
5178 | initializing `env' from `environ', conditionalized on a cpp define | |
5179 | NO_MAIN_ENV_ARG | |
5180 | ||
5181 | configure.in, config.h.in | |
5182 | - check for the presence of sbrk(2); define HAVE_SBRK if found | |
5183 | ||
5184 | xmalloc.c | |
5185 | - don't do the space allocated computation when malloc or realloc | |
5186 | fails if HAVE_SBRK is not defined | |
5187 | ||
5188 | configure.in | |
5189 | - new configure variable, MAKE_SHELL, defaults to /bin/sh | |
5190 | ||
5191 | Makefile.in,{builtins,doc,support,lib/{glob,malloc,readline,sh,termcap,tilde},examples/loadables}/Makefile.in | |
5192 | - set SHELL from @MAKE_SHELL@ | |
5193 | ||
5194 | lib/posixheaders/posixjmp.h | |
5195 | - Don't override defines for setjmp and longjmp in <setjmp.h> on | |
5196 | Internix (nee OPENNT) | |
5197 | ||
5198 | lib/readline/complete.c | |
5199 | - Interix (OPENNT) doesn't do username completion | |
5200 | ||
5201 | configure.in | |
5202 | - on Interix/OPENNT ($host_os == interix* or opennt*), add | |
5203 | -DNO_MAIN_ENV_ARG to LOCAL_CFLAGS | |
5204 | - on Interix/OPENNT, set MAKE_SHELL to $OPENNT_ROOT/bin/sh rather | |
5205 | than a straight /bin/sh | |
5206 | ||
5207 | cross-build/opennt.cache | |
5208 | - a `configure' cache file for Interix/OPENNT; not necessarily | |
5209 | for cross-compiling, but this is where the other system cache | |
5210 | files are | |
5211 | ||
5212 | [bash-2.03 released] | |
bb70624e JA |
5213 | |
5214 | 2/19 | |
5215 | ---- | |
5216 | configure.in | |
5217 | - changed OPENNT_ROOT to INTERIX_ROOT for building on Interix | |
5218 | ||
5219 | support/config.guess | |
5220 | - added two stanzas for Interix running on alpha and intel hardware | |
5221 | ||
5222 | 2/22 | |
5223 | ---- | |
5224 | config-bot.h | |
5225 | - if PROMPT_STRING_DECODE is not defined, #undef PPROMPT before | |
5226 | redefining it, to avoid warning messages | |
5227 | ||
5228 | execute_cmd.c | |
5229 | - set jobs_hack in execute_subshell_builtin_or_function only if | |
5230 | JOB_CONTROL is defined | |
5231 | ||
5232 | 2/24 | |
5233 | ---- | |
5234 | trap.c | |
5235 | - fixed an obscure bug caused by a race condition in run_pending_traps. | |
5236 | Read the comments in the source code for a full description of the | |
5237 | problem and solution | |
5238 | ||
5239 | 3/1 | |
5240 | --- | |
5241 | aclocal.m4 | |
5242 | - new test, BASH_STRUCT_TIMEVAL, which tries to compile a code | |
5243 | fragment that includes <sys/time.h> and <time.h> as appropriate | |
5244 | and defines HAVE_TIMEVAL if the compile succeeds | |
5245 | ||
5246 | configure.in | |
5247 | - call BASH_STRUCT_TIMEVAL rather than running a pair of | |
5248 | AC_HEADER_EGREPs on sys/time.h and time.h | |
5249 | ||
5250 | lib/readline/histfile.c | |
5251 | - include "posixstat.h" rather than <sys/stat.h> | |
5252 | - in history_truncate_file, only try to truncate if the history file | |
5253 | is a regular file | |
5254 | ||
5255 | 3/2 | |
5256 | --- | |
5257 | aclocal.m4 | |
5258 | - changed BASH_STRUCT_TIMEVAL back to using a pair of | |
5259 | AC_EGREP_HEADERs instead of compiling a program fragment | |
5260 | ||
5261 | lib/readline/readline.c | |
5262 | - readline_internal_charloop should cast the first argument to | |
5263 | _rl_dispatch to `unsigned char' to avoid problems with negative | |
5264 | array indices on systems where signed chars are the default | |
5265 | ||
5266 | lib/readline/kill.c | |
5267 | - instead of doing a sequence of next_history() calls in | |
5268 | rl_yank_nth_arg_internal, save and restore the history | |
5269 | position explicitly after finding the correct entry. This | |
5270 | attempts to ensure that rl_yank_nth_arg leaves the history | |
5271 | pointer set to the same position as when it was called. | |
5272 | Fix from Vasco Pedro <vp@di.fct.unl.pt> | |
5273 | ||
5274 | 3/5 | |
5275 | --- | |
5276 | redir.c | |
5277 | - broke code that opens file for redirection in do_redirection_internal | |
5278 | into a separate function: redir_open(path, flags, mode, ri) | |
5279 | ||
5280 | general.h | |
5281 | - changed STREQN so that it evaluates to 1 (strings are equivalent) | |
5282 | if N == 0, to match the behavior of strncmp | |
5283 | ||
5284 | lib/sh/zwrite.c | |
5285 | - new file, zwrite() from builtins/evalstring.c | |
5286 | ||
5287 | builtins/evalstring.c | |
5288 | - removed private definition of zwrite | |
5289 | ||
5290 | builtins/common.c | |
5291 | - double_quote needs to protect newlines with backslashes as well | |
5292 | - new function, un_double_quote, to remove backslashes proctecting | |
5293 | characters that are special in double quotes | |
5294 | ||
5295 | builtins/common.h | |
5296 | - new extern declaration for un_double_quote | |
5297 | ||
5298 | parse.y | |
5299 | - changed read_token_word to requote the expanded value of $'...' | |
5300 | using single_quote | |
5301 | - added a new flag to parse_matched_pair: P_ALLOWESC. It allows | |
5302 | backslashes to quote embedded single quotes, and is used by | |
5303 | the $'...' translation code for better ksh93-compatibility | |
5304 | - changed localeexpand to call mk_msgstr on the string passed | |
5305 | before displaying it if all we're doing is displaying translatable | |
5306 | strings in `po' format. mk_msgstr quotes backslashes and double | |
5307 | quotes in the string passed with backslashes, and encloses the | |
5308 | result in double quotes. If only -D is supplied, the string is | |
5309 | not changed at all -- this is what ksh93 does | |
5310 | ||
5311 | lib/readline/rlconf.h | |
5312 | - removed PAREN_MATCHING #define, paren matching is always compiled | |
5313 | into readline | |
5314 | ||
5315 | lib/readline/parens.c | |
5316 | - removed code that was active if PAREN_MATCHING was not defined | |
5317 | - added _rl_enable_paren_matching, which is called when the readline | |
5318 | variable `blink-matching-paren' is assigned a value and changes | |
5319 | the appropriate key bindings in emacs_standard_keymap | |
5320 | ||
5321 | lib/readline/bind.c | |
5322 | - no more PAREN_MATCHING defines, `blink-matching-paren' is always | |
5323 | available | |
5324 | - if `blink-matching-paren' is assigned a value, call | |
5325 | _rl_enable_paren_matching (rl_blink_matching_paren) | |
5326 | ||
5327 | lib/readline/emacs_keymap.c | |
5328 | - removed PAREN_MATCHING defines; the default key bindings for | |
5329 | ), ], and } are self-insert | |
5330 | ||
5331 | 3/7 | |
5332 | --- | |
5333 | stringlib.c | |
5334 | - added an extra argument to ansicstr so that `echo -e' will not | |
5335 | convert \' to ' | |
5336 | ||
5337 | externs.h | |
5338 | - changed extern declaration for ansicstr | |
5339 | ||
5340 | parse.y, builtins/{echo,printf}.def | |
5341 | - changed calls to ansicstr() appropriately | |
5342 | ||
5343 | eval.c | |
5344 | - in parse_string_to_word_list, if an unexpected token is encountered | |
5345 | that causes the string to not parse to a simple command, or to | |
5346 | completely consume the string, display an error message and jump | |
5347 | back to the top level after restoring the parsing environment, | |
5348 | returning an error status from the attempted assignment | |
5349 | ||
5350 | 3/8 | |
5351 | --- | |
5352 | lib/glob/fnmatch.c | |
5353 | - fixed patscan and extmatch to handle embedded [...](...) patterns | |
5354 | better | |
5355 | ||
5356 | tests/{extglob2.{tests,right},run-extglob2} | |
5357 | - an additional set of ksh extended globbing tests, cribbed from zsh | |
5358 | ||
5359 | 3/10 | |
5360 | ---- | |
5361 | general.c | |
5362 | - changed unset_nodelay_mode slightly to make sure it handles both | |
5363 | O_NDELAY and O_NONBLOCK if they have different values; it now | |
5364 | returns a value of 0 on success (or no action); -1 on failure | |
5365 | ||
5366 | general.h | |
5367 | - changed extern declaration for unset_nodelay_mode | |
5368 | ||
5369 | ||
5370 | lib/readline/shell.c | |
5371 | - new function: unset_nodelay_mode; identical to definition in | |
5372 | general.c | |
5373 | ||
5374 | lib/readline/input.c | |
5375 | - changed rl_getc to call unset_nodelay_mode if the read fails with | |
5376 | errno == EWOULDBLOCK || errno == EAGAIN | |
5377 | ||
5378 | 3/11 | |
5379 | ---- | |
5380 | lib/termcap/termcap.c | |
5381 | - minor changes from termutils-2.0 | |
5382 | - minor change to MS-DOS version of valid_filename_p so MS-DOS-specific | |
5383 | code from tgetent() can be removed (from Michel@smr.nl) | |
5384 | ||
5385 | lib/readline/bind.c | |
5386 | - in _rl_read_file, null-terminate the buffer at the number of | |
5387 | characters actually read, not what stat() says the file size is | |
5388 | - use ~/_inputrc as a last-ditch inputrc filename on MS-DOS | |
5389 | ||
5390 | lib/readline/complete.c | |
5391 | - change printable_part to handle MS-DOS `drive-letter:' pathname | |
5392 | prefixes | |
5393 | - removed __GO32__ code, since it's for DJGPP 1.x, which is not | |
5394 | supported any more, and they don't work for DJGPP 2.x | |
5395 | - added code to support MS-DOS drive letter prefixes and //X/... | |
5396 | to filename_completion_function | |
5397 | - _rl_completion_case_fold defaults to 1 on MS-DOS | |
5398 | ||
5399 | lib/readline/{display,input,readline,rltty,signals,terminal}.c | |
5400 | - removed __GO32__ code | |
5401 | ||
5402 | lib/readline/histfile.c | |
5403 | - make read_history_range and history_truncate_file work with the | |
5404 | actual number of characters read from the file, not the file size | |
5405 | as reported by stat() | |
5406 | ||
5407 | lib/readline/readline.c | |
5408 | - change bind_arrow_keys_internal to bind MS-DOS arrow keys to the | |
5409 | appropriate functions if __MSDOS__ is defined | |
5410 | ||
5411 | lib/readline/rltty.c | |
5412 | - make sure set_winsize is always defined, with a null body if | |
5413 | TIOCGWINSZ is not defined | |
5414 | ||
5415 | lib/readline/shell.c | |
5416 | - include <stdio.h>, since this file uses sprintf | |
5417 | ||
5418 | support/shobj-conf | |
5419 | - MS-DOS does not support shared objects | |
5420 | ||
5421 | lib/tilde/tilde.c | |
5422 | - change tilde_find_suffix and isolate_tilde_prefix to understand | |
5423 | backslash as a pathname separator on MS-DOS | |
5424 | ||
5425 | 3/12 | |
5426 | ---- | |
5427 | lib/readline/{bind,readline,terminal}.c | |
5428 | - no longer need to include <signal.h> | |
5429 | ||
5430 | lib/readline/terminal.c | |
5431 | - don't need to include <setjmp.h> | |
5432 | ||
5433 | builtins/history.def | |
5434 | - broke the code than handles deleting a particular history entry | |
5435 | from the history list out into a separate function: delete_histent | |
5436 | - added `-d offset' option to delete the history entry at position | |
5437 | OFFSET, as displayed when the history is listed | |
5438 | ||
5439 | jobs.c, nojobs.c | |
5440 | - new function, count_all_jobs(), returns the number of active jobs | |
5441 | in the jobs list | |
5442 | ||
5443 | jobs.h | |
5444 | - extern declaration for count_all_jobs() | |
5445 | ||
5446 | configure.in | |
5447 | - check for C library function ttyname() | |
5448 | ||
5449 | config.h.in | |
5450 | - define HAVE_TTYNAME if configure finds ttyname(3) | |
5451 | ||
5452 | parse.y | |
5453 | - two new escape sequences for decode_prompt_string: | |
5454 | ||
5455 | \j number of active jobs in jobs list | |
5456 | \l basename of shell's tty device name | |
5457 | ||
5458 | doc/{bash.1,bashref.texi}, lib/readline/doc/hsuser.texi | |
5459 | - documented new `history -d' option | |
5460 | - documented new \j and \l prompt string expansion sequences | |
5461 | ||
5462 | lib/readline/bind.c | |
5463 | - new static state variable, currently_reading_init_file, set to | |
5464 | 1 while _rl_read_init_file is operating on a file | |
5465 | - changed _rl_init_file_error to include the name and line number | |
5466 | from the init file only if currently_reading_init_file is non-zero | |
5467 | (this is needed since applications like bash can call | |
5468 | rl_parse_and_bind, and error messages from those calls would be | |
5469 | misleading if they referred to the last inputrc file read | |
5470 | ||
5471 | bashline.c | |
5472 | - support for a `extended command keymap', which will allow | |
5473 | readline key sequences to be bound to unix commands using an | |
5474 | auxiliary keymap and a special function that knows how to execute | |
5475 | commands from it | |
5476 | - bind_keyseq_to_unix_command supports `bind -x' | |
5477 | - bash_execute_unix_command is the readline callback that looks in | |
5478 | an auxiliary keymap to find the shell command to execute for a | |
5479 | particular key sequence | |
5480 | - new variable, no_empty_command_completion, which suppresses $PATH | |
5481 | searching for command completion when TAB is typed on an empty | |
5482 | line | |
5483 | ||
5484 | bashline.h | |
5485 | - extern declaration for new function bind_keyseq_to_unix_command | |
5486 | ||
5487 | builtins/bind.def | |
5488 | - added `-x' option to bind a key sequence to a shell command | |
5489 | ||
5490 | builtins/help.def | |
5491 | - added `-s' option to just print a builtin's short_doc | |
5492 | ||
5493 | builtins/shopt.def | |
5494 | - added new shell option, no_empty_cmd_completion', mirroring value | |
5495 | of no_empty_command_completion | |
5496 | ||
5497 | doc/{bash.1,bashref.texi} | |
5498 | - documented new `bind -x' option | |
5499 | - documented new shopt `no_empty_cmd_completion' option | |
5500 | - documented new `help -s' option | |
5501 | ||
5502 | Makefile.in | |
5503 | - changed RELSTATUS to `devel' | |
5504 | ||
5505 | _distribution | |
5506 | - changed to `2.04' | |
5507 | ||
5508 | 3/15 | |
5509 | ---- | |
5510 | support/shobj-conf | |
5511 | - add `-h $@' to linking options on Solaris 2 with gcc | |
5512 | ||
5513 | expr.c | |
5514 | - changes to add {pre,post}-{inc,dec}rement operators (++id, --id, | |
5515 | id++, id--). These are somewhat more liberal than ksh93, and | |
5516 | may require more strict syntax checking down the line | |
5517 | ||
5518 | tests/arith.{tests,right} | |
5519 | - additional tests for {pre,post}-{inc,dec}rement operators | |
5520 | ||
5521 | 3/16 | |
5522 | ---- | |
5523 | command.h | |
5524 | - structures and types for ksh-93-style arithmetic `for' command | |
5525 | ||
5526 | configure.in | |
5527 | - new `--enable-arith-for-command' option to compile arithmetic for | |
5528 | command code into the shell | |
5529 | ||
5530 | config.h.in | |
5531 | - new define, ARITH_FOR_COMMAND, turned on by configure | |
5532 | ||
5533 | parse.y | |
5534 | - changed read_token_word to parse a set of arithmetic for expressions | |
5535 | between (( and )) as long as the last token read before the `((' | |
5536 | was FOR | |
5537 | - added grammar rules to build arithmetic for commands | |
5538 | ||
5539 | make_cmd.c | |
5540 | - functions to parse (( ... )) into the three sub-expressions needed | |
5541 | for the arithmetic for command and create the command structures | |
5542 | (done this way instead of in the grammar rules to avoid forcing | |
5543 | users to quote special characters between the (( and )) ) | |
5544 | ||
5545 | make_cmd.h | |
5546 | - extern declaration for make_arith_for_command | |
5547 | ||
5548 | copy_cmd.c | |
5549 | - code to copy arithmetic for commands | |
5550 | ||
5551 | dispose_cmd.c | |
5552 | - code to dispose of arithmetic for commands | |
5553 | ||
5554 | print_cmd.c | |
5555 | - code to print arithmetic for commands | |
5556 | ||
5557 | execute_cmd.c | |
5558 | - code to execute arithmetic for commands and note that they are | |
5559 | shell control structures for the piping code | |
5560 | ||
5561 | doc/{bash.1,bashref.texi} | |
5562 | - documented new arithmetic for command | |
5563 | ||
5564 | doc/bashref.texi | |
5565 | - documented new configure --enable-arith-for-command option | |
5566 | ||
5567 | 3/17 | |
5568 | ---- | |
5569 | builtins/read.def | |
5570 | - added `-t timeout' option and code to support it | |
5571 | ||
5572 | 3/18 | |
5573 | ---- | |
5574 | examples/loadables/Makefile.in | |
5575 | - various clean targets need to descend into perl | |
5576 | ||
5577 | examples/loadables/perl/Makefile.in | |
5578 | - added mostlyclean and maintainer-clean targets | |
5579 | ||
5580 | include | |
5581 | - new directory, with files from lib/posixheaders | |
5582 | ||
5583 | lib/posixheaders | |
5584 | - removed | |
5585 | ||
5586 | {posixwait,unionwait,maxpath}.h | |
5587 | - moved from top src directory to include subdir | |
5588 | ||
5589 | Makefile.in,builtins/Makefile.in,lib/{glob,malloc,sh,tilde}/Makefile.in | |
5590 | - updated dependencies and file lists for new include directory | |
5591 | - added BASHINCDIR variable, added -I${BASHINCDIR} to cc's include path | |
5592 | ||
5593 | MANIFEST,support/SYMLINKS | |
5594 | - updated for new include directory | |
5595 | ||
5596 | lib/readline/{ansi_stdlib,posixdir,posixjmp,posixstat,rlstdc}.h | |
5597 | - changed symlinks to point to ../../include rather than | |
5598 | ../posixheaders | |
5599 | ||
5600 | builtins/common.h | |
5601 | - changed `#include "../stdc.h"' to `#include "stdc.h"' | |
5602 | ||
5603 | builtins/{cd,exec,fc,history,pushd,source,type,umask,printf}.def | |
5604 | builtins/{mkbuiltins,common,evalfile,evalstring,getopt}.c | |
5605 | - changed include specifications: | |
5606 | ../posixstat.h -> posixstat.h | |
5607 | ../filecntl.h -> filecntl.h | |
5608 | ../maxpath.h -> maxpath.h | |
5609 | ../memalloc.h -> memalloc.h | |
5610 | ||
5611 | include/shtty.h | |
5612 | - new file, contents of bashtty.h and code from jobs.c that includes | |
5613 | the appropriate terminal file | |
5614 | ||
5615 | lib/sh/shtty.c | |
5616 | - new file with some tty manipulation utility functions | |
5617 | ||
5618 | bashtty.h | |
5619 | - removed | |
5620 | ||
5621 | jobs.c, nojobs.c | |
5622 | - include shtty.h instead of bashty.h and other code that includes | |
5623 | the correct system-dependent tty include file | |
5624 | ||
5625 | lib/sh/Makefile.in | |
5626 | - added shtty.o as part of libsh.a | |
5627 | ||
5628 | MANIFEST | |
5629 | - added include/shtty.h and lib/sh/shtty.c, removed bashtty.h | |
5630 | ||
5631 | 3/19 | |
5632 | ---- | |
5633 | lib/readline/display.c | |
5634 | - some more __MSDOS__ code to make readline work better with DJGPP: | |
5635 | output \r instead of tputs(term_cr, ...) | |
5636 | ||
5637 | lib/readline/terminal.c | |
5638 | - some changes for __DJGPP__ (one is of dubious value -- doesn't | |
5639 | DJGPP have a termcap library?) | |
5640 | ||
5641 | 3/23 | |
5642 | ---- | |
5643 | configure.in | |
5644 | - make sure that the $CC argument to shobj-conf is quoted | |
5645 | ||
5646 | support/shobj-conf | |
5647 | - changes to SGI SHOBJ_LDFLAGS from David Kaelbling <drk@sgi.com> | |
5648 | ||
5649 | 3/24 | |
5650 | ---- | |
5651 | lib/sh/zread.c | |
5652 | - interface to read(2) that restarts automatically if errno == EINTR | |
5653 | ||
5654 | externs.h | |
5655 | - new declarations for functions in lib/sh/{zread,zwrite}.c | |
5656 | ||
5657 | lib/sh/Makefile.in, Makefile.in | |
5658 | - add zread.c, zread.o to appropriate file lists | |
5659 | ||
5660 | {subst,input}.c, builtins/{evalstring.c,read.def} | |
5661 | - converted some loops around read() to call zread() instead | |
5662 | ||
5663 | lib/readline/rltty.h | |
5664 | - new struct _rl_tty_chars to save tty special characters | |
5665 | ||
5666 | lib/readline/rltty.c | |
5667 | - new function save_tty_chars to save tty special characters | |
5668 | (currently they're only saved -- nothing looks at them yet) | |
5669 | - two new internal library functions, _rl_disable_tty_signals () | |
5670 | and _rl_restore_tty_signals (), intended to disable tty driver | |
5671 | signal processing for readline's literal-next code, so users | |
5672 | can do stuff like ^V^C and have ^C end up in the readline | |
5673 | buffer even if ^C is the terminal's interrupt character | |
5674 | ||
5675 | lib/readline/readline.c | |
5676 | - changed rl_quoted_insert to disable and restore tty signal | |
5677 | handling around the call to rl_read_key (), so users can put | |
5678 | tty special chars into the readline buffer | |
5679 | ||
5680 | 3/25 | |
5681 | ---- | |
5682 | expr.c | |
5683 | - added `,' operator (expr1 , expr2) -- both expr1 and expr2 are | |
5684 | evaluated and the return value is the value of expr2. Precedence | |
5685 | is higher than assignment (which makes it highest) | |
5686 | - make `lasttp' (pointer to last token) part of the expression | |
5687 | context that is saved and restored by {push,pop}_context. This | |
5688 | is used only in error reporting | |
5689 | ||
5690 | doc/{bash.1,bashref.texi} | |
5691 | - documented new `,' arithmetic operator | |
5692 | - cleaned up some of the language concerning variables referenced | |
5693 | by name within an arithmetic expression | |
5694 | ||
5695 | lib/readline/readline.c | |
5696 | - new application-settable variable, rl_num_chars_to_read, which, if | |
5697 | set to a non-zero value, causes readline to return after reading | |
5698 | that many characters (or at least that many characters, if | |
5699 | rl_startup_hook is used to prime the input buffer) rather than | |
5700 | when reading a character bound to accept-line | |
5701 | ||
5702 | lib/readline/readline.h | |
5703 | - extern declaration for rl_num_chars_to_read | |
5704 | ||
5705 | builtins/read.def | |
5706 | - added new `-n nchars' option to read NCHARS from stdin rather than | |
5707 | a complete line. Works both with and without using readline | |
5708 | ||
5709 | doc/{bash.1,builtins.texi} | |
5710 | - documented new `read -n nchars' option | |
5711 | ||
5712 | 3/26 | |
5713 | ---- | |
5714 | execute_cmd.c | |
5715 | - make sure all uses of PIDs are of type pid_t | |
5716 | ||
5717 | redir.c | |
5718 | - broke stdin_redirects into two functions: stdin_redirection, which | |
5719 | checks a single redirection specification, and a new stdin_redirects, | |
5720 | which does what it did before but calls stdin_redirection for each | |
5721 | redirection in the chain | |
5722 | ||
5723 | 3/29 | |
5724 | ---- | |
5725 | aclocal.m4 | |
5726 | - new test, BASH_CHECK_DEV_STDIN, checks for /dev/stdin. If it's | |
5727 | present HAVE_DEV_STDIN is defined and it's assumed that /dev/stdout | |
5728 | and /dev/stderr are present as well | |
5729 | ||
5730 | configure.in | |
5731 | - call BASH_CHECK_DEV_STDIN | |
5732 | ||
5733 | config.h.in | |
5734 | - add HAVE_DEV_STDIN, initially undefined | |
5735 | ||
5736 | test.c | |
5737 | - add /dev/std{in,out,err} to the special filenames that are handled | |
5738 | by test_stat() if HAVE_DEV_STDIN is not defined | |
5739 | ||
5740 | doc/{bash.1,bashref.texi} | |
5741 | - documented conditional expressions' handling of /dev/std{in,out,err} | |
5742 | ||
5743 | stringlib.c | |
5744 | - new function, find_string_in_alist, to find (or match as an extended | |
5745 | glob pattern) a string in a STRING_INT_ALIST and return the | |
5746 | associated token value | |
5747 | ||
5748 | externs.h | |
5749 | - extern declaration for find_string_in_alist | |
5750 | ||
5751 | redir.c | |
5752 | - new STRING_INT_ALIST list of filenames the redirection code handles | |
5753 | specially (_redir_special_filenames) | |
5754 | - new function, redir_special_open () to handle filenames found in | |
5755 | _redir_special_filenames (framework for /dev/tcp and /dev/udp, but | |
5756 | those are not implemented get) | |
5757 | ||
5758 | doc/{bash.1,bashref.texi} | |
5759 | - documented special filename handling in redirections | |
5760 | ||
5761 | 3/30 | |
5762 | ---- | |
5763 | builtins/read.def | |
5764 | - added `-d delim' option, like ksh93, to read until delim rather | |
5765 | than newline | |
5766 | ||
5767 | doc/{bash.1,bashref.texi} | |
5768 | - documented new read `-d delim' option | |
5769 | ||
5770 | configure.in | |
5771 | - look for gethostbyname(3), inet_aton(3) | |
5772 | - look for <netdb.h> and <netinet/in.h> | |
5773 | - call BASH_FUNC_GETHOSTBYNAME if gethostbyname(3) is not in libc | |
5774 | - check for u_int and u_long types, default to `unsigned int' and | |
5775 | `unsigned long' respectively | |
5776 | - new enable option `--enable-net-redirections' to compile in the | |
5777 | /dev/tcp and /dev/udp redirection code | |
5778 | ||
5779 | aclocal.m4 | |
5780 | - new macro, BASH_FUNC_GETHOSTBYNAME, looks for gethostbyname(3) in | |
5781 | the socket libraries if it's not found in libc | |
5782 | ||
5783 | config.h.in | |
5784 | - new defines: HAVE_GETHOSTBYNAME, HAVE_INET_ATON, HAVE_NETDB_H, | |
5785 | HAVE_NETINET_IN_H, NETWORK_REDIRECTIONS | |
5786 | - new defines: u_int, u_long | |
5787 | ||
5788 | lib/sh/inet_aton.c | |
5789 | - new file, from GNU libc, slightly modified to remove inet_addr() | |
5790 | ||
5791 | lib/sh/netopen.c | |
5792 | - new file, functions to create tcp/udp network connections. Exports | |
5793 | a single function: netopen(pathname) | |
5794 | ||
5795 | externs.h | |
5796 | - extern declaration for netopen() | |
5797 | ||
5798 | lib/sh/Makefile.in, Makefile.in, MANIFEST | |
5799 | - added appropriate references to inet_aton.c and netopen.c | |
5800 | ||
5801 | config-bot.h | |
5802 | - if HAVE_SYS_SOCKET_H, HAVE_GETPEERNAME, and HAVE_NETINET_IN_H are | |
5803 | all defined, define HAVE_NETWORK | |
5804 | ||
5805 | redir.c | |
5806 | - call netopen for pathnames of the form /dev/(tcp|udp)/host/port | |
5807 | if HAVE_NETWORK is defined; print a warning message otherwise | |
5808 | - /dev/tcp and /dev/udp code is only compiled in if | |
5809 | NETWORK_REDIRECTIONS is defined | |
5810 | ||
5811 | 3/31 | |
5812 | ---- | |
5813 | lib/sh/zread.c | |
5814 | - new function, zsyncfd(fd) which syncs the kernel's seek pointer on | |
5815 | FD with the last character returned by zreadc() | |
5816 | ||
5817 | externs.h | |
5818 | - extern declaration for zsyncfd | |
5819 | ||
5820 | builtins/read.def | |
5821 | - use zreadc if the input is not unbuffered (this cuts the number | |
5822 | of read(2) calls *way* down) | |
5823 | - if input is not unbuffered, call zsyncfd before returning to make | |
5824 | sure zreadc's buffering doesn't consume too much input | |
5825 | ||
5826 | 4/1 | |
5827 | --- | |
5828 | Makefile.in | |
5829 | - install bashbug with mode 555 | |
5830 | ||
5831 | 4/2 | |
5832 | --- | |
5833 | shell.c | |
5834 | - make want_pending_command and read_from_stdin global rather than | |
5835 | local variables | |
5836 | ||
5837 | flags.c | |
5838 | - change which_set_flags to insert `c' and `s' if the `-c' and `-s' | |
5839 | invocation options, respectively, were supplied at shell startup | |
5840 | ||
5841 | bashline.c | |
5842 | - change bash_directory_completion_hook to change the logic for | |
5843 | deciding whether or not to parameter expand the directory name -- | |
5844 | now we expand only if there's a `$' (still has problems if the | |
5845 | user quoted the `$') or a `` pair. Fixes bug reported by | |
5846 | chuckjr@sinclair.net. To fix the `$' problem, could possibly | |
5847 | check what the user typed with rl_line_buffer and start, end | |
5848 | parameters to gen_completion_matches | |
5849 | - changed attempt_shell_completion to slightly adjust the logic for | |
5850 | deciding whether or not a word is in a command position: if the | |
5851 | word being completed has a single opening single or double quote | |
5852 | before the command separator, treat it as a candidate for (quoted) | |
5853 | command word completion | |
5854 | - now that we understand partially-quoted strings as completion | |
5855 | candidates, we can do command completion on certain unclosed | |
5856 | uses of $(... | |
5857 | ||
5858 | subst.c | |
5859 | - change extract_delimited_string to not return an error for an | |
5860 | unclosed construct if DOING_COMPLETION is non-zero | |
5861 | ||
5862 | 4/5 | |
5863 | --- | |
5864 | expr.c | |
5865 | - fixed `ss=09 ; let ss=10' bug by introducing one-token lookahead | |
5866 | after a string token is parsed. If the next token is `=', we | |
5867 | don't evaluate the variable's value as an expression, since it's | |
5868 | not going to be used | |
5869 | ||
5870 | variables.h | |
5871 | - added new member to struct variable: exportstr -- for the future | |
5872 | caching of strings to be placed into the environment | |
5873 | - extern declaration for bind_variable_value | |
5874 | ||
5875 | variables.c | |
5876 | - make sure that the `exportstr' member of a struct variable is | |
5877 | initialized correctly, and put code in to free it where appropriate | |
5878 | (if non-null) | |
5879 | - new function, bind_variable_value(VAR, VALUE); make shell variable | |
5880 | VAR have value VALUE | |
5881 | - make sure var->exportstr is invalidated when a variable or function | |
5882 | is assigned a value | |
5883 | ||
5884 | builtins/declare.def | |
5885 | - call bind_variable_value instead of duplicating some of bind_variable | |
5886 | inline | |
5887 | ||
5888 | 4/6 | |
5889 | --- | |
5890 | variables.h | |
5891 | - new macros, VSETATTR and VUNSETATTR to set and clear variable | |
5892 | attributes | |
5893 | ||
5894 | builtins{read,set,setattr,declare}.def,{execute_cmd,expr,shell,subst,variables}.c | |
5895 | - change to use VSETATTR and VUNSETATTR | |
5896 | ||
5897 | 4/7 | |
5898 | --- | |
5899 | doc/Makefile.in | |
5900 | - if htmldir is set by configure, install the html files into that | |
5901 | directory with `make install' and remove them with `make uninstall' | |
5902 | ||
5903 | Makefile.in,doc/Makefile.in | |
5904 | - htmldir is set by configure and passed from the Makefile to the | |
5905 | install in the doc subdirectory | |
5906 | ||
5907 | configure.in | |
5908 | - substitute `htmldir' into Makefiles | |
5909 | ||
5910 | support/config.guess | |
5911 | - some small changes for Apple's Rhapsody | |
5912 | ||
5913 | lib/termcap/Makefile.in | |
5914 | - make the `distclean' and `maintainer-clean' targets remove Makefile | |
5915 | ||
5916 | lib/termcap/ltcap.h | |
5917 | - new private library include file, for Rhapsody __private_extern__ | |
5918 | define | |
5919 | ||
5920 | lib/termcap/{termcap,tparam}.c | |
5921 | - include "ltcap.h" | |
5922 | - if HAVE_CONFIG_H is defined, include <stdlib.h> if HAVE_STDLIB_H is | |
5923 | defined, otherwise declare getenv, malloc, realloc as extern | |
5924 | - add __private_extern__ qualifier for extern data that Rhapsody | |
5925 | requires | |
5926 | ||
5927 | shell.c | |
5928 | - don't run the startup files in the rshd case if shell_level is >= 2 | |
5929 | This should catch the case of | |
5930 | rsh machine bash -c 'echo a' | |
5931 | running the .bashrc twice, once for the shell started by rshd and | |
5932 | one for the shell running -c command | |
5933 | ||
5934 | 4/8 | |
5935 | --- | |
5936 | variables.c | |
5937 | - in initialize_shell_variables, unset the export attribute from | |
5938 | SSH_CLIENT if it exists and we got it from the initial environment | |
5939 | ||
5940 | shell.c | |
5941 | - don't bother unsetting export attribute from SSH_CLIENT, since we | |
5942 | now do it in initialize_shell_variables | |
5943 | ||
5944 | lib/readline/display.c | |
5945 | - don't check prompt_this_line[-2] in rl_redisplay if prompt_this_line | |
5946 | isn't at least 2 characters after the start of rl_display_prompt | |
5947 | ||
5948 | lib/readline/histfile.c | |
5949 | - change the name of the default history file to _history on MS-DOS | |
5950 | ||
5951 | lib/readline/histlib.h | |
5952 | - add an extern declaration for history_offset | |
5953 | ||
5954 | lib/readline/hist{expand,search}.c | |
5955 | - remove extern declaration for history_offset; now in histlib.h | |
5956 | ||
5957 | lib/readline/xmalloc.h | |
5958 | - new file, extern declarations for xmalloc, xrealloc, xfree | |
5959 | ||
5960 | lib/readline/rlprivate.h | |
5961 | - new file, with extern declarations for `readline private' global | |
5962 | variables and functions | |
5963 | ||
5964 | lib/readline/rlshell.h | |
5965 | - new file, with extern function declarations for stuff in shell.c | |
5966 | ||
5967 | lib/readline/Makefile.in | |
5968 | - add dependencies on xmalloc.h, rlshell.h | |
5969 | - add xmalloc.h, rlprivate.h to list of header files | |
5970 | ||
5971 | MANIFEST | |
5972 | - add lib/readline/xmalloc.h, lib/readline/rlprivate.h, | |
5973 | lib/readline/rlshell.h | |
5974 | ||
5975 | Makefile.in | |
5976 | - add $(RL_LIBSRC)/xmalloc, $(RL_LIBSRC)/rlprivate.h, | |
5977 | $(RL_LIBSRC)/rlshell.h to READLINE_SOURCE variable | |
5978 | ||
5979 | lib/readline/{bind,complete,display,funmap,histexpand,histfile,history,input, | |
5980 | isearch,keymaps,kill,macro,readline,search,shell,util,vi_mode}.c | |
5981 | - include "xmalloc.h" rather than extern declarations for xmalloc, | |
5982 | xrealloc, xfree | |
5983 | ||
5984 | lib/readline/terminal.c | |
5985 | - new function, used in two places, _emx_get_screensize for EMX | |
5986 | ||
5987 | lib/readline/readline.c | |
5988 | - EMX apparently no longer needs _emx_build_environ | |
5989 | ||
5990 | lib/readline/signals.c | |
5991 | - support for __EMX__ in rl_signal_handler | |
5992 | - don't set the old handler passed to rl_set_sighandler to | |
5993 | rl_signal_handler, because that would cause infinite recursion if | |
5994 | that signal were generated | |
5995 | ||
5996 | lib/readline/xmalloc.c | |
5997 | - no longer the same as lib/malloc/xmalloc.c, which is no longer | |
5998 | used by anyone | |
5999 | - changes to include xmalloc.h, define READLINE_LIBRARY, change | |
6000 | some of the argument types | |
6001 | ||
6002 | lib/tilde/tilde.c | |
6003 | - add prototypes for extern function declarations if __STDC__ | |
6004 | defined | |
6005 | ||
6006 | lib/readline/{terminal,bind,readline,nls,histexpand}.c | |
6007 | - include "rlshell.h" for function prototypes | |
6008 | ||
6009 | 4/9 | |
6010 | --- | |
6011 | lib/readline/{bind,callback,complete,display,input,isearch,kill,macro,nls, | |
6012 | parens,readline,rltty,search,signals,terminal,util,vi_mode}.c | |
6013 | - include "rlprivate.h" | |
6014 | - remove extern declarations already in rlprivate.h | |
6015 | ||
6016 | xmalloc.c | |
6017 | - xfree should take a PTR_T as its argument | |
6018 | ||
6019 | general.h | |
6020 | - change prototype for xfree to use void * instead of char * | |
6021 | ||
6022 | lib/malloc/malloc.c | |
6023 | - define PTR_T like it is defined in general.h | |
6024 | - malloc() returns a PTR_T | |
6025 | - free() takes a PTR_T as its argument | |
6026 | - realloc() returns a PTR_T and takes a PTR_T as its first argument | |
6027 | - memalign returns a PTR_T | |
6028 | - valloc returns a PTR_T | |
6029 | - calloc returns a PTR_T | |
6030 | - cfree() takes a PTR_T | |
6031 | ||
6032 | variables.c | |
6033 | - new function: char **all_variables_matching_prefix (char *prefix) | |
6034 | ||
6035 | variables.h | |
6036 | - extern declaration for all_variables_matching_prefix | |
6037 | ||
6038 | bashline.c | |
6039 | - converted variable_completion_function to use | |
6040 | all_variables_matching_prefix | |
6041 | ||
6042 | stringlib.c | |
6043 | - new function, char **alloc_array(n), allocates an argv-style | |
6044 | array of strings with room for N members | |
6045 | ||
6046 | externs.h | |
6047 | - extern declaration for alloc_array | |
6048 | ||
6049 | 4/13 | |
6050 | ---- | |
6051 | lib/readline/keymaps.c | |
6052 | - include "readline.h" | |
6053 | - remove extern function declarations | |
6054 | ||
6055 | include/stdc.h | |
6056 | - break the definition of __P out from a strict __STDC__ block, | |
6057 | since __GNUC__ and __cplusplus also indicate that prototypes | |
6058 | are available | |
6059 | ||
6060 | lib/readline/readline.h | |
6061 | - adjust conditional declaration of rl_message, since __cplusplus | |
6062 | indicates that prototypes are available | |
6063 | ||
6064 | lib/readline/rlstdc.h | |
6065 | - private copy, modified, no longer symlinked to ../../include/stdc.h | |
6066 | - __P is defined if __GNUC__ or __cplusplus is defined | |
6067 | - removed defines for __STRING, const, inline, signed, volatile, since | |
6068 | readline does not use them | |
6069 | ||
6070 | lib/readline/{search,readline}.c | |
6071 | - extern declaration for _rl_free_history_entry with prototypes, | |
6072 | since it's not in rlprivate.h | |
6073 | ||
6074 | lib/readline/history.h | |
6075 | - added some missing `extern's in function declarations | |
6076 | ||
6077 | lib/readline/undo.c | |
6078 | - include "rlprivate.h" | |
6079 | ||
6080 | lib/readline/shell.c | |
6081 | - include "rlshell.h" | |
6082 | ||
6083 | lib/readline/Makefile.in | |
6084 | - update dependencies for undo.c, shell.c | |
6085 | ||
6086 | lib/tilde/tilde.h | |
6087 | - add #define for __P if not already defined | |
6088 | - use prototypes in extern function declarations with __P() | |
6089 | ||
6090 | lib/readline/doc/rluserman.texinfo | |
6091 | - new file, derived from rlman.texinfo | |
6092 | ||
6093 | {bashline,findcmd,general,pathexp}.c, builtins/getopts.def | |
6094 | - call alloc_array(N) instead of (char **)xmalloc (N * sizeof (char *)) | |
6095 | ||
6096 | subst.c | |
6097 | - added code to implement ksh-93 ${!prefix*} expansion | |
6098 | ||
6099 | doc/{bash.1,bashref.texi} | |
6100 | - documented new ${!prefix*} expansion | |
6101 | ||
6102 | 4/15 | |
6103 | ---- | |
6104 | execute_cmd.c | |
6105 | - new variable, this_shell_function, points to SHELL_VAR of currently | |
6106 | executing shell function | |
6107 | ||
6108 | variables.c | |
6109 | - new dynamic variable, FUNCNAME -- invisible when not executing shell | |
6110 | function | |
6111 | ||
6112 | doc/{bash.1,bashref.texi} | |
6113 | - documented new FUNCNAME variable | |
6114 | ||
6115 | 4/16 | |
6116 | ---- | |
6117 | support/rlvers.sh | |
6118 | - add -T option to specify correct termcap library | |
6119 | ||
6120 | configure.in | |
6121 | - Irix 4.x still needs to link with -lsun if it contains a replacement | |
6122 | getpwent function that works with NIS | |
6123 | - if we're configuring with an already-installed readline library, | |
6124 | call BASH_CHECK_LIB_TERMCAP and pass the resulting $TERMCAP_LIB to | |
6125 | support/rlvers.sh | |
6126 | ||
6127 | lib/readline/readline.c | |
6128 | - in rl_forward, if rl_point ends up being < 0, set it to 0 | |
6129 | ||
6130 | lib/readline/exammples/excallback.c | |
6131 | - new callback example code, from `Jeff Solomon <jsolomon@stanford.edu>' | |
6132 | ||
6133 | lib/sh/getcwd.c | |
6134 | - define NULL as 0 if not defined by one of the standard include files | |
6135 | - cast result of malloc and realloc to (char *) where appropriate | |
6136 | ||
6137 | variables.c | |
6138 | - new functions for use by dynamic variables: null_assign and | |
6139 | null_array_assign. Used as assign_func for a particular variable, | |
6140 | they cause assignments to that variable to be silently ignored | |
6141 | - FUNCNAME and GROUPS are no longer readonly | |
6142 | - FUNCNAME changed to use null_assign | |
6143 | - GROUPS changed to use null_array_assign. This means that the | |
6144 | variable can be unset if desired (like for Oracle startup scripts), | |
6145 | but cannot be assigned to | |
6146 | ||
6147 | doc/{bash.1,bashref.texi} | |
6148 | - added text about assignments being silently discarded to descriptions | |
6149 | of FUNCNAME and GROUPS | |
6150 | - removed text saying that GROUPS is readonly | |
6151 | - added standard text about GROUPS being unset and losing its special | |
6152 | properties, even if reset | |
6153 | ||
6154 | command.h | |
6155 | - new command type, cm_subshell, actually causes the shell to fork | |
6156 | and then executes the command in the SUBSHELL_COM struct | |
6157 | ||
6158 | parse.y | |
6159 | - ( ... ) now creates a command of type cm_subshell, with the same | |
6160 | flag CMD_WANT_SUBSHELL as previous | |
6161 | ||
6162 | make_cmd.c | |
6163 | - new function make_subshell_command | |
6164 | ||
6165 | make_cmd.h | |
6166 | - extern declaration for make_subshell_command | |
6167 | ||
6168 | dispose_cmd.c | |
6169 | - code to destroy a SUBSHELL_COM | |
6170 | ||
6171 | copy_cmd.c | |
6172 | - code to duplicate a SUBSHELL_COM | |
6173 | ||
6174 | print_cmd.c | |
6175 | - code to print a SUBSHELL_COM | |
6176 | ||
6177 | execute_cmd.c | |
6178 | - broke the code that handles executing commands in subshells out of | |
6179 | execute_command_internal into a new function, execute_in_subshell, | |
6180 | with the same arguments | |
6181 | - executing a command of type cm_subshell is just a slightly special | |
6182 | case, handled in execute_in_subshell | |
6183 | ||
6184 | 4/18 | |
6185 | ---- | |
6186 | execute_cmd.c | |
6187 | - changed code in execute_command_internal that executes subshell | |
6188 | commands to check for command->type == cm_subshell in addition to | |
6189 | checking that commmand->flags & CMD_WANT_SUBSHELL is non-zero | |
6190 | - changed execute_in_subshell to set the CMD_NO_FORK flag on the | |
6191 | command to be executed by a command of type cm_subshell | |
6192 | (command->value.Subshell->command), if that command is a simple | |
6193 | command (type == cm_simple) or a nested subshell (type == cm_subshell) | |
6194 | and is not being timed | |
6195 | - changed execute_command_internal to just call and return the value | |
6196 | returned by execute_in_subshell if it gets a command of type | |
6197 | cm_subshell with flags including CMD_NO_FORK | |
6198 | ||
6199 | lib/malloc/malloc.c | |
6200 | - morecore() should always return through morecore_done, not with a | |
6201 | simple `return' | |
6202 | ||
6203 | 4/20 | |
6204 | ---- | |
6205 | variables.c | |
6206 | - new function, quote_array_assignment_chars, backslash quotes all | |
6207 | `[' and `]' before an `=' in a word that's part of the body of a | |
6208 | compound array assignment. Needed because we run the list through | |
6209 | the globbing code now. Don't bother if `=' does not appear in | |
6210 | the string or if the first char is not `[' | |
6211 | - call quote_array_assignment_chars from assign_array_var_from_string | |
6212 | now | |
6213 | ||
6214 | eval.c | |
6215 | - moved parse_string_to_word_list to parse.y | |
6216 | ||
6217 | parse.y | |
6218 | - moved parse_string_to_word_list here. Much simpler -- no longer | |
6219 | tries to parse a command, but just reads tokens using read_token(). | |
6220 | Any token but a WORD or ASSIGNMENT_WORD causes a syntax error. | |
6221 | Don't have to mess around with saving global_command or calling | |
6222 | parse_command, but do need to save and restore the history stuff, | |
6223 | so the array assignment doesn't get saved on the history list | |
6224 | ||
6225 | 4/21 | |
6226 | ---- | |
6227 | nojobs.c | |
6228 | - changed to use functions in lib/sh/shtty.c (tt{get,set}attr) for | |
6229 | the terminal attributes | |
6230 | - added a `flags' field to struct proc_status, flags are PROC_RUNNING | |
6231 | and PROC_NOTIFIED (status has been returned to `wait') | |
6232 | - functions check flags & PROC_RUNNING to check whether or not a | |
6233 | particular process is still alive; PROC_RUNNING is reset by | |
6234 | set_pid_status | |
6235 | - new function, mark_dead_jobs_as_notified, same function as the one | |
6236 | in jobs.c | |
6237 | - cleanup_dead_jobs reaps jobs only if they're dead and not marked | |
6238 | as notified | |
6239 | - wait_for_background pids marks all pids as notified and reaps them | |
6240 | before it returns, since it's called by the `wait' builtin | |
6241 | - wait_for_single_pid marks the pid being waited for as notified so | |
6242 | its slot can be reclaimed -- it's only called by the `wait' builtin | |
6243 | - new function, process_exit_status, to turn what wait(2) takes into | |
6244 | an exit status | |
6245 | ||
6246 | 4/22 | |
6247 | ---- | |
6248 | nojobs.c | |
6249 | - add_pid takes a new second argument, async_p, which is non-zero if | |
6250 | the process is in the background | |
6251 | - new flag, PROC_ASYNC, set by add_pid | |
6252 | - set_pid_status now sets the PROC_NOTIFIED flag if PROC_ASYNC is unset, | |
6253 | so foreground jobs get cleaned up right away | |
6254 | - changed mark_dead_jobs_as_notified to take a `force' argument; if | |
6255 | non-zero, it marks only enough dead jobs to make the number of | |
6256 | un-notified dead jobs < CHILD_MAX | |
6257 | - new function, reap_dead_jobs, same as in jobs.c | |
6258 | ||
6259 | execute_cmd.c | |
6260 | - don't need separate cases for REAP any more | |
6261 | ||
6262 | 4/23 | |
6263 | ---- | |
6264 | builtins/printf.def | |
6265 | - new function, tescape, which processes a single backslash | |
6266 | escape sequence and returns the number of characters consumed by | |
6267 | the argument string (code taken from bexpand) | |
6268 | - changed bexpand to call tescape rather than do backslash-escape | |
6269 | sequence conversion itself | |
6270 | - changed occurrences of `illegal' in error messages to `invalid' | |
6271 | - printf no longer calls ansicstr to translate backslash-escape | |
6272 | sequences; the mainline printf code now calls tescape whenever it | |
6273 | hits a backslash | |
6274 | ||
6275 | 4/26 | |
6276 | ---- | |
6277 | subst.c | |
6278 | - new variable, garglist, set to list of words to be expanded after | |
6279 | leading assignment statements are removed | |
6280 | - command_substitute now calls maybe_make_exported_env before making | |
6281 | the child process if there are no variable assignments preceding | |
6282 | the command currently being expanded, or if the command currently | |
6283 | being expanded consists only of variable assignments | |
6284 | ||
6285 | execute_cmd.c | |
6286 | - the `early fork' code in execute_simple_command now calls | |
6287 | maybe_make_export_env before forking because execute_disk_command | |
6288 | would do that in the vast majority of cases, and this will obviate | |
6289 | the need to do it for subsequent commands if the environment does | |
6290 | not change | |
6291 | ||
6292 | 4/27 | |
6293 | ---- | |
6294 | variables.h | |
6295 | - more macros to manipulate the exportstr member of a SHELL_VAR | |
6296 | - changed initialize_shell_variables to cache the value from the | |
6297 | environment as the initial exportstr for all imported variables | |
6298 | - changed make_var_array to use exportstr if it exists, instead | |
6299 | of computing the value | |
6300 | - changed make_var_array to cache exportstr for exported functions, | |
6301 | so they don't have to be deparsed every time the export env is | |
6302 | remade | |
6303 | ||
6304 | 4/28 | |
6305 | ---- | |
6306 | lib/readline/{histlib,rldefs}.h | |
6307 | - changed STREQN macro to evaluate to 1 if the third argument is 0 | |
6308 | ||
6309 | lib/readline/search.c | |
6310 | - changed rl_history_search_{for,back}ward so they leave point at | |
6311 | the end of the line when the string to search for is empty, like | |
6312 | previous-history and next-history | |
6313 | - broke common code out of rl_history_search_{for,back}ward into | |
6314 | a new function, rl_history_search_reinit | |
6315 | - rewrote rl_history_search_internal to be more like the | |
6316 | non-incremental search functions, use noninc_search_from_pos, | |
6317 | and leave the last history line found in the current line buffer | |
6318 | if the search fails | |
6319 | - new function, make_history_line_current, takes care of making | |
6320 | the current line buffer a copy of the history entry passed as an | |
6321 | argument; used by rl_history_search_internal and noninc_dosearch | |
6322 | ||
6323 | subst.c | |
6324 | - make ${!prefix@} be the same as ${!prefix*} for (undocumented) | |
6325 | ksh93 compatibility | |
6326 | ||
6327 | 4/30 | |
6328 | ---- | |
6329 | lib/readline/doc/rltech.texinfo | |
6330 | - added note about including <readline/readline.h>, and that <stdio.h> | |
6331 | should be included before readline.h | |
6332 | ||
6333 | lib/readline/doc/hstech.texinfo | |
6334 | - added note about including <readline/history.h> | |
6335 | ||
6336 | lib/readline/doc/manvers.texinfo | |
6337 | - updated version to 4.1 | |
6338 | ||
6339 | lib/readline/{bind,complete,display,isearch,nls,parens,readline,signals,tilde, | |
6340 | histexpand}.c | |
6341 | - added prototypes with __P((...)) for forward static function | |
6342 | declarations | |
6343 | ||
6344 | lib/readline/display.c | |
6345 | - broke the code that initializes VISIBLE_LINE and INVISIBLE_LINE out | |
6346 | of rl_redisplay into a new function, init_line_structures, which | |
6347 | takes an argument giving the minimum number of characters that the | |
6348 | line must hold | |
6349 | - new function for use by applications that want to display the | |
6350 | initial prompt themselves rather than having the first call to | |
6351 | readline do it: rl_on_new_line_with_prompt (modified from code in | |
6352 | the CLISP distribution) | |
6353 | ||
6354 | lib/readline/readline.c | |
6355 | - new external variable, rl_already_prompted, to let readline know | |
6356 | that the prompt string has already been displayed on the screen | |
6357 | before the first call to readline | |
6358 | - test rl_already_prompted before displaying the prompt in | |
6359 | readline_internal_setup | |
6360 | - if rl_already_prompted is non-zero, readline_internal_setup calls | |
6361 | rl_on_new_line_with_prompt instead of rl_on_new_line | |
6362 | ||
6363 | lib/readline/readline.h | |
6364 | - extern declaration for rl_on_new_line_with_prompt | |
6365 | - extern declaration for rl_already_prompted | |
6366 | ||
6367 | lib/readline/doc/rltech.texinfo | |
6368 | - documented rl_on_new_line_with_prompt and rl_already_prompted | |
6369 | ||
6370 | builtins/read.def | |
6371 | - new -s option (silent mode). Input from a terminal is not echoed | |
6372 | ||
6373 | doc/{bash.1,bashref.texi} | |
6374 | - documented new `-s' option to read builtin | |
6375 | ||
6376 | 5/3 | |
6377 | --- | |
6378 | lib/readline/vi_mode.c | |
6379 | - replaced references to rl_getc with (*rl_getc_function) | |
6380 | ||
6381 | [bash-2.04-devel frozen] | |
6382 | ||
6383 | 5/5 | |
6384 | --- | |
6385 | subst.c | |
6386 | - make sure that verify_substring_values always passes malloc'd | |
6387 | memory to maybe_expand_string as the string to be expanded, | |
6388 | since it gets freed on errors | |
6389 | ||
6390 | support/shobj-conf | |
6391 | - don't need -R option for shared libraries on Solaris | |
6392 | - new stanza for OSF/1 machines with gcc | |
6393 | ||
6394 | lib/readline/readline.c | |
6395 | - new variable, rl_gnu_readline_p, always 1. Available to allow | |
6396 | readline users to test whether or not they're linking against | |
6397 | the true readline, rather than some bogus replacement (from CLISP) | |
6398 | ||
6399 | lib/readline/readline.h | |
6400 | - extern declaration for rl_gnu_readline_p | |
6401 | ||
6402 | hashlib.h, hashcmd.h | |
6403 | - added prototypes to extern function declarations | |
6404 | ||
6405 | pcomplete.h | |
6406 | - new file, declarations for the programmable completion stuff | |
6407 | ||
6408 | pcomplib.c | |
6409 | - new file, library functions for programmable completion | |
6410 | ||
6411 | 5/6 | |
6412 | --- | |
6413 | builtins/complete.def | |
6414 | - new file, interface to programmable completion management | |
6415 | ||
6416 | configure.in | |
6417 | - new enable argument --enable-progcomp, defines | |
6418 | PROGRAMMABLE_COMPLETION | |
6419 | ||
6420 | config.h.in | |
6421 | - #define for PROGRAMMABLE_COMPLETION | |
6422 | ||
6423 | config-bot.h | |
6424 | - if PROGRAMMABLE_COMPLETION is defined and READLINE is not, | |
6425 | #undef PROGRAMMABLE_COMPLETION | |
6426 | ||
6427 | pcomplete.c | |
6428 | - new file, placeholder for programmable completion generators and | |
6429 | associated functions | |
6430 | ||
6431 | Makefile.in, builtins/Makefile.in | |
6432 | - changes to add pcomplete.c, builtins/complete.def | |
6433 | ||
6434 | 5/7 | |
6435 | --- | |
6436 | subst.c | |
6437 | - new function, #ifdef READLINE, skip_to_delim (s, i, delims). | |
6438 | Starting at s[i], return the index of the first character in s | |
6439 | that is contained in delims. Understands shell quoting. | |
6440 | - added two arguments to list_string_with_quotes: an index to | |
6441 | watch for, and a pointer to int to return the index into the | |
6442 | created word list of the word containing the sentinel. Now | |
6443 | compiled in all the time. The returned index starts at 1. | |
6444 | ||
6445 | subst.h | |
6446 | - extern declarations for char_is_quoted, unclosed_pair, and | |
6447 | skip_to_delim | |
6448 | - changed extern declaration for list_string_with_quotes, moved | |
6449 | it out of the #ifdef ARRAY_VARS section | |
6450 | ||
6451 | bashline.c | |
6452 | - removed extern declarations for char_is_quoted and unclosed_pair | |
6453 | ||
6454 | variables.c | |
6455 | - new function, SHELL_VAR **all_exported_variables() | |
6456 | = new function, SHELL_VAR **all_array_variables(), #ifdef ARRAY_VARS | |
6457 | ||
6458 | variables.h | |
6459 | - extern declaration for all_exported_variables, all_array_variables | |
6460 | ||
6461 | lib/sh/strpbrk.c | |
6462 | - replacement if we don't have strpbrk(3) | |
6463 | ||
6464 | configure.in, config.h.in | |
6465 | - check for strpbrk(3), define HAVE_STRPBRK if found | |
6466 | ||
6467 | builtins/shopt.def | |
6468 | - new function, char **get_shopt_options (), returns an array of | |
6469 | shopt option names | |
6470 | ||
6471 | builtins/set.def | |
6472 | - new function, char **get_minus_o_opts (), returns an array of | |
6473 | `set -o' option names | |
6474 | ||
6475 | builtins/common.h | |
6476 | - extern declarations for get_shopt_options, get_minus_o_opts | |
6477 | ||
6478 | 5/10 | |
6479 | ---- | |
6480 | pathexp.c | |
6481 | - make the POSIX_GLOB_LIBRARY code implement the GLOBIGNORE stuff | |
6482 | ||
6483 | 5/11 | |
6484 | ---- | |
6485 | array.c | |
6486 | - new convenience function, char **array_to_argv (ARRAY *), | |
6487 | converts an array to a list of string values | |
6488 | ||
6489 | array.h | |
6490 | - extern declaration for array_to_argv | |
6491 | ||
6492 | execute_cmd.c | |
6493 | - new convenience function, int execute_shell_function (SHELL_VAR *, | |
6494 | WORD_LIST *) | |
6495 | ||
6496 | execute_cmd.h | |
6497 | - extern declaration for execute_shell_function | |
6498 | ||
6499 | builtins/evalstring.c | |
6500 | - make parse_and_execute unwind_protect current_prompt_string | |
6501 | if the shell is interactive | |
6502 | ||
6503 | 5/12 | |
6504 | ---- | |
6505 | variables.c | |
6506 | - moved bind_int_variable from expr.c to here; it now returns a | |
6507 | SHELL_VAR *, like the other variable binding functions | |
6508 | ||
6509 | variables.h | |
6510 | - extern declaration for bind_int_variable | |
6511 | ||
6512 | 5/14 | |
6513 | ---- | |
6514 | bashline.c, parse.y, general.c, make_cmd.c, subst.c, braces.c, execute_cmd.c | |
6515 | - replaced some common code sequences with calls to substring() | |
6516 | ||
6517 | lib/readline/doc/rltech.texinfo | |
6518 | - fixed small typo in description of rl_completion_entry_function | |
6519 | ||
6520 | 5/18 | |
6521 | ---- | |
6522 | stringlib.c | |
6523 | - new function, strcreplace(char *string, int c, char *text, int do_glob) | |
6524 | replaces all occurrences of C in STRING with TEXT. Backslash may | |
6525 | be used to quote C. If DO_GLOB is non-zero, the replacement TEXT | |
6526 | is quoted to protect globbing characters. | |
6527 | ||
6528 | externs.h | |
6529 | - extern declaration for strcreplace | |
6530 | ||
6531 | bashhist.c | |
6532 | - use strcreplace in expand_histignore_pattern | |
6533 | ||
6534 | pcomplete.c | |
6535 | - finished initial implementation of programmable completion | |
6536 | ||
6537 | alias.c | |
6538 | - code to set the aliases itemlist to dirty when an alias is added | |
6539 | or removed, if PROGRAMMABLE_COMPLETION is defined | |
6540 | ||
6541 | variables.c | |
6542 | - code to set the functions itemlist to dirty when a shell function | |
6543 | is added or removed, if PROGRAMMABLE_COMPLETION is defined | |
6544 | ||
6545 | builtins/enable.def | |
6546 | - code to set the builtins itemlist to dirty when a shell builtin | |
6547 | is added or removed, if PROGRAMMABLE_COMPLETION is defined | |
6548 | - code to set the enabled and disabled itemlists to dirty when a | |
6549 | builtin is enabled or disabled, if PROGRAMMABLE_COMPLETION is | |
6550 | defined | |
6551 | ||
6552 | builtins/shopt.def | |
6553 | - new shell option, `progcomp', on if programmable_completion_enabled | |
6554 | (from pcomplete.c) is non-zero | |
6555 | ||
6556 | doc/{bash.1,bashref.texi} | |
6557 | - note that `${' is not eligible for brace expansion to avoid | |
6558 | conflicts with parameter expansion | |
6559 | ||
6560 | 5/19 | |
6561 | ---- | |
6562 | builtins/complete.def | |
6563 | - added a new `compgen' builtin for use by completion functions | |
6564 | ||
6565 | 5/21 | |
6566 | ---- | |
6567 | bashline.c | |
6568 | - new function, void clear_hostname_list(void), to delete all the | |
6569 | entries in the hostname completion list | |
6570 | ||
6571 | bashline.h | |
6572 | - extern declaration for clear_hostname_list | |
6573 | ||
6574 | variables.c | |
6575 | - changed sv_hostfile to clear the hostname list if $HOSTFILE is | |
6576 | unset | |
6577 | ||
6578 | doc/{bash.1,bashref.texi} | |
6579 | - documented new behavior of HOSTFILE when it's unset | |
6580 | - added some awkwardly-worded text to make it clear that an | |
6581 | interactive shell cannot be started with non-option arguments | |
6582 | or with the -c option | |
6583 | ||
6584 | shell.c | |
6585 | - restored NON_INTERACTIVE_LOGIN_SHELLS test, so that if it is | |
6586 | defined, shells with argv[0][0] == '-' and not in posix mode | |
6587 | run the startup files even if non-interactive | |
6588 | ||
6589 | config-top.h | |
6590 | - added commented-out #define for NON_INTERACTIVE_LOGIN_SHELLS | |
6591 | ||
6592 | 5/24 | |
6593 | ---- | |
6594 | subst.c | |
6595 | - make sure the characters in IFS are cast to unsigned before being | |
6596 | indexed in ifscmap (expand_word_internal) | |
6597 | ||
6598 | 5/25 | |
6599 | ---- | |
6600 | parse.y | |
6601 | - change grammar rule for arithmetic for expressions to handle a | |
6602 | list_terminator after the `))' instead of requiring a newline_list | |
6603 | ||
6604 | subst.c | |
6605 | - fix so that variable indirection can reference the shell's special | |
6606 | variables (like $0...$9, $$, $#, etc.) | |
6607 | ||
6608 | pcomplete.c | |
6609 | - changed gen_wordlist_matches to use split_at_delims to split the | |
6610 | string at $IFS first, then expand each individual word | |
6611 | ||
6612 | 5/27 | |
6613 | ---- | |
6614 | lib/readline/histfile.c | |
6615 | - change things so that O_BINARY mode is used when reading and writing | |
6616 | the history file on cygwin32 as well as OS/2 (__EMX__) | |
6617 | ||
6618 | parse.y | |
6619 | - add calls to push_delimiter and pop_delimiter around the call | |
6620 | to parse_matched_pair when parsing $'...' and $"..." so the | |
6621 | history entry is added correctly | |
6622 | ||
6623 | 5/28 | |
6624 | ---- | |
6625 | doc/{bash.1,bashref.texi}, lib/readline/doc/rluser.texinfo | |
6626 | - documented new programmable completion facilities | |
6627 | ||
6628 | doc/bashref.texi | |
6629 | - documented new configure `--enable-progcomp' option | |
6630 | ||
6631 | 6/1 | |
6632 | --- | |
6633 | variables.c | |
6634 | - if make_local_variable is being asked to make a local shadow | |
6635 | variable of a read-only variable, print an error message and | |
6636 | return NULL | |
6637 | - if make_local_variable returns NULL to make_local_array_variable, | |
6638 | just return it | |
6639 | ||
6640 | builtins/declare.def | |
6641 | - if we're making local variables, and make_local_array_variable or | |
6642 | make_local_variable returns NULL, just flag an error and go on | |
6643 | ||
6644 | 6/2 | |
6645 | --- | |
6646 | Makefile.in | |
6647 | - changed release status to `alpha1' | |
6648 | ||
6649 | [bash-2.04-alpha1 frozen] | |
6650 | ||
6651 | 6/18 | |
6652 | ---- | |
6653 | bashline.c | |
6654 | - fixed find_cmd_start so that it doesn't spin-loop on commands with | |
6655 | a command separator like `;' or `&'. Problem was not incrementing | |
6656 | `os' past the delimiter found | |
6657 | ||
6658 | 6/21 | |
6659 | ---- | |
6660 | variables.c | |
6661 | - cosmetic change: introduced two macros to encapsulate initialization | |
6662 | of dynamic variables | |
6663 | ||
6664 | 6/23 | |
6665 | ---- | |
6666 | pcomplib.c | |
6667 | - new function: num_progcomps(void), returns the number of entries in | |
6668 | the programmable completions hash table | |
6669 | ||
6670 | pcomplete.h | |
6671 | - extern declaration for num_progcomps | |
6672 | ||
6673 | bashline.c | |
6674 | - make sure some programmable completions have been defined before | |
6675 | diving into the programmable completion code | |
6676 | ||
6677 | shell.c | |
6678 | - in open_shell_script, move the fd opened to the script to a high | |
6679 | one with move_to_high_fd in all cases -- the buffered input code | |
6680 | still has problems if fd == 0 and later on fd 0 is closed or | |
6681 | redirected (cf. input.c:check_bash_input()) | |
6682 | ||
6683 | builtins/printf.def | |
6684 | - getlong() now calls strtol directly with a third argument of 0 so | |
6685 | it can handle 0x (hex) and 0 (octal) prefixes, which legal_number | |
6686 | does not -- this has implications for arguments to %d that begin | |
6687 | with `0' | |
6688 | ||
6689 | lib/sh/getenv.c | |
6690 | - make sure that the variable found in the temporary environment has | |
6691 | a non-null value before calling savestring() on it | |
6692 | ||
6693 | subst.c | |
6694 | - make sure split_at_delims returns 0 in *nwp and *cwp if handed a | |
6695 | null or empty string | |
6696 | ||
6697 | pcomplete.c | |
6698 | - make sure build_arg_list handles lwords == 0, as it will be if an | |
6699 | empty command line is handed to the programmable completion code | |
6700 | (like compgen -C xyz) | |
6701 | ||
6702 | execute_cmd.c | |
6703 | - make sure execute_shell_function passes a non-null bitmap of fds to | |
6704 | close to execute_function, allocating and deallocating it locally | |
6705 | ||
6706 | sig.c | |
6707 | - don't mess with SIGPROF in initialize_terminating_signals | |
6708 | ||
6709 | jobs.c, nojobs.c | |
6710 | - if the user has requested it with checkwinsize, check for a new | |
6711 | window size after a job exits due to a signal as well as being | |
6712 | stopped | |
6713 | ||
6714 | lib/readline/kill.c | |
6715 | - changed rl_kill_region to set the point to the beginning of the | |
6716 | region after the kill is performed | |
6717 | ||
6718 | 6/24 | |
6719 | ---- | |
6720 | configure.in | |
6721 | - make sure ranges ([1-9]*) are protected with [...] for m4 quoting | |
6722 | ||
6723 | variables.c | |
6724 | - make sure that bind_variable_value honors `set -a' and that it | |
6725 | marks the environment for recreation if necessary | |
6726 | ||
6727 | 6/25 | |
6728 | ---- | |
6729 | lib/readline/complete.c | |
6730 | - if we're completing at the end of the line, find_completion_word | |
6731 | shouldn't test whether the character is a special word break | |
6732 | char and (possibly) advance rl_point past the end of the buffer | |
6733 | ||
6734 | parse.y | |
6735 | - change mk_msgstr to write embedded newlines as `\n"<NL>"', as the | |
6736 | PO file format apparently requires | |
6737 | ||
6738 | 6/28 | |
6739 | ---- | |
6740 | lib/readline/display.c | |
6741 | - code to manage the growth of the inv_lbreaks and vis_lbreaks arrays | |
6742 | beyond 256, since there are pathalogical command lines that can | |
6743 | have more than 256 line breaks for redisplay | |
6744 | ||
6745 | 6/30 | |
6746 | ---- | |
6747 | stringlib.c | |
6748 | - include pathexp.h for extern declaration of quote_globbing_chars | |
6749 | ||
6750 | variables.h | |
6751 | - change CACHE_EXPORTSTR to savestring() the value and not set the | |
6752 | att_importstr flag | |
6753 | ||
6754 | 7/6 | |
6755 | --- | |
6756 | support/bashbug.sh | |
6757 | - bashbug now accepts --help and --version options | |
6758 | ||
6759 | bashline.c | |
6760 | - change bash_quote_filename to use single quotes if the user | |
6761 | does not specify an opening quote character and the filename being | |
6762 | completed contains newlines | |
6763 | ||
6764 | 7/8 | |
6765 | --- | |
6766 | configure.in, aclocal.m4, config.h.in | |
6767 | - BASH_TYPE_INT32_T --> BASH_TYPE_BITS32_T; int32_t --> bits32_t | |
6768 | - BASH_TYPE_U_INT32_T --> BASH_TYPE_U_BITS32_T; u_int32_t --> u_bits32_t | |
6769 | ||
6770 | lib/malloc/{malloc,gmalloc}.c, lib/sh/inet_aton.c | |
6771 | - int32_t --> bits32_t; u_int32_t --> u_bits32_t | |
6772 | ||
6773 | aclocal.m4 | |
6774 | - new tests: BASH_TYPE_BITS16_T, BASH_TYPE_U_BITS16_T | |
6775 | ||
6776 | configure.in | |
6777 | - add check for sizeof short, sizeof char | |
6778 | - call BASH_TYPE_BITS16_T, BASH_TYPE_U_BITS16_T | |
6779 | ||
6780 | config.h.in | |
6781 | - new #defines for bits16_t, u_bits16_t | |
6782 | ||
6783 | lib/malloc/malloc.c | |
6784 | - use u_bits16_t for type of mi_magic2 | |
6785 | ||
6786 | ||
6787 | 7/16 | |
6788 | ---- | |
6789 | lib/readline/display.c | |
6790 | - new private library function, _rl_strip_prompt, to remove instances | |
6791 | of RL_PROMPT_{START,END}_IGNORE from the passed prompt string | |
6792 | ||
6793 | lib/readline/rlprivate.h | |
6794 | - extern declaration for _rl_strip_prompt | |
6795 | ||
6796 | lib/readline/readline.c | |
6797 | - call _rl_strip_prompt before outputting the prompt if we're not | |
6798 | doing any echoing of input chars (readline_echoing_p == 0) | |
6799 | ||
6800 | Makefile.in | |
6801 | - tentative change to rule for parser-built: use $< instead of | |
6802 | `y.tab.h' in recipe | |
6803 | ||
6804 | 7/19 | |
6805 | ---- | |
6806 | support/config.{guess,sub} | |
6807 | - add code to handle all versions of Mac OS (e.g., Mac OS X) | |
6808 | ||
6809 | 7/26 | |
6810 | ---- | |
6811 | lib/readline/bind.c | |
6812 | - on cygwin32, treat \r\n as a line terminator when reading the | |
6813 | inputrc file | |
6814 | ||
6815 | 7/29 | |
6816 | ---- | |
6817 | lib/sh/netopen.c | |
6818 | - fixed problem in _getaddr with copying the address returned from | |
6819 | gethostbyname to the `struct in_addr *' argument -- hostnames | |
6820 | now work in /dev/(tcp|udp)/host/port | |
6821 | ||
6822 | 8/2 | |
6823 | --- | |
6824 | configure.in | |
6825 | - on Apple Rhapsody systems, set LOCAL_CFLAGS to -DRHAPSODY | |
6826 | ||
6827 | variables.h | |
6828 | - changes from Apple for building fat binaries on Rhapsody, | |
6829 | setting HOSTYPE, OSTYPE, VENDOR, and MACHTYPE | |
6830 | ||
6831 | lib/readline/terminal.c | |
6832 | - some work on the `dumb terminal' setup code in _rl_init_terminal_io | |
6833 | to make sure it's complete for use by the redisplay code and some | |
6834 | stuff in {readline,complete}.c | |
6835 | ||
6836 | lib/readline/display.c | |
6837 | - new function, _rl_current_display_line, returns the number of | |
6838 | lines down from the first `screen line' of the current readline | |
6839 | line the cursor is | |
6840 | ||
6841 | lib/readline/readline.c | |
6842 | - make rl_refresh_line call _rl_current_display_line | |
6843 | ||
6844 | lib/readline/rlprivate.h | |
6845 | - extern declaration for _rl_current_display_line | |
6846 | ||
6847 | 8/3 | |
6848 | --- | |
6849 | doc/bashref.texi | |
6850 | - reorganized slightly: | |
6851 | o a new shell builtins chapter | |
6852 | o a new shell variables chapter | |
6853 | o a new special builtins section | |
6854 | o bourne shell features chapter removed | |
6855 | o alias builtins moved to the bash builtins section | |
6856 | o bourne shell differences moved to appendix | |
6857 | o order of readline and history chapters swapped | |
6858 | o indices are now unnumbered appendices | |
6859 | o some text cleaned up and some explanatory text added | |
6860 | ||
6861 | lib/readline/terminal.c | |
6862 | - if a calling application is using a custom redisplay function, | |
6863 | don't call tgetent to get the terminal attributes, since those | |
6864 | are used only by the redisplay code. Still get the window | |
6865 | size, though | |
6866 | ||
6867 | lib/glob/fnmatch.c | |
6868 | - range comparisons in bracket expressions no longer use strcoll(3), | |
6869 | since in some locales (de, for example), [A-Z] matches all | |
6870 | characters | |
6871 | ||
6872 | parse.y, print_cmd.c | |
6873 | - some changes to make sure the shell compiles when | |
6874 | DPAREN_ARITHMETIC is not defined but ARITH_FOR_COMMAND is | |
6875 | ||
6876 | 8/5 | |
6877 | --- | |
6878 | redir.c | |
6879 | - in the here document code in do_redirection_internal, check | |
6880 | that the file descriptor returned by here_document_to_fd is not | |
6881 | the same as a file descriptor specified as the redirector | |
6882 | before closing it | |
6883 | ||
6884 | 8/6 | |
6885 | --- | |
6886 | parse.y | |
6887 | - make sure the pipline rule for `timespec BANG pipeline' sets the | |
6888 | CMD_INVERT_RETURN flag for the pipeline command | |
6889 | ||
6890 | builtins/wait.def | |
6891 | - use setjmp with a special jump buffer to take longjmps in the | |
6892 | case that a SIGINT is received while waiting for jobs or processes | |
6893 | it makes wait return with a status > 128, as POSIX.2 specifies | |
6894 | ||
6895 | {jobs,nojobs}.c | |
6896 | - changed wait_sigint_handler to longjmp to wait_intr_buf if it's | |
6897 | executing the wait builtin and SIGINT is trapped. It calls | |
6898 | trap_handler to make sure a pending trap for SIGINT is set also, | |
6899 | so the trap is taken when the wait builtin returns | |
6900 | ||
6901 | 8/9 | |
6902 | --- | |
6903 | jobs.c | |
6904 | - save and restore the value of errno in sigchld_handler | |
6905 | ||
6906 | trap.c | |
6907 | - save and restore the value of errno in trap_handler | |
6908 | ||
6909 | 8/10 | |
6910 | ---- | |
6911 | Makefile.in | |
6912 | - changed release status to beta1 | |
6913 | ||
6914 | 8/13 | |
6915 | ---- | |
6916 | include/posixtime.h | |
6917 | - new file to encapsulate the <time.h> and <sys/time.h> mess | |
6918 | ||
6919 | Makefile.in | |
6920 | - add posixtime.h to list of include files in BASHINCFILES | |
6921 | - update dependencies for general.o, execute_cmd.o | |
6922 | ||
6923 | general.c, execute_cmd.c, builtins/times.def | |
6924 | - include posixtime.h instead of <time.h>, <sys/time.h> | |
6925 | ||
6926 | general.c | |
6927 | - protect inclusion of <sys/times.h> with HAVE_SYS_TIMES_H check | |
6928 | ||
6929 | builtins/Makefile.in | |
6930 | - update dependencies for times.o | |
6931 | ||
6932 | 8/16 | |
6933 | ---- | |
6934 | lib/sh/timeval.c | |
6935 | - moved functions dealing with struct timevals here from general.c | |
6936 | and execute_cmd.c | |
6937 | ||
6938 | lib/sh/clock.c | |
6939 | - moved functions dealing with clock_ts here from general.c | |
6940 | (print_time_in_hz renamed to print_clock_t) | |
6941 | ||
6942 | externs.h | |
6943 | - moved extern declarations for timeval_to_secs and print_timeval | |
6944 | here from general.h | |
6945 | - moved extern declarations for clock_t_to_secs and print_clock_t | |
6946 | here from general.h | |
6947 | ||
6948 | builtins/times.def | |
6949 | - calls to print_time_in_hz changed to print_clock_t | |
6950 | ||
6951 | Makefile.in | |
6952 | - added references for lib/sh/timeval.c and lib/sh/clock.c | |
6953 | ||
6954 | lib/sh/Makefile.in | |
6955 | - clock.o and timeval.o are now included in libsh.a | |
6956 | ||
6957 | 8/23 | |
6958 | ---- | |
6959 | execute_cmd.c | |
6960 | - make sure last_command_exit_value is updated before running a | |
6961 | DEBUG trap in the cm_simple case of execute_command_internal | |
6962 | ||
6963 | lib/readline/display.c | |
6964 | - new function, static void redraw_prompt (char *), used to | |
6965 | redraw the last line of a multiline prompt that possibly | |
6966 | contains terminal escape sequences | |
6967 | - call redraw_prompt from _rl_redisplay_after_sigwinch | |
6968 | ||
6969 | 8/24 | |
6970 | ---- | |
6971 | lib/readline/bind.c | |
6972 | - new struct with names of string-valued readline variables and | |
6973 | handler functions to call when the variable is set | |
6974 | - changed rl_variable_bind to use functions to find boolean vars | |
6975 | and string vars in their respective lists | |
6976 | - new function, bool_to_int, to translate a boolean value that may | |
6977 | appear as an argument to `set <boolean-var-name>' to 1 or 0 | |
6978 | - new function, hack_special_boolean_var, called if the element in | |
6979 | the boolean_vars struct has the V_SPECIAL flag set, to provide | |
6980 | any necessary other action when a boolean variable is set | |
6981 | - new functions to be called when each string variable is set; | |
6982 | called by rl_variable_bind | |
6983 | ||
6984 | execute_cmd.c | |
6985 | - do_piping no longer sets pipes to O_TEXT mode if __CYGWIN32__ | |
6986 | is defined | |
6987 | ||
6988 | 8/25 | |
6989 | ---- | |
6990 | subst.c | |
6991 | - parameter_brace_patsub now mallocs a local copy of `patsub', because | |
6992 | if it starts with a `/' we increment it, and functions down the call | |
6993 | chain will free that on an error (and if we pass the incremented | |
6994 | value, will try to free unallocated memory) | |
6995 | - pos_params now short-circuits and returns a null string immediately | |
6996 | if start == end, meaning we want 0 positional parameters | |
6997 | ||
6998 | 8/26 | |
6999 | ---- | |
7000 | subst.c | |
7001 | - fixed pat_subst to correctly handle a null replacement string with | |
7002 | a null pattern string prefixed with `%' or `#' | |
7003 | ||
7004 | 9/3 | |
7005 | --- | |
7006 | variables.c | |
7007 | - don't import shell functions from the environment if the shell was | |
7008 | started with -n | |
7009 | ||
7010 | 9/8 | |
7011 | --- | |
7012 | subst.c | |
7013 | - if a command substitution is being performed inside a shell function, | |
7014 | catch `return' in command_substitute so that a return inside the | |
7015 | command substitution doesn't jump back to execute_function (or one | |
7016 | of its brethren) and go on with the command | |
7017 | ||
7018 | parse.y | |
7019 | - in history_delimiting_chars, if the first line is `for var' and | |
7020 | command_oriented_history is active, we don't want a semicolon if | |
7021 | the next token to be read is `in', but we do want one otherwise. | |
7022 | All we can do is check shell_input_line and see if the next chars | |
7023 | are `in' -- if so, we return " " | |
7024 | ||
7025 | 9/16 | |
7026 | ---- | |
7027 | builtins/hash.def | |
7028 | - don't allow `hash -p /pathname/with/slashes name' if the shell | |
7029 | is restricted | |
7030 | ||
7031 | doc/{bash.1,bashref.texi} | |
7032 | - updated description of restricted shell mode | |
7033 | ||
7034 | lib/readline/display.c | |
7035 | - fixed a bug in _rl_update_final which used the inv_lbreaks array | |
7036 | to index into visible_line | |
7037 | ||
7038 | jobs.c | |
7039 | - waitchld() need not go through the pain of setting up an environment | |
7040 | to execute traps on SIGCHLD if children_exited == 0 | |
7041 | - waitchld returns -1 if waitpid() returns -1 with errno == ECHILD, | |
7042 | indicating that there are no unwaited-for child processes, and it | |
7043 | has not yet reaped any dead children | |
7044 | - wait_for, wait_for_single_pid return -1 if waitchld() returns -1 | |
7045 | - new function, mark_all_jobs_as_dead | |
7046 | - wait_for_background_pids calls mark_all_jobs_as_dead if | |
7047 | wait_for_single_pid returns -1 with errno == ECHILD, since there are | |
7048 | no unwaited-for child processes | |
7049 | ||
7050 | subst.c | |
7051 | - tentative change: subshells started for command substitution no | |
7052 | longer unconditionally disable job control | |
7053 | ||
7054 | 9/17 | |
7055 | ---- | |
7056 | parse.y | |
7057 | - new function: save_token_state(). Saves the value of last_read_token | |
7058 | and the two previous tokens in an allocated array and returns the | |
7059 | array | |
7060 | - new function: restore_token_state(ts). TS is an array returned by | |
7061 | save_token_state. last_read_token and the two previous tokens are | |
7062 | set from the values in TS | |
7063 | ||
7064 | trap.c | |
7065 | - run_pending_traps calls save_token_state and restore_token_state | |
7066 | around the call to parse_and_execute, which will call the parser | |
7067 | and possibly leave it in a state where reserved words will not be | |
7068 | recognized (_run_trap_internal, too) | |
7069 | ||
7070 | 9/20 | |
7071 | ---- | |
7072 | support/bashbug.sh | |
7073 | - if sendmail is used as $RMAIL, pass `-i -t' as arguments so changes | |
7074 | made by the user to the recipient headers in the message are | |
7075 | honored | |
7076 | ||
7077 | 9/21 | |
7078 | ---- | |
7079 | bashhist.c | |
7080 | - if histverify has been set, make sure a `:p' modifier to a history | |
7081 | expansion prints the result | |
7082 | ||
7083 | builtins/echo.def | |
7084 | - new extern variable, xpg_echo, set to 1 if DEFAULT_ECHO_TO_USG is | |
7085 | defined and 0 otherwise | |
7086 | - echo_builtin now sets the initial value of do_v9 from xpg_echo | |
7087 | ||
7088 | builtins/shopt.def | |
7089 | - new shopt option, `xpg_echo', turns backslash escape expansion by | |
7090 | `echo' on and off at runtime | |
7091 | ||
7092 | builtins/{bash.1,bashref.texi} | |
7093 | - documented new `xpg_echo' shell option | |
7094 | ||
7095 | tests/{builtins.tests,builtins2.sub,shopt.tests} | |
7096 | - changes for new `xpg_echo' shell option | |
7097 | ||
7098 | configure.in | |
7099 | - changes for FreeBSD-3.x ELF to add `-rdynamic' to LOCAL_LDFLAGS. | |
7100 | This allows dynamic loading of builtins | |
7101 | ||
7102 | support/shobj-conf | |
7103 | - changes to handle FreeBSD-3.x elf or a.out object file formats | |
7104 | ||
7105 | 9/23 | |
7106 | ---- | |
7107 | [bash-2.04-beta1 released] | |
7108 | ||
7109 | 9/24 | |
7110 | ---- | |
7111 | jobs.c | |
7112 | - wait_for returns -1 only if the shell is currently executing the | |
7113 | `wait' builtin, since that's the only thing that cares | |
7114 | ||
7115 | execute_cmd.c | |
7116 | - moved cases of close_fd_bitmap to before calls to do_piping to | |
7117 | handle some pathological cases | |
7118 | ||
7119 | 9/29 | |
7120 | ---- | |
7121 | execute_cmd.c | |
7122 | - save the command line in execute_simple_command before making the | |
7123 | export environment, since maybe_make_export_env clobbers | |
7124 | the_printed_command if there are exported functions | |
7125 | ||
7126 | 9/30 | |
7127 | ---- | |
7128 | configure.in,config.h.in | |
7129 | - check explicitly for setvbuf; define HAVE_SETVBUF if found | |
7130 | ||
7131 | configure.in | |
7132 | - change opt_gnu_malloc to opt_bash_malloc, since the bash malloc | |
7133 | is not really the gnu malloc anymore | |
7134 | - new argument, --with-bash-malloc, identical to --with-gnu-malloc | |
7135 | - AC_DEFINE(USING_BASH_MALLOC) if opt_bash_malloc is enabled | |
7136 | ||
7137 | config.h.in | |
7138 | - new #define for USING_BASH_MALLOC | |
7139 | ||
7140 | doc/bashref.texi | |
7141 | - updated installation section to add --with-bash-malloc and | |
7142 | change description of --with-gnu-malloc | |
7143 | ||
7144 | lib/sh/setlinebuf.c | |
7145 | - change name of function to sh_setlinebuf, just returns 0 if | |
7146 | HAVE_SETVBUF and HAVE_SETLINEBUF are undefined | |
7147 | - prefer setvbuf to setlinebuf if we have both | |
7148 | - if we're using setvbuf, use a local buffer for stdin and stdout | |
7149 | local buffer is BUFSIZ unless we're using the bash malloc | |
7150 | (USING_BASH_MALLOC is defined), in which case it's 1008 (which | |
7151 | the bash malloc rounds up to 1024) | |
7152 | ||
7153 | 10/4 | |
7154 | ---- | |
7155 | input.c | |
7156 | - if USING_BASH_MALLOC is defined, set the max buffer size to 8176, | |
7157 | which the bash malloc rounds up to 8192 | |
7158 | ||
7159 | 10/5 | |
7160 | ---- | |
7161 | pcomplete.c | |
7162 | - new function, pcomp_filename_completion_function, a wrapper for | |
7163 | filename_completion_function that dequotes the filename first | |
7164 | ||
7165 | bashline.c | |
7166 | - changed bash_directory_completion_matches to dequote the filename | |
7167 | before passing it (indirectly) to filename_completion_function | |
7168 | ||
7169 | execute_cmd.c | |
7170 | - change execute_command to defer calling unlink_fifo_list until any | |
7171 | shell function has finished executing (variable_context == 0) | |
7172 | ||
7173 | configure.in | |
7174 | - added AC_CYGWIN, AC_MINGW32, AC_EXEEXT | |
7175 | ||
7176 | 10/8 | |
7177 | ---- | |
7178 | subst.c | |
7179 | - expand_word_internal(): changes some things to avoid small (2 or 3 | |
7180 | byte) calls to xmalloc -- added a label and some gotos (BEWARE) | |
7181 | - changed make_dev_fd_filename so it doesn't call sprintf anymore | |
7182 | ||
7183 | 10/27 | |
7184 | ----- | |
7185 | execute_cmd.c | |
7186 | - make execute_select_command handle the effects of the `continue' | |
7187 | builtin correctly | |
7188 | ||
7189 | 11/5 | |
7190 | ---- | |
7191 | Makefile.in | |
7192 | - RELSTATUS changed to `beta2' | |
7193 | ||
7194 | 11/8 | |
7195 | ---- | |
7196 | [bash-2.04-beta2 released] | |
7197 | ||
7198 | 11/9 | |
7199 | ---- | |
7200 | shell.c | |
7201 | - make run_startup_files check for ssh2 as well as ssh1 | |
7202 | ||
7203 | 11/19 | |
7204 | ----- | |
7205 | parse.y | |
7206 | - make sure parsing conditional commands isn't confused by unexpected | |
7207 | tokens (like `[[)]]') | |
7208 | ||
7209 | builtins/common.c | |
7210 | - fix get_job_spec to return NO_JOB for numeric job specs that are | |
7211 | beyond the size of the jobs table | |
7212 | ||
7213 | builtins/type.def | |
7214 | - change describe_command to report `not found' if a path search | |
7215 | returns the same string as the command name and the command name | |
7216 | does not match an executable file. This has implications for | |
7217 | `type' and `command -[vV]'. | |
7218 | - if a command is not found in $PATH, but an executable file with the | |
7219 | name supplied exists in the current directory, make the command | |
7220 | into a full pathname for the `command' builtin. This has | |
7221 | implications for `type' and `command -[vV]' | |
7222 | ||
7223 | subst.c | |
7224 | - new function, expand_prompt_string, expands prompt string and | |
7225 | returns the string passed if an error occurs | |
7226 | ||
7227 | subst.h | |
7228 | - extern declaration for expand_prompt_string | |
7229 | ||
7230 | parse.y | |
7231 | - decode_prompt_string calls expand_prompt_string instead of | |
7232 | expand_string_unsplit | |
7233 | ||
7234 | 11/22 | |
7235 | ----- | |
7236 | builtins/echo.def | |
7237 | - return EXECUTION_FAILURE if ferror(stdout) is true | |
7238 | ||
7239 | 11/23 | |
7240 | ----- | |
7241 | locale.c | |
7242 | - if LC_ALL is unset, call setlocale(LC_ALL, lc_all), because lc_all | |
7243 | holds the default locale | |
7244 | ||
7245 | 11/29 | |
7246 | ----- | |
7247 | lib/readline/shell.c | |
7248 | - define NULL as 0 if it's not defined | |
7249 | - change single_quote to allocate 4 characters in new string for | |
7250 | each character in the old one (like builtins/common.c:single_quote) | |
7251 | ||
7252 | locale.c | |
7253 | - when a locale variable (LC_*) is unset, pass "" to setlocale() | |
7254 | to get the default locale set, since value is NULL | |
7255 | ||
7256 | lib/sh/makepath.c | |
7257 | - new function, sh_makepath(char *path, char *dir, int flags) | |
7258 | ||
7259 | Makefile.in | |
7260 | - changed version to beta3 | |
7261 | ||
7262 | builtins/type.def | |
7263 | - changed describe_command to use sh_makepath() | |
7264 | ||
7265 | builtins/cd.def | |
7266 | - removed private declaration of mkpath(), changed to use sh_makepath | |
7267 | ||
7268 | general.c | |
7269 | - changed make_absolute to use sh_makepath | |
7270 | - changed full_pathname to use sh_makepath | |
7271 | ||
7272 | findcmd.c | |
7273 | - removed private definition of make_full_pathname, changed to use | |
7274 | sh_makepath | |
7275 | ||
7276 | doc/{bashref.texi,bash.1} | |
7277 | - added text to description of `getopts' to make it clear that getopts | |
7278 | may be used to parse option characters other than letters, and | |
7279 | that `:' and `?' may not be used as option characters | |
7280 | ||
7281 | eval.c | |
7282 | - when processing a jump_to_top_level(EXITPROG), make sure the shell | |
7283 | doesn't think it's still in a function by setting variable_context | |
7284 | to 0 | |
7285 | ||
7286 | doc/rbash.1 | |
7287 | - a skeletal man page for rbash, adapted from debian | |
7288 | ||
7289 | support/bashbug.sh | |
7290 | - try to find a default editor if EDITOR is unset, rather than blindly | |
7291 | using `emacs' | |
7292 | ||
7293 | 11/30 | |
7294 | ----- | |
7295 | support/config.{guess,sub} | |
7296 | - many changes from the latest `automake' distribution, from the | |
7297 | Debian folks | |
7298 | ||
7299 | 12/2 | |
7300 | ---- | |
7301 | lib/readline/keymaps.h, lib/tilde/tilde.h | |
7302 | - added support for C++ compilation (`extern "C" {...}') | |
7303 | ||
7304 | 12/3 | |
7305 | ---- | |
7306 | subst.c | |
7307 | - in process_substitute, make sure the child resets the O_NONBLOCK | |
7308 | flag on the file descriptor opened for read to a named pipe | |
7309 | ||
7310 | jobs.c | |
7311 | - new function, raw_job_exit_status, returns exit status of last job | |
7312 | in pipeline | |
7313 | - change job_exit_status to call raw_job_exit_status and pass the | |
7314 | result to process_exit_status | |
7315 | - in notify_of_job_status, get termination status from call to | |
7316 | raw_job_exit_status, rather than the first job in the pipeline | |
7317 | (fixes debian bug #15165) | |
7318 | ||
7319 | bashhist.c | |
7320 | - changed bash_history to not add shell comment lines to the history | |
7321 | file (fixes debian bug #21901). Uses new function shell_comment(L) | |
7322 | which returns 1 if L is a shell comment line. Doesn't handle | |
7323 | comments embedded in lines yet | |
7324 | ||
7325 | redir.c | |
7326 | - when running in POSIX.2 mode, bash no longer performs word splitting | |
7327 | on the expanded value of the word supplied as the filename argument | |
7328 | to a redirection operator (fixes debian bug #30460) | |
7329 | ||
7330 | doc/bashref.texi | |
7331 | - added new redirection stuff to POSIX Mode section (from previous fix) | |
7332 | ||
7333 | 12/6 | |
7334 | ---- | |
7335 | hashlib.h | |
7336 | - removed extra semicolon at end of HASH_ENTRIES define | |
7337 | ||
7338 | redir.c | |
7339 | - replaced toggling of disallow_filename_globbing flag with setting | |
7340 | flags in redirection word to include W_NOGLOB if the shell is in | |
7341 | POSIX mode and not interactive when expanding the filename argument | |
7342 | to a redirection | |
7343 | ||
7344 | 12/7 | |
7345 | ---- | |
7346 | builtins/common.c | |
7347 | - new function, backslash_quote_for_double_quotes(char *), quotes | |
7348 | characters special when in double quotes in the string passed as | |
7349 | an argument. | |
7350 | #ifdef PROMPT_STRING_DECODE; called by decode_prompt_string | |
7351 | ||
7352 | builtins/common.h | |
7353 | - extern declaration for backslash_quote_for_double_quotes | |
7354 | ||
7355 | parse.y | |
7356 | - call backslash_quote_for_double_quotes instead of backslash_quote | |
7357 | in decode_prompt_string | |
7358 | ||
7359 | 12/9 | |
7360 | ---- | |
7361 | parse.y | |
7362 | - before expanding the \u prompt string escape sequence, make sure | |
7363 | current_user.user_name is non-null and call get_current_user_info | |
7364 | if it is | |
7365 | ||
7366 | 12/10 | |
7367 | ----- | |
7368 | support/mkversion.sh | |
7369 | - changes to avoid relying on floating point output format, which | |
7370 | can be locale-specific | |
7371 | ||
7372 | 12/14 | |
7373 | ----- | |
7374 | print_cmd.c | |
7375 | - changes to named_function_string (for normal function printing) | |
7376 | and print_function_def (for printing function definitions embedded | |
7377 | in other commands) to print redirections that should be attached | |
7378 | to the function as a whole after the closing brace | |
7379 | ||
7380 | tests/func1.sub | |
7381 | - tests for printing functions with attached redirections, called by | |
7382 | func.tests | |
7383 | ||
7384 | 12/16 | |
7385 | ----- | |
7386 | lib/readline/complete.c | |
7387 | - if we're completing files in the root directory and executing the | |
7388 | visible-stats code, don't pass an empty pathname to | |
7389 | rl_directory_completion_hook, because, for bash, that will be | |
7390 | expanded to the current directory. Just pass `/' instead. | |
7391 | ||
7392 | lib/tilde/tilde.c | |
7393 | - fix to tilde_expand_word for Cygwin to avoid creating pathnames | |
7394 | beginning with `//' if $HOME == `/' | |
7395 | ||
7396 | variables.c | |
7397 | - don't bother with the exportstr validation on cygwin systems, | |
7398 | or even using exportstr at all, since that system has weird | |
7399 | environment variables | |
7400 | ||
7401 | 12/17 | |
7402 | ----- | |
7403 | configure.in | |
7404 | - new option, --enable-xpg-echo-default, new name for | |
7405 | --enable-usg-echo-default (which is still present for backwards | |
7406 | compatibility) | |
7407 | ||
7408 | configure.in, config.h.in, builtins/echo.def | |
7409 | - DEFAULT_ECHO_TO_USG -> DEFAULT_ECHO_TO_XPG | |
7410 | ||
7411 | 12/29 | |
7412 | ----- | |
7413 | aclocal.m4 | |
7414 | - changed a couple of tests to avoid creating files with known | |
7415 | names in /tmp | |
7416 | ||
7417 | support/rlvers.sh | |
7418 | - changed to create files in /tmp/rlvers | |
7419 | ||
7420 | support/mksignames.c | |
7421 | - now understands the POSIX.1b real-time signal names on systems | |
7422 | that support them | |
7423 | ||
7424 | 12/30 | |
7425 | ----- | |
7426 | [bash-2.04-beta3 released] | |
7427 | ||
7428 | 12/31 | |
7429 | ----- | |
7430 | redir.c | |
7431 | - try some more things to avoid race file replacements in | |
7432 | here_document_to_fd | |
7433 | ||
7434 | parse.y | |
7435 | - two new functions: | |
7436 | get_current_prompt_level: returns 2 if current prompt is $PS2, | |
7437 | 1 otherwise | |
7438 | set_current_prompt_level: sets current prompt to $PS2 if arg | |
7439 | is 2, $PS1 otherwise | |
7440 | ||
7441 | copy_cmd.c | |
7442 | - make sure to copy the `line' member in copy_arith_for_command | |
7443 | ||
7444 | pcomplete.c | |
7445 | - free up `lwords' and `line' after evaluating any command or shell | |
7446 | function in gen_compspec_completions | |
7447 | - after filtering any matches specified by cs->filterpat in | |
7448 | gen_compspec_completions, free ret->list (the members have | |
7449 | already been copied or freed by filter_stringlist) | |
7450 | ||
7451 | bashline.c | |
7452 | - free what find_cmd_name returns after calling the programmable | |
7453 | completion code | |
7454 | ||
7455 | 1/4/2000 | |
7456 | -------- | |
7457 | subst.c | |
7458 | - make call_expand_word_internal set w->word to NULL if either | |
7459 | expand_word_error or expand_word_fatal is returned | |
7460 | ||
7461 | 1/7 | |
7462 | --- | |
7463 | parse.y | |
7464 | - two new functions: set_current_prompt_level(int) and | |
7465 | get_current_prompt_level() to set and get the `level' of | |
7466 | current_prompt_string (1 if $PS1, 2 if $PS2) | |
7467 | ||
7468 | externs.h | |
7469 | - extern declarations for {get,set}_current_prompt_level | |
7470 | ||
7471 | builtins/evalstring.c | |
7472 | - add an unwind_protect to save and restore the current prompt | |
7473 | string pointers using {get,set}_current_prompt_level | |
7474 | ||
7475 | 1/9 | |
7476 | --- | |
7477 | Makefile.in | |
7478 | - changed release status to `beta4' | |
7479 | ||
7480 | 1/18 | |
7481 | ---- | |
7482 | [bash-2.04-beta4 released] | |
7483 | ||
7484 | 1/19 | |
7485 | ---- | |
7486 | configure.in | |
7487 | - moved checks for non-unix variants to beginning of tests | |
7488 | ||
7489 | Makefile.in, {builtins,support}/Makefile.in | |
7490 | - added some $(EXEEXT) suffixes to generated programs for non-Unix | |
7491 | systems | |
7492 | ||
7493 | 1/20 | |
7494 | ---- | |
7495 | parse.y | |
7496 | - make get_current_prompt_level return 1 if current_prompt_string is | |
7497 | NULL (as it would be while sourcing startup files) | |
7498 | ||
7499 | support/rlvers.sh | |
7500 | - rmdir $TDIR in the exit trap | |
7501 | - move the exit trap after we successfully create $TDIR | |
7502 | ||
7503 | 1/21 | |
7504 | ---- | |
7505 | subst.c | |
7506 | - several changes to split_at_delims to make non-whitespace | |
7507 | delimiters create separate fields containing those delimiters, | |
7508 | like the shell parser does with meta characters. This allows | |
7509 | redirection operators, for example, to be treated as separate | |
7510 | words by the programmable completion code | |
7511 | ||
7512 | examples/complete/complete-examples | |
7513 | - added new function: _redir_op, which return true if the word | |
7514 | passed as an argument contains a redirection operator (just | |
7515 | bare-bones for now) | |
7516 | - changed set completion function to use _redir_op as an example | |
7517 | ||
7518 | parse.y | |
7519 | - make parse_string_to_word_list save and restore the value of | |
7520 | shell_input_line_terminator, since an assignment like | |
7521 | COMPREPLY=() inside a shell function called by the programmable | |
7522 | completion code can change shell_input_line_terminator out from | |
7523 | underneath shell_getc(). shell_getc will set the input line | |
7524 | terminator to EOF when it gets EOF from the getter function, and | |
7525 | the string getter function returns EOF at EOS. parse_and_execute | |
7526 | tests for EOS directly and never gets EOF from shell_getc, so it | |
7527 | does not have this problem. | |
7528 | ||
7529 | 1/24 | |
7530 | ---- | |
7531 | lib/readline/funmap.c | |
7532 | - #define QSFUNC like in complete.c | |
7533 | - cast _rl_qsort_string_compare to a QSFUNC * in the call to qsort | |
7534 | ||
7535 | lib/readline/terminal.c | |
7536 | - correct a typo in usage of the __EMX__ preprocessor define | |
7537 | - fix a reversed usage of `#if defined (__DJGPP__)' in | |
7538 | _rl_control_keypad | |
7539 | - remove extern declarations for _rl_in_stream and _rl_out_stream | |
7540 | ||
7541 | lib/readline/rlprivate.h | |
7542 | - add extern declaration for _rl_in_stream, since there's already | |
7543 | one for _rl_out_stream | |
7544 | ||
7545 | builtins/ulimit.def | |
7546 | - if bash is using ulimit(2), make sure that getfilesize() returns | |
7547 | the value multiplied by 512 to convert it from a number of blocks | |
7548 | to a number of bytes | |
7549 | ||
7550 | 1/25 | |
7551 | ---- | |
7552 | execute_cmd.c | |
7553 | - make sure execute_command_internal sets last_command_exit_value | |
7554 | correctly when inverting the return value of a (...) subshell | |
7555 | command | |
7556 | ||
7557 | tests/{run-invert,invert.{tests,right}} | |
7558 | - new tests for return value inversion | |
7559 | ||
7560 | configure.in | |
7561 | - compile without bash malloc on m68k-motorola-sysv due to a file | |
7562 | descriptor leak in closedir(3) -- the motorola implementation | |
7563 | requires that freed memory be readable so it can free the dirent | |
7564 | and then look back at it to find the file descriptor | |
7565 | ||
7566 | expr.c | |
7567 | - fix negative exponents in v**e to return an eval error | |
7568 | ||
7569 | 2/1 | |
7570 | --- | |
7571 | Makefile.in | |
7572 | - changed status to beta5 | |
7573 | ||
7574 | jobs.c | |
7575 | - fixed a problem with checking the wrong process when checking to | |
7576 | see whether or not we need to reset the tty state. The old code | |
7577 | checked the first process in a pipeline; the new code checks all | |
7578 | processes in the pipeline to see whether any of them exited due | |
7579 | to a signal or was stopped. If none were signalled or stopped, | |
7580 | the code uses the exit status of the last process in the job's | |
7581 | pipeline | |
7582 | ||
7583 | 2/4 | |
7584 | --- | |
7585 | [bash-2.04-beta5 released] | |
7586 | ||
7587 | eval.c | |
7588 | - call set_current_prompt_level instead of setting prompt_string_pointer | |
7589 | directly | |
7590 | ||
7591 | 2/10 | |
7592 | ---- | |
7593 | [bash-2.04-beta5 re-released to net] | |
7594 | ||
7595 | 2/11 | |
7596 | ---- | |
7597 | sig.c | |
7598 | - make sure SIGCHLD is defined in initialize_shell_signals before | |
7599 | trying to use it in sigdelset() (DJGPP fix) | |
7600 | ||
7601 | 2/14 | |
7602 | ---- | |
7603 | lib/sh/shtty.c | |
7604 | - include <unistd.h> before <shtty.h> | |
7605 | - separate tests for ONLCR, ONOCR, ONLRET to cope with systems like | |
7606 | DJGPP that don't implement the full POSIX termios option set | |
7607 | ||
7608 | builtins/psize.sh | |
7609 | - set TMPDIR only if it's not already set | |
7610 | ||
7611 | lib/glob/glob.c | |
7612 | - if a system doesn't define _POSIX_SOURCE but has a `struct dirent' | |
7613 | without a d_ino member, define REAL_DIR_ENTRY to 1 so all entries | |
7614 | are read | |
7615 | ||
7616 | configure.in | |
7617 | - check for <arpa/inet.h> header file | |
7618 | ||
7619 | config.h.in | |
7620 | - add HAVE_ARPA_INET_H define | |
7621 | ||
7622 | lib/sh/inet_aton.c | |
7623 | - don't compile unless HAVE_NETWORK, HAVE_NETINET_IN_H, and | |
7624 | HAVE_ARPA_INET_H are all defined in config.h or config-bot.h | |
7625 | ||
7626 | 2/16 | |
7627 | ---- | |
7628 | subst.c | |
7629 | - if we have a construct like "${@:-}", we need to note that we're | |
7630 | not using whatever is in $@ (we're using the rhs), so the special | |
7631 | double-quoting $@ rules do not apply | |
7632 | ||
7633 | 2/21 | |
7634 | ---- | |
7635 | lib/readline/signals.c | |
7636 | - declare SigHandler before using it on non-POSIX systems | |
7637 | ||
7638 | lib/sh/{zread,zwrite}.c | |
7639 | - include <sys/types.h> unconditionally | |
7640 | ||
7641 | configure.in | |
7642 | - m68k-motorola-sysv should be m68k-sysv in the section that sets | |
7643 | opt_bash_malloc to no for certain systems | |
7644 | ||
7645 | builtins/complete.def | |
7646 | - fixed a typo (stoppped) when printing out completion actions | |
7647 | ||
7648 | 2/22 | |
7649 | ---- | |
7650 | lib/sh/netopen.c | |
7651 | - include <arpa/inet.h> if it's present | |
7652 | ||
7653 | aclocal.m4 | |
7654 | - new macro, BASH_FUNC_INET_ATON, checks for inet_aton(3) including | |
7655 | <netinet/in.h> and <arpa/inet.h>, which some systems require to | |
7656 | resolve the function | |
7657 | ||
7658 | configure.in | |
7659 | - if autoconf can't fund inet_aton on its own, try BASH_FUNC_INET_ATON | |
7660 | ||
7661 | pcomplete.c | |
7662 | - fixed a memory leak in gen_wordlist_completions | |
7663 | - changed gen_wordlist_completions to do prefix-matching against the | |
7664 | word being completed | |
7665 | ||
7666 | doc/bash.1, lib/readline/doc/rluser.texinfo | |
7667 | - documented the change in behavior of the -W option to complete and | |
7668 | compgen | |
7669 | ||
7670 | builtins/umask.def | |
7671 | - if parse_symbolic_mode() returns -1, symbolic_umask needs to return | |
7672 | -1 as well, otherwise the umask will be changed inappropriately | |
7673 | ||
7674 | input.c | |
7675 | - always compile in getc_with_restart and ungetc_with_restart | |
7676 | ||
7677 | parse.y | |
7678 | - yy_stream_get and yy_stream_unget now call getc_with_restart and | |
7679 | ungetc_with_restart, respectively, to avoid problems with some | |
7680 | systems not restarting the read(2) when signals that bash handles | |
7681 | are received during the read (since bash installs its signal | |
7682 | handlers without the SA_RESTART flag) | |
7683 | ||
7684 | lib/readline/complete.c | |
7685 | - don't default rl_completion_case_fold to 1 if __DJGPP__ is defined | |
7686 | ||
7687 | 2/25 | |
7688 | ---- | |
7689 | subst.c | |
7690 | - renamed `varlist' to `subst_assign_varlist' and made it global | |
7691 | ||
7692 | jobs.c | |
7693 | - when running a SIGCHLD trap, need to unwind-protect | |
7694 | subst_assign_varlist and set it to NULL before running the trap | |
7695 | command (fix from ericw@bestnet.org and doogie@debian.org) | |
7696 | ||
7697 | 2/28 | |
7698 | ---- | |
7699 | lib/readline/doc/rltech.texinfo | |
7700 | - document rl_funmap_names() | |
7701 | ||
7702 | 2/29 | |
7703 | ---- | |
7704 | subst.c | |
7705 | - change split_at_delims to set the current word more appropriately | |
7706 | when the cursor is between two words. Should probably change this | |
7707 | again to set the current word like this only when the cursor is at | |
7708 | whitespace or another delim just before the word start | |
7709 | ||
7710 | 3/1 | |
7711 | --- | |
7712 | lib/sh/shtty.c | |
7713 | - more checks for flag bits being defined before using them | |
7714 | ||
7715 | 3/7 | |
7716 | --- | |
7717 | variables.h | |
7718 | - fix typo in COPY_EXPORTSTR definition | |
7719 | ||
7720 | 3/14 | |
7721 | ---- | |
7722 | subst.c | |
7723 | - changed split_at_delims so that if the cursor is at whitespace | |
7724 | between words, and we're interested in the current word (cwp != NULL), | |
7725 | make a new empty word and set the cwp to that word | |
7726 | ||
7727 | locale.c | |
7728 | - support for setting LC_NUMERIC locale category based on value of | |
7729 | LC_NUMERIC shell variable | |
7730 | ||
7731 | variables.c | |
7732 | - LC_NUMERIC is now treated specially | |
7733 | ||
7734 | doc/{bash.1,bashref.texi} | |
7735 | - LC_NUMERIC updates | |
7736 | ||
7737 | 3/15 | |
7738 | ---- | |
7739 | pcomplete.c | |
7740 | - fix to avoid freeing memory twice | |
28ef6c31 JA |
7741 | |
7742 | 3/17 | |
7743 | ---- | |
7744 | [bash-2.04 released] | |
7745 | ||
7746 | 3/20 | |
7747 | ---- | |
7748 | doc/bash.1 | |
7749 | - minor typo fix to description of `xpg_echo' option in `echo' | |
7750 | description | |
7751 | ||
7752 | 3/23 | |
7753 | ---- | |
7754 | parse.y | |
7755 | - minor fix to parse_string_to_word_list to allow newlines in | |
7756 | compound array assignments | |
7757 | ||
7758 | 3/27 | |
7759 | ---- | |
7760 | lib/readline/rltty.c | |
7761 | - fixed a missing-semicolon syntax error in the old 4.3 BSD tty code | |
7762 | ||
7763 | support/mksignames.c | |
7764 | - if SIGRTMAX is >= 2*NSIG, just #undef SIGRTMIN and SIGRTMAX. This | |
7765 | is an issue on AIX 4.3 (only, so far) -- checked by configure, which | |
7766 | #defines UNUSABLE_RT_SIGNALS if this is the case | |
7767 | ||
7768 | aclocal.m4 | |
7769 | - new macro, BASH_CHECK_RTSIGS, checks whether or not real-time | |
7770 | signals are defined with large values and defines UNUSABLE_RT_SIGNALS | |
7771 | if they are | |
7772 | ||
7773 | config.h.in | |
7774 | - place marker for UNDEF_RT_SIGNALS (initially undefined) | |
7775 | ||
7776 | configure.in | |
7777 | - call BASH_CHECK_RTSIGS in the `bash miscellaneous' section | |
7778 | ||
7779 | 3/29 | |
7780 | ---- | |
7781 | ||
7782 | subst.c | |
7783 | - fixed a problem in match_pattern_char, where `string' was checked | |
7784 | for a paren following a [?+!@], rather than `pat' | |
7785 | - the code that checks whether or not to exit after a failed | |
7786 | ${word?msg} substitution needs to check interactive_shell rather | |
7787 | than interactive to avoid exiting if such a construct appears in | |
7788 | a sourced file | |
7789 | ||
7790 | 3/31 | |
7791 | ---- | |
7792 | ||
7793 | bashline.c | |
7794 | - add `{' to the list of characters that need to be quoted by the | |
7795 | completion code when appearing in a filename | |
7796 | ||
7797 | 4/1 | |
7798 | --- | |
7799 | lib/glob/fnmatch.c | |
7800 | - fixed an error in brackmatch() while skipping the rest of a bracket | |
7801 | expression after a character matched. When `c' was a backslash and | |
7802 | *p was a backslash, as in a pattern like [/\\], the old code didn't | |
7803 | take both backslashes into account and ended up skipping the `]' | |
7804 | after erroneously concluding that it was quoted. Report and fix | |
7805 | from akim@epita.fr | |
7806 | ||
7807 | 4/3 | |
7808 | --- | |
7809 | lib/readline/rltty.c | |
7810 | - slight change to the BSD tty interface code, so that if the first | |
7811 | ioctl fails, get_tty_settings returns -1 immediately | |
7812 | - better checking of ioctl return values in BSD tty version of | |
7813 | get_tty_settings | |
7814 | ||
7815 | 4/5 | |
7816 | --- | |
7817 | doc/{bash.1,bashref.texi} | |
7818 | - documented use of LINES and COLUMNS variables | |
7819 | ||
7820 | 4/12 | |
7821 | ---- | |
7822 | lib/readline/rltty.c | |
7823 | - change the SETATTR define for the termio tty driver to use | |
7824 | TCSETAW (the analog of the termios TCSADRAIN) | |
7825 | ||
7826 | lib/glob/fnmatch.c | |
7827 | - fix for posix-style bracket expressions ([:xxx:], [=x=]) broken | |
7828 | by fix of 4/1 for quotes in bracket expressions | |
7829 | ||
7830 | 4/26 | |
7831 | ---- | |
7832 | subst.c | |
7833 | - fix to list_string and get_word_from_string to make a non-whitespace | |
7834 | IFS character preceded by IFS whitespace part of the current field | |
7835 | delimiter, not a separate delimiter that would result in a separate | |
7836 | null field when splitting. cf POSIX.2, 3.6.5, (3)(b). Bug reported | |
7837 | by amc@cs.berkeley.edu | |
7838 | - changed the behavior of the (currently undocumented) ${!prefix@} | |
7839 | expansion to be analogous to the expansion of $@ in other contexts | |
7840 | when double-quoted. ksh93 seems to do this. Bug reported by | |
7841 | Ken Pizzini <ken@halcyon.com> | |
7842 | - changed read_comsub to ignore NUL bytes in the command substitution | |
7843 | output, printing a warning message for now | |
7844 | ||
7845 | parse.y | |
7846 | - changed shell_getc to ignore NUL bytes in the input, printing a | |
7847 | warning message for now | |
7848 | - changed read_a_line to print a warning when a NUL byte is encountered, | |
7849 | like shell_getc does | |
7850 | ||
7851 | 5/18 | |
7852 | ---- | |
7853 | subst.c | |
7854 | - make sure split_at_delims uses d2 only if it's non-null | |
7855 | - make split_at_delims skip leading newlines in the string to split, | |
7856 | if newline is a delimiter | |
7857 | ||
7858 | jobs.c | |
7859 | - prevent hanging processes by marking a child process as not running | |
7860 | (even if the shell thinks it is) when waitpid() returns -1/ECHILD -- | |
7861 | this indicates that waitpid never returned a reasonable status | |
7862 | for that child though, which may be a symptom of another problem | |
7863 | ||
7864 | builtins/cd.def | |
7865 | - make `pwd' print an error message if the write fails when displaying | |
7866 | the current directory | |
7867 | ||
7868 | lib/readline/histexpand.c | |
7869 | - return NULL from history_find_word if history_tokenize_internal | |
7870 | returns (char **)NULL rather than attempting to dereference a | |
7871 | possibly-NULL pointer | |
7872 | - change history_tokenize_internal to set *indp to -1 before any | |
7873 | processing if indp is non-null | |
7874 | ||
7875 | 5/19 | |
7876 | ---- | |
7877 | builtins/trap.def | |
7878 | - when in POSIX.2 mode and printing trap dispositions, print the | |
7879 | signal name without the leading `SIG', as POSIX.2 requires | |
7880 | ||
7881 | 5/23 | |
7882 | ---- | |
7883 | lib/readline/readline.c | |
7884 | - readline_initialize_everything now assigns $TERM to rl_terminal_name | |
7885 | if the application has left it unset, and calls _rl_init_terminal_io | |
7886 | with the resultant value | |
7887 | ||
7888 | lib/readline/doc/rltech.texinfo | |
7889 | - updated the description of rl_terminal_name to note initialization | |
7890 | ||
7891 | parse.y | |
7892 | - change parse_string_to_word_list to save and restore the value of | |
7893 | current_command_line_count before calling back into the parser -- | |
7894 | it will screw up history if the string extends over one line. Bug | |
7895 | reported by Jan.Djarv@mbox200.swipnet.se | |
7896 | ||
7897 | 6/7 | |
7898 | --- | |
7899 | unwind_prot.h | |
7900 | - change unwind_protect_string to pass the address of the variable to | |
7901 | unwind_protect_var on machines where ints and char *s are not the | |
7902 | same size | |
7903 | ||
7904 | unwind_prot.c | |
7905 | - make sure we save the value of a variable in unwind_protect_var on | |
7906 | machines where sizeof(char *) != sizeof(int), not the contents the | |
7907 | value points to. Fix from Andreas Schwab <schwab@suse.de> | |
7908 | ||
7909 | 6/8 | |
7910 | --- | |
7911 | configure.in | |
7912 | - auto-configure MacOS X without bash malloc (like Rhapsody) | |
7913 | ||
7914 | 6/12 | |
7915 | ---- | |
7916 | configure.in | |
7917 | - replace `cygwin32' with `cygwin' | |
7918 | ||
7919 | builtins/evalfile.c | |
7920 | - in _evalfile, change all instances of \r to \n in the file to be | |
7921 | sourced and evaluated if __CYGWIN__ is defined | |
7922 | ||
7923 | input.c | |
7924 | - change \r to \n in the buffer argument to make_buffered_stream and | |
7925 | after calling zread() from b_fill_buffer if __CYGWIN__ is defined | |
7926 | ||
7927 | 6/29 | |
7928 | ---- | |
7929 | lib/sh/Makefile.in | |
7930 | - add rest of dependency rules for makepath.o | |
7931 | ||
7932 | 7/3 | |
7933 | --- | |
7934 | jobs.c | |
7935 | - changed `int' to `WAIT' in a couple of places for non-POSIX | |
7936 | environments | |
7937 | ||
7938 | 7/5 | |
7939 | --- | |
7940 | locale.c | |
7941 | - try to avoid an unnecessary memory allocation in localetrans() in | |
7942 | the case that a translation for the string exists | |
7943 | ||
7944 | lib/readline/doc/rluserman.texinfo | |
7945 | - change the `direntry' information to make it use rluserman instead | |
7946 | of readline | |
7947 | ||
7948 | 7/6 | |
7949 | --- | |
7950 | execute_cmd.c | |
7951 | - changes to execute_in_subshell so it honors a `!' prefixing a command | |
7952 | inside a user subshell (...) | |
7953 | ||
7954 | support/config.{guess,sub} | |
7955 | - add cases for Apple Darwin (Mac OS X) | |
7956 | ||
7957 | configure.in | |
7958 | - Apple Darwin (MacOS X) uses its own malloc | |
7959 | ||
7960 | lib/readline/readline.h | |
7961 | - removed bogus extern declaration of savestring | |
7962 | ||
7963 | 7/7 | |
7964 | --- | |
7965 | builtins/common.c | |
7966 | - in get_working_directory, don't count on getcwd returning anything | |
7967 | useful in the buffer passed as the first argument on failure; just | |
7968 | use bash_getcwd_errstr in the error message | |
7969 | ||
7970 | examples/loadables/cut.c | |
7971 | - loadable version of cut(1), from the FreeBSD source tree | |
7972 | ||
7973 | 7/18 | |
7974 | ---- | |
7975 | lib/readline/vi_mode.c | |
7976 | - changed two instances of (*rl_getc_function) (rl_instream) to calls | |
7977 | to rl_read_key(), which works better when using the readline | |
7978 | callback interface | |
7979 | ||
7980 | builtins/evalfile.c | |
7981 | - added FEVAL_CHECKBINARY flag for _evalfile; controls whether a check | |
7982 | for a binary file is performed | |
7983 | - FEVAL_CHECKBINARY is not set by source_file or maybe_execute_file, | |
7984 | which means that the startup file execution and the `.' builtin will | |
7985 | not check for binary files | |
7986 | - FEVAL_CHECKBINARY is not set by fc_execute_file, so that files | |
7987 | composed of history commands run by the `fc' builtin will not check | |
7988 | for binary files | |
7989 | ||
7990 | 7/21 | |
7991 | ---- | |
7992 | shell.c | |
7993 | - added `--init-file' as a synonym for `--rcfile' | |
7994 | ||
7995 | 7/26 | |
7996 | ---- | |
7997 | support/shobj-conf | |
7998 | - added commented-out stanzas for hpux 10 and hpux 11 when the HP | |
7999 | unbundled ANSI C compiler is being used | |
8000 | ||
8001 | 7/27 | |
8002 | ---- | |
8003 | shell.c | |
8004 | - don't call end_job_control() from exit_shell if subshell_environment | |
8005 | is non-zero, even if the shell is interactive | |
8006 | ||
8007 | 8/1 | |
8008 | --- | |
8009 | bashhist.c | |
8010 | - change maybe_add_history to remember if we saved the first line of | |
8011 | a command and don't save the second and subsequent lines of a | |
8012 | multi-line command if we didn't save the first line | |
8013 | ||
8014 | configure.in, config.h.in | |
8015 | - add autoconf check for getservbyname() | |
8016 | ||
8017 | lib/sh/netopen.c | |
8018 | - add support for named services in /dev/(tcp|udp)/host/service | |
8019 | translation | |
8020 | - make sure _netopen sets errno to something other than 0 if something | |
8021 | goes wrong, so the redirection functions behave | |
8022 | ||
8023 | 8/3 | |
8024 | --- | |
8025 | parse.y | |
8026 | - changes to shell_getc so that history saving of blank lines in | |
8027 | multi-line commands does a better job of syntactic correctness | |
8028 | ||
8029 | bashline.c | |
8030 | - bind ^O to operate-and-get-next in emacs_standard_keymap explicitly, | |
8031 | rather than letting rl_add_defun do it in whatever keymap is current | |
8032 | ||
8033 | 8/4 | |
8034 | --- | |
8035 | builtins/ulimit.def | |
8036 | - removed some of the special handling of RLIM_INFINITY -- the old | |
8037 | code would let people use RLIM_INFINITY as a shorthand for setting | |
8038 | the soft limit to the hard limit. Now, the code just passes | |
8039 | RLIM_INFINITY through if the hard limit is being set, so any kernel | |
8040 | errors will get through | |
8041 | ||
8042 | 8/10 | |
8043 | ---- | |
8044 | parse.y | |
8045 | - change the grammar rule for group_command so that it's composed of | |
8046 | a compound_list instead of a list, which requires a terminator | |
8047 | This means that you can now do (legal) things like | |
8048 | ||
8049 | { { echo a b c ; } } | |
8050 | ||
8051 | since the second close brace will be recognized as such because a | |
8052 | reserved word is legal in that context | |
8053 | ||
8054 | 8/23 | |
8055 | ---- | |
8056 | subst.c | |
8057 | - fix parameter_brace_substring to free all memory allocated by | |
8058 | get_var_and_type in the VT_ARRAYMEMBER case (returned parameter | |
8059 | `val') | |
8060 | ||
8061 | 8/30 | |
8062 | ---- | |
8063 | variables.c | |
8064 | - now that we have dynamic array variables, remove the check for | |
8065 | array_p in bind_variable and let array variables with assignment | |
8066 | functions call the assignment function | |
8067 | ||
8068 | subst.c | |
8069 | - change cond_expand_word to perform tilde expansion (like it should | |
8070 | have done all along) | |
8071 | ||
8072 | lib/readline/complete.c | |
8073 | - don't allow backslash to quote anything inside a single-quoted | |
8074 | string in find_completion_word | |
8075 | ||
8076 | doc/{bash.1,bashref.texi} | |
8077 | - note that `set -a' will cause functions to be exported | |
8078 | ||
8079 | lib/readline/parens.c | |
8080 | - changed the blink timeout so it's settable by the application. A | |
8081 | new function, int rl_set_paren_blink_timeout (int u), (still | |
8082 | undocumented) will set the timeout to U usec | |
8083 | ||
8084 | variables.c | |
8085 | - at startup of an interactive login shell, if the current directory | |
8086 | is $HOME, and $HOME and $PWD are not the same, set the current | |
8087 | directory (and $PWD) to $HOME | |
8088 | - break code that initializes $PWD and $OLDPWD into set_pwd function | |
8089 | ||
8090 | variables.h | |
8091 | - new extern declaration for set_pwd() | |
8092 | ||
8093 | 9/6 | |
8094 | --- | |
8095 | lib/readline/{readline,callback}.c | |
8096 | - allocate memory for rl_prompt instead of simply using what's passed | |
8097 | as the `prompt' argument to readline() or | |
8098 | rl_callback_handler_install(). This will allow constant strings to | |
8099 | be passed to readline(), since the prompt processing code wants to | |
8100 | write to rl_prompt | |
8101 | ||
8102 | lib/sh/pathcanon.c | |
8103 | - new file, does pathname canonicalization | |
8104 | ||
8105 | externs.h | |
8106 | - extern declarations for stuff in lib/sh/pathcanon.c | |
8107 | ||
8108 | general.c | |
8109 | - canonicalize_pathname now simply calls sh_canonpath() | |
8110 | ||
8111 | 9/7 | |
8112 | --- | |
8113 | pcomplete.h | |
8114 | - new member in a `struct compspec': options | |
8115 | - define some flag values for options field | |
8116 | ||
8117 | pcomplib.c | |
8118 | - make sure options field is allocated and copied by compspec utility | |
8119 | functions | |
8120 | ||
8121 | builtins/complete.def | |
8122 | - add struct for completion options. These control the `meta-behavior' | |
8123 | of the compspec. Initially, there are three: | |
8124 | ||
8125 | default - perform bash default completion if programmable | |
8126 | completion produces no matches | |
8127 | dirnames - perform directory name completion if programmable | |
8128 | completion produces no matches | |
8129 | filenames - tell readline that the compspec produces filenames, | |
8130 | so it can do things like append slashes to | |
8131 | directory names and suppress trailing spaces | |
8132 | ||
8133 | - add `-o option' to complete and compgen, setting new options field | |
8134 | in a compspec | |
8135 | - add code to display any -o options when a compspect is printed | |
8136 | with the `-p' option to complete | |
8137 | ||
8138 | pcomplete.c | |
8139 | - programmable_completions now passes back to the caller in the last | |
8140 | argument any options associated with the active compspec (from the | |
8141 | options field) | |
8142 | - change gen_compspec_completions to re-call gen_action_completions | |
8143 | with a CA_DIRECTORY action if the rest of the compspec actions | |
8144 | generate no matches and the COPT_DIRNAMES option is present | |
8145 | ||
8146 | bashline.c | |
8147 | - if a programmable completion was specified to return filenames with | |
8148 | the `-o filenames' option, set rl_filename_completion_desired to 1 | |
8149 | so readline does its special filename-specific things | |
8150 | - if a compspec was defined to fall back to the readline default with | |
8151 | the `-o default' option, suppress setting the | |
8152 | rl_attempted_completion_over variable in attempt_shell_completion | |
8153 | so readline will go on and do filename completion | |
8154 | ||
8155 | include/ansi_stdlib.h | |
8156 | - add extern declarations for atof and strtod | |
8157 | ||
8158 | builtins/printf.def | |
8159 | - change getdouble() to use strtod (since we provide a version in | |
8160 | libsh if the C library doesn't have one), and change the calling | |
8161 | convention to match the other getXXX functions (take value pointer | |
8162 | as argument, return success or failure). This makes printf handle | |
8163 | invalid floating point numbers better | |
8164 | ||
8165 | doc/bash.1, lib/readline/doc/rluser.texinfo | |
8166 | - documented new `-o' option to complete and compgen; described the | |
8167 | arguments and their effects | |
8168 | ||
8169 | lib/readline/{macro,util}.c | |
8170 | - renamed _rl_executing_macro to rl_executing_macro; made it public | |
8171 | ||
8172 | lib/readline/readline.h | |
8173 | - new extern declaration for rl_executing_macro | |
8174 | ||
8175 | lib/readline/rltech.texinfo | |
8176 | - documented rl_executing_macro | |
8177 | ||
8178 | 8/8 | |
8179 | --- | |
8180 | lib/readline/readline.c | |
8181 | - new state variable, rl_readline_state | |
8182 | ||
8183 | lib/readline/readline.h | |
8184 | - extern declaration for rl_readline_state | |
8185 | - define some flag bits for rl_readline_state and macros to test and | |
8186 | set them | |
8187 | ||
8188 | lib/readline/{readline,complete,isearch,macro,rltty,search,signals,undo,vi_mode}.c | |
8189 | - added calls to the macros that set and unset various readline states | |
8190 | ||
8191 | lib/readline/readline.c | |
8192 | - new private function, _rl_free_saved_history_line, to free up the | |
8193 | history entry saved in saved_line_for_history | |
8194 | ||
8195 | lib/readline/search.c | |
8196 | - free any saved history entry in rl_history_search_reinit(), because | |
8197 | rl_get_previous_history makes a call to maybe_save_line without | |
8198 | freeing up the saved line when it returns (so rl_get_next_history | |
8199 | can use it) | |
8200 | - fix up noninc_search_from_pos to deal with invalid history indices | |
8201 | better | |
8202 | ||
8203 | 9/12 | |
8204 | ---- | |
8205 | support/shobj-conf | |
8206 | - HPUX 11.0 needs the `-fpic' flag passed to the linker as well as | |
8207 | the compiler | |
8208 | ||
8209 | execute_cmd.c | |
8210 | - on MS-DOS systems, let the #! checking stuff in execute_shell_script | |
8211 | treat \r as EOL (identical to \n) | |
8212 | ||
8213 | input.c | |
8214 | - on DJGPP systems, allow buffered_getchar to ignore \r. Change | |
8215 | suggested by snowball3@bigfoot.com | |
8216 | ||
8217 | 9/13 | |
8218 | ---- | |
8219 | lib/sh/tmpfile.c | |
8220 | - new file, with functions for creating and (hopefully safely) opening | |
8221 | temporary files for the shell | |
8222 | ||
8223 | externs.h | |
8224 | - extern declarations for functions in tmpfile.c | |
8225 | ||
8226 | variables.c | |
8227 | - new function, get_random_number, returns random values from the | |
8228 | shell's (lame) RNG to the rest of the shell | |
8229 | ||
8230 | variables.h | |
8231 | - new extern declaration for get_random_number() | |
8232 | ||
8233 | subst.c | |
8234 | - changed make_named_pipe to call sh_mktmpname instead of mktemp | |
8235 | ||
8236 | redir.c | |
8237 | - changed here_document_to_fd to call sh_mktmpfd instead of using | |
8238 | inline code | |
8239 | ||
8240 | builtins/fc.def | |
8241 | - changed fc_builtin to call sh_mktmpfp instead of using inline code | |
8242 | ||
8243 | builtins/common.h | |
8244 | - new extern declaration for fc_execute_file() | |
8245 | ||
8246 | bashline.c | |
8247 | - if RL_ISSTATE(RL_STATE_INITIALIZED) is 0 in initialize_readline, | |
8248 | call rl_initialize to bind the defaults before setting up our | |
8249 | custom shell functions and key bindings | |
8250 | ||
8251 | lib/readline/doc/{rluser,hsuser}.texinfo | |
8252 | - some markup changes proposed by dima@chg.ru | |
8253 | ||
8254 | lib/readline/rlstdc.h, lib/tilde/tilde.h | |
8255 | - to get ready for some `const' changes to the source, define const | |
8256 | as either `__const' (gcc -traditional) or nothing if __STDC__ and | |
8257 | __cplusplus are not defined | |
8258 | ||
8259 | lib/readline/readline.c | |
8260 | - upped the default readline version to `4.2-alpha' | |
8261 | ||
8262 | lib/readline/readline.[ch] | |
8263 | - readline now takes a `const char *' as an argument | |
8264 | ||
8265 | lib/readline/history.h | |
8266 | - read_history(), read_history_range(), write_history(), | |
8267 | append_history(), history_truncate_file() now take `const char *' | |
8268 | filename arguments | |
8269 | ||
8270 | lib/readline/histfile.c | |
8271 | - history_filename(), read_history(), read_history_range(), | |
8272 | write_history(), append_history(), history_truncate_file(), | |
8273 | history_do_write() now take `const char *' filename arguments | |
8274 | ||
8275 | lib/readline/readline.h | |
8276 | - rl_read_init_file() now takes a `const char *' filename argument | |
8277 | ||
8278 | lib/readline/bind.c | |
8279 | - current_readline_init_file is now a `const char *' | |
8280 | - _rl_read_init_file(), rl_read_init_file() now take `const char *' | |
8281 | filename arguments | |
8282 | ||
8283 | lib/tilde/tilde.c | |
8284 | - tilde_expand(), tilde_expand_word() now take a `const char *' | |
8285 | as their first argument | |
8286 | ||
8287 | lib/readline/chardefs.h | |
8288 | - fixed CTRL_CHAR macro to be right on systems where chars are unsigned | |
8289 | by default | |
8290 | ||
8291 | 9/14 | |
8292 | ---- | |
8293 | lib/readline/doc/{rl,hs}tech.texinfo | |
8294 | - documented new `const char *' function arguments where appropriate | |
8295 | ||
8296 | lib/readline/vi_mode.c | |
8297 | - clamp the numeric argument in vi mode at 999999, just like in emacs | |
8298 | mode | |
8299 | ||
8300 | lib/readline/doc/rltech.texinfo | |
8301 | - documented rl_readline_state and its possible bit values | |
8302 | ||
8303 | builtins/source.def | |
8304 | - in maybe_pop_dollar_vars, don't overwrite a shell function's | |
8305 | argument list even if the sourced script changes the positional | |
8306 | parameters | |
8307 | ||
8308 | lib/readline/{util.c,rlprivate.h} | |
8309 | - made _rl_strindex() and _rl_savestring() take `const char *' | |
8310 | arguments | |
8311 | ||
8312 | 9/15 | |
8313 | ---- | |
8314 | subst.c | |
8315 | - renamed `doing_completion' to `no_longjmp_on_fatal_error', a more | |
8316 | accurate description of its current behavior | |
8317 | ||
8318 | pcomplete.[ch], externs.h, lib/sh/stringlist.c | |
8319 | - moved the stringlist code from pcomplete.c to lib/sh/stringlist.c | |
8320 | - moved the type declaration and extern function declarations from | |
8321 | pcomplete.h to externs.h | |
8322 | ||
8323 | stringlib.c, externs.h, lib/sh/stringvec.c | |
8324 | - moved the char array code from stringlib.c to lib/sh/stringvec.c | |
8325 | ||
8326 | 9/18 | |
8327 | ---- | |
8328 | subst.c | |
8329 | - new static variable, expand_no_split_dollar_star, to ensure that | |
8330 | $* isn't `split and rejoined' when expanded via a call to | |
8331 | expand_string_unsplit or expand_word_no_split | |
8332 | ||
8333 | 9/19 | |
8334 | ---- | |
8335 | subst.[ch], execute_cmd.c | |
8336 | - renamed expand_word_no_split to expand_word_unsplit | |
8337 | ||
8338 | copy_cmd.c | |
8339 | - in copy_word, just assign w->flags to new_word->flags rather than | |
8340 | bcopying the entire structure | |
8341 | ||
8342 | configure.in, config.h.in | |
8343 | - add autoconf check for pathconf(3) | |
8344 | ||
8345 | lib/sh/tmpfile.c | |
8346 | - test for systems with short filenames using pathconf and | |
8347 | _PC_NAME_MAX, so generated temp file names don't exceed that length | |
8348 | (only do this if the file name length is less than 32, since the | |
8349 | current code doesn't generate filenames longer than about 17 chars) | |
8350 | ||
8351 | 9/20 | |
8352 | ---- | |
8353 | command.h | |
8354 | - added `W_NOSPLIT2' word flag to prepare for supporting weird $@ | |
8355 | expansion on the rhs of assignment statements (inspecting the ksh93 | |
8356 | behavior, it seems like nothing except $@ is split, and $@ is split | |
8357 | on $IFS and rejoined as a single string) | |
8358 | ||
8359 | 9/21 | |
8360 | ---- | |
8361 | subst.c | |
8362 | - since verify_substring_values looks for arithmetic expressions | |
8363 | bounded by `:', do some ad-hoc parsing of the substring passed as | |
8364 | the argument to avoid cutting the expression off at the wrong `:' | |
8365 | (since the inclusion of conditional expressions, expressions may | |
8366 | contain a `:'). Do some paren balancing, too. | |
8367 | ||
8368 | 9/22 | |
8369 | ---- | |
8370 | command.h | |
8371 | - new #define, CLOBBERING_REDIRECT, evaluates to true for any redirect | |
8372 | that will clobber a file and should be subject to `noclobber' | |
8373 | ||
8374 | redir.c | |
8375 | - changed redir_open to use CLOBBERING_REDIRECT instead of | |
8376 | OUTPUT_REDIRECT. This means that <> no longer tests the value of | |
8377 | noclobber, as POSIX.2 specifies | |
8378 | ||
8379 | parse.y | |
8380 | - made a change to cond_term so that expressions like [[ (x) ]] are | |
8381 | parsed correctly | |
8382 | ||
8383 | 9/25 | |
8384 | ---- | |
8385 | parse.y | |
8386 | - small change to grammar for arith_for_command and special_case_tokens | |
8387 | to allow `do...done' or {...} after ((...)) without an intervening | |
8388 | list_terminator (for ksh93 compatibility) | |
8389 | ||
8390 | builtins/printf.def | |
8391 | - `printf' now treats \E and \e the same when performing backslash | |
8392 | escape expansion for the %b format character for compatibility with | |
8393 | $'...' quoting (for ksh93 compatibility) | |
8394 | ||
8395 | 9/26 | |
8396 | ---- | |
8397 | builtins/source.def | |
8398 | - new variable, source_searches_cwd, initially 1. If non-zero, `.' | |
8399 | searches $PWD for the filename argument if it's not found in $PATH | |
8400 | ||
8401 | general.c | |
8402 | - changed posix_initialize to turn off source_searches_cwd if posix | |
8403 | mode is being enabled; turn it on if posix mode is being disabled | |
8404 | - changed things so interactive_comments is not turned off if posix | |
8405 | mode is disabled, since that's rarely what is desired | |
8406 | ||
8407 | variables.c | |
8408 | - changed uidset() to set UID and EUID only if they are not already | |
8409 | set when the shell starts up | |
8410 | - changed things to HOSTNAME is set only if it's not set when the | |
8411 | shell starts up | |
8412 | ||
8413 | execute_cmd.c | |
8414 | - changed execute_builtin_or_function so that if a command like | |
8415 | `command exec 4<file' is executed, the effect is as if the `command' | |
8416 | had been omitted, as POSIX.2 requires | |
8417 | ||
8418 | subst.c | |
8419 | - changed array_length_reference to support ${foo[X]} when foo is not | |
8420 | an array variable and X is 0, @, or * (everything else returns 0) | |
8421 | for ksh compatibility | |
8422 | - changed array_value_internal to support ${foo[@]} and ${foo[*]} | |
8423 | when foo is not an array variable (as ksh does) | |
8424 | ||
8425 | 9/27 | |
8426 | ---- | |
8427 | general.h | |
8428 | - added defines for ABSPATH (absolute pathname), RELPATH (relative | |
8429 | pathname, and ROOTEDPATH (pathname rooted at /), with different | |
8430 | definitions for Unix and Cygwin | |
8431 | - added defines for DIRSEP (the directory separator in pathnames, | |
8432 | and ISDIRSEP (whether a particular character is the directory | |
8433 | separator) | |
8434 | - added PATHSEP define: takes a character and decides whether it | |
8435 | delimits a filename component of a pathname | |
8436 | - changed isletter(c) #define to just call isalpha(c) | |
8437 | ||
8438 | lib/sh/pathcanon.c | |
8439 | - changed to use new pathname #defines from general.h above | |
8440 | ||
8441 | general.c | |
8442 | - changed make_absolute, absolute_pathname to understand | |
8443 | Cygwin's idea of an absolute pathname: [[:upper:][:lower:]]:/ | |
8444 | - rewrote absolute_pathname to use PATHSEP and ABSPATH | |
8445 | - changed full_pathname to use ABSPATH | |
8446 | ||
8447 | variables.c | |
8448 | - changed get_bash_name to use ABSPATH and RELPATH, and to handle the | |
8449 | case when $PWD is unset when it is called | |
8450 | ||
8451 | subst.c | |
8452 | - if compiling on cygwin, translate \r\n to \n when reading the output | |
8453 | of a command substitution in read_comsub() | |
8454 | ||
8455 | 9/28 | |
8456 | ---- | |
8457 | input.c, shell.c, builtins/read.def, lib/tilde/tilde.c | |
8458 | - changed __CYGWIN32__ to __CYGWIN__ | |
8459 | ||
8460 | lib/readline/{bind,funmap,kill}.c, lib/readline/readline.h | |
8461 | - changed __CYGWIN32__ to __CYGWIN__ | |
8462 | ||
8463 | input.c | |
8464 | - a couple of minor changes to clean up the code | |
8465 | ||
8466 | parse.y | |
8467 | - changed shell_getc and shell_ungetc to implement one character of | |
8468 | lookahead/lookbehind when pushing a character back at the start | |
8469 | of an input line (the old code would have discarded it because | |
8470 | shell_input_line_index was 0) | |
8471 | ||
8472 | lib/readline{histsearch.c,history.h} | |
8473 | - history_search_internal, history_search, history_search_prefix, | |
8474 | history_search_pos now take const char * string arguments | |
8475 | ||
8476 | lib/readline/{histexpand.c,history.h} | |
8477 | - get_history_event, history_arg_extract, history_tokenize_internal, | |
8478 | history_tokenize now take const char * string arguments | |
8479 | ||
8480 | lib/readline/{history.c,history.h} | |
8481 | - add_history, replace_history_entry now take const char * string | |
8482 | arguments | |
8483 | ||
8484 | lib/readline/{bind.c,readline.h} | |
8485 | - rl_add_defun, rl_unbind_command_in_map, rl_set_key, rl_macro_bind, | |
8486 | rl_generic_bind, rl_translate_keyseq, rl_named_function, | |
8487 | rl_function_of_keyseq, rl_variable_bind, rl_get_keymap_by_name | |
8488 | now take const char * string arguments where appropriate | |
8489 | - rl_function_dumper, rl_list_funmap_names needed changes to deal | |
8490 | with rl_funmap_names returning const char ** | |
8491 | - rl_readline_name is now a const char * variable | |
8492 | ||
8493 | lib/readline/keymaps.h | |
8494 | - duplicate definition of rl_get_keymap_by_name needs const changes | |
8495 | ||
8496 | lib/readline/{bind.c,rlprivate.h} | |
8497 | - _rl_bind_if_unbound takes a const char * string argument | |
8498 | ||
8499 | lib/readline/{funmap.c,readline.h} | |
8500 | - rl_add_funmap_entry now takes a const char * string argument | |
8501 | - rl_funmap_names now returns a const char ** | |
8502 | - a FUNMAP now has a const char *name member | |
8503 | ||
8504 | lib/readline/{terminal.c,readline.h,rlprivate.h} | |
8505 | - _rl_init_terminal_io, rl_get_termcap, rl_reset_terminal, | |
8506 | _rl_output_some_chars now take const char * string arguments | |
8507 | ||
8508 | lib/readline/{readline.[ch],rlprivate.h} | |
8509 | - rl_library_version and rl_terminal_name are now const char * | |
8510 | variables | |
8511 | - rl_insert_text, _rl_replace_text now take const char * string | |
8512 | arguments | |
8513 | ||
8514 | lib/readline/{callback.c,readline.h} | |
8515 | - rl_callback_handler_install takes a const char * string argument | |
8516 | ||
8517 | lib/readline/doc/{rltech,hstech}.texinfo | |
8518 | - changed documentation for newly-consted functions and variables | |
8519 | ||
8520 | lib/readline/{complete.c,readline.h} | |
8521 | - rl_strpbrk now takes const char * string arguments | |
8522 | - username_completion_function and filename_completion_function | |
8523 | now take const char * string arguments | |
8524 | - rl_basic_word_break_characters, rl_basic_quote_characters, | |
8525 | rl_completer_word_break_characters, rl_completer_quote_characters, | |
8526 | rl_filename_quote_characters, rl_special_prefixes are all | |
8527 | const char * variables | |
8528 | ||
8529 | lib/readline/{display.c,rlprivate.h} | |
8530 | - _rl_move_cursor_relative takes a const char * string argument | |
8531 | ||
8532 | redir.c | |
8533 | - change from tbisp@uswest.net to fix a problem with cygwin and | |
8534 | here_document_to_fd, since cygwin doesn't allow a file to be | |
8535 | unlinked if there is a descriptor open on it | |
8536 | ||
8537 | display.c | |
8538 | - fixed a slight bug in the logic deciding whether or not to redraw | |
8539 | a prompt containing invisible characters in update_line. Fixes | |
8540 | bug reported by bdluevel@heitec.net | |
8541 | ||
8542 | 9/29 | |
8543 | ---- | |
8544 | shell.c | |
8545 | - fixed a problem with a too-aggressive setting of restricted shell | |
8546 | mode based on shell_name. Old code set `restricted' even after a | |
8547 | longjmp due to shell_execve trying to execute an executable script | |
8548 | without a leading `#!', though that case should result in an | |
8549 | unrestricted shell | |
8550 | ||
8551 | 10/2 | |
8552 | ---- | |
8553 | copy_cmd.c | |
8554 | - make sure copy_function_def copies the `flags' and `line' members | |
8555 | of the function_def | |
8556 | ||
8557 | parse.y | |
8558 | - make the function_def production take a new function_body parse | |
8559 | unit, which is currently just a group_command (in prep for future | |
8560 | changes) | |
8561 | ||
8562 | builtins/printf.def | |
8563 | - changed getint, getlong, getulong, getdouble to print warnings on | |
8564 | range errors and return the clamped values that strtol/strtod | |
8565 | return, as POSIX.2 specifies | |
8566 | ||
8567 | 10/3 | |
8568 | ---- | |
8569 | parse.y | |
8570 | - made a function_def a `command' instead of a `shell_command' | |
8571 | This makes the grammar more closely resemble that supplied in | |
8572 | the POSIX.2 standard | |
8573 | - made a `function_body' be like the function_body production in | |
8574 | the POSIX.2 standard. This relaxes the restriction that the | |
8575 | body be composed of a group_command, but introduces a YACC | |
8576 | shift/reduce conflict | |
8577 | ||
8578 | print_cmd.c | |
8579 | - changes to named_function_string (for normal function printing) | |
8580 | and print_function_def (for printing function definitions embedded | |
8581 | in other commands) to print redirections that should be attached | |
8582 | to the function as a whole after the closing brace, because of | |
8583 | the changes to the parser | |
8584 | ||
8585 | tests/func2.sub | |
8586 | - tests for new function declarations whose bodies are not group | |
8587 | commands -- the command printing code still prints them with the | |
8588 | braces | |
8589 | ||
8590 | 10/4 | |
8591 | ---- | |
8592 | lib/sh/pathphys.c | |
8593 | - new function, sh_physpath, resolves symlinks in pathname passed | |
8594 | as argument | |
8595 | ||
8596 | builtins/cd.def | |
8597 | - changed pwd_builtin to use sh_physpath if -P supplied or in | |
8598 | physical mode | |
8599 | - changed bindpwd to use sh_physpath if the no_symlinks argument is | |
8600 | non-zero | |
8601 | - changed change_to_directory to use sh_physpath and set | |
8602 | the_current_working_directory appropriately if the `nolinks' | |
8603 | argument is non-zero | |
8604 | ||
8605 | 10/5 | |
8606 | ---- | |
8607 | variables.c, bashline.c, builtins/cd.def | |
8608 | - replaced calls to canonicalize_pathname with sh_canonpath | |
8609 | ||
8610 | builtins/cd.def | |
8611 | - rewrote change_to_directory to make it much shorter and simpler | |
8612 | ||
8613 | command.h | |
8614 | - added SUBSHELL_PIPE as possible flag value for subshell_environment | |
8615 | ||
8616 | execute_cmd.c | |
8617 | - execute_simple_command sets SUBSHELL_PIPE in subshell_environment | |
8618 | if the command has a pipe in or out | |
8619 | ||
8620 | subst.c | |
8621 | - don't reset pipeline_pgrp to shell_pgrp in command_substitute if | |
8622 | we're already in a pipline | |
8623 | ((subshell_environment & SUBSHELL_PIPE) != 0) | |
8624 | ||
8625 | 10/6 | |
8626 | ---- | |
8627 | subst.c | |
8628 | - change command_substitute to call setmode(fd, O_TEXT) on the pipe | |
8629 | file descriptor if __CYGWIN__ is defined; remove the other code | |
8630 | that converts CR/LF to LF on cygwin | |
8631 | ||
8632 | 10/9 | |
8633 | ---- | |
8634 | stringlib.c | |
8635 | - change strcreplace() to make sure that RESIZE_MALLOCED_BUFFER is | |
8636 | called everywhere characters are added | |
8637 | ||
8638 | 10/11 | |
8639 | ----- | |
8640 | lib/sh/spell.c | |
8641 | - new file, with the spelling correction code from builtins/cd.def | |
8642 | ||
8643 | builtins/cd.def | |
8644 | - a little surgery on cd_builtin, to make the structure clearer | |
8645 | ||
8646 | 10/12 | |
8647 | ----- | |
8648 | builtins/read.def | |
8649 | - include fcntl.h and io.h on __CYGWIN__ | |
8650 | - set mode of fd 0 to O_TEXT if __CYGWIN__ and O_TEXT are both | |
8651 | defined | |
8652 | ||
8653 | shell.c | |
8654 | - in open_shell_script, set mode of fd opened to the shell script | |
8655 | to O_TEXT if __CYGWIN__ and O_TEXT are both defined | |
8656 | ||
8657 | builtins/evalfile.c | |
8658 | - changed the __CYGWIN__ code to call setmode(fd, O_TEXT) instead | |
8659 | of translating \r to \n after the read() returns | |
8660 | ||
8661 | 10/13 | |
8662 | ----- | |
8663 | lib/sh/strtrans.c, stringlib.c | |
8664 | - moved ansicstr() from stringlib.c to new file lib/sh/strtrans.c | |
8665 | - new function ansic_quote, to quote a string with $'...' | |
8666 | ||
8667 | lib/sh/strindex.c, stringlib.c | |
8668 | - moved strindex() from stringlib.c to new file lib/sh/strindex.c | |
8669 | ||
8670 | lib/sh/Makefile.in | |
8671 | - compile `shquote.c' in as part of the shell library | |
8672 | - compile `strtrans.c' in as part of the shell library | |
8673 | - compile `strindex.c' in as part of the shell library | |
8674 | ||
8675 | Makefile.in | |
8676 | - link with libsh before any of the readline libraries | |
8677 | ||
8678 | builtins/common.c | |
8679 | - removed the functions also appearing in lib/sh/shquote.c | |
8680 | ||
8681 | externs.h, builtins/common.h | |
8682 | - moved extern declarations for functions in lib/sh/shquote.c to | |
8683 | externs.h from builtins/common.h | |
8684 | ||
8685 | variables.c | |
8686 | - print_var_value (used in the output of `set') now calls | |
8687 | ansic_quote to quote the value, so any non-printable characters | |
8688 | are displayed | |
8689 | ||
8690 | 10/14 | |
8691 | ----- | |
8692 | syntax.h | |
8693 | - new file, with definitions from shell.h having to do with shell | |
8694 | syntax, metacharacters, and quoting | |
8695 | ||
8696 | parse.y | |
8697 | - moved defines for shell metachars and other char class declarations | |
8698 | to syntax.h | |
8699 | ||
8700 | shell.h | |
8701 | - now includes syntax.h | |
8702 | ||
8703 | Makefile.in,builtins/Makefile.in,lib/sh/Makefile.in | |
8704 | - added syntax.h to appropriate dependency lists | |
8705 | ||
8706 | 10/16 | |
8707 | ----- | |
8708 | mksyntax.c | |
8709 | - new program, to build a syntax table for the shell at compile time | |
8710 | ||
8711 | Makefile.in | |
8712 | - new generated file, syntax.c, generated by mksyntax | |
8713 | ||
8714 | general.h | |
8715 | - `digit(x)' is now just defined as `isdigit(x)' | |
8716 | ||
8717 | syntax.h | |
8718 | - now that we have sh_syntaxtab[], change the appropriate defines | |
8719 | to use it | |
8720 | ||
8721 | parse.y, subst.c | |
8722 | - change checks of member(c, slashify_in_quotes) to test | |
8723 | sh_syntaxtab[c] & CBSDQUOTE | |
8724 | ||
8725 | builtins/set.def | |
8726 | - corrected the help text for `unset', since PATH and IFS may be | |
8727 | unset | |
8728 | ||
8729 | subst.c | |
8730 | - changed explicit tests for shell special parameters using member() | |
8731 | or strchr() to test (sh_syntaxtab[c] & CSPECVAR) instead | |
8732 | - changed some boilerplate calls to member() that test for validity | |
8733 | of various characters in the expansion process to macros for | |
8734 | efficiency | |
8735 | ||
8736 | lib/sh/shquote.c | |
8737 | - changed some of the functions to use checks against sh_syntaxtab[] | |
8738 | flag values | |
8739 | ||
8740 | 10/19 | |
8741 | ----- | |
8742 | findcmd.c | |
8743 | - find_user_command_in_path no longer finds directories if the caller | |
8744 | specified FS_NODIRS in the flags argument. This fixes the bug of | |
8745 | hashing directory names, at the loss of some information about | |
8746 | attempting to execute directories | |
8747 | ||
8748 | builtins/hash.def | |
8749 | - hash -p dirname name no longer puts directories into the hash table | |
8750 | ||
8751 | 10/26 | |
8752 | ----- | |
8753 | builtins/read.def | |
8754 | - make sure that the last unwind-protect added is the one that calls | |
8755 | xfree(input_string), so that this is the top element on the | |
8756 | unwind-protect stack | |
8757 | - if xrealloc() is called to increase the size of input_string, make | |
8758 | sure to remove the top element from the unwind-protect stack (the | |
8759 | old xfree) and add a new one, in case realloc() freed the original | |
8760 | input_string and allocated new space. This fixes the bug of bash | |
8761 | crashing because it's trying to free already-freed memory if the | |
8762 | `read' is interrupted (reported by klausf@Pool.Informatik.RWTH-Aachen.DE) | |
8763 | ||
8764 | 10/27 | |
8765 | ----- | |
8766 | subst.c | |
8767 | - fixed a problem in expand_word_list_internal so that | |
8768 | last_command_exit_value is set to 1 if a variable assignment fails | |
8769 | and a jump_to_top_level (DISCARD) is taken. This fixes the problem | |
8770 | of assignment statements to read-only variables appearing to succeed | |
8771 | (though it always worked right in non-interactive posix-mode shells) | |
8772 | ||
8773 | 10/30 | |
8774 | ----- | |
8775 | lib/readline/readline.h | |
8776 | - rl_completion_entry_function is now of type CPFunction *, since | |
8777 | that's the actual type that's used, and casting function pointers | |
8778 | of different types (which happened all the time as a result), is | |
8779 | problematic on some architectures | |
8780 | ||
8781 | lib/readline/complete.c | |
8782 | - changed entry function argument to gen_completion_matches to be of | |
8783 | type CPFunction *, since that's how it's used | |
8784 | - changed variables that are completion entry function pointers to be | |
8785 | of type CPFunction *, removed problematic typecasts | |
8786 | ||
8787 | lib/readline/doc/rltech.texinfo | |
8788 | - documented type change for rl_completion_entry_func | |
8789 | ||
8790 | lib/readline/rltypedefs.h | |
8791 | - new file, with all the readline function typedefs | |
8792 | ||
8793 | lib/readline/rltypedefs.h | |
8794 | - new typedef, rl_command_func_t, which is a function returning | |
8795 | an int | |
8796 | - a KEYMAP_ENTRY now contains a pointer to an rl_command_func_t | |
8797 | - new typedef, rl_compentry_func_t, which is a function returning | |
8798 | a char * | |
8799 | - new typdef, rl_completion_func_t, which is a function returning | |
8800 | a char ** | |
8801 | - new typedef, rl_quote_func_t, which is a function returning a | |
8802 | char * | |
8803 | - new typedef, rl_dequote_func_t, which is a function returning a | |
8804 | char * | |
8805 | - new typedef, rl_compignore_func_t, which is a function returning a | |
8806 | char * | |
8807 | - new typedef, rl_compdisp_func_t, which is a void function taking | |
8808 | a char **, int, int argument list | |
8809 | - new typedef, rl_hook_func_t, which is a function taking no args | |
8810 | and returning an int (used for input and other hooks) | |
8811 | - new typedef, rl_modterm_func_t, which is a void function tkaing | |
8812 | an int, used to modify terminal (rl_prep_term_function) | |
8813 | - new typedef, rl_getc_func_t, which is an int-returning function | |
8814 | that takes a FILE * | |
8815 | - new typedef, rl_linebuf_func_t, which takes a string and an int | |
8816 | index and returns an int | |
8817 | - new generic typedefs, rl_intfunc_t and rl_voidfunc_t, which are | |
8818 | functions which take and return int and void, respectively | |
8819 | - new generic typedef, rl_vintfunc_t, which takes an int and returns | |
8820 | void | |
8821 | - new generic typedefs, rl_icpfunc_t and rl_vcpfunc_t, which take a | |
8822 | char * and return int and void, respectively | |
8823 | - new generic typedefs, rl_icppfunc_t and rl_vcppfunc_t, which take | |
8824 | a char ** and return int and void, respectively | |
8825 | ||
8826 | lib/readline/rlprivate.h | |
8827 | - rl_last_func is now of type rl_command_func_t * | |
8828 | ||
8829 | lib/readline/readline.c | |
8830 | - declare rl_last_func as rl_command_func_t * | |
8831 | ||
8832 | lib/readline/{bind,readline,vi_keymap,emacs_keymap,funmap,keymaps,isearch}.c | |
8833 | lib/readline/readline.h | |
8834 | - change appropriate cases of (Function *) to (rl_command_func_t *) | |
8835 | ||
8836 | lib/readline/{readline.h,bind.c} | |
8837 | - rl_named_function and rl_function_of_keyseq now return a | |
8838 | (rl_command_func_t *) | |
8839 | ||
8840 | lib/readline/bind.c | |
8841 | - changed type of functions in parser function table from Function * | |
8842 | to _rl_parser_func_t * | |
8843 | ||
8844 | lib/readline/funmap.c | |
8845 | - removed `vi-bracktype' from vi function map -- it's not a | |
8846 | bindable function | |
8847 | ||
8848 | lib/readline/{readline.h,complete.c} | |
8849 | - changed appropriate uses of CPFunction * to rl_compentry_func_t * | |
8850 | or rl_quote_func_t * | |
8851 | ||
8852 | lib/readline/{rltty.c,readline.h} | |
8853 | - rl_prep_term_function is now of type rl_vintfunc_t * | |
8854 | - rl_deprep_term_function is now of type rl_voidfunc_t * | |
8855 | ||
8856 | lib/readline/{keymaps,history.h} | |
8857 | - include rltypedefs.h or <readline/rltypedefs.h> as appropriate | |
8858 | ||
8859 | lib/readline/{display.c,readline.h} | |
8860 | - rl_redisplay_func is now of type rl_voidfunc_t * | |
8861 | ||
8862 | lib/readline/{callbacks.c,readline.h} | |
8863 | - the `linefunc' argument to rl_callback_handler_install and the | |
8864 | rl_linefunc variable are now of type rl_vcpfunc_t * | |
8865 | ||
8866 | lib/readline/{complete.c,readline.h} | |
8867 | - rl_completion_display_matches_hook is now of type | |
8868 | rl_compdisplay_func_t * | |
8869 | - rl_directory_completion_hook is now of type rl_icppfunc_t * | |
8870 | ||
8871 | lib/readline/{history.h,histexpand.c} | |
8872 | - history_inhibit_expansion_function is now of type | |
8873 | rl_linebuf_func_t * | |
8874 | ||
8875 | lib/readline/histexpand.c | |
8876 | - new private type, _hist_search_func_t, used to indirect through | |
8877 | the various history search functions | |
8878 | ||
8879 | lib/tilde/tilde.h | |
8880 | - new typedef, tilde_hook_func_t, which takes a char * and returns | |
8881 | a char * | |
8882 | ||
8883 | lib/tilde/tilde.[ch] | |
8884 | - tilde_expansion_preexpansion_hook and tilde_expansion_failure_hook | |
8885 | are now of type tilde_hook_func_t * | |
8886 | ||
8887 | [THERE ARE NO LONGER ANY REFERENCES TO Function *, CPFunction *, or | |
8888 | CPPFunction * IN THE READLINE SOURCE, WHICH INCLUDES THE TILDE LIBRARY] | |
8889 | ||
8890 | {bashline,bracecomp}.c, bashline.h | |
8891 | - changes for changed type of rl_completion_entry_func and other | |
8892 | changed types (rl_compentry_func_t, rl_completion_func_t, | |
8893 | const changes for prototypes, etc.) | |
8894 | ||
8895 | pathexp.[ch] | |
8896 | - shell_glob_filename now takes a `const char *' argument | |
8897 | - quote_string_for_globbing now takes a `const char *' argument | |
8898 | ||
8899 | 10/31 | |
8900 | ----- | |
8901 | lib/sh/zwrite.c | |
8902 | - fix zwrite() to update the buffer pointer in the case of a | |
8903 | partial write, in addition to decreasing the count of bytes to | |
8904 | be written | |
8905 | ||
8906 | support/config.{guess,sub} | |
8907 | - added entries for MIPS-based Compaq machines running NonStopUX | |
8908 | ||
8909 | 11/1 | |
8910 | ---- | |
8911 | lib/readline/undo.c | |
8912 | - renamed free_undo_list to be rl_free_undo_list, made a dummy | |
8913 | replacement function free_undo_list that just calls | |
8914 | rl_free_undo_list | |
8915 | ||
8916 | lib/readline/readline.h | |
8917 | - extern declaration for rl_free_undo_list | |
8918 | ||
8919 | lib/readline/{readline,signals}.c | |
8920 | - changed calls to free_undo_list to rl_free_undo_list | |
8921 | ||
8922 | lib/readline/doc/rltech.texinfo | |
8923 | - changed all function types and arguments for new typedefs | |
8924 | ||
8925 | 11/2 | |
8926 | ---- | |
8927 | lib/readline/{rlprivate.h,terminal.c,display.c} | |
8928 | - term_clreol, term_clrpag, term_cr, term_backspace, term_goto, | |
8929 | term_pc, term_im, term_ei, term_ic, term_ip, term_IC, term_dc, | |
8930 | term_DC, term_forward_char, term_up, term_mm, term_mo, term_ku, | |
8931 | term_kd, term_kr, term_kl, term_ks, term_ke, term_kh, term_kH, | |
8932 | terminal_can_insert variables all now have a _rl_ prefix | |
8933 | ||
8934 | lib/readline/{rlprivate.h,terminal.c,display.c, readline.c} | |
8935 | - screenheight, screenwidth, screenchars now have an _rl_ prefix | |
8936 | ||
8937 | lib/readline/{terminal,complete,isearch,kill,macro,readline,search,undo,util,vi_mode}.c | |
8938 | - changed calls to ding to calls to rl_ding | |
8939 | ||
8940 | lib/readine/{isearch,readline,search}.c | |
8941 | - saved_line_for_history now has an _rl_ prefix | |
8942 | ||
8943 | lib/readline/readline.[ch] | |
8944 | - renamed maybe_{replace,save,unsave} line to have an rl_ prefix | |
8945 | ||
8946 | lib/readline/{readline,search,isearch}.c | |
8947 | - changed calls to maybe_{replace,save,unsave} line to call the | |
8948 | rl_-prefixed equivalents | |
8949 | ||
8950 | lib/readline/{rlprivate.h,readline.c,util.c} | |
8951 | - renamed alphabetic to rl_alphabetic; changed calls | |
8952 | ||
8953 | lib/readline/{bind.c,funmap.c,rlprivate.h} | |
8954 | - possible_control_prefixes -> _rl_possible_control_prefixes | |
8955 | - possible_meta_prefixes -> _rl_possible_meta_prefixes | |
8956 | ||
8957 | lib/readline/compat.c | |
8958 | - new file for entry points for backwards compatibility functions | |
8959 | - moved free_undo_list here from undo.c | |
8960 | - maybe_{replace,save,unsave}_line function that call their rl_ | |
8961 | counterparts | |
8962 | - moved ding() here; it just calls rl_ding() | |
8963 | - moved alphabetic here; it just calls _rl_alphabetic() | |
8964 | ||
8965 | lib/readline/Makefile.in | |
8966 | - make sure compat.o is built and linked appropriately | |
8967 | ||
8968 | bashline.c,pcomplete.c | |
8969 | - changed calls to ding() to call rl_ding() | |
8970 | ||
8971 | support/shobj-conf | |
8972 | - changed linux stanza SHLIB_XLDFLAGS to make the `soname' in a | |
8973 | shared library have only the major version number, rather than | |
8974 | major and minor numbers | |
8975 | - made analogous changes for bsd/os-4 | |
8976 | - changed freebsd 3.x stanza to match `freebsdelf[3-9]*' for | |
8977 | FreeBSD elf systems and `freebsdaout[3-9]*' for FreeBSD | |
8978 | a.out systems (are there any?) | |
8979 | ||
8980 | lib/readline/doc/{rluser,hsuser}.texinfo | |
8981 | - changed uses of @samp to @option where appropriate | |
8982 | ||
8983 | doc/bashref.texi | |
8984 | - changed uses of @samp to @option where appropriate | |
8985 | ||
8986 | 11/3 | |
8987 | ---- | |
8988 | lib/readline/{readline.h,complete.c,compat.c} | |
8989 | - completion_matches, username_completion_function, | |
8990 | filename_completion_function all have an rl_ prefix | |
8991 | ||
8992 | {bashline,bracecomp,pcomplete}.c | |
8993 | - changed calls to completion_matches, username_completion_function, | |
8994 | and filename_completion_function | |
8995 | ||
8996 | lib/sh/shquote.c | |
8997 | - single_quote, double_quote, un_double_quote, backslash_quote, | |
8998 | backslash_quote_for_double_quotes, contains_shell_metas all now | |
8999 | have an sh_ prefix | |
9000 | ||
9001 | externs.h | |
9002 | - changed extern declarations for functions from shquote.c | |
9003 | ||
9004 | {array,bashline,pcomplete,print_cmd,variables}.c, parse.y | |
9005 | builtins/{alias,complete,trap,type}.def | |
9006 | - changed callers of single_quote | |
9007 | ||
9008 | {array,bashline}.c, builtins/setattr.def | |
9009 | - changed callers of double_quote | |
9010 | ||
9011 | {bashline,bracecomp}.c, parse.y, builtins/printf.def | |
9012 | - changed callers of backslash_quote | |
9013 | ||
9014 | parse.y | |
9015 | - changed callers of backslash_quote_for_double_quotes | |
9016 | ||
9017 | {print_cmd,variables}.c | |
9018 | - changed callers of contains_shell_metas | |
9019 | ||
9020 | lib/readline/{rlshell.h,shell.c,histexpand.c} | |
9021 | - single_quote -> sh_single_quote | |
9022 | ||
9023 | lib/readline/{rlshell.h,shell.c,input.c} | |
9024 | general.[ch],shell.c,subst.c | |
9025 | - unset_nodelay_mode -> sh_unset_nodelay_mode | |
9026 | ||
9027 | lib/readline/{rlshell.h,shell.c}, lib/tilde/tilde.c, variables.c | |
9028 | - get_home_dir -> sh_get_home_dir | |
9029 | ||
9030 | lib/readline/rlshell.h,lib/readline/bind,histfile,nls,readline,shell,terminal}.c, lib/tilde/tilde.c, variables.c | |
9031 | - get_env_value -> sh_get_env_value | |
9032 | ||
9033 | lib/readline/rlshell.h,lib/readline/{shell,terminal}.c | |
9034 | variables.h,{jobs,nojobs,variables}.c | |
9035 | - set_lines_and_columns -> sh_set_lines_and_columns | |
9036 | ||
9037 | 11/6 | |
9038 | ---- | |
9039 | configure.in | |
9040 | - bash can only link with an already-installed readline library whose | |
9041 | version is 4.2 or greater | |
9042 | ||
9043 | variables.h | |
9044 | - new variable attribiute, noassign, with its accompanying test macro, | |
9045 | noassign_p. Completely internal, not user-settable | |
9046 | ||
9047 | execute_cmd.c | |
9048 | - treat noassign variables like readonly variables, except an attempt | |
9049 | to assign to them does not cause a non-interactive shell in POSIX | |
9050 | mode to abort | |
9051 | ||
9052 | {subst,variables}.c,builtins/declare.def | |
9053 | - attempts to assign to `noassign' variables return an error status, | |
9054 | but no error messages -- almost identical to readonly variables | |
9055 | ||
9056 | variables.c | |
9057 | - GROUPS and FUNCNAME are `noassign' variables, meaning assignment to | |
9058 | them is disallowed, but that they may be unset (in which case they | |
9059 | lose their special properties) | |
9060 | ||
9061 | doc/{bash.1,bashref.texi} | |
9062 | - documented that assignments to GROUPS and FUNCNAME are disallowed | |
9063 | and return an error status | |
9064 | ||
9065 | 11/8 | |
9066 | ---- | |
9067 | lib/readline/{funmap.c,bind.c,rlprivate.h} | |
9068 | - _rl_possible_{control,meta}_prefixes are now arrays of `const char *' | |
9069 | and are defined in bind.c, since that's where they're used | |
9070 | ||
9071 | lib/readline/rltty.c | |
9072 | - changed prepare_terminal_settings to take an `oldtio' argument | |
9073 | instead of `otio', which shadows the global declaration | |
9074 | ||
9075 | lib/readline/bind.c | |
9076 | - the `name' member of a parser_directive element is now a | |
9077 | `const char *' | |
9078 | - the `name' member of a boolean_varlist element is now a | |
9079 | `const char *' | |
9080 | - the `name' member of a string_varlist element is now a | |
9081 | `const char *' | |
9082 | - the `name' member of an assoc_list element is now a | |
9083 | `const char *' | |
9084 | - the `name' member of an keymap_names element is now a | |
9085 | `const char *' | |
9086 | ||
9087 | lib/readline/display.c | |
9088 | - changed scope-local char * variable `temp' to `vtemp' because | |
9089 | there's already a function local variable named `temp' of a | |
9090 | different type (int) in rl_redisplay | |
9091 | ||
9092 | lib/readline/util.c | |
9093 | - pathname_alphabetic_chars is now `const char *' | |
9094 | ||
9095 | lib/readline/terminal.c | |
9096 | - the `tc_var' member of a _tc_string element is now a | |
9097 | `const char *' | |
9098 | ||
9099 | lib/readline/histexpand.c | |
9100 | - changed history_expand_internal to remove the duplicate local | |
9101 | declaration of `t' in the `s'/`&' case | |
9102 | ||
9103 | lib/readline/histfile.c | |
9104 | - in history_filename, `home' is now a `const char *' | |
9105 | ||
9106 | lib/tilde/tilde.c | |
9107 | - default_prefixes and default_suffixes are now arrays of | |
9108 | `const char *' | |
9109 | ||
9110 | lib/readline/vi_mode.c | |
9111 | - vi_motion and vi_texmod are now `const char *' | |
9112 | ||
9113 | lib/readline/complete.c | |
9114 | - simplified the conditional declaration of getpwent() | |
9115 | ||
9116 | variables.[ch] | |
9117 | - get_string_value now takes a `const char *' argument | |
9118 | ||
9119 | 11/10 | |
9120 | ----- | |
9121 | display.c | |
9122 | - changes to expand_prompt and rl_redisplay to keep track of the number | |
9123 | of invisible characters on the first line of the prompt, in case it | |
9124 | takes up more than one physical line, and not all invisible chars are | |
9125 | on the first line | |
9126 | - the code that determines the index into the line at which to wrap the | |
9127 | first line if the visible prompt length exceeds the screen width was | |
9128 | changed to use the number of invisible chars in the first physical | |
9129 | prompt line rather than the total number of invisible characters | |
9130 | - changed redraw_prompt to save and restore prompt_invis_chars_first_line | |
9131 | ||
9132 | subst.c | |
9133 | - changed expand_string_internal to savestring() the string argument | |
9134 | to avoid possible doubly-freed memory on substitution errors | |
9135 | - fixed expand_word_list_internal so that commands with assignment | |
9136 | statements preceding words that expand to nothing return a failure | |
9137 | status if one of the assignments fails; for example | |
9138 | ||
9139 | readonly TVAR | |
9140 | TVAR=7 $ECHO $ABCDE | |
9141 | - made sure that all cases of jump_to_top_level set | |
9142 | last_command_exit_value to something non-zero before jumping, since | |
9143 | they are by definition errors | |
9144 | ||
9145 | builtins/evalstring.c | |
9146 | - changed parse_and_execute to set last_result to EXECUTION_FAILURE | |
9147 | along with last_command_exit_value in the `DISPOSE' case of a | |
9148 | jump_to_top_level, since we can return this value in most | |
9149 | (interactive) circumstances | |
9150 | ||
9151 | 11/14 | |
9152 | ----- | |
9153 | general.c | |
9154 | - fix legal_number so that it skips any trailing whitespace in its | |
9155 | string argument after strtol returns, since strtol does not | |
9156 | ||
9157 | lib/readline/{complete.c,readline.h} | |
9158 | - new function pointer, rl_directory_rewrite_hook, identical in effect | |
9159 | to rl_directory_completion_hook except that it does not modify what | |
9160 | is displayed when the possible completions are listed or inserted | |
9161 | ||
9162 | bashline.c | |
9163 | - changed tcsh_magic_space to try and insert a space closer to where | |
9164 | the point was originally, rather than always inserting it at the | |
9165 | end of the line | |
9166 | ||
9167 | 11/16 | |
9168 | ----- | |
9169 | jobs.c | |
9170 | - fixed a bug that happened on cygwin systems that caused the jobs | |
9171 | table to fill up if a file sourced from an interactive shell ran | |
9172 | lots of jobs -- notify_and_cleanup() never called notify_of_job_status | |
9173 | ||
9174 | subst.c | |
9175 | - fixed pat_match to avoid infinite recursion on zero-length matches | |
9176 | from match_pattern | |
9177 | ||
9178 | 11/17/2000 | |
9179 | ---------- | |
9180 | [bash-2.05-alpha1 released] | |
9181 | ||
9182 | 11/18 | |
9183 | ----- | |
9184 | support/shobj-conf | |
9185 | - added GNU Hurd support, identical to linux | |
9186 | ||
9187 | variables.c | |
9188 | - cygwin systems don't use the exportstr stuff at all, so call | |
9189 | INVALIDATE_EXPORTSTR before testing var->exportstr, since just | |
9190 | blindly using the value_cell will break exported functions that | |
9191 | already have an exportstr set | |
9192 | - when recomputing the exported value because valid_exportstr fails, | |
9193 | make sure to call named_function_string if the variable is a shell | |
9194 | function | |
9195 | ||
9196 | 11/20 | |
9197 | ----- | |
9198 | variables.c | |
9199 | - removed call to valid_exportstr; the exportstr code has been | |
9200 | adequately debugged | |
9201 | ||
9202 | lib/glob/fnmatch.c | |
9203 | - reverted to the POSIX.2 behavior of using the current locale and | |
9204 | strcoll() to evaluate range expressions in bracket expressions | |
9205 | ||
9206 | doc/{bash.1,bashref.texi} | |
9207 | - added note to Pattern Matching section emphasizing that the current | |
9208 | locale plays a part in evaluating range expressions within [...] | |
9209 | ||
9210 | aclocal.m4 | |
9211 | - added an #include <unistd.h> to the test for posix sigaction | |
9212 | restarting interrupted system calls | |
9213 | ||
9214 | support/config.guess | |
9215 | - changes from Tim Mooney to support `letter version' releases of | |
9216 | Tru 64 Unix on the Alpha (e.g., 5.1a) | |
9217 | ||
9218 | 11/21 | |
9219 | ----- | |
9220 | lib/sh/pathphys.c | |
9221 | - make sure MAXSYMLINKS is defined | |
9222 | ||
9223 | aclocal.m4 | |
9224 | - changed BASH_CHECK_PWFUNCS to just use AC_EGREP_CPP on a file | |
9225 | that includes pwd.h and other header files, checking for getpwuid. | |
9226 | It #defines HAVE_GETPW_DECLS if the egrep succeeds | |
9227 | ||
9228 | lib/readline/complete.c | |
9229 | - provide extern declaration of getpwent if _POSIX_SOURCE is defined, | |
9230 | since most systems don't declare it in <pwd.h> unless _POSIX_SOURCE | |
9231 | is undefined | |
9232 | ||
9233 | 11/22 | |
9234 | ----- | |
9235 | input.c | |
9236 | - fixed a small typo in the cygwin-specific code | |
9237 | ||
9238 | doc/{bashref.texi,bash.1} | |
9239 | - added some more explanatory text about the effect of the current | |
9240 | locale's collating order on range expressions within bracket | |
9241 | expressions | |
9242 | ||
9243 | doc/bashref.texi, lib/readline/doc/{rltech,rluser,hstech}.texinfo | |
9244 | - changed to use @env instead of @code for the names of environment | |
9245 | and shell variables in text (not in tables yet) | |
9246 | ||
9247 | 11/27 | |
9248 | ----- | |
9249 | configure.in | |
9250 | - configure without the bash malloc on Interix | |
9251 | ||
9252 | lib/readline/doc/rltech.texinfo | |
9253 | - changed completion_matches() to rl_completion_matches() | |
9254 | - changed filename_completion_function() to | |
9255 | rl_filename_completion_function() | |
9256 | - changed username_completion_function() to | |
9257 | rl_username_completion_function() | |
9258 | ||
9259 | lib/readline/rlprivate.h | |
9260 | - changed declaration of _rl_alphabetic to rl_alphabetic, since that's | |
9261 | what's used in the C files | |
9262 | ||
9263 | support/bashbug.sh | |
9264 | - Debian has /usr/bin/editor as a link to the system default editor; | |
9265 | make that one of the alternatives if $EDITOR is not set | |
9266 | - if the OS provides mktemp(1) or tempfile(1), use those to create | |
9267 | the temp file for the bug report | |
9268 | ||
9269 | lib/readline/{readline.[ch], callback.c} | |
9270 | - new function, rl_set_prompt, called with prompt string as argument, | |
9271 | sets and, if necessary, expands rl_prompt | |
9272 | ||
9273 | lib/readline/{complete.c,compat.c,readline.h} | |
9274 | - rl_completion_matches now takes a `const char *' as its first | |
9275 | argument | |
9276 | - compute_lcd_of_matches now takes a `const char *' as its third | |
9277 | argument | |
9278 | ||
9279 | lib/readline/rltypedefs.h | |
9280 | - a rl_completion_func_t now takes a `const char *' as its first | |
9281 | argument | |
9282 | ||
9283 | lib/readline/Makefile.in | |
9284 | - added dependencies on rltypedefs.h | |
9285 | ||
9286 | bashline.c | |
9287 | - attempt_shell_completion now takes a `const char *' as its first | |
9288 | argument | |
9289 | - removed bogus cast when assigning to rl_attempted_completion_function | |
9290 | and rl_completion_entry_function | |
9291 | - bash_directory_completion_matches takes a `const char *' argument | |
9292 | ||
9293 | pcomplete.c | |
9294 | - gen_matches_from_itemlist, pcomp_filename_completion_function, | |
9295 | gen_action_completions, gen_globpat_matches, gen_wordlist_matches, | |
9296 | gen_compspec_completions now take `const char *' arguments as | |
9297 | appropriate | |
9298 | - programmable_completions now takes `const char *' first and | |
9299 | second arguments | |
9300 | ||
9301 | pcomplib.c | |
9302 | - find_compspec now takes a `const char *' argument | |
9303 | ||
9304 | 11/29 | |
9305 | ----- | |
9306 | shell.c | |
9307 | - in open_shell_script, if we have /dev/fd, don't perform the check | |
9308 | for a binary file if isatty(fd) (where fd is opened on the script | |
9309 | name) returns non-zero | |
9310 | - in open_shell_script, don't call init_noninteractive again, since it | |
9311 | can undo changes made by the startup files ($BASH_ENV) | |
9312 | ||
9313 | input.c | |
9314 | - in fd_to_buffered_stream, make sure buffer size (and hence size | |
9315 | arg passed to read(2)) is greater than zero. This makes | |
9316 | bash /dev/stdin work right. | |
9317 | - return -1 from sync_buffered_stream immediately if buffers is NULL | |
9318 | (can happen when running `bash -i /dev/stdin' and executing a | |
9319 | command that requires a fork) | |
9320 | ||
9321 | 11/30 | |
9322 | ----- | |
9323 | jobs.c | |
9324 | - renamed cont_signal_handler to sigcont_sighandler for consistency | |
9325 | - renamed stop_signal_handler to sigstop_sighandler for consistency | |
9326 | - if there is no jobs list or no outstanding jobs, return immediately | |
9327 | from notify_of_job_status, before fussing with the signal state | |
9328 | - change map_over_jobs to not fuss with the signal state unless there | |
9329 | are jobs | |
9330 | ||
9331 | lib/malloc/malloc.c | |
9332 | - encapsulated the code to block and unblock signals during morecore() | |
9333 | execution into two functions: block_signals and unblock_signals | |
9334 | - only block signals in morecore() if interrupt_immediately is non-zero | |
9335 | or SIGINT or SIGCHLD is trapped | |
9336 | ||
9337 | 12/1 | |
9338 | ---- | |
9339 | lib/readline/readline.c | |
9340 | - fix to rl_forward to make sure that lend doesn't get set < 0, since | |
9341 | that will result in rl_point being < 0 | |
9342 | ||
9343 | 12/5 | |
9344 | ---- | |
9345 | parse.y | |
9346 | - fix to parse_matched_pair to allow backslash to escape a ' inside a | |
9347 | $'...' construct inside another grouping construct like ${...} | |
9348 | - translate $'...' and $"..." in parse_matched_pair, because nothing | |
9349 | else will do it if such a construct appears inside a grouping | |
9350 | construct | |
9351 | ||
9352 | 12/6 | |
9353 | ---- | |
9354 | configure.in | |
9355 | - make sure all bracket tests for pattern matching in case statements | |
9356 | are appropriately quoted, so autoconf doesn't swallow the brackets | |
9357 | - add -rdynamic to LOCAL_LDFLAGS for freebsd-4.x | |
9358 | ||
9359 | examples/loadables/realpath.c | |
9360 | - new loadable builtin, canonicalizes pathnames and expands symlinks | |
9361 | ||
9362 | builtins/ulimit.def | |
9363 | - added undocumented -w option for setting RLIMIT_SWAP, if it's defined | |
9364 | ||
9365 | 12/7 | |
9366 | ---- | |
9367 | bashline.c | |
9368 | - reordered code in initialize_readline so all of the rl_add_defun | |
9369 | calls are made before the call to rl_initialize, and all of the | |
9370 | rl_{bind,unbind}_key_in_map calls are made after initializing | |
9371 | readline. This allows the bash-specific function names to be used | |
9372 | in ~/.inputrc | |
9373 | ||
9374 | 12/12 | |
9375 | ----- | |
9376 | lib/readline/callback.c | |
9377 | - in rl_callback_read_char, loop after returning from | |
9378 | readline_internal_char and test rl_pending_input in case some | |
9379 | function (like the incremental search functions and digit argument | |
9380 | functions) pushed input back with rl_execute_next | |
9381 | ||
9382 | lib/readline/readline.h | |
9383 | - new rl_state flag: RL_STATE_INPUTPENDING, indicating that | |
9384 | rl_execute_next has pushed input back for rl_get_key to read | |
9385 | ||
9386 | lib/readline/input.c | |
9387 | - new function to clear rl_pending_input: rl_clear_pending_input() | |
9388 | ||
9389 | lib/readline/{input,readline,signals}.c | |
9390 | - when rl_pending_input is set, set state RL_STATE_INPUTPENDING; | |
9391 | unset that state when rl_read_key returns the pending input | |
9392 | - call rl_clear_pending_input at appropriate points | |
9393 | ||
9394 | 12/15 | |
9395 | ----- | |
9396 | lib/readline/histfile.c | |
9397 | - don't leak file descriptors while attempting to truncate a non-regular | |
9398 | file | |
9399 | ||
9400 | input.c | |
9401 | - make sure check_bash_input sets the close-on-exec flag for the file | |
9402 | descriptor used to save the bash input fd | |
9403 | ||
9404 | parse.y | |
9405 | - if default_buffered_input gets changed while it's on the saved | |
9406 | stream stack, make sure it gets set to close-on-exec when it's | |
9407 | restored by pop_stream() | |
9408 | ||
9409 | 12/18 | |
9410 | ----- | |
9411 | builtins/ulimit.def | |
9412 | - change set_limit to account for Cygwin's setdtablesize() being | |
9413 | declared as a void function | |
9414 | ||
9415 | support/config.{guess,sub} | |
9416 | - change cygwin32 to cygwin | |
9417 | ||
9418 | 12/20 | |
9419 | ----- | |
9420 | nojobs.c | |
9421 | - make wait_sigint_handler handle the case of interrupt_immediately | |
9422 | being non-zero when it's called, and jump out appropriately | |
9423 | ||
9424 | jobs.c | |
9425 | - new function to run sigchld traps: run_sigchld_trap(); called from | |
9426 | waitchld | |
9427 | - broke the code that computes the printable job status messages for | |
9428 | pretty_print_job out into a separate function | |
9429 | - rearranged some code eliminating a useless `else' branch in wait_for | |
9430 | - shell_tty_info is now a TTYSTRUCT, using defines from shtty.h | |
9431 | - broke the code that sets a job's status after waitpid says its state | |
9432 | has changed and cleans up after a received SIGINT out into a separate | |
9433 | function: set_job_status_and_cleanup | |
9434 | - last_stopped_job() -> job_last_stopped() to avoid collision with a | |
9435 | variable name | |
9436 | - last_running_job() -> job_last_running() for consistency | |
9437 | ||
9438 | 12/21 | |
9439 | ----- | |
9440 | variables.c | |
9441 | - new function, print_func_list (SHELL_VAR **list); prints shell | |
9442 | functions from list in a form that may be re-used as input to | |
9443 | redefine the functions | |
9444 | ||
9445 | variables.h | |
9446 | - new extern declaration for print_func_list | |
9447 | ||
9448 | builtins/set.def | |
9449 | - set without options now calls print_func_list to have functions | |
9450 | printed in a way that can be reused as input (this affects | |
9451 | `declare' and `declare -p' also) | |
9452 | ||
9453 | 12/27 | |
9454 | ----- | |
9455 | general.h | |
9456 | - add an ISOCTAL define | |
9457 | ||
9458 | builtins/common.h | |
9459 | - use ISOCTAL in read_octal function | |
9460 | ||
9461 | parse.y | |
9462 | - in decode_prompt_string, don't just skip STRING forward by 3 if an | |
9463 | octal sequence is translated; handle sequences of fewer than three | |
9464 | characters by checking each character | |
9465 | ||
9466 | 12/28 | |
9467 | ----- | |
9468 | doc/{bash.1,bashref.texi} | |
9469 | - make sure `vi-move' is a documented keymap argument to bind's | |
9470 | `-m' option | |
9471 | ||
9472 | 12/29 | |
9473 | ----- | |
9474 | variables.c | |
9475 | - change print_assignment so that functions are printed in a way that | |
9476 | may be reused as input (without the `=') | |
9477 | ||
9478 | 1/2/2001 | |
9479 | -------- | |
9480 | test.c | |
9481 | - fix test_command to print an error message if `[' is supplied a | |
9482 | single argument that is not `]' | |
9483 | ||
9484 | support/shobj-conf | |
9485 | - change test of $SHOBJ_CC from `gcc*' to `*gcc*' to handle full | |
9486 | pathnames | |
9487 | ||
9488 | 1/11 | |
9489 | ---- | |
9490 | execute_cmd.c | |
9491 | - in initialize_subshell, zero out builtin_env, since those aren't | |
9492 | supposed to be exported | |
9493 | ||
9494 | variables.c | |
9495 | - new function: shell_var_from_env_string, creates a SHELL_VAR from | |
9496 | a `name=value' style environment string and returns it | |
9497 | - new function: bind_name_in_env_array(name, value, array), makes | |
9498 | NAME have VALUE in ARRAY, a temporary environment | |
9499 | - new function: bind_tempenv_variable (name, value), makes NAME have | |
9500 | VALUE in one of the temporary environments -- temporary_env, | |
9501 | builtin_env, or function_env | |
9502 | - changed bind_variable to call bind_tempenv_variable if one of the | |
9503 | temporary environments is non-null before modifying the | |
9504 | shell_variables table. This fixes a problem with sourced scripts | |
9505 | modifying variables in a temporary environment, but not seeing the | |
9506 | updated values | |
9507 | ||
9508 | 1/12 | |
9509 | ---- | |
9510 | variables.c | |
9511 | - changed things so OSTYPE, HOSTTYPE, and MACHTYPE are set only if | |
9512 | they don't have a value at shell startup | |
9513 | ||
9514 | 1/17 | |
9515 | ---- | |
9516 | builtins/fc.def | |
9517 | - create temp file with MT_USETMPDIR | |
9518 | ||
9519 | variables.c | |
9520 | - allow function local readonly variables to overwrite (or shadow) | |
9521 | other (calling) function readonly variables, but not global | |
9522 | readonly ones | |
9523 | ||
9524 | builtins/wait.def | |
9525 | - replace unwind_protect of interrupt_immediately, since that's a | |
9526 | variable that you cannot unwind-protect (the unwind-protect code | |
9527 | uses it) | |
9528 | ||
9529 | 1/22 | |
9530 | ---- | |
9531 | Makefile.in | |
9532 | - changed RELSTATUS to `beta1' | |
9533 | ||
9534 | lib/readline/terminal.c | |
9535 | - added rl_set_screen_size function, wrapper around | |
9536 | _rl_set_screen_size so bash doesn't call _rl_ functions | |
9537 | ||
9538 | lib/readline/{rlprivate,readline}.h | |
9539 | - moved rl_explicit_arg to readline.h | |
9540 | - moved rl_numeric_arg to readline.h | |
9541 | - moved rl_editing_mode to readline.h | |
9542 | - moved rl_last_func to readline.h | |
9543 | - added rl_set_screen_size to readline.h | |
9544 | ||
9545 | lib/readline/doc/rltech.texinfo | |
9546 | - documented rl_explicit_arg, rl_editing_mode, rl_numeric_arg, | |
9547 | rl_last_func | |
9548 | - documented rl_set_screen_size | |
9549 | ||
9550 | {jobs,nojobs}.c | |
9551 | - _rl_set_screen_size -> rl_set_screen_size | |
9552 | ||
9553 | {bashline,pcomplete}.c, builtins/set.def | |
9554 | - removed extern declarations of variables defined in readline.h | |
9555 | ||
9556 | 1/23 | |
9557 | ---- | |
9558 | support/rlvers.sh | |
9559 | - use $TMPDIR if it's defined | |
9560 | - use $RL_INCDIR (set by -I option, /usr/local/include by default) | |
9561 | as the directory containing the installed readline header files | |
9562 | - cd to the temp directory before attempting compilation | |
9563 | ||
9564 | configure.in | |
9565 | - pass `-I ${includedir}' to rlvers.sh | |
9566 | ||
9567 | 1/29 | |
9568 | ---- | |
9569 | subst.c | |
9570 | - fixed parameter_brace_expand to only throw away the state of | |
9571 | quoted dollar-at if we're going to be using the rhs of the | |
9572 | brace expansion, since whatever parameter_brace_expand_rhs sets | |
9573 | should be what goes (corrects bad fix of 2/16/2000) | |
9574 | - fixed param_expand to only free temp after calling | |
9575 | parameter_brace_expand if it's a quoted null and we *did not* | |
9576 | have a quoted $@, since in that case we want to keep it and | |
9577 | do the $@ special handling (fixes real problem from 2/16/2000) | |
9578 | ||
9579 | 1/30 | |
9580 | ---- | |
9581 | variables.c | |
9582 | - remove export attribute from SSH2_CLIENT, like SSH_CLIENT | |
9583 | ||
9584 | 2/1 | |
9585 | --- | |
9586 | unwind_prot.c | |
9587 | - added new function, clear_unwind_protect_list, to zero out the | |
9588 | unwind_protect list, optionally freeing the elements | |
9589 | ||
9590 | unwind_prot.h | |
9591 | - new extern declaration for clear_unwind_protect_list | |
9592 | ||
9593 | execute_cmd.c | |
9594 | - call clear_unwind_protect_list in initialize_subshell. This fixes | |
9595 | the problem of core dumps when calling a shell script without a | |
9596 | leading `#!' from a shell function or other context with an | |
9597 | unwind-protect list | |
9598 | - set variable_context and return_catch_flag to 0 in | |
9599 | initialize_subshell, since a new subshell is no longer in a shell | |
9600 | function | |
9601 | ||
9602 | 2/2 | |
9603 | --- | |
9604 | doc/readline.3 | |
9605 | - updated the text; clarified several points | |
9606 | - changed the usage synopsis to include <readline/readline.h> and | |
9607 | <readline/history.h> | |
9608 | ||
9609 | lib/readline/doc/hstech.texinfo | |
9610 | - made sure all function prototypes are valid ANSI C (mostly | |
9611 | changing () to (void)) | |
9612 | ||
9613 | lib/readline/doc/rluser.texinfo | |
9614 | - a few clarifications | |
9615 | ||
9616 | lib/readline/doc/rltech.texinfo | |
9617 | - a few clarifications | |
9618 | - added two new subsections for character input and terminal | |
9619 | management | |
9620 | - changed all function prototypes to be valid ANSI C (mostly | |
9621 | replacing () with (void)) | |
9622 | - documented some variables in readline.h but previously not in | |
9623 | the reference manual (rl_num_chars_to_read, rl_dispatching, | |
9624 | rl_gnu_readline_p, rl_completion_type) | |
9625 | - documented some functions in readline.h but previously not in | |
9626 | the reference manual (rl_clear_pending_input, rl_prep_terminal, | |
9627 | rl_deprep_terminal, rl_tty_set_default_bindings, rl_alphabetic, | |
9628 | rl_crlf) | |
9629 | ||
9630 | lib/readline/readline.h | |
9631 | - added extern declaration for rl_clear_pending_input() | |
9632 | - added extern declaration for rl_alphabetic | |
9633 | - changed rltty_set_default_bindings to rl_tty_set_default_bindings | |
9634 | - changed crlf() -> rl_crlf() | |
9635 | ||
9636 | lib/readline/rltty.c | |
9637 | - new function, rl_tty_set_default_bindings, just calls | |
9638 | rltty_set_default_bindings (needed `rl_' prefix) | |
9639 | ||
9640 | lib/readline/readline.c | |
9641 | - readline_default_bindings now calls rl_tty_set_default_bindings | |
9642 | ||
9643 | lib/readline/terminal.c | |
9644 | - renamed crlf() to rl_crlf(); crlf() is still defined for backwards | |
9645 | compatibility | |
9646 | ||
9647 | bashline.c, lib/readline/{complete,display}.c | |
9648 | - changed all calls to crlf() to rl_crlf() | |
9649 | ||
9650 | test.c | |
9651 | - fix filecomp() so that `test file1 -nt file2' doesn't fail if file1 | |
9652 | exists but file2 does not | |
9653 | ||
9654 | 2/5 | |
9655 | --- | |
9656 | lib/readline/{terminal,compat}.c | |
9657 | - move crlf() backwards-compatibility definition to compat.c | |
9658 | ||
9659 | execute_cmd.c | |
9660 | - if we're running a command `( command ) &' from a non-interactive | |
9661 | shell, don't unconditionally disable expand_aliases. Only do it | |
9662 | when running such a command from an interactive shell, since then | |
9663 | we're changing to a non-interactive shell | |
9664 | ||
9665 | 2/6 | |
9666 | --- | |
9667 | [bash-2.05-beta1 released] | |
9668 | ||
9669 | lib/readline/compat.c | |
9670 | - add extern declaration for rl_crlf() | |
9671 | ||
9672 | lib/readline/undo.c | |
9673 | - initialize start and end in rl_do_undo to avoid bogus gcc compiler | |
9674 | warning with -Wall | |
9675 | ||
9676 | lib/readline/rlprivate.h | |
9677 | - fix typo in extern declaration of _rl_current_display_line() | |
9678 | - add extern declaration of _rl_free_saved_history_line() | |
9679 | ||
9680 | lib/readline/terminal.c | |
9681 | - return immediately from _rl_set_screen_size if one of the args is 0 | |
9682 | - new function, rl_get_screen_size (int *rows, int *cols) to return | |
9683 | readline's idea of the screen dimensions | |
9684 | ||
9685 | lib/readline/doc/rltech.texinfo | |
9686 | - documented rl_get_screen_size | |
9687 | ||
9688 | 2/7 | |
9689 | --- | |
9690 | pathexp.c | |
9691 | - a couple of fixes for the POSIX_GLOB_LIBRARY version of the globbing | |
9692 | code | |
9693 | ||
9694 | expr.c | |
9695 | - fixed omission of ^= from the special assignment operators | |
9696 | ||
9697 | shell.c | |
9698 | - change logic for setting `posixly_correct' at shell startup: if | |
9699 | $POSIXLY_CORRECT or $POSIX_PEDANTIC is found in the environment, | |
9700 | set it to 1, otherwise retain the previous value (which is | |
9701 | initialized to 0) | |
9702 | ||
9703 | 2/10 | |
9704 | ---- | |
9705 | builtins/evalstring.c | |
9706 | - since subshell_environment is now a flags word, test for the | |
9707 | SUBSHELL_COMSUB bit being set when decided whether or not to | |
9708 | evaluate $(<file), not just for subshell_environment == | |
9709 | SUBSHELL_COMSUB | |
9710 | ||
9711 | 2/12 | |
9712 | ---- | |
9713 | lib/readline/doc/rltech.texinfo | |
9714 | - fixed a couple of problems with the documentation for | |
9715 | rl_prep_terminal and rl_deprep_terminal | |
9716 | - added description of rl_set_prompt | |
9717 | ||
9718 | support/config.sub | |
9719 | - added support for Linux running on the IBM S390 | |
9720 | ||
9721 | 2/13 | |
9722 | ---- | |
9723 | input.c | |
9724 | - new function, fd_is_bash_input (fd), encapsulates the test for | |
9725 | whether or not FD is the file descriptor from which bash is reading | |
9726 | its input | |
9727 | - change check_bash_input to call fd_is_bash_input | |
9728 | - new function, save_bash_input (fd, new_fd), handles saving the | |
9729 | buffered stream associated with file descriptor FD to one | |
9730 | associated with NEW_FD. If NEW_FD == -1, this function allocates a | |
9731 | file descriptor itself with fcntl | |
9732 | - new function, set_bash_input_fd(fd), sets the fd bash is using to | |
9733 | read input to FD | |
9734 | - changed duplicate_buffered_stream to note that the buffer it's | |
9735 | duplicating to was the bash input buffer (B_WASBASHINPUT) | |
9736 | ||
9737 | input.h | |
9738 | - extern declarations for fd_is_bash_input and save_bash_input | |
9739 | - new flag for b->flag: B_WASBASHINPUT | |
9740 | ||
9741 | redir.c | |
9742 | - in add_undo_redirect, if FD is 0, make the undo redirect be of type | |
9743 | r_duplicating_input instead of r_duplicating_output, since that fd | |
9744 | requires special handling in the presence of buffered streams (fixes | |
9745 | problem with scripts reading input through a pipe restoring bash | |
9746 | input buffered stream correctly after a `read' with an input | |
9747 | redirection | |
9748 | ||
9749 | 2/14 | |
9750 | ---- | |
9751 | lib/readline{complete,util}.c | |
9752 | - moved rl_strpbrk to util.c with rest of string utility functions, | |
9753 | renamed to _rl_strpbrk | |
9754 | ||
9755 | lib/readline/rlprivate.h | |
9756 | - extern declaration for _rl_strpbrk | |
9757 | ||
9758 | lib/readline/input.c | |
9759 | - make the timeout in rl_gather_tyi() be a variable | |
9760 | (_keyboard_input_timeout) rather than a constant | |
9761 | - new function, rl_set_keyboard_input_timeout (int u) to set | |
9762 | _keyboard_input_timeout. The argument is in microseconds; returns | |
9763 | the old value of _keyboard_input_timeout | |
9764 | - _rl_input_available uses _keyboard_input_timeout also | |
9765 | ||
9766 | lib/readline/readline.h | |
9767 | - extern declaration for rl_set_keyboard_input_timeout | |
9768 | ||
9769 | lib/readline/doc/rltech.texinfo | |
9770 | - documented rl_variable_bind(), rl_macro_bind(), rl_macro_dumper(), | |
9771 | rl_variable_dumper(), rl_push_macro_input(), rl_show_char() | |
9772 | ||
9773 | 2/20 | |
9774 | ---- | |
9775 | findcmd.c | |
9776 | - new function, executable_or_directory(name), returns 1 if NAME is | |
9777 | an executable file or a directory | |
9778 | ||
9779 | findcmd.h | |
9780 | - extern declaration for executable_or_directory() | |
9781 | ||
9782 | bashline.c | |
9783 | - call executable_or_directory() from command_word_completion_function, | |
9784 | which requires a single stat(2), instead of executable_file() and | |
9785 | is_directory(), each of which requires a stat(2) | |
9786 | ||
9787 | 2/21 | |
9788 | ---- | |
9789 | execute_cmd.c | |
9790 | - changed execute_builtin to handle `return' with a preceding variable | |
9791 | assignment list specially when in POSIX mode. POSIX says that the | |
9792 | variable assignments should persist after the builtin returns, since | |
9793 | `return' is a special builtin. Since `return' does a longjmp and | |
9794 | doesn't go through the normal cleanup path, we need to do special | |
9795 | things | |
9796 | ||
9797 | variables.c | |
9798 | - new function, merge_function_env(), merges the function_env into | |
9799 | the shell_variables table | |
9800 | ||
9801 | variables.h | |
9802 | - extern declaration for merge_function_env() | |
9803 | ||
9804 | execute_cmd.c | |
9805 | - changed execute_function to merge any variable assignments preceding | |
9806 | the function call into shell_variables if the shell is running in | |
9807 | POSIX mode | |
9808 | ||
9809 | subst.c | |
9810 | - changed parameter_brace_expand_error to do tilde expansion on the | |
9811 | rhs of the expansion, if it's not null | |
9812 | - changed command_substitute so that the subshell begun to execute | |
9813 | the command substitution inherits the setting of the `-e' option | |
9814 | when in POSIX mode | |
9815 | ||
9816 | builtins/break.def | |
9817 | - changed check_loop_level to not print a complaining message when | |
9818 | the shell is running in POSIX mode, even if BREAK_COMPLAINS is | |
9819 | defined. This affects `break' and `continue' | |
9820 | - changed `break' and `continue' to return success even if the shell | |
9821 | is not executing a loop, as POSIX specifies | |
9822 | ||
9823 | builtins/set.def | |
9824 | - changed reset_shell_options() to not clear posixly_correct, so | |
9825 | subshells spawned to execute shell scripts without a leading `#!' | |
9826 | inherit posix mode from their parent shell | |
9827 | ||
9828 | variables.c | |
9829 | - changed make_new_variable to create the shell_variables hash table | |
9830 | if it hasn't been done yet. This is needed because bind_variable | |
9831 | may be called before initialize_shell_variables (e.g., when | |
9832 | `bash -o posix' calls bind_variable("POSIXLY_CORRECT", "y") from | |
9833 | parse_shell_options -> set_minus_o_option -> set_posix_mode | |
9834 | This makes `bash --posix' and `bash -o posix' equivalent, as they | |
9835 | should always have been | |
9836 | - changed maybe_make_export_env to merge the contents of `builtin_env' | |
9837 | into export_env after function_env and before temporary_env. This | |
9838 | fixes the problems with variable assignments preceding `eval' or | |
9839 | `source' not making it into the environment passed to executed disk | |
9840 | commands (var=20 eval printenv var) | |
9841 | ||
9842 | doc/bashref.texi | |
9843 | - noted that variable assignments preceding shell function calls | |
9844 | persist in the shell environment after the function returns when | |
9845 | the shell is running in POSIX mode | |
9846 | - noted that when the shell is running in POSIX mode, subshells | |
9847 | spawned to execute command substitutions inherit the value of | |
9848 | the `-e' option from the parent shell | |
9849 | ||
9850 | 2/26 | |
9851 | ---- | |
9852 | doc/bashref.texi | |
9853 | - augmented description of bash non-posix behavior in posix mode | |
9854 | with information from running the vsc-lite test suite | |
9855 | ||
9856 | 2/28 | |
9857 | ---- | |
9858 | general.c | |
9859 | - since POSIX.2 says that aliases should be expanded even in | |
9860 | non-interactive shells, enable alias expansion in | |
9861 | posix_initialize() when posix mode is enabled, and set it to the | |
9862 | value of interactive_shell if posix mode is disabled | |
9863 | ||
9864 | shell.c | |
9865 | - before running the startup scripts, set expand_aliases to | |
9866 | posixly_correct, since we don't want alias expansion in startup | |
9867 | files unless we've been given the --posix invocation option | |
9868 | ||
9869 | doc/bashref.texi | |
9870 | - added item in BASH Posix Mode section noting that alias expansion | |
9871 | is always enabled when in posix mode | |
9872 | ||
9873 | Makefile.in | |
9874 | - changed release level to `beta2' | |
9875 | ||
9876 | 3/1 | |
9877 | --- | |
9878 | jobs.c | |
9879 | - expanded retcode_name_buffer to 64 | |
9880 | - changed printable_job_status to conform to posix.2 for text of | |
9881 | stopped job status: `Stopped(SIGTSTP)' or `Stopped(SIGSTOP)' | |
9882 | ||
9883 | doc/bashref.texi | |
9884 | - Noted above change in posix mode section | |
9885 | ||
9886 | 3/5 | |
9887 | --- | |
9888 | lib/readline/bind.c | |
9889 | - changed rl_get_keymap_by_name to work case-insensitively | |
9890 | ||
9891 | 3/6 | |
9892 | --- | |
9893 | doc/readline.{0,3,ps} | |
9894 | - removed from distribution; moved to readline distribution | |
9895 | ||
9896 | lib/readline/doc/history.3 | |
9897 | - man page for history library; neither built nor installed | |
9898 | (part of the standalone readline distribution) | |
9899 | ||
9900 | lib/readline/histfile.c | |
9901 | - changed history_truncate_file to return 0 on success, errno | |
9902 | on failure | |
9903 | - changed history_do_write to return errno on a write error. This | |
9904 | affects write_history and append_history | |
9905 | ||
9906 | lib/readline/history.c | |
9907 | - max_input_history is now history_max_entries; the old variable is | |
9908 | maintained for backwards compatibility | |
9909 | ||
9910 | lib/readline/histexpand.c | |
9911 | - the list of delimiters that separate words for history_tokenize | |
9912 | is now a variable: history_word_delimiters; default value is as | |
9913 | before | |
9914 | - changed history_expand to return 0 immediately if its second | |
9915 | argument is NULL | |
9916 | ||
9917 | bashline.c | |
9918 | - changed to use history_max_entries | |
9919 | ||
9920 | lib/readline/history.h | |
9921 | - extern declaration for history_max_entries | |
9922 | - extern declaration for history_word_delimiters | |
9923 | ||
9924 | 3/8 | |
9925 | --- | |
9926 | test.c | |
9927 | - changed unary_operator() to return FALSE for non-numeric arguments | |
9928 | to `-t' | |
9929 | ||
9930 | 3/9 | |
9931 | --- | |
9932 | [bash-2.05-beta2 released] | |
9933 | ||
9934 | 3/12 | |
9935 | ---- | |
9936 | lib/readline/doc/rltech.texinfo | |
9937 | - documented rl_set_paren_blink_timeout() | |
9938 | - moved the example function to its own info node | |
9939 | ||
9940 | lib/readline/{hstech.texinfo,history.3} | |
9941 | - `$' is not in the default value of history_word_delimiters | |
9942 | ||
9943 | 3/13 | |
9944 | ---- | |
9945 | bashline.c | |
9946 | - in maybe_add_history, if the tests for HISTCONTROL succeed, but | |
9947 | the HISTIGNORE check fails, set first_line_saved to 0 | |
9948 | ||
9949 | 3/15 | |
9950 | ---- | |
9951 | ||
9952 | lib/glob/fnmatch.c | |
9953 | - fixed a bug in patscan that caused `[' to be treated as special | |
9954 | even inside a nested bracket expression. It's supposed to lose | |
9955 | it's special handling inside [] | |
9956 | - fixed a bug in patscan that caused `]' to end an embedded bracket | |
9957 | expression even if it was the first character after the `[' (or | |
9958 | a leading `!' or `^') | |
9959 | ||
9960 | 3/22 | |
9961 | ---- | |
9962 | execute_cmd.c | |
9963 | - made a small change to shell_execve to report a more user-friendly | |
9964 | error if execve(2) fails because of a `#! interpreter' error with | |
9965 | `interpreter' | |
9966 | - in shell_execve, if HAVE_HASH_BANG_EXEC is not defined, make sure | |
9967 | the file length is > 2 characters before attempting to execute an | |
9968 | interpreter | |
9969 | ||
9970 | 3/26 | |
9971 | ---- | |
9972 | jobs.c, nojobs.c | |
9973 | - give_terminal_to now takes a second argument, FORCE. If that | |
9974 | second argument is non-zero, give the terminal away no matter | |
9975 | what job_control is set to | |
9976 | ||
9977 | jobs.h | |
9978 | - changed extern declaration of give_terminal_to | |
9979 | ||
9980 | {jobs,sig,subst}.c,parse.y | |
9981 | - changed all calls to give_terminal_to to add a second argument | |
9982 | of 0 | |
9983 | ||
9984 | jobs.c | |
9985 | - changed second argument of call to give_terminal_to in | |
9986 | end_job_control to 1, to force this even if job_control is 0. | |
9987 | This fixes the problem of `exec other-job-control-shell' in a | |
9988 | startup file hanging, since run_startup_files sets job_control to 0 | |
9989 | ||
9990 | subst.c | |
9991 | - fixed test of subshell_environment in command_substitute to test the | |
9992 | bit SUBSHELL_ASYNC rather than test equality, since it's now a | |
9993 | bitmask | |
9994 | ||
9995 | 3/27 | |
9996 | ---- | |
9997 | shell.c | |
9998 | - changed posix initialization calls to set POSIXLY_CORRECT=y and | |
9999 | then call sv_strict_posix, so $SHELLOPTS includes `posix' and | |
10000 | POSIXLY_CORRECT is set, for both the posix command line options | |
10001 | and when act_like_sh is non-zero | |
10002 | ||
10003 | redir.c | |
10004 | - the `>& filename' redirection now works in posix mode, redirecting | |
10005 | stdout and stderr, since POSIX.2 leaves it unspecified | |
10006 | ||
10007 | doc/bashref.texi | |
10008 | - removed item about `>& filename' from Bash POSIX Mode section | |
10009 | ||
10010 | parse.y | |
10011 | - fixed a problem in decode_prompt_string with `\W' not printing | |
10012 | anything if PWD == "//" | |
10013 | ||
10014 | lib/readline/input.c | |
10015 | - in rl_read_key, after calling (*rl_event_hook), check for rl_done | |
10016 | being set, and return '\n' if it is | |
10017 | ||
10018 | Makefile.in | |
10019 | - changed RELSTATUS to `release' | |
10020 | ||
10021 | 3/28 | |
10022 | ---- | |
10023 | support/bashbug.sh | |
10024 | - replace use of $(...) with `...` for the benefit of old versions | |
10025 | of sh | |
10026 | ||
10027 | builtins/set.def | |
10028 | - changed print_all_shell_variables to not print shell function names | |
10029 | and definitions when in posix mode | |
10030 | ||
10031 | doc/bashref.texi | |
10032 | - noted change in `set' behavior in posix mode section | |
10033 | ||
10034 | 4/2 | |
10035 | --- | |
10036 | lib/readline/readline.c | |
10037 | - changed default value of RL_LIBRARY_VERSION to `4.2' | |
10038 | ||
10039 | 4/5 | |
10040 | --- | |
10041 | [bash-2.05-release frozen] |