[659] in comp.os.os2.announce archive

home help back first fref pref prev next nref lref last post

SOFTWARE: Ksh 5.2.4 for OS/2 (update)

daemon@ATHENA.MIT.EDU (Mick Brown)
Mon Feb 12 13:40:13 1996

To: os2ann.DISCUSS@bloom-picayune.MIT.EDU
Date: 1 Feb 1996 03:06:53 GMT
From: lfirrantello@BIX.com (Mick Brown)
Reply-To: Dale.DePriest@mit.edu (daled&cadence.com)

Submitted by: Dale DePriest (daled&cadence.com)
Source:       Dale DePriest (daled&cadence.com)
Date sent:    1996 01 19
Date posted:  1996 01 31
=====================================================================
I am pleased to announce a new version of ksh has been released and posted
to hobbes and other ftp sites:
    ftp://hobbes.nmsu.edu/os2/unix/ksh524rt.zip
    ftp://ftp-os2.cdrom.com/pub/os2/incoming/ksh524rt.zip
        to be moved to os2/shellutl
    ftp://ftp.cs.mun.ca/pub/pdksh/pdksh524rt_os2.zip
            sources in pdksh-5.2.4.tar.gz

Here is the document outlining the changes to the os2 version since the os2
release 5.2.2
 1. You can now open multiple files in a script, i.e. exec works. Some
    better checking could still be done.
 2. A bug in reading input files where data was getting shifted around has
    been fixed. (forced binary mode to emx a number of places for input.)
 3. Directories with same name as executables will no longer cause an error.
 4. OS2 cmd processing of extproc header line only passes the file name to
    the spawned process instead of the full pathname. This is a bug in os2
    IMHO since if you explicitely want a certain path for the command you
    cannot guarantee it. A change was made to search the path within ksh to
    permit this processing to work. Note that the copy ksh finds might not
    be the one you wanted but at least you can copy your cmd files around
    without having to modify them. A side effect of this change is that
    typing: "ksh whatis" will now search your path as well which does change
    the standard behavior of ksh.
 5. #! processing will now search for the shell using the explicit path and
    if not found then it will use the path variable. Most of you won't
    notice any difference since the shell will still be found but if you
    needed a particular one then this can be done. Note that if you only
    want a particular pathname use "\"'s in the path.
 6. Ksh will now honor the advertised EXECSHELL variable if it is set
    instead of OS2_SHELL as the shell to be used if there is no #! or
    extproc line in the file. The difference is EXECSHELL will not have any
    options supplied while OS2_SHELL will automatically get /c and the
    pathname will have '\' as the directory separator. OS2_SHELL will still
    be used if EXECSHELL is not set.
 7. A new option to print, -f, has been added for os2 users. It will force
    forward slashes. It is useful when trying to massage an environmental
    variable containing backslashes using something like sed which always
    interpretes backslashes as escapes. There is and example of this in the
    new kshrc.ksh that I have included.
 8. Working with os2 variables can be a pain try to escape all of the ';'s
    so I have supplied some new functions in the kshrc.ksh. Please checkout
    add_path, pre_path, and del_path. These functions will append a path,
    prepend a path, or delete a path from the variable you specify, PATH by
    default. These are modification of the samples shipped with the unix
    pdksh startup files.
 9. The echo output and other outputs from ksh now use forward slashes and
    in general forward slashes will be seen more often than before.
    Backslashes will still be accepted on input and command line completion
    but it was too painful to try and preserve the os2 look for output and
    permit Unix scripts to work. If you prefer the old method change the
    variable DIRSEP in sh.h and rebuild.
10. A bug requiring all command extensions to be in lower case was fixed.
    This showed up most often in the setting of OS2_SHELL.
11. os2/configure will now set up to build either ksh or sh.
12. filenames without extensions have been moved to the front of the
    execution order. Therefore if a file called foo and a file called
    foo.exe both exist in the same directory the file called foo will be
    executed. This was necessary since if the execution order placed foo at
    the end then there would be no way to execute it.

In addition the following changes have be made to pdksh on which this
    version is based. (Some are not applicable to the os2 version.)

Version 5.2.4
* bug fixes
    * PS1 imported from environment again.
    * vi handles prompts with imbedded newlines.
    * errors redirecting stderr aren't lost.
    * redirection errors for <&n no longer reported as to >&n.
    * don't do globbing on re-direction targets if not interactive (POSIX).
    * pattern matching in [[ foo = foo*bar ]] now works again.
    * HUP signals are passed on to jobs running in the foreground.
    * $? now valid (ie, not 0) in trap handlers, `...` expressions, etc.
    * noclobber doesn't effect redirections to non-regular files (eg,
/dev/null)
    * \newline in here-document delimiters handled correctly.
    * typeset -f now reports unloaded autoload functions properly.
    * ~,~+,~- are not expanded if HOME,PWD,OLDPWD are unset.
    * vi completion/expansion: * not appeded if word contains $.
    * cd: error message contains correct directory string.
    * vi expansion list: printed in column form ala at&t ksh.
    * ^C while reading .profile/$ENV nolonger causes shell to exit.
    * option errors for build-in commands now include command name.
    * emacs completion/expansion: ' and " are treated as word delimiters.
    * fc: replacements (a=b) no longer truncates the command.
    * alias: alias -t -r now cleans out the tracked alias table.
* case statements can use the old syntax of {,} instead of in,esac.
* extended file globbing added (eg, f*(bar|Bar) matches f, fbar fBarbar, etc).
* trim expressions can be of the form ${parameter#pattern1|pattern2|...}.
* if compiled as sh, $ENV included only if posix option is set.
* vi: U command added (undo all changes on line).
* the Bugs script has been replaced by a new regression testing system, kept
  in the tests/ directory (contains a perl script which sets up a test
  environment and runs tests, and a bunch of tests).

Version 5.2.3

* bug fixes
    * arrays: set -A and unset now unset whole array.
    * history(complex version): fixed core caused by uninitialized hist_source.
    * getopts: will continue parsing options if called after error.
    * getopts: doesn't print shell name twice in error message.
    * posix: if posix option is set, $0 is always the name of the shell.
    * history: "fc -s foo" now finds foo if it is the most recent command.
    * let: expression errors no longer cause scripts to exit.
    * PS1: does not go into infinite loop if there is an expansion error.
    * configure: memmove/bcopy test has a change of working now.
    * configure: check for flock(), undefine COMPLEX_HISTORY if not found.
    * substitution: tilde substitution works in word part of ${var[-+=?]word}.
    * history: "fc <number>" now edits <number>, not <number> to most recent.
    * cd: two argument form works again.
    * special commands taking assignments (alias,set,etc.): field splitting,
      file globbing, etc. suppressed only for args that look like assignments.
    * command: -V now finds reserved words.
* test -o option: if option starts with a !, the test is negated. The test
  always fails if the option doesn't exist (so [ -o foo -o -o !foo ] is true
  iff option foo exists).
* new option: set -o nohup (currently on by default) - if set, running jobs
  are not kill -HUP'd when a login shell exits; if clear, they are. In
  future, this will be clear by default (to act like at&t ksh) - if you don't
  (won't) like this, add "[ -o !nohup ] && set -o nohup" to your .profile.
=====================================================================
-- submissions for comp.os.os2.announce to os2_ann_req@bix.com
-- administrivia for comp.os.os2.announce to lfirrantello@bix.com

--Mick Brown (lfirrantello@bix.com)

home help back first fref pref prev next nref lref last post