dillon@CORY (Matt Dillon) (10/23/86)
I *Finally* got BCPL redirection working right. Also contains various bug fixes. Again, if you want the source just drop me a note. Unless a thousand bugs popup, this will be the last major revision until 1.2 becomes established. -Matt #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create: # instructions.txt # NOTES.txt # examples.txt # shell.uue # This archive created: Wed Oct 22 23:52:26 1986 export PATH; PATH=/bin:/usr/bin:$PATH echo shar: "extracting 'instructions.txt'" '(17742 characters)' if test -f 'instructions.txt' then echo shar: "will not over-write existing file 'instructions.txt'" else cat << \!Funky!Stuff! > 'instructions.txt' INSTRUCTIONS FOR SHELL 2.03 (A) Compiling (B) Overview (C) Quicky tech notes on implimentation. (D) Command pre-processor (E) Command-list (F) special SET variables (G) example .login file. (A) COMPILING: NOTE: An executable is provided as compilation instructions are difficult AND because there is a good change this version will not compile correctly using Manx. For you Manx hackers: Beware the C/Assembly interface when you convert. There is also a good chance you will not have the latest version of MY.LIB. This version of my shell MUST be compiled with Lattice. You must use the Provided Startup Module rather than Lstartup.obj or Astartup.obj. The startup module is equivalent to Astartup.obj except that I have added a little code at the beginning to save the BCPL startup state. Link using the provided startup module and the following libraries in this order: MY.LIB AMIGA.LIB LC.LIB MY.LIB is my own library which has been posted (but feel free to ask me to send it to you if you haven't got it). lc1 -i$incdir/ -i$incdir/lattice/ $y lc2 -s -v $y where $incdir is the include directory for C, and '$y' stands for each .C file. At this point you have nothing but object modules and must now link them together: NOTE: you MUST use the LC2 options. a/blink c.o+main.o+...+run.o library $libdir/my.lib+$libdir/amiga.lib+$libs+$libdir/lc.lib to ram:shell NOTE: c.o is provided, do not use standard startups (I said this above) Executable Size should be around 30K. (B) OVERVIEW: PROBLEMS -None that I know of. Note that you should not redirect the RUN command. to redirect the command the RUN command is running, embed a standard CLI redirection in the command string: RUN ">file" command OVERVIEW of the major features: -simple history -redirection -piping -command search path -aliases -variables & variable handling (embedded variables) -file name expansion via '?' and '*' -conditionals -source files (w/ gotos and labels) -many built in commands to speed things up NEW FEATURES IN 2.03. Thanks to Steve Drew who suggested a '_path' variable. The other difference with this version is that BCPL output redirection works properly. Additionaly, alias loops are detected (this is what is known as a hack). NEW FEATURES IN 2.02. I would like to thank Dave Wecker and Steve Drew for their numerous comments on the previous version of my shell. -Return code and error handling (A) retrieve return code (B) Manual or Automatic error handling. -Control C-F now passed to external commands. -can execute shell
jvkelley@watdragon.UUCP (Jeff Kelley) (10/25/86)
Matt's posting of his latest shell got chopped after the first hundred lines or so here. Could someone please e-mail me a copy? Thanks, Jeff Kelley {...!ihnp4!watmath!watdragon!jvkelley}