home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-11-25 | 39.9 KB | 1,443 lines |
- Newsgroups: comp.sources.misc
- From: sjg@zen.void.oz.au (Simon J. Gerraty)
- Subject: v26i071: pdksh - Public Domain Korn Shell, Version 4, Patch01a/2
- Message-ID: <csm-v26i071=pdksh.220032@sparky.IMD.Sterling.COM>
- X-Md4-Signature: 191efe6659e9fd7fdf93c1a3abb9548f
- Date: Tue, 26 Nov 1991 04:01:33 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: sjg@zen.void.oz.au (Simon J. Gerraty)
- Posting-number: Volume 26, Issue 71
- Archive-name: pdksh/patch01a
- Environment: UNIX
- Patch-To: pdksh: Volume 25, Issue 47-55
-
- This is the first patch release for PD KSH 4
- It is in two parts due to its size. Please apply
- this patch and the next together before attempting to rebuild.
-
- The main changes are to the build process.
- There have been some minor changes to most files in the
- ./sh directory to support building independently of the
- ./std tree.
-
- start of patch 25-Nov-91
- It should be applied by changing directory to the root
- of the source tree and using the command:
- patch -p0 < this_file
-
- The following is a complete list of patches to date.
-
- # PD ksh Version 4
- Prereq: 09-Nov-91
- Prereq: 10-Nov-91
- *** PATCHDATES.old Mon Nov 25 13:39:59 1991
- --- PATCHDATES Mon Nov 25 13:34:43 1991
- ***************
- *** 1,3 ****
- ! PD ksh Version 4
- 09-Nov-91
- 10-Nov-91
- --- 1,4 ----
- ! # PD ksh Version 4
- 09-Nov-91
- 10-Nov-91
- + 25-Nov-91
- *** /dev/null Mon Nov 25 11:15:05 1991
- --- ChangeLog Mon Nov 25 13:18:30 1991
- ***************
- *** 0 ****
- --- 1,17 ----
- + Fri Nov 22 22:24:29 1991 Simon J. Gerraty (sjg at zen)
- +
- + * Cleaned up the build process slightly. Makefiles in ./std tree
- + now maintain objects within the libraries rather than simply
- + building the .o's and archiving them. Of course the make(1) used
- + must know how to maintain libraries :-)
- +
- + * Added bug.report as a template for bug reporting.
- +
- + * Source in ./sh can be built independently of ./std tree if
- + desired. See comments in ./sh/Makefile.
- +
- + * As originally distributed some of libstdc.a was not used and
- + libposix.a was not used at all. On Sun's this highlighted a bug
- + (incompatibility) in the times() call. Now the ./std/libs are
- + used fully, and the supplied times() call functions as expected.
- +
- *** /dev/null Mon Nov 25 11:15:05 1991
- --- INSTALL Mon Nov 25 13:58:35 1991
- ***************
- *** 0 ****
- --- 1,141 ----
- + BUILDING THE PD KSH
- + ===================
- +
- + The PD KSH can be built in two ways. The default method uses
- + the POSIX/ANSI compatability libraries in ./std. The
- + alternative method is to build the ksh in ./sh without the ./std
- + tree. The second method should be used only if a) you have a
- + real POSIX environemnt or b) you have major difficulties with
- + building the ./std tree.
- +
- + I have modified the source slightly to make standalone building
- + simpler. Using -DNOSTDHDRS avoids attempts to include ANSI
- + headers that may be lacking. I have built the shell this way on
- + all Sun platforms and on a Bull DPX/2 (which has good POSIX
- + support) as a test only since it already has a real ksh.
- +
- + It is recommended that you try using the ./std tree first. This
- + avoids problems like BSD times() calls that do not return an
- + indication of elapsed time and so on.
- +
- + Using ./std:
- + ------------
- +
- + If you are on a Sun building it quite simple:
- +
- + make CONFIG=-D_BSD
- +
- + will do it. If you have a sun386 or sun3 and have gcc, it is
- + worth using, just add CC="gcc -pipe" to the above command line.
- + If you have SunOS 4.1 or later you probably need to add
- + -DHAVE_SYS_STDTYPES
- +
- + Building on other systems may well be more difficult.
- + Apparently the creating of the ./std/h tree causes problems on
- + some systems.
- +
- +
- + Notes on ./std:
- + ---------------
- +
- + I have updated the Makefiles in ./std/stdc and ./tsd/posix to
- + maintain the objects within the libraries. Ie.
- + libstdc.a(strstr.o) If your make(1) doesn't know how to do this
- + then you will need to modify the makefiles accordingly.
- +
- + In ReadMe.jrm, John MacMillan recommends being cautious of
- + std/libstdc.a and using only those routines which your system
- + lacks. Please note that I have tested virtually none of
- + ./std/stdc. The Makefile contains target lines for most modules
- + but most are commented out. I suggest you uncomment _only_
- + those that you need.
- +
- + On the other hand std/libposix.a seems quite safe, and
- + indeed provides a better times() call for BSD systems.
- +
- + Read ReadMe.jrm for more...
- +
- +
- + Building without ./std:
- + -----------------------
- +
- + On some systems it might be worth forgetting about ./std/lib*
- + either because they proved too difficult to build or they seem
- + unnecessary. As previously indicated I have done this on Sun's
- + and on a Bull system. On Sun's it is perhaps not a great idea
- + as you then get the system's times() call which does not behave
- + the way the shell wants.
- +
- + In anycase to build without ./std, you simply cd to ./sh and
- + either edit the Makefile accordingly, or use an appropriate
- + command line. For instance:
- +
- + Sun with SunOS 4.0:
- +
- + cd ./sh
- + ln -s ../std/stdc/strstr.c .
- + ln -s ../std/stdc/memmove.c .
- + make CFLAGS="-D_BSD -DNOSTDHDRS" \
- + XOBJS="strstr.o memmove.o" LDLIBS="" LDFLAGS=""
- +
- + Note that we still need a couple of functions from ./std/stdc
- +
- + On the Bull system which is a POSIX compliant System V machine:
- +
- + cd ./sh
- + make CFLAGS="-D_SYSV" LDLIBS="-lc_s" LDFLAGS=""
- +
- + On this system you need to undefine JOBS in config.h, jobs.c
- + assumes a lot and may cause problems for System V machines.
- +
- + INSTALLING:
- + ===========
- +
- + This is quite simple.
- +
- + # cp ./ksh /bin
- + # chmod 555 /bin/ksh
- +
- + The above assumes of course that you don't already have a
- + /bin/ksh :-)
- + The manual page ksh.1 should be copied to an appropriate
- + location.
- + BSD:
- + # cp ksh.1 /usr/man/man1
- + SYSV:
- + # nroff -man ksh.1 > /usr/catman/u_man/man1/ksh.1
- + # pack /usr/catman/u_man/man1/ksh.1
- +
- + Or something similar. For systems such as Sun's that really
- + only ship with a C-shell environment, the ./etc directory
- + contains a useful /etc/profile and /etc/ksh.kshrc file to
- + provide a suitable environemnt for /bin/sh and /bin/ksh users,
- + they should work, they are straight of my system and I use them
- + on Sun,Bull and even an SCO system.
- +
- +
- + PROBLEMS:
- + =========
- +
- + Clearly building will not be so simple on all systems.
- + Apparently some of the enum manipulations border on ilegal and
- + cause some compilers problems. Curiously both gcc -ansi and the
- + GreenHills compiler on the Bull system are quite picky and did
- + not complain. Note if you want to use gcc -ansi you may well
- + need to add some definitions, for instance the following all
- + work on the sun386:
- +
- + CC=cc
- + CC=gcc
- + CC=gcc -ansi -Dsun -Di386 -Dsun386
- +
- + The last three items on the last line are normally all defined
- + automatically, but this is disabled when -ansi is used. The
- + system headers do not work unless they know what architecture is
- + in use.
- +
- + If you find and fix a problem please fill in a copy of
- + ./bug-report and e-mail it to pdksh-bug@zen.void.oz.au
- +
- +
- +
- *** /dev/null Mon Nov 25 11:15:05 1991
- --- MACHINES Mon Nov 25 13:01:44 1991
- ***************
- *** 0 ****
- --- 1,25 ----
- + This shell has been compiled on the following systems:
- +
- + Notes:
- + (1) Built and tested by me (sjg), seems ok :-)
- + (2) Reported ok
- + (3) Reported no good
- + (4) Built with ./std/lib*
- + (5) Built without ./std/lib*
- + (6) No job control
- +
- + If you succesfully build this shell on another system please let
- + me know.
- +
- + System, OS Notes Compiler/Flags
- + -------------------------- ----- --------------
- + sun386, SunOS 4.0.2 1,4 gcc-1.40 -D_BSD
- + sun4c, SunOS 4.1.1 1,4 cc -D_BSD -DHAVE_SYS_STDTYPES
- + sun3, SunOS 4.0.3 1,4 cc -D_BSD
- + sun386, SunOS 4.0.2 1,5 cc -DNOSTDHDRS -D_BSD
- + sun4c, SunOS 4.1.1 1,5 cc -DNOSTDHDRS -D_BSD -DHAVE_SYS_STDTYPES
- + sun3, SunOS 4.0.3 1,5 cc -DNOSTDHDRS -D_BSD
- + Bull DPX/2, B.O.S. 2.00.45 1,5,6 cc -D_SYSV
- + Bull XPS-100 2,6
- +
- +
- *** MANIFEST.old Mon Nov 25 13:39:02 1991
- --- MANIFEST Mon Nov 25 13:35:14 1991
- ***************
- *** 1,113 ****
- File Name Archive # Description
- -----------------------------------------------------------
- ! README 1 Please read
- Changes.jrm 1
- Changes.mlj 1
- MANIFEST 1 This shipping list
- Makefile 1
- PATCHDATES 1 C-News style patch tracking
- ReadMe.jrm 1 General info and Install instructions
- ReadMe.sjg 1
- ReadMe.vimode 1
- etc 1
- ! etc/ksh.kshrc 1 global .kshrc, WARNING contains ESC chars
- etc/profile 1
- etc/sys_config.sh 1
- ksh.1 2 Manual page
- sh 1 ksh source
- ! sh/ChangeLog 1 Current change list
- sh/Changes 1
- ! sh/Makefile 1
- sh/ReadMe 1 Original ReadMe (out of date)
- ! sh/alloc.c 1
- sh/alloc.h 1
- ! sh/c_ksh.c 2
- ! sh/c_sh.c 2
- sh/c_test.c 3
- sh/config.h 1
- sh/edit.c 3
- ! sh/edit.h 1
- ! sh/emacs.c 3
- sh/eval.c 4
- ! sh/exec.c 4
- ! sh/expand.h 1
- sh/expr.c 3
- ! sh/getopts.c 4
- ! sh/history.c 4
- ! sh/io.c 4
- ! sh/jobs.c 5
- sh/lex.c 5
- ! sh/lex.h 4
- ! sh/mail.c 4
- ! sh/main.c 5
- ! sh/misc.c 5
- ! sh/sh.h 5
- ! sh/syn.c 6
- ! sh/table.c 6
- ! sh/table.h 6
- ! sh/trace.c 6 Simple trace facilty
- ! sh/trace.h 6
- ! sh/trap.c 6
- ! sh/tree.c 6
- ! sh/tree.h 6
- ! sh/tty.h 2
- ! sh/ulimit.c 6
- ! sh/var.c 7
- ! sh/version.c 4
- ! sh/vi.c 7
- std 1 libraries
- ! std/Makefile 5
- std/posix 2
- ! std/posix 2 posix lib source
- ! std/posix/Makefile 6
- ! std/posix/dirent.C 6
- ! std/posix/dirent.H 6
- ! std/posix/dirent.h 2
- ! std/posix/dup2.c 4
- ! std/posix/fcntl.c 6
- ! std/posix/fcntl.h 6
- ! std/posix/fixincludes 6
- ! std/posix/io.h 6
- ! std/posix/time.h 6
- ! std/posix/times.c 6
- ! std/posix/times.h 6
- ! std/posix/unistd.c 6
- ! std/posix/unistd.h 7
- ! std/posix/wait.h 7
- ! std/stdc 3 stdc lib source
- ! std/stdc/Makefile 7
- ! std/stdc/clock.c 7
- ! std/stdc/fprintf.c 7
- ! std/stdc/limits.h 7
- ! std/stdc/memchr.c 6
- ! std/stdc/memcmp.c 7
- ! std/stdc/memcpy.c 7
- ! std/stdc/memmove.c 7
- ! std/stdc/memset.c 7
- ! std/stdc/setvbuf.c 7
- ! std/stdc/sprintf.c 7
- ! std/stdc/stdarg.h 8
- ! std/stdc/stddef.h 8
- ! std/stdc/stdio.c 8
- ! std/stdc/stdio.h_std 8
- ! std/stdc/stdio.sed 8
- ! std/stdc/stdlib.h 8
- ! std/stdc/strcat.c 8
- ! std/stdc/strchr.c 8
- ! std/stdc/strcmp.c 8
- ! std/stdc/strcpy.c 8
- ! std/stdc/strcspn.c 8
- ! std/stdc/strerror.c 8
- ! std/stdc/string.h 8
- ! std/stdc/strlen.c 8
- ! std/stdc/strncat.c 8
- ! std/stdc/strncmp.c 8
- ! std/stdc/strncpy.c 8
- ! std/stdc/strpbrk.c 8
- ! std/stdc/strrchr.c 8
- ! std/stdc/strspn.c 8
- ! std/stdc/strstr.c 8
- ! std/stdc/strtok.c 8
- ! std/stdc/time.h 8
- ! std/stdc/types.h 8
- ! std/stdc/vprintf.c 8
- --- 1,121 ----
- File Name Archive # Description
- -----------------------------------------------------------
- ! ChangeLog 1 Current change history
- Changes.jrm 1
- Changes.mlj 1
- + INSTALL 1 Installation notes
- + MACHINES 1 Systems the shell has been built on
- MANIFEST 1 This shipping list
- Makefile 1
- PATCHDATES 1 C-News style patch tracking
- + README 1 Please read
- ReadMe.jrm 1 General info and Install instructions
- ReadMe.sjg 1
- ReadMe.vimode 1
- + bug-report 1 Bug report template
- etc 1
- ! etc/ksh.kshrc 1 global .kshrc
- etc/profile 1
- etc/sys_config.sh 1
- ksh.1 2 Manual page
- sh 1 ksh source
- ! sh/ChangeLog 2 Current change list
- sh/Changes 1
- ! sh/Makefile 2
- sh/ReadMe 1 Original ReadMe (out of date)
- ! sh/alloc.c 2
- sh/alloc.h 1
- ! sh/c_ksh.c 3
- ! sh/c_sh.c 3
- sh/c_test.c 3
- sh/config.h 1
- sh/edit.c 3
- ! sh/edit.h 3
- ! sh/emacs.c 4
- sh/eval.c 4
- ! sh/exec.c 5
- ! sh/expand.h 3
- sh/expr.c 3
- ! sh/getopts.c 5
- ! sh/history.c 5
- ! sh/io.c 5
- ! sh/jobs.c 6
- sh/lex.c 5
- ! sh/lex.h 5
- ! sh/mail.c 6
- ! sh/main.c 6
- ! sh/misc.c 6
- ! sh/sh.h 6
- ! sh/stdh.h 6 Centralise std header inclusion.
- ! sh/syn.c 7
- ! sh/table.c 7
- ! sh/table.h 7
- ! sh/trace.c 7 Simple trace facilty
- ! sh/trace.h 7
- ! sh/trap.c 7
- ! sh/tree.c 7
- ! sh/tree.h 7
- ! sh/tty.h 1
- ! sh/ulimit.c 7
- ! sh/var.c 8
- ! sh/version.c 3
- ! sh/vi.c 8
- std 1 libraries
- ! std/Makefile 3
- ! std/mklinks 1 make symlinks
- std/posix 2
- ! std/posix 4 posix lib source
- ! std/posix/ChangeLog 4 change history
- ! std/posix/Makefile 5
- ! std/posix/dirent.C 7
- ! std/posix/dirent.H 7
- ! std/posix/dirent.h 7
- ! std/posix/dup2.c 7
- ! std/posix/fcntl.c 7
- ! std/posix/fcntl.h 7
- ! std/posix/fixincludes 8
- ! std/posix/io.h 8
- ! std/posix/time.h 8
- ! std/posix/times.c 8
- ! std/posix/times.h 8
- ! std/posix/unistd.c 9
- ! std/posix/unistd.h 9
- ! std/posix/wait.h 9
- ! std/stdc 5 stdc lib source
- ! std/stdc/ChangeLog 7 change history
- ! std/stdc/Makefile 9
- ! std/stdc/clock.c 9
- ! std/stdc/fprintf.c 9
- ! std/stdc/limits.h 9
- ! std/stdc/memchr.c 8
- ! std/stdc/memcmp.c 9
- ! std/stdc/memcpy.c 9
- ! std/stdc/memmove.c 9
- ! std/stdc/memset.c 9
- ! std/stdc/setvbuf.c 9
- ! std/stdc/sprintf.c 9
- ! std/stdc/stdarg.h 9
- ! std/stdc/stddef.h 9
- ! std/stdc/stdio.c 9
- ! std/stdc/stdio.h_std 9
- ! std/stdc/stdio.sed 9
- ! std/stdc/stdlib.h 9
- ! std/stdc/strcat.c 9
- ! std/stdc/strchr.c 9
- ! std/stdc/strcmp.c 9
- ! std/stdc/strcpy.c 9
- ! std/stdc/strcspn.c 9
- ! std/stdc/strerror.c 9
- ! std/stdc/string.h 9
- ! std/stdc/strlen.c 9
- ! std/stdc/strncat.c 9
- ! std/stdc/strncmp.c 9
- ! std/stdc/strncpy.c 9
- ! std/stdc/strpbrk.c 9
- ! std/stdc/strrchr.c 9
- ! std/stdc/strspn.c 9
- ! std/stdc/strstr.c 9
- ! std/stdc/strtok.c 9
- ! std/stdc/time.h 9
- ! std/stdc/types.h 9
- ! std/stdc/vprintf.c 9
- *** Makefile.old Mon Nov 25 13:39:21 1991
- --- Makefile Mon Nov 25 13:54:22 1991
- ***************
- *** 1,14 ****
- # PD Bourne/Korn Shell
- ! #
-
- ! SHELL=/bin/sh
-
- #CONFIG= -D_SYSV
- ! #CONFIG= -D_BSD
- #CONFIG= -D_V7
- #CONFIG= -D_ST /* Atari ST */
-
- MANPAGES = ksh.1
- #INSTALL=bsdinstall
- INSTALL=install
-
- --- 1,21 ----
- # PD Bourne/Korn Shell
- ! # @(#)Makefile 1.4 91/11/25 13:54:20
-
- ! SHELL = /bin/sh
- ! MAKE = make
-
- + LN=ln -s
- + #LN=ln
- #CONFIG= -D_SYSV
- ! CONFIG= -D_BSD
- ! #CONFIG= -D_BSD -DHAVE_SYS_STDTYPES
- #CONFIG= -D_V7
- #CONFIG= -D_ST /* Atari ST */
-
- MANPAGES = ksh.1
- + #MANDIR=/usr/catman/u_man/man1
- + #MANDIR=/usr/man/man1
- +
- #INSTALL=bsdinstall
- INSTALL=install
-
- ***************
- *** 18,32 ****
- ( cd sh ; $(MAKE) 'CC=$(CC)' 'CONFIG=$(CONFIG)' $@ )
-
- libs:
- ! ( cd std ; $(MAKE) 'CC=$(CC)' 'CONFIG=$(CONFIG)' $@ )
-
- install: sh/ksh
- ! ( cd sh ; $(INSTALL) -s ksh $(HCRDESTDIR)/bin )
-
- sh/ksh: ksh
-
- inst-man: $(MANPAGES)
- ! $(INSTALL) -c -m 444 $(MANPAGES) $(HCRDESTDIR)/man/u_man/man1
-
- clean clobber:
- ( cd std ; $(MAKE) $@ )
- --- 25,39 ----
- ( cd sh ; $(MAKE) 'CC=$(CC)' 'CONFIG=$(CONFIG)' $@ )
-
- libs:
- ! ( cd std ; $(MAKE) 'CC=$(CC)' 'CONFIG=$(CONFIG)' 'LN=$(LN)' libs )
-
- install: sh/ksh
- ! ( cd sh ; $(INSTALL) -s ksh $(DESTDIR)/bin )
-
- sh/ksh: ksh
-
- inst-man: $(MANPAGES)
- ! $(INSTALL) -c -m 444 $(MANPAGES) $(MANDESTDIR)/man1
-
- clean clobber:
- ( cd std ; $(MAKE) $@ )
- *** README.old Mon Nov 25 13:38:06 1991
- --- README Sat Nov 23 11:55:04 1991
- ***************
- *** 1,5 ****
- Public Domain Korn Shell
- ! Version 4.1
-
- PD KSH:
-
- --- 1,5 ----
- Public Domain Korn Shell
- ! Version 4.2
-
- PD KSH:
-
- ***************
- *** 6,26 ****
- This is the latest version of the PD ksh (pdksh). It is not
- intended to be the ultimate shell but rather a usable ksh work
- alike. For those of us who have to work on multiple systems it
- ! is nice to have the same user interface on all. Pdksh is not
- ! 100% compatible with the ksh. Having said that, I use it daily
- beside a real ksh88 and find them virtually indistinguishable.
-
- I only run this shell on sun's and only for interactive use. I
- ! use it on sun4c, sun3 and sun386 systems. The makefiles are
- ! probably set up for a sun386 :-).
-
- ! I am releasing this version of the shell (with the kind
- permission of the previous maintainers and major contributors) to
- ensure that it is available from usenet archive sites. Of
- course it remains in the Public Domain. Equally obviously
- neither myself nor any other contributors make any claims of
- ! suitability etc. Ie. NO WARRANTY!!!
-
- HISTORY:
-
- This shell was written by Eric Gisin. It is based on Charles
- --- 6,37 ----
- This is the latest version of the PD ksh (pdksh). It is not
- intended to be the ultimate shell but rather a usable ksh work
- alike. For those of us who have to work on multiple systems it
- ! is nice to have the same user interface on all. I resisted
- ! moving to the ksh on a Bull system at work for nearly a year due
- ! to the lack of a ksh on my Sun systems. When I first picked up
- ! the 3.2 PD KSH a couple of years ago, it took any a few minutes
- ! to convert a C-shell fan to a ksh fan :-) Pdksh is not 100%
- ! compatible with the ksh. Having said that, I use it daily
- beside a real ksh88 and find them virtually indistinguishable.
-
- I only run this shell on sun's and only for interactive use. I
- ! use it on sun4c, sun3 and sun386 systems. The shell itself has
- ! been compiled on each of these both with and without the
- ! POSIX/ANSI compatability libraries in ./std. See the file
- ! MACHINES for details of systems that the shell has been built
- ! on.
-
- ! I have released this version of the shell (with the kind
- permission of the previous maintainers and major contributors) to
- ensure that it is available from usenet archive sites. Of
- course it remains in the Public Domain. Equally obviously
- neither myself nor any other contributors make any claims of
- ! suitability etc. Ie. NO WARRANTY!!! If you make any changes
- ! and distribute them, please leave your own finger prints in the
- ! source. Its bad enough being flamed for my own bugs let alone
- ! anyone elses :-)
-
- +
- HISTORY:
-
- This shell was written by Eric Gisin. It is based on Charles
- ***************
- *** 46,66 ****
-
- INSTALLATION:
-
- ! ReadMe.jrm is John R MacMillan's README file and contains
- ! information about the current source arrangement. Please read it.
-
- - Eric Gisin's original ReadMe file can be found in ./sh, it is
- - somewhat out of date but retained for history's sake :-) Use
- - the instructions in ReadMe.jrm.
- -
- The original instructions indicated that a POSIX compliant
- environment and possibly an ANSI compiler are required. I have
- ! used both gcc and native Sun compilers without problems.
- ! Actually I use gcc on the sun386 and cc on the others.
- ! I do know that a friend's SysVr2 NS3210 system required some
- ! serious modifications to get the shell running. If he ever
- ! sends me the diffs I'll fix the source :-)
-
- ENVIRONMENT:
-
- My main interest in this shell is for Sun workstations. Every
- --- 57,85 ----
-
- INSTALLATION:
-
- ! The file INSTALL contains intructions for building and
- ! installing the shell.
-
- The original instructions indicated that a POSIX compliant
- environment and possibly an ANSI compiler are required. I have
- ! used both gcc and native Sun and the GreenHills ANSI compiler
- ! without problems.
-
- + The POSIX/STDC compatability stuff in ./std seems to cause lots
- + of problems for some systems. This was at least in part because
- + I distributed it with half the librraies disabled :-), in any
- + case the shell itself in ./sh can now be compiled without any of
- + the ./std stuff which makes things much simpler on systems that
- + have a real POSIX environment.
- +
- + Porting to new environemnts can be a real pain. I don't really
- + plan to make a huge effort in this area since I expect that this
- + shell will be mainly required on exotic or obscure systems (the
- + ones that the vendor does not provide a ksh for). Thus the
- + small "market" does not warrant a C-news or X11 style
- + portability effort. Of course if people send patches for
- + various systems I'm happy to try and integrate them.
- +
- ENVIRONMENT:
-
- My main interest in this shell is for Sun workstations. Every
- ***************
- *** 88,97 ****
- Many folk have contributed to this shell. There are surely
- still plenty of bugs to be found/fixed.
-
- ! Feel free to e-mail fixes to pdksh-bug@zen.void.oz.au
- ! Please use context diffs (ie diff -c, get gnudiff if your
- ! system's diff doesn't support -c).
- ! I will, if need be, release patches following the C-news style.
-
- I hope you find this shell as useful as I do...
-
- --- 107,115 ----
- Many folk have contributed to this shell. There are surely
- still plenty of bugs to be found/fixed.
-
- ! There is a template bug report in bug-report [borrowed from the
- ! X11R5 mit tree], just fill in the blanks and mail to
- ! pdksh-bug@zen.void.oz.au.
-
- I hope you find this shell as useful as I do...
-
- *** /dev/null Mon Nov 25 11:15:05 1991
- --- bug-report Mon Nov 25 13:02:36 1991
- ***************
- *** 0 ****
- --- 1,32 ----
- + To: pdksh-bug@zen.void.oz.au
- + Subject: [area]: [synopsis] [replace with actual area and short description]
- +
- + VERSION:
- + PD KSH: 25-Nov-1991
- + [Official patches will edit this line to indicate the patch level]
- +
- + MACHINE and OPERATING SYSTEM:
- + [e.g. Sparc/SunOS 4.1.1, DECstation 3100/Ultrix 4.2, ...]
- +
- + COMPILER:
- + [e.g. native cc, native ANSI cc, gcc 1.39, ...]
- +
- + AREA:
- + [Area of the source tree affected,
- + e.g., std/posix, std/stdc, sh]
- +
- + SYNOPSIS:
- + [Brief description of the problem and where it is located]
- +
- + DESCRIPTION:
- + [Detailed description of problem. Please provide as much detail
- + as you can manage. The more information we have the more likely
- + a fix]
- +
- + SAMPLE FIX:
- + [Preferred, but not necessary. Please send context diffs (diff -c)]
- +
- + [PLEASE make your Subject: line as descriptive as possible.
- + Subjects like "pdksh bug" or "bug report" are not helpful!]
- + [Remove all the explanatory text in brackets before mailing.]
- + [Send to pdksh-bug@zen.void.oz.au]
- *** etc/ksh.kshrc.old Mon Nov 25 13:39:05 1991
- --- etc/ksh.kshrc Mon Nov 18 19:26:19 1991
- ***************
- *** 16,28 ****
- # $HOME/.kshrc
- #
- # AMENDED:
- ! # 91/11/12 19:39:44 (sjg)
- #
- # RELEASED:
- ! # 91/11/12 19:39:46 v2.4
- #
- # SCCSID:
- ! # @(#)ksh.kshrc 2.4 91/11/12 19:39:44 (sjg)
- #
- # @(#)Copyright (c) 1991 Simon J. Gerraty
- #
- --- 16,28 ----
- # $HOME/.kshrc
- #
- # AMENDED:
- ! # 91/11/18 19:25:39 (sjg)
- #
- # RELEASED:
- ! # 91/11/18 19:25:41 v2.5
- #
- # SCCSID:
- ! # @(#)ksh.kshrc 2.5 91/11/18 19:25:39 (sjg)
- #
- # @(#)Copyright (c) 1991 Simon J. Gerraty
- #
- ***************
- *** 54,94 ****
- # the PD ksh is not 100% compatible
- case "$KSH_VERSION" in
- *PD*) # PD ksh
- - builtin=builtin
- bind ^?=delete-char-backward
- bind ^[^?=delete-word-backward
- ;;
- *) # real ksh ?
- - builtin=""
- ;;
- esac
- case "$TERM" in
- sun*)
- - # these are not as neat as their csh equivalents
- if [ "$tty" != console ]; then
- ! ilabel () { print -n "\033]L$*\033\\"; }
- ! label () { print -n "\033]l$*\033\\"; }
- ! alias stripe='label $USER @ $HOSTNAME \($tty\) - $PWD'
- ! cds () { "cd" $*; eval stripe; }
- ! alias cd=cds
- ! eval stripe
- ! eval ilabel "$USER@$HOSTNAME"
- ! PS1=$PROMPT
- fi
- ;;
- xterm*)
- ! # these are not as neat as their csh equivalents
- ! ilabel () { print -n "\033]1;$*\007"; }
- ! label () { print -n "\033]2;$*\007"; }
- ! alias stripe='label xterm: $USER @ $HOSTNAME \($tty\) - $PWD'
- ! cds () { "cd" $*; eval stripe; }
- ! alias cd=cds
- ! eval stripe
- ! eval ilabel "$USER@$HOSTNAME"
- ! PS1=$PROMPT
- ;;
- *) ;;
- esac
- alias quit=exit
- alias cls=clear
- alias logout=exit
- --- 54,91 ----
- # the PD ksh is not 100% compatible
- case "$KSH_VERSION" in
- *PD*) # PD ksh
- bind ^?=delete-char-backward
- bind ^[^?=delete-word-backward
- ;;
- *) # real ksh ?
- ;;
- esac
- case "$TERM" in
- sun*)
- if [ "$tty" != console ]; then
- ! ILS='\033]L'; ILE='\033\\'
- ! WLS='\033]l'; WLE='\033\\'
- fi
- ;;
- xterm*)
- ! ILS='\033]1;'; ILE='\007'
- ! WLS='\033]2;xterm: '; WLE='\007'
- ;;
- *) ;;
- esac
- + # do we want window decorations?
- + if [ "$ILS" ]; then
- + wftp () { ilabel "ftp $*"; "ftp" $*; ilabel "$USER@$HOSTNAME"; }
- + wcd () { "cd" $*; eval stripe; }
- + ilabel () { print -n "${ILS}$*${ILE}"; }
- + label () { print -n "${WLS}$*${WLE}"; }
- + alias stripe='label $USER @ $HOSTNAME \($tty\) - $PWD'
- + alias cd=wcd
- + alias ftp=wftp
- + eval stripe
- + eval ilabel "$USER@$HOSTNAME"
- + PS1=$PROMPT
- + fi
- alias quit=exit
- alias cls=clear
- alias logout=exit
- *** sh/ChangeLog.old Mon Nov 25 13:38:51 1991
- --- sh/ChangeLog Mon Nov 25 13:41:15 1991
- ***************
- *** 1,3 ****
- --- 1,39 ----
- + Mon Nov 25 12:36:42 1991 Simon J. Gerraty (sjg at zen)
- +
- + * stdh.h: make sure FD_CLEXEC is defined if we support F_SETFD.
- +
- + * emacs.c: Attempt to make alloc() of x_tab acceptible to more
- + compilers. Not 100% yet.
- +
- + Sat Nov 23 14:31:44 1991 Simon J. Gerraty (sjg at zen)
- +
- + * Improved fd_clexec handling for systems that don't have
- + an F_SETFD fcntl(). The new arrangement will not blow up if an
- + attempt is made to fd_clexec a fd above MAXFD (64 by default).
- + main.c:main() and io.c:savefd() now simply call
- + exec.c:fd_clexec().
- +
- + Fri Nov 22 11:24:57 1991 Simon J. Gerraty (sjg at zen)
- +
- + * Since many people had problems using the headers and libraries
- + in std/*, modified sh/* so that they can be compiled in the
- + absence of std/*. This requires putting in some fixes that I had
- + left out from my 3.2 version. Particularly, catering for systems
- + that do not have F_SETFD.
- +
- + * exec.c:
- + Added fd_clexec array for tracking fd's to close in child after
- + fork(). This is avoid wasting fd's on systems that don't have
- + F_SETFD.
- +
- + * jobs.c:
- + Allow Sun's and perhaps other BSD systems to define WAIT_T to be
- + union wait and thus use their native status handling for children.
- +
- + * The file sh/MACHINES now tracks systems the shell has been
- + compiled on.
- +
- +
- Sat Nov 9 14:57:30 1991 Simon J. Gerraty (sjg at zen)
-
- * Release version 4.1 as a new base line.
- *** sh/Makefile.old Mon Nov 25 13:39:24 1991
- --- sh/Makefile Mon Nov 25 13:33:17 1991
- ***************
- *** 1,27 ****
- # PD Bourne/Korn Shell
- ! # NOTE: the are no depencies of .c file on .h files yet.
-
- SHELL = /bin/sh
-
- ! # This is for the sun386i your mileage may vary :-)
- ! #CC=gcc -ansi -Dsun386 -Dsun -Di386
-
- #CONFIG= -D_SYSV
- CONFIG= -D_BSD
-
- ! STD= ../std
-
- ! #CC = shcc
- ! CCOPTS = $(DBG)
- ! CFLAGS = $(CCOPTS) -I$(STD)/h $(CONFIG)
-
- ! #LDOPTS = -s
- ! LDFLAGS = $(LDOPTS) -L$(STD)
-
- ! COMPATLIBS = -lstdc # -lposix
- ! #OTHERLIBS = -lc_s
- ! #OTHERLIBS = -ldirent
- ! LDLIBS = $(COMPATLIBS) $(OTHERLIBS)
-
- HDRS = sh.h table.h expand.h lex.h tree.h tty.h trace.h
- SRCS1 = version.c main.c misc.c trap.c alloc.c io.c \
- --- 1,68 ----
- # PD Bourne/Korn Shell
- ! # @(#)Makefile 1.3 91/11/25 13:33:10
-
- SHELL = /bin/sh
- + MAKE = make
-
- ! LN = ln
-
- + # You _can_ build this shell without the ../std tree if your
- + # system provides a sufficiently POSIX environment, or if your
- + # BSD system is a Sun or close. If not try ../std.
- +
- + # gcc is good value on most mc68k's and sun386's if nothing else.
- + # if you don't have gcc cc should do
- + # CC=gcc -pipe
- + CC=cc
- +
- + # The following are the defintions used (or thereabouts)
- + # to build ksh without ../std
- + #
- + # sun386 SunOS 4.0.2, sun3 SunOS 4.0.3
- + # CONFIG=-D_BSD
- + # XOPTS=-DNOSTDHRDS
- + # copy these from ../std/stdc or ensure they are in libstdc.a
- + # XOBJS = memmove.o strstr.o
- + #
- + # sun3 SunOS 4.1.1
- + # CONFIG=-D_BSD
- + # XOPTS=-DNOSTDHRDS
- + # copy these from ../std/stdc or ensure they are in libstdc.a
- + # XOBJS = memmove.o
- + #
- + # sun4c (sparc) SunOS 4.1.1
- + # CC=cc -pipe # don't use gcc
- + # CONFIG=-D_BSD
- + # XOPTS=-DNOSTDHRDS
- + # copy these from ../std/stdc or ensure they are in libstdc.a
- + # XOBJS = memmove.o
- + #
- + # Bull DPX/2 B.O.S. 2.00.45
- + # CONFIG=-D_SYSV
- + # XOPTS=
- + # XOBJS=
- + #
- +
- #CONFIG= -D_SYSV
- + #CONFIG= -D_BSD -DHAVE_SYS_STDTYPES
- CONFIG= -D_BSD
-
- ! STD=../std
- ! INCL=$(STD)/h
- ! XINCL=-I$(STD)/h
- ! LDOPTS=-L$(STD)
- ! XOBJS=
-
- ! # use -O if you trust it :-)
- ! #DBG=-g
- ! CFLAGS = $(DBG) $(CONFIG) $(XINCL) $(XOPTS)
-
- ! LDFLAGS = $(LDOPTS)
-
- ! COMPATLIBS = -lstdc -lposix
- ! #XLIBS = -lc_s
- ! #XLIBS = -ldirent
- ! LDLIBS = $(COMPATLIBS) $(XLIBS)
-
- HDRS = sh.h table.h expand.h lex.h tree.h tty.h trace.h
- SRCS1 = version.c main.c misc.c trap.c alloc.c io.c \
- ***************
- *** 36,42 ****
- exec.o jobs.o trap.o \
- c_sh.o c_ksh.o c_test.o \
- ulimit.o getopts.o expr.o history.o \
- ! var.o table.o alloc.o io.o eval.o mail.o trace.o
-
- ksh: $(OBJS)
- $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
- --- 77,83 ----
- exec.o jobs.o trap.o \
- c_sh.o c_ksh.o c_test.o \
- ulimit.o getopts.o expr.o history.o \
- ! var.o table.o alloc.o io.o eval.o mail.o trace.o $(XOBJS)
-
- ksh: $(OBJS)
- $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
- ***************
- *** 47,51 ****
- clobber: clean
- rm -f ksh
-
-
- ! edit.o emacs.o: edit.h
- --- 88,282 ----
- clobber: clean
- rm -f ksh
-
- + link:
- + ($(SHELL) ../std/mklinks $(INCL) stdh.h)
- +
-
- ! depend:
- ! makedepend $(CFLAGS) $(SRCS1) $(SRCS2)
- !
- ! install:
- ! @echo "Try:"
- ! @echo "cp ksh /bin"
- ! @echo "strip /bin/ksh"
- ! @echo "chmod 555 /bin/ksh"
- !
- ! # DO NOT DELETE THIS LINE -- make depend depends on it.
- ! # If this runs make out of memory, delete /usr/include lines.
- ! alloc.o: alloc.c
- ! alloc.o: config.h
- ! alloc.o: sh.h
- ! alloc.o: stdh.h
- ! alloc.o: trace.h
- ! c_ksh.o: c_ksh.c
- ! c_ksh.o: config.h
- ! c_ksh.o: sh.h
- ! c_ksh.o: stdh.h
- ! c_ksh.o: table.h
- ! c_ksh.o: trace.h
- ! c_sh.o: c_sh.c
- ! c_sh.o: config.h
- ! c_sh.o: lex.h
- ! c_sh.o: sh.h
- ! c_sh.o: stdh.h
- ! c_sh.o: table.h
- ! c_sh.o: trace.h
- ! c_sh.o: tree.h
- ! c_test.o: c_test.c
- ! c_test.o: config.h
- ! c_test.o: sh.h
- ! c_test.o: stdh.h
- ! c_test.o: trace.h
- ! edit.o: config.h
- ! edit.o: edit.c
- ! edit.o: edit.h
- ! edit.o: lex.h
- ! edit.o: sh.h
- ! edit.o: stdh.h
- ! edit.o: trace.h
- ! edit.o: tty.h
- ! emacs.o: config.h
- ! emacs.o: edit.h
- ! emacs.o: emacs.c
- ! emacs.o: expand.h
- ! emacs.o: lex.h
- ! emacs.o: sh.h
- ! emacs.o: stdh.h
- ! emacs.o: table.h
- ! emacs.o: trace.h
- ! emacs.o: tree.h
- ! eval.o: config.h
- ! eval.o: eval.c
- ! eval.o: expand.h
- ! eval.o: lex.h
- ! eval.o: sh.h
- ! eval.o: stdh.h
- ! eval.o: table.h
- ! eval.o: trace.h
- ! eval.o: tree.h
- ! exec.o: config.h
- ! exec.o: exec.c
- ! exec.o: lex.h
- ! exec.o: sh.h
- ! exec.o: stdh.h
- ! exec.o: table.h
- ! exec.o: trace.h
- ! exec.o: tree.h
- ! expr.o: config.h
- ! expr.o: expr.c
- ! expr.o: sh.h
- ! expr.o: stdh.h
- ! expr.o: table.h
- ! expr.o: trace.h
- ! getopts.o: config.h
- ! getopts.o: getopts.c
- ! getopts.o: sh.h
- ! getopts.o: stdh.h
- ! getopts.o: table.h
- ! getopts.o: trace.h
- ! history.o: config.h
- ! history.o: history.c
- ! history.o: lex.h
- ! history.o: sh.h
- ! history.o: stdh.h
- ! history.o: trace.h
- ! io.o: config.h
- ! io.o: io.c
- ! io.o: sh.h
- ! io.o: stdh.h
- ! io.o: trace.h
- ! jobs.o: config.h
- ! jobs.o: jobs.c
- ! jobs.o: sh.h
- ! jobs.o: stdh.h
- ! jobs.o: trace.h
- ! jobs.o: tree.h
- ! lex.o: config.h
- ! lex.o: expand.h
- ! lex.o: lex.c
- ! lex.o: lex.h
- ! lex.o: sh.h
- ! lex.o: stdh.h
- ! lex.o: table.h
- ! lex.o: trace.h
- ! lex.o: tree.h
- ! mail.o: config.h
- ! mail.o: mail.c
- ! mail.o: sh.h
- ! mail.o: stdh.h
- ! mail.o: table.h
- ! mail.o: trace.h
- ! main.o: config.h
- ! main.o: lex.h
- ! main.o: main.c
- ! main.o: sh.h
- ! main.o: stdh.h
- ! main.o: table.h
- ! main.o: trace.h
- ! main.o: tree.h
- ! memmove.o: memmove.c
- ! memmove.o: stdh.h
- ! misc.o: config.h
- ! misc.o: expand.h
- ! misc.o: misc.c
- ! misc.o: sh.h
- ! misc.o: stdh.h
- ! misc.o: trace.h
- ! strstr.o: stdh.h
- ! strstr.o: strstr.c
- ! syn.o: config.h
- ! syn.o: expand.h
- ! syn.o: lex.h
- ! syn.o: sh.h
- ! syn.o: stdh.h
- ! syn.o: syn.c
- ! syn.o: table.h
- ! syn.o: trace.h
- ! syn.o: tree.h
- ! table.o: config.h
- ! table.o: sh.h
- ! table.o: stdh.h
- ! table.o: table.c
- ! table.o: table.h
- ! table.o: trace.h
- ! times.o: times.c
- ! trace.o: trace.c
- ! trap.o: config.h
- ! trap.o: sh.h
- ! trap.o: stdh.h
- ! trap.o: trace.h
- ! trap.o: trap.c
- ! tree.o: config.h
- ! tree.o: sh.h
- ! tree.o: stdh.h
- ! tree.o: trace.h
- ! tree.o: tree.c
- ! tree.o: tree.h
- ! ulimit.o: config.h
- ! ulimit.o: sh.h
- ! ulimit.o: stdh.h
- ! ulimit.o: trace.h
- ! ulimit.o: ulimit.c
- ! var.o: config.h
- ! var.o: expand.h
- ! var.o: sh.h
- ! var.o: stdh.h
- ! var.o: table.h
- ! var.o: trace.h
- ! var.o: var.c
- ! version.o: config.h
- ! version.o: sh.h
- ! version.o: stdh.h
- ! version.o: trace.h
- ! version.o: version.c
- ! vi.o: config.h
- ! vi.o: edit.h
- ! vi.o: expand.h
- ! vi.o: lex.h
- ! vi.o: sh.h
- ! vi.o: stdh.h
- ! vi.o: table.h
- ! vi.o: trace.h
- ! vi.o: tree.h
- ! vi.o: vi.c
- ! # WARNING: Put nothing here or make depend will gobble it up!
- *** sh/alloc.c.old Mon Nov 25 13:38:52 1991
- --- sh/alloc.c Fri Nov 22 22:54:13 1991
- ***************
- *** 2,11 ****
- * area-based allocation built on malloc/free
- */
-
- static char *RCSid = "$Id";
-
- ! #include <stddef.h>
- ! #include <stdlib.h>
- #include <setjmp.h>
- #include "sh.h"
-
- --- 2,13 ----
- * area-based allocation built on malloc/free
- */
-
- + #ifndef lint
- static char *RCSid = "$Id";
- + static char *sccs_id = "@(#)alloc.c 1.2 91/11/22 22:53:32 (sjg)";
- + #endif
-
- ! #include "stdh.h"
- #include <setjmp.h>
- #include "sh.h"
-
- *** sh/c_ksh.c.old Mon Nov 25 13:38:32 1991
- --- sh/c_ksh.c Fri Nov 22 22:54:13 1991
- ***************
- *** 2,12 ****
- * built-in Korn commands: c_*
- */
-
- static char *RCSid = "$Id: c_ksh.c,v 3.4 89/03/27 15:47:16 egisin Exp $";
-
- ! #include <stddef.h>
- ! #include <stdio.h>
- ! #include <string.h>
- #include <errno.h>
- #include <setjmp.h>
- #include "sh.h"
- --- 2,13 ----
- * built-in Korn commands: c_*
- */
-
- + #ifndef lint
- static char *RCSid = "$Id: c_ksh.c,v 3.4 89/03/27 15:47:16 egisin Exp $";
- + static char *sccs_id = "@(#)c_ksh.c 1.2 91/11/22 22:53:34 (sjg)";
- + #endif
-
- ! #include "stdh.h"
- #include <errno.h>
- #include <setjmp.h>
- #include "sh.h"
- *** sh/c_sh.c.old Mon Nov 25 13:38:39 1991
- --- sh/c_sh.c Fri Nov 22 22:54:11 1991
- ***************
- *** 4,20 ****
-
- #ifndef lint
- static char *RCSid = "Id: /u/egisin/sh/src/RCS/c_sh.c,v 3.1 88/11/03 09:14:31 egisin Exp $";
- ! static char *sccs_id = "@(#)c_sh.c 1.3 91/11/09 15:35:24 (sjg)";
- #endif
-
- ! #include <stddef.h>
- ! #include <stdio.h>
- ! #include <string.h>
- #include <errno.h>
- #include <signal.h>
- #include <setjmp.h>
- - #include <sys/times.h>
- #include <unistd.h> /* getcwd */
- #include "sh.h"
- #include "lex.h"
- #include "tree.h"
- --- 4,18 ----
-
- #ifndef lint
- static char *RCSid = "Id: /u/egisin/sh/src/RCS/c_sh.c,v 3.1 88/11/03 09:14:31 egisin Exp $";
- ! static char *sccs_id = "@(#)c_sh.c 1.4 91/11/22 22:53:24 (sjg)";
- #endif
-
- ! #include "stdh.h"
- #include <errno.h>
- #include <signal.h>
- #include <setjmp.h>
- #include <unistd.h> /* getcwd */
- + #include <sys/times.h>
- #include "sh.h"
- #include "lex.h"
- #include "tree.h"
- ***************
- *** 21,26 ****
- --- 19,27 ----
- #include "table.h"
-
- static char *clocktos();
- + #ifndef CLK_TCK
- + #define CLK_TCK 60 /* 60HZ */
- + #endif
-
- int
- c_label(wp)
- *** sh/c_test.c.old Mon Nov 25 13:38:40 1991
- --- sh/c_test.c Fri Nov 22 22:54:14 1991
- ***************
- *** 5,18 ****
- * (-x -c -b -p -u -g -k) plus Korn's -L -nt -ot -ef and new -S (socket).
- */
-
- static char *RCSid = "$Id: c_test.c,v 3.3 89/03/27 15:47:25 egisin Exp $";
-
- ! #include <stddef.h>
- ! #include <string.h>
- #include <signal.h>
- #include <errno.h>
- #include <setjmp.h>
- - #include <sys/types.h>
- #include <sys/stat.h>
- #include "sh.h"
-
- --- 5,19 ----
- * (-x -c -b -p -u -g -k) plus Korn's -L -nt -ot -ef and new -S (socket).
- */
-
- + #ifndef lint
- static char *RCSid = "$Id: c_test.c,v 3.3 89/03/27 15:47:25 egisin Exp $";
- + static char *sccs_id = "@(#)c_test.c 1.2 91/11/22 22:53:37 (sjg)";
- + #endif
-
- ! #include "stdh.h"
- #include <signal.h>
- #include <errno.h>
- #include <setjmp.h>
- #include <sys/stat.h>
- #include "sh.h"
-
- *** sh/config.h.old Mon Nov 25 13:39:24 1991
- --- sh/config.h Fri Nov 22 22:54:12 1991
- ***************
- *** 1,5 ****
- --- 1,7 ----
- /*
- * Configuration file for the PD ksh
- + *
- + * SCCSID: @(#)config.h 1.2 91/11/22 22:53:31
- */
-
- #ifndef _CONFIG_H
- ***************
- *** 11,24 ****
-
- #define EMACS /* EMACS-like mode */
- #define VI /* vi-like mode */
-
- ! /*
- ! * Various compilation options. They are defined to 1 because
- ! * the original code uses #if a lot, and some versions of cpp
- ! * seem to choke on #if NOTDEF
- ! */
-
- ! #define JOBS /* job control */
- /* #define FASCIST /* Fascist getopts */
- #define SHARPBANG /* Hack to handle #! */
- /* #define SILLY /* Game of life in EMACS mode */
- --- 13,28 ----
-
- #define EMACS /* EMACS-like mode */
- #define VI /* vi-like mode */
- + #define JOBS /* job control */
-
- ! #ifndef SIGINT
- ! #include <signal.h>
- ! #endif
-
- ! #if defined(JOBS) && !defined(SIGCONT)
- ! #undef JOBS
- ! #endif
- !
- /* #define FASCIST /* Fascist getopts */
- #define SHARPBANG /* Hack to handle #! */
- /* #define SILLY /* Game of life in EMACS mode */
- *** sh/edit.c.old Mon Nov 25 13:38:42 1991
- --- sh/edit.c Fri Nov 22 22:54:06 1991
- ***************
- *** 1,5 ****
- --- 1,6 ----
- /*
- * Command line editing - common code
- + *
- */
-
- #include "config.h"
- ***************
- *** 7,19 ****
-
- #ifndef lint
- static char *RCSid = "$Id: edit.c,v 3.2 89/03/27 15:47:34 egisin Exp $";
- ! static char *sccs_id = "@(#)edit.c 1.4 91/11/09 15:35:07 (sjg)";
- #endif
-
- ! #include <stddef.h>
- ! #include <stdlib.h>
- ! #include <string.h>
- ! #include <stdio.h>
- #include <unistd.h>
- #include <signal.h>
- #include <fcntl.h>
- --- 8,17 ----
-
- #ifndef lint
- static char *RCSid = "$Id: edit.c,v 3.2 89/03/27 15:47:34 egisin Exp $";
- ! static char *sccs_id = "@(#)edit.c 1.5 91/11/22 22:52:59 (sjg)";
- #endif
-
- ! #include "stdh.h"
- #include <unistd.h>
- #include <signal.h>
- #include <fcntl.h>
-
- exit 0 # Just in case...
- --
- Kent Landfield INTERNET: kent@sparky.IMD.Sterling.COM
- Sterling Software, IMD UUCP: uunet!sparky!kent
- Phone: (402) 291-8300 FAX: (402) 291-4362
- Please send comp.sources.misc-related mail to kent@uunet.uu.net.
-