-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathChangeLog.0
3589 lines (2728 loc) · 144 KB
/
ChangeLog.0
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
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
$OpenBSD: ChangeLog.0,v 1.4 2003/02/28 09:45:09 jmc Exp $
Thu Jun 15 11:02:06 NDT 1995 Michael Rendell ([email protected])
* made pdksh-5.2.3 distribution
* c_ksh.c(c_whence): search keyword table if vflag set.
* tree.h(DOVACHECK): new define.
* eval.c(expand): check DOVACHECK flag.
* exec.c(execute): when calling eval(), or in t->evalflags.
* syn.c(get_command): set evalflags to DOVACHECK instead of DOASNTILDE.
Wed Jun 14 09:27:19 NDT 1995 Michael Rendell ([email protected])
* c_ksh.c(c_cd): two argument format: use current_wd, not path
when appending elen bytes.
(fix from Gabor Zahemszky).
Tue Jun 13 15:54:11 NDT 1995 Michael Rendell ([email protected])
* history.c(c_fc): if last not specified and !-l, use first as last.
* eval.c(maybe_expand_tilde): allow CSUBST to end tilde word.
* misc.c(gmatch): made sc and pc unsigned.
Fri Jun 2 11:55:40 NDT 1995 Michael Rendell ([email protected])
* configure.in: added flock to AC_CHECK_FUNCS call.
* conf-end.h: undef COMPLEX_HISTORY if !HAVE_FLOCK.
Tue May 30 20:38:47 NDT 1995 Michael Rendell ([email protected])
* sh.h(SEEK_SET,SEEK_CUR,SEEK_END): define if not defined.
* history.c: change L_XTND to SEEK_END.
Tue May 30 17:01:34 NDT 1995 John Rochester ([email protected])
* shf.c(shf_seek): new function.
* shf.h(shf_seek): new prototype.
Tue May 30 16:42:41 NDT 1995 Michael Rendell ([email protected])
* aclocal.m4(KSH_DEV_FD): new test.
* acconfig.h(HAVE_DEV_FD): new define.
* configure.in: call KSH_DEV_FD.
* c_test.h(TO_FILAXST): new enum.
* c_test.c(test_stat,test_eaccess): new functions for /dev/fd/n
handling.
* c_test.c(test_evalop): call test_stat() and test_eaccess()
instead of stat() and eaccess() in most places; added case
for TO_FILAXST.
Tue May 30 16:06:21 NDT 1995 Michael Rendell ([email protected])
* aclocal.m4(KSH_MEMMOVE): fixed test so copies overlap.
Sun May 28 11:11:03 NDT 1995 John Rochester ([email protected])
* sh.h(safe_prompt): new variable.
* main.c(initsubs): removed PS1.
* main.c(main): initialize safe_prompt; initialize PS1 from
safe_prompt.
* lex.c(set_prompt): create new env while expanding PS1 - if expansion
fails, use safe_prompt.
Sat May 27 20:59:02 NDT 1995 Michael Rendell ([email protected])
* exec.c: put comments around token after #endif.
Thu May 25 10:10:45 NDT 1995 Michael Rendell ([email protected])
* c_test.c(test_eval): case TO_OPTION: negate test if option starts
with a !, always fail if option doesn't exist.
* sh.h(FNOHUP): new define.
* misc.c(options[]): "nohup" new option.
* jobs.c(j_stopped,j_stopped_running): name of j_stopped changed
to j_stopped_running; changed all calls; check for/warn about
running jobs if appropriate.
* jobs.c(j_exit): check for/kill running jobs if appropriate.
* main.c(shell),c_sh.c(c_exit): un-ifdef JOBS the j_stopped_running()
call and really_exit initialization/clearing.
Wed May 24 10:06:14 NDT 1995 Michael Rendell ([email protected])
* options.h(DEFAULT_ENV): new define.
* main.c(main): if ENV isn't set and DEFAULT_ENV is defined, include
the later.
(based on patches from Dave Kinchlea).
* sh.h(LAEXPR): new define.
* expr.c(evaluate): changed return type to error indicator; added
rval and error_ok arguments; changed all calls (c_sh.c(c_shift),
c_ulimit.c(c_ulimit),eval.c(expand),var.c(global,local)).
* expr.c(v_evaluate): added error_ok argument; changed return value
to error indicator; call unwind() if !error_ok.
* expr.c(evalerr): changed errorf() to warningf(); call unwind(LAEXPR).
* c_test.c(test_eval): merged code for integer operations to have
two calls to evaluate().
* io.c(warningf): print trailing newline; changed all calls.
* history.c(hist_get): string search: use histptr, not histptr - 1.
Tue May 23 11:07:50 NDT 1995 Michael Rendell ([email protected])
* sh.h(GI_NONAME): new define.
* misc.c(ksh_getopts): honour GI_NONAME flag.
* c_ksh.c(getopts_reset): set GI_NONAME flag.
* exec.c(comexec): don't change $0 if FPOSIX flag set.
* misc.c(ksh_getopt): don't use GI_DONE to allow parsing past
bad options.
* sh.h(GI_DONE): deleted define.
* var.c(unset): added array_ref parameter; unset/free whole array
if not an array_reference; changed all calls.
* c_sh.c(c_unset): set array_ref parameter if there is a [ in the name.
Mon May 22 10:33:14 NDT 1995 Michael Rendell ([email protected])
* history.c(hist_init): complex version: initialize hist_source
(fix from Simon J. Gerraty).
Sat May 20 11:06:15 NDT 1995 Michael Rendell ([email protected])
* made pdksh-5.2.2 distribution
* Makefile.in: added c_test.h to HDRS.
Fri May 19 12:35:18 NDT 1995 Michael Rendell ([email protected])
* made pdksh-5.2.1 distribution
* emacs.c(v_version): ignore typed character if it is a space.
* emacs.c(x_emacs_keys): bind <ESC>erase-char to delete-back-word
(was delete-back-char).
* emacs.c(x_defkeybindings[]): bound list-file to ^X^Y and
newline-and-next to ^O, as per man page.
* c_ksh.c(c_whence): changed "is a keyword" to "is a reserved word".
* sh.h: changed SVSV_PGRP to SYSV_PGRP.
* vi.c(vi_cmd): uncommented case for ^[ to make it easy to enable
completion.
Mon May 15 15:25:22 NDT 1995 Michael Rendell ([email protected])
* history.c(c_fc): accept -40 as -- -40.
* main.c(initcoms[]): take -- out of history alias.
* vi.c(print_expansions): handle trailing slash correctly (don't
print empty strings).
* c_ksh.c(c_cd): put back ksh_get_wd() call for os/2.
* misc.c(ksh_get_wd): changed buf to b in call to getcwd().
Tue May 9 13:57:31 NDT 1995 Michael Rendell ([email protected])
* c_test.h: new file.
* c_test.c: major code restructuring: common parsing/evaluation
routines call/called-by three sets of routines: one for
normal test (and [..]), one for parsing [[ .. ]] one for
evaluating [[ .. ]].
* c_test.c(oexpr,aexpr,nexpr,primary,is_op): renamed to test_oexpr,
test_aexpr, test_nexpr, test_primary, test_isop.
* c_test.c(eval_unop,eval_binop): combined into new test_eval function.
* c_test.c(syntax): renamed to ptest_error,
* c_test.c(ptest_isa,ptest_getopnd,ptest_eval): new functions.
* syn.c(syntaxerr): added extra arg; changed all calls.
* syn.c(db_parse,db_oaexpr,db_nexpr,db_primary): deleted.
* syn.c(dbtestp_isa,dbtestp_getopnd,dbtestp_eval,dbtestp_error): added.
* syn.c(get_command): case DBRACKET: changed to call new routines.
* tree.c(ptree): case DBRACKET: changed.
* exec.c(execute): case DBRACKET: changed.
* exec.c(dbteste_isa,dbteste_getopnd,dbteste_eval,dbteste_error): added.
Fri May 5 17:10:23 NDT 1995 Michael Rendell ([email protected])
* emacs.c(compl_file,compl_command): fixed buffer growing code.
Thu May 4 22:44:01 NDT 1995 Michael Rendell ([email protected])
* aclocal.m4(KSH_UNISTD_H): include <sys/types.h> and only include
<dirent.h> if HAVE_DIRENT_H is defined.
Thu May 4 21:19:15 NDT 1995 Michael Rendell ([email protected])
* c_ksh.c: include "ksh_stat.h".
* c_ksh.c(c_cd): don't do physical chdir if S_ISLNK not defined.
Wed May 3 10:08:32 NDT 1995 Michael Rendell ([email protected])
* made pdksh-5.2.0 distribution
* misc.c: include <ctype.h>.
* misc.c(gmatch): added isfile argument; changed all calls.
* sh.h(FILECHCONV): (os2 version) - use isupper.
* emacs.c(strmatch): don't increment in FILECHCONV.
* aclocal.m4(KSH_HEADER_SYS_WAIT): new macro.
* configure.in: use KSH_HEADER_SYS_WAIT instead of AC_HEADER_SYS_WAIT.
* ksh_wait.h: if POSIX_SYS_WAIT not defined, undef W* macros.
Tue May 2 12:10:39 NDT 1995 Michael Rendell ([email protected])
* emacs.c,emacs-gen.sh,emacs-c.in,emacs.out,Makefile.in: changed emacs
source munging to create emacs.out which is included by emacs.c
rather then munging emacs.c itself.
* lex.c(pprompt): flush shl_out.
* vi.c(glob_word): if path has *?[, don't add * (was if last component).
* emacs.c(x_search_char): renamed to x_search_char_forw.
* emacs.c(x_search_char_back): new function; bound to ^[^].
* sh.h: changed SVR3_PGRP to SYSV_PGRP.
(fixes from Gabor Zahemszky).
Tue May 2 10:09:57 NDT 1995 Michael Rendell ([email protected])
* c_ksh.c(c_cd): deleted OS2 ifdefs.
* path.c(make_path): use ISRELPATH instead of ISABSPATH
* path.c(simplify_path): use ISROOTEDPATH instead of ISABSPATH.
* sh.h(ISABSPATH,ISROOTEDPATH,ISRELPATH): changed/new defines.
* aclocal.m4(AC_LANG_C,AC_LANG_CPLUSPLUS,AC_TRY_RUN): copied
from autoconf's acgeneral.m4, changed to handle .exe suffix.
* aclocal.m4(KSH_OS_TYPE): os2 case: set $ac_exe_suffix.
* configure.in: substitute ac_exe_suffix.
* Makefile.in: changed references to E to exe_suffix, set to
ac_exe_suffix
* c_ksh.c(c_cd): ifdef S_ISLNK second use of get_phys_path().
* edit.c(x_mode): removed ifndef OS2.
(fixes from Dale DePriest)
* exec.c(search_access1): add .sh to suffix lists.
* vi.c(vi_insert,vi_hook): OS2: changes to allow arrow keys work
in insert mode.
Mon May 1 16:28:44 NDT 1995 Michael Rendell ([email protected])
* path.c(ksh_get_wd): getcwd() case, return alloc'd buffer, not
a malloc'd one.
Mon May 1 09:41:56 NDT 1995 Michael Rendell ([email protected])
* aclocal.m4: changed HAVE_SYS_RESOURCES_H to HAVE_SYS_RESOURCE_H.
* aclocal.m4(KSH_OS_TYPE): new macro.
* aclocal.m4(KSH_OS2_EMX): deleted.
* configure.in: deleted calls to AC_AIX,AC_MINIX,AC_ISC_POSIX,
KSH_OS2_EMX; replaced with KSH_OS_TYPE.
* acconfig.h(OS_ISC,OS_SCO): new undefs.
* sh.h: changed use of isc386 to OS_ISC
* edit.c: changed use of M_UNIX to OS_SCO.
Sat Apr 29 21:10:54 NDT 1995 Michael Rendell ([email protected])
* vi.c(glob_word): don't append * if there are unescaped globing
characters in the last component of the filename; some redundant
code eliminated.
(based on fix from Michael Jetzer).
Fri Apr 28 16:10:22 NDT 1995 Michael Rendell ([email protected])
* eval.c(globit): save/restore actual DIRSEP char - don't use DIRSEP.
* c_ulimit.c: removed ARGS from declaration of ulimit to avoid
portability problems (osf/1 has ulimit(int,...), os2 has
ulimit(int,long)).
* tty.c(tty_init): added __SCO__ defines to avoid opening /dev/tty.
* configure.in,aclocal.m4,acconfig.h: added KSH_OS2_EMX test.
* os2/config.h, os2/configure.cmd, os2/make.sed: updated for new
autoconf.
Tue Apr 25 12:20:45 NDT 1995 Michael Rendell ([email protected])
* configure.in: added sys/param.h test; changed getcwd test to getwd.
* c_ksh.c(c_pwd): new function.
* sh.h(current_wd, current_wd_size): new variables.
* c_ksh.c(c_cd): changed to handle -L, -P.
* main.c(main): use set_current_wd when setting $PWD;
instead of changing to / when can't get pwd, print warning;
deleted pwd alias; don't make PWD and OLDPWD reaedonly.
* path.c(simplify_path): changed to handle relative paths.
* path.c(make_path): added phys_path argument to support cd -P.
* path.c(set_current_wd,get_phys_path,do_phys_path): new functions.
* misc.c(ksh_get_wd): new function.
* missing.c(getcwd): deleted.
* misc.c(options[]),sh.h: added "physical", FPHYSICAL.
Mon Apr 24 14:33:03 NDT 1995 Michael Rendell ([email protected])
* shf.c(shf_smprintf): new function.
* expand.h(Xsize): new define.
Fri Apr 21 21:22:44 NDT 1995 Michael Rendell ([email protected])
* sh.h: changed SIZEOF_long to SIZEOF_LONG.
* exec.c(scriptexec): if OS2 ifdefed code, changed ISDIRSEP to
explicit /.
Thu Apr 20 21:18:12 NDT 1995 Michael Rendell ([email protected])
* history.c(hist_get) if n < 0, use n + 1 to account for histbackup().
* lex.c(set_prompt): added source argument; changed all calls;
changed to do ! and !! substitutions when setting PS1.
* lex.c(pprompt): ifdef'd out code to deal with ! and !!.
* shf.c(shf_puts): new routine.
* exec.c(herein), lex.c(getsc_): changed to use shf_puts.
Thu Apr 20 15:50:35 NDT 1995 Michael Rendell ([email protected])
* siglist.sh: clear traps in subshell to cover for bug in bash 1.4.3
(based on fix from Fritz Heinrichmeyer).
Wed Apr 19 12:04:59 NDT 1995 Michael Rendell ([email protected])
* vi.c(classify): cleaned up table; filled in U_ flag for commands
that don't modify things.
* vi.c(first_insert, saved_inslen): new variables.
* vi.c(vi_reset): don't reset yanklen, inslen, lastcmd, lastac;
set first_insert, saved_inslen.
* vi.c(vi_insert): added code to handle first insertion to allow
redoing commands from last edit.
(based on fixes from Michael Jetzer).
* vi.c(VVERSION): new state.
* vi.c(classify): cleared C_ flag for 032 (^Z); set it for ^V.
* vi.c(nextstate): added VVERSION.
* vi.c(vi_hook): cases for VVERSION.
* sh.h(ksh_version): new declaration; removed declaration from
all other files.
* Makefile.in: removed rcs-ci, rcs-diff targets; put RCSFILES
into DISTFILES and removed former.
* var.c(newblock): copy argc/argv from previous env if it exists.
Tue Apr 18 23:10:32 NDT 1995 Michael Rendell ([email protected])
* jobs.c(exchild): report internal error if execute() returns in child.
* exec.c(execute): case TASYNC: clear exec flag in call to execute().
Tue Apr 18 12:05:23 NDT 1995 Michael Rendell ([email protected])
* emacs.c(x_bind): added list argument.
* c_ksh.c(c_bind): added -l (list) option.
* emacs.c,emacs-c.in: moved emacs.c to emacs-c.in.
* Makefile: add rule to create emacs.c from emacs-c.in.
* emacs-gen.sh: new file.
* emacs.c(struct x_defbindings, x_defbindings[]): new struct/array.
* emacs.c(struct x_ftab, x_ftab[]): removed x_db_tab, x_db_char;
initialize x_ftab[] via script.
* emacs.c(x_init_emacs): changed to load key bindings from
x_defbindings.
* emacs.c(Findex): added typedef.
* emacs.c(x_tab[]): changed to index into x_ftab; changed all refernces.
* emacs.c(xft_*): changed to XFUNC_*.
* emacs.c(XF_PREFIX): new flag, used for x_meta1, 2, 3.
* emacs.c(KPREF,KNULL): deleted (no functional use), changed
references to KSTD.
* emacs.c(x_last_command): changed type to Findex.
* emacs.c(x_emacs): set x_last_command to 0 at start; removed
same from case KEOL.
* emacs.c(XF_ARG): new flag for struct ftab.
* emacs.c(x_ftab[]): filled in XF_ARG for appropriate commands.
* emacs.c(x_arg_defaulted): new variable.
* emacs.c(x_emacs,x_set_arg): set x_arg_defaulted.
* emacs.c(x_bword, x_fword,x_fold_case): removed use of x_last_command.
* emacs.c(x_fold_upper,x_fold_lower,x_fold_capitailze): trivial
functions that call x_fold_case; changed x_ftab[] to use these
instead of x_fold_case so arbitrary keys can be bound to them.
* emacs.c(x_fold_case): changed to assume argument is 'L', 'U', or 'C'.
* emacs.c(x_del_back,x_del_char,x_prev_histword,x_prev_com,x_next_com,
x_kill,x_insert): use x_arg and x_arg_defaulted.
* emacs.c(x_delete): don't change mark point (xmp) if <= cp; added
force_push argument; changed all calls.
Mon Apr 17 10:30:12 NDT 1995 Michael Rendell ([email protected])
* emacs.c(x_e_getc): changed to handle macroptr, ungetting characters.
* emacs.c(x_e_ungetc): new function.
* emacs.c(x_emacs): let x_e_getc() take care of macroptr.
* emacs.c(x_version,x_search_hist): use x_e_ungetc() instead of
macroptr.
* emacs.c(x_set_arg): handle string of digits.
* emacs.c(x_search_hist): handle deleting chars from search string.
(fix from Dale DePriest)
* emacs.c(x_search): added sameline paramater.
* emacs.c(x_search_list): changes x_zots() to x_e_puts(); make
deleting in empty pattern break out of search.
* vi.c(domove): case '%': adjust ncursor forward only if matching
opening bracket (so when cursor is on the B in "(fooBar)", c%
changes the openbracket as well.
* vi.c(vi_cmd): case y/d/c: special case to move end point ahead
if move cmd is % and match was to the left of the cursor.
Thu Apr 13 10:34:26 NDT 1995 Michael Rendell ([email protected])
* vi.c(complete_word): no bell on ambiguous matches (user can
tell its ambiguous 'cause there is not space or slash appended)
* configure.in,aclocal.m4: added KSH_MEMMOVE, KSH_MEMSET tests
to fix problems with compiler builtins.
* misc.c(blocking_read, reset_nonblock) new routines.
* sh.h: deleted O_NONBLOCK ifdefs/defines.
* main.c(main),lex.c(getsc_),edit.c(x_getc),shf.c(shf_fillbuf):
use reset_nonblock().
(fix based on code from John Rochester)
Tue Apr 11 14:36:22 NDT 1995 Michael Rendell ([email protected])
* history.c(c_fc): mostly POSIXized.
* history.c(hist_execute,hist_get_newest,hist_get_oldest): new routines.
* history.c(hist_get,histget): changed histget to hist_get.
* history.c(hist_replace,histrpl): changed histrpl to hist_replace.
* lex.h(SHIST,histpush): deleted; deleted all references.
* history.c(histget): add approx check for history that hasn't
happened yet.
* misc.c(getn): allow leading plus (eg, +3).
* main.c(initcoms[]): defined history as "fc -l --".
* conf-end.h(JOBS): don't define if no posix or bsd process groups
(was if SIGCONT not defined).
Mon Apr 10 14:51:54 NDT 1995 Michael Rendell ([email protected])
* exec.c(comexec),c_ksh.c(c_getopts),c_sh.c(c_read): use FEXPORT flag.
* ksh_wait.h: changed to work with autoconf 2.x AC_HEADER_SYS_WAIT -
if sys/wait.h uses union wait, don't include it.
Thu Apr 6 12:19:58 NDT 1995 Michael Rendell ([email protected])
* tty.c(tty_init): print warning if open of /dev/tty fails.
Sat Mar 4 01:20:03 NST 1995 Michael Rendell ([email protected])
* io.c(maketemp): create valid dos filenames.
Mon Feb 27 11:04:32 NST 1995 Michael Rendell ([email protected])
* Changed from autoconf 1.x to autoconf 2.x.
* acconfig.h: included old config.h.top and config.h.bot.
* config.h.top, config.h.bot: deleted; deleted all references.
* install.sh: changed to install-sh; changed all references.
* Makefile.in: use @CPPFLAGS@, @CFLAGS@, @LDFLAGS@;
use @configure_input@; remove config.log and config.cache in
distclean; use @prefix@ and @exec_prefix@.
* ksh_dir.h: changed to use new autoconf defines; changed NLENGTH()
to NAMLEN(); changed all references.
Mon Feb 27 9:31:02 NST 1995 Michael Rendell ([email protected])
* sh.h(ISABSPATH): new macro.
* var.c(setspec): use ISABSPATH() when setting tmpdir.
* emacs.c(compl_file): added OS2 ifdefs.
* exec.c(scriptexec): OS2: ignore path specified in #! scripts.
* sh.h(ksh_dupbase): OS2: now same as unix.
* trap.c(sigtraps[],inittraps): remove OS2 defines.
* trap.c(alarm_catcher): V7_SIGNALS: use sig, not i.
(Fixes from Dale DePriest)
Mon Feb 27 10:06:00 NST 1995 Michael Rendell ([email protected])
* configure.in: test for resource.h.
* c_ulimit.c: include ksh_time.h instead of sys/time.h; use
HAVE_SYS_RESOURCE_H when including sys/resource.h
(was HAVE_SETRLIMIT).
* aclocal.m4(KSH_RLIM_T): check sys/resources.h for rlim_t.
Fri Feb 24 17:30:16 NST 1995 Michael Rendell ([email protected])
* vi.c(struct macro_state, macro): new structure/variable.
* vi.c(vi_hook, vi_cmd): use macro state info to allow nested macros,
detect recursive macros.
Wed Feb 22 21:20:43 NST 1995 Michael Rendell ([email protected])
* c_ksh.c(c_whence): "an export" instead of "a export".
* vi.c(classify[]): added @<char>.
* vi.c(vi_hook,vi_cmd): added support for @<char> (macros).
(fixes from Frank Edwards).
Sun Feb 19 11:57:20 NST 1995 Michael Rendell ([email protected])
* exec.c(comexec): case CFUNC: use cp (not tp->name) when checking if
an autoloaded function was defined; save/restore kshname before/after
function call.
* var.c(popblock): don't set kshname to e->loc->argv[0] - it isn't
always right.
Fri Feb 10 12:36:16 NST 1995 Michael Rendell ([email protected])
* misc.c(parse_args): check OF_SET when building set_opts (was
checking OF_CMDLINE).
* conf-end.h(JOBS): don't define if SIGCONT not defined.
* sh.h(FLOGIN) new enum.
* misc.c(options[],parse_args): added login option; set FLOGIN if
name in argv[0] starts with -.
* main.c(main): use FLOGIN flag; changed the way OS2 code looks
for profile.
Wed Feb 1 09:55:40 NST 1995 Michael Rendell ([email protected])
* expr.c(varsub): in FUNSET test, don't always fail # and %
substitutions (test for unset variable).
Wed Jan 25 09:22:15 NST 1995 Michael Rendell ([email protected])
* sh.h(MIN_COLS): new define.
* sh.h(MIN_EDIT_SPACE): new define.
* vi.c(prompt_trunc): new variable.
* vi.c(edit_resize): calculate how much of prompt to truncate.
* lex.c(pprompt): added new argument; changed all calls.
* lex.c(yylex),emacs.c(x_emacs),vi.c(x_vi): move pprompt() inside
x_emacs(), x_vi() or just before read in yylex().
Tue Jan 24 12:35:18 NST 1995 Michael Rendell ([email protected])
* misc.c(parse_args): changed arrayname variable to array.
* var.c(basename): changed name of function to arrayname();
changed all references (Based on fix from Dan Quinlan).
Fri Dec 30 10:34:50 NST 1994 Michael Rendell ([email protected])
* ksh.1: modifications to generate two man pages: sh and ksh
(Fixes from Michael Harrdt).
Wed Dec 28 16:55:13 NST 1994 Michael Rendell ([email protected])
* vi.c(complete_word): don't check for globing characters.
Wed Dec 28 10:32:18 NST 1994 Michael Rendell ([email protected])
* exec.c(search_access1): don't use ret variable; move "." to end
of xsuffixes/rsuffixes.
* os2.c(_execve): OS2: fixed typo.
* sh.h(FILENCMP): changed stricmp to strnicmp.
* os2/config.h: added define for rlim_t.
* os2/make.sed: changed > null to > nul.
* Makefile.in(dist): generate os2/makefile after running Dist-fixup.
(Fixes from Dale DePriest)
Thu Dec 22 15:06:06 NST 1994 Michael Rendell ([email protected])
* made pdksh-5.1.3 distribution
* *.c: removed RCSids.
Wed Dec 21 11:55:01 NST 1994 Michael Rendell ([email protected])
* table.h(struct tbl): changed array field to union of array/fname;
changed all references.
* c_ksh.c(c_whence): print undefined function path.
* exec.c(comexec): do autoloading of undefined functions; print
error if function can't be found.
* exec.c(findcom): fill in tp->u.fname for undefined functions;
search FPATH if search of PATH fails.
* table.h(FC_NOAUTOLOAD): deleted define; removed all references.
Tue Dec 20 14:16:16 NST 1994 Michael Rendell ([email protected])
* exec.c(herein): check if name is null.
* lex.h(HEREDELIM,SHEREDELIM,SHEREDQUOTE): new defines.
* lex.c(yylex): added code for HEREDELIM.
* syn.c(synio): use HEREDELIM.
* lex.c(readhere): changed to allow \n in here-delimiter.
* tree.c(tputS): quote ", ` and $ inside "-quotes.
* tree.c(ptree,pioact): made static.
* tree.c(ptree,fptreef,vfptreef): added indent argument; changed to
use indent argument; changed all calls.
* tree.h(struct ioword): added delim field.
* tree.c(iocopy),syn.c(synio,syntaxerr): deal with delim field.
* tree.c(pioact): print contents of here documents.
* c_ksh.c(c_typeset): typeset -f foo: set exit code to 1 if function
not found.
Mon Dec 19 15:14:02 NST 1994 Michael Rendell ([email protected])
* history.c(histinit): increment line number for each history line.
* exec.c(iosetup): OS2: if open /dev/null fails, try nul instead.
* Makefile.in(debugtools,install,uninstall): make check-pgrp last;
use $E.
* eval.c(eval,expand): OS2: added DODIRSWP code.
* main.c(main): OS2: only include $HOME/kshrc.ksh if interactive.
* sh.h(FILENCMP,FILECMP,FILECHCONV): new defines.
* misc.c(gmatch),vi.c(grabsearch,complete_word),emacs.c(compl_file):
OS2: case insensitive compares.
(fixes from Dale DePriest).
Mon Dec 19 09:54:42 NST 1994 Michael Rendell ([email protected])
* vi.c(vi_cmd): make ~ honour argcnt (fix from Troy Bollinger).
* vi.c(complete_word): don't add trailing / if there is already one.
* vi.c(glob_word): return rval, not 0.
Thu Dec 15 11:06:01 NST 1994 Michael Rendell ([email protected])
* vi.c(vi_cmd): call complete_word() with argument of 1 not 0.
Tue Dec 13 12:07:50 NST 1994 Michael Rendell ([email protected])
* history.c(histget): made static; added approx argument; changed
all calls.
Tue Dec 13 10:58:14 NST 1994 Michael Rendell ([email protected])
* Makefile.in(mandir): use $(manext), not 1 (fix from Mike Long).
Mon Dec 12 20:55:53 NST 1994 John Rochester ([email protected])
* tree.c(ptree): print TELIF part of if statements
Fri Dec 9 15:21:36 NST 1994 Michael Rendell ([email protected])
* trap.c(inittraps): OS2: don't trap SIGTERM (temporary fix).
* exec.c(search_access1): OS2: fixed to check for valid suffix
and change mode from X_OK to R_OK if appropriate.
* edit.c: include <sys/stream.h>, <sys/ptem.h> for SCO unix
(fix from William Bader).
* c_ulimit.c(c_ulimit): changed type of val from long to rlim_t
(fix from Thomas Gellekum and J.T.Conklin).
* aclocal.m4(KSH_RLIM_T): new test for rlim_t.
* configure.in: use KSH_RLIM_T.
* acconfig.h: added rlim_t.
Thu Dec 8 12:20:25 NST 1994 Michael Rendell ([email protected])
* expr.c(evalexpr): changed div-by-zero test to only derefernce vr
if operation is a divide.
Mon Dec 5 14:42:52 NST 1994 Michael Rendell ([email protected])
* exec.c(search): OS2: typo - changed namlen to namelen.
* exec.c(search_access): OS2: check execute bit explicitly.
* main.c(main): OS2: don't include ./profile.ksh.
* options.h(DEFAULT_PATH): OS2: added /os2 to path.
* sh.h(ksh_getdup): OS2: define to getdup(); prototype for getdup().
* Makefile.in(dist): create os2 Makefile based on distribution
Makefile.in.
Mon Dec 5 12:17:14 NST 1994 Michael Rendell ([email protected])
* made pdksh-5.1.2 distribution
* eval.c(globit): when searching directory, re-calculate end of
string based on prefix length.
Fri Dec 2 11:07:48 NST 1994 Michael Rendell ([email protected])
* syn.c(wordlist): if token isn't 'in', don't reject ;.
* eval.c(expand): leading non-white-space IFS chars no cause initial
empty field.
Thu Dec 1 12:04:00 NST 1994 Michael Rendell ([email protected])
* made pdksh-5.1.1 distribution
Thu Dec 1 10:50:38 NST 1994 Michael Rendell ([email protected])
* sh.h(TF_FATAL,fatal_trap): new define,variable.
* trap.c(inittraps,trapsig,fatal_trap_check,trap_pending,runtrap,
settrap): use TF_FATAL, fatal_trap.
* trap.c(runtraps): changed argument from bool to TF_* flag; changed
all calls.
* jobs.c(j_waitj): check fatal_trap flag.
Wed Nov 30 11:20:03 NST 1994 Michael Rendell ([email protected])
* conf-end.h: new file.
* config.h.bot: moved guts to conf-end.h.
* emacs.c(struct x_ftab): changed type of xf_db_char from char to int.
* emacs.c(x_emacs): changed type of c from char to int.
* emacs.c(X_NTAB): new define.
* emacs.c(x_bind,x_init_eamcs): new X_NTAB, X_TABSZ.
* emacs.c(x_prefix3, x_meta3): ifdef OS2.
* emacs.c(x_bind): ifdef OS2; mask *a1 with CHARMASK.
* exec.c(search_access): new function.
* exec.c(search): use search_access() instead of duplicating test.
* exec.c(search,search_access1): ifdef OS2.
* Makefile.in(OS2FILES): new macro.
* Makefile.in(dist): add OS2FILES to distribution.
* options.h(DEFAULT_PATH): ifdef OS2.
* edit.c(x_getc,x_mode): ifdef OS2.
* path.c(make_path): ifdef OS2.
Tue Nov 29 16:51:35 NST 1994 Michael Rendell ([email protected])
* sh.h(EXECSHELL,EXECSHELL_STR): ifdef OS2.
* exec.c(scriptexec): use EXECSHELL_STR (was "EXECSHELL").
* trap.c(sigtraps[]): ifdef OS2.
* lex.c(yylex): ifdef OS2.
* misc.c(change_flag): ifdef OS2.
* history.c(HISTFILE): ifdef OS2.
* eval.c(homedir): ifdef OS2.
* c_sh.c(shbuiltins[]): ifdef OS2.
* sh.h(ksh_execve,ksh_dupbase): new defines.
* jobs.c(exchild): ifdef use of nice.
Tue Nov 29 12:32:26 NST 1994 Michael Rendell ([email protected])
* eval.c(globit,copy_non_glob): changed to pass/use &xp it can change
(memory can be re-allocated).
* ksh_dir.h(NLENGTH): new macro.
* eval.c(globit): use NLENGTH macro.
* alloc.c(aresize): removed redundant np and optr variables.
Mon Nov 28 14:55:49 NST 1994 Michael Rendell ([email protected])
* config.h.bot(HISTORY): new define.
* lex.c(getsc_): ifdef HISTORY.
* history.c: ifdef HISTORY (dummy histsave, init_histvec and
hist_finish routines).
* c_ksh.c(kshbuiltins): c_fc: ifdef KSH
* lex.h(HISTORY): changed to HISTORYSIZE; changed all references.
* options.h(KSH): new define.
* config.h.bot: changed to deal with KSH define.
* exec.c(do_select,pr_menu): ifdef KSH.
* exec.c(execute): case TSELECT: ifdef KSH.
* c_ksh.c(c_whence,c_command,kshbuiltins[]): ifdef KSH.
* main.c(initcoms[],main): ifdef some aliases, SECONDS/RANDOM/TMOUT.
* syn.c(get_command): case TDBRACKET: ifdef KSH.
* syn.c(db_parse,db_aoexpr,db_nexpr,dp_primary): ifdef KSH.
* syn.c(tokentab[]): "select", "[[" ifdef KSH.
* var.c(special,getspec,setspec,unsetspec): ifdef KSH.
* ksh.1: ifdef KSH; misc fixups.
(changes mostly from Michael Haardt).
Mon Nov 28 14:27:34 NST 1994 Michael Rendell ([email protected])
* var.c(skip_varname,special,global,local), table.c(hash,tsearch,
tenter): made argument and return value const.
* main.c(version_param[]): new variable.
* main.c(initcoms[],main): use version_param instead of "KSH_VERSION".
* history.c(histsave): EASY_HISTORY: changed to take same arguments
as COMPLEX_HISTORY histsave(); changed all calls, removing
unneeded ifdefs.
* vi.c(x_vi), emacs.c(x_emacs): changed unwind() call from LINTR
to LSHELL so newline isn't printed twice - also lets runtrap()
set the exit code.
* vi.c(vi_cmd): increment source line if saving to history.
Fri Nov 25 14:43:57 NST 1994 Michael Rendell ([email protected])
* syn.c(get_command): don't generate a syntax error if EOF is read.
* configure.in: add LDSTATIC to LDFALGS if the former is set.
* history.c(hist_skip_back): start at the end of the buffer, not
one past the end (fix from Simon J. Gerraty).
Thu Nov 24 09:53:49 NST 1994 Michael Rendell ([email protected])
* syn.c(get_command,dogroup): allow { ...;} to be used instead
of do ...;done in for/select loops.
Wed Nov 23 09:09:43 NST 1994 Michael Rendell ([email protected])
* made pdksh-5.1.0 distribution
* var.c(setspec): set seconds to current time - assigned value,
not just current time.
* emacs.c(x_copy_arg): deleted ifdef'd out code (x_prev_histword()
does what it was supposed to do).
* emacs.c(compl_command): don't call list_stash() twice (happened
if type == 2 and multi set).
Tue Nov 22 10:26:13 NST 1994 Michael Rendell ([email protected])
* c_test.c(eval_unop): don't assume S_ISBLK, S_ISCHR, S_ISUID,
S_ISGID are defined.
* path.c(make_path): avoid addeding extra /'s in paths; avoid
infinate loop if result buffer not big enough.
* main.c(main): setting PWD: avoid calling setstr() with the
current value of PWD.
* var.c(typeset): set free_me to 0 if t is integer.
* emacs.c(x_search_hist): added overflow checking to fixed sized
buffers.
* emacs.c(compl_file,compl_command): removed fixed sized buffers.
* vi.c(x_vi), emacs.c(x_emacs): on interrupt, unwind instead of
calling runtraps().
* vi.c(vi_cmd): added 'g' command to goto the most recent command.
* c_sh.c(c_read), c_ksh.c(c_print): always increment source->line when
saving history.
Mon Nov 21 10:45:34 NST 1994 Michael Rendell ([email protected])
* exec.c(do_selectargs): removed use of pmenu variable (redundant)
use isspace() instead of IFS chars; include <ctype.h>.
* aclocal.m4(KSH_TERM_CHECK): do not allow HAVE_TERMIOS_H check to
succeed on ultrix (avoid type-ahead loss).
* emacs.c(x_fword): cahnged loop to skip non word chars, then word
chars (was the opposite).
* main.c(shell): after error/interrupt/etc, reset an EOF if ignoreeof
option is set.
* vi.c(classify[]): changed space (040) from C_|U_ to M_
(got broken in 5.0.10).
* ksh_wait.h(ksh_waitpid): new define.
* jobs.c(waitpid): moved define to ksh_wait.h; changed use of
waitpid() to ksh_waitpid().
* history.c(hist_skip_back),io.c(maketemp): use procpid instead of
getpid().
Fri Nov 18 16:08:09 NST 1994 Michael Rendell ([email protected])
* vi.c(FSHOW8): inverted meaning: now if set, do the M- stuff
(done so 8 bit char sets work by default).
* main.c(main): set exstat to 127 if command file can't be opened.
* main.c(main): use argv[0] instead of kshname when deciding
whether to include profiles.
Fri Nov 18 14:25:11 NST 1994 Michael Rendell ([email protected])
* made pdksh-5.0.10.1 distribution
* tty.h: deleted KSH_VDISABLE; moved _POSIX_VDISABLE stuff to edit.c.
* edit.c(x_init): calculate value for vdisable_c.
* edit.c(x_mode): use vdisable_c instead of KSH_VDISABLE.
Thu Nov 17 12:09:13 NST 1994 Michael Rendell ([email protected])
* made pdksh-5.0.10 distribution
* lex.c(getsc_),edit.c(x_getc): call runtraps(FALSE) if read is
interrupted.
* vi.c(x_vi),emacs.c(x_emacs): call runtraps(FALSE) (was TRUE).
Wed Nov 16 09:48:54 NST 1994 Michael Rendell ([email protected])
* exec.c(execute,scriptexec): call __setostype(0)/(1) before/after
execve() on ISC machines.
* trap.c(trap_pending): new fuction.
* jobs.c(j_waitj): use trap_pending(); return -<signal-number> if
interrupted.
* jobs.c(waitfor): added sigp argument; changed all calls.
* c_sh.c(c_wait): use signal number set by waitfor() to set exit status.
* shf.c(SHF_INTERRUPT): no longer calls intrcheck() - now sets
error flag and returns EOF.
* c_sh.c(c_read): re-arranged to have single shf_getc() call; if read
interrupted and signal is fatal (fatal_trap_check()), make read
return with appropriate exit code.
* trap.c(fatal_trap_check()): new function.
* trap.c(inittraps()): catch and cleanup on SIGHUP; don't force the
setting of SIGINT,SIGQUIT,SIGTERM,SIGHUP.
* table.c(tenter): changed to use strlen()/memcpy() instead of loops.
* var.c(initvar): new function.
* main.c(main): call initvar().
* var.c(special): changed to use hash table for lookup.
* main.c(main),syn.c(initkeywords): moved table initialization
from main() to initkeywords().
Tue Nov 15 10:01:20 NST 1994 Michael Rendell ([email protected])
* eval.c(copy_non_glob): new routine.
* eval.c(globit): changed to use copy_non_glob() instead of strchr().
* misc.c(cclass): if [..] pattern has no closing ], do literal
compare of character with [ (used to always fail).
* eval.c(globit): handle symbolic links in the check code.
* configure.in: added check for lstat().
* ksh_stat.h: defined lstat to be stat if lstat is not available.
* exec.c(search): return Xclose() instead of Xstring().
Mon Nov 14 16:28:41 NST 1994 Michael Rendell ([email protected])
* ksh_times.h: changed BROKEN_TIMES to TIMES_BROKEN.
* c_test.c(syntax): removed \n from error messages.
* eval.c(glob,globit): changed to use dynamicly allocated string
instead of a fixed sized buffer.
Thu Nov 10 10:47:55 NST 1994 Michael Rendell ([email protected])
* history.c(sethistsize): don't set size if new size is < 0; fixed
offset calculation so histptr is not way beyond the end of array;
if history is shrinking, save newest history back.
* vi.c(vi_hook): case VSEARCH: call restore_cbuf() after \n or \r.
* main.c(quitenv): call restfd() even if fd < 0 to re-close fd.
* exec.c(execute): commented out code that set savefd[0/1] to -1
if input/output was a pipeline.
* missing.c(dup2_fixup): deleted function.
* sh.h(dup2->dup2_fixup): deleted define.
* io.c(ksh_dup2): new function; changed all dup2() calls to ksh_dup2().
Wed Nov 9 11:11:31 NST 1994 Michael Rendell ([email protected])
* edit.h(struct edchars): added eof field.
* edit.c(x_init): initialize eof fields.
* vi.c(x_vi): changed ^D to edchars.eof.
* vi.c(vi_cmd): make I/cc/S skip blanks.
* history.c(histsave): EASY_HISTORY: use memmove() to copy pointers
back one.
* vi.c(vi_cmd): make G act the same as at&t ksh.
* vi.c(ismeta,O_): deleted macros; removed all references to O_.
* vi.c(classify[]): add ^X and ^F to command mode.
Tue Nov 8 11:15:01 NST 1994 Michael Rendell ([email protected])
* main.c(initsubs[]): don't set SHELL.
* vi.c(vi_cmd): added v command (start up vi).
* vi.c(vi_hook): added case for vi_cmd() returning 2.
* vi.c(grabsearch): set anchored flag if pattern starts with ^.
(based on fixes from Michael Jetzer).
* history.c(findhist): added anchored argument; changed all calls.
* history.c(histget): start searching from histptr-1; changed to
call findhist() to do searching.
* history.c(c_fc): changed to print multiline commands correctly.
(based on fixes from Michael Jetzer).
Fri Nov 4 10:30:14 NST 1994 Michael Rendell ([email protected])
* lex.c(yylex): when pushing alias sources, allocate from existing
source's area.
* lex.c(struct source): added areap field.
* lex.c(pushs): added area argument; changed all calls.
* history.c(histrpl): changed constant sized hline[] to expandable
string; removed hline/hsize parameters; changed all calls; put
newline at end of string.