summaryrefslogtreecommitdiff
path: root/bin/pdksh/ChangeLog
blob: 430eaebb5dc407f4d793305c7624e50fbde262e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
$OpenBSD: ChangeLog,v 1.1 1996/08/14 06:19:10 downsj Exp $

Tue Jun  4 08:41:19 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* made pdksh-5.2.6 distribution

	* vi.c(CMDLEN): changed from 16 back to 1024.

Sun Jun  2 11:54:46 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* made pdksh-5.2.6 distribution

Sun Jun  2 11:46:56 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* exec.c(search_access): changed ordering of xsuffixes[], rsuffixes[];
	  removed code that used xsuffixes[] when suffix is present.
	* lex.c(getsc_line): set O_TEXT/O_BINARY if os/2.
	* main.c(remove_temps): added os2 ifdefs.
	  [Changes from Dale DePriest.]

Tue May 21 14:18:22 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* vi.c(vi_cmd): case '#': call do_comment() to do work.
	* vi.c(do_comment): new function.
	* vi.c(putbuf,grabhist,grabsearch): fixed pesimestic off-by-1 error
	  (cbufsize - 1 -> cbufsize).
	* vi.c(vi_hook): case VCMD: case -1: added refresh(0).
	* vi.c(vi_cmd): case 'P': don't move cursor back if nothing added.

Tue May 21 12:03:34 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* emacs.c(do_complete): don't add space if single match and
	  it doesn't end with a /.

Tue May 21 11:51:36 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* edit.c(x_init): use typeset to set EXPORT attribute for
	  COLUMNS/LINES.

Tue May 21 11:40:12 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* misc.c(parseargs): option setting: ignore context if option
	  isn't being changed.
	* misc.c(printoptions): for non-verbose mode: print a set command
	  (eg, set -o vi -o ...) instead of just the option names.

Tue May 21 11:14:27 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* c_sh.c(c_brkcont): if n is too big, use last enclosing loop.

Fri May 10 09:27:47 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* sh.h(Getopt): changed field p from int to unsigned.

Tue May  7 12:10:47 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* made pdksh-5.2.5 distribution

Tue May  7 11:45:37 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* syn.c(compile): set multiline if source is SSTRING.
	* syn.c(yyparse): don't peek before calling c_list() - build
	  TEOF if c_list() fails and c is 0.
	* syn.c(c_list): remove SSTRING test.
	* syn.c(get_command): if EOF is reached, free iops,args,vars.
	* syn.c(syntaxerr): set multiline.on to false when it is used;
	  don't use multiline.on if start token is 0.

Tue May  7 10:11:41 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* history.c(c_fc,hist_execute): moved calls to histbackup() from
	  c_fc() to hist_execute().
	* history.c(hist_get): number: took out +1 correction as histbackup
	  hasn't been done yet; string: added -1 correction to ensure
	  current fc command isn't searched.
	* history.c(hist_get_newest,hist_get_oldest): don't find the
	  current (fc) command; removed print_err argument (was always
	  true).
	* history.c(hist_get,hist_get_newest): added allow_cur argument;
	  changed all calls.

Mon May  6 09:55:29 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* emacs.c(x_nextcmdp): renamed to x_nextcmd, changed from
	  char ** to int.
	* emacs.c(x_nl_next_com): save absolute command number, not
	  relative position in history array (which changes).
	* emacs.c(x_emacs): convert x_nextcmd back to relative position.
	* emacs.c(x_init_emacs): initialize x_nextcmd to -1.

Sun May  5 13:10:48 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* expr.c(evalexpr): when assigning a non-integer, call setint()
	 (not setstr(..., strval(...))).

Sun May  5 12:16:11 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* mail.c(maddmsg): changed name to mprintit(); now prints message
	  directly instead of saving in a linked list; changed all calls.
	* mail.c(mprint): deleted; deleted all calls.
	* mail.c(mmsgs,struct mailmsg): deleted.

