home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 300-399 / ff342.lzh / SKsh / Addendum1.4.doc < prev    next >
Text File  |  1990-04-15  |  27KB  |  793 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.                               Addendum for Version 1.4
  17.  
  18.                                         SKsh
  19.  
  20.                            A ksh-like Shell for the Amiga
  21.  
  22.                                      Version 1.4
  23.  
  24.  
  25.                                (Copyright) 1989, 1990
  26.  
  27.                                      Steve Koren
  28.  
  29.                                    March 20, 1990
  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.           Addendum to Version 1.4
  74.  
  75.             This document describes additions and  changes  to  SKsh  since
  76.             version 1.3.
  77.  
  78.  
  79.             Beta version of tiny_sksh
  80.  
  81.                SKsh 1.4 includes a  preliminary  version  of  tiny_SKsh, an
  82.                SKsh without command line editing, history, or a  number  of
  83.                builtin commands.  It  does,  however,  include  the  entire
  84.                SKsh command parser  with  all  control  structures,  tests,
  85.                pipes, command substitution, shell functions, aliases,  etc.
  86.                This shell is still a "beta" version  -  most  of  the  SKsh
  87.                builtin commands are not yet provided as  external  commands
  88.                for tiny_SKsh.  It is possible, however, to test  whether  a
  89.                given  script  is  being  run  under  full  or  tiny   SKsh.
  90.                tiny_SKsh is described in more detail  in  the  TinySKsh.doc
  91.                file.
  92.  
  93.  
  94.             SIZE variable added
  95.  
  96.                A  new  SIZE variable has been added which  contains  either
  97.                "normal" or "tiny".  It can be used to test for  a  specific
  98.                version of SKsh.
  99.  
  100.  
  101.             case...esac statement added
  102.  
  103.                The case...esac construct now works in SKsh.  It  is  mostly
  104.                compatible with the ksh or sh case statement.  For example,
  105.  
  106.                  read answer
  107.                  case "$answer" in
  108.                     abc) echo 'You typed abc'
  109.                          ;;
  110.                     d?f) echo 'you typed d-something-f';;
  111.                     *  ) echo 'you typed something else entirely,'
  112.                          echo "which happens to have been $answer"
  113.                          ;;
  114.                  esac
  115.  
  116.                Like all other control structures, the  case  statement  may
  117.                be used from either  the  command  line  or  a  script.  The
  118.                case...esac statement is described in  more  detail  in  the
  119.                UserMan.doc file; please see that document for details.
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.           SKsh Amiga Shell             Page 2              Addendum to 1.4
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.             complist command added
  140.  
  141.                The SKsh file name completion mechanism  has  been  extended
  142.                to handle arbitrary strings.   SKsh  maintains  an  internal
  143.                list of strings and  performs  command  line  completion  on
  144.                these strings before performing filename  completion.   This
  145.                mechanism,  which  is  described  in  more  detail  in   the
  146.                reference manual, allows the following:
  147.  
  148.                * A  user  defined  list  of  completion  strings   can   be
  149.                  maintained to contain,  for  example,  device  or  program
  150.                  names (such as  "graphics:"  or  "calculator")  which  are
  151.                  commonly typed.
  152.  
  153.                * The completion list can contain programs which  are  found
  154.                  in the search path.
  155.  
  156.                * The  completion  list  can  buffer  the  contents  of  the
  157.                  current   directory   so   that   subsequent    successful
  158.                  completions do not  have  to  read  the  directory.   This
  159.                  makes filename completion usable on a floppy based  system
  160.                  or on a hard  disk  when  a  directory  contains  a  large
  161.                  number of files.  A shell  function  is  supplied  in  the
  162.                  Stuff.sksh file  which  adds  the  files  in  the  current
  163.                  directory to the completion list.
  164.  
  165.                * Another function provided  in  the  Stuff.sksh  file  adds
  166.                  file names stored in a .zoo file to the  completion  list.
  167.                  With a little work, the same mechanism could  be  extended
  168.                  to .arc or .lzh files.
  169.  
  170.                A new 'C' option has been added to turn this feature  on  or
  171.                off;  see  the  options command for details.   The  complist
  172.                command is described in more  detail  in  the  Reference.doc
  173.                manual; see that document for more information.
  174.  
  175.  
  176.             Resident command support
  177.  
  178.                SKsh  now  uses  the  ARP  resident  program  standard.    A
  179.                "resident" command has been added which allows  programs  to
  180.                be made resident or removed from  the  resident  list.   The
  181.                resident list can also be listed.
  182.  
  183.  
  184.             External commands now smaller, faster
  185.  
  186.                The SKsh external commands have been significantly  improved
  187.                both in size and performance over  their  1.3  counterparts.
  188.                The following table gives a rough indication of  performance
  189.                increases; times will, of course, vary  depending  on  drive
  190.                controllers, disk buffers, other tasks  running,  etc.   All
  191.                times are in seconds, and include  time  necessary  to  load
  192.                the command itself from disk:
  193.  
  194.  
  195.           SKsh Amiga Shell             Page 3              Addendum to 1.4
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.                  f1 = 438522 byte, 51348 line ascii file
  207.                  f2 = 426368 byte binary file
  208.                  f3 =  12239 byte binary file
  209.  
  210.                  Command                            1.3       1.4
  211.                 ---------------------------------------------------------
  212.                  wc f1 >nil:                         40        10
  213.                  wc -c f1 >nil:                      30         2
  214.                  head -20000 f1 >nil:                20         3
  215.                  tail -1000 f1 >nil:                 30         1  (1)
  216.                  cp f1 ram:                          47         4
  217.                  cp -n f1 nil:                       44         2
  218.                  strings f2 >nil:                    43        17
  219.                  cmp -s f2 f2                        60         8
  220.                  cmp -s f2 ram:f2                    48         6
  221.                  xd f3 >nil:                          3         4
  222.                  crc f2 >nil:                       n/a         7
  223.                  fgrep 'the' f1 >nil:               n/a        31  (2)
  224.                  grep 'the' f1 >nil:                n/a        94  (2)
  225.  
  226.                (1) Difference mainly due to change in algorithm
  227.                (2) Lattice grep is 103 seconds
  228.  
  229.                The commands are also much smaller in 1.4,  averaging  about
  230.                half their previous size.  However,  they  now  require  the
  231.                arp.library.
  232.  
  233.                Make sure you re-install the new commands in  place  of  the
  234.                old ones.
  235.  
  236.  
  237.             Some external commands pure
  238.  
  239.                Some of the SKsh external commands are now pure, and can  be
  240.                made resident.  To use this feature, set  the  pure  bit  on
  241.                the following files:
  242.  
  243.                  cmp          cp          du             head
  244.                  srun         strings     view           wc
  245.                  window       xd
  246.  
  247.                This can be accomplished  with  the  SKsh  "chmod"  command.
  248.                The  other  external  SKsh  binaries  can  *not*   be   made
  249.                resident;  a  bug  in  the  Lattice  C  compiler   currently
  250.                prevents that.  However, in a future release  of  SKsh,  all
  251.                of the external binaries may be pure.
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.           SKsh Amiga Shell             Page 4              Addendum to 1.4
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.             Backslash escape handling changed
  272.  
  273.                SKsh backslash escape handling has been changed to  be  more
  274.                compatible with Un*x.  Previously,  a  wildcard  had  to  be
  275.                single or double quoted to turn off  its  magic  properties;
  276.                now, it can be backslash escaped:
  277.  
  278.                  [prompt]: echo \* \*.\*
  279.                     * *.*
  280.  
  281.  
  282.             Filename completion escapes wildcard characters
  283.  
  284.                If command line filename completion is used  to  complete  a
  285.                file which contains wildcard characters  in  the  name  (for
  286.                example, a file called "foo*bar", the  completion  mechanism
  287.                will  automatically  escape  the  wildcard  character.   For
  288.                example, "foo\*bar" would be inserted in the  command  line,
  289.                which is most often the desired string, since it will  match
  290.                only the proper file.
  291.  
  292.  
  293.             Variable substitution mechanism changed
  294.  
  295.                All versions of SKsh prior to 1.4 treated  unquoted  strings
  296.                with imbedded variables (such  as  foo$bar)  different  than
  297.                unquoted strings which contained only a  variable  expansion
  298.                (such  as  $bar).   This  often  led  to  odd  results;  for
  299.                example, in version 1.3:
  300.  
  301.                  [prompt]: foo=blah
  302.                  [prompt]: echo "$foo.ZZZ"
  303.                     blah.ZZZ
  304.                  [prompt]: echo $foo.ZZZ
  305.                     blah .ZZZ       <-- notice the extra space
  306.  
  307.                SKsh 1.4 treats imbedded variable names  the  same  as  non-
  308.                imbedded variables:
  309.  
  310.                  [prompt]: foo=blah
  311.                  [prompt]: echo "$foo.ZZZ"
  312.                     blah.ZZZ
  313.                  [prompt]: echo $foo.ZZZ
  314.                     blah.ZZZ
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.           SKsh Amiga Shell             Page 5              Addendum to 1.4
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.             Variables can now easily be concatenated to text
  338.  
  339.                In SKsh 1.3, there was no easy way to concatenate the  value
  340.                of a variable with some text.  For example,  if  a  variable
  341.                named "blah" had some value ("ZZZ"), then  "$blahAAA"  would
  342.                be an empty string, since the entire  text  ("blahAAA")  was
  343.                taken to be a variable name.  If it  is  really  desired  to
  344.                concatenate "AAA" to the value of the  "blah"  variable,  it
  345.                can now be done as follows:
  346.  
  347.                  [prompt]: blah=ZZZ
  348.                  [prompt]: a=$blah\AAA
  349.                  [prompt]: echo $a
  350.                     ZZZAAA
  351.  
  352.                This avoids the ugly construct of:
  353.  
  354.                  [prompt]: a=$(echo -c $blah AAA)
  355.  
  356.                However, the  normal  backslash  escapes  ("\n",  etc)  take
  357.                precedence over this mechanism.
  358.  
  359.             New 'v' option flag added for variable/wildcard expansion
  360.  
  361.                A new 'v' option flag has  been  added  which  controls  the
  362.                expansion of variables which  contain  wildcard  characters.
  363.                The easiest way to  illustrate  this  is  with  an  example.
  364.                Consider  a   directory   containing   3   files,   "a.foo",
  365.                "blah.foo", and "c.bar":
  366.  
  367.                  [prompt]: options -v; dum='*'
  368.                  [prompt]: echo $dum.foo
  369.                     *.foo
  370.                  [prompt]: options +v
  371.                  [prompt]: echo $dum.foo
  372.                     a.foo blah.foo
  373.  
  374.                In the second "echo" statement, the value  of  "dum"  (which
  375.                happens to be  the  wildcard  character  "*")  is  used  for
  376.                wildcard expansion.  In the first case, (with the  "v"  flag
  377.                reset), it is not; the '*' is substituted as  is.   The  "v"
  378.                flag is reset by default, as this is the Un*x behavior.
  379.  
  380.  
  381.             Directory expansion bug fixed
  382.  
  383.                A somewhat obscure bug in the directory expansion  mechanism
  384.                that  evaded  detection  until  now  has  been  fixed.    If
  385.                "nested" wildcards (such  as  */*)  were  used  in  a  shell
  386.                command, and the top level  directory  contained  both  sub-
  387.                directories and files, SKsh would often crash if the  number
  388.                of arguments was large (more than 20 or so).  It  no  longer
  389.                does this.  The following command now works correctly,  even
  390.                for a large number of files:
  391.  
  392.  
  393.           SKsh Amiga Shell             Page 6              Addendum to 1.4
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.                  chmod +wd * */* */*/*
  405.  
  406.                Internal SKsh commands have no fixed limit on the number  of
  407.                files which can be matched by a  wildcard  expansion;  there
  408.                could  be  thousands,  limited  only  by  memory.   However,
  409.                external binaries are  still  limited  by  AmigaDos  to  255
  410.                character command lines.
  411.  
  412.  
  413.             fgrep, grep commands added
  414.  
  415.                Two text search  commands  have  been  added  which  provide
  416.                nearly all the options of their Un*x equivalents.  Only  the
  417.                '-b' (block) option is  not  supported  in  SKsh.   See  the
  418.                documentation on those commands for details.
  419.  
  420.  
  421.             srun command added
  422.  
  423.                The  srun command allows other commands to  be  run  in  the
  424.                background.  It differs from the  AmigaDos  run command (and
  425.                similar utilities  such  as  RunBack) in that standard input
  426.                and output can be redirected, and stack  size  and  priority
  427.                set for the background command.  It is useful in scripts  or
  428.                from the command line when a  background  command  will  use
  429.                the AmigaDos pipe: device.  See the  documentation  on  srun
  430.                for details.
  431.  
  432.  
  433.             view command added
  434.  
  435.                The  view command is a logical extension of  the  Un*x  file
  436.                utility.    view will attempt to guess a file's  type  based
  437.                upon either the contents of the file  or  the  file's  name.
  438.                It will then carry out a  user  defined  action  based  upon
  439.                that file type; for example, it might invoke  "show"  on  an
  440.                IFF bitmap file, "xd" on a binary file,  "zoo  -list"  on  a
  441.                zoo archive, or "lharc v" on an lharc archive.  Its  actions
  442.                are based on a configuration file so  that  new  file  types
  443.                can  be  added  as  they  appear.    view is easy to use but
  444.                somewhat complex to set up; the view "magic" file will  have
  445.                to be customized  to  your  specific  system  configuration.
  446.                See the View.doc file for details.
  447.  
  448.  
  449.             tee command added
  450.  
  451.                The  tee command simply copies its  standard  input  to  its
  452.                standard output and also to any files named in the  argument
  453.                list.  It  normally  overwrites  the  files,  but  can  also
  454.                append.   See  the  documentation  on  the   tee command for
  455.                details.
  456.  
  457.  
  458.  
  459.           SKsh Amiga Shell             Page 7              Addendum to 1.4
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.             crc command added
  471.  
  472.                crc is a small utility which computes several 32  bit  codes
  473.                based upon a file's  contents.   This  is  often  useful  to
  474.                check the integrity of  data  moved  across  a  questionable
  475.                transmission medium.
  476.  
  477.  
  478.             du command added
  479.  
  480.                The  du command prints disk usage information for a  set  of
  481.                directory subtrees.  It is similar in operation to the  Un*x
  482.                command of the same name,  although  it  is  more  flexible.
  483.                See the documentation for details.
  484.  
  485.  
  486.             cp now an external command
  487.  
  488.                The  cp command is now  an  external  binary,  not  a  shell
  489.                builtin as in SKsh 1.3.  This was done both to  improve  the
  490.                speed of  the  cp command and to reduce the size of the SKsh
  491.                binary so that new functions could be added.
  492.  
  493.  
  494.             Update option added to cp
  495.  
  496.                The  cp command now supports an  update  option  (-u)  which
  497.                will copy source files to  destination  files  only  if  the
  498.                source file is  newer  or  the  destination  file  does  not
  499.                exist.
  500.  
  501.  
  502.             Clone option changed for cp
  503.  
  504.                cp previously required the '-c' option if a clone  copy  was
  505.                to be made.  This is now the default; the  '-n'  option  can
  506.                be used to turn this behaviour off.
  507.  
  508.  
  509.             cp bugs fixed
  510.  
  511.                A few bugs in the  cp command were fixed.  For example, cp -
  512.                r used to complain if  the  destination  directory  existed.
  513.                It no longer does this.
  514.  
  515.  
  516.             LLMIN variable added
  517.  
  518.                LLMIN filters lines which are added  to  the  history  list;
  519.                any line which is shorter than LLMIN  characters  long  will
  520.                not be added unless the 'h' options is set.
  521.  
  522.  
  523.  
  524.  
  525.           SKsh Amiga Shell             Page 8              Addendum to 1.4
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.             MAXDIST variable added
  536.  
  537.                The MAXDIST variable also controls the history  list.   When
  538.                a line is entered from the keyboard  (whether  it  has  been
  539.                edited or not),  SKsh  will  search  backwards  through  the
  540.                history list for one just like it.  If a line  is  found  in
  541.                the last MAXDIST commands, the new one is not  entered  into
  542.                the history list (unless the 'h' option  is  set).   If  the
  543.                line  is  not  found,  or  is  found  greater  than  MAXDIST
  544.                commands away, it is  re-entered.   This  prevents  commonly
  545.                used commands from disappearing off  the  beginning  of  the
  546.                history list.
  547.  
  548.  
  549.             Exit performance improved
  550.  
  551.                SKsh previously took a few seconds to exit;  this  has  been
  552.                improved, and it now exits nearly instantly.
  553.  
  554.  
  555.             Filename expansion bug fixed
  556.  
  557.                There was previously a bug  in  the  command  line  filename
  558.                expansion code which changed a  leading  '..'  to  a  slash.
  559.                (For example, "../foo" would become "/foo").  This has  been
  560.                fixed.  In addition, a  leading  slash  will  no  longer  be
  561.                converted  to  a  ':',  although  this  did  not  cause  any
  562.                problems.
  563.  
  564.                An unrelated  but  similar  bug  was  changing  "..file"  to
  565.                "/file", even though there was no  slash  between  the  ".."
  566.                and "file".  This no longer happens.
  567.  
  568.  
  569.             ROOT variable added
  570.  
  571.                If Un*x style filename mapping is enabled, SKsh now has  the
  572.                ability to use a user-customized root.  For example, if  the
  573.                ROOT variable is set to ':' (as it is by  default),  a  path
  574.                beginning with a slash will use  the  root  of  the  current
  575.                device.  If ROOT is  set  to  'dh0:',  the  filespec  "/foo"
  576.                would specify a file called "foo"  which  was  on  the  hard
  577.                drive, even if the current working directory was  on  a  ram
  578.                or floppy disk.  If  ROOT  is  set  to  'dh0:usr/src/'  (the
  579.                trailing slash is important), path names  will  be  relative
  580.                to  that  directory.   Filename  completion  will  work   as
  581.                expected with the defined ROOT.
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.           SKsh Amiga Shell             Page 9              Addendum to 1.4
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.             ^d line editing bug fixed.
  602.  
  603.                In previous versions of SKsh, a ^d which was used to  delete
  604.                the last character in a line would cause "*** break"  to  be
  605.                printed when the next command was entered.  This  no  longer
  606.                happens.
  607.  
  608.  
  609.             cat bug fixed
  610.  
  611.                The SKsh 1.3  cat command would not print the last line of a
  612.                file if that line had no trailing newline  character.   This
  613.                has been fixed.
  614.  
  615.  
  616.             Stack requirements downgraded to 10k bytes.
  617.  
  618.                The minimum permitted stack size has  been  downgraded  from
  619.                16K to 10K  bytes.   It  may  be  reduced  again  in  future
  620.                versions.  The previous 16K size was mostly due to an  over-
  621.                zealous requirement.  It is  possible,  but  very  unlikely,
  622.                that the 10K size will be exceeded; if this  should  happen,
  623.                simply increase the size.  It should not be  a  problem  for
  624.                most users.
  625.  
  626.  
  627.             Additional error code added
  628.  
  629.                SKsh now has two error codes for programs  which  cannot  be
  630.                executed.  "Command not found" is reported  if  the  command
  631.                cannot be located in the search path.   If  a  file  of  the
  632.                same name is found, but it cannot be executed, then  "Unable
  633.                to execute program" is reported.
  634.  
  635.  
  636.             Function key text now appended to line
  637.  
  638.                Text inserted from a function key is  now  appended  to  the
  639.                end of  the  command  line  instead  of  replacing  the  old
  640.                command line.  This is often more useful.
  641.  
  642.  
  643.             LASTRC variable added
  644.  
  645.                A LASTRC variable has been added which  is  similar  to  the
  646.                existing $? variable.  $? contains the return code from  the
  647.                last command, whether that command was external or  internal
  648.                (such as a echo statement or while loop).  $LASTRC  contains
  649.                the return code from the last external command;  it  is  not
  650.                reset by internal return codes.
  651.  
  652.                Also, one point about return codes may not  be  clear;  even
  653.                complex statement have a  return  code.   For  example,  the
  654.                return code from an "if" statement is the return  code  from
  655.  
  656.  
  657.           SKsh Amiga Shell            Page 10              Addendum to 1.4
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.                the last statement  executed  inside  the  "if".   This  can
  668.                occasionally be useful.  The  same  applies  for  all  other
  669.                shell constructs.
  670.  
  671.  
  672.             Lattice date functions no longer used
  673.  
  674.                SKsh 1.3 used the Lattice  date  functions  to  display  the
  675.                date and time  for  files  and  directories.   However,  the
  676.                Lattice functions contained a bug  which  often  caused  the
  677.                day to be off by one.  SKsh 1.4 does  not  use  the  Lattice
  678.                date functions, so this bug no longer appears.
  679.  
  680.  
  681.             Documentation updates
  682.  
  683.                As  always,  I  have  tried  to  keep  the  UserMan.doc  and
  684.                Reference.doc documents up to date with the  latest  changes
  685.                and  additions.   A  new  View.Doc file has been added which
  686.                documents  the  view  command,  and  the  TinySKsh.doc  file
  687.                describes tiny_sksh.
  688.  
  689.  
  690.             New Files
  691.  
  692.                A  sample  view.magic file has been included  which  can  be
  693.                used  with  the  view command.  However, it will have to  be
  694.                modified to suit your  specific  system  configuration  (for
  695.                example, it must be told about which  program  you  wish  to
  696.                use to view IFF bitmap files).   See  the  View.doc file for
  697.                details.
  698.  
  699.  
  700.             SKsh binary size reduced
  701.  
  702.                I did some tuning of the SKsh code which  reduced  the  size
  703.                of the binary by about 10K.  The new SKsh 1.4 features  take
  704.                about 5K of this,  making  the  SKsh  1.4  binary  about  5K
  705.                smaller than the 1.3 binary.
  706.  
  707.  
  708.           Notes
  709.  
  710.             I am now distributing the SKsh archive in both  zoo  and  lharc
  711.             format.  The zoo files are easier to deal with in  Un*x,  while
  712.             lharc provides better compression.
  713.  
  714.             I have modified the copyright notice  in  the  UserMan.doc file
  715.             to cover several new cases including  uploading  SKsh  to  pay-
  716.             for-use computer systems (which is basically allowed except  if
  717.             that  system  tries  to  claim  any  rights  over  SKsh),   and
  718.             magazine/disk services which package PD or  shareware  software
  719.             and sell it, often with a magazine (which  is  basically  *not*
  720.             allowed except under unusual  circumstances).   Please  re-read
  721.  
  722.  
  723.           SKsh Amiga Shell            Page 11              Addendum to 1.4
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.             the copyright notice if you think  any  of  these  cases  might
  734.             apply to you.  Also, note that I  make  a  distinction  between
  735.             the magazine/disk services and  PD/shareware  disk  collections
  736.             such as the one compiled by Fred Fish.  I  place  much  harsher
  737.             restrictions on the magazine/disk services.
  738.  
  739.             SKsh 1.4 includes an  extremely  non-robust  implementation  of
  740.             "real" pipes using the '|' shell syntax.  It is turned  off  by
  741.             default (and the old method is used).   The  non-robustness  is
  742.             due exclusively to the two different AmigaDos I/O methods  (see
  743.             the Addendum1.3.doc file for a small discussion of  this).   If
  744.             you wish to play with the  real  pipes,  read  the  readme.pipe
  745.             file  included  with  this   distribution.    However,   please
  746.             understand that there are several problems,  and  this  feature
  747.             is not yet intended for normal use.
  748.  
  749.             I had  told  several  people  that  the  arp.library  would  be
  750.             distributed with SKsh 1.4.  However,  upon  examining  the  arp
  751.             distribution notice, I discovered that this is  not  practical.
  752.             The entire arp archive must be included unmodified, and I  must
  753.             place restrictions on the distribution  of  any  SKsh  archives
  754.             which contain the  arp  archive.   I  must  also  register  the
  755.             location of all sites having SKsh with arp.  For these  (and  a
  756.             few other) reasons, I opted  not  to  include  the  arp.library
  757.             here.
  758.  
  759.             I would again like to thank everyone who responded with  ideas,
  760.             suggestions, and bug reports.  While I could  not,  of  course,
  761.             implement them all, I have made a reasonable dent in the  list.
  762.             This  feedback  continues  to  be  an   important   source   of
  763.             improvements.  I would  also  like  to  thank  Fred  Fish,  who
  764.             maintains  a  compilation   of   freely   distributable   Amiga
  765.             software, and Tad Guy, who modederates the  comp.binaries.amiga
  766.             usenet group through which SKsh is distributed.
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.           SKsh Amiga Shell            Page 12              Addendum to 1.4
  790.  
  791.  
  792.  
  793.