reenabled swaptest. quake should now load data and start on big endian architectures...
[AROS-Contrib.git] / gnu / abc-shell / old / ChangeLog
blobcaef4373faaf043ef64aac850b405f7ae834aca3
1 Tue Jul 13 14:32:57 NDT 1999 Michael Rendell (michael@lyman.cs.mun.ca)
3         * made pdksh-5.2.14 distribution
5 Wed Jun 30 17:42:54 NDT 1999 Michael Rendell (michael@lyman.cs.mun.ca)
7         * c_test.c(test_eval): changed -nt/-ot tests so they succeed
8           if file2 (file2) `does not exist' (ie, the stat fails).
9           (based on fix from Dave Hillman).
11 Tue May 25 17:23:39 NDT 1999 Michael Rendell (michael@lyman.cs.mun.ca)
13         * jobs.c(fill_command): do not eval() TCOM arguments - can cause
14           problems.
16 Tue May 25 15:26:31 NDT 1999 Michael Rendell (michael@lyman.cs.mun.ca)
18         * new-version.sh,ksh.Man: added version number to man page; update
19           version as well as date when updating tests/version.t and ksh.Man.
21 Mon May 24 20:57:21 NDT 1999 Michael Rendell (michael@lyman.cs.mun.ca)
23         * c_sh.c(c_eval): only set exstat to substs_exstat if in non-posix mode.
25 Mon May 24 15:44:10 NDT 1999 Michael Rendell (michael@lyman.cs.mun.ca)
27         * tree.h(FTIME): new define.
28         * c_sh.c(timex): stuff to get info to/from timex_hook.
29         * c_sh.c(timex_hook): new function (handles option processing).
30         * exec.c(execute): call timex_hook() after TCOM eval().
32 Tue May 18 12:23:27 NDT 1999 Michael Rendell (michael@deimos.cs.mun.ca)
34         * vi.c(vi_hook): case VREDO: removed != 0 from switch expression.
36 Tue May 18 11:24:12 NDT 1999 Michael Rendell (michael@deimos.cs.mun.ca)
38         * emacs.c(CHARMASK,X_TABSZ): changed from 128 to 256.
39         * emacs.c(x_size,x_zotc,x_mapout): use iscntl() vs range test.
40           (Based on changes from Martin Dalecki)
42 Thu May 13 17:23:17 NDT 1999 Michael Rendell (michael@deimos.cs.mun.ca)
44         * emacs.c(x_bound,bind_if_not_bound): new variable/fucntion.
45         * emacs.c(x_bind): set bit in x_bound[].
46         * emacs.c(x_emacs_keys): call bind_if_not_bound.
48 Thu May 13 14:23:12 NDT 1999 Michael Rendell (michael@deimos.cs.mun.ca)
50         * sh.h: ifdefs for __CYGWIN__ for path defines.
51         * path.c(simplify_path): ifdefs for __CYGWIN__; preserve leading
52           double-slash on pathnames.
53         * c_ksh.c(c_cd): use cygwin_conv_to_full_posix_path().
54         * edit.c(x_mode): default eof char to ^D.
56         [fixes from Corinna Vinschen and Steven Hein, obtained from
57          ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/
58             porters/Vinschen_Corinna/B20/]
60 Wed May 12 12:30:09 NDT 1999 Michael Rendell (michael@deimos.cs.mun.ca)
62         * exit.c(x_mode): set fields of edchars to -1 if corrisponding char
63           is unset.
64         * exit.c(x_init): initialize edchars to -2, not -1.
65         * emacs.c(x_emacs_keys): check if char is >= 0 before setting.
67 Wed May 12 11:31:24 NDT 1999 Michael Rendell (michael@deimos.cs.mun.ca)
69         * shf.c(shf_write): don't buffer if buffer is empty and we're
70           writting a large amount.
71         * shf.c(shf_open): changed to use shf_reopen instead of shf_fdopen
72           so alloca failing won't lose the fd.
74 Wed May 12 10:19:43 NDT 1999 Michael Rendell (michael@deimos.cs.mun.ca)
76         * sh.h: deleted TT_HEREDOC_RAW define.
77         * tree.h(struct ioword): added heredoc field.
78         * tree.c(iocopy,iofree): copy/free heredoc field; remove special case
79           for IOHERE and name field.
80         * tree.c(ptree): changed to use heredoc content string (not open temp).
81         * lex.c(yylex): initialize heredoc field.
82         * lex.c(readhere): save to string instead of a temp file.
83         * exec.c(herein): changed first are from file name to heredoc content
84           string; changed all calls.  Changed to always create a new temp file
85           and write content to it.
87 Tue May 11 11:38:22 NDT 1999 Michael Rendell (michael@deimos.cs.mun.ca)
89         * tree.c(iofree): free delim field; don't free name of IOHERE iowords.
91 Tue May 11 10:57:53 NDT 1999 Michael Rendell (michael@deimos.cs.mun.ca)
93         * sh.h(func_heredocs): deleted.
94         * sh.h(EF_FAKE_SIGDIE): added.
95         * lex.c(readhere): put function heredocs at bottom of env stack.
96         * main.c(quitenv,cleanup_proc_env): deleted remove_temps(func_heredocs)
97           calls.
99         * main.c(quitenv): moved exit of no oenv to en after reclaim.
100         * main.c(cleanup_parents_env): free ep->savefd and set to 0.
101         * main.c(unwind,quitenv): moved code for E_NONE from unwind()
102           to quitenv().
104 Mon May 10 17:04:03 NDT 1999 Michael Rendell (michael@deimos.cs.mun.ca)
106         * exec.c(herein): restore source to osource after yylex().
108 Mon May 10 12:14:40 NDT 1999 Michael Rendell (michael@deimos.cs.mun.ca)
110         * tree.c(iocopy): don't copy IOHERE name (it belongs to a struct temp).
111         * tree.c(wdscan): added default case to print internal error.
113 Mon May 10 10:39:34 NDT 1999 Michael Rendell (michael@deimos.cs.mun.ca)
115         * sh.h(Temp_type): new enum (TT_HEREDOC_RAW, TT_HEREDOC_EXP,
116           TT_HIST_FILE).
117         * sh.h(struct temp): added type field.
118         * io.c(maketemp): added type and tlist arguments; changed
119           all calls.
121 Tue Apr 27 11:31:48 NDT 1999 Michael Rendell (michael@lyman.cs.mun.ca)
123         * exec.c(execute): clear XEXEC in the call to timex() so time
124           can be used at the end of a pipeline.
126 Fri Apr 23 16:29:01 NDT 1999 Michael Rendell (michael@lyman.cs.mun.ca)
128         * mail.c(mcheck): don't check if MAILCHECK is set, just check if
129           mplist is null.
130         * mail.c(mcset): new function.
131         * var.c(setspec): case MAILCHECK: call mcset.
132         * var.c(unspecial): new function.
133         * var.c(unsetspec): call unspecial for LINENO, MAILCHECK, RANDOM,
134           SECONDS, TMOUT.
136 Fri Apr 23 15:34:39 NDT 1999 Michael Rendell (michael@lyman.cs.mun.ca)
138         * main.c(initcoms): put MAILCHECK, SECONDS, TMOUT in an eval to
139           preserve previous values.
140         * var.c(getspec): case V_SECONDS: don't do anything special if
141           variable not set.
143 Thu Apr 22 15:03:27 NDT 1999 Michael Rendell (michael@lyman.cs.mun.ca)
145         * var.c(setstr): error if var is RDONLY.
146         * var.c(global): non-letter params: set RDONLY flag after setstr call.
147         * c_ksh.c(c_getopts), eval.c(expand), exec.c(execute):
148           removed readonly check.
150         * sh.h(KSH_UNWIND_ERROR, KSH_RETURN_ERROR): new defines.
151         * var.c(setstr): added error_ok argument; changed all calls.
152         * c_ksh.c(c_getopts): clear READONLY and INTEGER flags for OPTARG;
153           return non-zero if variable can't be set.
154         * var.c(typeset): if fake_assign fails, unset the variable's value
155           and carry on for rest of array, then unwind.
156         * expr.c(expand,v_expand): changed all calls to use KSH_UNWIND_ERROR
157           or KSH_RETURN_ERROR.
159 Tue Apr 20 16:52:24 NDT 1999 Michael Rendell (michael@lyman.cs.mun.ca)
161         * configure.in: added check dup2.
162         * sh.h: added dup2 prototype.
163         * aclocal.m4: replace AC_HEADER_DIRENT so it checks -lndir.
165         * missing.c(dup2): new function.
166           Based on code from Marc Olzheim.
168 Fri Apr 16 16:32:27 NDT 1999 Michael Rendell (michael@lyman.cs.mun.ca)
170         * syn.c(lineno_offset): removed variable and all references.
171         * tree.c(tcopy): copy lineno field.
172         * var.c(user_lineno): new variable.
173         * var.c(setspec): added case for V_LINENO (sets user_lineno).
174         * var.c(getspec): V_LINENO: add in user_lineno.
176 Fri Apr 16 15:26:26 NDT 1999 Michael Rendell (michael@lyman.cs.mun.ca)
178         * tree.h(struct op): added lineno field.
179         * table.h(V_LINENO, current_lineno): new define/variable.
180         * exec.c(execute): set current_lineno for TCOM.
181         * syn.c(lineno_offset): new variable.
182         * syn.c(get_command): set t->lineno.
183         * syn.c(function_body): save/restore lineno_offset;
184         * syn.c(compile): initialize lineno_offset
185         * var.c(initvar,getspec): added V_LINENO entry.
187         Changes from Mark Funkenhauser.
189 Fri Apr 16 12:18:08 NDT 1999 Michael Rendell (michael@lyman.cs.mun.ca)
191         * expr.c,misc.c(getoptions): added int casts to avoid errors from
192           old K&R compilers.
193         Fixes from Marc Olzheim.
195 Fri Jan 15 12:51:53 NST 1999 Michael Rendell (michael@panda.cs.mun.ca)
197         * expr.c: pass es as first param to all functions; deleted
198           es global variable.
200 Tue Jan 12 12:28:41 NST 1999 Michael Rendell (michael@panda.cs.mun.ca)
202         * emacs.c(x_defbindings[]): removed #else part of ifdef OS2.
204         * shf.c(shf_getse): added code to strip \r for OS2.
205         * lex.c(getsc_line): removed OS2 ifdefs
207         * os2/misc.c(ksh_execve),sh.h: added flags argument; changed all calls.
208         * exec.c(scriptexec): OS2: make copy of a0 before calling
209           search_access(X_OK).
210         * sh.h: OS2: changed EXECSHELL, EXECSHELL_STR.
211         * jobs.c(exchild): set XINTACT.
212         * os2/config.h: added HAVE_TERMIOS_H.
213         * os2/configure.cmd: changed test for existance of sed & gcc.
215         Fixes from Ilya Zakharevich.
217         * tests/th: added -C option, added "category" field.
218         * tests/th(category_check): new function.
219         * tests/*.t: added "category: !os:os2" to a few tests.
221 Tue Jan 12 11:17:52 NST 1999 Michael Rendell (michael@panda.cs.mun.ca)
223         * exec.c(execute): changed exit(rv) to unwind(LEXIT) to
224           allow exit traps to be done.
226 Tue Jan  5 16:45:00 NST 1999 Michael Rendell (michael@panda.cs.mun.ca)
228         * aclocal.m4(KSH_CHECK_H_TYPE): remove extra [] from egrep pattern.
229         * c_sh.c(c_exitreturn): fixed logic of exit status parsing
230           (fixes from Martin Lucina).
232 Tue Jan  5 16:31:37 NST 1999 Michael Rendell (michael@panda.cs.mun.ca)
234         * edit.c(x_locate_word): changed IS_WORDC macro from !isspace
235           to !lex1/'/"
236           (based on fix from Kevin Schoedel).
238 Wed Dec 16 15:02:48 NST 1998 Michael Rendell (michael@panda.cs.mun.ca)
240         * io.c(kshdebug_init_,kshdebug_printf_,kshdebug_dump_),
241           sh.h(kshdebug_init,kshdebug_printf,kshdebug_dump):
242           new macros/functions.
244 Wed Dec 16 12:12:23 NST 1998 Michael Rendell (michael@panda.cs.mun.ca)
246         * c_sh.c(c_eval): set exstat to substs_exstat to propogate
247           substition exit status if resulting command is empty
248           (based on fix from Mark Funkenhauser).
250 Tue Dec 15 15:50:34 NST 1998 Michael Rendell (michael@panda.cs.mun.ca)
252         * main.c(initcom[]): PPID no longer read only.
254 Mon Dec 14 17:09:52 NST 1998 Michael Rendell (michael@panda.cs.mun.ca)
256         * trap.c(gettrap): added igncase argument; changed all calls.
257         * c_sh.c(c_trap): use case sensitive compare for first gettrap().
258           (fix "trap exit 1").
260 Thu Dec 10 12:24:53 NST 1998 Michael Rendell (michael@panda.cs.mun.ca)
262         * configure.in: added test for getcwd.
263         * aclocal.m4(KSH_OS_TYPE): added case for hpux; added test for
264           bug in hpux getcwd (dumps core if . is not readable).
265         * config.h.in: added HAVE_HPUX_GETWD_BUG define.
266         * aclocal.m4,configure.in: remove AC_C_CROSS or change to AC_PROG_CC.
267         * misc.c(ksh_get_wd): added code to handle bug in hpux getwd;
268           changed precedence of getcwd vs getwd (use getcwd if available:
269           getwd causes warnings under linux).
271 Tue Dec  8 17:17:47 NST 1998 Michael Rendell (michael@panda.cs.mun.ca)
273         * main.c(main): seed RANDOM using time, pid, ppid (was just time).
275 Tue Nov 24 17:17:12 NST 1998 Michael Rendell (michael@panda.cs.mun.ca)
277         * c_ulimit.c(c_ulimit): improve setrlimit error message for EPERM
278           (fix from Todd C. Miller).
280 Thu Nov 19 18:09:59 NST 1998 Michael Rendell (michael@panda.cs.mun.ca)
282         * jobs.c(waitfor): if j_lookup fails, always return
283           (fix from Todd C. Miller).
285 Fri Oct 23 19:59:25 NDT 1998 Michael Rendell (michael@lenny.cs.mun.ca)
287         * jobs.c(JF_SAVEDTTYPGRP,j_resume,j_waitj): added save_ttypgrp
288           stuff to deal with new gnu su which doesn't exec, but forks
289           then execs.
291 Thu Sep 24 16:23:48 NDT 1998 Michael Rendell (michael@panda.cs.mun.ca)
293         * trap.c(inittrap): Don't assume sys_siglist[] has NSIG non-null
294           entries (fix from clifford@clifford.at).
296 Thu Aug  6 14:46:45 NDT 1998 Michael Rendell (michael@panda.cs.mun.ca)
298         * eval.c(varsub): ${#array[*]} now prints N elements, not
299           max index.
301 Sun Jul 19 11:50:21 NDT 1998 Michael Rendell (michael@panda.cs.mun.ca)
303         * syn.c(function_body): fixed bug in handling of empty function
304           body; if empty, pretend there is a : command.
306 Mon Jun 29 10:13:02 NDT 1998 Michael Rendell (michael@panda.cs.mun.ca)
308         * exec.c(search_access): allow non-regular files to be .'ed
309           (fix from Theo de Raadt).
311 Thu Jun 25 17:01:36 NDT 1998 Michael Rendell (michael@panda.cs.mun.ca)
313         * c_ulimit.c(c_ulimit): added KSH_RLIM_INFINITY and defined
314           if system doesn't define RLIM_INFINITY; use when setting limits.
315           When setting, if expression evaluates to 0 and string was not
316           a number, generate an error (based on fix from Todd C. Miller).
318 Wed Mar 11 16:35:37 NST 1998 Michael Rendell (michael@panda.cs.mun.ca)
320         * exec.c(flushcom): clear ISSET bit, don't set all the other bits
321           (fix from Eric Youngdale).
323 Tue Dec 16 11:07:21 NST 1997 Michael Rendell (michael@panda.cs.mun.ca)
325         * shf.c(shf_vfprintf): %e/%f/%g conversion now prints negative
326           numbers correctly (fix from Larry Bouzane).
328 Thu Nov 20 15:16:15 NST 1997 Michael Rendell (michael@panda.cs.mun.ca)
330         * emacs.c(x_prev_histword): check if histptr is 0.
332 Sat Nov  8 11:46:32 NST 1997 Michael Rendell (michael@panda.cs.mun.ca)
334         * misc.c(options[]): changed null entries to (char *) 0
335           (based on fix from David E. Wexelblat).
337 Fri Nov  7 14:45:24 NST 1997 Michael Rendell (michael@panda.cs.mun.ca)
339         * alloc.c(aresize): avoid memory overrun when copying old memory
340           to new memory.
341           (fix from David E. Wexelblat).
343 Tue Oct 28 11:26:22 NST 1997 Michael Rendell (michael@panda.cs.mun.ca)
345         * tests/th: file-setup code: convert chmod argument to octal.
347 Tue Oct 28 11:00:45 NST 1997 Michael Rendell (michael@panda.cs.mun.ca)
349         * tree.c(tputS): incr wp after COMSUB and EXPRSUB while loop
350           to get past null.
352 Mon Oct 27 12:38:05 NST 1997 Michael Rendell (michael@panda.cs.mun.ca)
354         * made pdksh-5.2.13 distribution
356 Mon Oct 27 12:21:51 NST 1997 Michael Rendell (michael@panda.cs.mun.ca)
358         * c_sh.c(c_dot): use search() error argument to report problem
359           correctly.
360         * exec.c(search_access): don't set *errnop if it is already set.
361         * exec.c(search_access): extended non-regular file check from
362           just X_OK to both X_OK and R_OK.
364 Wed Oct 22 11:49:02 NDT 1997 Michael Rendell (michael@panda.cs.mun.ca)
366         * edit.c(x_locate_word): don't skip trailing space if at end
367           of buffer (based on fix from Marc Olzheim).
369 Fri Aug 15 22:06:53 NDT 1997 Michael Rendell (michael@panda.cs.mun.ca)
371         * eval.c(varsub,expand), lex.c(yylex): allow :%, :#, :%% and :##
372           to be compatable with ksh88.
374 Sat Aug  2 12:13:30 NDT 1997 Michael Rendell (michael@panda.cs.mun.ca)
376         * syn.c(get_command): case MDPAREN/DBRACKET: do not
377           clear KEYWORD|ALIAS from syniocf.
379 Tue Jul 29 16:24:38 NDT 1997 Michael Rendell (michael@panda.cs.mun.ca)
381         * c_sh.c(c_exec): added ifdef KSH around fd_clexec()
382           (based on fix from George Robins).
384 Tue Jun  3 12:52:05 NDT 1997 Michael Rendell (michael@panda.cs.mun.ca)
386         * misc.c(do_gmatch): removed ifdef KSH about @(..|..) code as it
387           is needed in SH mode for ${..%..} stuff.
389 Mon May 19 16:10:06 NDT 1997 Michael Rendell (michael@panda.cs.mun.ca)
391         * table.h(struct block): added getopt_state and flags fields;
392           added BF_DOGETOPTS.
393         * sh.h,c_ksh.c: moved user_opt decl/defn from c_ksh.c to sh.h.
394         * var.c(getspec): added case for V_OPTIND.
395         * var.c(popblock): if BF_DOGETOPTS set, restore user_opt.
396         * exec.c(comexec): case CFUNC: save user_opt for ksh-style functions.
397         * c_ksh.c(getopts_reset,c_getopts): removed getopts_noreset variable
398           and code.
399         * sh.h(Getopts): added uoptind field.
401 Fri May 16 11:40:22 NDT 1997 Michael Rendell (michael@panda.cs.mun.ca)
403         * io.c(error_prefix): don't print kshname if it is the
404           same as the source file name.
406 Thu Mar 13 10:42:31 NST 1997 Michael Rendell (michael@panda.cs.mun.ca)
408         * mail.c(mbset): save a copy of the path so it can't get trashed
409           (eg, by exporting a varibale).
411 Wed Feb 26 11:24:06 NST 1997 Michael Rendell (michael@panda.cs.mun.ca)
413         * emacs.c(x_prev_histword): get word from last command entered,
414           not from last command relative to current location in history
415           (fix from Greg A. Woods).
417 Sun Feb 16 13:18:52 NST 1997 Michael Rendell (michael@panda.cs.mun.ca)
419         * sh.h(FTALKING_I): new define
420         * misc.c(options[]): added anonymous options for internal use:
421           changed all code using options to not assume null option name
422           is the end of options (use NELEM()) instead.
423           Added slot for FTALKING_I
425         * c_sh.c(c_read), exec.c(iosetup): test FTALKING_I instead of FTALKING.
426         * main.c(main): set FTALKING_I.
428 Fri Jan 10 16:36:36 NST 1997 Michael Rendell (michael@panda.cs.mun.ca)
430         * jobs.c(exchild): use orig_flags instead of flags when testing
431           XPIPEI/XPIPEO; clear all flags except XEXEC and XERROK.
433 Tue Jan  7 11:16:08 NST 1997 Michael Rendell (michael@panda.cs.mun.ca)
435         * lex.h(yynerrs): deleted (not used); deleted all assignments of it.
437 Fri Jan  3 13:40:29 NST 1997 Michael Rendell (michael@panda.cs.mun.ca)
439         * lex.c(yylex): case STBRACE: interpret ( | ) as patterns;
440           case SPATTERN: allow ( as an alias for @(.
442 Thu Jan  2 15:44:07 NST 1997 Michael Rendell (michael@panda.cs.mun.ca)
444         * main.c(main): set PATH to def_path in startup.
446 Thu Jan  2 10:19:43 NST 1997 Michael Rendell (michael@panda.cs.mun.ca)
448         * exec.c(comexec): ifdef KSH the setting of $_; only set $_ to
449           last arg if interactive.
451 Wed Jan  1 13:38:26 NST 1997 Michael Rendell (michael@panda.cs.mun.ca)
453         * lex.c(yylex),eval.c(expand),tree.c(tputS,wdscan,wdstrip):
454           changed OSUBST/CSUBST encoding to have { or x after xSUBST.
456         * lex.c(yylex): case ${: don't prepend @( and append ) to trim patterns.
457         * eval.c(expand): prepend MAGIC @ and append MAGIC ) to trim patterns.
459         * syn.c(function_body): call wdstrip().
460         * tree.c(wdstrip): new function.
462         * lex.c(yylex): moved handling of < and > into one location.
464 Wed Dec 11 13:00:05 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
466         * sh.h(ksheuid): new variable.
467         * main.c(main): set/use ksheuid.
468         * misc.c(change_flag): set ksheuid.
469         * c_test.c(test_eval): use ksheuid
470         * c_test.c(test_eaccess): if doing X_OK and user is root, use
471           stat to avoid false positives on files.
473 Mon Dec  9 12:08:56 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
475         * main.c(main): save/clear/restore FERREXIT flag while processing
476           profile and ENV.
478 Wed Dec  4 12:25:23 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
480         * misc.c(parse_args): change -A option handling - make getopts
481           gather the option (A: vs A).
483 Thu Nov 21 15:42:57 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
485         * c_ksh.c(c_alias): accept + options; don't print alias definition
486           if + option used; allow export flag to be cleared; added -p
487           option.
489 Thu Nov 21 14:35:47 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
491         * tree.c(ptree),c_ksh.c(c_typeset): print ksh functions as
492           "function foo...", sh functions as "foo()...".
494         * c_ksh.c(c_typeset): accept -p flag (does nothing).
496 Wed Nov 20 11:36:08 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
498         * c_ksh.c(c_typeset): simplified option exclusion code.
500         * misc.c(ksh_getopt): allow options in same command line to start
501           with either + or - (if appropriate).  [code existed to similate
502           ksh88 typeset behaviour which disallowed "typeset +x -i foo"]
504 Wed Nov 13 12:02:59 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
506         * syn.c(c_list): added multi argument; changed all calls to pass
507           TRUE, except one in yyparse(); changed logic to accept and
508           ignore blank lines if multi flag is set.
509         * syn.c(get_command): removed multiline.on/cf=CONTIN test/assignment.
510         * syn.c(struct multiline_state,struct nesting_state,multiline,nesting,
511           multiline_push,multiline_pop,nesting_push,nesting_pop): renamed
512           *multiline* to *nesting*; removed struct multiline_state.on field
513           (deleted all references).
515 Mon Nov  4 16:29:50 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
517         * c_test.c(c_test): in special < 5 arg code: if single arg is
518           -t and not in FPOSIX mode, don't decide its a string test.
520 Wed Oct 30 11:34:39 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
522         * main.c(include): call quitenv() after shf_close()
523           (fix from Eric J. Chet).
525 Wed Oct 30 11:23:17 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
527         * exec.c(comexec): case CFUNC: set $0 to kshname if non-function
528           function.
530 Tue Oct 29 11:34:58 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
532         * made pdksh-5.2.12 distribution
534 Fri Oct 25 11:59:48 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
536         * vi.c(vi_cmd): case Cntl('i'): dont fall through, call complete_word().
538 Tue Oct 22 17:38:21 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
540         * table.h(USERATTRIB): new define.
541         * c_ksh.c(c_typeset): report unset params only if it has some
542           interesting attributes.
544 Tue Oct 22 15:54:39 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
546         * jobs.c(exchild): changed NEED_PGRP_SYNC code so j_sync_pipe[1] isn't
547           left open in 2nd+ children.
549 Tue Oct 22 12:59:49 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
551         * main.c(main): memset() env to 0.
553 Mon Oct 21 12:53:44 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
555         * main.c(cleanup_proc_env): new function.
556         * exec.c(execute): call cleanup_proc_env() before calling ksh_execve().
558 Fri Oct 11 22:53:57 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
560         * vi.c(display): use ch not e->buf[cur] when printing character.
562 Fri Oct 11 13:26:11 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
564         * aclocal.m4(KSH_TIMES_CHECK,KSH_DUP2_CLEXEC_CHECK,KSH_OPENDIR_CHECK):
565           changed sense of test so "yes" result is printed if you have a good
566           system.
567         * aclocal.m4(KSH_C_FUNC_ATTR): changed return type of test_cnst to int.
569 Fri Oct 11 13:05:40 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
571         * syn.c(get_command): added inalias() call when setting cf = CONTIN.
573 Thu Oct 10 16:22:03 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
575         * lex.c(getsc__): case SALIAS: if we read eof, break, don't continue.
577 Tue Oct  8 13:14:00 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
579         * aclocal.m4(KSH_TERM): added SYS_IOCTL_WITH_TERMIOS,
580           SYS_IOCTL_WITH_TERMIO tests.
581         * tty.h: include <sys/ioctl.h> with <termios.h>/<termio.h>
582           if possible.
584 Tue Oct  8 11:42:36 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
586         * made pdksh-5.2.11 distribution
588 Tue Oct  8 11:02:54 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
590         * syn.c(inalias): new function.
591         * syn.c(c_list): call inalias() instead of testing source->type.
593 Mon Oct  7 17:00:40 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
595         * made pdksh-5.2.10 distribution
597 Mon Oct  7 16:23:53 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
599         * c_sh.c(c_read): when printing prompt, use isatty, not FTALKING.
601 Wed Oct  2 12:00:51 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
603         * lex.c(yylex): redirection stuff: save result of getsc() == '-'
604           and use it for ungetsc().
606         * lex.h(struct source): moved ugbuf out of union so it can be used
607           with alias stuff.
608         * lex.c(getsc__) case SALIAS: instead of appending a space, get the
609           next character and stuff it in ugbuf.
611         * lex.c(getsc_,getsc__): getsc_() renamed to getsc__().
612         * lex.c(getsc_,getsc): getsc() macro renamed to getsc_().
613         * lex.c(backslash_skip,ignore_backslash_newline): new variables.
614         * lex.c(getsc): new macro that checks backslash_skip.
615         * lex.c(getsc_bn_,getsc_bn): getsc_bn() macro deleted (all calls
616           replaced with getsc()); getsc_bn_ renamed to getsc_bn.
617         * lex.c(ungetsc_,ungetsc): ungetsc() macro deleted; renamed ungetsc_()
618           to ungetsc().
619         * lex.c(yylex,ungetsc,getsc_bn): set and use backslash_skip,
620           ignore_backslash_newline.
621         * lex.c(yylex): removed special cases for backslash-newline sequence,
622           explicitly ignore backslash followed by eof.
624 Mon Sep 30 17:14:41 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
626         * made pdksh-5.2.9 distribution
628 Mon Sep 30 12:52:21 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
630         * lex.c(pprompt): fixed usage of ntruncate.
632 Thu Sep 19 17:43:33 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
634         * sh.h(KSH_SYSTEM_PROFILE): new define.
635         * main.c(main): use KSH_SYSTEM_PROFILE.
637         * aclocal.m4(KSH_OS_TYPE): added case for NEXT.
639 Thu Sep 19 15:39:54 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
641         * tty.c(tty_init): added hack for NeXT's rlogin's missing controlling
642           tty.
644 Mon Sep 16 11:18:10 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
646         * edit.c(add_glob): don't append a * to a ~username.
647          
648         * edit.c(x_init): set got_sigwinch before calling check_sigwinch().
650 Wed Sep 11 14:38:38 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
652         * c_ksh.c(c_let): ifdef'd KSH.
653         * lex.h(SDPAREN),lex.c: ifdef'd KSH all uses of SDPAREN.
654         * lex.h(MDPAREN),syn.c: ifdef'd KSH all uses of MDPAREN.
656 Mon Sep  9 16:18:03 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
658         * aclocal.m4(AC_PROG_CC): replaced autoconf's version with
659           modified version.
661         * configure.in(clock_t): check in sys/time.h as well.
662         * ksh_times.h: include ksh_time.h.
663         * ksh_time.h,ksh_times.h: added ifndef KSH_TIME_H/KSH_TIMES_H.
665 Fri Sep  6 13:20:24 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
667         * edit.c(promptlen): X\r hack for delimiting hidden characters
668           in prompt.
669           (Based on fix from Bill Kish)
671 Tue Sep  3 11:03:26 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
673         * Makefile.in: removed options.h from HDRS (also removed file).
675 Thu Aug 29 10:04:01 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
677         * aclocal.m4(KSH_MEMMOVE): added return 0 to end of main().
679 Fri Aug 23 14:23:50 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
681         * aclocal.m4,ksh_stat.h: changed S_IFFIFO to S_IFIFO.
683 Fri Aug 23 09:58:09 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
685         * var.c(skip_wdvarname): don't check for array if first char
686           isn't [.
688 Thu Aug 22 12:51:25 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
690         * jobs.c: added ifdef KSH around Coproc_id/j->coproc_id usagae.
691         * c_ksh.c(c_read): added ifdef KSH around opipe.
693 Tue Aug 20 09:41:32 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
695         * configure.in: fixed quoting of sed LDSTATIC expression.
697 Mon Aug 19 14:26:08 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
699         * made pdksh-5.2.8 distribution
701 Mon Aug 19 11:38:16 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
703         * table.c(texpand): don't free entry if FINUSE is set.
705         * var.c(unset): preserve ARRAY and DEFINED if unsetting foo[0].
707 Thu Aug 15 15:08:52 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
709         * jobs.c(sm_sigchld,sm_default): moved to sh.h.
710         * sh.h(Coproc_id, struct coproc): new typedef; added njobs and 
711           id fields to struct coproc.
712         * exec.c(execute): case TCOPROC: re-did coprocess stuff to use
713           njobs/coprocess id.
714         * jobs.c(struct Job): added coproc_id field.
715         * jobs.c(exchild): initialize coproc_id to 0; set job coproc_id
716           and increment coproc.njobs in parent.
717         * jobs.c(checkjob): check coproc_id and close co-process input/output
718           if needed.
720         * exec.c(iosetup): only play with coprocess fds if this is an
721           empty exec.
722         * c_sh.c(c_read): commented out coproc_readw_close() call and eof call.
723         * c_ksh.c(c_print): commented out closing coprocess fd on EPIPE.
725         * jobs.c(exchild): in parent, last part of job: use orig_flags (not
726           flags) when checking XCOPROC.
728 Thu Aug 15 15:00:42 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
730         * io.c(get_coproc_fd,cleanup_coproc): renamed to coproc_getfd() and
731           coproc_cleanup(), respecitively; changed all calls.
733 Tue Aug 13 16:56:59 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
735         * expr.c(O_COMMA,P_COMMA): new enums.
736         * expr.c(evalexpr): added case for O_COMMA.
738 Tue Aug 13 15:18:28 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
740         * expr.c(do_ppmm): new function to handle ++/--.
741         * expr.c(evalexpr): call do_ppmm() in P_PRIMARY code.
742         * expr.c(LAST_BINOP): deleted.
743         * expr.c(IS_BINOP): new define.
744         * expr.c(evalexpr): use IS_BINOP.
745         * expr.c(O_PLUSPLUS,O_MINUSMUNS,opinfo[]): new enums; updated opinfo
746         * expr.c(ET_LVALUE,ET_RDONLY): new enums.
748         * expr.c(token): var code: don't increment cp in iter part of for loop,
749           do it in body; don't correct for off by 1 in array or !noasign code.
750         * table.h(EXPRLVALUE): new define.
751         * expr.c(token): var code: set EXPRLVALUE flag if noassign.
752         * expr.c(intvar): copy temp var if EXPRLVALUE set.
753         * expr.c(assign_check): new function.
754         * expr.c(evalexpr): if assign-op, call assign_check().
756 Tue Aug 13 11:02:32 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
758         * vi.c(do_comment),edit.c(x_do_comment): made do_comment generic,
759           renamed and moved to edit.c; changed all calls.
760         * emacs.c(x_ftab[]): added x_comment.
761         * emacs.c(x_defbindings[]): added XFUNC_comment as <esc>#.
762         * emacs.c(x_comment): new function.
764 Mon Aug 12 16:13:36 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
766         * expr.c(ET_BADVAR): deleted.
767         * expr.c(ET_RECURSIVE, struct expr.evaling),table.h(EXPRNEVAL): added.
768         * expr.c(v_evaluate): if curstate.evaling set, clear EXPRINEVAL.
769         * expr.c(evalerr): added ET_RECURSIVE case, removed ET_BADVAR case.
770         * expr.c(intvar): do recursion check, call v_evaluate() on value.
772 Mon Aug 12 14:25:23 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
774         * io.c(coproc_read_close): call coproc_readw_close() instead of
775           duplicating code.
777 Mon Aug 12 11:21:39 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
779         * edit.c(x_locate_word): changed to allow at most 1 leading blank
780           before the word.
781         * edit.c(x_file_glob,x_command_glob,add_glob): allow zero length word.
782         * edit.c(x_cf_glob): allow zero length globs on when doing file
783           completion.
785         * edit.c(x_complete_word): #if 0 - it isn't used...
786         * edit.c(x_file_glob,x_command_glob,x_locate_word): made static.
788         * eval.c(varsub): changed FNOUNSET error from "unset variable"
789           to "parameter no set", ala at&t ksh.
791         * c_ksh.c(c_typeset): print variables that aren't set (just
792           leave out the =...).
794 Mon Aug 12 11:03:22 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
796         * exec.c(findfunc): removed redundent DEFINED check after tsearch().
798 Fri Aug  9 22:16:21 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
800         * jobs.c(j_change): when turning off FMONITOR and not FTALKING,
801           changed SS_RESTORE_CURR to SS_RESTORE_ORIG.
803         * edit.c(x_sigwinch): new function.
804         * edit.c(x_init): set up signal handler for SIGWINCH; moved
805           code to get window size into x_sigwinch(); call x_sigwinch().
806         * emacs.c(xx_cols): new variable.
807         * emacs.c(x_init): set xx_cols_to x_cols; change all uses of x_cols
808           to xx_cols.
809         * vi.c(display): when displaying morec, changed x_cols-2 to
810           pwidth+winwidth+1.
812 Fri Aug  9 12:49:00 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
814         * table.h(FKSH): new define.
815         * tree.h(struct op): put evalflags into new union u, added ksh_func
816           to union; changed all uses of evalflags.
817         * syn.c(function_body): set u.ksh_func.
818         * exec.c(execute): changed define() arg to t (was t->left).
819         * exec.c(define): copy t->left (was t); set FKSH in flag if is
820           a ksh function.
821         * exec.c(comexec): don't keep assignments for x() style functions.
822         * exec.c(comexec: case CFUNC: set kshname ($0) for ksh style functions
823           only (was FPOSIX).
825         * exec.c(execute): case TAND/TOR: pass XERROK on when executing right
826           hand side.
828         * jobs.c(exchild): deleted redundant code to set j->flags
829           (near new_job() call).
831         * sh.h(ksh_tmout),main.c(alarm_init),trap.c(alarm_init,alarm_catcher):
832           ifdef'd KSH.
834         * sh.h(SS_SHTRAP,Trap.shtrap): added.
835         * trap.c(trapsig): if shtrap is non-zero, call it.
836         * trap.c(setsig): set shtrap if SS_SHTRAP set.
837         * jobs.c(j_init),trap.c(alarm_init): pass SS_SHTRAP.
838         * jobs.c(j_sigchld),trap.c(alarm_catcher): don't call trapsig().
839         * trap.c(Sigact_alarm): removed.
841 Thu Aug  8 15:57:14 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
843         * exec.c(comexec): case CEXEC: print cannot execute error only
844           if / in pathname; also, set exit code to 126.
846         * exec.c(do_selectargs): added print_menu arg; only print
847           menu if this is set, or if REPLY is null; removed "while isspace"
848           loop.
849         * exec.c(execute): case TSELECT: call do_selectargs with print_menu
850           of TRUE on first call only.
852         * exec.c(define): added was_set variable and logic.
853         * c_sh.c(c_unset): return 1 if variable/function to be unset wasn't
854           set to begin with.
856 Wed Jul 31 10:33:00 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
858         * sh.h(Tflag): new type.
859         * sh.h(builtin_flag): changed type to Tflag.
860         * table.h(struct tbl): changed type of flag field to Tflag.
861         * c_ksh.c(typeset): changed type of flag, fset, fclr to Tflag.
862         * c_ksh.c(c_alias): changed type of xflag to Tflag.
863         * exec.c(comexec): changed type of old_inuse to Tflag.
864         * exec.c(builtin): changed type of flag to Tflag.
865         * var.c(typeset): changed set, clr args to Tflag; convert second
866           arg of call to local() to boolean.
868 Wed Jul 31 10:26:25 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
870         * sh.h(C_QUOTE): new define.
871         * sh.h(ctypes[]),misc.c(ctypes[]): changed from char to short.
872         * misc.c(initctypes): set C_QUOTE bits in ctypes[].
873         * misc.c(print_value_quoted): use C_QUOTE.
875 Mon Jul 29 11:38:36 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
877         * lex.c(set_prompt): don't print warning message if setjmp returns
878           non-zero.
880 Fri Jul 26 10:16:27 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
882         * lex.c(set_prompt): don't do ! and parameter expansion if !KSH.
884         * table.h(V_MAIL,V_MAILPATH,V_MAILCHECK): ifdef KSH.
885         * var.c(initvar,setspec,unsetspec): ifdef KSH use of MAIL stuff.
886         * mail.c: ifdef KSH whole file.
887         * main.c(shell): ifdef KSH call to mcheck().
888         * main.c(initcoms[]): ifdef KSH the MAILCHECK=600.
889           (based on patches from Marc Olzheim).
891         * exec.c(PS4_SUBSTITUTE): new macro.
892         * exec.c(execute, comexec, iosetup): use PS4_SUBSTITUTE.
894 Thu Jul 25 17:19:17 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
896         * sh.h(F_VIESCCOMPLETE): new define.
897         * misc.c(options[]): added vi-esccomplete.
898         * vi.c(classify[]): make ^[ a repeatable command.
899         * vi.c(vi_cmd): check F_VIESCCOMPLETE for ^[.
901 Mon Jul 22 16:54:38 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
903         * c_ksh.c(c_getopts): return if variable is readonly; don't change
904           OPTIND if option is bad (fragile).
905         * c_sh.c(c_brkcont): use ksh_getopt(); changed error message if
906           n <= 0.
907         * c_sh.c(c_dot,c_eval,c_exitreturn): use ksh_getopt().
908         * misc.c(ksh_getopt): print `unknown option' instead of `bad option'.
910 Mon Jul 22 16:08:40 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
912         * edit.c(x_init): do NOT export COLUMNS/LINES - causes more problems
913           than it fixes.
915 Mon Jul 22 15:49:35 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
917         * syn.c(get_command): fixed test for '< foo (command)' so it
918           works.
920 Fri Jun 21 09:57:47 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
922         * aclocal.m4(KSH_OPENDIR_CHECK): include dirent.h if HAVE_DIRENT_H
923           defined (was DIRENT || _POSIX_VERSION).
924         * aclocal.m4(KSH_UNISTD_H): don't test HAVE_DIRENT_H when including
925           dirent.h.
927 Wed Jun 12 11:02:32 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
929         * c_test.c(b_ops[]): added "==" entry (ksh93ism).
931 Mon Jun 10 14:00:21  1996 Michael Rendell (michael@lyman.cs.mun.ca)
933         * ksh_stat.h: undef S_ISSOCK if STAT_MACROS_BROKEN defined.
934         * aclocal.m4(AC_HEADER_STAT): redefine autoconf's version to handle
935           FreeBSD's S_ISSOCK.
937 Tue Jun  4 08:41:19 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
939         * made pdksh-5.2.7 distribution
941         * vi.c(CMDLEN): changed from 16 back to 1024.
943 Sun Jun  2 11:54:46 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
945         * made pdksh-5.2.6 distribution
947 Sun Jun  2 11:46:56 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
949         * exec.c(search_access): changed ordering of xsuffixes[], rsuffixes[];
950           removed code that used xsuffixes[] when suffix is present.
951         * lex.c(getsc_line): set O_TEXT/O_BINARY if os/2.
952         * main.c(remove_temps): added os2 ifdefs.
953           [Changes from Dale DePriest.]
955 Tue May 21 14:18:22 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
957         * vi.c(vi_cmd): case '#': call do_comment() to do work.
958         * vi.c(do_comment): new function.
959         * vi.c(putbuf,grabhist,grabsearch): fixed pesimestic off-by-1 error
960           (cbufsize - 1 -> cbufsize).
961         * vi.c(vi_hook): case VCMD: case -1: added refresh(0).
962         * vi.c(vi_cmd): case 'P': don't move cursor back if nothing added.
964 Tue May 21 12:03:34 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
966         * emacs.c(do_complete): don't add space if single match and
967           it doesn't end with a /.
969 Tue May 21 11:51:36 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
971         * edit.c(x_init): use typeset to set EXPORT attribute for
972           COLUMNS/LINES.
974 Tue May 21 11:40:12 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
976         * misc.c(parseargs): option setting: ignore context if option
977           isn't being changed.
978         * misc.c(printoptions): for non-verbose mode: print a set command
979           (eg, set -o vi -o ...) instead of just the option names.
981 Tue May 21 11:14:27 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
983         * c_sh.c(c_brkcont): if n is too big, use last enclosing loop.
985 Fri May 10 09:27:47 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
987         * sh.h(Getopt): changed field p from int to unsigned.
989 Tue May  7 12:10:47 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
991         * made pdksh-5.2.5 distribution
993 Tue May  7 11:45:37 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
995         * syn.c(compile): set multiline if source is SSTRING.
996         * syn.c(yyparse): don't peek before calling c_list() - build
997           TEOF if c_list() fails and c is 0.
998         * syn.c(c_list): remove SSTRING test.
999         * syn.c(get_command): if EOF is reached, free iops,args,vars.
1000         * syn.c(syntaxerr): set multiline.on to false when it is used;
1001           don't use multiline.on if start token is 0.
1003 Tue May  7 10:11:41 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
1005         * history.c(c_fc,hist_execute): moved calls to histbackup() from
1006           c_fc() to hist_execute().
1007         * history.c(hist_get): number: took out +1 correction as histbackup
1008           hasn't been done yet; string: added -1 correction to ensure
1009           current fc command isn't searched.
1010         * history.c(hist_get_newest,hist_get_oldest): don't find the
1011           current (fc) command; removed print_err argument (was always
1012           true).
1013         * history.c(hist_get,hist_get_newest): added allow_cur argument;
1014           changed all calls.
1016 Mon May  6 09:55:29 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
1018         * emacs.c(x_nextcmdp): renamed to x_nextcmd, changed from
1019           char ** to int.
1020         * emacs.c(x_nl_next_com): save absolute command number, not
1021           relative position in history array (which changes).
1022         * emacs.c(x_emacs): convert x_nextcmd back to relative position.
1023         * emacs.c(x_init_emacs): initialize x_nextcmd to -1.
1025 Sun May  5 13:10:48 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
1027         * expr.c(evalexpr): when assigning a non-integer, call setint()
1028          (not setstr(..., strval(...))).
1030 Sun May  5 12:16:11 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
1032         * mail.c(maddmsg): changed name to mprintit(); now prints message
1033           directly instead of saving in a linked list; changed all calls.
1034         * mail.c(mprint): deleted; deleted all calls.
1035         * mail.c(mmsgs,struct mailmsg): deleted.
1037 Sun May  5 11:52:05 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
1039         * lex.h(SF_TTY): new flag.
1040         * lex.h(STTY): deleted.
1041         * main.c(main): if tty, use SSTDIN, set SF_TTY.
1042         * main.c(shell): check SF_TTY instead of STTY.
1043         * lex.c(getsc_): call getsc_line for SSTDIN/SFILE.
1044         * lex.c(getsc_line): new function (merged old STTY/SSTDIN/SFILE code).
1046 Fri May  3 11:24:17 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
1048         * main.c(shell): changed exit_atend to toplevel.  Changed interactive
1049           to be falking&toplevel (was talking&s->type==STTY).
1051 Fri May  3 10:59:22 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
1053         * var.c(getint): only allow one base (ie, disallow 2#4#5).
1055 Thu May  2 21:31:23 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
1057         * var.c(array_index_calc): new function
1058         * var.c(global): call array_index_calc(); moved $2 code into
1059           if (!letter(c))...
1060         * var.c(local): call array_index_calc(); added copy argument & code;
1061           changed all calls.
1062         * table.h(LOCAL_COPY): new define.
1063         * exec.c(comexec): maybe pass LOCAL_COPY to typeset().
1065 Thu May  2 16:34:29 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
1067         * emacs.c: command completion changes.
1068         * emacs.c(Comp_type,CT_LIST,CT_COMPLETE,CT_COMPLIST): new type.
1069         * emacs.c(x_ins): return type changed to int; return -1 if
1070           string can't be inserted.
1071         * emacs.c(x_do_ins): new function.
1072         * emacs.c(add_stash,list_stash,compl_dec,compl_file,compl_command,
1073           str_match): deleted; changed callers to use do_complete().
1074         * emacs.c(do_complete,x_expand): new functions.
1075         * emacs.c(x_ftab[],x_defbindings[]): added entry for file-expand;
1076           bound to <ESC>*.
1078 Thu May  2 15:31:32 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
1080         * lex.c(set_prompt): pass strlen() + 1 to shf_sopen.
1081           (fix from Arnon Kanfi).
1083 Wed Apr 24 11:50:52 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
1085         * history.c(c_fc): -e -: don't increment wp past null; allow
1086           pat=replace arg with "-1" type argument.
1087           (based on fix from Jason Tyler).
1089 Mon Apr 15 11:58:34 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
1091         * table.c(tenter),alloc.c(alloc): changed use of offsetof() so field
1092           parameter is a constant expression.
1093         * sh.h: took out undef of offsetof on CRAYs.
1095 Fri Apr 12 16:01:40 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
1097         * jobs.c(JF_USETTYMODE): renamed JR_ORIGFG to JF_USETTYMODE.
1098         * jobs.c(j_waitj): clear JF_USETTYMODE if fg job is stopped.
1100 Sun Apr  7 12:35:30 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)
1102         * c_ksh(c_print): echo: don't treat a lone minus as an option.
1104 Sat Apr  6 00:09:37 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1106         * c_ulimit.c(c_ulimit.c): always pass 2 args to ulimit().
1107         * ksh_sigsetjmp(): changed all uses to be simple expressions - seems
1108           to be required by the cray C compiler.
1109         * sh.h(offsetof): undef if on a cray.
1110           (based on fixes from Dave Kinchlea)
1112 Sat Mar 23 13:58:12 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1114         * siglist.in: added WAITING,LWP,FREEZE,THAW,CANCEL
1116 Thu Mar  7 23:26:37 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1118         * edit.c(x_init): set LINES if possible.
1120 Thu Mar  7 23:01:55 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1122         * main.c(main): call x_init() after j_init()
1123           (based on fix from Stefan Dalibor).
1125 Thu Mar  7 16:13:10 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1127         * aclocal.m4(KSH_OS_TYPE): check for TitanOS (use cc -43).
1128         * aclocal.m4(KSH_SIGNAL_TYPE): for bsd41 signals, check if signal
1129           interrupt read().
1131 Thu Mar  7 13:59:29 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1133         * sh.h(strstr),missing.c(strstr): changed args to const.
1135 Wed Mar  6 17:21:36 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1137         * io.c(errorf,bi_errorf): changed null pointer string check to
1138           empty string; changed all calls (due to new error gcc warnings).
1140 Wed Mar  6 17:15:58 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1142         * exec.c(search_access): files aren't executable if they don't
1143           have any execute bits.
1144         * ksh_stat.h: added S_IXUSR,S_IXGRP,S_IXOTH.
1145         * exec.c(search_access,search_access1): OS2: changed the meaning
1146           of these two functions (search_access1 now called from search_access).
1148 Wed Mar  6 16:23:23 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1150         * tree.c(ptree): add case for TSELECT.
1152 Wed Mar  6 12:40:34 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1154         * vi.c(Z_,is_zeroarg): new defines.
1155         * vi.c(classify): use Z_ for G, g, _, |, v, ^I, ^F.
1156         * vi.c(vi_cmd): use is_zerocount().
1157         * vi.c(complete_word): if command prefixed by a count, complete
1158           to count'th expansion (as reported by print_expansions()).
1160 Tue Mar  5 14:43:48 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1162         * eval.c(GF_NONE,GF_EXCHECK,GF_GLOBBED,GF_MARKDIR): new defines.
1163         * eval.c(glob_str): added markdirs argument; changed all calls;
1164           made function non-static.
1165         * eval.c(glob): added markdirs argument; changed all calls.
1166         * tree.h(DOMARKDIRS): new define.
1167         * eval.c(expand): set DOMARKDIRS if FMARKDIRS.
1168         * edit.c(x_complete_word,x_print_expansions,x_file_glob,x_command_glob,
1169           x_locate_word,x_cf_glob,x_add_glob,x_longest_prefix,x_free_words):
1170           new functions.
1171         * proto,edit.h: moved functions defined in edit.c to edit.h.
1172         * vi.c(struct edstate): moved to top of file.
1173         * vi.c(print_expansions): added struct edstate argument; changed all
1174           calls.
1175         * vi.c(struct glob,Glob,globstr,glob_word,): deleted
1176         * vi.c(vi_pprompt): new function; changed all calls of pprompt() in
1177           vi.c to use vi_pprompt().
1178         * vi.c(x_vi): moved to top of file.
1179         * vi.c(expand_word,complete_word): free buf if it is not null.
1180         * vi.c(expand_word,complete_word,print_expansions): changed
1181           to use new edit.c functions.
1183 Tue Feb 20 11:02:05 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1185         * table.c(twalk,tnext,struct tstate),table.h(struct tstate): moved
1186           struct tstate from table.c to table.h; changed twalk,tnext to take
1187           struct tstate* argument; changed all calls; deleted static tstate
1188           variable.
1190 Sat Feb 17 12:28:11 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1192         * vi.c(vi_hook): case VSEARCH: if new pattern is empty, repeat last
1193           search.
1195 Sat Feb 10 15:59:28 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1197         * table.h(struct arg_info): new struct.
1198         * table.h(struct block): changed argv, argc fields to argi.
1200 Sat Feb 10 15:12:47 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1202         ANSI C name space requirements:
1204         * vi.c(isbad,iscmd,islong,ismove,issrch,isundoable,iswordch): changed
1205           to is_bad,is_cmd,is_long,is_move,is_srch,is_undoable,is_wordch.
1206         * emacs.c(iscfs,ismfs): changed to is_cfs, is_mfs.
1207         * emacs.c(strmatch): changed to str_match.
1208         * sh.h(strchr_dirsep,strrchr_dirsep): changed to ksh_strchr_dirsep,
1209           ksh_strtchr_dirsep; changed all calls.
1210         * missing.c(strichars[]): changed to ichars[].
1211         * var.c(strint,strval): changed to setint_v, str_val.
1212         * missing.c(strsave,strnsave): changed to str_save,str_nsave.
1214 Fri Feb  9 11:30:15 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1216         * main.c(main): remove envp parameter; declare and use environ.
1218         * c_ksh.c(c_print): octal digit escape sequences must start with \0.
1220 Sat Feb  3 15:35:41 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1222         * vi.c(vi_cmd,classify[]): made ^I a command.
1224 Fri Feb  2 10:40:32 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1226         * lex.h(struct source): added u.freeme field.
1227         * lex.c(getsc_): case SREREAD: free u.freeme iff start isn't u.ugbuf.
1229 Thu Feb  1 15:27:06 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1231         * c_test.h(Test_env): added end union.
1232         * c_test.c(c_test): keep track of end postition using end.wp;
1233           don't write on wp.
1235         * emacs.c(x_mapin): changed to dup string, then munge; return duped;
1236           changed all calls.
1238         * eval.c(homedir): deleted getpwnam() declaration - can't believe
1239           its needed anywhere (we shall see, though).
1241         * sh.h(handler_t): use ARGS for prototype; use h
1242         * sh.h(struct trap),trap.c(setsig,settrap),sigact.c,sigact.h:
1243           use handler_t.
1244         * history.c,c_sh.c,c_ksh.c: removed register declaration from
1245           c_*() functions.
1246         * exec.c(builtin),proto.h(builtin): use prototype for func.
1247         * misc.c(qsortp,qsort1),proto.h(qsortp): use prototype for f.
1249         * c_ksh.c(ksh_getopt): made options arg const.
1250         * tree.c(fptreef,snptreef,vfptreef): made fmt arg const.
1251         * jobs.c(waitfor,j_kill,j_resume,j_lookup,j_jobs): made cp arg const.
1252         * shf.c(shf_snprintf,shf_smprintf,shf_vfprintf): made fmt arg const.
1253         * c_test.h(Test_env.error),c_test.c(ptest_error): made msg arg const.
1254         * c_test.c(test_stat,test_eaccess): made path arg const.
1255         * c_test.c(ptest_getopnd,dbteste_getopnd): made return value const.
1256         * c_test.c(ptest_eval,test_eval,dbteste_eval,dbtestp_eval,test_primary):
1257           made opnd1,opnd2 arg const.
1258         * c_test.c(test_isop): made s arg const.
1260         * misc.c(bi_getn,getn): made as arg const.
1261         * misc.c(getn): made as arg const.
1262         * misc.c(gmatch): made s/p arg const.
1263         * misc.c(has_globbing): made xp/xpe arg const.
1264         * misc.c(do_gmatch): made s/p/se/pe arg const.
1265         * misc.c(cclass): made p arg const.
1267 Thu Feb  1 14:54:32 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1269         * edit.h, sh.h, tty.h: changed _I_ to I__.
1270         * edit.h, edit.c: changed _D_ to D__.
1272         * jobs.c,shf.c,tty.c: include ksh_stat.h (POSIX: needed for open).
1274         * sigact.c: use ARGS instead of __P; comment out __P defines.
1276         * shf.c: include math.h if FP.
1277         * shf.c(my_ceil): remove modf() declaration.
1278         * shf.c(shf_fvprintf): comment out frexp() declaration; changed
1279           exp to expo.
1281         * jobs.c(struct job, j_utime, j_stime): changed utime/stime to
1282           usrtime/systime; change j_utime/j_stime to j_usrtime/j_systime.
1284 Wed Jan 31 16:13:44 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1286         * edit.c(x_getc): cast return value to int to avoid warnings on
1287           strange compilers.
1288         * exec.c(funcfunc): changed second arg to unsigned int (was int).
1289         * syn.c(elsepart): move return NULL to end of function (avoids
1290           warning from some compilers).
1291         * vi.c(classify[]): changed type to unsigned char.
1292         * shf.c(shf_smprintf): delete unused variable n.
1293         * aclocal.m4(KSH_TIMES_CHECK): define INT32 in test code.
1294         * aclocal.m4(KSH_SIGNAL_CHECK): typeo: had bsd42 instead of bsd41.
1295         * sh.h(MAGIC): changed to 7 to increase portability.
1296         * jobs.c(tcsetpgrp,tcgetpgrp): define if TTY_PGRP (was TIOCSPGRP).
1298 Tue Jan 23 11:40:25 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1300         * sh.h(ksh_jmp_buf): new define.
1302 Thu Jan 18 15:03:19 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1304         * history.c(hist_replace): fixed substitution code (again).
1306 Wed Jan 17 20:10:02 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1308         * made pdksh-5.2.4 distribution
1310         * main.c(initcoms): changed hash alias to "hash=alias -t".
1312         * exec.c(do_selectargs): deleted c_read() declaration.
1314         * c_ksh(c_alias): call ksh_getopt_reset() before calling c_unalias().
1316 Wed Jan 17 19:47:55 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1318         * history.c(histbackup): changed "histptr > history"
1319           to "histptr >= history".
1321         * history.c(hist_replace): removed un-needed "last" - use "s" instead.
1322           (based on fix from Jason Tyler).
1324 Thu Jan 11 15:59:46 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1326         * c_ksh.c(c_whence,c_command),main.c(initcoms[]): removed ifdef KSH
1327           (type is a builtin in sys-5 sh).
1329 Wed Jan 10 11:49:59 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1331         * Makefile.in: added NEWS.os2 to OS2FILES.
1333         * version.c: include "sh.h" (needed for const define).
1335         * exec.c(pr_menu): made non-static.
1336         * vi.c(print_expansions): gather expansions into an arrat
1337           and use pr_menu().
1338           (fixes from Mike Jetzer).
1340         * vi.c(redraw_line): added newline option; changed all calls.
1342 Wed Jan 10 10:21:06 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1344         * vi.c(classify): made 'U' a C_.
1345         * vi.c(ohnum): new variable.
1346         * vi.c(vi_reset): set ohnum to hlast.
1347         * vi.c(grabhist): set ohnum.
1348         * vi.c(vi_cmd): case n,N,/,? set ohnum; added case 'U'.
1349         * vi.c(edit_reset): clear holdlen.
1350           (based on fix from Dale DePriest).
1352 Tue Jan  9 11:23:36 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1354         * emacs.c(iscfs): make ', " seperators.
1355           (fix from Dale DePriest).
1357         * conf-end.h: deleted stuff to undef HISTORY, VI, EMACS, etc if
1358           KSH wasn't defined (now done in configure).
1360         * sh.h(GI_NONAME): changed to GF_NONAME; changed all uses.
1362         * configure.in: added AC_ARG_PROGRAM.
1363         * Makefile.in: replaced binprefix and manprefix with
1364           program_transform stuff.
1366 Mon Jan  8 11:42:46 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1368         * sh.h(struct temp): added shf field.
1369         * io.c(maketemp): changed to use O_EXCL; keep trying if open
1370           fails (due to O_EXCL); fill in shf field; changed all calls.
1372         * main.c(include): added intr_ok flag; changed all calls.
1374         * main.c(main): if compiled as sh and posix option not set, do not
1375           include $ENV.
1377         * trap.c: define FROM_TRAP_C before including sh.h.
1378         * sh.h: don't declare sigtraps if FROM_TRAP_C declared.
1380         * c_ksh.c(c_cd): fixed error message.
1381         * vi.c(glob_word): don't add * if word contains a $.
1382           (Based on fixes from Mike Jetzer).
1384         * eval.c(tilde): if HOME,PWD,OLDPWD aren't set, don't expand
1385           ~,~+/~-.
1387 Fri Jan  5 12:15:58 NST 1996 Michael Rendell (michael@garfield.cs.mun.ca)
1389         * c_ksh.c(c_typeset): separate loop for printing functions
1390           (do not traverse array link).
1391         * c_ksh.c(c_typeset): list functions: do not ignore unset functions.
1392         * exec.c(findfunc): set val.t to 0 when creating new entry.
1393         * exec.c(define): if FINUSE, use tail recursion.
1395 Thu Jan  4 11:10:22 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)
1397         * vi.c(globstr): deleted ifdef'd out code.
1399 Sun Dec 10 11:07:52 NST 1995 Michael Rendell (michael@panda.cs.mun.ca)
1401         * lex.c(yylex): added case for STBRACE; wrap word part of
1402           trim substitution in @(..).
1403         * eval.c(trimsub): deleted code to wrap pattern in @(..); changed
1404           '%' code to use strnsave().
1406 Fri Dec  8 22:55:56 NST 1995 Michael Rendell (michael@panda.cs.mun.ca)
1408         * eval.c(trimsub): if trim pattern contains a |, wrap pattern
1409           in @(...).
1410         * lex.c(yylex): make | special when incounted in a ${...}
1411           substitution.
1413 Fri Dec  8 11:52:38 NST 1995 Michael Rendell (michael@panda.cs.mun.ca)
1415         * var.c: ifdef'd HISTFILE, HISTSIZE stuff with HISTORY (was KSH).
1417         * *.c,*.h: ifdef'd coprocess stuff with KSH.
1419 Thu Dec  7 14:41:06 NST 1995 Michael Rendell (michael@angel.cs.mun.ca)
1421         * options.h(BRACEEXPAND): changed to BRACE_EXPAND; changed all
1422           references.
1424 Thu Dec  7 13:54:20 NST 1995 Michael Rendell (michael@angel.cs.mun.ca)
1426         * exec.c(do_selectargs): don't print newline on eof.
1428 Thu Dec  7 10:23:30 NST 1995 Michael Rendell (michael@angel.cs.mun.ca)
1430         * c_ksh.c(c_print): added -f for OS2.
1431         * tree.h(DODIRSWP),eval.c: deleted define and all uses of it.
1432         * exec.c(scriptexec): ...
1433         * io.c(check_fd): set O_TEXT/O_BINARY flag for OS2.
1434         * main.c(main): set O_BINARY/O_TEXT, search path for arg.
1435         * emacs.c(compl_file): call opendir with buf, not dirnam.
1436           (based on changes from Dale DePriest).
1438 Wed Nov 29 15:50:36 NST 1995 Michael Rendell (michael@angel.cs.mun.ca)
1440         * eval.c(expand,debunk): handle extended pattern matching stuff.
1441         * eval.c(debunk): now has two arguments, changed all calls.
1442         * eval.c(globit): changed to use has_globbing.
1443         * eval.c(copy_non_glob): deleted.
1445         * misc.c(has_globbing): new function.
1446         * misc.c(cclass): changed argument to unsigned char *; handle
1447           extended pattern matching.
1448         * misc.c(do_gmatch): new function (taken from gmatch()).
1449         * misc.c(gmatch): changed to call do_gmatch.
1450         * misc.c(do_gmatch): added cases for extended pattern matching
1451           (*(foo|bar), etc.).
1452         * misc.c(pat_scan): new function.
1454         * lex.c(yylex): added SPATTERN case.
1456         * lex.c(arraysub): changed to assume just past the leading [
1457           (was assuming about to read [); changed all calls; changed
1458           to use getsc_bn().
1460         * lex.c(ungetsc): added argument; changed all calls; can now unget
1461           arbitrary number of characters.
1462         * lex.c(ungetsc_): new function.
1464         * lex.h(struct source): added start field, removed u.start field,
1465           changed all uses.
1466         * lex.c(getsc_): case STTY: skip blank line only if this is first line
1467           of a command (eg, not part of here documennt, etc.).
1469         * lex.c(yylex): case SHEREDELIM,SHEREDQUOTE: ignore \newline.
1470         * lex.c(readhere,get_brace_var): ignore \newline.
1471         * lex.c(getsc_bn,getsc_bn_): new define/function.
1473         * exec.c(iosetup): don't enforce noclobber for non-regular files.
1475         * tree.h(OPAT,SPAT,CPAT): new defines.
1476         * tree.c(tputS,wdscan): added cases for OPAT,SPAT,CPAT.
1478         * lex.c(yylex): moved case '[' from Subst: switch to case SBASE:.
1480 Tue Nov 14 11:00:48 NST 1995 Michael Rendell (michael@angel.cs.mun.ca)
1482         * syn.c(get_command,caselist): moved parsing of IN/ESAC into
1483           caselist; allow {/} instead of IN/ESAC;
1484         * syn.c(casepart): new parameter: endtok.
1485         * lex.c(yylex): allow } as well as ESAC when ESACONLY set.
1486           (changes based on fix from DaviD W. Sanderson).
1488 Tue Nov 14 10:22:17 NST 1995 Michael Rendell (michael@angel.cs.mun.ca)
1490         * main.c(shell): do not zero exstat at start of routine.
1492         * exec.c(execute): removed redundent "exstat = rv" before
1493           unwind(LERROR).
1495 Thu Nov  9 15:01:54 NST 1995 Michael Rendell (michael@angel.cs.mun.ca)
1497         * var.c(arrayname): made argument const.
1498         * var.c(typeset): made var argument const.
1499         * var.c(export): made val argument const.
1500         * tree.c(wdscan): changed return type to non-const (added casts).
1502 Thu Nov  9 14:39:49 NST 1995 Michael Rendell (michael@panda.cs.mun.ca)
1504         * c_ksh.c(c_alias),c_sh.c(c_set): made args[] array const.
1505         * c_ulimt.c(c_ulimit): made limits[] array const.
1506         * edit.c(x_mode): x_cur_mode no longer explicitly initialized to 0.
1507         * emacs.c(x_tab,x_atab): no longer explicitly initialized to 0.
1508         * exec.c(comexec): made texec non-static, non-initialized.
1509         * history.c(hist_finish): once no longer explicitly initialized to 0.
1510         * io.c(maketemp): io no longer explicitly initialized to 0.
1511         * jobs.c(job_list,last_job,async_job,free_jobs,free_procs): no longer
1512           explicitly initialized to 0.
1513         * jobs.c(lookup_msgs[],tt_sigs[]): made array const.
1514         * mail.c(mplist,mbox,mlastchkd,mmsgs): no longer explicitly
1515           initialized to 0.
1516         * vi.c(expand_word,complete_word): buf no longer explicitly
1517           initialized to 0.
1518         * vi.c(classify[]): made array const.
1520 Tue Nov  7 11:08:01 NST 1995 Michael Rendell (michael@panda.cs.mun.ca)
1522         * mkman: new script
1523         * Makefile.in: use mkman to generate ksh.1
1524         * ksh.Man,ksh.1: renamed ksh.1 to ksh.Man
1525         * ksh.Man: changed way sh/ksh option handled.
1526           (changes based on fix from Michael Haardt).
1528 Tue Sep 19 09:53:53 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)
1530         * jobs.c(j_stopped): deleted function.
1531         * jobs.c(j_exit): send SIGCONT, then SIGHUP; send SIGHUP if
1532           job is in foreground.
1533           (based on fix from Paul Borman)
1535         * Makefile.in: move .PRECIOUS to after all.
1537 Wed Sep 13 15:00:22 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)
1539         * exec.c(dbteste_getopnd): changed tests from TO_STLT/TO_STGT
1540           to TO_STEQL/TO_STNEQ.
1542 Thu Aug 31 11:54:02 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)
1544         * jobs.c(exchild): if fork fails, allow user to ^C out of loop.
1546 Tue Aug 29 09:40:37 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)
1548         * exec.c(iosetup): don't do globing if not interactive (POSIX).
1550         * exec.c(iosetup): print <& or >& as appropriate in error message.
1552         * tree.h(IONAMEXP): new define.
1553         * tree.c(pioact): handle IONAMEXP.
1554         * exec.c(iosetup): set IONAMEXP.
1556         * io.c(savefd): added noclose parameter; changed all calls.
1557         * exec.c(iosetup): move call to savefd() to after the open();
1558           re-arranged the dup'ing (failed dups reported).
1560         * main.c(shell): call quitenv() before internal_error().
1562 Sun Aug 13 21:38:44 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)
1564         * sh.h(ksh_sigsetjmp,ksh_siglongjmp): new defines; changed
1565           all uses of setjmp/longjmp to these.
1566         * configure.in: added checks for sigsetjmp() and _setjmp().
1568 Wed Jul 26 10:08:23 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)
1570         * c_ulimit.c(c_ulimit): added -p ("maxproc", RLIMIT_NPROC)
1571           (fix from Simon J. Gerraty).
1573 Thu Jun 29 10:22:51 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)
1575         * edit.c(promptlen): added spp parameter; changed all calls.
1576         * vi.c(prompt_skip): new variable.
1577         * vi.c(edit_reset): set prompt_skip; use prompt_skip in all calls
1578           to pprompt().
1580 Sat Jun 24 15:55:03 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)
1582         * IAFA-PACKAGE: new file.
1583         * Makefile.in: added IAFA-PACKAGE to DISTFILES.
1585 Mon Jun 19 10:04:52 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)
1587         * main.c(initcoms[]): added EXTRA_INITCOMS.
1589 Fri Jun 16 12:33:10 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)
1591         * exec.c(search_access1): use FILECMP() instead of strcmp().
1593         * sh.h(FIELCHCONV): OS2 version: added isascii().
1594         * misc.c(gmatch); took unsigned out again for sc and pc.
1596         * main.c(main): don't set PS1 if it's already set; set it if
1597           we are root and prompt doesn't contain a #.