Changelog:
# ksh93
12-08-01 A bug that ignored interrupts for some builtins (e.g. cmdtst::grep)
that read from stdin has been fixed.
12-08-01 A bug that interpreted "cd .foo" as "cd foo" has been fixed.
12-07-30 Added automatic restart for EINTR for ioctl, tcgetattr, and tcsetattr.
12-07-23 A scoping error with namrefs to compound associative arrays has
been fixed.
12-07-20 A bug where builtin -d /path/foo deleted foo has been fixed.
12-07-18 A bug in which /dev/stdout did not work in command substitution on
some systems has been fixed.
12-07-17 A bug in which the restricted option set in a subshell prevented
some variables from getting restored when the subshell completed
has been fixed.
12-07-09 A bug in which the directory is not restored after a subshell changes
the name of the directory for subshells executed in the same process
has been fixed.
12-07-09 A bug in which file descriptors created with {n}< file were not being
closed has been fixed.
12-07-09 The 12-04-04 fix for cd .. was not correct causing cd /etc;cd .. to
remain in /etc. This has been fixed.
12-07-02 A bug in which builtin name did now work for builtins found in a
library added by builtin -f lib has been fixed.
12-07-02 A bug in the edit modes which <tab> after a directory did not refresh
the input line has been fixed.
12-07-02 A bug in which an exit status > 256 corresponding to a signal was
not returned by a function to indicate a signal exit has been fixed.
12-06-28 Fix ulimit -a to list (Kibytes) instead of (kbytes).
12-06-27 Fix unitialized data reference for <CR> as first char in --vi mode.
12-06-26 The formatting of printf "%q" for multibyte locales has changed to
output using \u[xxx] format for valid wide characters.
12-06-25 The size limit for read -N and read -n has been raised to INT_MAX.
12-06-22 A bug in which an exit trap set in a subshell might not be triggered
when the last command was a simple executable has been fixed.
12-06-22 A bug which could cause the shell to hang when a coprocess exits
while a command inside a command substitution is reading from it has
been fixed.
12-06-21 +ksh new accepts for commands of the form for i; <nl> do;...;done
12-06-19 Tab completion after a / when there is only one match not completes
with that match rather than generating a menu of matches.
12-06-19 A bug in which patterns containing {...} where not processed
correctly inside ${var/pattern/string} has been fixed.
12-06-15 Change the .paths plugin/builtin library variable name from
BUILTIN_LIB to PLUGIN_LIB to prevent new plugin_version() aware
-lcmd from causing older non-plugin_version() aware ksh to dump core.
12-06-14 builtin without argument no longer lists .sh.tilde as a built-in.
12-06-12 For assignments if the form x=(foo bar), foo is only check for an
alias if it is float, integer, compound, or nameref.
12-06-12 +The shell supports 64 bit i-nodes even for 32 bit binaries.
12-06-11 A bug wth >; redirection systems for which vfork() was the same a
fork() has been fixed.
12-06-11 A bug in path lookup that ignored buffer boundaries has been fixed.
12-06-08 typeset -a var and typeset -A var, first unset var when var is
a compound variable.
12-06-08 A bug in which running shcomp on a program containg namespace
could core dump has been fixed.
12-06-06 A bug in which unset of an associative array of compound variables
did not completely unset the variable has been fixed.
12-06-06 A bug in which exporting left or right justfied fields could loose
the field width has been fixed.
12-06-06 A bug on Solaris11 in which >; did not work for /dev/null was fixed.
12-06-05 A race condition which occured when stopping a builtin command
invoked from a subshell has been fixed.
12-06-05 A bug with appending elements to an empty indexed array has been
fixed.
12-06-04 A bug in which continuing a stopped builtin could cause it to
terminate has been fixed.
12-06-04 By default, builtins added at runtime will restore the current
directory if they are killed or stopped.
12-06-04 A bug in handling \ in read has been fixed.
12-05-31 Use getrlimit64/setrlimit64 on systems that support it.
12-05-31 Fix 64 bit big-endian arithmentic bug that mishandled nan and inf.
12-05-31 Handle ECONNRESET like EPIPE.
12-05-31 Change .paths parse to use only the last BUILTIN_LIB from the top
and treat BUILTIN_LIB value as a ':' separated list of lib names.
12-05-29 Fix BUILTIN_LIB binding bug that ignored subsequent lookups.
12-05-29 shtests: --nocompile omits the compile test and --compile does only
the compile test.
12-05-25 A command subsitution containing a here-document that itself contains
a here-document no longer hangs.
12-05-24 When the redirection operatory >; is directed to a symlink, it now
overwrites the file named by the link rather than the link.
12-05-21 +Added printf formats %(type)q where type can be html, url, pattern,
ere, or csv.
12-05-18 A bug with appending elements to an indexed array has been fixed.
12-05-18 The exit status from getopts --man interactively was 0 instead of 2
and has been fixed.
12-05-18 Another bug with SHOPT_EDPREDICT which could cause a core dump has
been fixed.
12-05-17 A bug with fixed size arrays which could cause a core dump has been
fixed.
12-05-17 A bug in which the here-document <<< $(<file) was not processed
correctly has been fixed.
12-05-15 The default value for -L, -R, and -Z when the size was not set was
incorrectly defaulting to 1 and has been fixed.
12-05-15 A bug in which a subshell of the form (name=value exec ...) could
coredump when name is an environment variable and xtrace is on has
been fixed.
12-05-15 Fixed a .paths bug in which only the first BUILTIN_LIB assignment worked.
12-05-14 Arithmetic expressions and subexpressions that are not floating point
now treat -0 as 0, so that $((-0)) is 0 and $((-0.0)) is -0.
12-05-11 'unset .sh' now fails with readonly message instead of coredump.
12-05-11 A bug which left an associative array arr containing one element in
the wrong state after expanding with ${arr[@]} has been fixed.
12-05-10 A bug in which typeset -f did not display options that called getopts
has been fixed.
12-05-08 Fixed a number of potential bugs uncovered by valgrind.
12-05-08 A bug in which typeset -b -Z10 var did not initialize var to the
empty string has been fixed.
12-05-07 A bug in which the exit value of an interactive shell could be
affected by the evaluation of the PS1 prompt has been fixed.
12-05-04 A bug in which x=() was not unsetting the old value of x before
creating an empty compound variable has been fixed.
12-05-01 A bug in vi edit mode in which after <ESC>^V, the terminal was not
restored to insert mode after a character is entered has been fixed.
12-04-27 A bug in which old attributes were not cleared when assigning a
value using typeset has been fixed.
12-04-26 +Enabled multiline editing by default. set +o multiline can disable.
12-04-25 The 12-04-17 PATH fix created a new bug which was fixed.
12-04-25 Fixed a big memory leak problem in which unsetting compound variables
did not free all the space.
12-04-25 A bug in which test ! ! ! was treated as an error has been fixed.
12-04-24 A bug with print -v for a compound variable that contained fixed
arrays which prevented the output from being used again as input
has been fixed.
12-04-23 +kill provides the STKFLT signal on systems that support it.
12-04-23 +The -L option was added to kill. The -L option is the same as -l
except that without arguments the output format is in the form of
a select menu.
12-04-23 A bug in which the exit status for an interactive shell was always
0 has been fixed.
12-04-20 Entering blank lines interactively no longer resets the exit status.
12-04-18 A bug in file completion in which the second tab completion on a file
would list the completion rather than inserting the completion has
been fixed.
12-04-18 A bug in which "${arr[@]:i:j}" and "${@:i:j}" generated the empty
string when i was a valid subscript and j was <=0 rather than
generating nothing has been fixed.
12-04-17 A bug in which read -d delim from a terminal did not respond to
interrupt and did not termrinate when the delimiter was entered
has been fixed.
12-04-17 A bug in which a directory in PATH containing a .paths file that
contains a line with FPATH=dir, where dir does not exist could
cause the path search to fail has been fixed.
12-04-16 A bug in which $(trap -p) did not display traps such as ERR and
DEBUG that are not associated with signals has been fixed.
12-04-11 A bug in which unsetting a variable did not unset attributes when
the variable did not have a value has been fixed.
12-04-11 A bug in which read -A for an array whose index is an enumeration
type, lost the enumeration type has been fixed.
12-04-10 Shared libraries loaded from a library named by a BUILTIN_LIB= found
in a .paths file found in a directory on PATH now add builtins that
are associated with the directory in PATH containing the .paths file.
12-04-09 Increased I/O buffer sizes for better performance.
12-04-09 A bug in which the leading 0 was stripped from $x, when $x contained
a heximadecimal constant inside an arithmetic expression inside
a for or while loop.
12-04-06 Modified namespaces to hand variabes FPATH, PATH, and OPTIND that
are defined in name spaces appropriately. This also fixed OPTIND
and OPTARG processing for functions.
12-04-04 A bug in which cd .. fails when the current directory has been
renamed has been fixed.
12-04-02 Made some namespace changes and added a regression test.
12-03-30 A bug with namespaces in which PATH and FPATH set in a namespace was
not restored when leaving the namespace has been fixed.
12-03-29 --- Release ksh93u++ ---
12-03-29 A bug in which appending an index array onto an array without elements
caused the first element to be 1 rather than 0 has been fixed.
12-03-29 A bug which could cause a core dump when copying a large index array
has been fixed.
12-03-28 The shell now generates an error message when the sizes with L, Z, and
R are > 32767 on 32 bit binaries instead of generating a core dump.
12-03-28 A bug in left and right justification in which the width of invalid
characters was not taken as zero has been fixed.
12-03-26 A bug in which typeset -p ref, when ref is a reference to an index
array element did not display the subscript has been fixed.
12-03-23 A bug in lowercase and uppercase fields when expanding ${name:=val}
when name is the empty string has been fixed.
12-03-22 A namespace bug in which a type t defined in namespace foo could not
be referenced outside the namespace as .foo.t has been fixed.
12-03-22 A bug in name reference scoping in which a name function called from
another function is pass a name reference to a compound variable
instance to be created and the compound variable is in the global
scope.
12-03-22 A bug in which ${ref[@}} did not behave like ${arr[i][@]} when
ref is a name reference to arr[i] has been fixed.
12-03-21 A bug in which assigning a compound variable into arr[i], where
arr[i] is an array variable did not work correctly has been fixed.
12-03-21 A bug with multi-dimenstional index arrays in which ${arr[i][j]}
could generate a bogus error message when i was > 9 has been fixed.
12-03-21 A bug in which typeset v=foo, typeset -p v[0] generated a core dump
has been fixed.
12-03-20 A bug in vi edit mode in which the sequence bar<ESC>0i<ESC>l left the
cursor on the b rather than the a has been fixed.
12-03-20 A bug which caused a core dump when defining a type with a field
as ' integer -a data=([0]=0)' has been fixed.
12-03-19 Using typeset -a array when array is an associative arry not
generated an error message.
12-03-19 typeset +a, typeset +A, and typeset +C not displays the variables
with the attributes a, A, and C respectively instead of an error.
12-03-19 A bug in which typeset -pC, typeset -pa, and typeset -pA output all
variables rather than those of type C, a, or A only has been fixed.
12-03-18 A bug in which unset foo where foo is a name reference to a compound
variable defined inside a function is not unset has been fixed.
12-03-18 A bug with SHOPT_EDPREDICT which could cause a core dump when the
list of matches became empty has been fixed.
12-03-15 The assignment, typeset -C foo=(a b c) now generates a syntax
error since a is not an assignment command.
12-03-16 A bug in which an unset discipline from a variable defined in a
subshell is not invoked in the subshell has been fixed.
12-03-08 The assignment typeset -a (x=1 y=2) now creates an index array
of two elements rathern than an array of one element which is
a compound variable.
12-03-02 +The vi and emacs edit modes now list all the entries in a directory
when entering a <tab> for completion after a /.
12-03-02 A bug in which a program that exits with value 12 when called
from a command substitution in which standard output has been
redirected caused the shell to hang has been fixed.
12-03-01 A bug in which the shell could not parse [[ ']' == ~(E)[]] ]]
has been fixed.
# INIT
12-07-17 iffe.sh: add C code NOTE("...") to ammend --verbose output
12-06-26 iffe.sh: fix "npt foo" to handle function-like macro foo()
12-06-20 package.sh: use $KSH for rt in "results test"
12-06-15 Makefile: add PLUGIN_LIB to $INSTALLROOT/bin/.paths and BUILTIN_LIB => PLUGIN_LIB
12-06-15 package.sh: add PLUGIN_LIB to $INSTALLROOT/bin/.paths and BUILTIN_LIB => PLUGIN_LIB
12-06-13 package.sh: handle admin.db column output
12-06-08 iffe.sh: fix 12-06-06 typo
12-06-06 iffe.sh: check for -l* in reverse and accumulative order (e.g., for -last & -lm)
12-06-04 package.sh: always check $INSTALLROOT/lib/package/profile
12-05-31 Makefile: ID=ast; $(INSTALLROOT)/prototyped.h => $(INSTALLROOT)/$(ID)/prototyped.h
12-05-28 iffe.sh: api foo YYYYMMDD => FOOAPI(rel) test macro
12-05-24 package.sh: change admin.db comment => owner attributes
12-04-25 ratz.c: add sear -k option to keep installation tmp dir on exit
12-04-17 package.sh: skip sh version logic for ``use''
12-04-17 cc.ibm.risc*: _LARGEFILE64_SOURCE => _LARGE_FILE_API moved to libast/features
12-04-09 cc.ibm.risc*: speak aixese for _LARGEFILE64_SOURCE
12-02-29 cc.darwin.i386*: handle default cc vs kernel bittedness
12-02-29 C+probe: add __TIMESTAMP__ to the nopredefined list
12-02-29 package.sh: don't assume grep -q or /usr/local/lib in LD_LIBRARY_PATH
12-02-29 package.sh: fix ksh vs -lcmd compatibility checks
This unbreaks at least one of AST/ksh packages.
Changes since 2006-02-14:
2012-02-29
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2012-02-29.2011-02-08.html
2011-02-08
This source release contains the first official ksh93u.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2011-02-08.2010-08-26.html
2010-08-26
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2010-08-26.2010-06-21.html
2010-06-21
This source release contains the last official ksh93t+.
The only updates for ksh93t+ will be hotfixes for serious bugs.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2010-06-21.2010-06-18.html
2010-03-09
This source and binary release contains a fix for the
2010-03-01 ksh memory leak plus a few minor fixes to clean
up the bit rot that accumulated since 2009-07-04.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2010-03-09.2010-03-01.html
2010-03-01
This source and binary release contains minor fixes to the
unannounced 2010-02-02 release. It is the first official
non-beta release in almost 8 months (we really do try to
decrease the time between official releases, but the
abundance of moving targets sometimes makes that
interesting). See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2010-03-01.2010-02-02.html
2010-02-02
This source and binary release includes:
# fixes for problems reported by the OpenSolaris community
as part of the ksh93 integration project
# a UWIN update with initial support for Windows 7,
improved handle and process resource management, and
improved /var/log/uwin logging
# an expanded man page index that includes the UWIN man
pages in the U subsections and nmake(1) rule and operator
man pages in the 1M subsection
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2010-02-02.2009-07-04.html
2009-07-04
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2009-07-04.2009-05-05.html
2009-05-05
This source and binary release cleans up a few reported
build problems in the 2009-05-01 release (which has been
removed). The release procedures have been adjusted to avoid
similar problems in the future. (The main problem is
synthesizing external non-ast environments to fully exercise
portions of the build system seen by outside users -- since
we use our stuff for everything, including packaging and
building, setting up an environment that has no ast
components leaking in can be non-trivial).
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2009-05-05.2009-05-01.html
2009-05-01
This source release contains the official (and hopefully
final) ksh93t+ 2009-05-01, along with updates for the ast
commands and libraries. A lot of work went into cleaning up
the regression tests -- most regressions directly correspond
to unsupported native system features or buggy native system
interfaces that we felt should be fixed rather than worked around.
Of course we could be persuaded otherwise.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2009-05-01.2008-11-04.html
2008-11-04
This source release contains the official ksh93t 2008-11-04,
along with updates for a few ast-open commands, libraries and plugins.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2008-11-04.2008-07-25.html
2008-07-25
This source release corrects the build problems in the 2008-06-24 source release.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2008-07-25.2008-06-24.html
2008-06-24
This source release contains first release of ksh93t and support libraries.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2008-06-24.2008-02-02.html
2008-02-02
This release addresses standalone build problems and issues
raised on the lists. It also contains the final ksh93s+ release.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2008-02-02.2007-11-05.html
2007-11-05
This release adresses issues raised on the lists.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2007-11-05.2007-03-28.html
2007-03-28
Yes -- a new release in only 3 months. This release contains
fixes and features that address the issues raised on the lists.
A summary of recent ksh93 changes:
1. Double precision floating point arithmetic with full C99
arithmetic support on systems that provide the C99
arithmetic functions. The numbers Inf and NaN can be
used in arithmetic expressions.
2. TAB-TAB completion generates a numbered list of
completions which the user can select.
3. Support for processing/handling multibyte locales (e.g.,
en_US.UTF-8, hi_IN.UTF-8, ja_JP.eucJP, zh_CN.GB18030,
zh_TW.BIG5 etc.) has been extensively revised, tested,
and is now supported even on the language level (e.g.
variable and function identifiers may contain locale
specific codeset characters).
4. /dev/(tcp|udp|sctp)/host/sevrice now handles IPv6
addresses on systems that provide getaddrinfo(3).
5. The ability to seek on a file by offset or content with
new redirection operators.
6. A new --showme option which allows portions of a script
to behave as if -x were specified while other parts
execute as usual. This simplifies the coding of make -n
style semantics at the script level by eliminating code
replication. In particular, io redirections are handled
by --showme.
7. The [[...]] operator =~ has been added which compares
the string to an extended regular expression rather than
== which compares against a shell pattern.
8. The printf(1) builtin has been extended to support the =
flag for centering a field. The # flag when used with
%d and %i provides values in units of thousands or 1024
respectively with an appropriate suffix added.
9. Example screenshots from joint work with the Solaris
ksh93 integration project are available here.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2007-03-28.2007-01-11.html
2007-01-11
This release, almost a year from the last big release,
contains changes based on feedback from the { ast-users
ast-developers uwin-users uwin-developers } lists and the
ongoing ksh93-solaris integration project. Thanks to all
who helped. Our resolution this year is to increase release
frequency to keep internal and external source/binaries
more in sync. See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2007-01-11.2006-02-14.html
2006-05-01
Change log at
http://www2.research.att.com/~gsf/download/release.2006-05-01.2006-02-14.html
is empty.
INSTALLATION_DIRS, as well as all occurrences of ${PREFIX}/man with
${PREFIX}/${PKGMANDIR}.
Fixes PR 35265, although I did not use the patch provided therein.
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
rather than PKG_FAIL_REASON, so that they provide useful error
messages in build logs, and so that they continue to work on platforms
where they aren't broken.
+SHELL.
* Turn PKG_REGISTER_SHELLS into a variable that can be set in the shell
environment so that admins can make a choice when installing from
binary packages.
* PKG_SHELL is now a list of paths, and if the path is relative, then it
is taken to be relative to ${PREFIX}. Convert packages that set
PKG_SHELL to take advantage of this new feature by changing the full
paths to the shells into relative paths.
Changes since 20030621:
* A bug in which could cause memory corruption when a posix
function invoked another one has been fixed.
* A bug in which a file descriptor>2 could be closed before
executing a script has been fixed.
* A parsing error for <() and >() process subsitituions inside
command substitution has been fixed.
* A parsing error for patterns of the form {...}(...) when
used inside ${...} has been fixed.
* An error in which expanding an indexed array inside a compound
variable could cause a core dump has been fixed.
* A bug in which under on rare ocassions a job completion interrupt
could cause to core dump has been fixed.
* A bug in which process substitution embeded within command
substitution would generate a syntax error has been fixed.
This update does also fix the build problems on NetBSD-current reported
by Steven M. Bellovin in PR pkg/22422.
Changes since 20030422 (from the release notes):
A source and binary update. There are few small but significant patches
for ksh and nmake. nmake -l/+l library list generation is much improved.
IBM z-series { linux.s390, linux.s390-64 } and i-series { linux.ppc64 }
binary architectures have been added, and the ebcdic { mvs.390 } has
been updated after a long absence.
Tested on 1.6R (i386).
Changes:
03-03-18 --- Release ksh93o ---
03-03-18 A -N unary operator was added to test and [[...]] which returns
true if the file exists and the file has been modified since it
was last read.
03-03-18 The TIMEFORMAT variable was added to control the format for
the time compound command. The formatting description is
described in the man page.
03-03-06 A -N n option was added to read which causes exactly n bytes
to be read unlike -n n which causes at most n bytes to be read.
03-03-03 Three new shell variables were added. The variable .sh.file
stores the full pathname of the file that the current command
was found in. The variable .sh.fun names the current function
that is running. The variable .sh.subshell contains the depth
of the current subshell or command substitution.
03-03-03 When the DEBUG trap is executed, the current command line after
expansions is placed in the variable .sh.command. The trap
is also now triggered before each iteration of a for, select,
and case command and before each assignment and redirection.
03-02-28 Function definitions are no longer stored in the history file so
that set -o nolog no longer has any meaning.
03-02-28 All function definitions can be displayed with typeset -f not
just those stored in the history file. In addition, typeset +f
displays the function name followed by a comment containg the
line number and the path name for the file that defined this function.
03-02-28 A bug in which the value of $LINENO was not correct when executing
command contained inside mult-line command substitutions has been
fixed.
03-02-19 Since some existing ksh88 scripts use the undocumented and
unintended ability to insert a : in front of the % and # parameter
expansion operators, ksh93 was modified to accept :% as equivalent
to % and :# as equivalent to # with ${name op word}.
03-02-14 A bug which could cause a core dump when reading from standard
error when standard error was a pty has been fixed.
03-02-14 The shell arithmetic was modified to use long double on systems
that provide this data type.
03-02-09 A bug in which a function located in the first directory in FPATH
would not be found when the last component of PATH was . and the
current directory was one of the directories in PATH has been fixed.
03-02-07 The trap and kill builtin commands now accept a leading SIG prefix
on the signal names as documented.
03-02-05 A bug in the expansion of ${var/$pattern}, when pattern contained
\[ has been fixed.
03-02-05 A bug in which .sh.match[n], n>0, was not being set for substring
matches with % and %% has been fixed.
03-01-15 A bug in which getopts did not work for numerical arguments specified
as n#var in the getopts string has been fixed.
03-01-09 A bug in which using ${.sh.match} multiple times could lead to
a memory exception has been fixed.
03-01-06 A bug in the expansion of ${var/pattern/$string} in the case that
$string contains \digit has been fixed.
03-01-02 A -P option was added for systems such as Solaris 8 that support
profile shell.
03-01-02 For backward compatibility with ksh88, arithmetic expansion
with ((...)) and let has been modified so that if x is a zero-filled
variable, $x will not be treated as an octal constant.
have it be automatically included by bsd.pkg.mk if USE_PKGINSTALL is set
to "YES". This enforces the requirement that bsd.pkg.install.mk be
included at the end of a package Makefile. Idea suggested by Julio M.
Merino Vidal <jmmv at menta.net>.
Changes from 20020922 (other than bug fixes) are:
* The code to display compound objects was rewritten to make it easier
for runtime extensions to reuse this code.
* A change was made to allow runtime builtins to be notified when a
signal is received so that cleanup can be performed.
* User applications can now trap the ALRM signal. Previously, the ALRM
signal was used internally and could not be used by applications.