1N/A11-02-08 --- Release ksh93u ---
1N/A11-02-08 A bug in which opening standard output after it has been closed with
1N/A exec 1>&- doesn't work has been fixed.
1N/A11-02-07 A bug on some systems for which a command subtitution could hang
1N/A has been fixed.
1N/A11-01-28 A bug in file name completion for files containing both multibyte
1N/A characters shell special characters has been fixed.
1N/A11-01-18 The .sh.match variable now shows elements that do not match as
1N/A as not set rather than an empty string.
1N/A11-01-18 A bug with typeset -m of an array into an element of an indexed
1N/A array has been fixed.
1N/A11-01-13 A bug in handling of arrays of compound variables inside ((...)) which
1N/A reported a syntax error been fixed.
1N/A11-01-10 A bug in arithmetic assignment operators of the form op= for array
1N/A variables when the same array was referenced on the left and the
1N/A right hand side with different indices has been fixed.
1N/A11-01-10 A bug in which the output of time was lost when { time...;} 2>&1
1N/A occured inside command substition has been fixed.
1N/A11-01-07 [[ -v sh.match[i] ]] was returning false when sh.match[i] was set.
1N/A11-01-05 Added and modified warning messages with sh -n.
1N/A11-01-02 Fixed bugs with typeset -l/-u/-M and arrays.
1N/A10-12-28 Fixed a bug with typeset -l/-u/-M values in arithmetric expressions.
1N/A10-12-26 Fixed a time parsing bug in sleep and localeconv() initialization.
1N/A10-12-23 Prevented the shell from generating a core dump when it sends itself
1N/A a termination signal because the last command terminated with that
1N/A signal. This prevents a core dump to be overwritten by the shell.
1N/A10-12-22 A bug in the expansion of ${A[@]} ${B[@]}, introduced in 10-12-01
1N/A when A="" B=B has been fixed.
1N/A10-12-21 +Use MS_3D in b_vpath() for setting win32 WoW mount defaults.
1N/A10-12-17 A bug in the expansion of ${var:i:j} which caused a core dump when
1N/A i > ${#var} has been fixed.
1N/A10-12-16 +sleep now treats . as decimal point even in locales that use comma.
1N/A10-12-16 +typeset -M mapname was added to generalize on toupper and tolowwer
1N/A mapping as provided with wctrans().
1N/A10-12-10 A bug in which typeset -l displayed namespaces as well as lower case
1N/A variables has been fixed.
1N/A10-12-06 A bug in which a pipeline could terminate prematurely for a pipeline
1N/A whose right hand side is a builtin, and whose left hand side ends in
1N/A a simple command that has standard output redirected has been fixed.
1N/A10-12-06 A bug in hexfloat assignments when the right hand side is a string
1N/A variable starting with 0x has been fixed.
1N/A10-12-01 A bug in the expansion of ${$1+"$@"} which causes the last positional
1N/A parameter to disappear when it is empty has been fixed.
1N/A10-12-01 A number of changes were made to reduce the startup time.
1N/A10-11-29 When wait is interrupted by a signal that is caught, it now exits
1N/A with a non-zero exit status.
1N/A10-11-29 When a variable is used directly in an arithmetic expression,
1N/A leading zeros no longer cause the value to be treated as an
1N/A octal constant. This was true in previous versions for justified
1N/A variables.
1N/A10-11-29 An incorrect warning message was eliminated with the -n option for
1N/A arithmetic expressions with associative arrays.
1N/A10-11-29 Some changes were made to slightly reduces startup time.
1N/A10-11-24 A bug in which a name reference is make to arr[0] when arr is not
1N/A an array has been fixed.
1N/A10-11-23 If a type definition is made without a compound variable assignment it
1N/A produces an error message and no longer shows up as a defined type.
1N/A10-11-22 The handling of \ inside [...] for for shell and ~(E) patterns has
1N/A been fixed.
1N/A10-11-22 A patch was made to pfsh to handle an error case.
1N/A10-11-22 +Modified types defined in namespace so that they do not clash with
1N/A types in other namespaces. Types can be referenced using
1N/A .namespace.typename.
1N/A10-11-22 A bug which caused functions addressed as .namespace.funct to not
1N/A work has been fixed.
1N/A10-11-22 A bug in which if nr was a name reference to an unset associative
1N/A array subscript, then ${!nr} did not output the subscript correctly
1N/A has been fixed.
1N/A10-11-18 A bug in which shcomp -n was not processing double quotes correctly
1N/A has been fixed.
1N/A10-11-18 Fixed a bug in which typeset -T foo; typeset -T could cause a
1N/A core dump.
1N/A10-11-17 Fixed a bug in which the error message for set -u could come out
1N/A garbeled.
1N/A10-11-17 Modified the parser so that typeset -a var=(...) no longer checks
1N/A the first index for aliases and reserved words.
1N/A10-11-17 A bug in which a subshell command consisted of only a for or until
1N/A command has been fixed.
1N/A10-11-16 Fixed a bug in which typeset -u would display namespace variables
1N/A as well as upper case variables.
1N/A10-11-16 A bug which could cause a core dump when unsetting a type variable
1N/A when there are references to type elements has been fixed.
1N/A10-11-15 A bug which could cause a core dump when unsetting a compound
1N/A array variable when there are references to array subscripts has
1N/A been fixed.
1N/A10-11-15 A bug in which using typeset -m to move an indexed array instance
1N/A to another array could cause the array to display incorrectly has
1N/A been fixed.
1N/A10-11-12 A bug in which the unset discipline function for a type is called
1N/A when the type is initialized has been fixed.
1N/A10-11-12 The sequences \< and \> are now preserved after patterns contaning
1N/A ~(E) in ${var/pattern/string} expansions.
1N/A10-11-11 A bug in typeset -m when the variables were compound arrary instances
1N/A has been fixed.
1N/A10-11-10 A bug in output of a compound variable with types containing types
1N/A has been fixed.
1N/A10-11-10 Fixed ``name=value export [-p]'' to list environment.
1N/A10-11-09 shtests resets SIGPIPE to SIG_DFL for all tests.
1N/A10-11-09 Fixed a bug in expansion of $"..." when used in assignments.
1N/A10-11-09 Fixed a getaddrinfo() memory leak that didn't call freeaddrinfo()
1N/A after an interrupt.
1N/A10-11-08 Modified the behavior of set -u so that the shell terminates with
1N/A error message when when var is unset with ${!var} and ${#var}.
1N/A10-11-02 Fix a bug in which a signal received while in a subshell could be
1N/A ignored.
1N/A10-10-26 Fix a bug where terminal interrupt was ignored while in vi/emacs
1N/A edit search mode.
1N/A10-10-26 Fix $'a\0b'c to expand to 'ac'.
1N/A10-10-26 Provide user defined round() if not in <math.h>.
1N/A10-10-26 Fix bug where $((undefined_function(1))) dumped core.
1N/A10-10-22 Provide user defined iszero() if not in <math.h>.
1N/A10-10-22 Fixed a bug with BGX compile option that could cause the shell to
1N/A hang.
1N/A10-10-22 Fixed a bug with user define math function on systems for which
1N/A char is unsigned.
1N/A10-10-21 A bug in which function autoloaded in a function leaves a file open
1N/A has been fixed.
1N/A10-10-20 Modified the behavior of set -u so that the shell terminates when
1N/A when var is unset with ${var op string} when op is #, % or /.
1N/A10-10-20 Fixed a bug with the AUDIT option in which the audit file was not
1N/A not close-on-exec.
1N/A10-10-20 +Made a number of changes and fixes for the NAMESPACE compile option
1N/A which as added on 10-06-09 but some problems still remain.
1N/A10-10-15 Fixed a bug in which arithmetic functions (added on 10-03-24) did
1N/A not work when the function definition was in the same compound
1N/A command in which the function was referenced.
1N/A10-10-13 A bug in which creating an associative array of compound variables
1N/A with no members as an element of a compound variable did not work
1N/A has been fixed.
1N/A10-10-08 A bug in which killing the last command in a function defined
1N/A with function name, terminated the calling script has been fixed.
1N/A10-10-08 A bug which could cause a core dump if IFS is unset inside a function
1N/A has been fixed.
1N/A10-10-07 +To reduce unwanted side effects, invoking typeset without the export
1N/A option and without an assignment now causes the variables to be unset
1N/A if the variable is inherited from the environment.
1N/A10-10-06 The closing brace for ${ command } is now a token no matter what
1N/A character follows it.
1N/A10-10-04 The change for $'...' expansion on 10-08-09 did not expand parameters
1N/A contained in the error message and this has been fixed.
1N/A10-10-04 A bug in which a declaration of indexed array (-a_ in a type
1N/A definition would be displayed as a compound indexed array (-C -a)
1N/A has been fixed.
1N/A10-09-30 The C99 math funtion ldexp has been added.
1N/A10-09-30 A bug with two dimensional arrays with expansion of the form
1N/A ${ref[0..5]} where ref is a nameref to array[i] has been fixed.
1N/A10-09-29 A bug in which an eval with redirections invoked from a dot script
1N/A would not restore the file has been fixed.
1N/A10-09-29 A bug in which loading a function from FPATH could leave a file
1N/A descriptor open has been fixed.
1N/A10-09-28 +A new compile option SHOPT_FIXEDARRAY has been added and is being
1N/A evaluation. It allows fixed sized indexed arrays be to defined
1N/A using "typeset array[dim1][dim2]...[dimn]". Fixed sized arrays
1N/A are used the same way indexed arrays are. Currently, only fixed
1N/A arrays of fixed objects (float, int, and justifies objects) are
1N/A supported.
1N/A10-09-22 A bug which could cause an excpetion when a function with static
1N/A variables was redefined has been fixed.
1N/A10-09-21 A bug in the processing of (command&) which created a job in the
1N/A parent process has been fixed.
1N/A10-09-21 A for loop optimization bug with arithmetic expression evaluation
1N/A has been fixed.
1N/A10-09-21 A bug in which a recursive function containing a pipeline could
1N/A lead to an exception fixed after 8 levels of recursion has been
1N/A fixed.
1N/A10-09-18 A bug in which the count of elements in an array was wrong leading
1N/A to an excpetion has been fixed.
1N/A10-09-13 A bug which occured when both xtrace and showme options where
1N/A specified in which the xtrace option disabled showme has been fixed.
1N/A10-09-13 A bug in which creating a reference to an array variable with any
1N/A elements could cause subsequent array elements to be treated as
1N/A compound variables has been fixed.
1N/A10-09-09 A bug which caused ((c.ar[x][y])) to be treated as a syntax error
1N/A has been fixed.
1N/A10-09-08 A bug in the processing of references to multidimensional arrays
1N/A in arithmetic expressions has been fixed.
1N/A10-09-08 A bug in the handling of multi-dimensional arrays which caused
1N/A the number of elements in each dimension to be incorrect has
1N/A been fixed.
1N/A10-09-07 The change for messages on 10-08-09 did not handle message in
1N/A assignments and this has been fixed.
1N/A10-09-07 A bug in the indentation of compound variables in arrays when
1N/A output with print -v has been fixed.
1N/A10-09-07 A rare bug with indexed arrays when assigned a null string that could
1N/A cause a core dump has been fixed.
1N/A10-09-03 A number of changes were made for jobs pools.
1N/A10-08-31 typeset -p was modified to output name references after other
1N/A variables so that the output could be used as input.
1N/A10-08-31 A bug with typeset -p in which variables with attributes but
1N/A without attributes were not displayed correctly has been fixed.
1N/A10-08-27 +When running a subshell, the current pool is unset.
1N/A10-08-27 A bug in which jobs started from within for or while lists in
1N/A interactive shells could generate completion messages has been fixed.
1N/A10-08-25 Fixed a couple of bugs related to job pools.
1N/A10-08-24 +[[ -e /dev/xxx/ ]] can be used to check whether special files of
1N/A those names are handled by the shell.
1N/A10-08-24 A bug in the running of a compiled dot script in which only the
1N/A first command was executed has been fixed.
1N/A10-08-23 A bug which sometimes caused a core dump with a confgire script
1N/A has been fixed.
1N/A10-08-20 A bug in command substitution which caused a configure script to
1N/A hang has been fixed.
1N/A10-08-19 Eliminated unnecessary ; from output of compound variable with
1N/A typeset -p.
1N/A10-08-17 Fixed a bug in command substitution in which under certain
1N/A circumstances a file whose size is a power of 2 plus one, and the last
1N/A character was not a new-line, could cause memory corruption.
1N/A10-08-13 +Added static discipline functions to type similar to C++ static
1N/A class functions.
1N/A10-08-11 A bug in time when applied to a pipeline in which the shell did
1N/A not wait for all elements of the pipeline to complete has been fixed.
1N/A10-08-11 Restored sh_fmtq() quoting to not quote NAME= in NAME=VALUE.
1N/A10-08-09 +Modified the expansion of message strings, $"...", so that they
1N/A are expanded each time they are referenced rather than expanding
1N/A them when the script is compiled or read in.
1N/A10-08-06 +The process id for jobs in job pools is now of the form poolname.n
1N/A where n is the jobid in that pool. Commands that accept job names
1N/A or numbers now understand names in this format.
1N/A10-08-05 A bug in which an assignment from within an arithmetic expression
1N/A inside a function would create a local variable has been fixed.
1N/A10-08-04 A bug in the expanding of variables whose names contain multibyte
1N/A characters has been fixed.
1N/A10-08-04 A bug which caused an exception when processing scripts compiled
1N/A with shcomp -n has been fixed.
1N/A10-08-02 Tests using very small buffer sizes uncovered a number of bug most
1N/A connected with here documents which have been fixed.
1N/A10-07-27 The format modifier , used for digit grouping with d and f formats
1N/A has been documented.
1N/A10-07-26 cd '' now produces and error rather than changing to the current
1N/A directory.
1N/A10-07-26 A bug in multi-byte locales which the last character of a
1N/A multi-byte character is a \ or pattern character which could occur
1N/A when the character was the last character of a command substitution
1N/A has been fixed.
1N/A10-07-23 Another bug in the processing of ${var:offset;len} in multi-byte
1N/A locales when len is larger than the number of characters has been
1N/A fixed.
1N/A10-07-23 Many coding changes have been made to eliminate most of the uses
1N/A of global variables in the shell code.
1N/A10-07-22 Fixed a bug in which discipline functions were not being invoked
1N/A when it was invoked as ref.discipline where ref was a name reference
1N/A to an array instance.
1N/A10-07-22 Fixed a bug in which discipline functions were not being invoked it
1N/A was invoked on a two dimensional array, i.e., arr[5][9].discipline.
1N/A10-07-19 Fixed a buffering problem which occured when running a script with
1N/A ssh and the parent ssh process is killed.
1N/A10-07-14 Modifed the parser to treat ((...)) inside [[...]] as ( (...) ) to
1N/A that it is a nested (...).
1N/A10-07-09 A bug in the handling of process substitution inside command
1N/A substitution as part of a pipeline has been fixed.
1N/A10-07-07 A bug in the output for compound variables containing
1N/A multi-dimensional arrays has been fixed.
1N/A10-07-06 ksh now recovers from changes made by bash to the history file without
1N/A loosing history commands.
1N/A10-06-25 A bug in which a large here document containing command substitutions
1N/A of a dynamically loaded function that contained a here document
1N/A could get truncated has been fixed.
1N/A10-06-24 If after executing a script found in FPATH, if a function, builtin,
1N/A or type name corresponding to that script is not defined, the shell
1N/A now outputs an error message and returns value 126.
1N/A10-06-23 Floating point functions that happened to return integer values
1N/A were being treated as if the function returned integers so that
1N/A integer division could be used instead of floating point division.
1N/A10-06-22 Fixed a bug in earlier ksh93u in which an arithmetic assignment to a
1N/A variable in the global scope would instead create a local variable if
1N/A the variable had an attribute but did not have a value.
1N/A10-06-18 Modified trap handling so that if the same signal is received when
1N/A executing the handler, it is deferred until the handler completes.
1N/A10-06-16 Fixed a bug in which ulimit -v was setting the the cpu limit
1N/A on Linux.
1N/A10-06-14 +The command 'typeset -T' now generates the list of type definitions
1N/A in a format that can be used as input to the shell.
1N/A10-06-09 Put in patch from Solaris for output quoting with %q.
1N/A10-06-09 +Made changes to the NAMESPACE compile option so that it now seems
1N/A to work. With this option, namespace <name> { command;} will
1N/A run command in the namespace .name so that all variables and
1N/A functions created by command are accessable outside the name
1N/A space via .name.var and .name.fun. Variables and functions that
1N/A are not in the namespace are not modifed when runnning command.
1N/A10-06-07 Change most internal interfaces to take Sh_t* argument.
1N/A10-06-03 +Types can be loaded on first reference by putting defintions in
1N/A PFPATH.
1N/A10-06-03 +The shell is now able to parse commands which use type statements
1N/A before the typeset -T command to define the type executes.
1N/A10-06-03 A bug in the quoting for name reference declarations which did
1N/A not properly handle [ and ] in subscripts for associative arrays.
1N/A10-06-02 A bug in which a discipline function defined by a type instance to
1N/A override the default was not being registered has been fixed.
1N/A10-06-02 A bug in which read -C of an associative array of compound variables
1N/A was not working has been fixed.
1N/A10-06-02 A bug in which the error message for an unset parameter with set -u
1N/A did not contain the name of the variable has been fixed.
1N/A10-06-01 A bug in typeset -m for moving an indexed array instance to a variable
1N/A has been fixed.
1N/A10-06-01 A bug in which caused memory to be freed twice when unset was called
1N/A for an indexed array that had get or set disciplines has been fixed.
1N/A10-06-01 A bug in which the %b format of printf was not preserving NUL bytes
1N/A with \0 has been fixed.
1N/A10-06-01 A bug in the handling of name references to array variables in
1N/A arithmetic expressions has been fixed.
1N/A10-05-28 Fixed bugs in changing attributes for two dimensional arrays.
1N/A10-05-28 Eliminated a few unreferenced variables and a reference to
1N/A uninitialized memroy.
1N/A10-05-27 Rewrote the subshell code to avoid using pipes an many cases.
1N/A10-05-24 Fixed a bug which cause an exception when both -l and -s were
1N/A specified with typeset -i.
1N/A10-05-21 Inputting of three dimensional indexed arrays with ( ( (...)...)...)
1N/A was not working and has been fixed.
1N/A10-05-21 A bug in which adding the attributes -Ai to a variable via a name
1N/A reference could cause the value to display incorrectly has been fixed.
1N/A10-05-21 A bug in which using $var inside ((...)) did not work when var was
1N/A a hex float variable.
1N/A10-05-20 +The compile option SHOPT_EDPREDICT has been added. When this option
1N/A is on, as you type a line beginning with a # the following characters
1N/A are treated as a shell pattern and cause matching lines from the
1N/A history file to be displayed as a numbered list as you type.
1N/A You can scroll up and down this list or you can use <ESC>nTAB
1N/A to make this the current line (n defaults to 1 of ommitted) or
1N/A <ESC>n<cr> to execute.
1N/A10-05-20 A bug which caused an exception when multiple levels of composite
1N/A functions in arithemtic expressions has been fixed.
1N/A10-05-19 <<< with an empty string no longer gives an error.
1N/A10-05-19 A bug in arithmetic evaluation when a name reference to an array
1N/A instance was used has been fixed.
1N/A10-05-14 A bug in which the shell treats a valid index array assignment,
1N/A typeset -a x=(foo (x=3;y=4) bar) as a syntax error has been fixed.
1N/A10-05-13 A bug in creating name references to assocative array variable
1N/A after a lookup of one of its elements has been fixed.
1N/A10-05-12 Two bugs in the handling of function static type variables in
1N/A subshells have been fixed. One could cause an exception and the
1N/A other would leave side effects in the parent shell.
1N/A10-05-10 A bug in which static variables in functions were not being saved and
1N/A restored properly when running subshells has been fixed.
1N/A10-05-05 A bug in which print -v did not work correctly when an operand was an
1N/A indexed array element refering to a compound variable has been fixed.
1N/A10-05-05 A change to improve performace by special casing empty string
1N/A assignments to avoid repeated malloc() and free().
1N/A10-05-05 A bug in which creating a name reference to a non-existant associative
1N/A array element would create the array element has been fixed.
1N/A10-05-04 A bug in which name references to static variables in the static
1N/A scope were not found has been fixed.
1N/A10-04-30 Do not use socketpair() on systems that implement ioctl(I_PEEK)
1N/A on pipes.
1N/A10-04-29 +When the current job pool is set, coprocess are run in a job pool.
1N/A10-04-28 A type defined with a member foo that is an associative array without
1N/A elements followed by an expansion ${bar.foo[a]} and an assignment
1N/A bar.foo[a]=b, no longer indicates that ${#bar.foo[@]} has 0 members.
1N/A10-04-27 Another bug in which a nested command substitution could hang if it
1N/A generated too much data has been fixed.
1N/A10-04-26 A type defined with a member that is an indexed array without elements
1N/A would behave as if the 0th element of each instance was defined after
1N/A a non-zero element was specified and this has been fixed.
1N/A10-04-26 A bug in which types defined in a subshell were not undefined when
1N/A the subshell completed has been fixed.
1N/A10-04-23 For file completion in commmand line editing, file names starting
1N/A with # are now escaped so that they are not treated as comments.
1N/A10-04-23 A bug in which ${t.var:=value}, where t is an instance of a type
1N/A variable, could assign value to the type variable rather than to
1N/A the type instance has been fixed.
1N/A10-04-23 +Added &| which can be used in place of | to have portions of a
1N/A pipeline executed in the pool.
1N/A10-04-22 +The .sh.pool variable was added for use with job pools.
1N/A10-04-22 A bug in which a nested command substitution could hang if it
1N/A generated too much data has been fixed.
1N/A10-04-20 A bug which corrupted one byte of memory when read was called with
1N/A reads that did not use a delimiter has been fixed.
1N/A10-04-19 The display of a compound variable with an embedded array with
1N/A attributes was sometimes not working correctly and has been fixed.
1N/A10-04-16 A bug in which attributes were not be propogated to elements in
1N/A an associative array has been fixed.
1N/A10-04-15 A bug which caused scripts containing user defined math functions to
1N/A fail to compile with shcomp has been fixed.
1N/A10-04-15 +Job pools have been added with the SHOPT_COSHELL compilation option.
1N/A A job pool allows a collection of background jobs to run either locally
1N/A or remotetly and to be managed as a unit. The command '& name ...'
1N/A creates or uses a named job pool for subsequent background jobs.
1N/A kill, wait, and jobs allow the pool name as operands.
1N/A10-04-14 A bug in which a coprocess connection could terminate prematurely
1N/A when running a nested subshell has been fixed.
1N/A10-04-12 +Enumeration constants can be used in arithmetic expressions with the
1N/A ==, != and = operators when the left hand side is an enum variable
1N/A and the right hand side is an enumeration constant.
1N/A10-04-07 A bug in which setting the trap on CHLD to ignore could cause
1N/A an incorrect exit status has been fixed.
1N/A10-04-06 A bug in which LINENO was not incremented for a here-document when
1N/A the here-document word was followed by a comment has been fixed.
1N/A10-04-06 The optimization that execs the last process of a script rather
1N/A than creating a new process has been removed when a trap on
1N/A interrupt has been set.
1N/A10-04-06 Unsetting the 'C', 'A' or 'a' typeset attribute now produces an
1N/A error message rather than generating an exception.
1N/A10-04-06 A bug in which .sh.name contained the subscript and .sh.subscript
1N/A was empty in some cases with discipline functions on array instances
1N/A has been fixed.
1N/A10-04-05 A bug in the edit modes where preceding the interrupt character with
1N/A the literal next character did not work has been fixed.
1N/A10-04-05 A bug in the creation of type instances of arrays which could cause
1N/A an exception has been fixed.
1N/A10-03-30 A bug in the display of a compound variable containing an indexed
1N/A array of compound variables has been fixed.
1N/A10-03-24 +Arithmetic functions can be defined using the shell function syntax,
1N/A 'function .sh.math.name x y z{...}' , where name is the function name
1N/A invoked within ((...)) and x y z are long double arguments passed
1N/A as name references. y and z are used for functions with two and
1N/A three arguments respectively. The value of the function is the value
1N/A of the long double .sh.value variable when the function returns.
1N/A10-03-24 A bug in which integer division was mistakenly used when the
1N/A numerator was a binary operator with the first operand floating
1N/A point and the second integer, e.g. (.1**3)/3, has been fixed.
1N/A10-03-24 The >; file operator was modified so that the temporary file is
1N/A created in the same physical directory as file.
1N/A10-03-23 A warning message was added to sh -n when $var was used inside
1N/A ((...)) instead of var.
1N/A10-03-19 fmin was added to the list of math function on the man page.
1N/A10-03-19 Fixed the return value for unalias when the alias did not
1N/A exist.
1N/A10-03-19 A bug in which the SHLVL variable exported the value it had on
1N/A input rather than the incremented value has been fixed.
1N/A10-03-19 A bug which causes whence -q to go into an infinite loop has been
1N/A fixed.
1N/A10-03-19 Removed space between Stopped message and (SIGTTIN) and (SIGTTOUT).
1N/A10-03-17 Modified profile shell execution so that when builtins that
1N/A correspond to executable have extended attributes, they are
1N/A executed by pfksh instead of being treated as built-ins.
1N/A10-03-16 A bug in whence -a which produced duplicate lines of output has
1N/A been fixed.
1N/A10-03-16 A bug in the handling of process groups in monitor mode for
1N/A command substitutions has been fixed.
1N/A10-03-15 Fixed a bug in which read -u[fd] could cause the shell to core
1N/A dump when fd was greater than open_max.
1N/A10-03-15 +Modified the shell I/O so that the shell will not fail if the
1N/A ulimit for open_max is increased as part of the script.
1N/A10-03-12 A bug in which a here-document containing command substitutions
1N/A that contained here-documents did not process correctly has been
1N/A fixed.
1N/A10-03-12 A bug in which the terminal is not restored to cannonical mode
1N/A after read times out when in a multibyte locale with no edit mode
1N/A enabled has been fixed.
1N/A
1N/A10-03-05 --- Release ksh93t+ ---
1N/A10-03-05 A varibale unset memory leak has been fixed and tests/leaks.sh
1N/A has been added to verify the fix.
1N/A10-03-04 Documentation, comment, and disgnostic spelling typos corrected.
1N/A10-02-14 Fix sh_getenv() initialization to cooperate with the 3d fs.
1N/A10-02-12 A bug in which the get discipline function was not invoked for
1N/A associative array subscripts for unset array elements has been fixed.
1N/A10-02-12 A bug which could occur if the last line of a script was an eval
1N/A that executed multiple commands has been fixed.
1N/A10-02-02 A buffer overflow in read and another in binary type base64
1N/A encoding were fixed.
1N/A10-01-20 A bug in the evaluation of arithmetic expression in which the
1N/A subscript was evaluated twice for $((foo[x++]++)) has been fixed.
1N/A10-01-19 A workaround for a double-free of a trap in both a subshell and its
1N/A parent has been added.
1N/A10-01-18 A bug in type handling of typeset -H has been fixed.
1N/A10-01-15 The "adding empty subscript" warning now only emitted with -x set.
1N/A10-01-01 A bug in the parser in which '$((case i in i):;esac);:))' was not
1N/A parsed correctly was fixed.
1N/A10-01-01 A bug in the parser in which '$(( 2 , 3.6 ))' dumped core for locales
1N/A with radix char , and thousands separator . has been fixed.
1N/A09-12-28 A bug in the handling of SIGCLD on systems that generated SIGCLD
1N/A while blocked waiting for process to complete has been fixed.
1N/A09-12-24 ast setlocale() reworked to differentiate env var changes from user
1N/A override.
1N/A09-12-18 A bug with the SHOPT_BGX option set which disabled traps for signals
1N/A < SIGCHLD when a trap for a signal > SIGCHLD was set has been fixed.
1N/A09-12-18 A bug where [[ -v var ]] was incorrect for some variables (including
1N/A LC_* vars) has been fixed.
1N/A09-12-15 A bug that produced a syntax error when a multibyte character
1N/A straddled a buffer boundary has been fixed.
1N/A09-12-11 A bug where the subscript of an unset variable was not evaluated has
1N/A been fixed.
1N/A09-12-09 A bug where shcomp dumped core on certain syntax errors has been fixed.
1N/A09-12-07 A bug where a parent shell environment var reset in a subshell removed
1N/A the value in subsequent children of the parent shell has been fixed.
1N/A09-12-04 A bug in which in some cases a trap in a function executed in
1N/A a subshell could trigger twice has been fixed.
1N/A09-12-03 A bug in which SHLVL exported with some attributes could cause
1N/A the shell to abort at startup has been fixed.
1N/A09-12-02 A bug with pipefail in which the shell could hang waiting for the
1N/A writer to complete before the last reader command has been fixed.
1N/A09-11-30 A bug in which a trap could be inherited by the first element of
1N/A a pipeline when the command had more than 63 arguments that did
1N/A not contain any macro expansions has been fixed.
1N/A09-11-19 When read from a terminal was called from with a while or for loop,
1N/A and an edit mode was on, a backspace or erase no longer will
1N/A overwrite the prompt.
1N/A09-11-17 +Change .paths parse to handle BUILTIN_LIB=foo BUILTIN_LIB=foo-1.2.
1N/A09-11-17 Inside a function, typeset foo.bar will bind foo to global variable
1N/A foo if local variable foo does not exist, instead of creating a
1N/A local variable.
1N/A09-11-17 "read -n1" from the terminal has been fixed to read exactly one character.
1N/A09-11-11 Job control now works for subshell commands, (...).
1N/A09-11-11 If set -e is on for an interactive shell errors in special builtins
1N/A now cause the shell to exit.
1N/A09-11-11 A bug in which an interrupt handler processed during the read builtin
1N/A when IFS did not contain a new line has been fixed.
1N/A09-11-09 A bug in which a variable that has been unset in a subshell and then
1N/A exported from that subshell does not show up in the environment
1N/A has been fixed.
1N/A09-11-02 ``,2'' is now a valid numeric constant for locales with
1N/A decimal_point=','.
1N/A09-11-02 A bug where "return" in .profile did not restore the shell state
1N/A has been fixed.
1N/A09-10-31 A bug that corrupted saved exit status when pids wrapped around has
1N/A been fixed.
1N/A09-10-26 A bug in { LANG LC_ALL LC_category } ordering has been fixed in -last.
1N/A09-10-16 A bug where notification to libast that the environment has changed
1N/A has been fixed.
1N/A09-10-12 A bug in which a function loaded in a subshell could leave side
1N/A effects in the parent shell has been fixed.
1N/A09-10-12 A bug in converting a printf %d operand to a number when the operand
1N/A contains multiple subscripts for the same variable has been fixed.
1N/A09-10-09 A bug in the handling of the escape character \ in directory prefixes
1N/A in command completion has been fixed.
1N/A09-10-09 $PATH processing has been changed to delay dir stat() and .paths
1N/A lookup until the directory is needed in the path search.
1N/A09-09-28 Call the ast setlocale() intercept on unset too.
1N/A09-09-24 A bug in which LANG=foo; LC_ALL=foo; unset LC_ALL; did not revert
1N/A LC_CTYPE etc. to the LANG value has been fixed.
1N/A09-09-17 A bug in which unsetting SVLVL could cause a script invoked by
1N/A name without #! to core dump has been fixed.
1N/A09-09-16 A bug in which a pipeline in a here-document could hang when the
1N/A pipefail option was on has been fixed.
1N/A09-09-09 A bug in the processing of line joining in here documents which
1N/A occurred when a buffer began with <escape><new-line> has been fixed.
1N/A09-09-09 +A leading ; with commands in a brace group or parenthesis group
1N/A no longer causes an error. It now is used for the "showme" option.
1N/A09-09-09 A bug in which a subshell containing a background process could
1N/A block until the background process completed has been fixed.
1N/A09-09-04 A bug in handing ${var[sub]}, where var is a nameref has been fixed.
1N/A09-09-03 A bug which caused an index array to have the wrong number of elements
1N/A when it was converted from a compound variable by adding an another
1N/A element has been fixed.
1N/A09-09-03 Specifying export for a compound variable now generates an error.
1N/A09-09-02 $"..." localizations strings are no longer recognized inside `...`.
1N/A09-09-01 A bug in the for loop optimizer in the handling of type static
1N/A variables has been fixed.
1N/A09-09-01 An error message is not displayed when * and @ are used as subscripts.
1N/A09-09-01 Several bugs in the processing for types that included an associative
1N/A array of another type has been fixed.
1N/A09-09-01 A bug in the tracing of [[ a < b ]] and [[ a > b ]] has been fixed.
1N/A09-08-26 The .sh.file variable was not being set for a script that was run
1N/A by name and didn't start with #! and this has been fixed.
1N/A09-08-25 A bug in which a function called to deeply from command substitution
1N/A did not display an error message has been fixed.
1N/A09-08-24 +When processing profiles, ksh93 now violates the POSIX standard and
1N/A treats &> as a redirection operator similar to bash.
1N/A09-08-23 A bug in the handling of the trap on SIGPIPE that could lead to a
1N/A memory fault has been fixed.
1N/A09-08-21 A bug in the handling of the comma operator in arithmetic expressions
1N/A that could cause a core dump on some systems has been fixed.
1N/A09-08-20 A bug in which a compound variable containing an array of a type
1N/A that doesn't have any elements now expands correctly.
1N/A09-08-19 A bug which disabled function tracing inside a function after
1N/A a call to another function has been fixed.
1N/A09-08-19 A bug in which initializing a compound variable instance to another
1N/A compound variable by name has been fixed.
1N/A09-08-18 A bug in which compound variable instances could be lost after
1N/A an instance that invoked a type method discipline has been fixed.
1N/A09-08-18 A bug in which a discipline function for a type applied to an
1N/A array instance when invoked in a function ignored the subscript
1N/A has been fixed.
1N/A09-08-18 A scoping error with variables in arithmetic expression with
1N/A type variables when reference with a name reference has been fixed.
1N/A09-08-10 Several memory leaks were fixed primarily related to subshells.
1N/A09-08-06 A bug in which setting the trap on CHLD to ignore could cause
1N/A a script to hang has been fixed.
1N/A09-07-08 A bug in the processing of name reference assignments when it
1N/A contained pattern expansions with quoting has been fixed.
1N/A09-06-22 +The default width for typeset -X has been changed so that there
1N/A should be no loss of precision when converting to a string.
1N/A09-06-19 A bug in the printing of array elements for binary variables with
1N/A printf %B has been fixed.
1N/A09-06-19 A bug which caused a core dump with trap DEBUG set with an array
1N/A assignment with no elements has been fixed.
1N/A09-06-19 A bug with read with typeset -b -Z<num> has been fixed.
1N/A09-06-19 Two bugs related to read -b for array variables has been fixed.
1N/A09-06-19 A bug with typeset for compound variables containing arrays of
1N/A compound variables has been fixed.
1N/A09-06-18 A bug in appending a compound variable to a an indexed array of
1N/A compound variables has been fixed.
1N/A09-06-18 A bug which occurs when appending a compound variable to an indexed
1N/A array element has been fixed.
1N/A09-06-18 Setting VISUAL to a value other than one ending in vi or emacs will
1N/A no longer unset the edit mode.
1N/A09-06-17 A bug in typeset -m when moving a local compound variable to a
1N/A global compound variable via a name reference has been fixed.
1N/A09-06-17 A bug in appending to nodes of an array of compound variables when
1N/A addressing them via nameref has been fixed.
1N/A09-06-17 A bug in typeset -p var, when var is an array of compound variables
1N/A in which the output only contained on array element has been fixed.
1N/A09-06-17 The prefix expansion ${!y.@} now works when y is a name
1N/A reference to an element of an array.
1N/A09-06-16 Traps on signals that are ignored when the shell is invoked
1N/A no longer display. Previously they were ignored as required but
1N/A would be listed with trap -p.
1N/A09-06-12 A bug in vi edit mode in which hitting the up arrow key at the
1N/A end of a line longer than 40 characters which caused a core dump
1N/A has been fixed.
1N/A09-06-11 A bug in which "eval non-builtin &" would create two processes,
1N/A one for the & and another for non-builtin has been fixed.
1N/A09-06-08 When var is an identifier and is unset, ${var} no longer tries to
1N/A run command substitution on the command var.
1N/A09-06-08 +Process substitution arguments of the form <(command) can now be
1N/A used following the < redirection operator to redirect from command.
1N/A09-05-13 A bug in which redirections of the form 2>&1 1>&5 inside command
1N/A substitution could cause the command substitution to hang has been
1N/A fixed.
1N/A09-05-12 To conform with POSIX, the -u option only checks for unset variables
1N/A and subscript elements rather than checking for all parameters.
1N/A09-05-12 A bug which could cause a core dump when a variable whose name
1N/A begins with a . was referenced as part of a name reference inside
1N/A a function has been fixed.
1N/A09-05-01 A bug that caused a core dump when SIGWINCH was received and
1N/A both vi and emacs mode were off has been fixed.
1N/A09-04-22 +Default alias compound='typeset -C' added.
1N/A09-04-15 A bug that caused ${...;} to hang for large files has been fixed.
1N/A09-04-08 A change was made in the -n option which printed out an incorrect
1N/A warning with <>.
1N/A09-04-07 The emacs edit command M-_ and M_. and the vi command _ was fixed
1N/A to handle the case there there is no history file.
1N/A09-04-05 A bug in handling new-lines with read -n has been fixed.
1N/A09-04-05 The ENV variable defaults the the file named by $HOME/.kshrc rather
1N/A then to the string $HOME/.kshrc.
1N/A09-03-31 A bug in which a nested command substitution with redirections could
1N/A leave a file descriptor open has been fixed.
1N/A09-03-24 +ksh now only uses the value of the _ variable on startup if it can
1N/A verify that it was set by the invoking process rather than being
1N/A inherited by some other ancestor.
1N/A09-03-24 +When ksh is invoked without -p and ruid!=euid, and the shell is
1N/A compiled without SHOPT_P_UID or ruid<SHOPT_P_UID, the shell now
1N/A enables the -p option. The previous version instead set the
1N/A euid to the ruid as it does for set +p.
1N/A09-03-24 +When SHOPT_P_UID is defined at compile time and the shell is started
1N/A without -p and ruid!=euid and ruid>=SHOPT_P_UID then euid is set
1N/A to ruid. A bug that did the wrong test (ruid<SHOPT_P_UID) was fixed.
1N/A09-03-17 +The sleep(1) builtin now accept and ISO 8601 PnYnMnDTnHnMnS
1N/A duration or date(1) compatible date/time operand.
1N/A09-03-10 If a variable that was left or right justified or zero-filled was
1N/A changed with a typeset statement that was left or right justified
1N/A or zero-filled, then the original justification no longer affects
1N/A the result.
1N/A09-03-10 A bug in the handling of traps when the last command in a script
1N/A is a subshell grouping command has been fixed.
1N/A09-03-03 A bug in which an expansion of the form ${!prefix@} could generate
1N/A an exception after the return from a function has been fixed.
1N/A09-02-02 A bug in restricted mode in which the value of ENV could be
1N/A changed from within a function has been fixed.
1N/A09-02-02 A bug in which an erroneous message indicating that a process
1N/A terminated with a coredump has been fixed.
1N/A09-02-02 The exit status when exit was called without an argument from
1N/A a signal handler was incorrect and has been fixed.
1N/A09-02-02 A bug in which a function autoloaded in a subshell could cause
1N/A a core dump when the subshell completed has been fixed.
1N/A09-02-02 A bug in which 2>&1 inside a command substitution wasn't working
1N/A correctly has been fixed.
1N/A09-02-02 A bug in the call stack of arithmetic function with 2 args
1N/A returning int has been fixed.
1N/A09-01-30 A bug in which 'eval print \$0' inside a function was giving the
1N/A wrong value for $0 has been fixed.
1N/A09-01-28 A bug in which a command substitution could return an exit status
1N/A of 127 when the pipefail option is enabled has been fixed.
1N/A09-01-26 ksh93 now generates an error message if you attempt to create
1N/A a global name reference to a local variable.
1N/A09-01-26 +The [[ -v var ]] operator was modified to test for array elements.
1N/A09-01-23 +The redirection operator <>; was added. It is similar to <>
1N/A except that if the command it is applied to succeeds, the file
1N/A is truncated to the offset at the command completion.
1N/A09-01-23 The default file descriptor for <> was changed to 1.
1N/A09-01-20 A bug in which the exit status specified in an exit trap was
1N/A not used when a process terminated with a signal has been fixed.
1N/A09-01-19 A bug in which a signal whose default action is to terminate
1N/A a process could be ignored when the process is running a sub-shell
1N/A has been fixed.
1N/A09-01-19 A bug in which sending SIGWINCH to a process that reads from a pipe
1N/A could cause a memory fault has been fixed.
1N/A09-01-16 +The -R unary operator was added to [[...]] and test to check whether
1N/A a variable is a name reference.
1N/A09-01-16 +The -v unary operator was added to [[...]] and test to check whether
1N/A a variable is set.
1N/A09-01-14 The unset built-in was modified to return 0 exit status when
1N/A unsetting a variable that was unset to conform with the POSIX
1N/A standard.
1N/A09-01-14 The unset built-in was modified to continue to unset variables
1N/A after encountering a variable that it could not unset to
1N/A conform to the POSIX standard.
1N/A09-01-14 The parameter expansion ${x+value} no longer expands the value of
1N/A the variable x when determining whether x is set or not.
1N/A09-01-13 A bug in which background jobs and pipelines that were not waited
1N/A for could, in rare instances, cause the shell to go into an infinite
1N/A loop or fail has been fixed.
1N/A09-01-06 A bug in indexed arrays of compound variables in which referencing
1N/A non-existent sub-variable in an arithmetic expression could cause
1N/A the sub-variable to be created has been fixed.
1N/A09-01-05 A bug in which the \ character did not escape extended regular
1N/A expression pattern characters has been fixed.
1N/A08-12-24 A bug in which killing the last element of a pipe did not cause
1N/A a write to the pipe to generate a SIGPIPE has been fixed.
1N/A08-12-19 A bug which could cause command substitution to hang when the
1N/A last element of a pipeline in a command substitution was a built-in
1N/A and the output was more that PIPE_BUFF.
1N/A08-12-18 A bug which occurs when a here documented marker embedded in a
1N/A command substitution occurs on a buffer boundary has been fixed.
1N/A08-12-17 A bug in the output of typeset -p for variables that had attributes
1N/A but did not have a value has been fixed.
1N/A08-12-16 A bug in which a name reference to a name reference variable that
1N/A references an array element has been fixed.
1N/A08-12-16 A bug in which a variable given both the -A and -C attribute along
1N/A with an initial assignment didn't work correctly has been fixed.
1N/A08-12-10 The [[ -t fd ]] test was fixed to handle fd>9.
1N/A08-12-10 A bug where function stack misalignment could cause a bus error
1N/A has been fixed.
1N/A08-12-09 Command completion was changed to use \ to quote special characters
1N/A instead of quoting the argument in single quotes.
1N/A08-12-07 A bug in typeset -m which occurred when the target node was an
1N/A associative array element has been fixed.
1N/A08-12-07 A timing bug on some systems (for example darwin), that could
1N/A cause the last process of a pipeline entered interactively to fail
1N/A with an "Exec format error" has been fixed.
1N/A08-12-04 +SHOPT_BGX enables background job extensions. Noted by "J" in
1N/A the version string when enabled. (1) JOBMAX=n limits the number
1N/A of concurrent & jobs to n; the n+1 & job will block until a
1N/A running background job completes. (2) SIGCHLD traps are queued
1N/A so that each completing background job gets its own trap; $! is
1N/A set to the job pid and $? is set to the job exit status at the
1N/A beginning of the trap. (3) sleep -s added to sleep until the time
1N/A expires or until a signal is delivered.
1N/A08-12-04 The sign of floating point zero is preserved across arithmetic
1N/A function calls.
1N/A08-12-04 A bug that caused print(1) to produce garbled stdout/stderr
1N/A output has been fixed.
1N/A08-12-04 A bug in which printf "%d\n" "'<euro>'" did not output the
1N/A numerical value of the EURO symbol, 8354, has been fixed.
1N/A08-11-24 + /dev/fd* and /dev/std* redirections are first attempted with
1N/A open() to preserve seek semantics; failing that the corresponding
1N/A file descriptors are dup()'d.
1N/A08-11-20 A bug which could cause a core dump if a function compiled with
1N/A shcomp was found has been fixed.
1N/A08-11-20 A bug in which jobs were not cleared from the jobs table for
1N/A interactive shells when the pipefail option is on has been fixed.
1N/A08-11-11 A bug in which a field that was unset in a type definition and later
1N/A set for an instance could appear twice when displaying the variable
1N/A has been fixed.
1N/A08-11-11 A bug in which running a simple command & inside a function would
1N/A not return the correct process id has been fixed.
1N/A08-11-10 A bug in which the exit status of a command could be lost if the pid
1N/A was that of the most recent command substitution that had completed
1N/A has been fixed.
1N/A08-11-10 The maximum depth for subshells has been increased from 256 to 65536.
1N/A08-11-06 A bug which could cause a core dump when the _ reference variable was
1N/A used as an embedded type with a compound assignment has been fixed.
1N/A
1N/A08-10-31 --- Release ksh93t ---
1N/A08-10-31 Variable scoping/initialization bugs that could dump core were fixed.
1N/A08-10-24 The lexer now accepts all RE characters for patterns prefixed
1N/A with a ksh ~(...) option expression.
1N/A08-10-24 +For ${var/pat/sub} \0 in sub expands to the text matched by pat.
1N/A08-10-18 A bug in array scoping that could dump core has been fixed.
1N/A08-10-10 read -n and -N fixed to count characters in multibyte locales.
1N/A08-10-10 A bug that mishandled _.array[] type references has been fixed.
1N/A08-10-09 +${.sh.version} now contains a concatenation of the following (after
1N/A 'Version') denoting compile time features:
1N/A A SHOPT_AUDIT
1N/A B SHOPT_BASH
1N/A L SHOPT_ACCT
1N/A M SHOPT_MULTIBYTE
1N/A08-10-09 A bug that caused subshell command substitution with redirection
1N/A to hang has been fixed.
1N/A08-10-08 Output errors, other than to stderr, now result in a diagnostic.
1N/A08-10-08 ksh93 now supports types that contain arrays of other types as
1N/A members. Earlier versions core dumped in this case.
1N/A08-10-05 A bug which caused the shell to emit a syntax error for an arithmetic
1N/A statement of the form (( var.name[sub] = value)) has been fixed.
1N/A08-10-01 A bug that caused subshell command substitution to hang has
1N/A been fixed.
1N/A08-09-29 When the -p export option of typeset is used with other options,
1N/A only those variables matching the specified options are displayed.
1N/A08-09-29 When the shell reads the environment and finds variables that are
1N/A not valid shell assignments, it now passes these on to subsequent
1N/A commands rather than deleting them.
1N/A08-09-29 A bug in the display of compound variables containing an indexed
1N/A array of compound variables has been fixed.
1N/A08-09-29 A bug in the display of compound variables containing an associative
1N/A array with a subscript containing a . in the name has been fixed.
1N/A08-09-26 A core dump in the subshell environment restore has been fixed.
1N/A08-09-24 $(...) has been fixed to properly set the exit status in $?.
1N/A08-09-23 $(<...) with IFS=$'\n\n' has been fixed to retain all but the last
1N/A of multiple trailing newlines.
1N/A08-09-23 The -p option to typeset when used with other attributes, restricts
1N/A the output to variables with the specified attributes.
1N/A08-09-22 A bug that sometimes lost the exit status of a job has been fixed.
1N/A08-09-21 A bug that retained trailing command substitution newlines in
1N/A cases where the command caused the shell to fork has been fixed.
1N/A08-09-19 type, whence -v, and command -v were fixed to comply with POSIX
1N/A by writing 'not found' diagnostics to the standard error.
1N/A08-09-18 test and [...] were fixed to comply with POSIX in the case
1N/A of test '(' binop ')' where binop is a valid binary test operator.
1N/A08-09-16 +If a method discipline named create is specified when defining a
1N/A type, this function will be called when an instance is created.
1N/A08-09-15 +The variable _ is now set as a reference to the compound variable
1N/A when defining a compound variable or a type.
1N/A08-09-10 The shell now prints an error message when the type name specified
1N/A for an indexed array subscript is not an enumeration type.
1N/A08-09-10 A bug in which a subshell that spawned a background process could
1N/A lose output that was produced after the foreground completed
1N/A has been fixed.
1N/A08-09-10 A timing bug on some systems that could cause coprocesses started by a
1N/A subshell to not clean up and prevent other coprocesses has been fixed.
1N/A08-09-09 The typeset -m option is now able to rename array elements from
1N/A the same array.
1N/A08-09-09 The exit status of 2 from the DEBUG trap causes the next command
1N/A to be skipped. An exit value of 255 from a DEBUG trap called from
1N/A a function causes the function to return.
1N/A08-09-08 A bug in which a coprocess created in a subshell that did not
1N/A complete when the subshell terminated could prevent a coprocess
1N/A from being created in the parent shell has been fixed.
1N/A08-09-05 An assignment of the form name1=name2 where name1 and name2
1N/A are both compound variables causes name1 to get a copy of name2.
1N/A name1+=name2 causes name2 sub-variables to be appended to name1.
1N/A08-09-05 A bug in which unsetting a compound variable did not unset all
1N/A the sub-variables has been fixed.
1N/A08-09-01 A bug in the subshell cleanup code that could cause SIGSEGV has
1N/A been fixed.
1N/A06-08-26 +The SHLVL variable which is an environment variable used by bash
1N/A and zsh that gets incremented when the shell starts.
1N/A08-08-25 +For an indexed array, a negative subscript now refers to offsets
1N/A from the end so that -1 refers to the last element.
1N/A08-08-24 An alignment error for shorts on 64 bit architectures has been fixed.
1N/A08-08-22 If oldvar is a compound variable, typeset -C newvar=oldvar creates
1N/A newvar as a copy of oldvar.
1N/A08-08-19 +The ALRM signal no longer cause the sleep builtin to terminate.
1N/A08-08-13 When used in an arithmetic expression, the .sh.version variable
1N/A now produces a number that will be increasing for each release.
1N/A08-08-11 A bug in which type instantiation with a compound assignment in
1N/A a dot script in which the type is defined has been fixed.
1N/A08-08-07 +The -m option has been added to typeset to move or rename a
1N/A variable. Not documented yet.
1N/A08-08-06 A bug in read when used in a loop when a prompt was specified
1N/A when reading from a terminal has been fixed.
1N/A08-08-01 A bug with the pipefail option in which a nested pipeline could
1N/A cause an asynchronous command to block has been fixed.
1N/A08-08-01 A for loop optimizer bug that treats .sh.lineno as an invariant
1N/A has been fixed.
1N/A08-07-30 A bug in which expanding compound variable that had a get discipline
1N/A from with a here document could cause a syntax error has been fixed.
1N/A08-07-18 A bug in which a nameref caused a local variable to be created
1N/A rather than binding to an existing variable in the global scope
1N/A has been fixed.
1N/A08-07-17 A bug which occurred when a nameref was created from within a
1N/A function that was part of a pipeline has been fixed.
1N/A08-07-14 +The compile option SHOPT_STATS was added. With this option the
1N/A compound variable .sh.stats keeps usage statistics that could help
1N/A with performance tuning.
1N/A08-07-10 +The output of set now always uses a single line for each variable.
1N/A For array variables, the complete set of values is now displayed.
1N/A08-07-09 +The typeset -C option can be used with arrays to indicate that
1N/A each element should default to a compound variable.
1N/A08-07-08 +The %B format now outputs compound variables and arrays. The
1N/A alternate flag # can be used to cause output into a single line.
1N/A08-07-03 When the window change signal, WINCH, is received, the current
1N/A edit line is redrawn in place.
1N/A08-07-01 A bug in the handling of shared variables when inside an embedded
1N/A type has been fixed.
1N/A08-06-29 A bug in multiline edit mode which occurred when the prompt length
1N/A was three characters or less has been fixed.
1N/A08-06-23 A bug in which the SIGCLD was not be triggered when background
1N/A jobs completed has been fixed.
1N/A08-06-23 _KSH_VERSION added as a name reference to .sh.version.
1N/A08-06-20 type now outputs 'special builtin' for special builtins.
1N/A08-06-19 A couple of bugs in multi-dimensional arrays have been fixed.
1N/A08-06-19 A bug in which a syntax error in a dot script could generated
1N/A a syntax error in the next subsequent command has been fixed.
1N/A08-06-17 Reduced the maximum function call depth to 2048 to avoid exceptions
1N/A on some architectures.
1N/A08-06-16 A bug in which printf "%B" could generate an exception when the
1N/A specified variable was not set has been fixed.
1N/A08-06-16 +When typeset -p is followed by variable names, it now displays
1N/A the attributes names and values for the specific names.
1N/A08-06-14 A bug that could effect the drawing of the screen from multiline
1N/A emacs or gmacs mode when walking up the history file has been fixed.
1N/A08-06-13 A bug in which a compound variable defined in a subshell could
1N/A have side effects into the parent shell has been fixed.
1N/A08-06-13 A number of bugs related to using .sh.level to set the stack from
1N/A for DEBUG traps have been fixed.
1N/A08-06-13 +The .sh.lineno variable has been added. When .sh.level is changed
1N/A inside a DEBUG trap, the .sh.lineno contains the calling line number
1N/A for the specified stack frame.
1N/A08-06-13 The .sh.level variable has been documented and now works.
1N/A08-06-11 +The -C option has been added to read for reading compound command
1N/A definitions from a file.
1N/A08-06-11 +The . command is now permitted inside a compound command definition.
1N/A The dot script can contain declaration commands and dot commands.
1N/A08-06-09 +Add -C option to typeset so that typeset -C foo, is equivalent
1N/A to foo=().
1N/A08-06-09 Added -n warning message for typeset option orderings that are valid
1N/A with ksh88 but not valid with ksh93, for example Lx5.
1N/A08-06-09 A bug in which the return value for an assignment command containing
1N/A a command substitution with that failed was zero when the assignment
1N/A contained redirections has been fixed.
1N/A08-06-09 A bug in the quoting of $ inside a ERE pattern ~(E)(pattern)
1N/A has been fixed.
1N/A08-06-06 A bug when processing `` command substitution with the character
1N/A sequence \$' has been fixed.
1N/A08-06-02 +When defining a type, the typeset -r attribute causes this field
1N/A to be required to be specified for each instance of the type and
1N/A does not allow a default value.
1N/A08-06-02 Several bugs in which compound variables were modified by
1N/A subshells have been fixed.
1N/A08-05-22 +The ceil function has been added to the math functions.
1N/A08-05-21 A bug in which a name reference defined in a function and passed
1N/A as an argument to another function could cause an incorrect binding.
1N/A08-05-21 A bug in freeing compound variables that are local to functions
1N/A has been fixed.
1N/A08-05-19 +The array expansions ${array[sub1..sub2]} and ${!array[sub1..sub2]}
1N/A to expand to the value (or subscripts) for array between sub1 and
1N/A sub2 inclusive. For associative arrays, the range is based on
1N/A location in the POSIX locale. The .. must be explicit and cannot
1N/A result from an expansion.
1N/A08-05-15 The trap on SIGCLD is no longer triggered by the completion of
1N/A the foreground job as with ksh88.
1N/A08-05-14 A bug in the implementation of the editing feature added on
1N/A 07-09-19 in emacs mode has been fixed.
1N/A08-05-12 A bug in processing the test built-in with parenthesis has been
1N/A fixed.
1N/A08-05-12 The unset built-in now returns non-zero when deleting an array
1N/A subscript that is not set.
1N/A08-05-08 +Changing the value of HISTFILE or HISTSIZE will cause the old
1N/A history file to be close and reopened with the new name or size.
1N/A08-05-08 When FPATH is changed functions that were found via a path search
1N/A will be searched for again.
1N/A08-05-08 A parser bug in which reserved words and labels were recognized
1N/A inside compound indexed array assignment after a new-line has
1N/A been fixed.
1N/A08-05-07 A bug in getopts when handling numerical option arguments has
1N/A been fixed.
1N/A08-05-07 +The typeset -S option was added for variables outside type
1N/A definitions to provide a storage class similar to C static
1N/A inside a function defined with function name. When outside
1N/A type definitions and outside a function, the -S option cause
1N/A the specified variable so be unset before the assignment and
1N/A before the remaining attributes are supplied.
1N/A08-05-07 A bug that affected the cursor movement in multiline mode when
1N/A a character was deleted from near the beginning of the any
1N/A line other than the first.
1N/A08-05-01 In multiline edit mode, the refresh operation will now clear
1N/A the remaining portion of the last line.
1N/A08-05-01 A bug in computing prompt widths for the edit modes for prompts
1N/A with multibyte characters has been fixed.
1N/A08-05-01 A bug in the multiline edit mode which could cause the current
1N/A line to be displayed incorrectly when moving backwards from third
1N/A or higher line to the previous line has been fixed.
1N/A08-05-01 A bug in which options set in functions declared with the function
1N/A name syntax were carried across into functions invoked by these
1N/A functions has been fixed.
1N/A08-04-30 A bug which could cause a coprocess to hang when the read end
1N/A is a builtin command has been fixed.
1N/A08-04-30 +The emacs and vi editors have been modified to handle window
1N/A change commands as soon as they happen rather than waiting for
1N/A the next command.
1N/A08-04-28 A bug in which ${!x} did not expand to x when x was unset has been
1N/A fixed.
1N/A08-04-27 A bug in which the assignment x=(typeset -a foo=([0]=abc)) created
1N/A x.foo as an associative array has been fixed.
1N/A08-04-25 A bug in which $# did not report correctly when there were more
1N/A than 32K positional parameters has been fixed.
1N/A08-04-04 Choose the name _ as the sub-variable that holds type or instance
1N/A specific data used by discipline functions.
1N/A08-03-27 A bug in which the terminal group was not given back to the parent
1N/A shell when the last part of a pipeline was handled by the parent shell
1N/A and the other parts of the pipeline complete has been fixed.
1N/A The symptom was that the pipeline became uninterruptable.
1N/A08-03-25 A bug in restricted mode introduced in ksh93s that caused scripts
1N/A that did not use #! to executed in restricted mode has been fixed.
1N/A08-03-25 A bug in which the pipefail option did not work for a pipeline
1N/A within a pipeline has been fixed.
1N/A08-03-24 A bug in which OPTIND was not set correctly in subshells has
1N/A been fixed.
1N/A08-03-24 A bug which could cause a memory exception when a compound variable
1N/A containing an indexed array with only element 0 defined was expanded.
1N/A08-03-20 A bug in which ${!var[sub].*} was treated as an error has been fixed.
1N/A08-03-20 Associative array assignments of the form ([name]=value ...)
1N/A now allow ; as well as space tab and new line to separate elements.
1N/A08-03-18 A buffering problem in which standard error was sometimes
1N/A not flushed before sleep has been fixed.
1N/A08-03-17 A bug in which a signal sent to $$ while in a subshell would be
1N/A sent to the subshell rather than the parent has been fixed.
1N/A08-03-17 + A --default option added to set(1) to handle set +o POSIX semantics.
1N/A set --state added as a long name alias for set +o.
1N/A08-03-14 A bug in which using monitor mode from within a script could
1N/A cause the terminal group to change has been fixed.
1N/A08-03-10 The new ${...} command substitution will treat the trailing }
1N/A as a reserved word even if it is not at the beginning of a command,
1N/A for example, ${ date }.
1N/A08-03-10 If the name of the ENV begins with /./ or ././ then the
1N/A /etc/ksh.kshrc file will not be executed on systems that support
1N/A this interactive initialization file.
1N/A08-03-07 A bug in which ksh -i did not run the ENV file has been fixed.
1N/A08-03-07 A bug in which ulimit did not always produce the same output as
1N/A ulimit -fS has been fixed.
1N/A08-03-04 A bug in multiline mode in emacs and vi mode which could cause the
1N/A cursor to be on the wrong line when interrupt was hit has been fixed.
1N/A08-03-03 The change made in ksh93s+ on 07-06-18 in which braces became
1N/A optional for ${a[i]} inside [[...]] was restored in the case
1N/A where the argument can be a pattern.
1N/A08-03-03 A bug in which creating a name reference to an associative array
1N/A instance would fail when the subscript contained characters [ or
1N/A ] has been fixed.
1N/A08-02-29 +The redirection operator >; has been added which for non-special
1N/A files, generates the output in a temporary file and writes the
1N/A specified file only of the command has completed successfully.
1N/A08-02-15 A bug in ${var/pattern/string} for patterns of the form ?(*) and +(*)
1N/A has bee fixed.
1N/A08-02-07 A bug in which test \( ! -e \) produced an error has been fixed.
1N/A08-02-14 +The typeset -a option can now optionally be followed by the name
1N/A of an enumeration type which allows subscripts to be enumerations.
1N/A08-02-14 +The enum builtin which creates enumeration types has been added.
1N/A08-02-12 The backoff logic when there are no more processes has been fixed.
1N/A08-02-07 The -X option has been added to typeset. The -X option creates
1N/A a double precision number that gets displayed using the C99 %a
1N/A format. It can be used along with -l for long double.
1N/A08-01-31 The -T option to typeset has been added for creating typed
1N/A variables. Also the -h and -S options have been added to
1N/A typeset that are only applicable when defining a type.
1N/A08-01-31 The prefix expansion operator @ has been added. ${@name}
1N/A expands to the type of name or yields the attributes.
1N/A07-11-15 A bug in the macro expander for multibyte characters in which
1N/A part of the character contains a file pattern byte has been fixed.
1N/A07-10-03 A bug in which : was not allowed as part of an alias name has been
1N/A fixed.
1N/A07-09-26 A bug in which appending a compound variable to a compound variable
1N/A or to an index array didn't work has been fixed.
1N/A07-09-19 In both emacs and vi edit mode, the escape sequence \E[A (usually
1N/A cursor up, when the cursor is at the end of the line will fetch
1N/A the most recent line starting with the current line.
1N/A07-09-18 The value of ${!var} was correct when var was a reference to an
1N/A array instance.
1N/A07-09-18 The value of ${!var[sub]} was not expanding to var[sub] and this
1N/A was fixed. It also fixed ${name} where name is a name reference
1N/A to var[sub].
1N/A07-09-18 +It is now legal to create a name reference without an initialization.
1N/A It will be bound to a variable on the first assignment.
1N/A07-08-30 +A discipline function can be invoked as ${x.foo} and is equivalent
1N/A to ${ x.foo;} and can be invoked as x.foo inside ((...)).
1N/A07-07-09 A bug in which typeset -a did not list indexed arrays has been
1N/A fixed.
1N/A07-07-03 +The command substitution ${ command;} has been added. It behaves
1N/A like $(command) except that command is executed in the current
1N/A shell environment. The ${ must be followed by a blank or an
1N/A operator.
1N/A
1N/A08-04-17 --- Release ksh93s+ ---
1N/A08-04-17 A bug in which umask was not being restored correctly after a
1N/A subshell has been fixed.
1N/A08-04-15 A bug in which sending a STOP signal to a job control shell started
1N/A from within a shell function caused cause the invoking shell to
1N/A terminate has been fixed.
1N/A08-04-11 A bug which caused $(exec > /dev/null) to go into an infinite loop
1N/A has been fixed.
1N/A08-03-27 A bug in which typeset -LZ was being treated as -RZ has been fixed.
1N/A08-03-06 A bug with ksh -P on systems that support the the profile shell,
1N/A in which it would exit after running a non-builtin has been fixed.
1N/A08-01-31 A bug in which command substitution inside ((...)) could cause
1N/A syntax errors or lead to core dumps has been fixed.
1N/A08-01-17 A bug in which discipline functions could be deleted when invoked
1N/A from a subshell has been fixed.
1N/A08-01-17 A bug in which a command substitution consisting only of
1N/A assignments was treated as a noop has been fixed.
1N/A08-01-17 A bug in which discipline functions invoked from withing a
1N/A compound assignment could fail has been fixed.
1N/A08-01-16 Incomplete arithmetic assignments, for example ((x += )), now
1N/A generate an error message.
1N/A08-01-16 A bug in which a set discipline defined for a variable before
1N/A an array assignment could cause a core dump has been fixed.
1N/A08-01-03 A bug in on some systems in which exit status 0 is incorrectly
1N/A returned by a process that catches the SIGCONT signal is stopped
1N/A and then continued.
1N/A07-12-13 A race condition in which a program that has been stopped and then
1N/A continued could lose the exit status has been fixed.
1N/A07-12-12 Code to check for file system out of space write errors for all
1N/A writes has been added.
1N/A07-12-11 A bug in the macro expander for multibyte characters in which
1N/A part of the character contains a file pattern byte has been fixed.
1N/A07-12-06 A bug in the emacs edit mode when multiline was set that output
1N/A a backspace before the newline to the screen has been fixed.
1N/A07-12-04 A bug in which using <n>TAB after a variable name listing expansion
1N/A in the edit modes would cause the $ to disappear has been fixed.
1N/A07-11-28 A bug in which setting IFS to readonly could cause a subsequent
1N/A command substitution to fail has been fixed.
1N/A07-11-27 A work around for a gcc 4.* C99 "feature" that could cause a job
1N/A control shell to go into an infinite loop by adding the volatile
1N/A attribute to some auto vars in functions that call setjmp().
1N/A07-11-27 A bug in which the shell could read ahead on a pipe causing the
1N/A standard input to be incorrectly positioned has been fixed.
1N/A07-11-27 A bug in which compound variable UTF-8 multibyte values were not
1N/A expanded or traced properly has been fixed.
1N/A07-11-21 A bug where an unbalanced '[' in a command argument was not treated
1N/A properly has been fixed.
1N/A07-11-15 A bug in which compatibility mode (no long option names) getopts(1)
1N/A incorrectly set the value of OPTARG for flag options has been fixed.
1N/A07-11-15 A bug in which "hash -- name" treated "--" as an invalid name operand
1N/A has been fixed.
1N/A07-11-15 typeset now handles "-t -- [-r] [--]" for s5r4 hash(1) compatibility.
1N/A07-11-15 A bug in which the umask builtin mis-handled symbolic mode operands
1N/A has been fixed.
1N/A07-11-15 Bugs in which shell arithmetic and the printf builtin mis-handled the
1N/A signs of { -NaN -Inf -0.0 } have been fixed.
1N/A07-11-15 +The full { SIGRTMIN SIGRTMIN+1 ... SIGRTMAX-1 SIGRTMAX } range
1N/A of signals, determined at runtime, are now supported.
1N/A07-11-15 A bug in which creating an index array with only subscript 0 created
1N/A only a simple variable has been fixed.
1N/A07-11-14 A bug in which appending to an indexed array using the form
1N/A name+=([sub]=value) could cause the array to become an associative
1N/A array has been fixed.
1N/A07-11-14 A bug in which typeset without arguments could coredump if a
1N/A variable is declared as in indexed array and has no elements has
1N/A been fixed.
1N/A07-11-14 A bug in which creating a local SECONDS variable with typeset in
1N/A a function could corrupt memory has been fixed.
1N/A07-11-14 A bug which could cause a core dump when a script invoked by name
1N/A from a function used compound variables has been fixed.
1N/A07-11-05 A bug in which printf %d "'AB" did not diagnose unconverted characters
1N/A has been fixed.
1N/A07-11-05 printf %g "'A" support added for all floating point formats.
1N/A07-11-01 A bug in which typeset -f fun did not display the function definition
1N/A when invoked in a subshell has been fixed.
1N/A07-10-29 The sleep builtin was fixed so that all floating point constants
1N/A are valid operands.
1N/A07-10-10 A bug in which the locale was not being restored after
1N/A LANG=value command has been fixed.
1N/A07-09-20 A bug in which a nameref to a compound variable that was local
1N/A to the calling function would not expand correctly when displaying
1N/A is value has been fixed.
1N/A07-09-19 A bug which cause cause a core dump if .sh.edchar returned
1N/A 80 characters or more from a keyboard trap has been fixed.
1N/A07-09-14 A bug in which could cause a core dump when more than 8 file
1N/A descriptors were in use has been fixed.
1N/A07-09-10 A bug in which creating a name reference to an instance of
1N/A an array when the array name is itself a reference has been fixed.
1N/A07-09-10 The file completion code has been modified so that after an = in
1N/A any word, each : will be considered a path delimiter.
1N/A07-09-06 A bug in which subprocess cleanup could corrupt the malloc() heap
1N/A has been fixed.
1N/A07-08-26 A bug in which a name reference to an associative array instance
1N/A could cause the subscript to be evaluated as an arithmetic expression
1N/A has been fixed.
1N/A07-08-22 A bug in which the value of an array instance was of a compound
1N/A variable was not expanded correctly has been fixed.
1N/A07-08-14 A bug which could cause a core dump when a compound assignment was
1N/A made to a compound variable element with a typeset -a attribute
1N/A has been fixed.
1N/A07-08-08 A bug in which a trap ignored in a subshell caused it to be
1N/A ignored by the parent has been fixed.
1N/A07-08-07 A bug in which the set command would generated erroneous output
1N/A for a variable with the -RZ attribute if the variable name had been
1N/A passed to a function has been fixed.
1N/A07-08-02 A bug in which read x[1] could core dump has been fixed.
1N/A07-08-02 A second bug in which after read x[sub] into an associative array
1N/A of an element that hasn't been assigned could lead to a core dump
1N/A has been fixed.
1N/A07-07-31 A bug in which a pipeline that completed correctly could have
1N/A an exit status of 127 when pipefail was enabled has been fixed.
1N/A07-07-09 +The SHOPT_AUDIT compile option has been added for keyboard logging.
1N/A07-06-25 In vi insert mode, ksh no longer emits a backspace character
1N/A before the carriage return when the newline is entered.
1N/A07-06-25 A bug in which pipefail would cause a command to return 0
1N/A when the pipeline was the last command and the failure happened
1N/A on a component other than the last has been fixed.
1N/A07-06-25 A bug in the expansion of ${var/pattern/rep} when pattern or rep
1N/A contained a left parenthesis in single quotes has been fixed.
1N/A07-06-18 The braces for a subscripted variable with ${var[sub]} are now
1N/A optional when inside [[...]], ((...)) or as a subscript.
1N/A07-05-28 A bug in brace expansion in which single and double quotes did
1N/A not treat the comma as a literal character has been fixed.
1N/A07-05-24 The -p option of whence now disables -v.
1N/A07-05-23 Several bug fixes in compound variables and arrays of arrays
1N/A have been made.
1N/A07-05-15 A bug in which the %B format of printf was affected by the
1N/A locale has been fixed.
1N/A07-05-14 A bug in which \ was not removed in the replacement pattern with
1N/A ${var/pattern/rep} when it was not followed by \ or a digit has
1N/A been fixed.
1N/A07-05-10 A bug in which ksh -R file core dumped if no script was specified
1N/A has been fixed. it not displays an error message.
1N/A07-05-07 Added additional Solaris signals to signal table.
1N/A07-04-30 A bug in which a pipeline with command substitution inside a
1N/A function could cause a pipeline that invokes this function to
1N/A hang when the pipefail option is on has been fixed.
1N/A07-04-30 +Added -q to whence.
1N/A07-04-18 A small memory leak with each redirection of a non-builtin has
1N/A been fixed.
1N/A07-03-08 A bug in which set +o output command line options has been fixed.
1N/A07-03-08 A bug in which an error in read (for example, an invalid variable
1N/A name), could leave the terminal in raw mode has been fixed.
1N/A07-03-06 A bug in which read could core dump when specified with an array
1N/A variable with a subscript that is an arithmetic expression has
1N/A been fixed.
1N/A07-03-06 Several serious bugs with the restricted shell were reported and
1N/A fixed.
1N/A07-03-02 If a job is stopped, and subsequently restarted with a CONT
1N/A signal and exits normally, ksh93 was incorrectly exiting with
1N/A the exit status of the stop signal number.
1N/A07-02-26 +M-^L added to emacs mode to clear the screen.
1N/A07-02-26 A bug in which setting a variable readonly in a subshell would
1N/A cause an unset error when the subshell completed has been fixed.
1N/A07-02-19 +The format with printf uses the new = flag to center the output.
1N/A07-02-19 A bug in which ksh93 did not allow multibyte characters in
1N/A identifier names has been fixed.
1N/A07-02-19 A bug introduced in ksh93 that causes global compound variable
1N/A definitions inside functions to exit with "no parent" has been fixed.
1N/A07-02-19 A bug in which using compound commands in process redirection
1N/A arguments would give syntax errors <(...) and >(...) has been fixed.
1N/A07-01-29 A bug which caused the shell to core dump which can occur when a
1N/A built-in exits without closing files that it opens has been fixed.
1N/A07-01-26 A bug in which ~(E) in patterns containing \ that are not inside ()
1N/A has been fixed.
1N/A
1N/A06-12-29 --- Release ksh93s ---
1N/A06-12-29 A bug in which the value of IFS could be changed after a command
1N/A substitution has been fixed.
1N/A06-12-22 +/dev/(tcp|udp|sctp)/HOST/SEVRICE now handles IPv6 addresses on
1N/A systems that provide getaddrinfo(3).
1N/A06-12-19 +A -v option was added to read. With this option the value of
1N/A the first variable name argument will become the default value
1N/A when read from a terminal device.
1N/A06-11-20 A bug in which "${foo[@]:1}}" expands a null argument (instead of
1N/A no argument), when foo[0] is not empty has been fixed.
1N/A06-11-16 The discipline functions have been modified to allow each subscript
1N/A to act independently. Currently the discipline function will not
1N/A be called when called from a discipline function of the same variable.
1N/A06-11-14 A bug which could cause a core dump if a file descriptor for
1N/A an internal file was closed from with a subshell has been fixed.
1N/A06-10-30 +The redirections <# pattern, and <## pattern have been added.
1N/A Both seek forward to the beginning of the next line that contains
1N/A the pattern. The <## form copies the skipped portion to standard
1N/A output.
1N/A06-10-26 +On systems that support stream control transport, the virtual file
1N/A name /dev/sctp/host/port can now be used to establish connections.
1N/A06-10-26 +The printf modifier # when used with d produces units in thousands
1N/A with a single letter suffix added. The modifier # when used with
1N/A the i specification provides units of 1024 with a two letter suffix.
1N/A06-10-24 The value of $! is now set to the process id of a job put
1N/A into the background with the bg command as required by POSIX.
1N/A06-10-23 A bug in which the value of $! was affected by a background
1N/A job started from a subshell has been fixed.
1N/A06-10-23 A bug in ${var:offset:len} in multibyte locales has been fixed.
1N/A06-10-15 +The remaining math functions from C99 were added for any system
1N/A that supports them.
1N/A06-10-13 The klockwork.com software detected a few coding errors that
1N/A have been fixed.
1N/A06-10-12 A bug when skipping over `...` with ${x:=`...`} when x is set
1N/A has been fixed.
1N/A06-10-11 A bug in process floating constants produced by the %a format
1N/A of printf has been fixed.
1N/A06-10-06 A bug in which IFS was not being restored correctly in some
1N/A cases after a subshell has been fixed.
1N/A06-10-06 A bug in which pipefail was not detecting some failures in
1N/A pipelines with 3 or more states has been fixed.
1N/A06-10-03 A bug in the processing of >(...) with builtins which could
1N/A cause the builtin to hang has been fixed.
1N/A06-10-03 A bug in the for loop optimizer which causes >(...) process
1N/A substitution to be ignored has been fixed.
1N/A06-09-17 +The -a option was added to typeset for indexed arrays. This
1N/A is only needed when using the ([subscript]=value ...) form.
1N/A06-09-06 +The showme option was added. Each simple command not beginning
1N/A with a redirection and not occurring with in the while, until, if,
1N/A select condition can be preceded by a semicolon which will
1N/A be ignored when showme is off. When showme is on, any command
1N/A preceded by a colon will be traced but not executed.
1N/A06-08-16 +As a new feature, a leading ~(N) on a pattern has no effect
1N/A except when used for file expansion. In this case if not
1N/A matches are found, the pattern is replaced by nothing rather
1N/A than itself.
1N/A06-08-11 A bug in the expansion of ${.sh.match[i]:${#.shmatch[i]}} has
1N/A been fixed.
1N/A06-08-10 +The read builtin options -n and -N have been modified to treat
1N/A the size as characters rather than bytes unless storing into a
1N/A binary (typeset -B) variable.
1N/A06-07-27 +When the here document operator << is followed directly by a #
1N/A rather than a -, the first line of the here-document determines
1N/A how much whitespace is removed for each line.
1N/A06-07-26 A bug in the C-shell history (enabled with set -H) in which the
1N/A history event !$ was not processed has been fixed.
1N/A06-07-21 A bug on some systems in which assigning PATH on a command line
1N/A would not take effect has been fixed.
1N/A06-07-20 Add ksh93 and rksh93 as allowable names for ksh binaries.
1N/A06-07-20 Removed the SHOPT_OO compilation option which was only partially
1N/A implemented.
1N/A06-07-20 The ability to use egrep, grep, and fgrep expressions within
1N/A shell patterns has been documented.
1N/A06-07-17 A bug with arithmetic command expressions for locales in which
1N/A the comma is a thousands separator has been fixed.
1N/A06-07-13 +The default HISTSIZE was increased from 128 to 512.
1N/A06-07-13 A multibyte problem with locales that use shift codes has been fixed.
1N/A06-06-23 A number of bug fixes for command, file, and variable completion
1N/A have been mode.
1N/A06-06-20 +Floating point division by zero now yields the constant Inf or -Inf
1N/A and floating functions with invalid arguments yield NaN.
1N/A06-06-20 +The floating point constants Inf and NaN can be used in arithmetic
1N/A expressions.
1N/A06-06-20 +The functions isinf(), isnan(), tanhl() have been added for
1N/A arithmetic expressions.
1N/A06-06-13 Internal change to use ordering for variables instead of hashing
1N/A to speed up prefix matching.
1N/A06-06-13 A window between fork/exec in which a signal could get lost
1N/A and cause a program to hang has been eliminated
1N/A06-06-13 A bug in edit completion with quoted strings has been fixed.
1N/A06-06-07 The restricted options can now be enabled by set as well as on
1N/A the command line. Once set, it can not be disabled.
1N/A06-06-04 Modified built-in binding so that for systems for which /bin
1N/A and /usr/bin are the same, a builtin bound to /bin will get
1N/A selected when either /bin or /usr/bin is scanned.
1N/A06-06-04 +Added literal-next character processing for emacs/gmacs mode.
1N/A This change is not compatible with earlier versions of ksh93
1N/A and ksh88 when the stty lnext is control-v. The sequence
1N/A escape-control-v will display the shell version.
1N/A06-05-31 +Modified emacs and vi mode so that entering a TAB after a partial
1N/A TAB completion, generates a listing of possible completions.
1N/A After the second TAB, a number followed by a TAB will perform
1N/A the completion with the corresponding item.
1N/A06-05-19 +Modified arithmetic so that conversions to strings default to
1N/A the maximum number of precision digits.
1N/A06-05-16 Bug fixes for multibyte locales.
1N/A06-05-10 The =~ operator was added to [[...]] and [[ string ~= ERE ]]
1N/A is equivalent to [[ string == ~(E)ERE ]].
1N/A06-04-25 A bug in the vi edit mode which could cause the shell to core dump
1N/A when switching from emacs mode.
1N/A06-04-17 A bug in which using LANG or LC_ in assignment lists with builtins
1N/A did not restore the localed correctly has been fixed.
1N/A06-04-04 A bug in which discipline functions could not be added to variables
1N/A whose names started with .sh has been fixed.
1N/A06-03-28 +The -s option to typeset was added to modify -i to indicate short
1N/A integers.
1N/A06-03-28 A bug in which variables assignment lists before functions
1N/A defined with function name were not passed on the functions
1N/A invoked by this function has been fixed.
1N/A06-03-28 A bug in which name references defined within a function defined
1N/A with function name could not be used with compound variables has
1N/A been fixed.
1N/A06-03-27 A bug in which read <&p (print >&p) would cause the coprocess input
1N/A (output) pipe to close before reading from (after writing to)
1N/A it has been fixed.
1N/A06-02-28 A bug in which stopping a job created with the hist builtin command
1N/A would create a job that could not be restarted has been fixed.
1N/A
1N/A06-01-24 --- Release ksh93r ---
1N/A06-01-24 A bug in which running commands with standard output closed would
1N/A not work as expected has been fixed.
1N/A06-01-23 A bug in which print -u<n> could fail when file descriptor <n> was
1N/A open for writing has been fixed.
1N/A06-01-19 The ?: arithmetic operator fixed to work when the operation after
1N/A the colon was an assignment.
1N/A05-12-24 A bug which could lead to a core dump when elements of a compound
1N/A variable were array elements, i.e. foo=(bar=(1 2)), has been fixed.
1N/A05-12-13 An arithmetic bug in which x+=y+=z was not working has been fixed.
1N/A05-12-13 An arithmetic bug in which x||y was returning x when x was non-zero
1N/A rather than 1 has been fixed.
1N/A05-12-07 +The aliases for integer and float have been changed to use attributes
1N/A -li and -lE to handle long long and long double types.
1N/A05-12-07 +The histexpand (-H) option has been added which allows C-shell
1N/A style history expansions using the history character !.
1N/A05-12-07 +The multiline option was added which changes that way the edit
1N/A modes handle lines longer than the window width. Instead of
1N/A horizontal scrolling, multiple lines on the screen are used.
1N/A05-12-05 The whence builtin now returns an absolute pathname when the
1N/A command is found in the current directory.
1N/A05-11-29 A bug which caused ksh -c '[[ ! ((' to core dump rather than
1N/A report a syntax error has been fixed.
1N/A05-11-29 A bug when reading fixed length records into typeset -b variables
1N/A which caused a zero byte to terminate the value has been fixed.
1N/A05-11-22 +The ability to seek to an offset within a file has been added
1N/A with the new I/O redirection operators, <# and >#. Currently,
1N/A these redirection operators must be followed by ((expr))
1N/A but in a future release, it should be able to used to seek forward
1N/A to the specified shell pattern. In addition $(n<#) expands to the
1N/A current byte offset for file descriptor n.
1N/A05-11-22 +The .sh.match array variable is now set after each [[ ... ]]
1N/A pattern match. Previously it was only set for substring matches.
1N/A05-10-17 A bug in which the library path variable could be prefixed
1N/A with a directory when a .path file was not encountered in
1N/A the directory of the executable has been fixed.
1N/A05-09-15 A for/while loop optimizer bug in which $OPTIND was not
1N/A correctly expanded has been fixed.
1N/A05-09-05 A bug in which a history command that invoked a history
1N/A command could go into an infinite loop has been fixed.
1N/A05-08-31 +In the case that IFS contains to adjacent new-lines so that
1N/A new-line is not treated as a space delimiter, only a single
1N/A new-line is deleted at the end of a command substitution.
1N/A05-08-19 +When a tilde substitution expands to the / directory and is
1N/A followed by a /, it is replaced by the empty string.
1N/A05-08-16 A bug in which n<&m did not synchronize m has been fixed.
1N/A05-08-16 A bug in which process substitution ( <() and >() ) was not
1N/A working within for and while loops has been fixed.
1N/A05-07-24 A bug in which the pattern ~(E)(foo|bar) was treated as a syntax
1N/A error has been fixed.
1N/A05-07-24 A bug in completion with <n>=, where n was the one of the
1N/A previous selection choices has been fixed.
1N/A05-07-21 A bug with multibyte input when no edit mode was specified which
1N/A caused the input line to shift left/right has been fixed.
1N/A05-06-24 A race condition which could cause the exit status to get lost
1N/A on some fast systems has been fixed.
1N/A05-06-21 A bug in which nested patterns of the form {m,n}(pat) would cause
1N/A syntax errors has been fixed.
1N/A05-06-21 A bug in the macro expander has been fixed which could cause a
1N/A syntax error for an expansion of the form ${x-$(...)} when
1N/A x is set and the command substitution contained certain strings.
1N/A05-06-08 +On systems for which echo does not do System V style \ expansions,
1N/A the -e option was added to enable these expansion.
1N/A05-06-08 A bug in which ${var op pattern} to not work when inside an
1N/A arithmetic expression has been fixed.
1N/A05-05-23 +An extension to shell patterns that allows matching of nested
1N/A groups while skipping over quoted strings has been added.
1N/A05-05-18 A bug in which the line number for errors was not correct for
1N/A functions loaded from FPATH has been fixed.
1N/A05-04-18 A bug in which the exit status $? is not set when a trap triggered
1N/A by the [[...]] command is executed has been fixed.
1N/A05-04-08 +Redirection operators can be directly preceded with {varname}
1N/A with no intervening space, where varname is a variable name which
1N/A allows the shell to select a file descriptor > 10 and store it
1N/A into varname.
1N/A05-04-08 +SHOPT_CMDLIB_BLTIN=1 now includes <cmdlist.h> generated table.
1N/A05-04-07 +[[ -o ?option ]] is true if "option" is a supported option.
1N/A05-04-05 A bug in handling file completion with spaces in the names
1N/A has been fixed.
1N/A05-03-25 +The SIGWINCH signal is caught by default to keeps the LINES and
1N/A COLUMNS variables in sync with the actual window size.
1N/A05-03-25 +Building ksh with SHOPT_REMOTE=1 causes ksh to set --rc if stdin is
1N/A a socket (presumably part of a remote shell invocation.)
1N/A05-03-25 +Building ksh with SHOPT_SYSRC=1 causes interactive ksh to source
1N/A /etc/ksh.kshrc (if it exists) before sourcing the $ENV file.
1N/A05-03-25 +{first..last[..incr][%fmt]} sequences added to brace expansions
1N/A when braceexpand is enabled.
1N/A05-03-03 A bug where a SIGCHLD interrupt could cause a fifo open to fail has
1N/A been fixed.
1N/A05-02-25 A bug in which a builtin command run in the background could
1N/A keep a file descriptor open which could cause a foreground
1N/A process to hang has been fixed.
1N/A05-02-24 A bug where builtin library commands (e.g., date and TZ) failed to
1N/A detect environment variable changes has been fixed.
1N/A05-02-22 +The read builtin and word splitting are now consistent with respect
1N/A to IFS -- both treat IFS as field delimiters.
1N/A05-02-22 +The read builtin no longer strips off trailing delimiters that
1N/A are not space characters when there are fewer variables than fields.
1N/A05-02-17 A builtin bug on systems where dlsym(libcmd) returns link-time
1N/A bindings has been fixed.
1N/A05-02-12 A bug in which the lib_init() function for .paths BUILTIN_LIB
1N/A libraries was not called has been fixed.
1N/A05-02-06 A bug on some systems in which moving the write end of a co-process
1N/A to a numbered file descriptor could cause it to close has been fixed.
1N/A05-02-06 A bug in the vi-edit mode in which the character under the cursor
1N/A was not deleted in some cases with the d% directive has been fixed.
1N/A05-02-06 A bug where external builtin stdout/stderr redirection corrupted
1N/A stdout has been fixed.
1N/A05-02-04 A bug where times formatting assumed CLK_TCK==60 has been fixed.
1N/A
1N/A05-01-11 --- Release ksh93q ---
1N/A05-01-11 A bug in the integral divide by zero check has been fixed.
1N/A05-01-11 +The -l option has been added to read /etc/profile and
1N/A $HOME/.profile, if they exist, before the first command.
1N/A05-01-11 An argument parsing bug that caused `kill -s x -- n' to fail has
1N/A been fixed.
1N/A05-01-11 +The .paths file, introduced in ksh93m, which can appear in
1N/A any directory in PATH, now allows a line of the form 'BUILTIN_LIB=.'
1N/A When a command is searched for this directory, and the full path
1N/A matches the path of the built-in version of the command (listed
1N/A by the 'builtin' command) then the built-in version of the command
1N/A is used. When ksh is built with SHOPT_CMDLIB_DIR=1 then all libcmd
1N/A functions become builtins with the '/opt/ast/bin/' directory prefix.
1N/A05-01-10 A bug in which a nameref to a compound name caused a core dump has
1N/A been fixed.
1N/A05-01-09 A bug in which some SIGCHLD interrupts (from child processes exiting)
1N/A caused a fatal print/echo error diagnostic has been fixed.
1N/A04-12-24 A bug in which some SIGCHLD interrupts (from child processes exiting)
1N/A corrupted the internal process/job list, sometimes causing the shell
1N/A to hang, has been fixed.
1N/A04-12-01 A bug in which typeset -Fn truncated less than n digits for large
1N/A numbers has been fixed.
1N/A04-11-25 A bug in which standard error could be closed after a redirection
1N/A to /dev/stderr has been fixed.
1N/A04-11-17 A bug in which an expansion of the form ${array[@]:3} could expand
1N/A to ${array[0]} when ${array[3]} was not set has been fixed.
1N/A04-10-22 +The -E or -orc command line option reads ${ENV-$HOME/.kshrc} file.
1N/A04-10-22 +`-o foo' equivalent to `+o nofoo', `-o nobar' equivalent to `+o bar'.
1N/A `--foo' equivalent to `-o foo', `--nofoo' equivalent to `+o foo'
1N/A04-10-05 +The .paths file, introduced in ksh93m, which can appear in
1N/A any directory in PATH, now allows a line of the form
1N/A 'BUILTIN_LIB=libname'. When a command is searched for this directory,
1N/A the shared library named by libname will first be searched for a
1N/A built-in version of the command.
1N/A04-09-03 <<< here documents now handle quotes in the word token correctly.
1N/A04-08-08 +The maximum size for read -n and and read -N was increased from
1N/A 4095 to 32M.
1N/A04-08-04 +printf %q was modified so that if an no operand was supplied, no
1N/A no output would be generated rather than a quoted empty string.
1N/A04-08-01 +The -n and -N options of the read builtin has been modified
1N/A when reading variables with the binary attribute so that the
1N/A data is stored directly rather than through assignment.
1N/A04-08-01 +The shcomp command has been modified to process alias commands
1N/A under some conditions.
1N/A04-07-31 +The .sh.match variable added in ksh93l, now works like other
1N/A indexed arrays.
1N/A04-07-08 A loop optimizer bug which occurs when typeset is used in
1N/A a for or while loop inside a function has been fixed.
1N/A04-06-24 +The number of subexpressions in a pattern was increased to 64
1N/A from the current number of 20.
1N/A04-06-17 +The -t option to read was modified to allow seconds to be
1N/A specified as any arithmetic expression rather than just
1N/A an integral number of seconds, for example even -t 'sin(.5)'
1N/A is now valid.
1N/A04-06-16 Two small memory leak problems were fixed.
1N/A04-06-15 A bug in ${var/pattern/"string"} which occurred when string
1N/A contained pattern matching characters has been fixed.
1N/A04-05-08 printf $'%d\n' produced an erroneous error message and has
1N/A been fixed.
1N/A04-05-24 A bug in which an associative array without any elements could
1N/A cause a core dump when a script with an associative array with
1N/A the same name was declared in a script invoked by name has
1N/A been fixed.
1N/A04-05-11 A bug in which an exec statement could close the script that
1N/A is being processed in a script that is run by name causing
1N/A a failure has been fixed.
1N/A04-04-28 +If the first character of assignment to an integer variable was 0,
1N/A the variable had been treated as unsigned. This behavior was
1N/A undocumented and has been removed.
1N/A04-04-05 A bug in which the positioning of standard input could be incorrect
1N/A after reading from standard input from a subshell has been fixed.
1N/A04-03-30 A bug in the for loop optimizer which in rare cases could cause
1N/A memory corruption has been fixed.
1N/A04-03-29 +The preset alias source='command .' has been added.
1N/A04-03-29 A bug introduced in ksh93p on some systems in which invoked by
1N/A name with #! on the first line would not get the signals handling
1N/A initialized correctly has been fixed.
1N/A04-03-29 A bug introduced in ksh93p in which a HUP signal received by
1N/A a shell that is a session group leader was not passed down to
1N/A its children has been fixed.
1N/A
1N/A04-02-28 --- Release ksh93p ---
1N/A04-02-28 +The ability to apply an append discipline to any variable has
1N/A been added.
1N/A04-02-14 A bug in which the exportall option (set -a) would cause incorrect
1N/A results for arrays has been fixed.
1N/A04-02-02 A bug in which an exported array would pass more than
1N/A the first element to a script invoked by name has been fixed.
1N/A04-02-02 A bug on some systems in which name=value pairs preceding a script
1N/A invoked by name was not getting passed to the script has been fixed.
1N/A04-01-20 A bug in which an unset discipline function could cause a core
1N/A dump on some systems has been fixed.
1N/A04-01-12 A bug in which a continue or break called outside a loop from
1N/A inside a function defined with name() syntax could affect
1N/A the invoking function has been fixed.
1N/A04-01-08 If a command name begins with ~, only filename completion will be
1N/A attempted rather than pathname completion using the builtin editors.
1N/A04-01-08 A bug in the vi edit mode in which the wrong repeat count on
1N/A multiple word replacements with the . directive has been fixed.
1N/A04-01-06 Backspace characters are now handled correctly in prompt strings.
1N/A04-01-06 +The getopts builtin has been modified to accept numerical
1N/A arguments of size long long on systems that support this.
1N/A04-01-06 A bug in which unsetting all elements of an associative array
1N/A would cause it to be treated as an indexed array has been fixed.
1N/A03-12-15 A bug in which a quoted string ending with an unescaped $ would
1N/A delete the ending $ in certain cases has been fixed.
1N/A03-12-05 A bug in which the shell could hang when set -x tracing a command
1N/A when an invalid multibyte character is encountered has been fixed.
1N/A03-12-05 On some systems, if the KEYBD trap is set, then commands that use
1N/A the meta key were not processed until return was hit. This
1N/A has been fixed.
1N/A03-12-05 A problem which occurred when the login shell was not a group
1N/A leader that could cause it to fail has been fixed.
1N/A03-12-05 A problem in which a shell could core dump after receiving a signal
1N/A that should cause it to terminate while it was in the process
1N/A of acquiring more space has been fixed.
1N/A03-12-05 +If ENV is not specified, the shell will default to $HOME/.kshrc
1N/A for interactive shells.
1N/A03-11-21 A bug introduced in ksh93o in which the DEBUG trap could get
1N/A disabled after it triggered has been fixed.
1N/A03-11-04 A bug in which using arithmetic prefix operators ++ or -- on a
1N/A non-lvalue could cause a core dump has been fixed.
1N/A03-11-04 A bug in which leading zeros were stripped from variable
1N/A expansions within arithmetic computation to avoid being treated
1N/A as octal constants when they should not have, has been fixed.
1N/A03-10-08 A bug introduced in ksh93o in which a large here document inside
1N/A a function definition could get corrupted has been fixed.
1N/A03-09-22 A bug in which the .get discipline function was not being
1N/A called when a string variable was implicitly referenced from
1N/A within a numerical expression has been fixed.
1N/A03-09-22 A bug in which a script without a leading #! could get executed
1N/A by /bin/sh rather than the current shell on some systems has
1N/A been fixed.
1N/A03-09-12 +To improve conformance with ksh88, leading zeros will be ignored
1N/A when getting the numerical value of a string variable so that
1N/A they will not be treated as octal constants.
1N/A03-09-03 +The builtin kill command now processes obsolete invocations
1N/A such as kill -1 -pid.
1N/A03-09-02 The restriction on modifying FPATH in a restricted shell (sh -r)
1N/A has been documented.
1N/A03-09-02 +The restricted shell (sh -r) has been modified to disallow
1N/A executing command -p.
1N/A03-08-07 A bug in which the KEYBD trap was not being invoked when
1N/A characters with the 8th bit set has been fixed.
1N/A03-08-02 A parser bug introduced in ksh93o which caused the character
1N/A after () in a Posix function definition to be skipped
1N/A when reading from standard input has been fixed.
1N/A03-08-01 A bug in which "${foo#pattern}(x)" treated (x) as if it were
1N/A part of the pattern has been fixed.
1N/A03-08-01 +The command -x option has been modified so that any trailing
1N/A arguments that do expand to a single word will be included
1N/A on each invocation, so that commands like command -x mv * dir
1N/A work as expected.
1N/A
1N/A03-07-20 --- Release ksh93o+ ---
1N/A03-07-20 A bug in which could cause memory corruption when a posix
1N/A function invoked another one has been fixed.
1N/A03-07-15 A bug in which a file descriptor>2 could be closed before
1N/A executing a script has been fixed.
1N/A03-07-15 A parsing error for <() and >() process substitutions inside
1N/A command substitution has been fixed.
1N/A03-07-15 A parsing error for patterns of the form {...}(...) when
1N/A used inside ${...} has been fixed.
1N/A03-07-15 An error in which expanding an indexed array inside a compound
1N/A variable could cause a core dump has been fixed.
1N/A03-07-15 A bug in which on rare occasions a job completion interrupt
1N/A could cause to core dump has been fixed.
1N/A03-06-26 A bug in which process substitution embedded within command
1N/A substitution would generate a syntax error has been fixed.
1N/A03-96-23 A bug in which ${@:offset:len} could core dump when there
1N/A were no arguments has been fixed.
1N/A03-96-23 A bug in which ${X[@]:offset:len} could core dump when X
1N/A was unset has been fixed.
1N/A03-06-22 +The -x option was added to the command builtin. If this
1N/A option is on, and the number of arguments would exceed ARG_MAX,
1N/A the command will be invoked multiple times with a subset of
1N/A the arguments. For example, with alias grep='command -x grep,
1N/A any number of arguments can be specified.
1N/A03-06-14 A bug in which could cause a core dump on some systems with
1N/A vi and emacs editors with the MULTIBYTE option has been fixed.
1N/A03-06-06 A bug in which the shell could core dump when a script was
1N/A run from its directory, and the script name a symlink to a file
1N/A beginning with .., has been fixed.
1N/A03-06-05 A bug in which the shell could core dump when a child process
1N/A that it is unaware of terminates while it is calling malloc()
1N/A has been fixed.
1N/A03-06-02 +An option named globstar (set -G) has been added. When enabled,
1N/A during pathname expansion, any component that consists only of ** is
1N/A matches all files and any number of directory levels.
1N/A03-05-30 A bug in which the PATH search could give incorrect results when
1N/A run from directory foo and PATH contained .:foo:xxx has been fixed.
1N/A03-05-29 +Some changes were made to the code that displays the prompt in edit
1N/A mode to better handle escape sequences in the prompt.
1N/A03-05-27 I added = to the list of characters that mark the beginning of
1N/A a word for edit completion so that filenames in assignments
1N/A can be completed.
1N/A03-05-20 A bug in which read -N could hang on some systems when reading
1N/A from a terminal or a pipe has been fixed.
1N/A03-05-19 A bug in which the output of uname from a command substitution
1N/A would go to the standard output of the invoking command when
1N/A uname was invoked with a non-standard option has been fixed.
1N/A03-05-19 A job control bug which would cause the shell to exit because
1N/A it hadn't take back the terminal has been fixed. The bug
1N/A could occur when running a function that contained a pipeline
1N/A whose last element was a function.
1N/A03-05-19 A job control timing bug introduced in ksh93o on some systems
1N/A which could cause a pipeline to hang if the first component
1N/A completed quickly has been fixed.
1N/A03-05-13 +The read builtin has been modified so that the builtin editors
1N/A will not overwrite output from a previous incomplete line.
1N/A03-05-13 A bug in which the name of an identifier could have the string
1N/A .sh. prefixed to it after expanding a variable whose name begins
1N/A with .sh. has been fixed.
1N/A03-05-13 A bug in the expansion of $var for compound variables in which
1N/A some elements would not be output when the name was a prefix
1N/A of another name in the compound variable has been fixed.
1N/A03-05-08 The last item in the ksh93o release on 03-01-02 has been
1N/A altered slightly to preserve the leading 0's when the
1N/A preceding character is a digit. Thus, with typeset -LZ3 x=10,
1N/A $(( 1$x)) will be 1010 whereas $(( $x) will be 10.
1N/A03-04-25 A bug in which if x is a name reference, then nameref y=x.foo
1N/A did not follow x has been fixed.
1N/A
1N/A03-03-18 --- Release ksh93o ---
1N/A03-03-18 +A -N unary operator was added to test and [[...]] which returns
1N/A true if the file exists and the file has been modified since it
1N/A was last read.
1N/A03-03-18 +The TIMEFORMAT variable was added to control the format for
1N/A the time compound command. The formatting description is
1N/A described in the man page.
1N/A03-03-06 +A -N n option was added to read which causes exactly n bytes
1N/A to be read unlike -n n which causes at most n bytes to be read.
1N/A03-03-03 +Three new shell variables were added. The variable .sh.file
1N/A stores the full pathname of the file that the current command
1N/A was found in. The variable .sh.fun names the current function
1N/A that is running. The variable .sh.subshell contains the depth
1N/A of the current subshell or command substitution.
1N/A03-03-03 +When the DEBUG trap is executed, the current command line after
1N/A expansions is placed in the variable .sh.command. The trap
1N/A is also now triggered before each iteration of a for, select,
1N/A and case command and before each assignment and redirection.
1N/A03-02-28 +Function definitions are no longer stored in the history file so
1N/A that set -o nolog no longer has any meaning.
1N/A03-02-28 +All function definitions can be displayed with typeset -f not
1N/A just those stored in the history file. In addition, typeset +f
1N/A displays the function name followed by a comment containing the
1N/A line number and the path name for the file that defined this function.
1N/A03-02-28 A bug in which the value of $LINENO was not correct when executing
1N/A command contained inside mult-line command substitutions has been
1N/A fixed.
1N/A03-02-19 +Since some existing ksh88 scripts use the undocumented and
1N/A unintended ability to insert a : in front of the % and # parameter
1N/A expansion operators, ksh93 was modified to accept :% as equivalent
1N/A to % and :# as equivalent to # with ${name op word}.
1N/A03-02-14 A bug which could cause a core dump when reading from standard
1N/A error when standard error was a pty has been fixed.
1N/A03-02-14 +The shell arithmetic was modified to use long double on systems
1N/A that provide this data type.
1N/A03-02-09 A bug in which a function located in the first directory in FPATH
1N/A would not be found when the last component of PATH was . and the
1N/A current directory was one of the directories in PATH has been fixed.
1N/A03-02-07 +The trap and kill builtin commands now accept a leading SIG prefix
1N/A on the signal names as documented.
1N/A03-02-05 A bug in the expansion of ${var/$pattern}, when pattern contained
1N/A \[ has been fixed.
1N/A03-02-05 A bug in which .sh.match[n], n>0, was not being set for substring
1N/A matches with % and %% has been fixed.
1N/A03-01-15 A bug in which getopts did not work for numerical arguments specified
1N/A as n#var in the getopts string has been fixed.
1N/A03-01-09 A bug in which using ${.sh.match} multiple times could lead to
1N/A a memory exception has been fixed.
1N/A03-01-06 A bug in the expansion of ${var/pattern/$string} in the case that
1N/A $string contains \digit has been fixed.
1N/A03-01-02 +A -P option was added for systems such as Solaris 8 that support
1N/A profile shell.
1N/A03-01-02 For backward compatibility with ksh88, arithmetic expansion
1N/A with ((...)) and let has been modified so that if x is a zero-filled
1N/A variable, $x will not be treated as an octal constant.
1N/A
1N/A02-12-05 --- Release ksh93n+ ---
1N/A02-11-30 A bug that can show up in evaluating arithmetic statements that
1N/A are in an autoloaded function when the function is autoload from
1N/A another function has been fixed.
1N/A02-11-30 An optimization bug in which an expansion of the form ${!name.@},
1N/A which occurred inside a for or a while loop, when name is a name
1N/A reference, has been fixed.
1N/A02-11-18 A bug in which modifying array variables in a subshell could leave
1N/A side effects in the parent shell environment has been fixed.
1N/A02-11-18 A memory leak when unsetting an associative array has been fixed.
1N/A02-11-14 +The code to display compound objects was rewritten to make
1N/A it easier for runtime extensions to reuse this code.
1N/A02-11-14 +A change was made to allow runtime builtins to be notified when
1N/A a signal is received so that cleanup can be performed.
1N/A02-10-31 +User applications can now trap the ALRM signal. Previously,
1N/A the ALRM signal was used internally and could not be used
1N/A by applications.
1N/A02-10-31 A bug in which signals received while reading from a coprocess
1N/A for which traps were set was not handled correctly has been fixed.
1N/A02-10-31 A bug in which a file opened with exec inside a subshell could
1N/A be closed before the subshell completed has been fixed.
1N/A02-10-21 A bug in which setting PATH or FPATH inside a function might not
1N/A take effect has been fixed.
1N/A02-10-21 A bug which could cause a core dump when a local SECONDS variable
1N/A is defined in a function has been fixed.
1N/A02-10-15 A bug in which the associate array name operator ${!array[@]}
1N/A could return the same name multiple times has been fixed.
1N/A02-10-15 A bug in which the zero'th element of an associative array was
1N/A not getting set when an assignment was made without a subscript
1N/A specified has been fixed.
1N/A
1N/A02-09-30 --- Release ksh93n ---
1N/A02-09-30 +The maximum indexed array size was increased to 16Megs.
1N/A02-09-30 A bug which could cause a core dump when changing attributes
1N/A of associative array has been fixed.
1N/A02-09-30 A bug in which exporting an array variable would not export the
1N/A 0-th element has been fixed.
1N/A02-09-30 A bug in which an array assignment of the form a=($a ...) would unset
1N/A 'a' before the right hand side was evaluated has been fixed.
1N/A02-09-27 A bug in which the error message for ${var?message} when var was
1N/A null or unset did not contain the variable name var has been fixed.
1N/A02-09-27 A bug in which closing file descriptors 0 through 2 could
1N/A cause a subsequent here document to fail has been fixed.
1N/A02-09-14 A bug in whence which occurs when the specified name contained
1N/A a / has been fixed.
1N/A02-09-14 A bug in the parser for strings of the form name$((expr))=value
1N/A has been fixed.
1N/A02-09-14 A for loop optimization bug in which the number of elements in
1N/A an array was treated as an invariant has been fixed.
1N/A02-09-09 A bug in which redirection or closing of a file descriptor between
1N/A 3 and 9 could cause a subsequent here document to fail has been
1N/A fixed.
1N/A02-09-09 A bug in which a background job was not removed from the job list
1N/A when a subshell completed has been fixed, for example (prog&).
1N/A02-09-03 A bug in which an assignment of the form name=(integer x=3)
1N/A could be interpretted as an array assignment rather than a
1N/A compound variable assignment has been fixed.
1N/A02-08-19 A command completion bug which occurred on file systems that
1N/A are case insensitive has been fixed.
1N/A02-08-19 A bug which could lead to an exception on some systems (for
1N/A example FREEBSD) which occurred when setting PATH has been fixed.
1N/A02-08-11 A bug in arithmetic rounding in which a value input as a decimal
1N/A string would output as a rounded version of the string has
1N/A been fixed.
1N/A02-08-11 A bug in which the last character could be deleted from shell
1N/A traces and from whence when called from a multibyte locale
1N/A has been fixed.
1N/A02-08-01 A bug which could cause a core dump to occur when a shell script
1N/A is executed while a coprocess is running that has closed the
1N/A output pipe has been fixed.
1N/A02-08-01 A bug in which command completion in multibyte mode could
1N/A corrupt memory for long command lines has been fixed.
1N/A
1N/A02-06-17 --- Release ksh93n- ---
1N/A02-06-17 A bug in which user defined macros could cause a core dump in
1N/A with MULTIBYTE mode has been fixed.
1N/A02-06-17 A bug in which printf format specifiers of the form %2$s were causing
1N/A a core dump has been fixed.
1N/A02-06-17 A bug in which setting stty to noecho mode did not prevent the
1N/A echoing of characters by ksh when emacs or viraw mode
1N/A was enabled has been fixed.
1N/A02-06-17 A bug in which background job completion could cause the sleep
1N/A builtin to terminate prematurely has been fixed.
1N/A02-06-17 A bug in which the shell could core dump if getopts was called
1N/A when the OPTIND variable contained a negative value has been fixed.
1N/A02-06-10 +The edit mode prompt has been modified to handle escape sequences.
1N/A02-06-10 A bug which occurred for interactive shells in which the builtin
1N/A cat command was used in command substitution on a file whose
1N/A size was larger than PIPE_BUF has been fixed.
1N/A02-06-10 A bug in which the trap on ERR was not being processed when
1N/A set inside a function has been fixed.
1N/A02-06-07 A bug in which function definitions could cause the history count
1N/A to be decremented by one (and even become negative) has been fixed.
1N/A02-06-05 A bug in read in which share mode could be enabled has been fixed.
1N/A02-05-28 A bug which could occur when the last command of a script was
1N/A a case statement and the action selected ended in ;& instead of ;;
1N/A has been fixed.
1N/A02-05-23 A bug with unary + introduced in ksh93k has been fixed.
1N/A02-05-07 A bug in substitutions of the form ${var/pattern/string} in which
1N/A a backslash was inserted in the replacement string when it contained
1N/A a special pattern character has been fixed.
1N/A02-05-01 A bug in the emacs edit mode which occurred in versions compiled
1N/A for multibyte character sets which occurred when a repeated search
1N/A was requested after a long line had been returned for the previous
1N/A search has been fixed.
1N/A02-04-02 +vi and emacs edit modes were modified so that tab completion is
1N/A disabled when invoked from the read built-in.
1N/A
1N/A02-03-26 --- Release ksh93m+ ---
1N/A02-03-26 A bug in which \ was not handled correctly when used in file
1N/A expansion has been fixed.
1N/A02-02-18 A bug in which lines beginning with a # were deleted from here
1N/A documents when the here-document delimiter was followed by
1N/A a comment has been fixed.
1N/A02-12-06 An optimization bug in which ${!x[@]) was treated as invariant in
1N/A a for loop has been fixed.
1N/A02-02-06 A bug in which the ERR trap is not cleared for a script invoked
1N/A by name from within a function has been fixed.
1N/A02-01-08 A bug in which a shell script executed from within a subshell
1N/A could cause this script to have an invalid pointer leading
1N/A to a memory fault has been fixed.
1N/A02-01-07 +Added here documents of the form <<< word (as per zsh) which
1N/A is equivalent to << delim\nword\ndelim.
1N/A02-01-07 A bug in which the first word of a compound assignment,
1N/A x=(word ...), was treated as a reserved word has been fixed.
1N/A02-01-07 A bug in the handling of \ when noglob was enabled and a
1N/A substitution of the form ${word op pattern} occurred in the
1N/A same word has been fixed.
1N/A02-01-07 +A compilation option, CMDLIB_BLTIN in the file OPTION, has
1N/A been added. When this options is set, all commands implemented
1N/A in libcmd become shell builtin commands by default.
1N/A02-01-07 A bug in which builtin foo, where foo is already a builtin
1N/A would result in the builtin foo getting removed has been fixed.
1N/A02-01-07 A bug which the shell executed a command found in the current
1N/A directory when PATH have no valid directories has been fixed.
1N/A01-11-28 The value of $? was not being set when called with exit.
1N/A01-11-28 If the last command was of the form (...) and a trap on EXIT or
1N/A ERR was set, and the command inside () modified the trap, then
1N/A the original trap wasn't executed.
1N/A01-11-26 +The value for 0 is now preceded by the base number when
1N/A the base was not 10.
1N/A01-11-26 +The default has compilation mode has been changes so that
1N/A viraw mode will always be on.
1N/A
1N/A01-10-31 --- Release ksh93m ---
1N/A01-10-31 A for loop optimizer bug for subshells contained withing for
1N/A loops has been fixed.
1N/A01-10-16 typeset without arguments no longer outputs variable names
1N/A that do not have any attributes that are set.
1N/A01-10-16 A bug introduced in ksh93l in which assignments specified with
1N/A the exec built-in were not being expanded properly has been
1N/A fixed.
1N/A01-10-11 An optimization bug in which ${!x) was treated as invariant in
1N/A a for loop has been fixed.
1N/A01-10-11 Unsigned integer variables in bases other than 10 are printed now
1N/A expand in that base with the base prefix.
1N/A01-10-10 A number of typos in the self generating man pages for shell
1N/A built-ins have been fixed.
1N/A01-10-04 The self generated man pages for hist and fc were not working
1N/A correctly and have been fixed.
1N/A01-10-03 Yet another optimizer bug in which shell patterns were
1N/A treated as invariants has been fixed.
1N/A01-09-27 Two bugs relating to multibyte history searches and to find
1N/A have been fixed.
1N/A01-09-27 A bug introduced in ksh93k in which the PATH searching was
1N/A not restored after running a command with an assignment list
1N/A has been fixed.
1N/A01-09-26 A bug in which a zero filled field was treated as octal when
1N/A converted to integer has been fixed.
1N/A01-09-26 Yet another bug in the optimization of for loops related to
1N/A recursive functions with break or continue statements has been fixed.
1N/A01-09-25 +The exponentiation operator ** was added to the shell arithmetic
1N/A evaluation. It has higher precedence than * and is left
1N/A associative.
1N/A01-09-25 The code was modified to use the ast multibyte macros
1N/A and functions for handing multibyte locales.
1N/A01-09-25 +The expansion ${parameter:offset:length} now handles negative
1N/A offsets which cause offsets to be measured from the end.
1N/A01-09-25 Some spelling errors in the documentation were corrected.
1N/A01-09-24 +The /dev/tcp/host/port and /dev/udp/host/port now allow
1N/A the ports to be specified by service name.
1N/A01-09-24 +The change staring with ksh93g in which the the appropriate
1N/A library path variable is prepended with a corresponding library
1N/A directory has been modified. With the new method, only the
1N/A library path defined in the file named .paths in the directory
1N/A where the executable is found will be modified. See the
1N/A man page for more details.
1N/A01-09-23 +The .fpath file (see ksh93h) is no longer looked for in each
1N/A directory on the path to locate function directories. The
1N/A file named .paths is used instead.
1N/A01-09-23 A bug in which IFS was not being restored after being changed in
1N/A a subshell has been fixed.
1N/A01-09-16 +With the vi and emacs edit modes, after a list of command
1N/A or functions is generated with = or M-= respectively,
1N/A any element from the list can be pasted on the command line
1N/A by preceding the = or M-= with a numeric parameter specifying
1N/A the position on the list.
1N/A01-09-16 A bug in ksh93l caused command completion not to find aliases
1N/A and functions. Command listing from the edit mode was presented
1N/A in reverse order. This has been fixed.
1N/A01-09-13 Another bug in the optimization of for loops related to subshells
1N/A when traps were set has been fixed.
1N/A01-09-07 A change in ksh93l caused brace expansion to stop working
1N/A and this has been fixed.
1N/A01-09-04 A bug introduced in ksh93k in which an arithmetic statement
1N/A within a function that used name references did not follow the
1N/A reference has been fixed.
1N/A01-09-04 A bug introduced in ksh93l in which export -p did not prefix
1N/A each export with the word export has been fixed.
1N/A01-08-29 A bug in multibyte input which occurred when a partial multibyte
1N/A character was received has been fixed.
1N/A01-08-29 A bug introduced in ksh93l which could cause a core dump
1N/A when an assignment list containing PATH is specified inside
1N/A command substitution has been fixed.
1N/A01-08-09 Another bug in the optimization of for loops in ksh93l caused
1N/A errors in recursive functions using local variables that
1N/A contained for loops has been fixed.
1N/A01-07-27 A bug in which IFS would be unset after a command substitution
1N/A inside a here document has been fixed.
1N/A01-07-26 To conform to the POSIX standard, if you invoked ksh name,
1N/A and name does not contain a /, it will first try to run
1N/A one in the current directory whether it is executable or not
1N/A before doing a path search for an executable script. Earlier
1N/A versions first checked for an executable script using the
1N/A PATH variable.
1N/A01-07-23 A bug in which unset -f invoked in a subshell could unset a
1N/A function defined in the parent has been fixed.
1N/A01-07-16 A bug in the optimization of for loops in ksh93l caused
1N/A name references to be treated as invariants has been fixed.
1N/A01-07-09 A bug in which a discipline function applied to a local variable
1N/A could cause a shell exception has been fixed. Discipline
1N/A functions can only be specified for global variables.
1N/A
1N/A01-06-18 --- Release ksh93l ---
1N/A01-06-18 A bug in assigning integers larger than can be represented as
1N/A long integers to floating point variables has been fixed.
1N/A01-06-18 A bug in the handling of unsigned integers (typeset -ui) has
1N/A been fixed.
1N/A01-06-04 The evaluation of the PS1 prompt no longer effects the value
1N/A of the $? variable.
1N/A01-06-01 A small memory leak from subshells has been fixed.
1N/A01-05-22 A bug in which attributes for variables that did not have
1N/A values would be lost after a subshell has been fixed.
1N/A01-05-22 +The %R format has been added to convert a shell pattern into
1N/A an extended regular expression.
1N/A01-05-22 +The escape sequences \e, \cX, \C[.collating-element.], and
1N/A \x{hex} have been added to ASCII-C strings and to printf format
1N/A strings.
1N/A01-05-20 +Patterns of the form {n}(pattern) and {m,n}(pattern) are now
1N/A recognized. The first form matches exactly n of pattern whereas,
1N/A the second form matches from m to n instances of pattern.
1N/A01-05-20 +The shell allows *-(pattern), +-(pattern), ?-(pattern),
1N/A {m,n}-(pattern}, and @-(pattern) to cause the minimal
1N/A match of pattern to be selected whenever possible rather
1N/A than the maximal (greedy) match.
1N/A01-05-20 +The character class [:word:] has been added to patterns.
1N/A The word class is the union of [:alnum:] and the character _.
1N/A01-05-20 +Inside (...) pattern groups, the \ character is now treated
1N/A specially even when in an enclosing character class. The
1N/A sequences, \w, \d, \s are equivalent to the character classes
1N/A word, digit, and space respectively. The sequences \W, \D,
1N/A and \S are their complement sets.
1N/A01-05-20 +The shell now recognizes pattern groups of the form
1N/A ~(options:pattern) where options or :pattern can be omitted.
1N/A Options use the letters + and - to enable and disable options
1N/A respectively. The option letters g (greedy), i (ignore case)
1N/A are used to cause maximal matching and to cause case
1N/A insensitive matching respectively. If :pattern is also
1N/A specified, these options are only in effect while this
1N/A pattern is being processed. Otherwise, these options remain
1N/A in effect until the end of the pattern group that they are contained
1N/A in or until another ~(...) is encountered. These pattern groups
1N/A are not counted with respect to group numbering.
1N/A01-05-14 When edit completion, expansion, or listing occurs in the
1N/A middle of a quoted string, the leading quote is ignored when
1N/A performing the completion, expansion, or listing.
1N/A01-05-14 A small memory leak from subshells has been fixed.
1N/A01-05-10 A bug in which open files were not restored after a subshell
1N/A that had used exec to replace a file has been fixed.
1N/A01-05-10 +Redirection to a null file name now generates an error message.
1N/A01-05-09 The shell now rejects some invalid parameter substitutions that
1N/A were previously processed in undefined ways.
1N/A01-05-09 A bug in which the output of select was not flushed before the
1N/A read when input did not come from the terminal has been fixed.
1N/A01-05-08 A bug in which job ids would not be freed for interactive shells
1N/A when subshells ran built-ins in the background has been fixed.
1N/A01-05-08 +The FPATH variable now requires an explicit . to cause the
1N/A current directory to be treated as a function directory.
1N/A01-05-08 A bug in read -n when echo mode was disabled has been fixed.
1N/A01-05-07 A bug in which function definitions could be listed as part
1N/A of the history has been fixed.
1N/A01-04-30 +This release uses a new and often much faster pattern matcher than
1N/A earlier releases.
1N/A01-04-30 +An optimizer now eliminates invariant parameter expansions from
1N/A for while and until loops.
1N/A01-04-30 +The variable .sh.match is set after each pattern match (# % or /)
1N/A in a variable substitution. The variable .sh.match is an
1N/A indexed array with element 0 being the complete match.
1N/A The array is only valid until the next subsequent pattern
1N/A match or until the value of the variable changes which ever
1N/A comes first.
1N/A01-04-30 +A self generating man page has been added to shcomp. Also,
1N/A shcomp now stops compiling when it finds an exit or exec
1N/A command and copies the remainder so that it can be used
1N/A for standard input.
1N/A01-04-30 +The shcomp command was modified so that it can work in an
1N/A EBCIDIC environment and that binary scripts are portable
1N/A across environments.
1N/A01-04-30 A bug in the handling of a trailing : in PATH has been fixed.
1N/A01-04-30 A bug in which the builtin version of a command would get invoked
1N/A even though the full pathname for the command was specified
1N/A has been fixed.
1N/A01-04-30 A bug in which read would lose the last character when
1N/A reading the last line of a file that did not contain a new-line
1N/A character has been fixed.
1N/A01-04-23 A bug on some systems in which in vi mode the end of file
1N/A character and end of line character could be swapped has
1N/A been fixed.
1N/A01-04-23 A bug on some systems in which invoking a shell script that
1N/A did not have execute permission could set the exit value to
1N/A 127 rather than 126 has been fixed.
1N/A01-04-20 A bug in which read -n from a pipe would block if fewer than
1N/A n characters was received has been fixed.
1N/A01-04-09 A bug in which invalid patterns, for example, ) by itself,
1N/A was not treated as a string has been fixed so that if i=')',
1N/A then [[ $i == $i ]] is true.
1N/A01-04-09 +The shell arithmetic now interprets C character constants.
1N/A01-04-09 A bug in which a non-zero return from a function defined
1N/A with the function reserved word did not trigger the ERR
1N/A trap or exit with set -e has been fixed.
1N/A01-04-02 A bug on some systems, in which characters above 127 were
1N/A not displayed correctly in vi or emacs edit mode has been fixed.
1N/A01-04-02 A bug on some systems, introduced in the 'k' point release, in
1N/A which the erase character in viraw mode was moving the cursor
1N/A to the left without erasing the character has been fixed.
1N/A01-04-02 On some systems the wcwith() function was returning a wrong
1N/A value for characters and caused characters to be displayed
1N/A incorrectly from the shell edit modes. A work around for
1N/A this problem has been added.
1N/A01-03-26 A bug in which valid scripts could produce syntax errors
1N/A when run with locales that considered characters such as "'"
1N/A to be space characters has been fixed.
1N/A01-03-20 A bug in which an syntax error in an arithmetic expression
1N/A entered interactively could cause the shell to go into
1N/A an infinite loop outputting the error message has been fixed.
1N/A01-03-10 +ksh93 accepts -l as a synonym for -L in test on systems for
1N/A which /bin/test -l tests for symbolic links.
1N/A01-03-10 A bug in parsing scripts in which { and } are used in place of
1N/A in and esac in case statements embedded in compound commands
1N/A has been fixed. Use of { and } for in and esac is obsolete.
1N/A01-03-06 A bug in which an argument of the form foo=bar was not
1N/A being passed correctly to a traced function whose name
1N/A was foo has been fixed.
1N/A01-03-02 Using $(trap -p name) did not print the name of the current
1N/A trap setting for trap name.
1N/A01-02-26 Exported floating point variables gave incorrect results
1N/A when passing them to ksh88. This has been fixed.
1N/A01-02-25 A race condition in which a coprocess which completed too quickly
1N/A would not allow subsequent coprocesses to start has been fixed.
1N/A01-02-25 The 'g' format specifier is now handled by printf. It had
1N/A inadvertently been omitted.
1N/A01-02-20 The + was not being displayed during an execution trace
1N/A with the += assignment operator.
1N/A01-02-19 The error message which occurs when the interpreter name
1N/A defined on the #! line does not exist is more informative.
1N/A01-02-19 A bug in which $0 would not be set correctly when a
1N/A script with #! was invoked by full pathname from the
1N/A directory of the script has been fixed.
1N/A01-02-19 A shell script did not always pick up tty mode changes
1N/A made by external commands such as stty which could
1N/A effect the behavior of read.
1N/A01-02-19 The -u, -g, and -k unary tests did not give the correct
1N/A results when used with negation and this has been fixed.
1N/A
1N/A01-02-05 --- Release ksh93k+ ---
1N/A01-02-05 The sequence \<newline> inside $'...' was not incrementing
1N/A the line count and this has been fixed.
1N/A01-02-05 +Modified expansion of "${@-}" so that if no arguments are set
1N/A it results in null string rather than nothing.
1N/A01-02-02 memory leak problem with local variables in functions fixed.
1N/A01-01-25 +allow arithmetic expressions with float%int and treat them
1N/A as ((int)float)%int rather than as an error.
1N/A01-01-19 read -n1 was not working and has been fixed.
1N/A01-01-17 +ksh now handles the case in which a here document in command
1N/A substitution $() is terminated by the trailing ). Previously,
1N/A a new-line was needed at the end of the delimiter word.
1N/A01-01-02 A bug in which a KEYBD trap would cause a multi-line token
1N/A to be processed incorrectly has been fixed.
1N/A00-12-10 +Arithmetic integer constants can now have L and U suffices.
1N/A00-12-10 A bug in the processing of arithmetic expressions with compound
1N/A variables when the -n option is on has been fixed.
1N/A00-12-08 A bug in M-f and M-b from emacs mode has been fixed. This
1N/A bug only occurs when ksh93 is compiled without MULTIBYTE enabled.
1N/A00-11-29 A bug in which jobs -p would yield 0 for background
1N/A jobs run in a script has been fixed.
1N/A00-11-21 A bug in integer arrays in which the number of elements is
1N/A incorrect when the ++ operator is applied to a non-existing
1N/A element has been fixed. For example, integer x; ((x[3]++)).
1N/A00-11-20 A timing bug in which the shell could reset the terminal
1N/A group to the wrong value in the case that the a new process
1N/A changes the terminal group during startup has been fixed.
1N/A
1N/A00-10-27 --- Release ksh93k ---
1N/A00-10-27 Using tab for completion now works only when applied
1N/A after a non-blank character at the end of the current line.
1N/A In other case a tab is inserted.
1N/A00-10-27 A bug in the emacs edit mode for ^X^E has been fixed.
1N/A The ^X^E sequence is supposed to invoke the full editor
1N/A on the current command.
1N/A00-10-18 A bug in which expansions of the form ${var//pattern/string}
1N/A did not work correctly when pattern was '/' or "/" has
1N/A been fixed.
1N/A00-10-18 +The output format for indexed arrays in compound variables
1N/A has been modified so that it can be used as input.
1N/A00-10-18 Assignments with name references (typeset -n) will now
1N/A implicitly unreference an existing name reference.
1N/A00-10-17 A bug the += append operator when a single array element
1N/A is appended to a variable that is not an array has been fixed.
1N/A00-10-16 A bug in which the SIGCONT signal was being sent to
1N/A each process will kill -0 or kill -n 0 has been fixed.
1N/A00-10-12 +The arithmetic evaluation portion has been rewritten to
1N/A perform a number of optimizations.
1N/A00-10-10 A bug in which name prefix matching ${!name.*} was not
1N/A checking name to see if it was a name reference has been fixed.
1N/A00-09-26 A bug in the multibyte version in which the width of for
1N/A non-printing characters was not correct has been fixed.
1N/A00-09-12 +Made changes to get multibyte editing work on UWIN for windows
1N/A00-09-12 A bug in which multibyte characters would be displayed incorrectly
1N/A has been fixed.
1N/A00-08-08 Removed build dependency on iswprint() and iswalph().
1N/A00-07-20 In some cases the read builtin would read more than a single
1N/A line from a pipe on standard input and therefore leave the seek
1N/A position in the wrong location.
1N/A00-07-05 +If the directory / is on the path, a / will not be inserted
1N/A between the directory and the file name during path searching
1N/A to avoid searching // for systems that treat this specially.
1N/A00-06-26 A bug in which on rare occasions wait could return before all
1N/A jobs have completed has been fixed.
1N/A00-06-21 A bug in which backspace did not work correctly during the
1N/A R replace directive in vi-mode has been fixed.
1N/A00-06-12 +Added variable name completion/expansion/listing to the set of
1N/A completions. Variable name completions begin with $ or "$ followed
1N/A by a letter.
1N/A00-05-09 --- Release ksh93j ---
1N/A00-05-09 Modified command substitution to avoid using /tmp files when
1N/A run on read-only file systems.
1N/A00-04-17 +Modified printf to handle '%..Xc' and '%..Xs' options where X
1N/A is not an alpha character. Previous versions core dumped with this.
1N/A00-04-10 +Changes to multibyte editing code were made to use standard
1N/A ISO C functions rather than methods devised before the standard.
1N/A00-04-09 Add %H options to printf to output strings with <"'&\t> properly
1N/A converted for use in HTML and XML documents.
1N/A00-04-07 +Modified getopts builtin to handle \f...\f in usage string
1N/A by invoking specified function.
1N/A00-04-04 Added self generating man pages for bg, fc, fg, disown, jobs,
1N/A hist, let, ., and ulimit.
1N/A00-03-30 +The append operator += has been added and can be used
1N/A for all assignments, strings, arrays, and compound variables.
1N/A00-03-30 +Code was modified in several places to support automatic
1N/A generation of C locale dictionaries.
1N/A00-03-28 A bug in which the set and trap commands invoked with --name
1N/A type arguments would terminate the invoking script has
1N/A been fixed.
1N/A00-03-27 A bug in which the library path variable was not updated
1N/A correctly on some systems as described in the 'g' point
1N/A release has been fixed.
1N/A00-03-07 printf now returns a non-zero exit status when one of
1N/A its arguments cannot be converted to the given type.
1N/A00-03-05 The return value and error message for a command that
1N/A was found on the path but was not executable was set
1N/A incorrectly.
1N/A00-03-05 A prototype for ioctl() was removed from the vi edit mode.
1N/A
1N/A00-01-28 --- Release ksh93i ---
1N/A00-01-28 +Most of the built-in commands and ksh itself are now
1N/A self documenting. Running command --man will produce
1N/A screen output. Running command --html produces the
1N/A man page in html format.
1N/A00-01-28 +The getopts builtin can process command description
1N/A strings to produce man pages.
1N/A00-01-28 A bug in which a script could terminate when getopts
1N/A encountered an error when invoked inside a function
1N/A has been fixed.
1N/A00-01-28 When a symbolic link was specified as the name of
1N/A the script to invoke by name, the value of $0 was
1N/A set to the real file name rather than the link name
1N/A in some cases and this has been fixed.
1N/A00-01-28 A bug in which the precision given as an argument
1N/A to printf was not working has been fixed.
1N/A
1N/A99-03-31 --- Release ksh93h ---
1N/A99-03-31 +The PATH search algorithm has been modified to look
1N/A for a file named .fpath in each bin directory and if
1N/A found, to search for functions in this directory if
1N/A it cannot find the command in that directory.
1N/A99-03-31 +When performing pathname expansion, the shell checks
1N/A to see whether each directory it reads is case sensitive
1N/A or not, and performs the matching accordingly.
1N/A99-03-31 +The %T format for printing formatted date/time.
1N/A99-03-31 +The emacs and vi modes now handle arrow keys when
1N/A they use standard ANSI escape sequences.
1N/A99-03-31 +The TAB key can be used for completion in emacs and viraw mode.
1N/A99-03-31 A bug in setting .sh.editchar during the KEYBD trap
1N/A for the MULTIBYTE option was fixed in release ksh93h.
1N/A99-03-31 A bug in shcomp for compilation of unary operators with [[...]]
1N/A has been fixed.
1N/A99-03-31 A bug in which the value of $? was changed when executing
1N/A a keyboard trap has been fixed.
1N/A99-03-31 The handling of SIGCHLD has been changed so that the
1N/A trap is not triggered while executing trap commands
1N/A to avoid recursive trap calls.
1N/A99-03-31 A bug in which a local variable in a function declared readonly
1N/A would generated an error when the function went out of
1N/A scope has been fixed.
1N/A99-03-31 A bug in which \<new_line> entered from the keyboard
1N/A with the KEYBD trap enabled has been fixed.
1N/A99-03-31 The error message for a misplaced ((, for example print ((3),
1N/A was often garbled and has been fixed.
1N/A99-03-31 A bug in the KEYBD trap in which escape sequences of the form
1N/A <ESC>[#~ were not being handled as a unit has been fixed.
1N/A99-03-31 A bug in which ksh would consider expressions like [[ (a) ]]
1N/A as syntax errors has been fixed.
1N/A99-03-31 A function defined as foo() without a function body
1N/A was not reported as a syntax error.
1N/A99-03-31 A bug in which ksh could run out of file descriptors when
1N/A a stream was repeatedly opened with exec and read from
1N/A has been fixed.
1N/A
1N/A98-04-30 --- Release ksh93g ---
1N/A98-04-30 +The pipefail option has been added. With pipefail
1N/A enabled, a pipeline will not complete until all
1N/A commands are complete, and the return value will
1N/A be that of the last command to fail, or zero if
1N/A all complete successfully.
1N/A98-04-30 +The name-value pair library uses the cdt library rather
1N/A than the hash library. This change should be transparent
1N/A to applications.
1N/A98-04-30 +On the U/WIN version for Window 95 and Windows NT,
1N/A when a directory beginning with a letter followed by
1N/A a colon is given to cd, it is assumed to be an absolute
1N/A directory
1N/A98-04-30 +When an executable is found on a given path,
1N/A the appropriate library path variable is prepended
1N/A with a corresponding library directory.
1N/A98-04-30 A bug in which a name reference could be created to
1N/A itself and later cause the shell to get into an infinite
1N/A loop has been fixed.
1N/A98-04-30 A bug in shcomp relating to compound variables was fixed.
1N/A98-04-30 A bug introduced in ksh93e in which leading 0's in -Z
1N/A fields caused the value to be treated as octal for arithmetic
1N/A evaluation has been fixed.
1N/A98-04-30 A bug when a name reference with a shorter name than
1N/A the variable it references was the subject of a compound
1N/A assignment has been fixed.
1N/A98-04-30 A bug which in which assignment to array variables in
1N/A a subshell could effect the parent shell has been
1N/A fixed.
1N/A98-04-30 read name?prompt was putting a 0 byte at the end of the
1N/A prompt on standard error.
1N/A98-04-30 A bug in [[ string1 > string2 ]] when ksh was run with -x
1N/A has been fixed.
1N/A98-04-30 A bug in which the escape character was not processed
1N/A correctly inside {...} when brace expansion is enabled
1N/A has been fixed, for example {\$foo}.
1N/A98-04-30 A bug in line continuation in here-documents has been
1N/A fixed.
1N/A98-04-30 The default base when not specified with typeset -i is
1N/A 10 in accordance with the documentation. Previously,
1N/A the value was determined by the first assignment.
1N/A98-04-30 A parsing bug in which a # preceded alphanumeric
1N/A characters inside a command substitution caused
1N/A a syntax error to be reported has been fixed.
1N/A98-04-30 A bug in which a decimal constant represented as 10#ddd
1N/A where ddd was more than five digits generated a syntax
1N/A error has been fixed.
1N/A98-04-30 A bug in here document expansion in which ${...} expansions
1N/A were split across buffer boundaries has been fixed.
1N/A98-04-30 +The sh_fun() function now takes third argument which
1N/A is an argument list for the invoked discipline function
1N/A or built-in.
1N/A98-04-30 +A callback function can be installed which will give
1N/A notification of file duplications and file closes.
1N/A98-04-30 When ksh is compiled on systems that do not use fork()
1N/A current option settings where not propagated to sub-shells.
1N/A
1N/A97-06-30 --- Release ksh93f ---
1N/A97-06-30 +Hostnames in addition to host addresses can be given in
1N/A /dev/tcp/host/port virtual file names.
1N/A97-06-30 File name completion and expansion now quotes special
1N/A characters in file names from both emacs and vi edit modes.
1N/A97-06-30 An empty for list behave like a for list with null expansions.
1N/A It produces a warning message with sh -n.
1N/A97-06-30 +The code has been modified to work with EBCDIC as well as ASCII.
1N/A97-06-30 A bug which would cause the secondary prompt to be
1N/A displayed when a user entered a literal carriage
1N/A return has been fixed.
1N/A97-06-30 A bug which caused ksh read -s name to core dump was
1N/A fixed.
1N/A97-06-30 A bug with the expansion of \} and \] inside double
1N/A quoted strings that also contained variable expansions
1N/A has been fixed
1N/A97-06-30 Changes in the ksh93e point release caused autoload
1N/A functions invoked from within command substitution
1N/A to fail. This has been fixed.
1N/A97-06-30 A bug in the processing of here-documents that could
1N/A prevent variable substitution to occur after $(...) command
1N/A substitution for long here documents has been fixed.
1N/A97-06-30 A bug caused by a race condition that could cause SIGTERM
1N/A to be ignored by a child process has been fixed.
1N/A97-06-30 A bug which prevented the startup of a coprocess immediately
1N/A after killing a running coprocess has been fixed.
1N/A97-06-30 ulimit foobar, where foobar is not an arithmetic
1N/A expression, now gives an error message as it did with ksh88
1N/A instead of setting the file size limit to 0.
1N/A97-06-30 A bug which could cause an interactive shell to terminate when
1N/A the last process of a pipeline was a POSIX function was fixed.
1N/A97-06-30 A bug which could cause command substitution of a shell script
1N/A to core dump has been fixed.
1N/A97-06-30 A security hole was fixed in suid_exec.
1N/A97-06-30 Arithmetic functions such as pow() that take more than
1N/A one argument, did not work if arguments other than the
1N/A first contained parenthesized sub-expression.
1N/A97-06-30 The error message from a script containing an incomplete
1N/A arithmetic expression has been corrected.
1N/A97-06-30 A bug which caused a core dump on some machines when
1N/A the value of a name reference contained a positional
1N/A parameter and the name reference was not defined inside
1N/A a function has been fixed.
1N/A97-06-30 Arithmetic expressions now correctly handle hexadecimal
1N/A constants.
1N/A97-06-30 A bug in which integer variables could be expanded
1N/A with a leading 10# when declared with typeset -i
1N/A multiple times has been corrected.
1N/A97-06-30 A bug in which IFS wasn't correctly restored when
1N/A set within command substitution has been fixed.
1N/A97-06-30 The _ character is now considered as part of a word
1N/A with the M-f and M-b emacs directives as it was in ksh88.
1N/A97-06-30 A bug in brace pattern expansions that caused expressions
1N/A such as {foo\,bar,bam} to expand incorrectly have been fixed.
1N/A
1N/A
1N/A96-07-31 --- Release ksh93e ---
1N/A96-07-31 +The math functions, atan2, hypot, fmod, and pow were added.
1N/A96-07-31 +When a shared library is loaded, if the function lib_init()
1N/A is defined in the library, it is invoked the first time that
1N/A the library is loaded with builtin -f library.
1N/A96-07-31 The k-shell information abstraction database option, KIA,
1N/A has been revamped.
1N/A96-07-31 Empty command substitutions of the form $() now work.
1N/A whence -v foo now gives the correct result after calling
1N/A builtin -d foo.
1N/A96-07-31 A bug in right to left arithmetic assignment for which
1N/A the arithmetic expression (( y = x = 1.5 )) did not
1N/A yield 1 for y when x was declared typeset -i was fixed.
1N/A96-07-31 printf has been fixed to handle format containing \0
1N/A and/or \0145 correctly. In addition, characters following
1N/A %b in the format string are no longer displayed when
1N/A the operand contains \c.
1N/A96-07-31 A bug in printf that could cause the %E format to
1N/A produce unnormalized results has been fixed.
1N/A96-07-31 A bug which causes some arithmetic expressions to be
1N/A incorrectly evaluated as integer expressions rather
1N/A that floating point has been fixed.
1N/A96-07-31 Functions defined inside a subshell no longer remain
1N/A defined when the subshell completes.
1N/A96-07-31 The error message from sh -c ';echo foo' has been
1N/A corrected.
1N/A96-07-31 The format for umask -S has been changed to agree
1N/A with the specification in the POSIX standard.
1N/A96-07-31 A bug that caused side effects in subscript evaluation
1N/A when tracing was enabled for subscripts using ++ or --
1N/A has been fixed.
1N/A96-07-31 To conform to the Posix standard getopts has been changed
1N/A so that the option char is set to ? when it returns with
1N/A a non-zero exit status.
1N/A96-07-31 The handling of \} inside ${name...} has been fixed so
1N/A that the \ quotes the }.
1N/A96-07-31 A bug that caused the read builtin to resume execution
1N/A after processing a trap has been fixed.
1N/A96-07-31 [[ -s file ]] has been fixed so that if file is open
1N/A by ksh, it is flushed first.
1N/A96-07-31 In some cases attributes and sizes for non exported
1N/A variables weren't being reset before running a script.
1N/A96-07-31 The value of TMOUT was affected by changes make to
1N/A it in a subshell.
1N/A96-07-31 The jobs command did not reflect changes make by
1N/A sending the CONT signal to a command.
1N/A96-07-31 The error message for ksh -o unknown was incorrect.
1N/A96-07-31 Functions invoked as name=value name, did not use
1N/A values from the calling scope when evaluating value.
1N/A96-07-31 A bug in which the shell would reexecute previously
1N/A executed code when a shell script or coprocess was
1N/A run in the background has been fixed.
1N/A96-07-31 A bug in which an empty here-document would leave
1N/A a file descriptor open has been fixed.
1N/A96-07-31 A bug in which $(set -A array ...) would leave a
1N/A side effect has been fixed.
1N/A96-07-31 A discipline function for a global variable defined
1N/A within a function defined with the function keyword,
1N/A incorrectly created a local variable of the same name
1N/A and applied the discipline to it.
1N/A
1N/A95-08-28 --- Release ksh93d ---
1N/A95-08-28 The \ character was not handled correctly in replacement
1N/A patterns with ${x/pattern/replace}.
1N/A95-08-28 A bug with read in which the line did not end with
1N/A a new-line has been fixed.
1N/A95-08-28 A bug in file name generation which sometimes
1N/A appended a . for filenames that ended in / has
1N/A been fixed.
1N/A95-08-28 +If a process is waited for after a status has
1N/A been returned by a previous wait, wait now
1N/A returns 127.
1N/A95-08-28 A bug with hist (fc) -e which prevented a command
1N/A to re-executed after it had been edited has been fixed.
1N/A95-08-28 A bug which prevented quoting from removing the meaning
1N/A of unary test operators has been fixed.
1N/A95-08-28 A bug with typeahead and KEYBOARD traps with the
1N/A MULTIBYTE option set has been fixed.
1N/A95-08-28 +Builtin functions can take a third argument which is
1N/A a void*.
1N/A95-08-28 The nv_scan() function can restrict the scope of a walk
1N/A to the top scope.
1N/A
1N/A95-04-31 --- Release ksh93c ---
1N/A95-04-31 The expansion of "$@" was incorrect when $1 was the null
1N/A string.
1N/A95-04-31 A bug which could incorrectly report a syntax error in
1N/A a backquoted expression when a $ was preceded by \\
1N/A has been fixed.
1N/A95-04-31 A bug which prevented the shell from exiting after
1N/A reporting an error when failing to open a script
1N/A has been fixed.
1N/A95-04-31 A bug that could lead to memory corruption when a
1N/A large here document that required parameter or command
1N/A substitution was expanded has been fixed.
1N/A95-04-31 A bug that could cause a core dump on some systems
1N/A after ksh detected an error when reading a function
1N/A has been fixed.
1N/A95-04-31 A bug which could cause a coprocess to hang when
1N/A reading from a process that has terminated has been fixed.
1N/A95-04-31 A bug which caused a script to terminate when set -e
1N/A was on and the first command of and && or || list
1N/A failed has been fixed.
1N/A95-04-31 A bug with here documents inside $(...) when the delimiter
1N/A word is an identifier has been fixed.
1N/A95-04-31 A bug which caused $0 to display the wrong value when
1N/A a script was invoked as an argument to the . command
1N/A and the eval command has been fixed.
1N/A95-04-31 A bug that could cause the built-in sleep to hang
1N/A has been fixed.
1N/A95-04-31 A bug introduces in 12/28/93b which caused the backslash
1N/A to be removed when it was followed by digit inside double
1N/A quotes in some instances has been fixed.
1N/A95-04-31 A bug which could cause a core dump if ksh was invoked with
1N/A standard input closed has been fixed.
1N/A95-04-31 A bug which could cause a core dump if typeset -A was
1N/A specified for an existing variable has been fixed.
1N/A95-04-31 Variables that were unset but had attributes such as readonly
1N/A and export were not listed with readonly, export and typeset.
1N/A95-04-31 Several problems with signals have been fixed.
1N/A95-04-31 A bug which prevented ulimit -t from working has been fixed.
1N/A Also, a bug in which failed ulimits could cause a core dump
1N/A has also been fixed.
1N/A95-04-31 A bug in expansion of the form ${name/#pattern/string} and
1N/A ${name/%pattern/string} has been fixed.
1N/A95-04-31 A bug which caused read -r on a line that contained only
1N/A blanks to get a non-null value has been fixed.
1N/A95-04-31 A bug introduced in the 'a' point release in which
1N/A ${x='\\'} expanded to \ when x was unset has been fixed.
1N/A95-04-31 A bug which prevented a trap on EXIT from being executed
1N/A when the last command in a script was a function invocation
1N/A has been fixed.
1N/A95-04-31 A bug which caused an interactive shell ignore input when
1N/A standard error was redirected to a file with exec,
1N/A and then restored with exec 2>&1 has been fixed.
1N/A95-04-31 An interactive shell turns on monitor mode even when
1N/A standard error has been redirected to a file.
1N/A95-04-31 A bug which could cause standard input to be incorrectly
1N/A positioned for the last command of a script has been fixed.
1N/A95-04-31 A bug in the edit modes which allowed walking back in
1N/A the history file for more than HISTSIZE commands has
1N/A been fixed.
1N/A95-04-31 A bug which could cause a core dump if variable TMPDIR was
1N/A changed between two command substitutions has been fixed.
1N/A95-04-31. A bug which prevented a trap on EXIT from being cleared
1N/A has been fixed.
1N/A95-04-31 A bug fixed for the v directive in vi MULTIBYTE has been
1N/A fixed.
1N/A95-04-31 Code to for IFS handling of multibyte characters has
1N/A been added.
1N/A95-04-31 The displaying of multibyte strings in export, readonly,
1N/A typeset, and execution traces has been fixed.
1N/A95-04-31 Variables inside functions are now statically scoped.
1N/A The previous behavior was never documented.
1N/A95-04-31 Variables inside functions are now statically scoped.
1N/A The previous behavior was never documented.
1N/A95-04-31 A few changes have been made to the name-value library
1N/A that affect built-ins that use disciplines. The
1N/A changes allow disciplines to be shared by variables
1N/A and should make it possible to add new disciplines
1N/A without recompilation.
1N/A95-04-31 +The name-value library interface has undergone significant
1N/A change for this revision. See the new nval.3 man page.
1N/A
1N/A94-12-31 --- Release ksh93b ---
1N/A94-12-31 +Variables inside functions are now statically scoped.
1N/A The previous behavior was never documented.
1N/A94-12-31 +If IFS contains two consecutive identical characters belonging
1N/A to the [:space:] class, then this character is treated as
1N/A a non-space delimiter so that each instance will delimit
1N/A a field. For example, IFS=$'\t\t' will cause two consecutive
1N/A tabs to delimit a null field.
1N/A94-12-31 +The getopts command has a -a name option that specifies a
1N/A name that will be used for usage messages.
1N/A94-12-31 A bug which caused unset RANDOM to dump core has been
1N/A fixed.
1N/A94-12-31 A bug which prevented return for terminating a profile
1N/A or ENV file has been fixed.
1N/A94-12-31 A bug which prevented standard input from being
1N/A directed to /dev/null for background jobs when
1N/A monitor mode was turned off has been fixed.
1N/A94-12-31 Statements of the form typeset -options var[expr]=value
1N/A did not perform substitutions on expr as expected.
1N/A94-12-31 A bug which prevented the shell from sending a HUP
1N/A signal to some background jobs that were not disowned
1N/A has been fixed.
1N/A94-12-31 A bug which allowed a script to trap signals that are
1N/A ignored at the time that the shell was invoked by exec
1N/A has been fixed.
1N/A94-12-31 A bug which could cause a core dump when a discipline
1N/A function was unset within a discipline was fixed.
1N/A94-12-31 The typeset builtin now accepts a first argument of
1N/A + or - for compatibility with ksh88.
1N/A94-12-31 For compatibility with ksh88, the results of expansions
1N/A of command arguments will treat the extended character
1N/A match characters ()|& as ordinary characters.
1N/A94-12-31 A bug which caused read to fail on a file that was
1N/A open for read/write with <> when the first operation
1N/A was print or printf has been fixed.
1N/A94-12-31 When a job is suspended, it is put on the top of
1N/A the job list as required by the POSIX standard.
1N/A94-12-31 The value of OPTARG when an option that required
1N/A an argument but didn't have one was incorrect in the
1N/A case the the option string began with a :.
1N/A94-12-31 A bug which caused the terminal to get into a bad
1N/A state with some KEYBD traps in vi-mode has been fixed.
1N/A94-12-31 A bug which caused an invalid trap to cause a script
1N/A to terminate, rather than just return an error, has
1N/A been fixed.
1N/A94-12-31 Backreferencing sub-expressions in patterns and replacement
1N/A strings now works.
1N/A94-12-31 A bug in chmod which caused the -R option to fail has
1N/A been fixed.
1N/A94-12-31 +More signal names have been added for Solaris
1N/A
1N/A94-06-30 --- Release ksh93a ---
1N/A94-06-30 An expansion bug which causes portions of a word after
1N/A a $((...)) expansion that contains a nested $var expansion
1N/A to be lost has been fixed.
1N/A94-06-30 A bug that caused a core dump when a script that did not
1N/A have PWD set and did a cd inside command substitution
1N/A has been fixed.
1N/A94-06-30 A bug which caused a core dump on some machines when
1N/A the LANG variable was assigned to has been fixed.
1N/A94-06-30 A bug which incorrectly handled set disciplines that
1N/A performed arithmetic evaluation when the discipline
1N/A was called from the arithmetic evaluator has been fixed.
1N/A94-06-30 A bug caused by an EXIT trap inside a function that
1N/A was executed in a subshell was fixed.
1N/A94-06-30 If foo is a function, and not a program, then command foo
1N/A now reports that foo isn't found rather than invoking foo.
1N/A94-06-30 The previous version incorrectly listed -A as an
1N/A invocation option. The -A option is only for set.
1N/A94-06-30 A bug was fixed which caused ksh to loop when execution trace
1N/A was enabled and the PS4 prompt required command substitution.
1N/A94-06-30 A bug which could cause the job control switch character
1N/A to be disabled when a script that enabled monitor mode
1N/A terminated was fixed.
1N/A94-06-30 A bug in the macro expansion global replacement operator //,
1N/A when the pattern began with a [ or +( has been fixed.
1N/A94-06-30 A bug which prevented ~ expansion from occurring when
1N/A it was terminated with a colon inside an assignment
1N/A has been fixed.
1N/A94-06-30 A bug in the dot command which prevented autoload functions
1N/A from working has been fixed.
1N/A94-06-30 A bug which caused a variable to be unset if the
1N/A its value were expanded inside a set discipline has
1N/A been fixed.
1N/A94-06-30 Whence -a now longer reports that a defined function
1N/A is undefined.
1N/A94-06-30 A bug on some systems in which $0 would be incorrect
1N/A in scripts invoked by name has been fixed.
1N/A94-06-30 Here documents with an empty body now work.
1N/A94-06-30 A bug which disabled argument passing and resetting
1N/A of options for a script invoked by name inside a
1N/A function has been fixed.
1N/A94-06-30 A bug in which an EXIT trap set the caller of a function
1N/A would be executed if a command called inside a function
1N/A was not found has been fixed.
1N/A94-06-30 A bug which allowed a script to trap signals that are
1N/A ignored at the time that the shell was invoked has
1N/A been fixed.
1N/A94-06-30 A bug which caused 2<&1- when applied to a shell built-in
1N/A to leave standard input closed has been fixed.
1N/A94-06-30 A bug which caused the shell to incorrectly parse
1N/A $() command substitutions with nested case statements
1N/A has been fixed.
1N/A