Sun May  5 11:52:05 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* lex.h(SF_TTY): new flag.
	* lex.h(STTY): deleted.
	* main.c(main): if tty, use SSTDIN, set SF_TTY.
	* main.c(shell): check SF_TTY instead of STTY.
	* lex.c(getsc_): call getsc_line for SSTDIN/SFILE.
	* lex.c(getsc_line): new function (merged old STTY/SSTDIN/SFILE code).

Fri May  3 11:24:17 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* main.c(shell): changed exit_atend to toplevel.  Changed interactive
	  to be falking&toplevel (was talking&s->type==STTY).

Fri May  3 10:59:22 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* var.c(getint): only allow one base (ie, disallow 2#4#5).

Thu May  2 21:31:23 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* var.c(array_index_calc): new function
	* var.c(global): call array_index_calc(); moved $2 code into
	  if (!letter(c))...
	* var.c(local): call array_index_calc(); added copy argument & code;
	  changed all calls.
	* table.h(LOCAL_COPY): new define.
	* exec.c(comexec): maybe pass LOCAL_COPY to typeset().

Thu May  2 16:34:29 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* emacs.c: command completion changes.
	* emacs.c(Comp_type,CT_LIST,CT_COMPLETE,CT_COMPLIST): new type.
	* emacs.c(x_ins): return type changed to int; return -1 if
	  string can't be inserted.
	* emacs.c(x_do_ins): new function.
	* emacs.c(add_stash,list_stash,compl_dec,compl_file,compl_command,
	  str_match): deleted; changed callers to use do_complete().
	* emacs.c(do_complete,x_expand): new functions.
	* emacs.c(x_ftab[],x_defbindings[]): added entry for file-expand;
	  bound to <ESC>*.

Thu May  2 15:31:32 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* lex.c(set_prompt): pass strlen() + 1 to shf_sopen.
	  (fix from Arnon Kanfi).

Wed Apr 24 11:50:52 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* history.c(c_fc): -e -: don't increment wp past null; allow
	  pat=replace arg with "-1" type argument.
	  (based on fix from Jason Tyler).

Mon Apr 15 11:58:34 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* table.c(tenter),alloc.c(alloc): changed use of offsetof() so field
	  parameter is a constant expression.
	* sh.h: took out undef of offsetof on CRAYs.

Fri Apr 12 16:01:40 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* jobs.c(JF_USETTYMODE): renamed JR_ORIGFG to JF_USETTYMODE.
	* jobs.c(j_waitj): clear JF_USETTYMODE if fg job is stopped.

Sun Apr  7 12:35:30 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* c_ksh(c_print): echo: don't treat a lone minus as an option.

Sat Apr  6 00:09:37 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* c_ulimit.c(c_ulimit.c): always pass 2 args to ulimit().
	* ksh_sigsetjmp(): changed all uses to be simple expressions - seems
	  to be required by the cray C compiler.
	* sh.h(offsetof): undef if on a cray.
	  (based on fixes from Dave Kinchlea)

Sat Mar 23 13:58:12 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* siglist.in: added WAITING,LWP,FREEZE,THAW,CANCEL

Thu Mar  7 23:26:37 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* edit.c(x_init): set LINES if possible.

Thu Mar  7 23:01:55 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* main.c(main): call x_init() after j_init()
	  (based on fix from Stefan Dalibor).

Thu Mar  7 16:13:10 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* aclocal.m4(KSH_OS_TYPE): check for TitanOS (use cc -43).
	* aclocal.m4(KSH_SIGNAL_TYPE): for bsd41 signals, check if signal
	  interrupt read().

Thu Mar  7 13:59:29 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* sh.h(strstr),missing.c(strstr): changed args to const.

Wed Mar  6 17:21:36 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* io.c(errorf,bi_errorf): changed null pointer string check to
	  empty string; changed all calls (due to new error gcc warnings).

Wed Mar  6 17:15:58 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* exec.c(search_access): files aren't executable if they don't
	  have any execute bits.
	* ksh_stat.h: added S_IXUSR,S_IXGRP,S_IXOTH.
	* exec.c(search_access,search_access1): OS2: changed the meaning
	  of these two functions (search_access1 now called from search_access).

Wed Mar  6 16:23:23 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* tree.c(ptree): add case for TSELECT.

Wed Mar  6 12:40:34 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* vi.c(Z_,is_zeroarg): new defines.
	* vi.c(classify): use Z_ for G, g, _, |, v, ^I, ^F.
	* vi.c(vi_cmd): use is_zerocount().
	* vi.c(complete_word): if command prefixed by a count, complete
	  to count'th expansion (as reported by print_expansions()).

Tue Mar  5 14:43:48 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* eval.c(GF_NONE,GF_EXCHECK,GF_GLOBBED,GF_MARKDIR): new defines.
	* eval.c(glob_str): added markdirs argument; changed all calls;
	  made function non-static.
	* eval.c(glob): added markdirs argument; changed all calls.
	* tree.h(DOMARKDIRS): new define.
	* eval.c(expand): set DOMARKDIRS if FMARKDIRS.
	* edit.c(x_complete_word,x_print_expansions,x_file_glob,x_command_glob,
	  x_locate_word,x_cf_glob,x_add_glob,x_longest_prefix,x_free_words):
	  new functions.
	* proto,edit.h: moved functions defined in edit.c to edit.h.
	* vi.c(struct edstate): moved to top of file.
	* vi.c(print_expansions): added struct edstate argument; changed all
	  calls.
	* vi.c(struct glob,Glob,globstr,glob_word,): deleted
	* vi.c(vi_pprompt): new function; changed all calls of pprompt() in
	  vi.c to use vi_pprompt().
	* vi.c(x_vi): moved to top of file.
	* vi.c(expand_word,complete_word): free buf if it is not null.
	* vi.c(expand_word,complete_word,print_expansions): changed
	  to use new edit.c functions.

Tue Feb 20 11:02:05 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* table.c(twalk,tnext,struct tstate),table.h(struct tstate): moved
	  struct tstate from table.c to table.h; changed twalk,tnext to take
	  struct tstate* argument; changed all calls; deleted static tstate
	  variable.

Sat Feb 17 12:28:11 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* vi.c(vi_hook): case VSEARCH: if new pattern is empty, repeat last
	  search.

Sat Feb 10 15:59:28 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* table.h(struct arg_info): new struct.
	* table.h(struct block): changed argv, argc fields to argi.

Sat Feb 10 15:12:47 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

        ANSI C name space requirements:

	* vi.c(isbad,iscmd,islong,ismove,issrch,isundoable,iswordch): changed
	  to is_bad,is_cmd,is_long,is_move,is_srch,is_undoable,is_wordch.
	* emacs.c(iscfs,ismfs): changed to is_cfs, is_mfs.
	* emacs.c(strmatch): changed to str_match.
	* sh.h(strchr_dirsep,strrchr_dirsep): changed to ksh_strchr_dirsep,
	  ksh_strtchr_dirsep; changed all calls.
	* missing.c(strichars[]): changed to ichars[].
	* var.c(strint,strval): changed to setint_v, str_val.
	* missing.c(strsave,strnsave): changed to str_save,str_nsave.

Fri Feb  9 11:30:15 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* main.c(main): remove envp parameter; declare and use environ.

	* c_ksh.c(c_print): octal digit escape sequences must start with \0.

Sat Feb  3 15:35:41 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* vi.c(vi_cmd,classify[]): made ^I a command.

Fri Feb  2 10:40:32 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* lex.h(struct source): added u.freeme field.
	* lex.c(getsc_): case SREREAD: free u.freeme iff start isn't u.ugbuf.

Thu Feb  1 15:27:06 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* c_test.h(Test_env): added end union.
	* c_test.c(c_test): keep track of end postition using end.wp;
	  don't write on wp.

	* emacs.c(x_mapin): changed to dup string, then munge; return duped;
	  changed all calls.

	* eval.c(homedir): deleted getpwnam() declaration - can't believe
	  its needed anywhere (we shall see, though).

	* sh.h(handler_t): use ARGS for prototype; use h
	* sh.h(struct trap),trap.c(setsig,settrap),sigact.c,sigact.h:
	  use handler_t.
	* history.c,c_sh.c,c_ksh.c: removed register declaration from
	  c_*() functions.
	* exec.c(builtin),proto.h(builtin): use prototype for func.
	* misc.c(qsortp,qsort1),proto.h(qsortp): use prototype for f.

	* c_ksh.c(ksh_getopt): made options arg const.
	* tree.c(fptreef,snptreef,vfptreef): made fmt arg const.
	* jobs.c(waitfor,j_kill,j_resume,j_lookup,j_jobs): made cp arg const.
	* shf.c(shf_snprintf,shf_smprintf,shf_vfprintf): made fmt arg const.
	* c_test.h(Test_env.error),c_test.c(ptest_error): made msg arg const.
	* c_test.c(test_stat,test_eaccess): made path arg const.
	* c_test.c(ptest_getopnd,dbteste_getopnd): made return value const.
	* c_test.c(ptest_eval,test_eval,dbteste_eval,dbtestp_eval,test_primary):
	  made opnd1,opnd2 arg const.
	* c_test.c(test_isop): made s arg const.

	* misc.c(bi_getn,getn): made as arg const.
	* misc.c(getn): made as arg const.
	* misc.c(gmatch): made s/p arg const.
	* misc.c(has_globbing): made xp/xpe arg const.
	* misc.c(do_gmatch): made s/p/se/pe arg const.
	* misc.c(cclass): made p arg const.

Thu Feb  1 14:54:32 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* edit.h, sh.h, tty.h: changed _I_ to I__.
	* edit.h, edit.c: changed _D_ to D__.

	* jobs.c,shf.c,tty.c: include ksh_stat.h (POSIX: needed for open).

	* sigact.c: use ARGS instead of __P; comment out __P defines.

	* shf.c: include math.h if FP.
	* shf.c(my_ceil): remove modf() declaration.
	* shf.c(shf_fvprintf): comment out frexp() declaration; changed
	  exp to expo.

	* jobs.c(struct job, j_utime, j_stime): changed utime/stime to
	  usrtime/systime; change j_utime/j_stime to j_usrtime/j_systime.

Wed Jan 31 16:13:44 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* edit.c(x_getc): cast return value to int to avoid warnings on
	  strange compilers.
	* exec.c(funcfunc): changed second arg to unsigned int (was int).
	* syn.c(elsepart): move return NULL to end of function (avoids
	  warning from some compilers).
	* vi.c(classify[]): changed type to unsigned char.
	* shf.c(shf_smprintf): delete unused variable n.
	* aclocal.m4(KSH_TIMES_CHECK): define INT32 in test code.
	* aclocal.m4(KSH_SIGNAL_CHECK): typeo: had bsd42 instead of bsd41.
	* sh.h(MAGIC): changed to 7 to increase portability.
	* jobs.c(tcsetpgrp,tcgetpgrp): define if TTY_PGRP (was TIOCSPGRP).

Tue Jan 23 11:40:25 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* sh.h(ksh_jmp_buf): new define.

Thu Jan 18 15:03:19 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* history.c(hist_replace): fixed substitution code (again).

Wed Jan 17 20:10:02 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* made pdksh-5.2.4 distribution

	* main.c(initcoms): changed hash alias to "hash=alias -t".

	* exec.c(do_selectargs): deleted c_read() declaration.

	* c_ksh(c_alias): call ksh_getopt_reset() before calling c_unalias().

Wed Jan 17 19:47:55 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* history.c(histbackup): changed "histptr > history"
	  to "histptr >= history".

	* history.c(hist_replace): removed un-needed "last" - use "s" instead.
	  (based on fix from Jason Tyler).

Thu Jan 11 15:59:46 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* c_ksh.c(c_whence,c_command),main.c(initcoms[]): removed ifdef KSH
	  (type is a builtin in sys-5 sh).

Wed Jan 10 11:49:59 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* Makefile.in: added NEWS.os2 to OS2FILES.

	* version.c: include "sh.h" (needed for const define).

	* exec.c(pr_menu): made non-static.
	* vi.c(print_expansions): gather expansions into an arrat
	  and use pr_menu().
	  (fixes from Mike Jetzer).

	* vi.c(redraw_line): added newline option; changed all calls.

Wed Jan 10 10:21:06 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* vi.c(classify): made 'U' a C_.
	* vi.c(ohnum): new variable.
	* vi.c(vi_reset): set ohnum to hlast.
	* vi.c(grabhist): set ohnum.
	* vi.c(vi_cmd): case n,N,/,? set ohnum; added case 'U'.
	* vi.c(edit_reset): clear holdlen.
	  (based on fix from Dale DePriest).

Tue Jan  9 11:23:36 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* emacs.c(iscfs): make ', " seperators.
	  (fix from Dale DePriest).

	* conf-end.h: deleted stuff to undef HISTORY, VI, EMACS, etc if
	  KSH wasn't defined (now done in configure).

	* sh.h(GI_NONAME): changed to GF_NONAME; changed all uses.

	* configure.in: added AC_ARG_PROGRAM.
	* Makefile.in: replaced binprefix and manprefix with
	  program_transform stuff.

Mon Jan  8 11:42:46 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* sh.h(struct temp): added shf field.
	* io.c(maketemp): changed to use O_EXCL; keep trying if open
	  fails (due to O_EXCL); fill in shf field; changed all calls.

	* main.c(include): added intr_ok flag; changed all calls.

	* main.c(main): if compiled as sh and posix option not set, do not
	  include $ENV.

	* trap.c: define FROM_TRAP_C before including sh.h.
	* sh.h: don't declare sigtraps if FROM_TRAP_C declared.

	* c_ksh.c(c_cd): fixed error message.
	* vi.c(glob_word): don't add * if word contains a $.
	  (Based on fixes from Mike Jetzer).

	* eval.c(tilde): if HOME,PWD,OLDPWD aren't set, don't expand
	  ~,~+/~-.

Fri Jan  5 12:15:58 NST 1996 Michael Rendell (michael@garfield.cs.mun.ca)

	* c_ksh.c(c_typeset): seperate loop for printing functions
	  (do not traverse array link).
	* c_ksh.c(c_typeset): list functions: do not ignore unset functions.
	* exec.c(findfunc): set val.t to 0 when creating new entry.
	* exec.c(define): if FINUSE, use tail recursion.

Thu Jan  4 11:10:22 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

	* vi.c(globstr): deleted ifdef'd out code.

Sun Dec 10 11:07:52 NST 1995 Michael Rendell (michael@panda.cs.mun.ca)

	* lex.c(yylex): added case for STBRACE; wrap word part of
	  trim substitution in @(..).
	* eval.c(trimsub): deleted code to wrap pattern in @(..); changed
	  '%' code to use strnsave().

Fri Dec  8 22:55:56 NST 1995 Michael Rendell (michael@panda.cs.mun.ca)

	* eval.c(trimsub): if trim pattern contains a |, wrap pattern
	  in @(...).
	* lex.c(yylex): make | special when incounted in a ${...}
	  substitution.

Fri Dec  8 11:52:38 NST 1995 Michael Rendell (michael@panda.cs.mun.ca)

	* var.c: ifdef'd HISTFILE, HISTSIZE stuff with HISTORY (was KSH).

	* *.c,*.h: ifdef'd coprocess stuff with KSH.

Thu Dec  7 14:41:06 NST 1995 Michael Rendell (michael@angel.cs.mun.ca)

	* options.h(BRACEEXPAND): changed to BRACE_EXPAND; changed all
	  references.

Thu Dec  7 13:54:20 NST 1995 Michael Rendell (michael@angel.cs.mun.ca)

	* exec.c(do_selectargs): don't print newline on eof.

Thu Dec  7 10:23:30 NST 1995 Michael Rendell (michael@angel.cs.mun.ca)

	* c_ksh.c(c_print): added -f for OS2.
	* tree.h(DODIRSWP),eval.c: deleted define and all uses of it.
	* exec.c(scriptexec): ...
	* io.c(check_fd): set O_TEXT/O_BINARY flag for OS2.
	* main.c(main): set O_BINARY/O_TEXT, search path for arg.
	* emacs.c(compl_file): call opendir with buf, not dirnam.
	  (based on changes from Dale DePriest).

Wed Nov 29 15:50:36 NST 1995 Michael Rendell (michael@angel.cs.mun.ca)

	* eval.c(expand,debunk): handle extended pattern matching stuff.
	* eval.c(debunk): now has two arguments, changed all calls.
	* eval.c(globit): changed to use has_globbing.
	* eval.c(copy_non_glob): deleted.

	* misc.c(has_globbing): new function.
	* misc.c(cclass): changed argument to unsigned char *; handle
	  extended pattern matching.
	* misc.c(do_gmatch): new function (taken from gmatch()).
	* misc.c(gmatch): changed to call do_gmatch.
	* misc.c(do_gmatch): added cases for extended pattern matching
	  (*(foo|bar), etc.).
	* misc.c(pat_scan): new function.

	* lex.c(yylex): added SPATTERN case.

	* lex.c(arraysub): changed to assume just past the leading [
	  (was assuming about to read [); changed all calls; changed
	  to use getsc_bn().

	* lex.c(ungetsc): added argument; changed all calls; can now unget
	  arbitrary number of characters.
	* lex.c(ungetsc_): new function.

	* lex.h(struct source): added start field, removed u.start field,
	  changed all uses.
	* lex.c(getsc_): case STTY: skip blank line only if this is first line
	  of a command (eg, not part of here documennt, etc.).

	* lex.c(yylex): case SHEREDELIM,SHEREDQUOTE: ignore \newline.
	* lex.c(readhere,get_brace_var): ignore \newline.
	* lex.c(getsc_bn,getsc_bn_): new define/function.

	* exec.c(iosetup): don't enforce noclobber for non-regular files.

	* tree.h(OPAT,SPAT,CPAT): new defines.
	* tree.c(tputS,wdscan): added cases for OPAT,SPAT,CPAT.

	* lex.c(yylex): moved case '[' from Subst: switch to case SBASE:.

Tue Nov 14 11:00:48 NST 1995 Michael Rendell (michael@angel.cs.mun.ca)

	* syn.c(get_command,caselist): moved parsing of IN/ESAC into
	  caselist; allow {/} instead of IN/ESAC;
	* syn.c(casepart): new parameter: endtok.
	* lex.c(yylex): allow } as well as ESAC when ESACONLY set.
	  (changes based on fix from DaviD W. Sanderson).

Tue Nov 14 10:22:17 NST 1995 Michael Rendell (michael@angel.cs.mun.ca)

	* main.c(shell): do not zero exstat at start of routine.

	* exec.c(execute): removed redundent "exstat = rv" before
	  unwind(LERROR).

Thu Nov  9 15:01:54 NST 1995 Michael Rendell (michael@angel.cs.mun.ca)

	* var.c(arrayname): made argument const.
	* var.c(typeset): made var argument const.
	* var.c(export): made val argument const.
	* tree.c(wdscan): changed return type to non-const (added casts).

Thu Nov  9 14:39:49 NST 1995 Michael Rendell (michael@panda.cs.mun.ca)

	* c_ksh.c(c_alias),c_sh.c(c_set): made args[] array const.
	* c_ulimt.c(c_ulimit): made limits[] array const.
	* edit.c(x_mode): x_cur_mode no longer explicitly initialized to 0.
	* emacs.c(x_tab,x_atab): no longer explicitly initialized to 0.
	* exec.c(comexec): made texec non-static, non-initialized.
	* history.c(hist_finish): once no longer explicitly initialized to 0.
	* io.c(maketemp): io no longer explicitly initialized to 0.
	* jobs.c(job_list,last_job,async_job,free_jobs,free_procs): no longer
	  explicitly initialized to 0.
	* jobs.c(lookup_msgs[],tt_sigs[]): made array const.
	* mail.c(mplist,mbox,mlastchkd,mmsgs): no longer explicitly
	  initialized to 0.
	* vi.c(expand_word,complete_word): buf no longer explicitly
	  initialized to 0.
	* vi.c(classify[]): made array const.

Tue Nov  7 11:08:01 NST 1995 Michael Rendell (michael@panda.cs.mun.ca)

	* mkman: new script
	* Makefile.in: use mkman to generate ksh.1
	* ksh.Man,ksh.1: renamed ksh.1 to ksh.Man
	* ksh.Man: changed way sh/ksh option handled.
	  (changes based on fix from Michael Haardt).

Tue Sep 19 09:53:53 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)

	* jobs.c(j_stopped): deleted function.
	* jobs.c(j_exit): send SIGCONT, then SIGHUP; send SIGHUP if
	  job is in foreground.
	  (based on fix from Paul Borman)

	* Makefile.in: move .PRECIOUS to after all.

Wed Sep 13 15:00:22 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)

	* exec.c(dbteste_getopnd): changed tests from TO_STLT/TO_STGT
	  to TO_STEQL/TO_STNEQ.

