home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 22 gnu
/
22-gnu.zip
/
ms_sh22b.zip
/
Notes
< prev
next >
Wrap
Text File
|
1993-12-01
|
11KB
|
300 lines
RELEASE 2.2 December 1st 1993 RELEASE 2.2 December 1st 1993
Version 2.2 Release Notes:
Release 2.2 has a few bugs fixed and some OS/2 functionality changed.
Well, at least thats the way it started.
Changes Functionality:
220 Beta Release
1. The Lexical analyser and Word Expansion code have been completely
replaced, courtesy of Simon J. Gerraty who allowed me to take the
initial code from his PD version of the ksh. This means that the
8th bit problem has been disappeared and meta-character processing
should be fixed.
2. Array parameters have been implemented.
3. A bug in keyboard handling for Swedish keyboards has been fixed.
4. When preparing the parameters for a command, the convert option
converts / following a - now to a \ which it didn't before.
5. The time command has been implemented, for what it's worth.
6. Csh type alternations ({..,...,}) are supported. They must be enabled
using set -o alternation. They can be disabled using
set +o alternation.
7. Numeric values inside a numeric expression are now of the format
base#value instead of the old [base]value. This conforms to the
versions of the ksh I have.
8. When a tilde subsitution is performed, double slashes are reduced
to one.
221 Beta Release
9. Fixed bug in Filename completion when the string to expand is empty.
10. Fixed bug which generated the 'too many files open' message.
11. Fixed bug which caused $() pipelines to not write the final output
to stdout.
222 Beta Release
12. Fix bug in doecho which causes a memory overflow with long parameters
13. Fix bug in sh4.c which causes a memory violation if the first
argument expands to a (char *)NULL.
14. OS/2 Native Port for IBM C Set/2 1.0 CSD 40. Future releases
contain three executables:
shdos.exe - MSDOS version
sh16.exe - OS/2 16-bit version
sh32.exe - OS/2 32-bit version
15. Fix a bug in FileName Completion so that HPFSs are handled correctly.
16. Ensure I/O streams (cf. fopen) are closed correctly.
17. Fix cursor position on last line of screen when inserting characters.
Also ensure cursor is placed on the next blank line when input in
completed.
18. Fix a bug in the processing of Aliases. The word following a alias
was always checked for alias, which should only happen if the last
character of the alias is a space (c = CHAR_TAB, instead of c ==
CHAR_TAB).
19. Allow the title of a OS/2 window to be changed from MS Shell by
setting the WINTITLE environment variable.
20. Fix bug in display functions which caused memory violation on case
statements.
21. Fix bug in Swap failure under MSDOS
22. Fix bug in \nnn processing. Only convert if the n's are octal and
there are three of them.
23. Fix bug in if..then..else..fi where Exit status not set correctly.
24. Support script files ending in .ksh as well as .sh.
25. Fix bug with ; ; as a command line
26. Fix bug with IFS values not reset correctly after subshell.
27. Fix bug in IsCommandBuiltIn which did not return the correct value
for a drive change.
28. Under OS/2, protect against drive not ready errors.
29. Fixed a bug which seemed to have been around since 1.4 which
stopped 'sh -x script' from executing.
30. Fixed a bug caused an interactive shell to start in response to
'sh -c'.
31. Improved the syntax error reporting.
32. Fixed a bug with 'sh -s' which did not match the manual page.
33. Changed the way programs are DosExecPgm'd in OS/2 so that
interrupts do not kill background tasks and foreground tasks are
interruptable, and the interrupt does not kill the shell!
34. Directory Listing looks more like Korn Shell now.
35. A sort of version of times for OS/2 2.x 32-bit version.
36. Start work on VI and EMACS. VI tested. EMACS completely untested
and not enabled.
37. Fixed a optimiser bug in doexec, which caused exec to hang the
PC under MSDOS.
38. Support for Borland Turbo C added (still requires Microsoft MASM).
You need to edit tsh.lnk to reflect library and CRT locations.
39. Support for WatCom C/386 added (incomplete). I've not had enough
time to explore this compiler.
40. Move stdargv.c into sh8.c to reduce size of MSDOS version to 170K.
223 Beta Release
41. Fixed processing of Profile so that $HOME can be set in /etc/profile.
42. Fixed processing of history file so that it is loaded after processing
the profiles.
43. Completed VI code.
44. Fixed some other bugs introduced by 'quick fixes'.
44. Fixed bug with EOF key.
45. Add option to remove case sensitivity for OS/2 on HPFS (set -o
ignorecase)
224 Beta Release
46. WATCOM 32-bit mode DOS available. So we now have four versions!!
shdos16.exe - MSDOS 16-bit version
shdos32.exe - MSDOS 32-bit version
shos216.exe - OS/2 16-bit version
shos232.exe - OS/2 32-bit version
Added new environment variable SHMODE which gives the Shell mode
- 16 or 32 bit.
47. Fixed bug in startup code under MSC 6 which expects the stdargv
code to set up _osmajor and _osminor under MSDOS.
48. Changed the Interrupt 24 handling for DOS 32 version.
49. cd -L/P and pwd -L/P supported under DOS. Gets the truename of
a directory, ignoring SUBST drives etc.
50. Fix bug in startup code for DOS which does not process the length
of the command string correctly - KERMIT problem. Also, if EMX
mode has been used, do not correct /c command string. Check for
double quotes on the command string if in argument 0 (original DOS
or OS/2 command line).
51. Set -m now runs background jobs in separate process group - OS/2
only. The old -m functionality is obtained from -M.
52. Fix Input so that prompt appears for interactive shell when input
is not from the console. Note that editing is not available for
such input.
53. Set up I/O streams buffering for stdout and stderr to line and none
respectively.
55. Implement track all command which was missing.
56. Fix another bug in file handler for sub-shells. Use a map instead
of the next available file descriptor at a particular sub-shell level.
57. Under OS/2, if file descriptor 0 and 1 are pipes and there are no
arguments to the shell, the interactive flag is set. This is to
allow the shell to run under EMACS.
225 Beta Release
58. Fix a bug with Root shells and the EOF key which caused the shell to
loop on the no exit message.
59. Replaced all the isatty functions with an explicit test so we get
the same results on DOS and OS/2 and independent of the compiler.
60. In the test (dotest) code, if the current string is a unary operator
and the next string is a binary operator, assume the current string is a
parameter to the binary operator and not a unary operator. And not
the other way round.
61. Fix bug in dotrap which prevented traps from being unset.
62. Add support for signal names and UNIX to DOS mappings in trap. If
the signal number is numeric, it is a UNIX signal number and is mapped
to the DOS value. Also add 'trap -l' to list the signal names
which are not the same as the kill names.
63. Allow test and set of VERIFY and BREAK status using set -o etc.
64. Move interrupt check from sh0.asm to sh9.c
65. Update manual pages
226 Beta Release
Final Release 2.2
Missing POSIX Shell functionality:
I've looked at three different version of ksh (under AIX, HP UX and ICL's
DN/X) and each one has something slightly different. In general, I believe
the following functionality is missing from the shell, some of which can not
be implemented under either MSDOS or OS/2.
1. Filename generation currently matches the Bourne and not the Korn shell
2. EMACS command line editting is not tested
Missing, not supportable.
1. The ulimit command - no MSDOS or OS/2 equivalent
2. The bg and fg commands are not implemented - no equivalent
functionality.
3. The set -p (disable $HOME/.profile processing) has not been implemented.
4. The ~ at the start of a word only supports the $HOME, $PWD or $OLDPWD
substitutions. There's no /etc/passwd.
5. TMOUT is not implemented, what's functionality under MSDOS or OS/2 I
ask?
6. jobs under MSDOS - HA!
7. Co-processes. Again, really difficult to implement under MSDOS
and OS/2 (I think).
The following enhancements/bugs remain outstanding:
1. Interrupting a swap at the wrong time may cause the shell to hang.
I've not been able to track this down. I think it may be some funny
interaction with Quaterdesk's QEMM memory manager, since it does
not happen with any other memory manager.
2. Under IBM's OS/2 C Set/2, the umask API does not work correctly.
umask (0) returns an error, when it should return the current
value.
3. Under WATCOM and OS/2, the DosQProcStatus API causes a core dump,
so the jobs function is disabled in versions built with WATCOM.
WATCOM have been informed - no response. Use ps.exe instead.
The shell fex's ps.exe so if you use jobs, stick ps.exe in your
path.
4. Under OS/2 in 16-bit mode, the DosStartSession API causes the
system to died with dependent sessions. Sessions are always
independent. IBM (UK) have been informed - no response. Microsoft
haven't.
5. The only the VI command line edit function is enabled. I've not
done any testing on the EMACS version (next release).
6. I've built and run the Borland Turbo C version, but not really done
extensive testing on it. The main development and release compiler
remains Microsoft C5.1 (for MSDOS) and C6.0 (for OS/2). Actually,
it's stopped working at the moment!
7. I've built and tested the OS/2 2.x 32-bit version using IBM C Set/2
(CSD 40), and extensively tested using that version. However, I am
no longer in a position to build using this compiler. Problems from
36 onwards (see notes file) have not been fully tested for the IBM
C Set/2 OS/2 32-bit version.
Thanks are due to
rreiner@nexus.yorku.ca
dkonkin@datap.ca
leisner@eso.mc.xerox.com
sshoe@IX.Net
mallman@oucsace.cs.ohiou.edu
hankedr@mail.auburn.edu
beckerr@pyrite.SOM.CWRU.Edu
tripos!rhea!edmond@wupost.wustl.edu
Eric.van.der.Maarel@cwi.nl
kjt@cs.stir.ac.uk
qualtrak@netcom.com
hoh@lorelei.approve.se
rma@pnet51.orb.mn.org
Carl_Hauser.PARC@xerox.com
matth@bedford.progress.COM
mattes@azu.informatik.uni-stuttgart.de
dasch@darkwing.uoregon.edu
rommel@ars.muc.de
for their comments, fixes, tolerance etc in testing release 2.2
Ian Stewartson.
(istewart@datlog.co.uk)