home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / ms_sh22b.zip / Notes < prev    next >
Text File  |  1993-12-01  |  11KB  |  300 lines

  1. RELEASE 2.2    December 1st 1993    RELEASE 2.2    December 1st 1993
  2.  
  3. Version 2.2 Release Notes:
  4.  
  5. Release 2.2 has a few bugs fixed and some OS/2 functionality changed.
  6. Well, at least thats the way it started.
  7.  
  8. Changes Functionality:
  9.  
  10. 220 Beta Release
  11.  
  12.     1.    The Lexical analyser and Word Expansion code have been completely
  13.         replaced, courtesy of Simon J. Gerraty who allowed me to take the
  14.     initial code from his PD version of the ksh.  This means that the
  15.     8th bit problem has been disappeared and meta-character processing
  16.     should be fixed.
  17.     2.  Array parameters have been implemented.
  18.     3.  A bug in keyboard handling for Swedish keyboards has been fixed.
  19.     4.  When preparing the parameters for a command, the convert option
  20.     converts / following a - now to a \ which it didn't before.
  21.     5.  The time command has been implemented, for what it's worth.
  22.     6.  Csh type alternations ({..,...,}) are supported.  They must be enabled
  23.     using set -o alternation.  They can be disabled using
  24.     set +o alternation.
  25.     7.  Numeric values inside a numeric expression are now of the format
  26.     base#value instead of the old [base]value.  This conforms to the
  27.     versions of the ksh I have.
  28.     8.  When a tilde subsitution is performed, double slashes are reduced
  29.     to one.
  30.  
  31. 221 Beta Release
  32.  
  33.     9.    Fixed bug in Filename completion when the string to expand is empty.
  34.  
  35.    10.    Fixed bug which generated the 'too many files open' message.
  36.  
  37.    11.  Fixed bug which caused $() pipelines to not write the final output
  38.         to stdout.
  39.  
  40. 222 Beta Release
  41.  
  42.    12.  Fix bug in doecho which causes a memory overflow with long parameters
  43.  
  44.    13.  Fix bug in sh4.c which causes a memory violation if the first
  45.         argument expands to a (char *)NULL.
  46.  
  47.    14.  OS/2 Native Port for IBM C Set/2 1.0 CSD 40.  Future releases
  48.         contain three executables:
  49.  
  50.        shdos.exe - MSDOS version
  51.        sh16.exe  - OS/2 16-bit version
  52.        sh32.exe  - OS/2 32-bit version
  53.  
  54.    15.  Fix a bug in FileName Completion so that HPFSs are handled correctly.
  55.  
  56.    16.  Ensure I/O streams (cf. fopen) are closed correctly.
  57.  
  58.    17.  Fix cursor position on last line of screen when inserting characters.
  59.         Also ensure cursor is placed on the next blank line when input in
  60.     completed.
  61.  
  62.    18.  Fix a bug in the processing of Aliases.  The word following a alias
  63.     was always checked for alias, which should only happen if the last
  64.     character of the alias is a space (c = CHAR_TAB, instead of c ==
  65.     CHAR_TAB).
  66.  
  67.    19.  Allow the title of a OS/2 window to be changed from MS Shell by 
  68.     setting the WINTITLE environment variable.
  69.  
  70.    20.  Fix bug in display functions which caused memory violation on case
  71.        statements.
  72.  
  73.    21.  Fix bug in Swap failure under MSDOS
  74.  
  75.    22.  Fix bug in \nnn processing.  Only convert if the n's are octal and
  76.         there are three of them.
  77.  
  78.    23.  Fix bug in if..then..else..fi where Exit status not set correctly.
  79.  
  80.    24.  Support script files ending in .ksh as well as .sh.
  81.  
  82.    25.  Fix bug with ; ; as a command line
  83.  
  84.    26.  Fix bug with IFS values not reset correctly after subshell.
  85.  
  86.    27.  Fix bug in IsCommandBuiltIn which did not return the correct value
  87.         for a drive change.
  88.  
  89.    28.  Under OS/2, protect against drive not ready errors.
  90.  
  91.    29.  Fixed a bug which seemed to have been around since 1.4 which
  92.         stopped 'sh -x script' from executing.
  93.  
  94.    30.  Fixed a bug caused an interactive shell to start in response to
  95.         'sh -c'.
  96.  
  97.    31.  Improved the syntax error reporting.
  98.  
  99.    32.  Fixed a bug with 'sh -s' which did not match the manual page.
  100.  
  101.    33.  Changed the way programs are DosExecPgm'd in OS/2 so that
  102.         interrupts do not kill background tasks and foreground tasks are
  103.         interruptable, and the interrupt does not kill the shell!
  104.  
  105.    34.  Directory Listing looks more like Korn Shell now.
  106.  
  107.    35.    A sort of version of times for OS/2 2.x 32-bit version.
  108.  
  109.    36.    Start work on VI and EMACS.  VI tested.  EMACS completely untested
  110.     and not enabled.
  111.  
  112.    37.  Fixed a optimiser bug in doexec, which caused exec to hang the
  113.     PC under MSDOS.
  114.  
  115.    38.  Support for Borland Turbo C added (still requires Microsoft MASM).
  116.         You need to edit tsh.lnk to reflect library and CRT locations.
  117.  
  118.    39.  Support for WatCom C/386 added (incomplete).  I've not had enough
  119.         time to explore this compiler.
  120.  
  121.    40.  Move stdargv.c into sh8.c to reduce size of MSDOS version to 170K.
  122.  
  123. 223 Beta Release
  124.  
  125.    41.  Fixed processing of Profile so that $HOME can be set in /etc/profile.
  126.  
  127.    42.  Fixed processing of history file so that it is loaded after processing
  128.        the profiles.
  129.  
  130.    43.  Completed VI code.
  131.  
  132.    44.  Fixed some other bugs introduced by 'quick fixes'.
  133.  
  134.    44.  Fixed bug with EOF key.
  135.  
  136.    45.  Add option to remove case sensitivity for OS/2 on HPFS (set -o
  137.         ignorecase)
  138.  
  139. 224 Beta Release
  140.  
  141.    46.  WATCOM 32-bit mode DOS available.  So we now have four versions!!
  142.  
  143.        shdos16.exe - MSDOS 16-bit version
  144.        shdos32.exe - MSDOS 32-bit version
  145.        shos216.exe - OS/2 16-bit version
  146.        shos232.exe - OS/2 32-bit version
  147.  
  148.     Added new environment variable SHMODE which gives the Shell mode
  149.     - 16 or 32 bit.
  150.  
  151.    47.  Fixed bug in startup code under MSC 6 which expects the stdargv
  152.     code to set up _osmajor and _osminor under MSDOS.
  153.  
  154.    48.  Changed the Interrupt 24 handling for DOS 32 version.
  155.  
  156.    49.  cd -L/P and pwd -L/P supported under DOS.  Gets the truename of 
  157.     a directory, ignoring SUBST drives etc.
  158.  
  159.    50.  Fix bug in startup code for DOS which does not process the length
  160.         of the command string correctly - KERMIT problem.  Also, if EMX
  161.     mode has been used, do not correct /c command string.  Check for
  162.     double quotes on the command string if in argument 0 (original DOS
  163.     or OS/2 command line).
  164.  
  165.    51.  Set -m now runs background jobs in separate process group - OS/2
  166.         only.  The old -m functionality is obtained from -M.
  167.  
  168.    52.  Fix Input so that prompt appears for interactive shell when input
  169.         is not from the console.  Note that editing is not available for
  170.     such input.
  171.  
  172.    53.    Set up I/O streams buffering for stdout and stderr to line and none
  173.         respectively.
  174.  
  175.    55.  Implement track all command which was missing.
  176.  
  177.    56.    Fix another bug in file handler for sub-shells.  Use a map instead
  178.         of the next available file descriptor at a particular sub-shell level.
  179.  
  180.    57.  Under OS/2, if file descriptor 0 and 1 are pipes and there are no
  181.         arguments to the shell, the interactive flag is set.  This is to
  182.     allow the shell to run under EMACS.
  183.  
  184. 225 Beta Release
  185.  
  186.    58.  Fix a bug with Root shells and the EOF key which caused the shell to
  187.         loop on the no exit message.
  188.  
  189.    59.  Replaced all the isatty functions with an explicit test so we get
  190.         the same results on DOS and OS/2 and independent of the compiler.
  191.  
  192.    60.  In the test (dotest) code, if the current string is a unary operator
  193.         and the next string is a binary operator, assume the current string is a
  194.     parameter to the binary operator and not a unary operator. And not
  195.     the other way round.
  196.  
  197.    61.  Fix bug in dotrap which prevented traps from being unset.
  198.  
  199.    62.  Add support for signal names and UNIX to DOS mappings in trap.  If
  200.         the signal number is numeric, it is a UNIX signal number and is mapped
  201.     to the DOS value.  Also add 'trap -l' to list the signal names
  202.     which are not the same as the kill names.
  203.  
  204.    63.  Allow test and set of VERIFY and BREAK status using set -o etc.
  205.  
  206.    64.  Move interrupt check from sh0.asm to sh9.c
  207.  
  208.    65.  Update manual pages
  209.  
  210. 226 Beta Release
  211.  
  212. Final Release 2.2
  213.  
  214.  
  215. Missing POSIX Shell functionality:
  216.  
  217.     I've looked at three different version of ksh (under AIX, HP UX and ICL's
  218.     DN/X) and each one has something slightly different.  In general, I believe
  219.     the following functionality is missing from the shell, some of which can not
  220.     be implemented under either MSDOS or OS/2.
  221.  
  222.     1.  Filename generation currently matches the Bourne and not the Korn shell
  223.     2.  EMACS command line editting is not tested
  224.  
  225.     Missing, not supportable.
  226.  
  227.     1.  The ulimit command - no MSDOS or OS/2 equivalent
  228.     2.  The bg and fg commands are not implemented - no equivalent
  229.     functionality.
  230.     3.  The set -p (disable $HOME/.profile processing) has not been implemented.
  231.     4.  The ~ at the start of a word only supports the $HOME, $PWD or $OLDPWD
  232.         substitutions.  There's no /etc/passwd.
  233.     5.  TMOUT is not implemented, what's functionality under MSDOS or OS/2 I
  234.     ask?
  235.     6.  jobs under MSDOS - HA!
  236.     7.  Co-processes.  Again, really difficult to implement under MSDOS
  237.         and OS/2 (I think).
  238.  
  239. The following enhancements/bugs remain outstanding:
  240.  
  241.     1.  Interrupting a swap at the wrong time may cause the shell to hang.
  242.     I've not been able to track this down.  I think it may be some funny
  243.     interaction with Quaterdesk's QEMM memory manager, since it does
  244.     not happen with any other memory manager.
  245.  
  246.     2.  Under IBM's OS/2 C Set/2, the umask API does not work correctly.
  247.     umask (0) returns an error, when it should return the current
  248.     value.
  249.     
  250.     3.  Under WATCOM and OS/2, the DosQProcStatus API causes a core dump,
  251.     so the jobs function is disabled in versions built with WATCOM.
  252.     WATCOM have been informed - no response.  Use ps.exe instead.
  253.     The shell fex's ps.exe so if you use jobs, stick ps.exe in your
  254.     path.
  255.     
  256.     4.  Under OS/2 in 16-bit mode, the DosStartSession API causes the
  257.     system to died with dependent sessions.  Sessions are always
  258.     independent.  IBM (UK) have been informed - no response.  Microsoft
  259.     haven't.
  260.  
  261.     5.    The only the VI command line edit function is enabled.  I've not
  262.     done any testing on the EMACS version (next release). 
  263.  
  264.     6.  I've built and run the Borland Turbo C version, but not really done
  265.     extensive testing on it.  The main development and release compiler
  266.     remains Microsoft C5.1 (for MSDOS) and C6.0 (for OS/2).  Actually,
  267.     it's stopped working at the moment!
  268.  
  269.     7.  I've built and tested the OS/2 2.x 32-bit version using IBM C Set/2
  270.     (CSD 40), and extensively tested using that version.  However, I am
  271.     no longer in a position to build using this compiler.  Problems from
  272.     36 onwards (see notes file) have not been fully tested for the IBM
  273.     C Set/2 OS/2 32-bit version.
  274.  
  275. Thanks are due to
  276.  
  277.     rreiner@nexus.yorku.ca 
  278.     dkonkin@datap.ca 
  279.     leisner@eso.mc.xerox.com
  280.     sshoe@IX.Net
  281.     mallman@oucsace.cs.ohiou.edu
  282.     hankedr@mail.auburn.edu
  283.     beckerr@pyrite.SOM.CWRU.Edu
  284.     tripos!rhea!edmond@wupost.wustl.edu
  285.     Eric.van.der.Maarel@cwi.nl
  286.     kjt@cs.stir.ac.uk
  287.     qualtrak@netcom.com
  288.     hoh@lorelei.approve.se
  289.     rma@pnet51.orb.mn.org 
  290.     Carl_Hauser.PARC@xerox.com
  291.     matth@bedford.progress.COM
  292.     mattes@azu.informatik.uni-stuttgart.de 
  293.     dasch@darkwing.uoregon.edu
  294.     rommel@ars.muc.de
  295.  
  296. for their comments, fixes, tolerance etc in testing release 2.2
  297.  
  298. Ian Stewartson.
  299. (istewart@datlog.co.uk)
  300.