Thu Aug 31 11:54:02 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)

	* jobs.c(exchild): if fork fails, allow user to ^C out of loop.

Tue Aug 29 09:40:37 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)

	* exec.c(iosetup): don't do globing if not interactive (POSIX).

	* exec.c(iosetup): print <& or >& as appropriate in error message.

	* tree.h(IONAMEXP): new define.
	* tree.c(pioact): handle IONAMEXP.
	* exec.c(iosetup): set IONAMEXP.

	* io.c(savefd): added noclose parameter; changed all calls.
	* exec.c(iosetup): move call to savefd() to after the open();
	  re-arranged the dup'ing (failed dups reported).

	* main.c(shell): call quitenv() before internal_error().

Sun Aug 13 21:38:44 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)

	* sh.h(ksh_sigsetjmp,ksh_siglongjmp): new defines; changed
	  all uses of setjmp/longjmp to these.
	* configure.in: added checks for sigsetjmp() and _setjmp().

Wed Jul 26 10:08:23 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)

	* c_ulimit.c(c_ulimit): added -p ("maxproc", RLIMIT_NPROC)
	  (fix from Simon J. Gerraty).

Thu Jun 29 10:22:51 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)

	* edit.c(promptlen): added spp parameter; changed all calls.
	* vi.c(prompt_skip): new variable.
	* vi.c(edit_reset): set prompt_skip; use prompt_skip in all calls
	  to pprompt().

Sat Jun 24 15:55:03 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)

	* IAFA-PACKAGE: new file.
	* Makefile.in: added IAFA-PACKAGE to DISTFILES.

Mon Jun 19 10:04:52 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)

	* main.c(initcoms[]): added EXTRA_INITCOMS.

Fri Jun 16 12:33:10 NDT 1995 Michael Rendell (michael@panda.cs.mun.ca)

	* exec.c(search_access1): use FILECMP() instead of strcmp().

	* sh.h(FIELCHCONV): OS2 version: added isascii().
	* misc.c(gmatch); took unsigned out again for sc and pc.

	* main.c(main): don't set PS1 if it's already set; set it if
	  we are root and prompt doesn't contain a #.