home *** CD-ROM | disk | FTP | other *** search
- RELEASE 2.1 Dec 12th 1992 RELEASE 2.1 Dec 12th 1992
-
- Version 2.1 Release Notes:
-
- Release 2.1 has a few bugs fixed and some OS/2 functionality changed.
-
- Changes Functionality:
-
- New in 210 Beta
-
- 1. Using the -R switch, causes the .ini file to be read just before
- the first keyboard input. This allows the location to be changed
- by changing the value of the SHELL environment variable.
-
- 2. The job command in OS/2 will print the OS/2 process tree info.
-
- job -p Print the process tree info for the shell
- job -P id Print the tree for process id.
-
- 3. Binary trees are used in a number of places instead of linked lists.
-
- 4. The OS/2 command line limit is now 32000 bytes. Parameters with
- white space in a quoted for parameters to a command passed via spawn
- or exec. This does not apply if the command supports indirect files.
-
- 5. case statements in functions nolonger corrupt memory.
-
- 6. OS/2 uses either files or pipes to pipe data. The mode is selected
- either via the command line (-P switch) or the set -/+o realpipes
- command. Note that using real pipes for more complex command strings
- than a simple pipeline (a | b | c) might not work because of the
- differences in the process models. I'm not ready to introduce
- multi-threading into the shell, yet.
-
- 7. kill now supports %job number.
-
- New in 211 BETA.
-
- 8. Function keys to clear the screen and print the shell's process
- tree (OS/2 only) have been added.
-
- 9. The cd command correctly handles directory names ending in a /.
-
- New in 212 BETA.
-
- 10. ALT keys can now be specified in the sh.ini file. Use 0xff to
- specify and ALT key as opposed to 0 to specify a function key.
-
- 11. set -w enables the display of warning messages, +w disables it.
-
- 12. The shell checks for valid DOS filenames (single dot, not at the
- beginning). Invalid dots are converted to ~. A warning message is
- given.
-
- 13. The transpose and quote functions have been added to the command
- line editor.
-
- 14. A bug in the sub-shell processing prevented exit 0 from exitting
- with zero has been fixed.
-
- 15. All buffers are flushed before reading input.
-
- 16. A bug in the [[ ... ]] processing prevented it from working.
-
- New in 213 BETA.
-
- 17. Unsetting special variables removes their meaning (RANDOM, SECONDS etc).
-
- 18. dos () { command -c $*; } did not convert the slashes correctly.
-
- 19. Fix format of function command to be POSIX - function name {} and
- not function name () {}.
-
- 20. Set up LINES environment variable correctly
-
- 21. Fix bug in read so that "ls | while read n; do echo $n; done"
- prints something other than just the first filename.
-
- 22. Set up HISTSIZE environment variable correctly and process it.
-
- 23. Disable checking of MCB chain above 0x9ffe0.
-
- New in 214 BETA.
-
- 24. Pass parameters to script when executing dot files (. name 1 2 3).
-
- 25. Fix [ ] so that an empty expression returns false.
-
- 26. ${COMSPEC} is parsed and split on white space to allow addition
- parameters to be passed to command.com. Thus the default
- environment size could be set to 1000 by setting
- COMSPEC=command /e:1000.
-
- 27. The size of the retained history can be specified using HISTSIZE.
-
- 28. Fix bug in OS/2 real pipes where the shell does not wait for the
- correct process to terminate.
-
- 29. Implement wait command for OS/2.
-
- 30. Null argument to a command generates "" in the command line.
-
- 31. Under OS/2, Sessions are nolonger logged as jobs with no way of
- removing the job entry.
-
- 32. A bad command inside `` or $(...) terminates the current command
- expression, instead of generating a null parameter to the command.
-
- 33. Add support in OS2 version for Eberhard Mattes EMX interface to
- commands. In the ${EXTENDED_LINE} file, emx instead of unix
- selects this interface format. In addition, add support in the
- alternative stdargv.c. If the EMX interface is used, stdargv
- detects this and processes according. Otherwise, the standard
- interfaces are assumed.
-
- 34. Fix escaping of double quotes in the command line argument.
-
- 35. Add %number & %?string to job support commands (wait, kill). Thats
- about as far as full job support goes I think.
-
- 36. Implement 'getopts' command.
-
- New in 215 BETA.
-
- 37. Now we cleanup all filenames before using them
-
- 38. Fixed 33 as default for OS/2.
-
- 39. Completed %[-+%] for jobs
-
- 40. Nothing new added since 215
-
- 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. ksh-style command line editing. MS_shell has it's own style.
- 2. Array parameters
- 3. Filename generation currently matches the Bourne and not the Korn shell
- 4. The correct processing of the escape character (\) inside double quotes.
-
- Missing, not supportable.
-
- 1. The ulimit command - no MSDOS or OS/2 equivalent
- 2. The times command is not implemented - no equivalent functionality
- 3. The bg and fg commands are not implemented - no equivalent
- functionality.
- 4. cd -L/P is not supported. No symbolic links under MSDOS or OS/2
- 5. pwd -L/P is not supported. No symbolic links under MSDOS or OS/2
- 6. The set -p (disable $HOME/.profile processing) and set -m (run
- background jobs in separate process group) have not been implemented.
- 7. The ~ at the start of a word only supports the $HOME, $PWD or $OLDPWD
- substitutions. There's no /etc/passwd.
- 8. TMOUT is not implemented, what's functionality under MSDOS or OS/2 I
- ask?
- 9. The time pipeline command - no MSDOS or OS/2 equivalent
- 10. jobs under MSDOS - HA!
- 11. Co-processes. Again, really difficult to implement under MSDOS
- and OS/2 (I think).
-
- The following enhancements/bugs remain outstanding:
-
- 1. The processing of the escape character (\) is not consistent with the
- Korn shell. The MS-Shell always strips the first escape character.
- The Korn shell only strips escape characters when it detects a shell
- special character following.
-
- ie. echo "\033[H" works under Korn however echo "\\033[H" is required
- in the MSDOS shell.
-
- This problem requires a large amount of rework to one 30K source file
- and I haven't been able to start on it yet.
-
- 2. 8 Bit character are not supported. This is tied in with the processing
- of escape characters. The shell uses the 8-bit to mark escaped
- characters.
-
- 3. 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.
-
- Thanks are due to
-
-
- for their comments, fixes, tolerance etc in testing release 2.1
-
- Ian Stewartson.
-