home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / m / ms_sh21c.zip / notes < prev    next >
Text File  |  1992-12-14  |  7KB  |  191 lines

  1. RELEASE 2.1        Dec 12th 1992        RELEASE 2.1    Dec 12th 1992
  2.  
  3. Version 2.1 Release Notes:
  4.  
  5. Release 2.1 has a few bugs fixed and some OS/2 functionality changed.
  6.  
  7. Changes Functionality:
  8.  
  9. New in 210 Beta
  10.  
  11.     1.  Using the -R switch, causes the .ini file to be read just before
  12.     the first keyboard input.  This allows the location to be changed
  13.     by changing the value of the SHELL environment variable.
  14.     
  15.     2.  The job command in OS/2 will print the OS/2 process tree info.
  16.  
  17.         job -p        Print the process tree info for the shell
  18.         job -P id        Print the tree for process id.
  19.     
  20.     3.  Binary trees are used in a number of places instead of linked lists.
  21.  
  22.     4.    The OS/2 command line limit is now 32000 bytes.  Parameters with
  23.     white space in a quoted for parameters to a command passed via spawn
  24.     or exec.  This does not apply if the command supports indirect files.
  25.  
  26.     5.  case statements in functions nolonger corrupt memory.
  27.  
  28.     6.  OS/2 uses either files or pipes to pipe data.  The mode is selected
  29.     either via the command line (-P switch) or the set -/+o realpipes
  30.     command.  Note that using real pipes for more complex command strings
  31.     than a simple pipeline (a | b | c) might not work because of the
  32.     differences in the process models.  I'm not ready to introduce
  33.     multi-threading into the shell, yet.
  34.     
  35.     7.    kill now supports %job number.
  36.  
  37. New in 211 BETA.
  38.  
  39.     8.    Function keys to clear the screen and print the shell's process
  40.     tree (OS/2 only) have been added.
  41.     
  42.     9.  The cd command correctly handles directory names ending in a /.
  43.  
  44. New in 212 BETA.
  45.  
  46.    10.    ALT keys can now be specified in the sh.ini file.  Use 0xff to
  47.         specify and ALT key as opposed to 0 to specify a function key.
  48.  
  49.    11.  set -w enables the display of warning messages, +w disables it.
  50.  
  51.    12.  The shell checks for valid DOS filenames (single dot, not at the
  52.         beginning).  Invalid dots are converted to ~.  A warning message is
  53.     given.
  54.  
  55.    13.  The transpose and quote functions have been added to the command
  56.         line editor.
  57.    
  58.    14.  A bug in the sub-shell processing prevented exit 0 from exitting
  59.         with zero has been fixed.
  60.  
  61.    15.    All buffers are flushed before reading input.
  62.  
  63.    16.  A bug in the [[ ... ]] processing prevented it from working.
  64.  
  65. New in 213 BETA.
  66.  
  67.    17.  Unsetting special variables removes their meaning (RANDOM, SECONDS etc).
  68.  
  69.    18.  dos () { command -c $*; } did not convert the slashes correctly.
  70.  
  71.    19.  Fix format of function command to be POSIX - function name {} and
  72.         not function name () {}.
  73.  
  74.    20.  Set up LINES environment variable correctly
  75.  
  76.    21.    Fix bug in read so that "ls | while read n; do echo $n; done"
  77.         prints something other than just the first filename.
  78.  
  79.    22.  Set up HISTSIZE environment variable correctly and process it.
  80.  
  81.    23.    Disable checking of MCB chain above 0x9ffe0.
  82.  
  83. New in 214 BETA.
  84.  
  85.    24.    Pass parameters to script when executing dot files (. name 1 2 3).
  86.  
  87.    25.  Fix [ ] so that an empty expression returns false.
  88.  
  89.    26.  ${COMSPEC} is parsed and split on white space to allow addition
  90.         parameters to be passed to command.com.  Thus the default
  91.     environment size could be set to 1000 by setting
  92.     COMSPEC=command /e:1000.
  93.  
  94.    27.  The size of the retained history can be specified using HISTSIZE.
  95.  
  96.    28.  Fix bug in OS/2 real pipes where the shell does not wait for the
  97.         correct process to terminate.
  98.    
  99.    29.  Implement wait command for OS/2.
  100.  
  101.    30.  Null argument to a command generates "" in the command line.
  102.  
  103.    31.  Under OS/2, Sessions are nolonger logged as jobs with no way of
  104.         removing the job entry.
  105.     
  106.    32.  A bad command inside `` or $(...) terminates the current command
  107.         expression, instead of generating a null parameter to the command.
  108.  
  109.    33.  Add support in OS2 version for Eberhard Mattes EMX interface to
  110.         commands.  In the ${EXTENDED_LINE} file, emx instead of unix
  111.     selects this interface format.  In addition, add support in the
  112.     alternative stdargv.c.  If the EMX interface is used, stdargv
  113.     detects this and processes according.  Otherwise, the standard
  114.     interfaces are assumed.
  115.  
  116.    34.  Fix escaping of double quotes in the command line argument.
  117.  
  118.    35.    Add %number & %?string to job support commands (wait, kill).  Thats
  119.         about as far as full job support goes I think.
  120.  
  121.    36.  Implement 'getopts' command.
  122.  
  123. New in 215 BETA.
  124.  
  125.    37.    Now we cleanup all filenames before using them
  126.  
  127.    38.  Fixed 33 as default for OS/2.
  128.  
  129.    39.  Completed %[-+%] for jobs
  130.  
  131.    40.    Nothing new added since 215
  132.  
  133. Missing POSIX Shell functionality:
  134.  
  135.     I've looked at three different version of ksh (under AIX, HP UX and ICL's
  136.     DN/X) and each one has something slightly different.  In general, I believe
  137.     the following functionality is missing from the shell, some of which can not
  138.     be implemented under either MSDOS or OS/2.
  139.  
  140.     1.  ksh-style command line editing.  MS_shell has it's own style.
  141.     2.  Array parameters
  142.     3.  Filename generation currently matches the Bourne and not the Korn shell
  143.     4.  The correct processing of the escape character (\) inside double quotes.
  144.  
  145. Missing, not supportable.
  146.  
  147.     1.  The ulimit command - no MSDOS or OS/2 equivalent
  148.     2.  The times command is not implemented - no equivalent functionality
  149.     3.  The bg and fg commands are not implemented - no equivalent
  150.     functionality.
  151.     4.  cd -L/P is not supported.  No symbolic links under MSDOS or OS/2
  152.     5.  pwd -L/P is not supported.  No symbolic links under MSDOS or OS/2
  153.     6.  The set -p (disable $HOME/.profile processing) and set -m (run
  154.         background jobs in separate process group) have not been implemented.
  155.     7.  The ~ at the start of a word only supports the $HOME, $PWD or $OLDPWD
  156.         substitutions.  There's no /etc/passwd.
  157.     8.  TMOUT is not implemented, what's functionality under MSDOS or OS/2 I
  158.     ask?
  159.     9.  The time pipeline command - no MSDOS or OS/2 equivalent
  160.    10.  jobs under MSDOS - HA!
  161.    11.  Co-processes.  Again, really difficult to implement under MSDOS
  162.         and OS/2 (I think).
  163.  
  164. The following enhancements/bugs remain outstanding:
  165.  
  166.     1.  The processing of the escape character (\) is not consistent with the
  167.     Korn shell.  The MS-Shell always strips the first escape character.
  168.     The Korn shell only strips escape characters when it detects a shell
  169.     special character following.
  170.  
  171.     ie.  echo "\033[H" works under Korn however echo "\\033[H" is required
  172.          in the MSDOS shell.
  173.  
  174.     This problem requires a large amount of rework to one 30K source file
  175.     and I haven't been able to start on it yet.
  176.  
  177.     2.  8 Bit character are not supported.  This is tied in with the processing
  178.     of escape characters.  The shell uses the 8-bit to mark escaped
  179.     characters.
  180.     
  181.     3.  Interrupting a swap at the wrong time may cause the shell to hang.  I've
  182.     not been able to track this down.  I think it may be some funny
  183.     interaction with Quaterdesk's QEMM memory manager.
  184.     
  185. Thanks are due to
  186.  
  187.  
  188. for their comments, fixes, tolerance etc in testing release 2.1
  189.  
  190. Ian Stewartson.
  191.