mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
Fix a large number of typos and other problems (#110)
Most of these fixes are for typos and extra whitespace at the end of lines. These are the notable changes: - Fixed a compatibility issue with how asterisks are displayed using certain fonts. Bug report: https://github.com/att/ast/issues/764 - Fixed a bug in the man page that caused searches for the '|' character to fail. Bug report: https://github.com/att/ast/issues/871 - Removed a duplicate description of 'set -B' from the man page. Bug report: https://github.com/att/ast/issues/789 - Added documentation for options missing from the ksh man page (applies to 'hist -N', 'sleep -s', 'whence -q' and many of ulimit's options). Bug reports: https://github.com/att/ast/issues/948 https://github.com/att/ast/issues/503#issuecomment-386649715 https://github.com/att/ast/issues/507#issuecomment-507924608 - Applied the following ksh2020 documentation fixes: https://github.com/att/ast/pull/351 https://github.com/att/ast/pull/352 - Fixed a minor GCC -Wformat warning in procopen.c by changing a sentinel to NULL.
This commit is contained in:
parent
338586896d
commit
f9fdbfc9e9
66 changed files with 487 additions and 432 deletions
4
NEWS
4
NEWS
|
@ -74,9 +74,9 @@ Any uppercase BUG_* names are modernish shell bug IDs.
|
||||||
|
|
||||||
2020-07-19:
|
2020-07-19:
|
||||||
|
|
||||||
- Fixed a crash that occured in the '.' command when using kshdb.
|
- Fixed a crash that occurred in the '.' command when using kshdb.
|
||||||
|
|
||||||
- Fixed a crash that occured when attempting to use redirection with an
|
- Fixed a crash that occurred when attempting to use redirection with an
|
||||||
invalid file descriptor.
|
invalid file descriptor.
|
||||||
|
|
||||||
2020-07-16:
|
2020-07-16:
|
||||||
|
|
|
@ -472,7 +472,7 @@ be freed before returning from you built-in, because by default,
|
||||||
<TT>ksh</TT> will terminate you built-in in the event of an
|
<TT>ksh</TT> will terminate you built-in in the event of an
|
||||||
interrupt and the memory will not be freed.
|
interrupt and the memory will not be freed.
|
||||||
<P>
|
<P>
|
||||||
The best way to to allocate variable sized storage is
|
The best way to allocate variable sized storage is
|
||||||
through calls to the <STRONG>stak</STRONG> library
|
through calls to the <STRONG>stak</STRONG> library
|
||||||
which is included in <STRONG>libast</STRONG>
|
which is included in <STRONG>libast</STRONG>
|
||||||
and which is used extensively by <TT>ksh</TT> itself.
|
and which is used extensively by <TT>ksh</TT> itself.
|
||||||
|
|
|
@ -424,7 +424,7 @@ All recorded changes follow.
|
||||||
package.mk: add the runtime package type (no *.[ah])
|
package.mk: add the runtime package type (no *.[ah])
|
||||||
iffe.sh: fix key test reports
|
iffe.sh: fix key test reports
|
||||||
04-08-26 Makefile: { add m2.c m3.c } -lm tests for { frexp[l] ldexp[l] }
|
04-08-26 Makefile: { add m2.c m3.c } -lm tests for { frexp[l] ldexp[l] }
|
||||||
04-08-11 package.mk: handle HOSTTYPE for solaris > 9
|
04-08-11 package.mk: handle HOSTTYPE for solaris > 9
|
||||||
package.sh: add `checkaout proto' for { make view }
|
package.sh: add `checkaout proto' for { make view }
|
||||||
package.sh: check for { md5sum md5 }
|
package.sh: check for { md5sum md5 }
|
||||||
iffe.sh: add {if|elif|else|endif} test ...
|
iffe.sh: add {if|elif|else|endif} test ...
|
||||||
|
@ -525,7 +525,7 @@ All recorded changes follow.
|
||||||
03-06-21 package.sh: fix INITROOT initialization bug
|
03-06-21 package.sh: fix INITROOT initialization bug
|
||||||
package.sh: make sure admin logs exists before tail'ing
|
package.sh: make sure admin logs exists before tail'ing
|
||||||
03-06-11 probe.win32: fix $(BINDIR) typo that expanded in sh instead of make
|
03-06-11 probe.win32: fix $(BINDIR) typo that expanded in sh instead of make
|
||||||
cc.mvs.390: return code 4 yields exit code 3 but its *really* ok
|
cc.mvs.390: return code 4 yields exit code 3 but it's *really* ok
|
||||||
package.sh: fix onpath function global var conflict
|
package.sh: fix onpath function global var conflict
|
||||||
make.probe: add CC.DIALECT { GNU -dD }
|
make.probe: add CC.DIALECT { GNU -dD }
|
||||||
package.mk: add Mamfile to lcl manifest
|
package.mk: add Mamfile to lcl manifest
|
||||||
|
@ -545,7 +545,7 @@ All recorded changes follow.
|
||||||
03-05-05 package.mk: fix cygwin tarball names
|
03-05-05 package.mk: fix cygwin tarball names
|
||||||
03-04-30 package.sh: move (cc|ld|ldd).$HOSTTYPE updates from Makefile
|
03-04-30 package.sh: move (cc|ld|ldd).$HOSTTYPE updates from Makefile
|
||||||
03-04-27 make.probe: fix mvs CC.PREFIX.SHARED "lib" => ""
|
03-04-27 make.probe: fix mvs CC.PREFIX.SHARED "lib" => ""
|
||||||
make.probe: add CC.DLL.DIR = $(BINDIR) or $(LIBDIR)
|
make.probe: add CC.DLL.DIR = $(BINDIR) or $(LIBDIR)
|
||||||
make.probe: add { CC.LD.LAZY CC.LD.NOLAZY CC.LD.RECORD CC.LD.NORECORD }
|
make.probe: add { CC.LD.LAZY CC.LD.NOLAZY CC.LD.RECORD CC.LD.NORECORD }
|
||||||
probe.win32: sync with latest CC.*
|
probe.win32: sync with latest CC.*
|
||||||
03-04-25 mamprobe.sh: add args to `. $makeprobe' for ancient sh
|
03-04-25 mamprobe.sh: add args to `. $makeprobe' for ancient sh
|
||||||
|
@ -553,7 +553,7 @@ All recorded changes follow.
|
||||||
03-04-22 probe.win32: CC.DIALECT += "LIBPP -I-" for all cc's
|
03-04-22 probe.win32: CC.DIALECT += "LIBPP -I-" for all cc's
|
||||||
package.sh: fix admin write binary tarball snarf
|
package.sh: fix admin write binary tarball snarf
|
||||||
03-04-21 package.mk: package covered *.@(pkg|lic) too
|
03-04-21 package.mk: package covered *.@(pkg|lic) too
|
||||||
03-04-15 package.mk: don't generate incremental archives for lcl
|
03-04-15 package.mk: don't generate incremental archives for lcl
|
||||||
package.mk: add incremental=[source:1 binary:0] archive control
|
package.mk: add incremental=[source:1 binary:0] archive control
|
||||||
package.sh: generate $INSTALLROOT/bin/cc wrapper for CC != cc
|
package.sh: generate $INSTALLROOT/bin/cc wrapper for CC != cc
|
||||||
package.sh: admin must ditto lib/package/*.@(pkg|lic) too
|
package.sh: admin must ditto lib/package/*.@(pkg|lic) too
|
||||||
|
@ -644,7 +644,7 @@ All recorded changes follow.
|
||||||
02-09-11 make.probe: move from nmake src to be part of mamprobe.sh
|
02-09-11 make.probe: move from nmake src to be part of mamprobe.sh
|
||||||
mamprobe: generate from mamprobe.beg C.probe make.probe mamprobe.end
|
mamprobe: generate from mamprobe.beg C.probe make.probe mamprobe.end
|
||||||
mamake.c: pass cc absolute path to mamprobe
|
mamake.c: pass cc absolute path to mamprobe
|
||||||
package.sh: generate mamprobe -- yuk (at least its confined to INIT)
|
package.sh: generate mamprobe -- yuk (at least it's confined to INIT)
|
||||||
iffe.sh: lcl,nxt: drop default sys/ check
|
iffe.sh: lcl,nxt: drop default sys/ check
|
||||||
ditto.sh: tw --logical by default; add --physical
|
ditto.sh: tw --logical by default; add --physical
|
||||||
02-09-10 package.sh: SHELLMAGIC creeps into package too -- duh and fooey
|
02-09-10 package.sh: SHELLMAGIC creeps into package too -- duh and fooey
|
||||||
|
@ -735,7 +735,7 @@ All recorded changes follow.
|
||||||
package.mk: tarball package.notice replaces `license accepted' prompt
|
package.mk: tarball package.notice replaces `license accepted' prompt
|
||||||
package.sh: eliminate `license accepted' prompt
|
package.sh: eliminate `license accepted' prompt
|
||||||
package.sh: add update to download latest from a url
|
package.sh: add update to download latest from a url
|
||||||
package.sh: use builtin arithmetic when we know its ksh
|
package.sh: use builtin arithmetic when we know it's ksh
|
||||||
iffe.sh: unkown -> unknown
|
iffe.sh: unkown -> unknown
|
||||||
01-10-18 package.sh: convert to YYYY-MM-DD delta releases instead of NNNN
|
01-10-18 package.sh: convert to YYYY-MM-DD delta releases instead of NNNN
|
||||||
package.mk: convert to YYYY-MM-DD delta releases instead of NNNN
|
package.mk: convert to YYYY-MM-DD delta releases instead of NNNN
|
||||||
|
@ -758,7 +758,7 @@ All recorded changes follow.
|
||||||
01-08-11 package.mk: handle single gz executable packages (e.g., for ksh)
|
01-08-11 package.mk: handle single gz executable packages (e.g., for ksh)
|
||||||
package.sh: fix package install to require nmake only if no *.sum
|
package.sh: fix package install to require nmake only if no *.sum
|
||||||
iffe.sh: drop ancient menu and prompt actions; check ./hdr.h clash
|
iffe.sh: drop ancient menu and prompt actions; check ./hdr.h clash
|
||||||
01-07-17 package: fix use cross compile test to generate files in /tmp
|
01-07-17 package: fix use cross compile test to generate files in /tmp
|
||||||
01-06-27 ratz: handle hard and soft links if possible
|
01-06-27 ratz: handle hard and soft links if possible
|
||||||
01-06-07 Makefile: fix :MAPLIB: for sco
|
01-06-07 Makefile: fix :MAPLIB: for sco
|
||||||
01-05-31 crossexec.sh: add
|
01-05-31 crossexec.sh: add
|
||||||
|
@ -789,7 +789,7 @@ All recorded changes follow.
|
||||||
01-02-26 iffe.sh: fix bug that omitted runtime #define for `mac' op
|
01-02-26 iffe.sh: fix bug that omitted runtime #define for `mac' op
|
||||||
01-02-22 cc.ibm.risc: handle SF_CLOSE clash in <sfio.h>
|
01-02-22 cc.ibm.risc: handle SF_CLOSE clash in <sfio.h>
|
||||||
01-02-14 cc.sgi.mips3,cc.sgi.mips4: handle -mips2 -mips3 -mips4 for cross cc
|
01-02-14 cc.sgi.mips3,cc.sgi.mips4: handle -mips2 -mips3 -mips4 for cross cc
|
||||||
C+probe: quote "$cc" when its an argument!
|
C+probe: quote "$cc" when it's an argument!
|
||||||
mamake: execute actions with $SHELL, ignored signals back to default
|
mamake: execute actions with $SHELL, ignored signals back to default
|
||||||
package.sh: nmake check error output to /dev/null
|
package.sh: nmake check error output to /dev/null
|
||||||
package.sh: fix INIT a.out updates for knr cc
|
package.sh: fix INIT a.out updates for knr cc
|
||||||
|
@ -810,7 +810,7 @@ All recorded changes follow.
|
||||||
package.sh: add $SECONDS to the DEBUG trace prompt
|
package.sh: add $SECONDS to the DEBUG trace prompt
|
||||||
01-01-01 ratz.c: #ifdef for uwin ncc
|
01-01-01 ratz.c: #ifdef for uwin ncc
|
||||||
iffe.sh,package.sh: check PACKAGE_PATH for local installations
|
iffe.sh,package.sh: check PACKAGE_PATH for local installations
|
||||||
package.sh: add psrinfo for osf.alpha host cpu
|
package.sh: add psrinfo for osf.alpha host cpu
|
||||||
package.sh: change pax --meter probe; some hang on /dev/tty
|
package.sh: change pax --meter probe; some hang on /dev/tty
|
||||||
package.sh: fix `install flat ARCH'
|
package.sh: fix `install flat ARCH'
|
||||||
mamake: eliminate loops from scan order
|
mamake: eliminate loops from scan order
|
||||||
|
@ -863,7 +863,7 @@ All recorded changes follow.
|
||||||
package: fix write delta source to use default pax format
|
package: fix write delta source to use default pax format
|
||||||
package: add disambiguating bias for sgi.mips3 over sgi.mips4
|
package: add disambiguating bias for sgi.mips3 over sgi.mips4
|
||||||
package.mk: fix for directory content packages lib ast-locale
|
package.mk: fix for directory content packages lib ast-locale
|
||||||
00-05-01 iffe: fix invalid _LIB_ macro identifier
|
00-05-01 iffe: fix invalid _LIB_ macro identifier
|
||||||
00-04-11 C+probe: uniq stdinclude and stdlib, fix usrinclude
|
00-04-11 C+probe: uniq stdinclude and stdlib, fix usrinclude
|
||||||
00-04-01 regress: fix explicit OUTPUT bug that didn't compare with expected
|
00-04-01 regress: fix explicit OUTPUT bug that didn't compare with expected
|
||||||
00-03-17 package: all archives are .tgz for binary download
|
00-03-17 package: all archives are .tgz for binary download
|
||||||
|
@ -944,7 +944,7 @@ All recorded changes follow.
|
||||||
98-11-11 regress: fix UNIT PATH lookup
|
98-11-11 regress: fix UNIT PATH lookup
|
||||||
98-11-01 regress: add PROG
|
98-11-01 regress: add PROG
|
||||||
98-10-01 hostinfo: add unixware.*
|
98-10-01 hostinfo: add unixware.*
|
||||||
use: export PACKAGE_*
|
use: export PACKAGE_*
|
||||||
98-08-11 C.probe: add /usr/include check (for sco CC)
|
98-08-11 C.probe: add /usr/include check (for sco CC)
|
||||||
hostinfo: handle uwin uname update
|
hostinfo: handle uwin uname update
|
||||||
98-05-01 regress: fix bug sometimes didn't list last test
|
98-05-01 regress: fix bug sometimes didn't list last test
|
||||||
|
|
|
@ -386,7 +386,7 @@ All recorded changes follow.
|
||||||
package.mk: add the runtime package type (no *.[ah])
|
package.mk: add the runtime package type (no *.[ah])
|
||||||
iffe.sh: fix key test reports
|
iffe.sh: fix key test reports
|
||||||
04-08-26 Makefile: { add m2.c m3.c } -lm tests for { frexp[l] ldexp[l] }
|
04-08-26 Makefile: { add m2.c m3.c } -lm tests for { frexp[l] ldexp[l] }
|
||||||
04-08-11 package.mk: handle HOSTTYPE for solaris > 9
|
04-08-11 package.mk: handle HOSTTYPE for solaris > 9
|
||||||
package.sh: add `checkaout proto' for { make view }
|
package.sh: add `checkaout proto' for { make view }
|
||||||
package.sh: check for { md5sum md5 }
|
package.sh: check for { md5sum md5 }
|
||||||
iffe.sh: add {if|elif|else|endif} test ...
|
iffe.sh: add {if|elif|else|endif} test ...
|
||||||
|
@ -487,7 +487,7 @@ All recorded changes follow.
|
||||||
03-06-21 package.sh: fix INITROOT initialization bug
|
03-06-21 package.sh: fix INITROOT initialization bug
|
||||||
package.sh: make sure admin logs exists before tail'ing
|
package.sh: make sure admin logs exists before tail'ing
|
||||||
03-06-11 probe.win32: fix $(BINDIR) typo that expanded in sh instead of make
|
03-06-11 probe.win32: fix $(BINDIR) typo that expanded in sh instead of make
|
||||||
cc.mvs.390: return code 4 yields exit code 3 but its *really* ok
|
cc.mvs.390: return code 4 yields exit code 3 but it's *really* ok
|
||||||
package.sh: fix onpath function global var conflict
|
package.sh: fix onpath function global var conflict
|
||||||
make.probe: add CC.DIALECT { GNU -dD }
|
make.probe: add CC.DIALECT { GNU -dD }
|
||||||
package.mk: add Mamfile to lcl manifest
|
package.mk: add Mamfile to lcl manifest
|
||||||
|
@ -507,7 +507,7 @@ All recorded changes follow.
|
||||||
03-05-05 package.mk: fix cygwin tarball names
|
03-05-05 package.mk: fix cygwin tarball names
|
||||||
03-04-30 package.sh: move (cc|ld|ldd).$HOSTTYPE updates from Makefile
|
03-04-30 package.sh: move (cc|ld|ldd).$HOSTTYPE updates from Makefile
|
||||||
03-04-27 make.probe: fix mvs CC.PREFIX.SHARED "lib" => ""
|
03-04-27 make.probe: fix mvs CC.PREFIX.SHARED "lib" => ""
|
||||||
make.probe: add CC.DLL.DIR = $(BINDIR) or $(LIBDIR)
|
make.probe: add CC.DLL.DIR = $(BINDIR) or $(LIBDIR)
|
||||||
make.probe: add { CC.LD.LAZY CC.LD.NOLAZY CC.LD.RECORD CC.LD.NORECORD }
|
make.probe: add { CC.LD.LAZY CC.LD.NOLAZY CC.LD.RECORD CC.LD.NORECORD }
|
||||||
probe.win32: sync with latest CC.*
|
probe.win32: sync with latest CC.*
|
||||||
03-04-25 mamprobe.sh: add args to `. $makeprobe' for ancient sh
|
03-04-25 mamprobe.sh: add args to `. $makeprobe' for ancient sh
|
||||||
|
@ -515,7 +515,7 @@ All recorded changes follow.
|
||||||
03-04-22 probe.win32: CC.DIALECT += "LIBPP -I-" for all cc's
|
03-04-22 probe.win32: CC.DIALECT += "LIBPP -I-" for all cc's
|
||||||
package.sh: fix admin write binary tarball snarf
|
package.sh: fix admin write binary tarball snarf
|
||||||
03-04-21 package.mk: package covered *.@(pkg|lic) too
|
03-04-21 package.mk: package covered *.@(pkg|lic) too
|
||||||
03-04-15 package.mk: don't generate incremental archives for lcl
|
03-04-15 package.mk: don't generate incremental archives for lcl
|
||||||
package.mk: add incremental=[source:1 binary:0] archive control
|
package.mk: add incremental=[source:1 binary:0] archive control
|
||||||
package.sh: generate $INSTALLROOT/bin/cc wrapper for CC != cc
|
package.sh: generate $INSTALLROOT/bin/cc wrapper for CC != cc
|
||||||
package.sh: admin must ditto lib/package/*.@(pkg|lic) too
|
package.sh: admin must ditto lib/package/*.@(pkg|lic) too
|
||||||
|
@ -606,7 +606,7 @@ All recorded changes follow.
|
||||||
02-09-11 make.probe: move from nmake src to be part of mamprobe.sh
|
02-09-11 make.probe: move from nmake src to be part of mamprobe.sh
|
||||||
mamprobe: generate from mamprobe.beg C.probe make.probe mamprobe.end
|
mamprobe: generate from mamprobe.beg C.probe make.probe mamprobe.end
|
||||||
mamake.c: pass cc absolute path to mamprobe
|
mamake.c: pass cc absolute path to mamprobe
|
||||||
package.sh: generate mamprobe -- yuk (at least its confined to INIT)
|
package.sh: generate mamprobe -- yuk (at least it's confined to INIT)
|
||||||
iffe.sh: lcl,nxt: drop default sys/ check
|
iffe.sh: lcl,nxt: drop default sys/ check
|
||||||
ditto.sh: tw --logical by default; add --physical
|
ditto.sh: tw --logical by default; add --physical
|
||||||
02-09-10 package.sh: SHELLMAGIC creeps into package too -- duh and fooey
|
02-09-10 package.sh: SHELLMAGIC creeps into package too -- duh and fooey
|
||||||
|
@ -629,7 +629,7 @@ All recorded changes follow.
|
||||||
02-06-14 package.sh: fix admin_action to not include qualifiers
|
02-06-14 package.sh: fix admin_action to not include qualifiers
|
||||||
package.sh: fix help/html doc typo
|
package.sh: fix help/html doc typo
|
||||||
02-06-11 package.sh: fix ditto update doc to `PACKAGEROOT field matching *:*'
|
02-06-11 package.sh: fix ditto update doc to `PACKAGEROOT field matching *:*'
|
||||||
02-06-07 WWW.mk: change substitute $(") to
|
02-06-07 WWW.mk: change substitute $(") to
|
||||||
02-06-06 package.sh: clarify output streams for help/html
|
02-06-06 package.sh: clarify output streams for help/html
|
||||||
02-05-22 mamake.c: fix executable file check to use (S_IXUSR|S_IXGRP|S_IXOTH)
|
02-05-22 mamake.c: fix executable file check to use (S_IXUSR|S_IXGRP|S_IXOTH)
|
||||||
02-04-04 package.sh: fix update to differentiate *.sun4 and sun4
|
02-04-04 package.sh: fix update to differentiate *.sun4 and sun4
|
||||||
|
@ -697,7 +697,7 @@ All recorded changes follow.
|
||||||
package.mk: tarball package.notice replaces `license accepted' prompt
|
package.mk: tarball package.notice replaces `license accepted' prompt
|
||||||
package.sh: eliminate `license accepted' prompt
|
package.sh: eliminate `license accepted' prompt
|
||||||
package.sh: add update to download latest from a url
|
package.sh: add update to download latest from a url
|
||||||
package.sh: use builtin arithmetic when we know its ksh
|
package.sh: use builtin arithmetic when we know it's ksh
|
||||||
iffe.sh: unkown -> unknown
|
iffe.sh: unkown -> unknown
|
||||||
01-10-18 package.sh: convert to YYYY-MM-DD delta releases instead of NNNN
|
01-10-18 package.sh: convert to YYYY-MM-DD delta releases instead of NNNN
|
||||||
package.mk: convert to YYYY-MM-DD delta releases instead of NNNN
|
package.mk: convert to YYYY-MM-DD delta releases instead of NNNN
|
||||||
|
@ -720,7 +720,7 @@ All recorded changes follow.
|
||||||
01-08-11 package.mk: handle single gz executable packages (e.g., for ksh)
|
01-08-11 package.mk: handle single gz executable packages (e.g., for ksh)
|
||||||
package.sh: fix package install to require nmake only if no *.sum
|
package.sh: fix package install to require nmake only if no *.sum
|
||||||
iffe.sh: drop ancient menu and prompt actions; check ./hdr.h clash
|
iffe.sh: drop ancient menu and prompt actions; check ./hdr.h clash
|
||||||
01-07-17 package: fix use cross compile test to generate files in /tmp
|
01-07-17 package: fix use cross compile test to generate files in /tmp
|
||||||
01-06-27 ratz: handle hard and soft links if possible
|
01-06-27 ratz: handle hard and soft links if possible
|
||||||
01-06-07 Makefile: fix :MAPLIB: for sco
|
01-06-07 Makefile: fix :MAPLIB: for sco
|
||||||
01-05-31 crossexec.sh: add
|
01-05-31 crossexec.sh: add
|
||||||
|
@ -751,7 +751,7 @@ All recorded changes follow.
|
||||||
01-02-26 iffe.sh: fix bug that omitted runtime #define for `mac' op
|
01-02-26 iffe.sh: fix bug that omitted runtime #define for `mac' op
|
||||||
01-02-22 cc.ibm.risc: handle SF_CLOSE clash in <sfio.h>
|
01-02-22 cc.ibm.risc: handle SF_CLOSE clash in <sfio.h>
|
||||||
01-02-14 cc.sgi.mips3,cc.sgi.mips4: handle -mips2 -mips3 -mips4 for cross cc
|
01-02-14 cc.sgi.mips3,cc.sgi.mips4: handle -mips2 -mips3 -mips4 for cross cc
|
||||||
C+probe: quote "$cc" when its an argument!
|
C+probe: quote "$cc" when it's an argument!
|
||||||
mamake: execute actions with $SHELL, ignored signals back to default
|
mamake: execute actions with $SHELL, ignored signals back to default
|
||||||
package.sh: nmake check error output to /dev/null
|
package.sh: nmake check error output to /dev/null
|
||||||
package.sh: fix INIT a.out updates for knr cc
|
package.sh: fix INIT a.out updates for knr cc
|
||||||
|
@ -772,7 +772,7 @@ All recorded changes follow.
|
||||||
package.sh: add $SECONDS to the DEBUG trace prompt
|
package.sh: add $SECONDS to the DEBUG trace prompt
|
||||||
01-01-01 ratz.c: #ifdef for uwin ncc
|
01-01-01 ratz.c: #ifdef for uwin ncc
|
||||||
iffe.sh,package.sh: check PACKAGE_PATH for local installations
|
iffe.sh,package.sh: check PACKAGE_PATH for local installations
|
||||||
package.sh: add psrinfo for osf.alpha host cpu
|
package.sh: add psrinfo for osf.alpha host cpu
|
||||||
package.sh: change pax --meter probe; some hang on /dev/tty
|
package.sh: change pax --meter probe; some hang on /dev/tty
|
||||||
package.sh: fix `install flat ARCH'
|
package.sh: fix `install flat ARCH'
|
||||||
mamake: eliminate loops from scan order
|
mamake: eliminate loops from scan order
|
||||||
|
@ -825,7 +825,7 @@ All recorded changes follow.
|
||||||
package: fix write delta source to use default pax format
|
package: fix write delta source to use default pax format
|
||||||
package: add disambiguating bias for sgi.mips3 over sgi.mips4
|
package: add disambiguating bias for sgi.mips3 over sgi.mips4
|
||||||
package.mk: fix for directory content packages lib ast-locale
|
package.mk: fix for directory content packages lib ast-locale
|
||||||
00-05-01 iffe: fix invalid _LIB_ macro identifier
|
00-05-01 iffe: fix invalid _LIB_ macro identifier
|
||||||
00-04-11 C+probe: uniq stdinclude and stdlib, fix usrinclude
|
00-04-11 C+probe: uniq stdinclude and stdlib, fix usrinclude
|
||||||
00-04-01 regress: fix explicit OUTPUT bug that didn't compare with expected
|
00-04-01 regress: fix explicit OUTPUT bug that didn't compare with expected
|
||||||
00-03-17 package: all archives are .tgz for binary download
|
00-03-17 package: all archives are .tgz for binary download
|
||||||
|
@ -906,7 +906,7 @@ All recorded changes follow.
|
||||||
98-11-11 regress: fix UNIT PATH lookup
|
98-11-11 regress: fix UNIT PATH lookup
|
||||||
98-11-01 regress: add PROG
|
98-11-01 regress: add PROG
|
||||||
98-10-01 hostinfo: add unixware.*
|
98-10-01 hostinfo: add unixware.*
|
||||||
use: export PACKAGE_*
|
use: export PACKAGE_*
|
||||||
98-08-11 C.probe: add /usr/include check (for sco CC)
|
98-08-11 C.probe: add /usr/include check (for sco CC)
|
||||||
hostinfo: handle uwin uname update
|
hostinfo: handle uwin uname update
|
||||||
98-05-01 regress: fix bug sometimes didn't list last test
|
98-05-01 regress: fix bug sometimes didn't list last test
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
* if Giji not specified then G11 == L
|
* if Giji not specified then G11 == L
|
||||||
* the first Ti.c that compiles/links with group -lGi1 ... -lGin
|
* the first Ti.c that compiles/links with group -lGi1 ... -lGin
|
||||||
* but does not compile/link with no libraries maps
|
* but does not compile/link with no libraries maps
|
||||||
* -lL to to require -lGi1 ... -lGin
|
* -lL to require -lGi1 ... -lGin
|
||||||
* otherwise -lL is not required and maps to "no library required"
|
* otherwise -lL is not required and maps to "no library required"
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -338,7 +338,7 @@ socket :MAPLIB: socket.c nsl.c
|
||||||
* this is why unix is starting to look like windows
|
* this is why unix is starting to look like windows
|
||||||
* this map allows makefiles to use -ldbm on all systems
|
* this map allows makefiles to use -ldbm on all systems
|
||||||
*
|
*
|
||||||
* and this just in: sometimes its <gdbm-ndbm.h> and possibly -lgdbm_compat
|
* and this just in: sometimes it's <gdbm-ndbm.h> and possibly -lgdbm_compat
|
||||||
*
|
*
|
||||||
* at least the -l* buck stops here
|
* at least the -l* buck stops here
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -329,7 +329,7 @@
|
||||||
package.mk: add the runtime package type (no *.[ah])
|
package.mk: add the runtime package type (no *.[ah])
|
||||||
iffe.sh: fix key test reports
|
iffe.sh: fix key test reports
|
||||||
04-08-26 Makefile: { add m2.c m3.c } -lm tests for { frexp[l] ldexp[l] }
|
04-08-26 Makefile: { add m2.c m3.c } -lm tests for { frexp[l] ldexp[l] }
|
||||||
04-08-11 package.mk: handle HOSTTYPE for solaris > 9
|
04-08-11 package.mk: handle HOSTTYPE for solaris > 9
|
||||||
package.sh: add `checkaout proto' for { make view }
|
package.sh: add `checkaout proto' for { make view }
|
||||||
package.sh: check for { md5sum md5 }
|
package.sh: check for { md5sum md5 }
|
||||||
iffe.sh: add {if|elif|else|endif} test ...
|
iffe.sh: add {if|elif|else|endif} test ...
|
||||||
|
@ -430,7 +430,7 @@
|
||||||
03-06-21 package.sh: fix INITROOT initialization bug
|
03-06-21 package.sh: fix INITROOT initialization bug
|
||||||
package.sh: make sure admin logs exists before tail'ing
|
package.sh: make sure admin logs exists before tail'ing
|
||||||
03-06-11 probe.win32: fix $(BINDIR) typo that expanded in sh instead of make
|
03-06-11 probe.win32: fix $(BINDIR) typo that expanded in sh instead of make
|
||||||
cc.mvs.390: return code 4 yields exit code 3 but its *really* ok
|
cc.mvs.390: return code 4 yields exit code 3 but it's *really* ok
|
||||||
package.sh: fix onpath function global var conflict
|
package.sh: fix onpath function global var conflict
|
||||||
make.probe: add CC.DIALECT { GNU -dD }
|
make.probe: add CC.DIALECT { GNU -dD }
|
||||||
package.mk: add Mamfile to lcl manifest
|
package.mk: add Mamfile to lcl manifest
|
||||||
|
@ -450,7 +450,7 @@
|
||||||
03-05-05 package.mk: fix cygwin tarball names
|
03-05-05 package.mk: fix cygwin tarball names
|
||||||
03-04-30 package.sh: move (cc|ld|ldd).$HOSTTYPE updates from Makefile
|
03-04-30 package.sh: move (cc|ld|ldd).$HOSTTYPE updates from Makefile
|
||||||
03-04-27 make.probe: fix mvs CC.PREFIX.SHARED "lib" => ""
|
03-04-27 make.probe: fix mvs CC.PREFIX.SHARED "lib" => ""
|
||||||
make.probe: add CC.DLL.DIR = $(BINDIR) or $(LIBDIR)
|
make.probe: add CC.DLL.DIR = $(BINDIR) or $(LIBDIR)
|
||||||
make.probe: add { CC.LD.LAZY CC.LD.NOLAZY CC.LD.RECORD CC.LD.NORECORD }
|
make.probe: add { CC.LD.LAZY CC.LD.NOLAZY CC.LD.RECORD CC.LD.NORECORD }
|
||||||
probe.win32: sync with latest CC.*
|
probe.win32: sync with latest CC.*
|
||||||
03-04-25 mamprobe.sh: add args to `. $makeprobe' for ancient sh
|
03-04-25 mamprobe.sh: add args to `. $makeprobe' for ancient sh
|
||||||
|
@ -458,7 +458,7 @@
|
||||||
03-04-22 probe.win32: CC.DIALECT += "LIBPP -I-" for all cc's
|
03-04-22 probe.win32: CC.DIALECT += "LIBPP -I-" for all cc's
|
||||||
package.sh: fix admin write binary tarball snarf
|
package.sh: fix admin write binary tarball snarf
|
||||||
03-04-21 package.mk: package covered *.@(pkg|lic) too
|
03-04-21 package.mk: package covered *.@(pkg|lic) too
|
||||||
03-04-15 package.mk: don't generate incremental archives for lcl
|
03-04-15 package.mk: don't generate incremental archives for lcl
|
||||||
package.mk: add incremental=[source:1 binary:0] archive control
|
package.mk: add incremental=[source:1 binary:0] archive control
|
||||||
package.sh: generate $INSTALLROOT/bin/cc wrapper for CC != cc
|
package.sh: generate $INSTALLROOT/bin/cc wrapper for CC != cc
|
||||||
package.sh: admin must ditto lib/package/*.@(pkg|lic) too
|
package.sh: admin must ditto lib/package/*.@(pkg|lic) too
|
||||||
|
@ -549,7 +549,7 @@
|
||||||
02-09-11 make.probe: move from nmake src to be part of mamprobe.sh
|
02-09-11 make.probe: move from nmake src to be part of mamprobe.sh
|
||||||
mamprobe: generate from mamprobe.beg C.probe make.probe mamprobe.end
|
mamprobe: generate from mamprobe.beg C.probe make.probe mamprobe.end
|
||||||
mamake.c: pass cc absolute path to mamprobe
|
mamake.c: pass cc absolute path to mamprobe
|
||||||
package.sh: generate mamprobe -- yuk (at least its confined to INIT)
|
package.sh: generate mamprobe -- yuk (at least it's confined to INIT)
|
||||||
iffe.sh: lcl,nxt: drop default sys/ check
|
iffe.sh: lcl,nxt: drop default sys/ check
|
||||||
ditto.sh: tw --logical by default; add --physical
|
ditto.sh: tw --logical by default; add --physical
|
||||||
02-09-10 package.sh: SHELLMAGIC creeps into package too -- duh and fooey
|
02-09-10 package.sh: SHELLMAGIC creeps into package too -- duh and fooey
|
||||||
|
@ -640,7 +640,7 @@
|
||||||
package.mk: tarball package.notice replaces `license accepted' prompt
|
package.mk: tarball package.notice replaces `license accepted' prompt
|
||||||
package.sh: eliminate `license accepted' prompt
|
package.sh: eliminate `license accepted' prompt
|
||||||
package.sh: add update to download latest from a url
|
package.sh: add update to download latest from a url
|
||||||
package.sh: use builtin arithmetic when we know its ksh
|
package.sh: use builtin arithmetic when we know it's ksh
|
||||||
iffe.sh: unkown -> unknown
|
iffe.sh: unkown -> unknown
|
||||||
01-10-18 package.sh: convert to YYYY-MM-DD delta releases instead of NNNN
|
01-10-18 package.sh: convert to YYYY-MM-DD delta releases instead of NNNN
|
||||||
package.mk: convert to YYYY-MM-DD delta releases instead of NNNN
|
package.mk: convert to YYYY-MM-DD delta releases instead of NNNN
|
||||||
|
@ -663,7 +663,7 @@
|
||||||
01-08-11 package.mk: handle single gz executable packages (e.g., for ksh)
|
01-08-11 package.mk: handle single gz executable packages (e.g., for ksh)
|
||||||
package.sh: fix package install to require nmake only if no *.sum
|
package.sh: fix package install to require nmake only if no *.sum
|
||||||
iffe.sh: drop ancient menu and prompt actions; check ./hdr.h clash
|
iffe.sh: drop ancient menu and prompt actions; check ./hdr.h clash
|
||||||
01-07-17 package: fix use cross compile test to generate files in /tmp
|
01-07-17 package: fix use cross compile test to generate files in /tmp
|
||||||
01-06-27 ratz: handle hard and soft links if possible
|
01-06-27 ratz: handle hard and soft links if possible
|
||||||
01-06-07 Makefile: fix :MAPLIB: for sco
|
01-06-07 Makefile: fix :MAPLIB: for sco
|
||||||
01-05-31 crossexec.sh: add
|
01-05-31 crossexec.sh: add
|
||||||
|
@ -694,7 +694,7 @@
|
||||||
01-02-26 iffe.sh: fix bug that omitted runtime #define for `mac' op
|
01-02-26 iffe.sh: fix bug that omitted runtime #define for `mac' op
|
||||||
01-02-22 cc.ibm.risc: handle SF_CLOSE clash in <sfio.h>
|
01-02-22 cc.ibm.risc: handle SF_CLOSE clash in <sfio.h>
|
||||||
01-02-14 cc.sgi.mips3,cc.sgi.mips4: handle -mips2 -mips3 -mips4 for cross cc
|
01-02-14 cc.sgi.mips3,cc.sgi.mips4: handle -mips2 -mips3 -mips4 for cross cc
|
||||||
C+probe: quote "$cc" when its an argument!
|
C+probe: quote "$cc" when it's an argument!
|
||||||
mamake: execute actions with $SHELL, ignored signals back to default
|
mamake: execute actions with $SHELL, ignored signals back to default
|
||||||
package.sh: nmake check error output to /dev/null
|
package.sh: nmake check error output to /dev/null
|
||||||
package.sh: fix INIT a.out updates for knr cc
|
package.sh: fix INIT a.out updates for knr cc
|
||||||
|
@ -715,7 +715,7 @@
|
||||||
package.sh: add $SECONDS to the DEBUG trace prompt
|
package.sh: add $SECONDS to the DEBUG trace prompt
|
||||||
01-01-01 ratz.c: #ifdef for uwin ncc
|
01-01-01 ratz.c: #ifdef for uwin ncc
|
||||||
iffe.sh,package.sh: check PACKAGE_PATH for local installations
|
iffe.sh,package.sh: check PACKAGE_PATH for local installations
|
||||||
package.sh: add psrinfo for osf.alpha host cpu
|
package.sh: add psrinfo for osf.alpha host cpu
|
||||||
package.sh: change pax --meter probe; some hang on /dev/tty
|
package.sh: change pax --meter probe; some hang on /dev/tty
|
||||||
package.sh: fix `install flat ARCH'
|
package.sh: fix `install flat ARCH'
|
||||||
mamake: eliminate loops from scan order
|
mamake: eliminate loops from scan order
|
||||||
|
@ -768,7 +768,7 @@
|
||||||
package: fix write delta source to use default pax format
|
package: fix write delta source to use default pax format
|
||||||
package: add disambiguating bias for sgi.mips3 over sgi.mips4
|
package: add disambiguating bias for sgi.mips3 over sgi.mips4
|
||||||
package.mk: fix for directory content packages lib ast-locale
|
package.mk: fix for directory content packages lib ast-locale
|
||||||
00-05-01 iffe: fix invalid _LIB_ macro identifier
|
00-05-01 iffe: fix invalid _LIB_ macro identifier
|
||||||
00-04-11 C+probe: uniq stdinclude and stdlib, fix usrinclude
|
00-04-11 C+probe: uniq stdinclude and stdlib, fix usrinclude
|
||||||
00-04-01 regress: fix explicit OUTPUT bug that didn't compare with expected
|
00-04-01 regress: fix explicit OUTPUT bug that didn't compare with expected
|
||||||
00-03-17 package: all archives are .tgz for binary download
|
00-03-17 package: all archives are .tgz for binary download
|
||||||
|
@ -849,7 +849,7 @@
|
||||||
98-11-11 regress: fix UNIT PATH lookup
|
98-11-11 regress: fix UNIT PATH lookup
|
||||||
98-11-01 regress: add PROG
|
98-11-01 regress: add PROG
|
||||||
98-10-01 hostinfo: add unixware.*
|
98-10-01 hostinfo: add unixware.*
|
||||||
use: export PACKAGE_*
|
use: export PACKAGE_*
|
||||||
98-08-11 C.probe: add /usr/include check (for sco CC)
|
98-08-11 C.probe: add /usr/include check (for sco CC)
|
||||||
hostinfo: handle uwin uname update
|
hostinfo: handle uwin uname update
|
||||||
98-05-01 regress: fix bug sometimes didn't list last test
|
98-05-01 regress: fix bug sometimes didn't list last test
|
||||||
|
|
|
@ -34,7 +34,7 @@ omitted features that are completely upward compatible.
|
||||||
interpreted literally. Now it is an ANSI-C string. You
|
interpreted literally. Now it is an ANSI-C string. You
|
||||||
must quote the dollar sign to get the previous behavior.
|
must quote the dollar sign to get the previous behavior.
|
||||||
Also, a $ in front of a " indicates that the string needs
|
Also, a $ in front of a " indicates that the string needs
|
||||||
to be translated for locales other than C or POSIX. The $
|
to be translated for locales other than C or POSIX. The $
|
||||||
is ignored in the C and POSIX locale.
|
is ignored in the C and POSIX locale.
|
||||||
|
|
||||||
7. With ksh-88, tilde expansion did not take place inside ${...}.
|
7. With ksh-88, tilde expansion did not take place inside ${...}.
|
||||||
|
@ -55,7 +55,7 @@ omitted features that are completely upward compatible.
|
||||||
in your PATH, and you have a program named test in your
|
in your PATH, and you have a program named test in your
|
||||||
directory, it will be executed when you type test; the
|
directory, it will be executed when you type test; the
|
||||||
built-in version will be run at the point /bin is found
|
built-in version will be run at the point /bin is found
|
||||||
in your PATH.
|
in your PATH.
|
||||||
|
|
||||||
11. Some undocumented combinations of argument passing to ksh
|
11. Some undocumented combinations of argument passing to ksh
|
||||||
builtins no longer works since ksh-93 is getopts conforming
|
builtins no longer works since ksh-93 is getopts conforming
|
||||||
|
@ -72,7 +72,7 @@ omitted features that are completely upward compatible.
|
||||||
14. If the file name following a redirection symbol contain pattern
|
14. If the file name following a redirection symbol contain pattern
|
||||||
characters they will only be expanded for interactive shells.
|
characters they will only be expanded for interactive shells.
|
||||||
|
|
||||||
15. The arguments to a dot script will be restored when it completes.
|
15. The arguments to a dot script will be restored when it completes.
|
||||||
|
|
||||||
16. The list of tracked aliases is not displayed with alias unless
|
16. The list of tracked aliases is not displayed with alias unless
|
||||||
the -t option is specified.
|
the -t option is specified.
|
||||||
|
@ -85,7 +85,7 @@ omitted features that are completely upward compatible.
|
||||||
18. The ^T directive of emacs mode has been changed to work the
|
18. The ^T directive of emacs mode has been changed to work the
|
||||||
way it does in gnu-emacs.
|
way it does in gnu-emacs.
|
||||||
|
|
||||||
19. ksh-88 allowed unbalanced parenthes within ${name op val} whereas
|
19. ksh-88 allowed unbalanced parentheses within ${name op val} whereas
|
||||||
ksh-93 does not. Thus, ${foo-(} needs to be written as ${foo-\(}
|
ksh-93 does not. Thus, ${foo-(} needs to be written as ${foo-\(}
|
||||||
which works with both versions.
|
which works with both versions.
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ omitted features that are completely upward compatible.
|
||||||
the end-of-options is reached to conform to the POSIX standard.
|
the end-of-options is reached to conform to the POSIX standard.
|
||||||
|
|
||||||
23. Since the POSIX standard requires that octal constants be
|
23. Since the POSIX standard requires that octal constants be
|
||||||
recongnized, doing arithmetic on typeset -Z variables can
|
recognized, doing arithmetic on typeset -Z variables can
|
||||||
yield different results that with ksh-88. Most of these
|
yield different results that with ksh-88. Most of these
|
||||||
differences were eliminated in ksh-93o. Starting in ksh-93u+, the
|
differences were eliminated in ksh-93o. Starting in ksh-93u+, the
|
||||||
let command no longer recognizes octal constants starting with 0
|
let command no longer recognizes octal constants starting with 0
|
||||||
|
@ -109,7 +109,7 @@ omitted features that are completely upward compatible.
|
||||||
24. Starting after ksh-93l, If you run ksh name, where name does
|
24. Starting after ksh-93l, If you run ksh name, where name does
|
||||||
not contain a /, the current directory will be searched
|
not contain a /, the current directory will be searched
|
||||||
before doing a path search on name as required by the POSIX
|
before doing a path search on name as required by the POSIX
|
||||||
shell standard.
|
shell standard.
|
||||||
|
|
||||||
25. In ksh-93, cd - will output the directory that it changes
|
25. In ksh-93, cd - will output the directory that it changes
|
||||||
to on standard output as required by X/Open. With ksh-88,
|
to on standard output as required by X/Open. With ksh-88,
|
||||||
|
|
|
@ -46,7 +46,7 @@ Directory layout:
|
||||||
The data/bash_pre_rc.sh is a startup script used when emulating
|
The data/bash_pre_rc.sh is a startup script used when emulating
|
||||||
bash if the shell is compiled with SHOPT_BASH and the shell
|
bash if the shell is compiled with SHOPT_BASH and the shell
|
||||||
is invoked as bash. The bash emulation is not complete.
|
is invoked as bash. The bash emulation is not complete.
|
||||||
|
|
||||||
Include directory:
|
Include directory:
|
||||||
1. argnod.h contains the type definitions for command
|
1. argnod.h contains the type definitions for command
|
||||||
nodes, io nodes, argument nodes, and for positional
|
nodes, io nodes, argument nodes, and for positional
|
||||||
|
@ -60,11 +60,11 @@ Include directory:
|
||||||
don't fit elsewhere and it includes several other
|
don't fit elsewhere and it includes several other
|
||||||
headers. It defines a structure that contains ksh
|
headers. It defines a structure that contains ksh
|
||||||
global data, sh, and a structure that contains per
|
global data, sh, and a structure that contains per
|
||||||
function data, sh.st.
|
function data, sh.st.
|
||||||
4. edit.h contains definitions that are common to both
|
4. edit.h contains definitions that are common to both
|
||||||
vi and emacs edit modes.
|
vi and emacs edit modes.
|
||||||
5. env.h contains an alternative interfaces for creating and
|
5. env.h contains an alternative interfaces for creating and
|
||||||
modifying environment variables.
|
modifying environment variables.
|
||||||
6. fault.h contains prototypes for signal related
|
6. fault.h contains prototypes for signal related
|
||||||
functions and trap and fault handling.
|
functions and trap and fault handling.
|
||||||
7. fcin.h contains macro and function definitions for
|
7. fcin.h contains macro and function definitions for
|
||||||
|
|
|
@ -96,7 +96,7 @@ variable should contains the name of this directory.
|
||||||
They may also
|
They may also
|
||||||
be specified in the
|
be specified in the
|
||||||
.B ENV
|
.B ENV
|
||||||
file with the
|
file with the
|
||||||
.B \-xf
|
.B \-xf
|
||||||
option of
|
option of
|
||||||
.BR typeset .
|
.BR typeset .
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
12-08-01 --- Release ksh93u+ ---
|
12-08-01 --- Release ksh93u+ ---
|
||||||
12-08-01 A bug that ignored interrupts for some builtins (e.g. cmdtst::grep)
|
12-08-01 A bug that ignored interrupts for some builtins (e.g. cmdtst::grep)
|
||||||
that read from stdin has been fixed.
|
that read from stdin has been fixed.
|
||||||
12-08-01 A bug that interpreted "cd .foo" as "cd foo" 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-30 Added automatic restart for EINTR for ioctl, tcgetattr, and tcsetattr.
|
||||||
|
@ -38,7 +38,7 @@
|
||||||
12-06-19 Tab completion after a / when there is only one match not completes
|
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.
|
with that match rather than generating a menu of matches.
|
||||||
12-06-19 A bug in which patterns containing {...} where not processed
|
12-06-19 A bug in which patterns containing {...} where not processed
|
||||||
correctly inside ${var/pattern/string} has been fixed.
|
correctly inside ${var/pattern/string} has been fixed.
|
||||||
12-06-18 Code modified to eliminate fts_notify variable.
|
12-06-18 Code modified to eliminate fts_notify variable.
|
||||||
12-06-15 Change the .paths plugin/builtin library variable name from
|
12-06-15 Change the .paths plugin/builtin library variable name from
|
||||||
BUILTIN_LIB to PLUGIN_LIB to prevent new plugin_version() aware
|
BUILTIN_LIB to PLUGIN_LIB to prevent new plugin_version() aware
|
||||||
|
@ -81,12 +81,12 @@
|
||||||
12-05-24 When the redirection operatory >; is directed to a symlink, it now
|
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.
|
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,
|
12-05-21 +Added printf formats %(type)q where type can be html, url, pattern,
|
||||||
ere, or csv.
|
ere, or csv.
|
||||||
12-05-18 A bug with appending elements to an indexed array has been fixed.
|
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
|
12-05-18 The exit status from getopts --man interactively was 0 instead of 2
|
||||||
and has been fixed.
|
and has been fixed.
|
||||||
12-05-18 Another bug with SHOPT_EDPREDICT which could cause a core dump has
|
12-05-18 Another bug with SHOPT_EDPREDICT which could cause a core dump has
|
||||||
been fixed.
|
been fixed.
|
||||||
12-05-17 A bug with fixed size arrays which could cause a core dump has been
|
12-05-17 A bug with fixed size arrays which could cause a core dump has been
|
||||||
fixed.
|
fixed.
|
||||||
12-05-17 A bug in which the here-document <<< $(<file) was not processed
|
12-05-17 A bug in which the here-document <<< $(<file) was not processed
|
||||||
|
@ -98,10 +98,10 @@
|
||||||
been fixed.
|
been fixed.
|
||||||
12-05-15 Fixed a .paths bug in which only the first BUILTIN_LIB assignment worked.
|
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
|
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.
|
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 '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
|
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.
|
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
|
12-05-10 A bug in which typeset -f did not display options that called getopts
|
||||||
has been fixed.
|
has been fixed.
|
||||||
12-05-08 Fixed a number of potential bugs uncovered by valgrind.
|
12-05-08 Fixed a number of potential bugs uncovered by valgrind.
|
||||||
|
@ -127,8 +127,8 @@
|
||||||
12-04-23 +The -L option was added to kill. The -L option is the same as -l
|
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
|
except that without arguments the output format is in the form of
|
||||||
a select menu.
|
a select menu.
|
||||||
12-04-23 A bug in which the exit status for an interactive shell was always
|
12-04-23 A bug in which the exit status for an interactive shell was always
|
||||||
0 has been fixed.
|
0 has been fixed.
|
||||||
12-04-20 Entering blank lines interactively no longer resets the exit status.
|
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
|
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
|
would list the completion rather than inserting the completion has
|
||||||
|
@ -202,7 +202,7 @@
|
||||||
12-03-18 A bug in which unset foo where foo is a name reference to a compound
|
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.
|
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
|
12-03-18 A bug with SHOPT_EDPREDICT which could cause a core dump when the
|
||||||
list of matches became empty has been fixed.
|
list of matches became empty has been fixed.
|
||||||
12-03-15 The assignment, typeset -C foo=(a b c) now generates a syntax
|
12-03-15 The assignment, typeset -C foo=(a b c) now generates a syntax
|
||||||
error since a is not an assignment command.
|
error since a is not an assignment command.
|
||||||
12-03-16 A bug in which an unset discipline from a variable defined in a
|
12-03-16 A bug in which an unset discipline from a variable defined in a
|
||||||
|
@ -211,7 +211,7 @@
|
||||||
of two elements rather than an array of one element which is
|
of two elements rather than an array of one element which is
|
||||||
a compound variable.
|
a compound variable.
|
||||||
12-03-02 +The vi and emacs edit modes now list all the entries in a directory
|
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 /.
|
when entering a <tab> for completion after a /.
|
||||||
12-03-02 A bug in which a program that exits with value 12 when called
|
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
|
from a command substitution in which standard output has been
|
||||||
redirected caused the shell to hang has been fixed.
|
redirected caused the shell to hang has been fixed.
|
||||||
|
@ -238,7 +238,7 @@
|
||||||
from the KEYBD trap. Now read options -N, -n, and -t should work
|
from the KEYBD trap. Now read options -N, -n, and -t should work
|
||||||
when called from a KEYBD trap.
|
when called from a KEYBD trap.
|
||||||
12-02-13 If FCEDIT is not set and fc is invoked without the -e option,
|
12-02-13 If FCEDIT is not set and fc is invoked without the -e option,
|
||||||
ed will be invoked if found instead of /bin/ed.
|
ed will be invoked if found instead of /bin/ed.
|
||||||
12-02-10 Another bug in the saving and restoring of IFS in a subshell
|
12-02-10 Another bug in the saving and restoring of IFS in a subshell
|
||||||
that caused a core dump has been fixed.
|
that caused a core dump has been fixed.
|
||||||
12-02-08 A bug in which .sh.fun disciplines could be cleared after a
|
12-02-08 A bug in which .sh.fun disciplines could be cleared after a
|
||||||
|
@ -275,11 +275,11 @@
|
||||||
12-01-01 A timing problem with >; has been fixed.
|
12-01-01 A timing problem with >; has been fixed.
|
||||||
12-01-01 A macro expansion memory leak has been fixed.
|
12-01-01 A macro expansion memory leak has been fixed.
|
||||||
11-12-26 A bug in array assignments of the form arr=( $arr[i] ...) in which
|
11-12-26 A bug in array assignments of the form arr=( $arr[i] ...) in which
|
||||||
arr was not unset before the assignment has been fixed.
|
arr was not unset before the assignment has been fixed.
|
||||||
11-12-20 A number of code changes were made based on the results of errors
|
11-12-20 A number of code changes were made based on the results of errors
|
||||||
indicated by static code analysis.
|
indicated by static code analysis.
|
||||||
11-12-13 In vi edit mode a lteral <TAB> can now be entered by preceding it
|
11-12-13 In vi edit mode a literal <TAB> can now be entered by preceding it
|
||||||
with a backshash.
|
with a backslash.
|
||||||
11-12-13 When tab is entered for completion after a ' or ", the ' and "
|
11-12-13 When tab is entered for completion after a ' or ", the ' and "
|
||||||
characters are no longer deleted.
|
characters are no longer deleted.
|
||||||
11-12-07 A bug in which a program in the current directory with a . in the
|
11-12-07 A bug in which a program in the current directory with a . in the
|
||||||
|
@ -329,7 +329,7 @@
|
||||||
11-09-16 The characters ! + - % and @ in file names are no longer escaped with
|
11-09-16 The characters ! + - % and @ in file names are no longer escaped with
|
||||||
file name completion.
|
file name completion.
|
||||||
11-09-13 The let command no longer treats numbers starting with 0 as octal
|
11-09-13 The let command no longer treats numbers starting with 0 as octal
|
||||||
constants.
|
constants.
|
||||||
11-09-08 A bug in which printf "%R" could cause a core dump for invalid shell
|
11-09-08 A bug in which printf "%R" could cause a core dump for invalid shell
|
||||||
patterns has been fixed.
|
patterns has been fixed.
|
||||||
11-08-09 With set -u, ${var#pattern} reported that var was unset for special
|
11-08-09 With set -u, ${var#pattern} reported that var was unset for special
|
||||||
|
@ -366,7 +366,7 @@
|
||||||
an array instance when the array has been declared a compound variable
|
an array instance when the array has been declared a compound variable
|
||||||
array.
|
array.
|
||||||
11-05-31 A bug in which typeset -m of an array instance did not remove the
|
11-05-31 A bug in which typeset -m of an array instance did not remove the
|
||||||
original instance has been fixed.
|
original instance has been fixed.
|
||||||
11-05-28 A bug in which typeset -m dest=src fails when src and are passed as
|
11-05-28 A bug in which typeset -m dest=src fails when src and are passed as
|
||||||
name references was fixed.
|
name references was fixed.
|
||||||
11-05-28 A bug in which typeset -m "c.board[1][i]=el", where el is a compound
|
11-05-28 A bug in which typeset -m "c.board[1][i]=el", where el is a compound
|
||||||
|
@ -380,7 +380,7 @@
|
||||||
11-05-24 A bug in unsetting arrays of compound variables that could lead to
|
11-05-24 A bug in unsetting arrays of compound variables that could lead to
|
||||||
a core dump has been fixed.
|
a core dump has been fixed.
|
||||||
11-05-24 A scoping bug in with typeset -m for variables passed as references
|
11-05-24 A scoping bug in with typeset -m for variables passed as references
|
||||||
has been fixed.
|
has been fixed.
|
||||||
11-05-09 A bug in which 'typeset +p array[$i]' in a subshell could cause an
|
11-05-09 A bug in which 'typeset +p array[$i]' in a subshell could cause an
|
||||||
exception has been fixed.
|
exception has been fixed.
|
||||||
11-05-03 Two more scoping bugs with name references and read -C were fixed.
|
11-05-03 Two more scoping bugs with name references and read -C were fixed.
|
||||||
|
@ -409,7 +409,7 @@
|
||||||
11-04-18 A bug in which name references to array elements could fail has
|
11-04-18 A bug in which name references to array elements could fail has
|
||||||
been fixed.
|
been fixed.
|
||||||
11-04-15 +A compile option, SHOPT_2DMATCH, has been added which causes
|
11-04-15 +A compile option, SHOPT_2DMATCH, has been added which causes
|
||||||
.sh.match to be a two dimensional array after ${var//pat/str}
|
.sh.match to be a two dimensional array after ${var//pat/str}
|
||||||
where the first dimension is the pattern number and the second is
|
where the first dimension is the pattern number and the second is
|
||||||
the match instance.
|
the match instance.
|
||||||
11-04-11 A bug in which readonly var, where var is exported could cause var
|
11-04-11 A bug in which readonly var, where var is exported could cause var
|
||||||
|
@ -461,7 +461,7 @@
|
||||||
11-02-18 A bug in which the value of $0 in a function defined by name()
|
11-02-18 A bug in which the value of $0 in a function defined by name()
|
||||||
was changed to name has been fixed.
|
was changed to name has been fixed.
|
||||||
11-02-17 A bug in which the declaration typeset var[100] did not work
|
11-02-17 A bug in which the declaration typeset var[100] did not work
|
||||||
correctly has been fixed.
|
correctly has been fixed.
|
||||||
11-02-15 A bug in which [[ -v sh.match ]] did not work correctly has been
|
11-02-15 A bug in which [[ -v sh.match ]] did not work correctly has been
|
||||||
fixed.
|
fixed.
|
||||||
|
|
||||||
|
@ -498,7 +498,7 @@
|
||||||
i > ${#var} has been fixed.
|
i > ${#var} has been fixed.
|
||||||
10-12-16 +sleep now treats . as decimal point even in locales that use comma.
|
10-12-16 +sleep now treats . as decimal point even in locales that use comma.
|
||||||
10-12-16 +typeset -M mapname was added to generalize on toupper and tolowwer
|
10-12-16 +typeset -M mapname was added to generalize on toupper and tolowwer
|
||||||
mapping as provided with wctrans().
|
mapping as provided with wctrans().
|
||||||
10-12-10 A bug in which typeset -l displayed namespaces as well as lower case
|
10-12-10 A bug in which typeset -l displayed namespaces as well as lower case
|
||||||
variables has been fixed.
|
variables has been fixed.
|
||||||
10-12-06 A bug in which a pipeline could terminate prematurely for a pipeline
|
10-12-06 A bug in which a pipeline could terminate prematurely for a pipeline
|
||||||
|
@ -521,7 +521,7 @@
|
||||||
10-11-24 A bug in which a name reference is make to arr[0] when arr is not
|
10-11-24 A bug in which a name reference is make to arr[0] when arr is not
|
||||||
an array has been fixed.
|
an array has been fixed.
|
||||||
10-11-23 If a type definition is made without a compound variable assignment it
|
10-11-23 If a type definition is made without a compound variable assignment it
|
||||||
produces an error message and no longer shows up as a defined type.
|
produces an error message and no longer shows up as a defined type.
|
||||||
10-11-22 The handling of \ inside [...] for for shell and ~(E) patterns has
|
10-11-22 The handling of \ inside [...] for for shell and ~(E) patterns has
|
||||||
been fixed.
|
been fixed.
|
||||||
10-11-22 A patch was made to pfsh to handle an error case.
|
10-11-22 A patch was made to pfsh to handle an error case.
|
||||||
|
@ -595,7 +595,7 @@
|
||||||
with no members as an element of a compound variable did not work
|
with no members as an element of a compound variable did not work
|
||||||
has been fixed.
|
has been fixed.
|
||||||
10-10-08 A bug in which killing the last command in a function defined
|
10-10-08 A bug in which killing the last command in a function defined
|
||||||
with function name, terminated the calling script has been fixed.
|
with function name, terminated the calling script has been fixed.
|
||||||
10-10-08 A bug which could cause a core dump if IFS is unset inside a function
|
10-10-08 A bug which could cause a core dump if IFS is unset inside a function
|
||||||
has been fixed.
|
has been fixed.
|
||||||
10-10-07 +To reduce unwanted side effects, invoking typeset without the export
|
10-10-07 +To reduce unwanted side effects, invoking typeset without the export
|
||||||
|
@ -605,7 +605,7 @@
|
||||||
character follows it.
|
character follows it.
|
||||||
10-10-04 The change for $'...' expansion on 10-08-09 did not expand parameters
|
10-10-04 The change for $'...' expansion on 10-08-09 did not expand parameters
|
||||||
contained in the error message and this has been fixed.
|
contained in the error message and this has been fixed.
|
||||||
10-10-04 A bug in which a declaration of indexed array (-a_ in a type
|
10-10-04 A bug in which a declaration of indexed array (-a) in a type
|
||||||
definition would be displayed as a compound indexed array (-C -a)
|
definition would be displayed as a compound indexed array (-C -a)
|
||||||
has been fixed.
|
has been fixed.
|
||||||
10-09-30 The C99 math function ldexp has been added.
|
10-09-30 The C99 math function ldexp has been added.
|
||||||
|
@ -658,7 +658,7 @@
|
||||||
10-08-27 +When running a subshell, the current pool is unset.
|
10-08-27 +When running a subshell, the current pool is unset.
|
||||||
10-08-27 A bug in which jobs started from within for or while lists in
|
10-08-27 A bug in which jobs started from within for or while lists in
|
||||||
interactive shells could generate completion messages has been fixed.
|
interactive shells could generate completion messages has been fixed.
|
||||||
10-08-25 Fixed a couple of bugs related to job pools.
|
10-08-25 Fixed a couple of bugs related to job pools.
|
||||||
10-08-24 +[[ -e /dev/xxx/ ]] can be used to check whether special files of
|
10-08-24 +[[ -e /dev/xxx/ ]] can be used to check whether special files of
|
||||||
those names are handled by the shell.
|
those names are handled by the shell.
|
||||||
10-08-24 A bug in the running of a compiled dot script in which only the
|
10-08-24 A bug in the running of a compiled dot script in which only the
|
||||||
|
@ -771,7 +771,7 @@
|
||||||
10-05-27 Rewrote the subshell code to avoid using pipes an many cases.
|
10-05-27 Rewrote the subshell code to avoid using pipes an many cases.
|
||||||
10-05-24 Fixed a bug which cause an exception when both -l and -s were
|
10-05-24 Fixed a bug which cause an exception when both -l and -s were
|
||||||
specified with typeset -i.
|
specified with typeset -i.
|
||||||
10-05-21 Inputting of three dimensional indexed arrays with ( ( (...)...)...)
|
10-05-21 Inputting of three dimensional indexed arrays with ( ( (...)...)...)
|
||||||
was not working and has been fixed.
|
was not working and has been fixed.
|
||||||
10-05-21 A bug in which adding the attributes -Ai to a variable via a name
|
10-05-21 A bug in which adding the attributes -Ai to a variable via a name
|
||||||
reference could cause the value to display incorrectly has been fixed.
|
reference could cause the value to display incorrectly has been fixed.
|
||||||
|
@ -788,7 +788,7 @@
|
||||||
functions in arithmetic expressions has been fixed.
|
functions in arithmetic expressions has been fixed.
|
||||||
10-05-19 <<< with an empty string no longer gives an error.
|
10-05-19 <<< with an empty string no longer gives an error.
|
||||||
10-05-19 A bug in arithmetic evaluation when a name reference to an array
|
10-05-19 A bug in arithmetic evaluation when a name reference to an array
|
||||||
instance was used has been fixed.
|
instance was used has been fixed.
|
||||||
10-05-14 A bug in which the shell treats a valid index array assignment,
|
10-05-14 A bug in which the shell treats a valid index array assignment,
|
||||||
typeset -a x=(foo (x=3;y=4) bar) as a syntax error has been fixed.
|
typeset -a x=(foo (x=3;y=4) bar) as a syntax error has been fixed.
|
||||||
10-05-13 A bug in creating name references to associative array variable
|
10-05-13 A bug in creating name references to associative array variable
|
||||||
|
@ -838,7 +838,7 @@
|
||||||
10-04-15 A bug which caused scripts containing user defined math functions to
|
10-04-15 A bug which caused scripts containing user defined math functions to
|
||||||
fail to compile with shcomp has been fixed.
|
fail to compile with shcomp has been fixed.
|
||||||
10-04-15 +Job pools have been added with the SHOPT_COSHELL compilation option.
|
10-04-15 +Job pools have been added with the SHOPT_COSHELL compilation option.
|
||||||
A job pool allows a collection of background jobs to run either locally
|
A job pool allows a collection of background jobs to run either locally
|
||||||
or remotely and to be managed as a unit. The command '& name ...'
|
or remotely and to be managed as a unit. The command '& name ...'
|
||||||
creates or uses a named job pool for subsequent background jobs.
|
creates or uses a named job pool for subsequent background jobs.
|
||||||
kill, wait, and jobs allow the pool name as operands.
|
kill, wait, and jobs allow the pool name as operands.
|
||||||
|
@ -954,7 +954,7 @@
|
||||||
overwrite the prompt.
|
overwrite the prompt.
|
||||||
09-11-17 +Change .paths parse to handle BUILTIN_LIB=foo BUILTIN_LIB=foo-1.2.
|
09-11-17 +Change .paths parse to handle BUILTIN_LIB=foo BUILTIN_LIB=foo-1.2.
|
||||||
09-11-17 Inside a function, typeset foo.bar will bind foo to global variable
|
09-11-17 Inside a function, typeset foo.bar will bind foo to global variable
|
||||||
foo if local variable foo does not exist, instead of creating a
|
foo if local variable foo does not exist, instead of creating a
|
||||||
local variable.
|
local variable.
|
||||||
09-11-17 "read -n1" from the terminal has been fixed to read exactly one character.
|
09-11-17 "read -n1" from the terminal has been fixed to read exactly one character.
|
||||||
09-11-11 Job control now works for subshell commands, (...).
|
09-11-11 Job control now works for subshell commands, (...).
|
||||||
|
@ -988,7 +988,7 @@
|
||||||
09-09-17 A bug in which unsetting SVLVL could cause a script invoked by
|
09-09-17 A bug in which unsetting SVLVL could cause a script invoked by
|
||||||
name without #! to core dump has been fixed.
|
name without #! to core dump has been fixed.
|
||||||
09-09-16 A bug in which a pipeline in a here-document could hang when the
|
09-09-16 A bug in which a pipeline in a here-document could hang when the
|
||||||
pipefail option was on has been fixed.
|
pipefail option was on has been fixed.
|
||||||
09-09-09 A bug in the processing of line joining in here documents which
|
09-09-09 A bug in the processing of line joining in here documents which
|
||||||
occurred when a buffer began with <escape><new-line> has been fixed.
|
occurred when a buffer began with <escape><new-line> has been fixed.
|
||||||
09-09-09 +A leading ; with commands in a brace group or parenthesis group
|
09-09-09 +A leading ; with commands in a brace group or parenthesis group
|
||||||
|
@ -1032,7 +1032,7 @@
|
||||||
type variables when reference with a name reference has been fixed.
|
type variables when reference with a name reference has been fixed.
|
||||||
09-08-10 Several memory leaks were fixed primarily related to subshells.
|
09-08-10 Several memory leaks were fixed primarily related to subshells.
|
||||||
09-08-06 A bug in which setting the trap on CHLD to ignore could cause
|
09-08-06 A bug in which setting the trap on CHLD to ignore could cause
|
||||||
a script to hang has been fixed.
|
a script to hang has been fixed.
|
||||||
09-07-08 A bug in the processing of name reference assignments when it
|
09-07-08 A bug in the processing of name reference assignments when it
|
||||||
contained pattern expansions with quoting has been fixed.
|
contained pattern expansions with quoting has been fixed.
|
||||||
09-06-22 +The default width for typeset -X has been changed so that there
|
09-06-22 +The default width for typeset -X has been changed so that there
|
||||||
|
@ -1064,7 +1064,7 @@
|
||||||
would be listed with trap -p.
|
would be listed with trap -p.
|
||||||
09-06-12 A bug in vi edit mode in which hitting the up arrow key at the
|
09-06-12 A bug in vi edit mode in which hitting the up arrow key at the
|
||||||
end of a line longer than 40 characters which caused a core dump
|
end of a line longer than 40 characters which caused a core dump
|
||||||
has been fixed.
|
has been fixed.
|
||||||
09-06-11 A bug in which "eval non-builtin &" would create two processes,
|
09-06-11 A bug in which "eval non-builtin &" would create two processes,
|
||||||
one for the & and another for non-builtin has been fixed.
|
one for the & and another for non-builtin has been fixed.
|
||||||
09-06-08 When var is an identifier and is unset, ${var} no longer tries to
|
09-06-08 When var is an identifier and is unset, ${var} no longer tries to
|
||||||
|
@ -1278,7 +1278,7 @@
|
||||||
the same array.
|
the same array.
|
||||||
08-09-09 The exit status of 2 from the DEBUG trap causes the next command
|
08-09-09 The exit status of 2 from the DEBUG trap causes the next command
|
||||||
to be skipped. An exit value of 255 from a DEBUG trap called from
|
to be skipped. An exit value of 255 from a DEBUG trap called from
|
||||||
a function causes the function to return.
|
a function causes the function to return.
|
||||||
08-09-08 A bug in which a coprocess created in a subshell that did not
|
08-09-08 A bug in which a coprocess created in a subshell that did not
|
||||||
complete when the subshell terminated could prevent a coprocess
|
complete when the subshell terminated could prevent a coprocess
|
||||||
from being created in the parent shell has been fixed.
|
from being created in the parent shell has been fixed.
|
||||||
|
@ -1294,13 +1294,13 @@
|
||||||
08-08-25 +For an indexed array, a negative subscript now refers to offsets
|
08-08-25 +For an indexed array, a negative subscript now refers to offsets
|
||||||
from the end so that -1 refers to the last element.
|
from the end so that -1 refers to the last element.
|
||||||
08-08-24 An alignment error for shorts on 64 bit architectures has been fixed.
|
08-08-24 An alignment error for shorts on 64 bit architectures has been fixed.
|
||||||
08-08-22 If oldvar is a compound variable, typeset -C newvar=oldvar creates
|
08-08-22 If oldvar is a compound variable, typeset -C newvar=oldvar creates
|
||||||
newvar as a copy of oldvar.
|
newvar as a copy of oldvar.
|
||||||
08-08-19 +The ALRM signal no longer cause the sleep builtin to terminate.
|
08-08-19 +The ALRM signal no longer cause the sleep builtin to terminate.
|
||||||
08-08-13 When used in an arithmetic expression, the .sh.version variable
|
08-08-13 When used in an arithmetic expression, the .sh.version variable
|
||||||
now produces a number that will be increasing for each release.
|
now produces a number that will be increasing for each release.
|
||||||
08-08-11 A bug in which type instantiation with a compound assignment in
|
08-08-11 A bug in which type instantiation with a compound assignment in
|
||||||
a dot script in which the type is defined has been fixed.
|
a dot script in which the type is defined has been fixed.
|
||||||
08-08-07 +The -m option has been added to typeset to move or rename a
|
08-08-07 +The -m option has been added to typeset to move or rename a
|
||||||
variable. Not documented yet.
|
variable. Not documented yet.
|
||||||
08-08-06 A bug in read when used in a loop when a prompt was specified
|
08-08-06 A bug in read when used in a loop when a prompt was specified
|
||||||
|
@ -1326,7 +1326,7 @@
|
||||||
08-07-08 +The %B format now outputs compound variables and arrays. The
|
08-07-08 +The %B format now outputs compound variables and arrays. The
|
||||||
alternate flag # can be used to cause output into a single line.
|
alternate flag # can be used to cause output into a single line.
|
||||||
08-07-03 When the window change signal, WINCH, is received, the current
|
08-07-03 When the window change signal, WINCH, is received, the current
|
||||||
edit line is redrawn in place.
|
edit line is redrawn in place.
|
||||||
08-07-01 A bug in the handling of shared variables when inside an embedded
|
08-07-01 A bug in the handling of shared variables when inside an embedded
|
||||||
type has been fixed.
|
type has been fixed.
|
||||||
08-06-29 A bug in multiline edit mode which occurred when the prompt length
|
08-06-29 A bug in multiline edit mode which occurred when the prompt length
|
||||||
|
@ -1386,7 +1386,7 @@
|
||||||
result from an expansion.
|
result from an expansion.
|
||||||
08-05-15 The trap on SIGCLD is no longer triggered by the completion of
|
08-05-15 The trap on SIGCLD is no longer triggered by the completion of
|
||||||
the foreground job as with ksh88.
|
the foreground job as with ksh88.
|
||||||
08-05-14 A bug in the implementation of the editing feature added on
|
08-05-14 A bug in the implementation of the editing feature added on
|
||||||
07-09-19 in emacs mode has been fixed.
|
07-09-19 in emacs mode has been fixed.
|
||||||
08-05-12 A bug in processing the test built-in with parenthesis has been
|
08-05-12 A bug in processing the test built-in with parenthesis has been
|
||||||
fixed.
|
fixed.
|
||||||
|
@ -1435,7 +1435,7 @@
|
||||||
specific data used by discipline functions.
|
specific data used by discipline functions.
|
||||||
08-03-27 A bug in which the terminal group was not given back to the parent
|
08-03-27 A bug in which the terminal group was not given back to the parent
|
||||||
shell when the last part of a pipeline was handled by the parent shell
|
shell when the last part of a pipeline was handled by the parent shell
|
||||||
and the other parts of the pipeline complete has been fixed.
|
and the other parts of the pipeline complete has been fixed.
|
||||||
The symptom was that the pipeline became uninterruptible.
|
The symptom was that the pipeline became uninterruptible.
|
||||||
08-03-25 A bug in restricted mode introduced in ksh93s that caused scripts
|
08-03-25 A bug in restricted mode introduced in ksh93s that caused scripts
|
||||||
that did not use #! to executed in restricted mode has been fixed.
|
that did not use #! to executed in restricted mode has been fixed.
|
||||||
|
@ -1492,7 +1492,7 @@
|
||||||
08-01-31 The prefix expansion operator @ has been added. ${@name}
|
08-01-31 The prefix expansion operator @ has been added. ${@name}
|
||||||
expands to the type of name or yields the attributes.
|
expands to the type of name or yields the attributes.
|
||||||
07-11-15 A bug in the macro expander for multibyte characters in which
|
07-11-15 A bug in the macro expander for multibyte characters in which
|
||||||
part of the character contains a file pattern byte has been fixed.
|
part of the character contains a file pattern byte has been fixed.
|
||||||
07-10-03 A bug in which : was not allowed as part of an alias name has been
|
07-10-03 A bug in which : was not allowed as part of an alias name has been
|
||||||
fixed.
|
fixed.
|
||||||
07-09-26 A bug in which appending a compound variable to a compound variable
|
07-09-26 A bug in which appending a compound variable to a compound variable
|
||||||
|
@ -1538,16 +1538,16 @@
|
||||||
08-01-16 Incomplete arithmetic assignments, for example ((x += )), now
|
08-01-16 Incomplete arithmetic assignments, for example ((x += )), now
|
||||||
generate an error message.
|
generate an error message.
|
||||||
08-01-16 A bug in which a set discipline defined for a variable before
|
08-01-16 A bug in which a set discipline defined for a variable before
|
||||||
an array assignment could cause a core dump has been fixed.
|
an array assignment could cause a core dump has been fixed.
|
||||||
08-01-03 A bug in on some systems in which exit status 0 is incorrectly
|
08-01-03 A bug in on some systems in which exit status 0 is incorrectly
|
||||||
returned by a process that catches the SIGCONT signal is stopped
|
returned by a process that catches the SIGCONT signal is stopped
|
||||||
and then continued.
|
and then continued.
|
||||||
07-12-13 A race condition in which a program that has been stopped and then
|
07-12-13 A race condition in which a program that has been stopped and then
|
||||||
continued could loose the exit status has been fixed.
|
continued could loose the exit status has been fixed.
|
||||||
07-12-12 Code to check for file system out of space write errors for all
|
07-12-12 Code to check for file system out of space write errors for all
|
||||||
writes has been added.
|
writes has been added.
|
||||||
07-12-11 A bug in the macro expander for multibyte characters in which
|
07-12-11 A bug in the macro expander for multibyte characters in which
|
||||||
part of the character contains a file pattern byte has been fixed.
|
part of the character contains a file pattern byte has been fixed.
|
||||||
07-12-06 A bug in the emacs edit mode when multiline was set that output
|
07-12-06 A bug in the emacs edit mode when multiline was set that output
|
||||||
a backspace before the newline to the screen has been fixed.
|
a backspace before the newline to the screen has been fixed.
|
||||||
07-12-04 A bug in which using <n>TAB after a variable name listing expansion
|
07-12-04 A bug in which using <n>TAB after a variable name listing expansion
|
||||||
|
@ -1629,7 +1629,7 @@
|
||||||
an exit status of 127 when pipefail was enabled has been fixed.
|
an exit status of 127 when pipefail was enabled has been fixed.
|
||||||
07-07-09 +The SHOPT_AUDIT compile option has been added for keyboard logging.
|
07-07-09 +The SHOPT_AUDIT compile option has been added for keyboard logging.
|
||||||
07-06-25 In vi insert mode, ksh no longer emits a backspace character
|
07-06-25 In vi insert mode, ksh no longer emits a backspace character
|
||||||
before the carriage return when the newline is entered.
|
before the carriage return when the newline is entered.
|
||||||
07-06-25 A bug in which pipefail would cause a command to return 0
|
07-06-25 A bug in which pipefail would cause a command to return 0
|
||||||
when the pipeline was the last command and the failure happened
|
when the pipeline was the last command and the failure happened
|
||||||
on a component other than the last has been fixed.
|
on a component other than the last has been fixed.
|
||||||
|
@ -1669,7 +1669,7 @@
|
||||||
the exit status of the stop signal number.
|
the exit status of the stop signal number.
|
||||||
07-02-26 +M-^L added to emacs mode to clear the screen.
|
07-02-26 +M-^L added to emacs mode to clear the screen.
|
||||||
07-02-26 A bug in which setting a variable readonly in a subshell would
|
07-02-26 A bug in which setting a variable readonly in a subshell would
|
||||||
cause an unset error when the subshell completed has been fixed.
|
cause an unset error when the subshell completed has been fixed.
|
||||||
07-02-19 +The format with printf uses the new = flag to center the output.
|
07-02-19 +The format with printf uses the new = flag to center the output.
|
||||||
07-02-19 A bug in which ksh93 did not allow multibyte characters in
|
07-02-19 A bug in which ksh93 did not allow multibyte characters in
|
||||||
identifier names has been fixed.
|
identifier names has been fixed.
|
||||||
|
@ -1684,14 +1684,14 @@
|
||||||
|
|
||||||
06-12-29 --- Release ksh93s ---
|
06-12-29 --- Release ksh93s ---
|
||||||
06-12-29 A bug in which the value of IFS could be changed after a command
|
06-12-29 A bug in which the value of IFS could be changed after a command
|
||||||
substitution has been fixed.
|
substitution has been fixed.
|
||||||
06-12-22 +/dev/(tcp|udp|sctp)/HOST/SEVRICE now handles IPv6 addresses on
|
06-12-22 +/dev/(tcp|udp|sctp)/HOST/SEVRICE now handles IPv6 addresses on
|
||||||
systems that provide getaddrinfo(3).
|
systems that provide getaddrinfo(3).
|
||||||
06-12-19 +A -v option was added to read. With this option the value of
|
06-12-19 +A -v option was added to read. With this option the value of
|
||||||
the first variable name argument will become the default value
|
the first variable name argument will become the default value
|
||||||
when read from a terminal device.
|
when read from a terminal device.
|
||||||
06-11-20 A bug in which "${foo[@]:1}}" expands a null argument (instead of
|
06-11-20 A bug in which "${foo[@]:1}}" expands a null argument (instead of
|
||||||
no argument), when foo[0] is not empty has been fixed.
|
no argument), when foo[0] is not empty has been fixed.
|
||||||
06-11-16 The discipline functions have been modified to allow each subscript
|
06-11-16 The discipline functions have been modified to allow each subscript
|
||||||
to act independently. Currently the discipline function will not
|
to act independently. Currently the discipline function will not
|
||||||
be called when called from a discipline function of the same variable.
|
be called when called from a discipline function of the same variable.
|
||||||
|
@ -1734,7 +1734,7 @@
|
||||||
select condition can be preceded by a semi-colon which will
|
select condition can be preceded by a semi-colon which will
|
||||||
be ignored when showme is off. When showme is on, any command
|
be ignored when showme is off. When showme is on, any command
|
||||||
preceded by a colon will be traced but not executed.
|
preceded by a colon will be traced but not executed.
|
||||||
06-08-16 +As a new feature, a leading ~(N) on a pattern has no effect
|
06-08-16 +As a new feature, a leading ~(N) on a pattern has no effect
|
||||||
except when used for file expansion. In this case if not
|
except when used for file expansion. In this case if not
|
||||||
matches are found, the pattern is replaced by nothing rather
|
matches are found, the pattern is replaced by nothing rather
|
||||||
than itself.
|
than itself.
|
||||||
|
@ -1756,13 +1756,13 @@
|
||||||
06-07-20 The ability to use egrep, grep, and fgrep expressions within
|
06-07-20 The ability to use egrep, grep, and fgrep expressions within
|
||||||
shell patterns has been documented.
|
shell patterns has been documented.
|
||||||
06-07-17 A bug with arithmetic command expressions for locales in which
|
06-07-17 A bug with arithmetic command expressions for locales in which
|
||||||
the comma is a thousands separator has been fixed.
|
the comma is a thousands separator has been fixed.
|
||||||
06-07-13 +The default HISTSIZE was increased from 128 to 512.
|
06-07-13 +The default HISTSIZE was increased from 128 to 512.
|
||||||
06-07-13 A multibyte problem with locales that use shift codes has been fixed.
|
06-07-13 A multibyte problem with locales that use shift codes has been fixed.
|
||||||
06-06-23 A number of bug fixes for command, file, and variable completion
|
06-06-23 A number of bug fixes for command, file, and variable completion
|
||||||
have been mode.
|
have been mode.
|
||||||
06-06-20 +Floating point division by zero now yields the constant Inf or -Inf
|
06-06-20 +Floating point division by zero now yields the constant Inf or -Inf
|
||||||
and floating functions with invalid arguments yield NaN.
|
and floating functions with invalid arguments yield NaN.
|
||||||
06-06-20 +The floating point constants Inf and NaN can be used in arithmetic
|
06-06-20 +The floating point constants Inf and NaN can be used in arithmetic
|
||||||
expressions.
|
expressions.
|
||||||
06-06-20 +The functions isinf(), isnan(), tanhl() have been added for
|
06-06-20 +The functions isinf(), isnan(), tanhl() have been added for
|
||||||
|
@ -1777,7 +1777,7 @@
|
||||||
06-06-04 Modified built-in binding so that for systems for which /bin
|
06-06-04 Modified built-in binding so that for systems for which /bin
|
||||||
and /usr/bin are the same, a builtin bound to /bin will get
|
and /usr/bin are the same, a builtin bound to /bin will get
|
||||||
selected when either /bin or /usr/bin is scanned.
|
selected when either /bin or /usr/bin is scanned.
|
||||||
06-06-04 +Added literal-next character processing for emacs/gmacs mode.
|
06-06-04 +Added literal-next character processing for emacs/gmacs mode.
|
||||||
This change is not compatible with earlier versions of ksh93
|
This change is not compatible with earlier versions of ksh93
|
||||||
and ksh88 when the stty lnext is control-v. The sequence
|
and ksh88 when the stty lnext is control-v. The sequence
|
||||||
escape-control-v will display the shell version.
|
escape-control-v will display the shell version.
|
||||||
|
@ -1787,7 +1787,7 @@
|
||||||
the completion with the corresponding item.
|
the completion with the corresponding item.
|
||||||
06-05-19 +Modified arithmetic so that conversions to strings default to
|
06-05-19 +Modified arithmetic so that conversions to strings default to
|
||||||
the maximum number of precision digits.
|
the maximum number of precision digits.
|
||||||
06-05-16 Bug fixes for multibyte locales.
|
06-05-16 Bug fixes for multibyte locales.
|
||||||
06-05-10 The =~ operator was added to [[...]] and [[ string ~= ERE ]]
|
06-05-10 The =~ operator was added to [[...]] and [[ string ~= ERE ]]
|
||||||
is equivalent to [[ string == ~(E)ERE ]].
|
is equivalent to [[ string == ~(E)ERE ]].
|
||||||
06-04-25 A bug in the vi edit mode which could cause the shell to core dump
|
06-04-25 A bug in the vi edit mode which could cause the shell to core dump
|
||||||
|
@ -1800,7 +1800,7 @@
|
||||||
integers.
|
integers.
|
||||||
06-03-28 A bug in which variables assignment lists before functions
|
06-03-28 A bug in which variables assignment lists before functions
|
||||||
defined with function name were not passed on the functions
|
defined with function name were not passed on the functions
|
||||||
invoked by this function has been fixed.
|
invoked by this function has been fixed.
|
||||||
06-03-28 A bug in which name references defined within a function defined
|
06-03-28 A bug in which name references defined within a function defined
|
||||||
with function name could not be used with compound variables has
|
with function name could not be used with compound variables has
|
||||||
been fixed.
|
been fixed.
|
||||||
|
@ -1808,7 +1808,7 @@
|
||||||
(output) pipe to close before reading from (after writing to)
|
(output) pipe to close before reading from (after writing to)
|
||||||
it has been fixed.
|
it has been fixed.
|
||||||
06-02-28 A bug in which stopping a job created with the hist builtin command
|
06-02-28 A bug in which stopping a job created with the hist builtin command
|
||||||
would create a job that could not be restarted has been fixed.
|
would create a job that could not be restarted has been fixed.
|
||||||
|
|
||||||
06-01-24 --- Release ksh93r ---
|
06-01-24 --- Release ksh93r ---
|
||||||
06-01-24 A bug in which running commands with standard output closed would
|
06-01-24 A bug in which running commands with standard output closed would
|
||||||
|
@ -1819,7 +1819,7 @@
|
||||||
the colon was an assignment.
|
the colon was an assignment.
|
||||||
05-12-24 A bug which could lead to a core dump when elements of a compound
|
05-12-24 A bug which could lead to a core dump when elements of a compound
|
||||||
variable were array elements, i.e. foo=(bar=(1 2)), has been fixed.
|
variable were array elements, i.e. foo=(bar=(1 2)), has been fixed.
|
||||||
05-12-13 An arithmetic bug in which x+=y+=z was not working has been fixed.
|
05-12-13 An arithmetic bug in which x+=y+=z was not working has been fixed.
|
||||||
05-12-13 An arithmetic bug in which x||y was returning x when x was non-zero
|
05-12-13 An arithmetic bug in which x||y was returning x when x was non-zero
|
||||||
rather than 1 has been fixed.
|
rather than 1 has been fixed.
|
||||||
05-12-07 +The aliases for integer and float have been changed to use attributes
|
05-12-07 +The aliases for integer and float have been changed to use attributes
|
||||||
|
@ -1913,7 +1913,7 @@
|
||||||
05-02-12 A bug in which the lib_init() function for .paths BUILTIN_LIB
|
05-02-12 A bug in which the lib_init() function for .paths BUILTIN_LIB
|
||||||
libraries was not called has been fixed.
|
libraries was not called has been fixed.
|
||||||
05-02-06 A bug on some systems in which moving the write end of a co-process
|
05-02-06 A bug on some systems in which moving the write end of a co-process
|
||||||
to a numbered file descriptor could cause it to close has been fixed.
|
to a numbered file descriptor could cause it to close has been fixed.
|
||||||
05-02-06 A bug in the vi-edit mode in which the character under the cursor
|
05-02-06 A bug in the vi-edit mode in which the character under the cursor
|
||||||
was not deleted in some cases with the d% directive has been fixed.
|
was not deleted in some cases with the d% directive has been fixed.
|
||||||
05-02-06 A bug where external builtin stdout/stderr redirection corrupted
|
05-02-06 A bug where external builtin stdout/stderr redirection corrupted
|
||||||
|
@ -1954,7 +1954,7 @@
|
||||||
'BUILTIN_LIB=libname'. When a command is searched for this directory,
|
'BUILTIN_LIB=libname'. When a command is searched for this directory,
|
||||||
the shared library named by libname will first be searched for a
|
the shared library named by libname will first be searched for a
|
||||||
built-in version of the command.
|
built-in version of the command.
|
||||||
04-09-03 <<< here documents now handle quotes in the word token correctly.
|
04-09-03 <<< here documents now handle quotes in the word token correctly.
|
||||||
04-08-08 +The maximum size for read -n and and read -N was increased from
|
04-08-08 +The maximum size for read -n and and read -N was increased from
|
||||||
4095 to 32M.
|
4095 to 32M.
|
||||||
04-08-04 +printf %q was modified so that if an no operand was supplied, no
|
04-08-04 +printf %q was modified so that if an no operand was supplied, no
|
||||||
|
@ -1996,7 +1996,7 @@
|
||||||
04-03-29 +The preset alias source='command .' has been added.
|
04-03-29 +The preset alias source='command .' has been added.
|
||||||
04-03-29 A bug introduced in ksh93p on some systems in which invoked by
|
04-03-29 A bug introduced in ksh93p on some systems in which invoked by
|
||||||
name with #! on the first line would not get the signals handling
|
name with #! on the first line would not get the signals handling
|
||||||
initialized correctly has been fixed.
|
initialized correctly has been fixed.
|
||||||
04-03-29 A bug introduced in ksh93p in which a HUP signal received by
|
04-03-29 A bug introduced in ksh93p in which a HUP signal received by
|
||||||
a shell that is a session group leader was not passed down to
|
a shell that is a session group leader was not passed down to
|
||||||
its children has been fixed.
|
its children has been fixed.
|
||||||
|
@ -2013,10 +2013,10 @@
|
||||||
04-01-20 A bug in which an unset discipline function could cause a core
|
04-01-20 A bug in which an unset discipline function could cause a core
|
||||||
dump on some systems has been fixed.
|
dump on some systems has been fixed.
|
||||||
04-01-12 A bug in which a continue or break called outside a loop from
|
04-01-12 A bug in which a continue or break called outside a loop from
|
||||||
inside a function defined with name() syntax could affect
|
inside a function defined with name() syntax could affect
|
||||||
the invoking function has been fixed.
|
the invoking function has been fixed.
|
||||||
04-01-08 If a command name begins with ~, only filename completion will be
|
04-01-08 If a command name begins with ~, only filename completion will be
|
||||||
attempted rather than pathname completion using the builtin editors.
|
attempted rather than pathname completion using the builtin editors.
|
||||||
04-01-08 A bug in the vi edit mode in which the wrong repeat count on
|
04-01-08 A bug in the vi edit mode in which the wrong repeat count on
|
||||||
multiple word replacements with the . directive has been fixed.
|
multiple word replacements with the . directive has been fixed.
|
||||||
04-01-06 Backspace characters are now handled correctly in prompt strings.
|
04-01-06 Backspace characters are now handled correctly in prompt strings.
|
||||||
|
@ -2027,7 +2027,7 @@
|
||||||
03-12-15 A bug in which a quoted string ending with an unescaped $ would
|
03-12-15 A bug in which a quoted string ending with an unescaped $ would
|
||||||
delete the ending $ in certain cases has been fixed.
|
delete the ending $ in certain cases has been fixed.
|
||||||
03-12-05 A bug in which the shell could hang when set -x tracing a command
|
03-12-05 A bug in which the shell could hang when set -x tracing a command
|
||||||
when an invalid multibyte character is encountered has been fixed.
|
when an invalid multibyte character is encountered has been fixed.
|
||||||
03-12-05 On some systems, if the KEYBD trap is set, then commands that use
|
03-12-05 On some systems, if the KEYBD trap is set, then commands that use
|
||||||
the meta key were not processed until return was hit. This
|
the meta key were not processed until return was hit. This
|
||||||
has been fixed.
|
has been fixed.
|
||||||
|
@ -2039,7 +2039,7 @@
|
||||||
03-12-05 +If ENV is not specified, the shell will default to $HOME/.kshrc
|
03-12-05 +If ENV is not specified, the shell will default to $HOME/.kshrc
|
||||||
for interactive shells.
|
for interactive shells.
|
||||||
03-11-21 A bug introduced in ksh93o in which the DEBUG trap could get
|
03-11-21 A bug introduced in ksh93o in which the DEBUG trap could get
|
||||||
disabled after it triggered has been fixed.
|
disabled after it triggered has been fixed.
|
||||||
03-11-04 A bug in which using arithmetic prefix operators ++ or -- on a
|
03-11-04 A bug in which using arithmetic prefix operators ++ or -- on a
|
||||||
non-lvalue could cause a core dump has been fixed.
|
non-lvalue could cause a core dump has been fixed.
|
||||||
03-11-04 A bug in which leading zeros were stripped from variable
|
03-11-04 A bug in which leading zeros were stripped from variable
|
||||||
|
@ -2065,7 +2065,7 @@
|
||||||
03-08-07 A bug in which the KEYBD trap was not being invoked when
|
03-08-07 A bug in which the KEYBD trap was not being invoked when
|
||||||
characters with the 8th bit set has been fixed.
|
characters with the 8th bit set has been fixed.
|
||||||
03-08-02 A parser bug introduced in ksh93o which caused the character
|
03-08-02 A parser bug introduced in ksh93o which caused the character
|
||||||
after () in a Posix function definition to be skipped
|
after () in a Posix function definition to be skipped
|
||||||
when reading from standard input has been fixed.
|
when reading from standard input has been fixed.
|
||||||
03-08-01 A bug in which "${foo#pattern}(x)" treated (x) as if it were
|
03-08-01 A bug in which "${foo#pattern}(x)" treated (x) as if it were
|
||||||
part of the pattern has been fixed.
|
part of the pattern has been fixed.
|
||||||
|
@ -2111,7 +2111,7 @@
|
||||||
matches all files and any number of directory levels.
|
matches all files and any number of directory levels.
|
||||||
03-05-30 A bug in which the PATH search could give incorrect results when
|
03-05-30 A bug in which the PATH search could give incorrect results when
|
||||||
run from directory foo and PATH contained .:foo:xxx has been fixed.
|
run from directory foo and PATH contained .:foo:xxx has been fixed.
|
||||||
03-05-29 +Some changes were made to the code that displays the prompt in edit
|
03-05-29 +Some changes were made to the code that displays the prompt in edit
|
||||||
mode to better handle escape sequences in the prompt.
|
mode to better handle escape sequences in the prompt.
|
||||||
03-05-27 I added = to the list of characters that mark the beginning of
|
03-05-27 I added = to the list of characters that mark the beginning of
|
||||||
a word for edit completion so that filenames in assignments
|
a word for edit completion so that filenames in assignments
|
||||||
|
@ -2121,7 +2121,7 @@
|
||||||
03-05-19 A bug in which the output of uname from a command substitution
|
03-05-19 A bug in which the output of uname from a command substitution
|
||||||
would go to the standard output of the invoking command when
|
would go to the standard output of the invoking command when
|
||||||
uname was invoked with a non-standard option has been fixed.
|
uname was invoked with a non-standard option has been fixed.
|
||||||
03-05-19 A job control bug which would cause the shell to exit because
|
03-05-19 A job control bug which would cause the shell to exit because
|
||||||
it hadn't take back the terminal has been fixed. The bug
|
it hadn't take back the terminal has been fixed. The bug
|
||||||
could occur when running a function that contained a pipeline
|
could occur when running a function that contained a pipeline
|
||||||
whose last element was a function.
|
whose last element was a function.
|
||||||
|
@ -2129,7 +2129,7 @@
|
||||||
which could cause a pipeline to hang if the first component
|
which could cause a pipeline to hang if the first component
|
||||||
completed quickly has been fixed.
|
completed quickly has been fixed.
|
||||||
03-05-13 +The read builtin has been modified so that the builtin editors
|
03-05-13 +The read builtin has been modified so that the builtin editors
|
||||||
will not overwrite output from a previous incomplete line.
|
will not overwrite output from a previous incomplete line.
|
||||||
03-05-13 A bug in which the name of an identifier could have the string
|
03-05-13 A bug in which the name of an identifier could have the string
|
||||||
.sh. prefixed to it after expanding a variable whose name begins
|
.sh. prefixed to it after expanding a variable whose name begins
|
||||||
with .sh. has been fixed.
|
with .sh. has been fixed.
|
||||||
|
@ -2192,7 +2192,7 @@
|
||||||
03-01-09 A bug in which using ${.sh.match} multiple times could lead to
|
03-01-09 A bug in which using ${.sh.match} multiple times could lead to
|
||||||
a memory exception has been fixed.
|
a memory exception has been fixed.
|
||||||
03-01-06 A bug in the expansion of ${var/pattern/$string} in the case that
|
03-01-06 A bug in the expansion of ${var/pattern/$string} in the case that
|
||||||
$string contains \digit has been fixed.
|
$string contains \digit has been fixed.
|
||||||
03-01-02 +A -P option was added for systems such as Solaris 8 that support
|
03-01-02 +A -P option was added for systems such as Solaris 8 that support
|
||||||
profile shell.
|
profile shell.
|
||||||
03-01-02 For backward compatibility with ksh88, arithmetic expansion
|
03-01-02 For backward compatibility with ksh88, arithmetic expansion
|
||||||
|
@ -2215,7 +2215,7 @@
|
||||||
a signal is received so that cleanup can be performed.
|
a signal is received so that cleanup can be performed.
|
||||||
02-10-31 +User applications can now trap the ALRM signal. Previously,
|
02-10-31 +User applications can now trap the ALRM signal. Previously,
|
||||||
the ALRM signal was used internally and could not be used
|
the ALRM signal was used internally and could not be used
|
||||||
by applications.
|
by applications.
|
||||||
02-10-31 A bug in which signals received while reading from a coprocess
|
02-10-31 A bug in which signals received while reading from a coprocess
|
||||||
for which traps were set was not handled correctly has been fixed.
|
for which traps were set was not handled correctly has been fixed.
|
||||||
02-10-31 A bug in which a file opened with exec inside a subshell could
|
02-10-31 A bug in which a file opened with exec inside a subshell could
|
||||||
|
@ -2224,7 +2224,7 @@
|
||||||
take effect has been fixed.
|
take effect has been fixed.
|
||||||
02-10-21 A bug which could cause a core dump when a local SECONDS variable
|
02-10-21 A bug which could cause a core dump when a local SECONDS variable
|
||||||
is defined in a function has been fixed.
|
is defined in a function has been fixed.
|
||||||
02-10-15 A bug in which the associate array name operator ${!array[@]}
|
02-10-15 A bug in which the associative array name operator ${!array[@]}
|
||||||
could return the same name multiple times has been fixed.
|
could return the same name multiple times has been fixed.
|
||||||
02-10-15 A bug in which the zero'th element of an associative array was
|
02-10-15 A bug in which the zero'th element of an associative array was
|
||||||
not getting set when an assignment was made without a subscript
|
not getting set when an assignment was made without a subscript
|
||||||
|
@ -2241,7 +2241,7 @@
|
||||||
02-09-27 A bug in which the error message for ${var?message} when var was
|
02-09-27 A bug in which the error message for ${var?message} when var was
|
||||||
null or unset did not contain the variable name var has been fixed.
|
null or unset did not contain the variable name var has been fixed.
|
||||||
02-09-27 A bug in which closing file descriptors 0 through 2 could
|
02-09-27 A bug in which closing file descriptors 0 through 2 could
|
||||||
cause a subsequent here document to fail has been fixed.
|
cause a subsequent here document to fail has been fixed.
|
||||||
02-09-14 A bug in whence which occurs when the specified name contained
|
02-09-14 A bug in whence which occurs when the specified name contained
|
||||||
a / has been fixed.
|
a / has been fixed.
|
||||||
02-09-14 A bug in the parser for strings of the form name$((expr))=value
|
02-09-14 A bug in the parser for strings of the form name$((expr))=value
|
||||||
|
@ -2250,9 +2250,9 @@
|
||||||
an array was treated as an invariant has been fixed.
|
an array was treated as an invariant has been fixed.
|
||||||
02-09-09 A bug in which redirection or closing of a file descriptor between
|
02-09-09 A bug in which redirection or closing of a file descriptor between
|
||||||
3 and 9 could cause a subsequent here document to fail has been
|
3 and 9 could cause a subsequent here document to fail has been
|
||||||
fixed.
|
fixed.
|
||||||
02-09-09 A bug in which a background job was not removed from the job list
|
02-09-09 A bug in which a background job was not removed from the job list
|
||||||
when a subshell completed has been fixed, for example (prog&).
|
when a subshell completed has been fixed, for example (prog&).
|
||||||
02-09-03 A bug in which an assignment of the form name=(integer x=3)
|
02-09-03 A bug in which an assignment of the form name=(integer x=3)
|
||||||
could be interpreted as an array assignment rather than a
|
could be interpreted as an array assignment rather than a
|
||||||
compound variable assignment has been fixed.
|
compound variable assignment has been fixed.
|
||||||
|
@ -2283,8 +2283,8 @@
|
||||||
02-06-17 A bug in which background job completion could cause the sleep
|
02-06-17 A bug in which background job completion could cause the sleep
|
||||||
builtin to terminate prematurely has been fixed.
|
builtin to terminate prematurely has been fixed.
|
||||||
02-06-17 A bug in which the shell could core dump if getopts was called
|
02-06-17 A bug in which the shell could core dump if getopts was called
|
||||||
when the OPTIND variable contained a negative value has been fixed.
|
when the OPTIND variable contained a negative value has been fixed.
|
||||||
02-06-10 +The edit mode prompt has been modified to handle escape sequences.
|
02-06-10 +The edit mode prompt has been modified to handle escape sequences.
|
||||||
02-06-10 A bug which occurred for interactive shells in which the builtin
|
02-06-10 A bug which occurred for interactive shells in which the builtin
|
||||||
cat command was used in command substitution on a file whose
|
cat command was used in command substitution on a file whose
|
||||||
size was larger than PIPE_BUF has been fixed.
|
size was larger than PIPE_BUF has been fixed.
|
||||||
|
@ -2319,7 +2319,7 @@
|
||||||
by name from within a function has been fixed.
|
by name from within a function has been fixed.
|
||||||
02-01-08 A bug in which a shell script executed from within a subshell
|
02-01-08 A bug in which a shell script executed from within a subshell
|
||||||
could cause this script to have an invalid pointer leading
|
could cause this script to have an invalid pointer leading
|
||||||
to a memory fault has been fixed.
|
to a memory fault has been fixed.
|
||||||
02-01-07 +Added here documents of the form <<< word (as per zsh) which
|
02-01-07 +Added here documents of the form <<< word (as per zsh) which
|
||||||
is equivalent to << delim\nword\ndelim.
|
is equivalent to << delim\nword\ndelim.
|
||||||
02-01-07 A bug in which the first word of a compound assignment,
|
02-01-07 A bug in which the first word of a compound assignment,
|
||||||
|
@ -2331,7 +2331,7 @@
|
||||||
been added. When this options is set, all commands implemented
|
been added. When this options is set, all commands implemented
|
||||||
in libcmd become shell builtin commands by default.
|
in libcmd become shell builtin commands by default.
|
||||||
02-01-07 A bug in which builtin foo, where foo is already a builtin
|
02-01-07 A bug in which builtin foo, where foo is already a builtin
|
||||||
would result in the builtin foo getting removed has been fixed.
|
would result in the builtin foo getting removed has been fixed.
|
||||||
02-01-07 A bug which the shell executed a command found in the current
|
02-01-07 A bug which the shell executed a command found in the current
|
||||||
directory when PATH have no valid directories has been fixed.
|
directory when PATH have no valid directories has been fixed.
|
||||||
01-11-28 The value of $? was not being set when called with exit.
|
01-11-28 The value of $? was not being set when called with exit.
|
||||||
|
@ -2364,7 +2364,7 @@
|
||||||
01-09-27 Two bugs relating to multibyte history searches and to find
|
01-09-27 Two bugs relating to multibyte history searches and to find
|
||||||
have been fixed.
|
have been fixed.
|
||||||
01-09-27 A bug introduced in ksh93k in which the PATH searching was
|
01-09-27 A bug introduced in ksh93k in which the PATH searching was
|
||||||
not restored after running a command with an assignment list
|
not restored after running a command with an assignment list
|
||||||
has been fixed.
|
has been fixed.
|
||||||
01-09-26 A bug in which a zero filled field was treated as octal when
|
01-09-26 A bug in which a zero filled field was treated as octal when
|
||||||
converted to integer has been fixed.
|
converted to integer has been fixed.
|
||||||
|
@ -2379,7 +2379,7 @@
|
||||||
offsets which cause offsets to be measured from the end.
|
offsets which cause offsets to be measured from the end.
|
||||||
01-09-25 Some spelling errors in the documentation were corrected.
|
01-09-25 Some spelling errors in the documentation were corrected.
|
||||||
01-09-24 +The /dev/tcp/host/port and /dev/udp/host/port now allow
|
01-09-24 +The /dev/tcp/host/port and /dev/udp/host/port now allow
|
||||||
the ports to be specified by service name.
|
the ports to be specified by service name.
|
||||||
01-09-24 +The change staring with ksh93g in which the the appropriate
|
01-09-24 +The change staring with ksh93g in which the the appropriate
|
||||||
library path variable is prepended with a corresponding library
|
library path variable is prepended with a corresponding library
|
||||||
directory has been modified. With the new method, only the
|
directory has been modified. With the new method, only the
|
||||||
|
@ -2430,7 +2430,7 @@
|
||||||
name references to be treated as invariants has been fixed.
|
name references to be treated as invariants has been fixed.
|
||||||
01-07-09 A bug in which a discipline function applied to a local variable
|
01-07-09 A bug in which a discipline function applied to a local variable
|
||||||
could cause a shell exception has been fixed. Discipline
|
could cause a shell exception has been fixed. Discipline
|
||||||
functions can only be specified for global variables.
|
functions can only be specified for global variables.
|
||||||
|
|
||||||
01-06-18 --- Release ksh93l ---
|
01-06-18 --- Release ksh93l ---
|
||||||
01-06-18 A bug in assigning integers larger than can be represented as
|
01-06-18 A bug in assigning integers larger than can be represented as
|
||||||
|
@ -2453,14 +2453,14 @@
|
||||||
01-05-20 +The shell allows *-(pattern), +-(pattern), ?-(pattern),
|
01-05-20 +The shell allows *-(pattern), +-(pattern), ?-(pattern),
|
||||||
{m,n}-(pattern}, and @-(pattern) to cause the minimal
|
{m,n}-(pattern}, and @-(pattern) to cause the minimal
|
||||||
match of pattern to be selected whenever possible rather
|
match of pattern to be selected whenever possible rather
|
||||||
than the maximal (greedy) match.
|
than the maximal (greedy) match.
|
||||||
01-05-20 +The character class [:word:] has been added to patterns.
|
01-05-20 +The character class [:word:] has been added to patterns.
|
||||||
The word class is the union of [:alnum:] and the character _.
|
The word class is the union of [:alnum:] and the character _.
|
||||||
01-05-20 +Inside (...) pattern groups, the \ character is now treated
|
01-05-20 +Inside (...) pattern groups, the \ character is now treated
|
||||||
specially even when in an enclosing character class. The
|
specially even when in an enclosing character class. The
|
||||||
sequences, \w, \d, \s are equivalent to the character classes
|
sequences, \w, \d, \s are equivalent to the character classes
|
||||||
word, digit, and space respectively. The sequences \W, \D,
|
word, digit, and space respectively. The sequences \W, \D,
|
||||||
and \S are their complement sets.
|
and \S are their complement sets.
|
||||||
01-05-20 +The shell now recognizes pattern groups of the form
|
01-05-20 +The shell now recognizes pattern groups of the form
|
||||||
~(options:pattern) where options or :pattern can be omitted.
|
~(options:pattern) where options or :pattern can be omitted.
|
||||||
Options use the letters + and - to enable and disable options
|
Options use the letters + and - to enable and disable options
|
||||||
|
@ -2477,16 +2477,16 @@
|
||||||
performing the completion, expansion, or listing.
|
performing the completion, expansion, or listing.
|
||||||
01-05-14 A small memory leak from subshells has been fixed.
|
01-05-14 A small memory leak from subshells has been fixed.
|
||||||
01-05-10 A bug in which open files were not restored after a subshell
|
01-05-10 A bug in which open files were not restored after a subshell
|
||||||
that had used exec to replace a file has been fixed.
|
that had used exec to replace a file has been fixed.
|
||||||
01-05-10 +Redirection to a null file name now generates an error message.
|
01-05-10 +Redirection to a null file name now generates an error message.
|
||||||
01-05-09 The shell now rejects some invalid parameter substitutions that
|
01-05-09 The shell now rejects some invalid parameter substitutions that
|
||||||
were previously processed in undefined ways.
|
were previously processed in undefined ways.
|
||||||
01-05-09 A bug in which the output of select was not flushed before the
|
01-05-09 A bug in which the output of select was not flushed before the
|
||||||
read when input did not come from the terminal has been fixed.
|
read when input did not come from the terminal has been fixed.
|
||||||
01-05-08 A bug in which job ids would not be freed for interactive shells
|
01-05-08 A bug in which job ids would not be freed for interactive shells
|
||||||
when subshells ran built-ins in the background has been fixed.
|
when subshells ran built-ins in the background has been fixed.
|
||||||
01-05-08 +The FPATH variable now requires an explicit . to cause the
|
01-05-08 +The FPATH variable now requires an explicit . to cause the
|
||||||
current directory to be treated as a function directory.
|
current directory to be treated as a function directory.
|
||||||
01-05-08 A bug in read -n when echo mode was disabled has been fixed.
|
01-05-08 A bug in read -n when echo mode was disabled has been fixed.
|
||||||
01-05-07 A bug in which function definitions could be listed as part
|
01-05-07 A bug in which function definitions could be listed as part
|
||||||
of the history has been fixed.
|
of the history has been fixed.
|
||||||
|
@ -2496,7 +2496,7 @@
|
||||||
for while and until loops.
|
for while and until loops.
|
||||||
01-04-30 +The variable .sh.match is set after each pattern match (# % or /)
|
01-04-30 +The variable .sh.match is set after each pattern match (# % or /)
|
||||||
in a variable substitution. The variable .sh.match is an
|
in a variable substitution. The variable .sh.match is an
|
||||||
indexed array with element 0 being the complete match.
|
indexed array with element 0 being the complete match.
|
||||||
The array is only valid until the next subsequent pattern
|
The array is only valid until the next subsequent pattern
|
||||||
match or until the value of the variable changes which ever
|
match or until the value of the variable changes which ever
|
||||||
comes first.
|
comes first.
|
||||||
|
@ -2537,7 +2537,7 @@
|
||||||
01-04-02 On some systems the wcwith() function was returning a wrong
|
01-04-02 On some systems the wcwith() function was returning a wrong
|
||||||
value for characters and caused characters to be displayed
|
value for characters and caused characters to be displayed
|
||||||
incorrectly from the shell edit modes. A work around for
|
incorrectly from the shell edit modes. A work around for
|
||||||
this problem has been added.
|
this problem has been added.
|
||||||
01-03-26 A bug in which valid scripts could produce syntax errors
|
01-03-26 A bug in which valid scripts could produce syntax errors
|
||||||
when run with locales that considered characters such as "'"
|
when run with locales that considered characters such as "'"
|
||||||
to be space characters has been fixed.
|
to be space characters has been fixed.
|
||||||
|
@ -2580,14 +2580,14 @@
|
||||||
it results in null string rather than nothing.
|
it results in null string rather than nothing.
|
||||||
01-02-02 memory leak problem with local variables in functions fixed.
|
01-02-02 memory leak problem with local variables in functions fixed.
|
||||||
01-01-25 +allow arithmetic expressions with float%int and treat them
|
01-01-25 +allow arithmetic expressions with float%int and treat them
|
||||||
as ((int)float)%int rather than as an error.
|
as ((int)float)%int rather than as an error.
|
||||||
01-01-19 read -n1 was not working and has been fixed.
|
01-01-19 read -n1 was not working and has been fixed.
|
||||||
01-01-17 +ksh now handles the case in which a here document in command
|
01-01-17 +ksh now handles the case in which a here document in command
|
||||||
substitution $() is terminated by the trailing ). Previously,
|
substitution $() is terminated by the trailing ). Previously,
|
||||||
a new-line was needed at the end of the delimiter word.
|
a new-line was needed at the end of the delimiter word.
|
||||||
01-01-02 A bug in which a KEYBD trap would cause a multi-line token
|
01-01-02 A bug in which a KEYBD trap would cause a multi-line token
|
||||||
to be processed incorrectly has been fixed.
|
to be processed incorrectly has been fixed.
|
||||||
00-12-10 +Arithmetic integer constants can now have L and U suffices.
|
00-12-10 +Arithmetic integer constants can now have L and U suffices.
|
||||||
00-12-10 A bug in the processing of arithmetic expressions with compound
|
00-12-10 A bug in the processing of arithmetic expressions with compound
|
||||||
variables when the -n option is on has been fixed.
|
variables when the -n option is on has been fixed.
|
||||||
00-12-08 A bug in M-f and M-b from emacs mode has been fixed. This
|
00-12-08 A bug in M-f and M-b from emacs mode has been fixed. This
|
||||||
|
@ -2641,10 +2641,10 @@
|
||||||
R replace directive in vi-mode has been fixed.
|
R replace directive in vi-mode has been fixed.
|
||||||
00-06-12 +Added variable name completion/expansion/listing to the set of
|
00-06-12 +Added variable name completion/expansion/listing to the set of
|
||||||
completions. Variable name completions begin with $ or "$ followed
|
completions. Variable name completions begin with $ or "$ followed
|
||||||
by a letter.
|
by a letter.
|
||||||
00-05-09 --- Release ksh93j ---
|
00-05-09 --- Release ksh93j ---
|
||||||
00-05-09 Modified command substitution to avoid using /tmp files when
|
00-05-09 Modified command substitution to avoid using /tmp files when
|
||||||
run on read-only file systems.
|
run on read-only file systems.
|
||||||
00-04-17 +Modified printf to handle '%..Xc' and '%..Xs' options where X
|
00-04-17 +Modified printf to handle '%..Xc' and '%..Xs' options where X
|
||||||
is not an alpha character. Previous versions core dumped with this.
|
is not an alpha character. Previous versions core dumped with this.
|
||||||
00-04-10 +Changes to multibyte editing code were made to use standard
|
00-04-10 +Changes to multibyte editing code were made to use standard
|
||||||
|
@ -2662,11 +2662,11 @@
|
||||||
00-03-28 A bug in which the set and trap commands invoked with --name
|
00-03-28 A bug in which the set and trap commands invoked with --name
|
||||||
type arguments would terminate the invoking script has
|
type arguments would terminate the invoking script has
|
||||||
been fixed.
|
been fixed.
|
||||||
00-03-27 A bug in which the library path variable was not updated
|
00-03-27 A bug in which the library path variable was not updated
|
||||||
correctly on some systems as described in the 'g' point
|
correctly on some systems as described in the 'g' point
|
||||||
release has been fixed.
|
release has been fixed.
|
||||||
00-03-07 printf now returns a non-zero exit status when one of
|
00-03-07 printf now returns a non-zero exit status when one of
|
||||||
its arguments cannot be converted to the given type.
|
its arguments cannot be converted to the given type.
|
||||||
00-03-05 The return value and error message for a command that
|
00-03-05 The return value and error message for a command that
|
||||||
was found on the path but was not executable was set
|
was found on the path but was not executable was set
|
||||||
incorrectly.
|
incorrectly.
|
||||||
|
@ -2706,7 +2706,7 @@
|
||||||
99-03-31 A bug in shcomp for compilation of unary operators with [[...]]
|
99-03-31 A bug in shcomp for compilation of unary operators with [[...]]
|
||||||
has been fixed.
|
has been fixed.
|
||||||
99-03-31 A bug in which the value of $? was changed when executing
|
99-03-31 A bug in which the value of $? was changed when executing
|
||||||
a keyboard trap has been fixed.
|
a keyboard trap has been fixed.
|
||||||
99-03-31 The handling of SIGCHLD has been changed so that the
|
99-03-31 The handling of SIGCHLD has been changed so that the
|
||||||
trap is not triggered while executing trap commands
|
trap is not triggered while executing trap commands
|
||||||
to avoid recursive trap calls.
|
to avoid recursive trap calls.
|
||||||
|
@ -2752,7 +2752,7 @@
|
||||||
evaluation has been fixed.
|
evaluation has been fixed.
|
||||||
98-04-30 A bug when a name reference with a shorter name than
|
98-04-30 A bug when a name reference with a shorter name than
|
||||||
the variable it references was the subject of a compound
|
the variable it references was the subject of a compound
|
||||||
assignment has been fixed.
|
assignment has been fixed.
|
||||||
98-04-30 A bug which in which assignment to array variables in
|
98-04-30 A bug which in which assignment to array variables in
|
||||||
a subshell could effect the parent shell has been
|
a subshell could effect the parent shell has been
|
||||||
fixed.
|
fixed.
|
||||||
|
@ -2767,7 +2767,7 @@
|
||||||
fixed.
|
fixed.
|
||||||
98-04-30 The default base when not specified with typeset -i is
|
98-04-30 The default base when not specified with typeset -i is
|
||||||
10 in accordance with the documentation. Previously,
|
10 in accordance with the documentation. Previously,
|
||||||
the value was determined by the first assignment.
|
the value was determined by the first assignment.
|
||||||
98-04-30 A parsing bug in which a # preceded alphanumeric
|
98-04-30 A parsing bug in which a # preceded alphanumeric
|
||||||
characters inside a command substitution caused
|
characters inside a command substitution caused
|
||||||
a syntax error to be reported has been fixed.
|
a syntax error to be reported has been fixed.
|
||||||
|
@ -2849,7 +2849,7 @@
|
||||||
has been revamped.
|
has been revamped.
|
||||||
96-07-31 Empty command substitutions of the form $() now work.
|
96-07-31 Empty command substitutions of the form $() now work.
|
||||||
whence -v foo now gives the correct result after calling
|
whence -v foo now gives the correct result after calling
|
||||||
builtin -d foo.
|
builtin -d foo.
|
||||||
96-07-31 A bug in right to left arithmetic assignment for which
|
96-07-31 A bug in right to left arithmetic assignment for which
|
||||||
the arithmetic expression (( y = x = 1.5 )) did not
|
the arithmetic expression (( y = x = 1.5 )) did not
|
||||||
yield 1 for y when x was declared typeset -i was fixed.
|
yield 1 for y when x was declared typeset -i was fixed.
|
||||||
|
@ -2960,7 +2960,7 @@
|
||||||
95-04-31 Variables that were unset but had attributes such as readonly
|
95-04-31 Variables that were unset but had attributes such as readonly
|
||||||
and export were not listed with readonly, export and typeset.
|
and export were not listed with readonly, export and typeset.
|
||||||
95-04-31 Several problems with signals have been fixed.
|
95-04-31 Several problems with signals have been fixed.
|
||||||
95-04-31 A bug which prevented ulimit -t from working has been fixed.
|
95-04-31 A bug which prevented ulimit -t from working has been fixed.
|
||||||
Also, a bug in which failed ulimits could cause a core dump
|
Also, a bug in which failed ulimits could cause a core dump
|
||||||
has also been fixed.
|
has also been fixed.
|
||||||
95-04-31 A bug in expansion of the form ${name/#pattern/string} and
|
95-04-31 A bug in expansion of the form ${name/#pattern/string} and
|
||||||
|
@ -3072,7 +3072,7 @@
|
||||||
94-06-30 If foo is a function, and not a program, then command foo
|
94-06-30 If foo is a function, and not a program, then command foo
|
||||||
now reports that foo isn't found rather than invoking foo.
|
now reports that foo isn't found rather than invoking foo.
|
||||||
94-06-30 The previous version incorrectly listed -A as an
|
94-06-30 The previous version incorrectly listed -A as an
|
||||||
invocation option. The -A option is only for set.
|
invocation option. The -A option is only for set.
|
||||||
94-06-30 A bug was fixed which caused ksh to loop when execution trace
|
94-06-30 A bug was fixed which caused ksh to loop when execution trace
|
||||||
was enabled and the PS4 prompt required command substitution.
|
was enabled and the PS4 prompt required command substitution.
|
||||||
94-06-30 A bug which could cause the job control switch character
|
94-06-30 A bug which could cause the job control switch character
|
||||||
|
|
|
@ -3,7 +3,7 @@ of ksh.
|
||||||
|
|
||||||
1. New features in 12/28/93
|
1. New features in 12/28/93
|
||||||
a. Associative arrays. The new version of ksh supports both
|
a. Associative arrays. The new version of ksh supports both
|
||||||
associate arrays and the older indexed arrays with the same
|
associative arrays and the older indexed arrays with the same
|
||||||
array syntax. A new -A option of typeset is used to declare
|
array syntax. A new -A option of typeset is used to declare
|
||||||
an array to be associative. As with indexed arrays, $name is
|
an array to be associative. As with indexed arrays, $name is
|
||||||
equivalent to ${name[0]}. The prefix operator ! was added
|
equivalent to ${name[0]}. The prefix operator ! was added
|
||||||
|
@ -72,10 +72,10 @@ of ksh.
|
||||||
assignment_list can be one of the following:
|
assignment_list can be one of the following:
|
||||||
1. A list of words. In this case each word is expanded as
|
1. A list of words. In this case each word is expanded as
|
||||||
in a for list and the resulting items become elements
|
in a for list and the resulting items become elements
|
||||||
of the indexed array varname.
|
of the indexed array varname.
|
||||||
2. A list of subscript assignments in the form
|
2. A list of subscript assignments in the form
|
||||||
[subscript]=value. In this, these elements become
|
[subscript]=value. In this, these elements become
|
||||||
elements of the associative array varname.
|
elements of the associative array varname.
|
||||||
3. A list of assignments; simple or compound. In this
|
3. A list of assignments; simple or compound. In this
|
||||||
case, each assignment is made to varname.name, where
|
case, each assignment is made to varname.name, where
|
||||||
name is the name of the enclosed assignment.
|
name is the name of the enclosed assignment.
|
||||||
|
@ -103,7 +103,7 @@ of ksh.
|
||||||
|
|
||||||
h. On systems that support dynamic loading with dlopen(), it is
|
h. On systems that support dynamic loading with dlopen(), it is
|
||||||
now possible to add built-in commands at runtime with the
|
now possible to add built-in commands at runtime with the
|
||||||
a builtin command named builtin.
|
a builtin command named builtin.
|
||||||
|
|
||||||
i. The following builtins have been added:
|
i. The following builtins have been added:
|
||||||
1. command name [ ... ]
|
1. command name [ ... ]
|
||||||
|
@ -314,7 +314,7 @@ of ksh.
|
||||||
|
|
||||||
n. The trap command has been changed as follows:
|
n. The trap command has been changed as follows:
|
||||||
1. Trap names can be either upper case or lower case.
|
1. Trap names can be either upper case or lower case.
|
||||||
2. Trap -p cause only the specified trap values to be displayed.
|
2. Trap -p only causes the specified trap values to be displayed.
|
||||||
3. The value of trap in a subshell will be the value in the parent
|
3. The value of trap in a subshell will be the value in the parent
|
||||||
shell until a call to trap which changes the trap settings has
|
shell until a call to trap which changes the trap settings has
|
||||||
been made. Thus, savetraps=$(trap) works as required by the
|
been made. Thus, savetraps=$(trap) works as required by the
|
||||||
|
@ -339,7 +339,7 @@ of ksh.
|
||||||
uses for the given command name to be reported.
|
uses for the given command name to be reported.
|
||||||
|
|
||||||
u. unalias has -a option to clear all the aliases.
|
u. unalias has -a option to clear all the aliases.
|
||||||
|
|
||||||
v. The times built-in command has been removed. The time
|
v. The times built-in command has been removed. The time
|
||||||
reserved word, without a command, gives time cumulative
|
reserved word, without a command, gives time cumulative
|
||||||
time for the shell and its children. A built-in alias
|
time for the shell and its children. A built-in alias
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
This is a list of changes that have been made since the 12/28/93 version
|
This is a list of changes that have been made since the 12/28/93 version
|
||||||
of ksh.
|
of ksh.
|
||||||
|
|
||||||
1. New features in 12/28/93b
|
1. New features in 12/28/93b
|
||||||
a. If IFS contains two consecutive identical characters belonging
|
a. If IFS contains two consecutive identical characters belonging
|
||||||
|
@ -65,7 +65,7 @@ of ksh.
|
||||||
f. If foo is a function, and not a program, then command foo
|
f. If foo is a function, and not a program, then command foo
|
||||||
now reports that foo isn't found rather than invoking foo.
|
now reports that foo isn't found rather than invoking foo.
|
||||||
g. The previous version incorrectly listed -A as an
|
g. The previous version incorrectly listed -A as an
|
||||||
invocation option. The -A option is only for set.
|
invocation option. The -A option is only for set.
|
||||||
h. A bug was fixed which caused ksh to loop when execution trace
|
h. A bug was fixed which caused ksh to loop when execution trace
|
||||||
was enabled and the PS4 prompt required command substitution.
|
was enabled and the PS4 prompt required command substitution.
|
||||||
i. A bug which could cause the job control switch character
|
i. A bug which could cause the job control switch character
|
||||||
|
@ -179,7 +179,7 @@ of ksh.
|
||||||
n. Variables that were unset but had attributes such as readonly
|
n. Variables that were unset but had attributes such as readonly
|
||||||
and export were not listed with readonly, export and typeset.
|
and export were not listed with readonly, export and typeset.
|
||||||
o. Several problems with signals have been fixed.
|
o. Several problems with signals have been fixed.
|
||||||
p. A bug which prevented ulimit -t from working has been fixed.
|
p. A bug which prevented ulimit -t from working has been fixed.
|
||||||
Also, a bug in which failed ulimits could cause a core dump
|
Also, a bug in which failed ulimits could cause a core dump
|
||||||
has also been fixed.
|
has also been fixed.
|
||||||
q. A bug in expansion of the form ${name/#pattern/string} and
|
q. A bug in expansion of the form ${name/#pattern/string} and
|
||||||
|
@ -225,7 +225,7 @@ of ksh.
|
||||||
11. Bugs fixed in 12/28/93e for default OPTIONS
|
11. Bugs fixed in 12/28/93e for default OPTIONS
|
||||||
a. Empty command substitutions of the form $() now work.
|
a. Empty command substitutions of the form $() now work.
|
||||||
b. whence -v foo now gives the correct result after calling
|
b. whence -v foo now gives the correct result after calling
|
||||||
builtin -d foo.
|
builtin -d foo.
|
||||||
c. A bug in right to left arithmetic assignment for which
|
c. A bug in right to left arithmetic assignment for which
|
||||||
the arithmetic expression (( y = x = 1.5 )) did not
|
the arithmetic expression (( y = x = 1.5 )) did not
|
||||||
yield 1 for y when x was declared typeset -i was fixed.
|
yield 1 for y when x was declared typeset -i was fixed.
|
||||||
|
@ -247,7 +247,7 @@ of ksh.
|
||||||
j. A bug that caused side effects in subscript evaluation
|
j. A bug that caused side effects in subscript evaluation
|
||||||
when tracing was enabled for subscripts using ++ or --
|
when tracing was enabled for subscripts using ++ or --
|
||||||
has been fixed.
|
has been fixed.
|
||||||
k. To conform to the Posix standard getopts has been changed
|
k. To conform to the POSIX standard getopts has been changed
|
||||||
so that the option char is set to ? when it returns with
|
so that the option char is set to ? when it returns with
|
||||||
a non-zero exit status.
|
a non-zero exit status.
|
||||||
l. The handling of \} inside ${name...} has been fixed so
|
l. The handling of \} inside ${name...} has been fixed so
|
||||||
|
@ -333,7 +333,7 @@ of ksh.
|
||||||
evaluation has been fixed.
|
evaluation has been fixed.
|
||||||
d. A bug when a name reference with a shorter name than
|
d. A bug when a name reference with a shorter name than
|
||||||
the variable it references was the subject of a compound
|
the variable it references was the subject of a compound
|
||||||
assignment has been fixed.
|
assignment has been fixed.
|
||||||
e. A bug which in which assignment to array variables in
|
e. A bug which in which assignment to array variables in
|
||||||
a subshell could effect the parent shell has been
|
a subshell could effect the parent shell has been
|
||||||
fixed.
|
fixed.
|
||||||
|
@ -348,7 +348,7 @@ of ksh.
|
||||||
fixed.
|
fixed.
|
||||||
m. The default base when not specified with typeset -i is
|
m. The default base when not specified with typeset -i is
|
||||||
10 in accordance with the documentation. Previously,
|
10 in accordance with the documentation. Previously,
|
||||||
the value was determined by the first assignment.
|
the value was determined by the first assignment.
|
||||||
n. A parsing bug in which a # preceded alphanumeric
|
n. A parsing bug in which a # preceded alphanumeric
|
||||||
characters inside a command substitution caused
|
characters inside a command substitution caused
|
||||||
a syntax error to be reported has been fixed.
|
a syntax error to be reported has been fixed.
|
||||||
|
@ -362,7 +362,7 @@ of ksh.
|
||||||
a. I bug in shcomp for compilation of unary operators with [[...]]
|
a. I bug in shcomp for compilation of unary operators with [[...]]
|
||||||
has been fixed.
|
has been fixed.
|
||||||
b. A bug in which the value of $? was changed when executing
|
b. A bug in which the value of $? was changed when executing
|
||||||
a keyboard trap has been fixed.
|
a keyboard trap has been fixed.
|
||||||
c. The handling of SIGCHLD has been changed so that the
|
c. The handling of SIGCHLD has been changed so that the
|
||||||
trap is not triggered while executing trap commands
|
trap is not triggered while executing trap commands
|
||||||
to avoid recursive trap calls.
|
to avoid recursive trap calls.
|
||||||
|
@ -449,7 +449,7 @@ of ksh.
|
||||||
or built-in.
|
or built-in.
|
||||||
k. A callback function can be installed which will give
|
k. A callback function can be installed which will give
|
||||||
notification of file duplications and file closes.
|
notification of file duplications and file closes.
|
||||||
|
|
||||||
18. Incompatibilities with 12/28/93 version.
|
18. Incompatibilities with 12/28/93 version.
|
||||||
None intentional.
|
None intentional.
|
||||||
|
|
||||||
|
|
|
@ -92,7 +92,7 @@ can be used. Unlike (and ) which are always special, the { and } are
|
||||||
reserved words and require the space after { and a newline or ; before }.
|
reserved words and require the space after { and a newline or ; before }.
|
||||||
Unlike $(), the ${ ;} command substitution executes the command in
|
Unlike $(), the ${ ;} command substitution executes the command in
|
||||||
the current shell context saving the need to save and restore
|
the current shell context saving the need to save and restore
|
||||||
changes, therefore also allowing side effects.
|
changes, therefore also allowing side effects.
|
||||||
|
|
||||||
When trying to expand an element of a type, if the element does not exist,
|
When trying to expand an element of a type, if the element does not exist,
|
||||||
ksh will look for a discipline function with that name and treat this as if
|
ksh will look for a discipline function with that name and treat this as if
|
||||||
|
|
|
@ -464,7 +464,7 @@ be freed before returning from you built-in, because by default,
|
||||||
\f5ksh\fP will terminate you built-in in the event of an
|
\f5ksh\fP will terminate you built-in in the event of an
|
||||||
interrupt and the memory will not be freed.
|
interrupt and the memory will not be freed.
|
||||||
.P
|
.P
|
||||||
The best way to to allocate variable sized storage is
|
The best way to allocate variable sized storage is
|
||||||
through calls to the \fBstak\fP library
|
through calls to the \fBstak\fP library
|
||||||
which is included in \fBlibast\fP
|
which is included in \fBlibast\fP
|
||||||
and which is used extensively by \f5ksh\fP itself.
|
and which is used extensively by \f5ksh\fP itself.
|
||||||
|
|
|
@ -292,7 +292,7 @@ int ed_viread(void *context, int fd, register char *shbuf, int nchar, int reedit
|
||||||
{
|
{
|
||||||
register int c = shbuf[0];
|
register int c = shbuf[0];
|
||||||
|
|
||||||
/*** Save and remove the last character if its an eol, ***/
|
/*** Save and remove the last character if it's an eol, ***/
|
||||||
/* changing '\r' to '\n' */
|
/* changing '\r' to '\n' */
|
||||||
|
|
||||||
if( i == 0 )
|
if( i == 0 )
|
||||||
|
|
|
@ -93,7 +93,7 @@ command interpreter
|
||||||
.if \nZ=0 .IR sh ;
|
.if \nZ=0 .IR sh ;
|
||||||
.if \nZ=1 .IR ksh ;
|
.if \nZ=1 .IR ksh ;
|
||||||
.if \nZ=2 .IR ksh93 ;
|
.if \nZ=2 .IR ksh93 ;
|
||||||
it is used to to execute commands with the attributes specified by
|
it is used to execute commands with the attributes specified by
|
||||||
the user's profiles (see
|
the user's profiles (see
|
||||||
.IR pfexec (1)).
|
.IR pfexec (1)).
|
||||||
See
|
See
|
||||||
|
@ -106,7 +106,7 @@ A
|
||||||
is one of the following characters:
|
is one of the following characters:
|
||||||
.PP
|
.PP
|
||||||
.RS
|
.RS
|
||||||
\f3; & ( ) \(bv < > new-line space tab\fP
|
\f3; & ( ) | < > new-line space tab\fP
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
A
|
A
|
||||||
|
@ -197,7 +197,7 @@ A
|
||||||
is a sequence of one or more
|
is a sequence of one or more
|
||||||
.I commands\^
|
.I commands\^
|
||||||
separated by
|
separated by
|
||||||
.BR \(bv .
|
.BR | .
|
||||||
The standard output of each command but the last
|
The standard output of each command but the last
|
||||||
is connected by a
|
is connected by a
|
||||||
.IR pipe (2)
|
.IR pipe (2)
|
||||||
|
@ -224,29 +224,29 @@ pipelines
|
||||||
separated by
|
separated by
|
||||||
.BR ; ,
|
.BR ; ,
|
||||||
.BR & ,
|
.BR & ,
|
||||||
.BR \(bv& ,
|
.BR |& ,
|
||||||
.BR && ,
|
.BR && ,
|
||||||
or
|
or
|
||||||
.BR \(bv\|\(bv ,
|
.BR |\|| ,
|
||||||
and optionally terminated by
|
and optionally terminated by
|
||||||
.BR ; ,
|
.BR ; ,
|
||||||
.BR & ,
|
.BR & ,
|
||||||
or
|
or
|
||||||
.BR \(bv& .
|
.BR |& .
|
||||||
Of these five symbols,
|
Of these five symbols,
|
||||||
.BR ; ,
|
.BR ; ,
|
||||||
.BR & ,
|
.BR & ,
|
||||||
and
|
and
|
||||||
.B \(bv&
|
.B |&
|
||||||
have equal precedence,
|
have equal precedence,
|
||||||
which is lower than that of
|
which is lower than that of
|
||||||
.B &&
|
.B &&
|
||||||
and
|
and
|
||||||
.BR \(bv\|\(bv .
|
.BR |\|| .
|
||||||
The symbols
|
The symbols
|
||||||
.B &&
|
.B &&
|
||||||
and
|
and
|
||||||
.B \(bv\|\(bv
|
.B |\||
|
||||||
also have equal precedence.
|
also have equal precedence.
|
||||||
A semicolon
|
A semicolon
|
||||||
.RB ( ; )
|
.RB ( ; )
|
||||||
|
@ -256,7 +256,7 @@ causes asynchronous execution of the preceding pipeline (i.e., the shell does
|
||||||
.I not\^
|
.I not\^
|
||||||
wait for that pipeline to finish).
|
wait for that pipeline to finish).
|
||||||
The symbol
|
The symbol
|
||||||
.B \(bv&
|
.B |&
|
||||||
causes asynchronous execution of the preceding pipeline
|
causes asynchronous execution of the preceding pipeline
|
||||||
with a two-way pipe established to the parent shell;
|
with a two-way pipe established to the parent shell;
|
||||||
the standard input and output of the spawned pipeline
|
the standard input and output of the spawned pipeline
|
||||||
|
@ -278,7 +278,7 @@ and
|
||||||
described later.
|
described later.
|
||||||
The symbol
|
The symbol
|
||||||
.B &&
|
.B &&
|
||||||
.RB (\| \(bv\|\(bv \^)
|
.RB (\| |\|| \^)
|
||||||
causes the
|
causes the
|
||||||
.I list\^
|
.I list\^
|
||||||
following it to be executed only if the preceding
|
following it to be executed only if the preceding
|
||||||
|
@ -421,7 +421,7 @@ displaying the
|
||||||
.B PS3
|
.B PS3
|
||||||
prompt for the next selection.
|
prompt for the next selection.
|
||||||
.TP
|
.TP
|
||||||
\f3case\fP \f2word\^\fP \f3in\fP \*(OK \*(OK\f3(\fP\*(CK\f2pattern\^\fP \*(OK \(bv \f2pattern\^\fP \*(CK .\|.\|. \f3)\fP \f2list\^\fP \f3;;\fP \*(CK .\|.\|. \f3esac\fP
|
\f3case\fP \f2word\^\fP \f3in\fP \*(OK \*(OK\f3(\fP\*(CK\f2pattern\^\fP \*(OK | \f2pattern\^\fP \*(CK .\|.\|. \f3)\fP \f2list\^\fP \f3;;\fP \*(CK .\|.\|. \f3esac\fP
|
||||||
A
|
A
|
||||||
.B case
|
.B case
|
||||||
command executes the
|
command executes the
|
||||||
|
@ -945,7 +945,7 @@ is a
|
||||||
.IR variable ,
|
.IR variable ,
|
||||||
one or more digits,
|
one or more digits,
|
||||||
or any of the characters
|
or any of the characters
|
||||||
.BR \(** ,
|
.BR * ,
|
||||||
.BR @ ,
|
.BR @ ,
|
||||||
.BR # ,
|
.BR # ,
|
||||||
.BR ? ,
|
.BR ? ,
|
||||||
|
@ -1164,7 +1164,7 @@ enclosed in braces.
|
||||||
If
|
If
|
||||||
.I parameter\^
|
.I parameter\^
|
||||||
is
|
is
|
||||||
.B \(**
|
.B *
|
||||||
or
|
or
|
||||||
.BR @ ,
|
.BR @ ,
|
||||||
then all the positional
|
then all the positional
|
||||||
|
@ -1175,7 +1175,7 @@ are substituted
|
||||||
If an array
|
If an array
|
||||||
.I vname\^
|
.I vname\^
|
||||||
with last subscript
|
with last subscript
|
||||||
.B \(**
|
.B *
|
||||||
.BR @ ,
|
.BR @ ,
|
||||||
or for index arrays of the form
|
or for index arrays of the form
|
||||||
.I sub1\^
|
.I sub1\^
|
||||||
|
@ -1189,7 +1189,7 @@ elements between
|
||||||
and
|
and
|
||||||
.I sub2\^
|
.I sub2\^
|
||||||
inclusive (or all elements for
|
inclusive (or all elements for
|
||||||
.B \(**
|
.B *
|
||||||
and
|
and
|
||||||
.BR @ )
|
.BR @ )
|
||||||
is substituted,
|
is substituted,
|
||||||
|
@ -1203,7 +1203,7 @@ the value of
|
||||||
If
|
If
|
||||||
.I parameter\^
|
.I parameter\^
|
||||||
is
|
is
|
||||||
.B \(**
|
.B *
|
||||||
or
|
or
|
||||||
.BR @ ,
|
.BR @ ,
|
||||||
the number of positional parameters is substituted.
|
the number of positional parameters is substituted.
|
||||||
|
@ -1362,11 +1362,11 @@ to prevent the shell from interpreting the operator as
|
||||||
If
|
If
|
||||||
.I parameter\^
|
.I parameter\^
|
||||||
is
|
is
|
||||||
.B \(**
|
.B *
|
||||||
or
|
or
|
||||||
.BR @ ,
|
.BR @ ,
|
||||||
or is an array name indexed by
|
or is an array name indexed by
|
||||||
.B \(**
|
.B *
|
||||||
or
|
or
|
||||||
.BR @ ,
|
.BR @ ,
|
||||||
then
|
then
|
||||||
|
@ -1379,7 +1379,7 @@ A negative
|
||||||
.I offset\^
|
.I offset\^
|
||||||
is taken relative to one greater than the highest subscript
|
is taken relative to one greater than the highest subscript
|
||||||
for indexed arrays.
|
for indexed arrays.
|
||||||
The order for associate arrays is unspecified.
|
The order for associative arrays is unspecified.
|
||||||
.TP
|
.TP
|
||||||
.PD 0
|
.PD 0
|
||||||
\f3${\fP\f2parameter\^\fP\f3#\fP\f2pattern\^\fP\f3}\fP
|
\f3${\fP\f2parameter\^\fP\f3#\fP\f2pattern\^\fP\f3}\fP
|
||||||
|
@ -1911,7 +1911,7 @@ The first character of the
|
||||||
.B IFS
|
.B IFS
|
||||||
variable is used to separate arguments for the
|
variable is used to separate arguments for the
|
||||||
.B
|
.B
|
||||||
"$\(**"
|
"$*"
|
||||||
substitution (see
|
substitution (see
|
||||||
.I Quoting
|
.I Quoting
|
||||||
below).
|
below).
|
||||||
|
@ -2395,7 +2395,7 @@ and
|
||||||
.BR z04cx .
|
.BR z04cx .
|
||||||
.SS File Name Generation.
|
.SS File Name Generation.
|
||||||
Following splitting, each field is scanned for the characters
|
Following splitting, each field is scanned for the characters
|
||||||
.BR \(** ,
|
.BR * ,
|
||||||
.BR ? ,
|
.BR ? ,
|
||||||
.BR ( ,
|
.BR ( ,
|
||||||
and
|
and
|
||||||
|
@ -2451,14 +2451,13 @@ are not treated specially.
|
||||||
.PD 0
|
.PD 0
|
||||||
.RS
|
.RS
|
||||||
.TP
|
.TP
|
||||||
.B \(**
|
.B *
|
||||||
Matches any string, including the null string.
|
Matches any string, including the null string.
|
||||||
When used for filename expansion,
|
When used for filename expansion,
|
||||||
if the
|
if the
|
||||||
.B globstar
|
.B globstar
|
||||||
option is on, two adjacent
|
option is on, an isolated pattern of two adjacent
|
||||||
.BR \(** 's
|
.BR * 's
|
||||||
by itself
|
|
||||||
will match all files and zero or more directories
|
will match all files and zero or more directories
|
||||||
and subdirectories.
|
and subdirectories.
|
||||||
If followed by a
|
If followed by a
|
||||||
|
@ -2522,11 +2521,11 @@ is a list of one or more patterns separated from each other
|
||||||
with a
|
with a
|
||||||
.B &
|
.B &
|
||||||
or
|
or
|
||||||
.BR \(bv .
|
.BR | .
|
||||||
A
|
A
|
||||||
.B &
|
.B &
|
||||||
signifies that all patterns must be matched whereas
|
signifies that all patterns must be matched whereas
|
||||||
.BR \(bv
|
.BR |
|
||||||
requires that only one pattern be matched.
|
requires that only one pattern be matched.
|
||||||
Composite patterns can be formed with one or more of the following sub-patterns:
|
Composite patterns can be formed with one or more of the following sub-patterns:
|
||||||
.PD 0
|
.PD 0
|
||||||
|
@ -2603,7 +2602,7 @@ Each
|
||||||
is a two character sequence which cannot contain
|
is a two character sequence which cannot contain
|
||||||
.B &
|
.B &
|
||||||
or
|
or
|
||||||
.BR \(bv .
|
.BR | .
|
||||||
The first
|
The first
|
||||||
.I pattern-pair\^
|
.I pattern-pair\^
|
||||||
specifies the starting and ending characters for the match.
|
specifies the starting and ending characters for the match.
|
||||||
|
@ -2810,14 +2809,14 @@ in front of a double quoted string will be ignored
|
||||||
in the "C" or "POSIX" locale, and may cause
|
in the "C" or "POSIX" locale, and may cause
|
||||||
the string to be replaced by a locale specific string otherwise.
|
the string to be replaced by a locale specific string otherwise.
|
||||||
The meaning of
|
The meaning of
|
||||||
.B "$\(**"
|
.B "$*"
|
||||||
and
|
and
|
||||||
.B "$@"
|
.B "$@"
|
||||||
is identical when not quoted or when used as a variable assignment value
|
is identical when not quoted or when used as a variable assignment value
|
||||||
or as a file name.
|
or as a file name.
|
||||||
However, when used as a command argument,
|
However, when used as a command argument,
|
||||||
.B
|
.B
|
||||||
"$\(**"
|
"$*"
|
||||||
is equivalent to
|
is equivalent to
|
||||||
\f3"$1\fP\f2d\fP\f3\|$2\fP\f2d\fP\|.\|.\|.\f3"\fP,
|
\f3"$1\fP\f2d\fP\f3\|$2\fP\f2d\fP\|.\|.\|.\f3"\fP,
|
||||||
where
|
where
|
||||||
|
@ -2918,7 +2917,7 @@ can be used within an arithmetic expression:
|
||||||
.if n abs acos acosh asin asinh atan atan2 atanh cbrt ceil copysign cos cosh erf erfc exp exp2 expm1 fabs fpclassify fdim finite floor fma fmax fmin fmod hypot ilogb int isfinite sinf isnan isnormal issubnormal issubordered iszero j0 j1 jn lgamma log log10 log2 logb nearbyint nextafter nexttoward pow remainder rint round scanb signbit sin sinh sqrt tan tanh tgamma trunc y0 y1 yn
|
.if n abs acos acosh asin asinh atan atan2 atanh cbrt ceil copysign cos cosh erf erfc exp exp2 expm1 fabs fpclassify fdim finite floor fma fmax fmin fmod hypot ilogb int isfinite sinf isnan isnormal issubnormal issubordered iszero j0 j1 jn lgamma log log10 log2 logb nearbyint nextafter nexttoward pow remainder rint round scanb signbit sin sinh sqrt tan tanh tgamma trunc y0 y1 yn
|
||||||
.if t abs acos acosh asin asinh atan atan2 atanh cbrt ceil copysign cos cosh erf erfc exp exp2 expm1 fabs fpclassify fdim finite floor fma fmax fmod j0 j1 jn hypot ilogb int isfinite isinf isnan isnormal issubnormal issubordered iszero lgamma log log10 log2 logb nearbyint nextafter nexttoward pow rint round scalb signbit sin sinh sqrt tan tanh tgamma trunc y0 y1 yn
|
.if t abs acos acosh asin asinh atan atan2 atanh cbrt ceil copysign cos cosh erf erfc exp exp2 expm1 fabs fpclassify fdim finite floor fma fmax fmod j0 j1 jn hypot ilogb int isfinite isinf isnan isnormal issubnormal issubordered iszero lgamma log log10 log2 logb nearbyint nextafter nexttoward pow rint round scalb signbit sin sinh sqrt tan tanh tgamma trunc y0 y1 yn
|
||||||
.if t .RE
|
.if t .RE
|
||||||
In addition, arithmetic functions can be define as shell functions with a
|
In addition, arithmetic functions can be defined as shell functions with a
|
||||||
variant of the
|
variant of the
|
||||||
.B function
|
.B function
|
||||||
.I name\^
|
.I name\^
|
||||||
|
@ -2961,7 +2960,7 @@ option causes the expansion to be represented as a floating decimal number
|
||||||
when it is expanded.
|
when it is expanded.
|
||||||
The
|
The
|
||||||
.B \-X
|
.B \-X
|
||||||
option cause the expansion to be represented using the
|
option causes the expansion to be represented using the
|
||||||
.B %a
|
.B %a
|
||||||
format defined by ISO C-99.
|
format defined by ISO C-99.
|
||||||
The optional option argument
|
The optional option argument
|
||||||
|
@ -3324,7 +3323,7 @@ and
|
||||||
.I expression2\^
|
.I expression2\^
|
||||||
are both true.
|
are both true.
|
||||||
.TP
|
.TP
|
||||||
\f2expression1\fP \f3\(bv\(bv\fP \f2expression2\fP
|
\f2expression1\fP \f3||\fP \f2expression2\fP
|
||||||
True, if either
|
True, if either
|
||||||
.I expression1\^
|
.I expression1\^
|
||||||
or
|
or
|
||||||
|
@ -4426,7 +4425,7 @@ or commands that match a partially entered word.
|
||||||
When applied to the first word on the line,
|
When applied to the first word on the line,
|
||||||
or the first word after a
|
or the first word after a
|
||||||
.BR ; ,
|
.BR ; ,
|
||||||
.BR \(bv ,
|
.BR | ,
|
||||||
.BR & ,
|
.BR & ,
|
||||||
or
|
or
|
||||||
.BR ( ,
|
.BR ( ,
|
||||||
|
@ -5093,7 +5092,7 @@ Cursor backward one word.
|
||||||
[\f2count\fP]\f3B\fP
|
[\f2count\fP]\f3B\fP
|
||||||
Cursor to preceding blank separated word.
|
Cursor to preceding blank separated word.
|
||||||
.TP 10
|
.TP 10
|
||||||
[\f2count\fP]\f3\(bv\fP
|
[\f2count\fP]\f3|\fP
|
||||||
Cursor to column
|
Cursor to column
|
||||||
.IR count .
|
.IR count .
|
||||||
.TP 10
|
.TP 10
|
||||||
|
@ -5627,7 +5626,7 @@ A built-in specified by a pathname will only be executed when that pathname
|
||||||
would be found during the path search. Built-ins found in libraries loaded
|
would be found during the path search. Built-ins found in libraries loaded
|
||||||
via the
|
via the
|
||||||
.B .paths
|
.B .paths
|
||||||
file will be associate with the pathname of the directory containing the
|
file will associate with the pathname of the directory containing the
|
||||||
.B .paths
|
.B .paths
|
||||||
file.
|
file.
|
||||||
.P
|
.P
|
||||||
|
@ -5955,7 +5954,7 @@ Does nothing, and exits 1. Used with
|
||||||
for infinite loops.
|
for infinite loops.
|
||||||
.TP
|
.TP
|
||||||
.PD 0
|
.PD 0
|
||||||
\f3fc\fP \*(OK \f3\-e\fP \f2ename\^\fP \ \*(CK \*(OK \f3\-nlr\^\fP \*(CK \*(OK \f2first\^\fP \*(OK \f2last\^\fP \*(CK \*(CK
|
\f3fc\fP \*(OK \f3\-e\fP \f2ename\^\fP \ \*(CK \*(OK \f3\-N\fP \f2num\^\fP \*(CK \*(OK \f3\-nlr\^\fP \*(CK \*(OK \f2first\^\fP \*(OK \f2last\^\fP \*(CK \*(CK
|
||||||
.TP
|
.TP
|
||||||
\f3fc \-s \fP \*(OK \f2old\fP\f3\=\fP\f2new\^\fP \*(CK \*(OK \f2command\^\fP \*(CK
|
\f3fc \-s \fP \*(OK \f2old\fP\f3\=\fP\f2new\^\fP \*(CK \*(OK \f2command\^\fP \*(CK
|
||||||
.PD
|
.PD
|
||||||
|
@ -6124,7 +6123,7 @@ option empties the hash table. This can also be achieved by resetting
|
||||||
.BR PATH.
|
.BR PATH.
|
||||||
.TP
|
.TP
|
||||||
.PD 0
|
.PD 0
|
||||||
\f3hist\fP \*(OK \f3\-e\fP \f2ename\^\fP \ \*(CK \*(OK \f3\-nlr\^\fP \*(CK \*(OK \f2first\^\fP \*(OK \f2last\^\fP \*(CK \*(CK
|
\f3hist\fP \*(OK \f3\-e\fP \f2ename\^\fP \ \*(CK \*(OK \f3\-N\fP \f2num\^\fP \*(CK \*(OK \f3\-nlr\^\fP \*(CK \*(OK \f2first\^\fP \*(OK \f2last\^\fP \*(CK \*(CK
|
||||||
.TP
|
.TP
|
||||||
\f3hist \-s \fP \*(OK \f2old\fP\f3\=\fP\f2new\^\fP \*(CK \*(OK \f2command\^\fP \*(CK
|
\f3hist \-s \fP \*(OK \f2old\fP\f3\=\fP\f2new\^\fP \*(CK \*(OK \f2command\^\fP \*(CK
|
||||||
.PD
|
.PD
|
||||||
|
@ -6197,8 +6196,15 @@ The resulting command is executed
|
||||||
after the optional substitution
|
after the optional substitution
|
||||||
\f2old\^\fP\f3=\fP\f2new\^\fP
|
\f2old\^\fP\f3=\fP\f2new\^\fP
|
||||||
is performed.
|
is performed.
|
||||||
|
The option
|
||||||
|
.B \-N
|
||||||
|
causes
|
||||||
|
.BR hist
|
||||||
|
to start
|
||||||
|
.I num
|
||||||
|
commands back.
|
||||||
.TP
|
.TP
|
||||||
\f3history\fP \*(OK \f3\-nr\^\fP \*(CK \*(OK \f2first\^\fP \*(OK \f2last\^\fP \*(CK \*(CK
|
\f3history\fP \*(OK \f3\-N\fP \f2num\^\fP \*(CK \*(OK \f3\-nr\^\fP \*(CK \*(OK \f2first\^\fP \*(OK \f2last\^\fP \*(CK \*(CK
|
||||||
Lists commands in the history file.
|
Lists commands in the history file.
|
||||||
The same as
|
The same as
|
||||||
.BR hist\ \-l .
|
.BR hist\ \-l .
|
||||||
|
@ -6408,7 +6414,7 @@ The
|
||||||
option causes the
|
option causes the
|
||||||
arguments to be written onto the pipe
|
arguments to be written onto the pipe
|
||||||
of the process spawned with
|
of the process spawned with
|
||||||
.B \(bv&
|
.B |&
|
||||||
instead of standard output.
|
instead of standard output.
|
||||||
The
|
The
|
||||||
.B \-v
|
.B \-v
|
||||||
|
@ -6704,7 +6710,7 @@ option causes the input line
|
||||||
to be taken from the input pipe
|
to be taken from the input pipe
|
||||||
of a process spawned by the shell
|
of a process spawned by the shell
|
||||||
using
|
using
|
||||||
.BR \(bv& .
|
.BR |& .
|
||||||
If the
|
If the
|
||||||
.B \-s
|
.B \-s
|
||||||
option is present,
|
option is present,
|
||||||
|
@ -6834,10 +6840,6 @@ is used, the variable
|
||||||
is not unset first.
|
is not unset first.
|
||||||
.TP 8
|
.TP 8
|
||||||
.B \-B
|
.B \-B
|
||||||
Enable brace pattern field generation.
|
|
||||||
This is the default behavior.
|
|
||||||
.TP 8
|
|
||||||
.B \-B
|
|
||||||
Enable brace group expansion. On by default.
|
Enable brace group expansion. On by default.
|
||||||
.TP 8
|
.TP 8
|
||||||
.B \-C
|
.B \-C
|
||||||
|
@ -6846,12 +6848,12 @@ Prevents redirection
|
||||||
from truncating existing files.
|
from truncating existing files.
|
||||||
Files that are created are opened with the O_EXCL mode.
|
Files that are created are opened with the O_EXCL mode.
|
||||||
Requires
|
Requires
|
||||||
.B >\(bv
|
.B >|
|
||||||
to truncate a file when turned on.
|
to truncate a file when turned on.
|
||||||
.TP 8
|
.TP 8
|
||||||
.B \-G
|
.B \-G
|
||||||
Causes the pattern
|
Causes the pattern
|
||||||
.B \(**\(**
|
.B **
|
||||||
by itself to match files and zero or more directories and sub-directories
|
by itself to match files and zero or more directories and sub-directories
|
||||||
when used for file name generation.
|
when used for file name generation.
|
||||||
If followed by a
|
If followed by a
|
||||||
|
@ -6872,7 +6874,7 @@ state rather than waiting for the next prompt.
|
||||||
.TP 8
|
.TP 8
|
||||||
.B \-e
|
.B \-e
|
||||||
Unless contained in a
|
Unless contained in a
|
||||||
.B \(bv\(bv
|
.B ||
|
||||||
or
|
or
|
||||||
.B &&
|
.B &&
|
||||||
command, or the command following an
|
command, or the command following an
|
||||||
|
@ -7082,7 +7084,7 @@ Sort the positional parameters lexicographically.
|
||||||
Treat unset parameters as an error when substituting.
|
Treat unset parameters as an error when substituting.
|
||||||
.B "$@"
|
.B "$@"
|
||||||
and
|
and
|
||||||
.B "$\(**"
|
.B "$*"
|
||||||
are exempt.
|
are exempt.
|
||||||
.TP 8
|
.TP 8
|
||||||
.B \-v
|
.B \-v
|
||||||
|
@ -7148,10 +7150,22 @@ can be any arithmetic expression that evaluates to a non-negative
|
||||||
number less than or equal to
|
number less than or equal to
|
||||||
.BR $# .
|
.BR $# .
|
||||||
.TP
|
.TP
|
||||||
\f3sleep\fP \f2seconds\^\fP
|
\f3sleep\fP \*(OK \f3\-s\^\fP \*(CK \f2duration\^\fP
|
||||||
Suspends execution for the number of decimal seconds or fractions of a
|
Suspends execution for the number of decimal seconds or fractions of a
|
||||||
second given by
|
second given by
|
||||||
.IR seconds .
|
.IR duration .
|
||||||
|
.I duration
|
||||||
|
can be an integer, floating point value or ISO 8601 duration specifying
|
||||||
|
the length of time to sleep.
|
||||||
|
The option
|
||||||
|
.B \-s
|
||||||
|
causes the sleep builtin to terminate when it receives any signal.
|
||||||
|
If
|
||||||
|
.I duration
|
||||||
|
is not specified in conjunction with
|
||||||
|
.BR \-s ,
|
||||||
|
.BR sleep
|
||||||
|
will wait for a signal indefinitely.
|
||||||
.TP
|
.TP
|
||||||
\f3source\fP \f2name\^\fP \*(OK \f2arg\^\fP .\|.\|. \*(CK
|
\f3source\fP \f2name\^\fP \*(OK \f2arg\^\fP .\|.\|. \*(CK
|
||||||
Same as
|
Same as
|
||||||
|
@ -7314,7 +7328,7 @@ Does nothing, and exits 0. Used with
|
||||||
.B while
|
.B while
|
||||||
for infinite loops.
|
for infinite loops.
|
||||||
.TP
|
.TP
|
||||||
\f3type\fP \*(OK \f3\-afp\fP \*(CK \f2name\^\fP .\|.\|.
|
\f3type\fP \*(OK \f3\-afpq\fP \*(CK \f2name\^\fP .\|.\|.
|
||||||
The same as
|
The same as
|
||||||
.BR whence\ \-v .
|
.BR whence\ \-v .
|
||||||
.TP
|
.TP
|
||||||
|
@ -7699,7 +7713,7 @@ that have attributes
|
||||||
are printed.
|
are printed.
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
\f3ulimit\fP \*(OK \f3\-HSacdfmnpstv\fP \*(CK \*(OK \f2limit\^\fP \*(CK
|
\f3ulimit\fP \*(OK \f3\-HSaMctdfxlqenupmrbiswTv\fP \*(CK \*(OK \f2limit\^\fP \*(CK
|
||||||
Set or display a resource limit.
|
Set or display a resource limit.
|
||||||
The available resource limits are listed below.
|
The available resource limits are listed below.
|
||||||
Many systems do not support one or more of these limits.
|
Many systems do not support one or more of these limits.
|
||||||
|
@ -7738,16 +7752,31 @@ name and unit is printed before the value.
|
||||||
.B \-a
|
.B \-a
|
||||||
Lists all of the current resource limits.
|
Lists all of the current resource limits.
|
||||||
.TP
|
.TP
|
||||||
|
.B \-b
|
||||||
|
The socket buffer size in bytes.
|
||||||
|
.TP
|
||||||
.B \-c
|
.B \-c
|
||||||
The number of 512-byte blocks on the size of core dumps.
|
The number of 512-byte blocks on the size of core dumps.
|
||||||
.TP
|
.TP
|
||||||
.B \-d
|
.B \-d
|
||||||
The number of K-bytes on the size of the data area.
|
The number of K-bytes on the size of the data area.
|
||||||
.TP
|
.TP
|
||||||
|
.B \-e
|
||||||
|
The scheduling priority.
|
||||||
|
.TP
|
||||||
.B \-f
|
.B \-f
|
||||||
The number of 512-byte blocks on files that can be written by the
|
The number of 512-byte blocks on files that can be written by the
|
||||||
current process or by child processes (files of any size may be read).
|
current process or by child processes (files of any size may be read).
|
||||||
.TP
|
.TP
|
||||||
|
.B \-i
|
||||||
|
The signal queue size.
|
||||||
|
.TP
|
||||||
|
.B \-l
|
||||||
|
The locked address space in K-bytes.
|
||||||
|
.TP
|
||||||
|
.B \-M
|
||||||
|
The address space limit in K-bytes.
|
||||||
|
.TP
|
||||||
.B \-m
|
.B \-m
|
||||||
The number of K-bytes on the size of physical memory.
|
The number of K-bytes on the size of physical memory.
|
||||||
.TP
|
.TP
|
||||||
|
@ -7757,14 +7786,32 @@ The number of file descriptors plus 1.
|
||||||
.B \-p
|
.B \-p
|
||||||
The number of 512-byte blocks for pipe buffering.
|
The number of 512-byte blocks for pipe buffering.
|
||||||
.TP
|
.TP
|
||||||
|
.B \-q
|
||||||
|
The message queue size in K-bytes.
|
||||||
|
.TP
|
||||||
|
.B \-r
|
||||||
|
The max real time priority.
|
||||||
|
.TP
|
||||||
.B \-s
|
.B \-s
|
||||||
The number of K-bytes on the size of the stack area.
|
The number of K-bytes on the size of the stack area.
|
||||||
.TP
|
.TP
|
||||||
|
.B \-T
|
||||||
|
The number of threads.
|
||||||
|
.TP
|
||||||
.B \-t
|
.B \-t
|
||||||
The number of CPU seconds to be used by each process.
|
The number of CPU seconds to be used by each process.
|
||||||
.TP
|
.TP
|
||||||
|
.B \-u
|
||||||
|
The number of processes.
|
||||||
|
.TP
|
||||||
.B \-v
|
.B \-v
|
||||||
The number of K-bytes for virtual memory.
|
The number of K-bytes for virtual memory.
|
||||||
|
.TP
|
||||||
|
.B \-w
|
||||||
|
The swap size in K-bytes.
|
||||||
|
.TP
|
||||||
|
.B \-x
|
||||||
|
The number of file locks.
|
||||||
.PD
|
.PD
|
||||||
.PP
|
.PP
|
||||||
If no option is given,
|
If no option is given,
|
||||||
|
@ -7879,7 +7926,7 @@ See
|
||||||
for a description of the format of
|
for a description of the format of
|
||||||
.IR job .
|
.IR job .
|
||||||
.TP
|
.TP
|
||||||
\f3whence\fP \*(OK \f3\-afpv\fP \*(CK \f2name\^\fP .\|.\|.
|
\f3whence\fP \*(OK \f3\-afpqv\fP \*(CK \f2name\^\fP .\|.\|.
|
||||||
For each
|
For each
|
||||||
.IR name ,
|
.IR name ,
|
||||||
indicate how it
|
indicate how it
|
||||||
|
@ -7904,6 +7951,14 @@ option turns off the
|
||||||
.B \-v
|
.B \-v
|
||||||
option.
|
option.
|
||||||
The
|
The
|
||||||
|
.B \-q
|
||||||
|
option causes
|
||||||
|
.BR whence
|
||||||
|
to enter quiet mode.
|
||||||
|
.BR whence
|
||||||
|
will return zero if all arguments are built-ins, functions, or
|
||||||
|
are programs found on the path.
|
||||||
|
The
|
||||||
.B \-a
|
.B \-a
|
||||||
option
|
option
|
||||||
is similar to the
|
is similar to the
|
||||||
|
@ -8247,7 +8302,7 @@ command to correct this situation.
|
||||||
Some very old shell scripts contain a
|
Some very old shell scripts contain a
|
||||||
.B ^
|
.B ^
|
||||||
as a synonym for the pipe character
|
as a synonym for the pipe character
|
||||||
.BR \(bv .
|
.BR | .
|
||||||
.PP
|
.PP
|
||||||
Using the
|
Using the
|
||||||
.B hist\^
|
.B hist\^
|
||||||
|
|
|
@ -3522,7 +3522,7 @@ void nv_setref(register Namval_t *np, Dt_t *hp, int flags)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* get the scope corresponding to <index>
|
* get the scope corresponding to <index>
|
||||||
* whence uses the same values as lseeek()
|
* whence uses the same values as lseek()
|
||||||
*/
|
*/
|
||||||
Shscope_t *sh_getscope(int index, int whence)
|
Shscope_t *sh_getscope(int index, int whence)
|
||||||
{
|
{
|
||||||
|
|
|
@ -3024,7 +3024,7 @@ Sfdouble_t sh_mathfun(Shell_t *shp,void *fp, int nargs, Sfdouble_t *arg)
|
||||||
/*
|
/*
|
||||||
* This routine is used to execute the given function <fun> in a new scope
|
* This routine is used to execute the given function <fun> in a new scope
|
||||||
* If <fun> is NULL, then arg points to a structure containing a pointer
|
* If <fun> is NULL, then arg points to a structure containing a pointer
|
||||||
* to a function that will be executed in the current environment.
|
* to a function that will be executed in the current environment.
|
||||||
*/
|
*/
|
||||||
int sh_funscope(int argn, char *argv[],int(*fun)(void*),void *arg,int execflg)
|
int sh_funscope(int argn, char *argv[],int(*fun)(void*),void *arg,int execflg)
|
||||||
{
|
{
|
||||||
|
|
|
@ -601,7 +601,7 @@ then actual=$(
|
||||||
"(expected $(printf %q "$expect"), got $(printf %q "$actual"))"
|
"(expected $(printf %q "$expect"), got $(printf %q "$actual"))"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#"======
|
# ======
|
||||||
# Expansion of multibyte characters after expansion of single-character names $1..$9, $?, $!, $-, etc.
|
# Expansion of multibyte characters after expansion of single-character names $1..$9, $?, $!, $-, etc.
|
||||||
function exptest
|
function exptest
|
||||||
{
|
{
|
||||||
|
|
|
@ -34,7 +34,7 @@ hash: generic, scoped hash table support
|
||||||
|
|
||||||
include/ast: libast support headers
|
include/ast: libast support headers
|
||||||
|
|
||||||
align.h compile time type alignmnent support
|
align.h compile time type alignment support
|
||||||
dirent.h POSIX directory(3) interface definitions
|
dirent.h POSIX directory(3) interface definitions
|
||||||
error.h error() interface definitions
|
error.h error() interface definitions
|
||||||
ftw.h ftwalk() interface definitions
|
ftw.h ftwalk() interface definitions
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
12-07-25 pathprobe.c: fix read() loop to handle EINTR
|
12-07-25 pathprobe.c: fix read() loop to handle EINTR
|
||||||
12-06-28 vmalloc/malloc.c: use sbrk() unless VMALLOC_OPTIONS=mmap or asoinit(0,0,0)!=0 (workaround until next malloc update)
|
12-06-28 vmalloc/malloc.c: use sbrk() unless VMALLOC_OPTIONS=mmap or asoinit(0,0,0)!=0 (workaround until next malloc update)
|
||||||
12-06-28 aso/aso.c: asoinit(0,0,0): 0: no specific init, 1: app initialized
|
12-06-28 aso/aso.c: asoinit(0,0,0): 0: no specific init, 1: app initialized
|
||||||
12-06-27 sfio/sfvprintf.c: allow { L* z* } aliases for I* -- posix will probably pick one
|
12-06-27 sfio/sfvprintf.c: allow { L* z* } aliases for I* -- POSIX will probably pick one
|
||||||
12-06-26 regex/regnexec.c: fix uninitialized variable reference
|
12-06-26 regex/regnexec.c: fix uninitialized variable reference
|
||||||
12-06-26 comp/setlocale.c: utf8_wctomb() now calls (the correct) wc2utf8()
|
12-06-26 comp/setlocale.c: utf8_wctomb() now calls (the correct) wc2utf8()
|
||||||
12-06-25 string/chresc.c: accept \u[U+<hex>] and \u{U+<hex>}
|
12-06-25 string/chresc.c: accept \u[U+<hex>] and \u{U+<hex>}
|
||||||
|
@ -10,7 +10,7 @@
|
||||||
12-06-18 sfio/_sfopen.c: add 'e' => O_CLOEXEC
|
12-06-18 sfio/_sfopen.c: add 'e' => O_CLOEXEC
|
||||||
12-06-18 features/fcntl.c: add #define O_CLOEXEC 0 if not defined
|
12-06-18 features/fcntl.c: add #define O_CLOEXEC 0 if not defined
|
||||||
12-06-13 features/float: handle __mips c99 peculiarities
|
12-06-13 features/float: handle __mips c99 peculiarities
|
||||||
12-06-13 features/standards: handle __MACH__ posix peculiarities
|
12-06-13 features/standards: handle __MACH__ POSIX peculiarities
|
||||||
12-06-08 sfio/sfclose.c,sfmode.c: sfclose() for sfopopen() stream returns sh-compatible $?
|
12-06-08 sfio/sfclose.c,sfmode.c: sfclose() for sfopopen() stream returns sh-compatible $?
|
||||||
12-06-08 comp/strtold.c: fix header botch that missed ldexpl() prototype -- ouch
|
12-06-08 comp/strtold.c: fix header botch that missed ldexpl() prototype -- ouch
|
||||||
12-06-06 misc/proclib.h: partially undo <ast_standards.h> for leaked ancient bsd-isms
|
12-06-06 misc/proclib.h: partially undo <ast_standards.h> for leaked ancient bsd-isms
|
||||||
|
@ -143,7 +143,7 @@
|
||||||
10-08-11 misc/conformance.c: check ast_env_serial for dynamic astconf() changes
|
10-08-11 misc/conformance.c: check ast_env_serial for dynamic astconf() changes
|
||||||
10-08-11 port/lcgen.c: remember to fudge Table_t.count for synthesized entries
|
10-08-11 port/lcgen.c: remember to fudge Table_t.count for synthesized entries
|
||||||
10-08-04 include/ast.h,comp/setlocale.c: add { debug C.UTF-8 } mbalpha() mbwidth()
|
10-08-04 include/ast.h,comp/setlocale.c: add { debug C.UTF-8 } mbalpha() mbwidth()
|
||||||
10-08-02 misc/translate.c: add NLSPATH message cache check
|
10-08-02 misc/translate.c: add NLSPATH message cache check
|
||||||
10-07-29 string/fmtint.c: fix nasty bug that rendered "1000" as "1"
|
10-07-29 string/fmtint.c: fix nasty bug that rendered "1000" as "1"
|
||||||
10-07-27 setlocale,lsgen,localeconv: handle C vs C_EU decimal thousands sep
|
10-07-27 setlocale,lsgen,localeconv: handle C vs C_EU decimal thousands sep
|
||||||
10-07-26 misc/optget.c: fix interaction with nested plugin/builtin calls
|
10-07-26 misc/optget.c: fix interaction with nested plugin/builtin calls
|
||||||
|
@ -213,7 +213,7 @@
|
||||||
10-01-01 ast_std.h: add { AST_LC_internal AST_LC_setenv }
|
10-01-01 ast_std.h: add { AST_LC_internal AST_LC_setenv }
|
||||||
09-12-24 comp/setlocale.c: fix setlocale(LC_ALL,"") when already initialized
|
09-12-24 comp/setlocale.c: fix setlocale(LC_ALL,"") when already initialized
|
||||||
09-12-17 misc/optget.c: handle mixed solaris usage="x:f:(in)yo:(out)"
|
09-12-17 misc/optget.c: handle mixed solaris usage="x:f:(in)yo:(out)"
|
||||||
09-12-11 regex/regcomp.c: posix semantics for [z-a]
|
09-12-11 regex/regcomp.c: POSIX semantics for [z-a]
|
||||||
09-12-11 regex/regcomp.c: fix BRE/ERE ^^ logic
|
09-12-11 regex/regcomp.c: fix BRE/ERE ^^ logic
|
||||||
09-12-11 regex/regcomp.c: fix regcomb() for REG_LEFT|REG_RIGHT
|
09-12-11 regex/regcomp.c: fix regcomb() for REG_LEFT|REG_RIGHT
|
||||||
09-12-11 regex/regcomp.c: bm complete=0 if REX_END
|
09-12-11 regex/regcomp.c: bm complete=0 if REX_END
|
||||||
|
@ -304,7 +304,7 @@
|
||||||
08-07-21 include/glob.h,misc/glob.c: GLOB_STARSTAR only forces lstat on chdir
|
08-07-21 include/glob.h,misc/glob.c: GLOB_STARSTAR only forces lstat on chdir
|
||||||
08-07-17 sfio: sync with kpv
|
08-07-17 sfio: sync with kpv
|
||||||
08-07-17 misc/optget.c: call astwinsize() each time terminal width required
|
08-07-17 misc/optget.c: call astwinsize() each time terminal width required
|
||||||
08-07-16 sfio/sfvscanf.c: fix %% to skip leading space per posix
|
08-07-16 sfio/sfvscanf.c: fix %% to skip leading space per POSIX
|
||||||
08-07-16 vmalloc/vmbest.c: add VMCHECK=m, VM_mmap to favor mmap() alloc
|
08-07-16 vmalloc/vmbest.c: add VMCHECK=m, VM_mmap to favor mmap() alloc
|
||||||
08-07-16 features/stdio,stdio/f(read|write).c: size_t return value!! ouch
|
08-07-16 features/stdio,stdio/f(read|write).c: size_t return value!! ouch
|
||||||
08-06-24 tm/tmxfmt.c: fix %z to handle tm_isdst -- doh
|
08-06-24 tm/tmxfmt.c: fix %z to handle tm_isdst -- doh
|
||||||
|
@ -330,7 +330,7 @@
|
||||||
08-03-06 misc/optget.c: ---* and +++* are now operands
|
08-03-06 misc/optget.c: ---* and +++* are now operands
|
||||||
08-03-06 misc/errorx.c: fix old error_info.translate workaround
|
08-03-06 misc/errorx.c: fix old error_info.translate workaround
|
||||||
08-02-05 regex/regcomp.c: allow REG_SHELL {,n}... => {0,n}...
|
08-02-05 regex/regcomp.c: allow REG_SHELL {,n}... => {0,n}...
|
||||||
08-02-27 misc/stk.c: top element during allocation relocated to top
|
08-02-27 misc/stk.c: top element during allocation relocated to top
|
||||||
08-02-18 include/ip6.h,string/strtoip6.c,fmtip6.c: add ipv6 addr support
|
08-02-18 include/ip6.h,string/strtoip6.c,fmtip6.c: add ipv6 addr support
|
||||||
08-02-14 regex/regsubexec.c: fix null match (tricky)
|
08-02-14 regex/regsubexec.c: fix null match (tricky)
|
||||||
08-02-14 regex/regsubcomp.c: fix SRE to match ksh
|
08-02-14 regex/regsubcomp.c: fix SRE to match ksh
|
||||||
|
@ -403,12 +403,12 @@
|
||||||
07-02-14 include/int.h: drop
|
07-02-14 include/int.h: drop
|
||||||
07-02-14 include/sfio.h: add SF_WCWIDTH
|
07-02-14 include/sfio.h: add SF_WCWIDTH
|
||||||
07-02-12 comp/conf.sh: fix CONF_LIMIT bug that missed ULONG_MAX etc.
|
07-02-12 comp/conf.sh: fix CONF_LIMIT bug that missed ULONG_MAX etc.
|
||||||
07-02-12 comp/conf.tab: *LONGLONG* => *LLONG* to match posix
|
07-02-12 comp/conf.tab: *LONGLONG* => *LLONG* to match POSIX
|
||||||
07-02-12 features/float: *LONGLONG* => *LLONG* to match posix
|
07-02-12 features/float: *LONGLONG* => *LLONG* to match POSIX
|
||||||
07-02-12 port/astconf.c: handle CONF_LIMITS_DEF with no deferral
|
07-02-12 port/astconf.c: handle CONF_LIMITS_DEF with no deferral
|
||||||
07-02-12 stdio/vasprintf.c: add trailing '\0' -- doh
|
07-02-12 stdio/vasprintf.c: add trailing '\0' -- doh
|
||||||
07-02-04 string/fmtelapsed.c: fix naive multi month/year logic
|
07-02-04 string/fmtelapsed.c: fix naive multi month/year logic
|
||||||
07-02-02 misc/optget.c: add --??posix for getopts(1)/getopt(3)
|
07-02-02 misc/optget.c: add --??POSIX for getopts(1)/getopt(3)
|
||||||
07-01-26 string/chresc.c: use mbchar()
|
07-01-26 string/chresc.c: use mbchar()
|
||||||
07-01-26 misc/optget.c: handle "o:-:" usage for old-style long options
|
07-01-26 misc/optget.c: handle "o:-:" usage for old-style long options
|
||||||
07-01-22 sfio/sfdisc.c,sfpool.c: handle push on streams with pending peek
|
07-01-22 sfio/sfdisc.c,sfpool.c: handle push on streams with pending peek
|
||||||
|
@ -502,7 +502,7 @@
|
||||||
06-06-27 features/float,sfio/sfcvt.c: fix Nan logic
|
06-06-27 features/float,sfio/sfcvt.c: fix Nan logic
|
||||||
06-06-27 port/astmath.c: fix long double isnan() test
|
06-06-27 port/astmath.c: fix long double isnan() test
|
||||||
06-06-27 features/map.c: _map_libc for std => _ast_std
|
06-06-27 features/map.c: _map_libc for std => _ast_std
|
||||||
06-06-25 string/strperm.c: handle posix = w.r.t. umask
|
06-06-25 string/strperm.c: handle POSIX = w.r.t. umask
|
||||||
06-06-19 port/mnt.c,features/fs: handle netbsd getmntent api change
|
06-06-19 port/mnt.c,features/fs: handle netbsd getmntent api change
|
||||||
06-06-18 regex/regstat.c: add REG_LITERAL check
|
06-06-18 regex/regstat.c: add REG_LITERAL check
|
||||||
06-06-11 cdt/dtview.c: update from kpv
|
06-06-11 cdt/dtview.c: update from kpv
|
||||||
|
@ -750,9 +750,9 @@
|
||||||
vmalloc/malloc.c: _AST_mem_method==_mem_* to force mem get method
|
vmalloc/malloc.c: _AST_mem_method==_mem_* to force mem get method
|
||||||
sfio/sfputr.c: __ia64 memccpy is bogus -- how many tries do they get?
|
sfio/sfputr.c: __ia64 memccpy is bogus -- how many tries do they get?
|
||||||
path/pathshell.c: verify abs path and access(path,X_OK) -- duh
|
path/pathshell.c: verify abs path and access(path,X_OK) -- duh
|
||||||
vmalloc/vmhdr.h: add private _Vmessage() for non-sfio ASSERT()
|
vmalloc/vmhdr.h: add private _Vmessage() for non-sfio ASSERT()
|
||||||
port/astconf.c: fix bug that always returned the minmax value
|
port/astconf.c: fix bug that always returned the minmax value
|
||||||
03-06-11 comp/*.c: reorder macro hding for mvs.390 and <ast_map.h>
|
03-06-11 comp/*.c: reorder macro hding for mvs.390 and <ast_map.h>
|
||||||
features/vmalloc: add _lib_brk and _lib_sbrk verification
|
features/vmalloc: add _lib_brk and _lib_sbrk verification
|
||||||
include/ast_std.h,etc.: add _map_malloc for malloc => _ast_malloc
|
include/ast_std.h,etc.: add _map_malloc for malloc => _ast_malloc
|
||||||
comp/conf.sh: fix SI_* and *_SI_* macro redefs
|
comp/conf.sh: fix SI_* and *_SI_* macro redefs
|
||||||
|
@ -774,7 +774,7 @@
|
||||||
03-05-24 misc/optget.c: fix (ancient) argv null dereference
|
03-05-24 misc/optget.c: fix (ancient) argv null dereference
|
||||||
03-05-23 comp/getcwd.c: don't intercept on _WINIX -- unreliable st_ino
|
03-05-23 comp/getcwd.c: don't intercept on _WINIX -- unreliable st_ino
|
||||||
03-05-22 sfio/sfsprintf.c: n<0 => don't append '\0'
|
03-05-22 sfio/sfsprintf.c: n<0 => don't append '\0'
|
||||||
03-05-18 misc/fts.c: re-stat FTS_DP to update nlink/times
|
03-05-18 misc/fts.c: re-stat FTS_DP to update nlink/times
|
||||||
misc/fts.c: add FTSENT.stack to eliminate getlist() recursion
|
misc/fts.c: add FTSENT.stack to eliminate getlist() recursion
|
||||||
regex/ucs_names.h: use "..." catenation to placate some cc's
|
regex/ucs_names.h: use "..." catenation to placate some cc's
|
||||||
03-05-11 string/strtoi.h: handle "-" "+" "0x" "11#"
|
03-05-11 string/strtoi.h: handle "-" "+" "0x" "11#"
|
||||||
|
@ -1429,7 +1429,7 @@
|
||||||
98-06-19 tokscan: add %f %g
|
98-06-19 tokscan: add %f %g
|
||||||
98-06-01 disc/sf*.c: memset(0) after disc malloc()
|
98-06-01 disc/sf*.c: memset(0) after disc malloc()
|
||||||
98-05-11 strelapsed: y==Y
|
98-05-11 strelapsed: y==Y
|
||||||
fts: pathcanon() top list
|
fts: pathcanon() top list
|
||||||
98-04-01 error: error_info.time for all msgs, just after cmd id
|
98-04-01 error: error_info.time for all msgs, just after cmd id
|
||||||
error: no sfsync(sfstdin)
|
error: no sfsync(sfstdin)
|
||||||
sfio: sfpool, Sffmt_t update
|
sfio: sfpool, Sffmt_t update
|
||||||
|
@ -1539,7 +1539,7 @@
|
||||||
sfio.h,stdio.h,ast_common.h: pollution cleanup
|
sfio.h,stdio.h,ast_common.h: pollution cleanup
|
||||||
magic.c: add | op for switch
|
magic.c: add | op for switch
|
||||||
Makefile: stdio.h was on both HEADERSRC and HEADERGEN -- don't do that
|
Makefile: stdio.h was on both HEADERSRC and HEADERGEN -- don't do that
|
||||||
drop pp:notice to get <sfio.h> ... <ast.h> to work
|
drop pp:notice to get <sfio.h> ... <ast.h> to work
|
||||||
regex: add [[:<:]]==\< and [[:>:]]==\> for bsd compat
|
regex: add [[:<:]]==\< and [[:>:]]==\> for bsd compat
|
||||||
mime.c: ignore X-* headers while scanning for Content-*
|
mime.c: ignore X-* headers while scanning for Content-*
|
||||||
magic.c: check for negative indirect offsets
|
magic.c: check for negative indirect offsets
|
||||||
|
@ -1549,7 +1549,7 @@
|
||||||
magic.c: MAGIFILE is now a : file list
|
magic.c: MAGIFILE is now a : file list
|
||||||
mnt.c: another 4.4 bsd fix -- users must include <sys/crap.h>
|
mnt.c: another 4.4 bsd fix -- users must include <sys/crap.h>
|
||||||
common: fix _WIN32 chicken&egg with va_copy
|
common: fix _WIN32 chicken&egg with va_copy
|
||||||
sfio: forgot to set f->val along with _Sfi in sfexcept()
|
sfio: forgot to set f->val along with _Sfi in sfexcept()
|
||||||
Makefile: add mini target for uwin libmini.a
|
Makefile: add mini target for uwin libmini.a
|
||||||
sfcvt.c: workaround for flaky long double optimizers
|
sfcvt.c: workaround for flaky long double optimizers
|
||||||
features/common: fix to work with va_list==void*
|
features/common: fix to work with va_list==void*
|
||||||
|
@ -1562,7 +1562,7 @@
|
||||||
regerror: fix for xopen
|
regerror: fix for xopen
|
||||||
getopt: fix for xopen
|
getopt: fix for xopen
|
||||||
magic: add ciao virtual database
|
magic: add ciao virtual database
|
||||||
astconf: posix/strict/xopen implies "standard" conformance
|
astconf: POSIX/strict/xopen implies "standard" conformance
|
||||||
fs3d.h: hide mount prototype
|
fs3d.h: hide mount prototype
|
||||||
ast_std.h,mnt.c,features/fs: ncr port tweaks
|
ast_std.h,mnt.c,features/fs: ncr port tweaks
|
||||||
96-10-31 version 5.0
|
96-10-31 version 5.0
|
||||||
|
@ -1694,7 +1694,7 @@
|
||||||
oops object / shared library compat with _sfgetl2 _sfgetu2
|
oops object / shared library compat with _sfgetl2 _sfgetu2
|
||||||
95-09-11 add getopt() compatibility
|
95-09-11 add getopt() compatibility
|
||||||
add fstat,lstat,mknod,stat fixes for _x versions in sys/stat.h
|
add fstat,lstat,mknod,stat fixes for _x versions in sys/stat.h
|
||||||
add getconf CONFORMANCE - posix for things that aren't ast default
|
add getconf CONFORMANCE - POSIX for things that aren't ast default
|
||||||
sfio_t.h: #ifndef _SFIO_H #include "sfio.h" #endif
|
sfio_t.h: #ifndef _SFIO_H #include "sfio.h" #endif
|
||||||
snarf vmalloc from kpv
|
snarf vmalloc from kpv
|
||||||
95-08-11 fix malloc bug in magic
|
95-08-11 fix malloc bug in magic
|
||||||
|
@ -1780,7 +1780,7 @@
|
||||||
, treated like :space: between stropt() options
|
, treated like :space: between stropt() options
|
||||||
fix procopen() fd dup to ignore self-dups
|
fix procopen() fd dup to ignore self-dups
|
||||||
add library id[] to misc/state.c
|
add library id[] to misc/state.c
|
||||||
add ftwalk(FTW_METAPHYSICAL) for posix -H
|
add ftwalk(FTW_METAPHYSICAL) for POSIX -H
|
||||||
sfvprintf() now handles balanced () in %()
|
sfvprintf() now handles balanced () in %()
|
||||||
add tmfmt() with buffer size check to replace tmform()
|
add tmfmt() with buffer size check to replace tmform()
|
||||||
add fmttime() calling tmfmt() to fit fmt*() mold
|
add fmttime() calling tmfmt() to fit fmt*() mold
|
||||||
|
@ -1789,9 +1789,9 @@
|
||||||
add EXTTYPE extended header to tar.h
|
add EXTTYPE extended header to tar.h
|
||||||
95-02-14 sfmove() buffer size overflow fix
|
95-02-14 sfmove() buffer size overflow fix
|
||||||
add _SFSTDIO_H to sfio.h
|
add _SFSTDIO_H to sfio.h
|
||||||
rename setenv() to setenviron() -- posix finally decided
|
rename setenv() to setenviron() -- POSIX finally decided
|
||||||
rename <option.h> opt_* to opt_info.*
|
rename <option.h> opt_* to opt_info.*
|
||||||
update features/unistd.c for _SC_* and _PC_* posix additions
|
update features/unistd.c for _SC_* and _PC_* POSIX additions
|
||||||
95-01-19 (char*)uchar cast in fmtesc()
|
95-01-19 (char*)uchar cast in fmtesc()
|
||||||
fix hash bucket memory leak in hashlook() [via John Mocenigo]
|
fix hash bucket memory leak in hashlook() [via John Mocenigo]
|
||||||
update strings/strtape()
|
update strings/strtape()
|
||||||
|
|
|
@ -38,7 +38,7 @@ memmove(void* to, const void* from, register size_t n)
|
||||||
if (n <= 0) /* works if size_t is signed or not */
|
if (n <= 0) /* works if size_t is signed or not */
|
||||||
;
|
;
|
||||||
else if (in + n <= out || out + n <= in)
|
else if (in + n <= out || out + n <= in)
|
||||||
return(memcpy(to, from, n)); /* hope it's fast*/
|
return(memcpy(to, from, n)); /* hope it's fast */
|
||||||
else if (out < in)
|
else if (out < in)
|
||||||
do *out++ = *in++; while (--n > 0);
|
do *out++ = *in++; while (--n > 0);
|
||||||
else
|
else
|
||||||
|
|
|
@ -529,7 +529,7 @@ runve(int mode, const char* path, char* const* argv, char* const* envv)
|
||||||
* (3) /c/(WINNT|WINDOWS)/system32 /c/(WINNT|WINDOWS)
|
* (3) /c/(WINNT|WINDOWS)/system32 /c/(WINNT|WINDOWS)
|
||||||
* (4) the directories on $PATH
|
* (4) the directories on $PATH
|
||||||
* there are no cygwin dlls in (3), so if (1) and (2) fail
|
* there are no cygwin dlls in (3), so if (1) and (2) fail
|
||||||
* to produce the required dlls its up to (4)
|
* to produce the required dlls it's up to (4)
|
||||||
*
|
*
|
||||||
* the standard allows PATH to be anything once the path
|
* the standard allows PATH to be anything once the path
|
||||||
* to an executable is determined; this code ensures that PATH
|
* to an executable is determined; this code ensures that PATH
|
||||||
|
|
|
@ -241,7 +241,7 @@ tst real_vfork note{ vfork child shares data with parent }end execute{
|
||||||
}
|
}
|
||||||
}end
|
}end
|
||||||
|
|
||||||
tst lib_posix_spawn unistd.h stdlib.h spawn.h -Dfork=______fork note{ posix_spawn exists and it works and its worth using }end status{
|
tst lib_posix_spawn unistd.h stdlib.h spawn.h -Dfork=______fork note{ posix_spawn exists, it works and it's worth using }end status{
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
|
@ -304,7 +304,7 @@ tst lib_posix_spawn unistd.h stdlib.h spawn.h -Dfork=______fork note{ posix_spaw
|
||||||
NOTE("SIGHUP ignored in parent not ignored in child");
|
NOTE("SIGHUP ignored in parent not ignored in child");
|
||||||
_exit(0);
|
_exit(0);
|
||||||
}
|
}
|
||||||
/* must return exec-type errors or its useless to us *unless* there is no [v]fork() */
|
/* must return exec-type errors or it's useless to us *unless* there is no [v]fork() */
|
||||||
n = strlen(cmd[0]);
|
n = strlen(cmd[0]);
|
||||||
if (n >= (sizeof(tmp) - 3))
|
if (n >= (sizeof(tmp) - 3))
|
||||||
{
|
{
|
||||||
|
|
|
@ -75,7 +75,7 @@ is ANSI, K&R and C++ compatible and includes or defines the equivalent of
|
||||||
.L <string.h>
|
.L <string.h>
|
||||||
and
|
and
|
||||||
.LR <unistd.h> .
|
.LR <unistd.h> .
|
||||||
Other libraries that depend on
|
Other libraries that depend on
|
||||||
.B libast
|
.B libast
|
||||||
may also have headers installed in the
|
may also have headers installed in the
|
||||||
.L include/ast
|
.L include/ast
|
||||||
|
|
|
@ -134,7 +134,7 @@ on the same \f5dest\fP with values, say \fIv1\fP and \fIv2\fP.
|
||||||
The eventual value in \f5dest\fP
|
The eventual value in \f5dest\fP
|
||||||
will be as if \f5*dest += 2\fP was performed in a single-threaded execution.
|
will be as if \f5*dest += 2\fP was performed in a single-threaded execution.
|
||||||
|
|
||||||
That should be constrasted with a situation where, instead of \f5asoinc32()\fP or \f5asodec32()\fP,
|
That should be contrasted with a situation where, instead of \f5asoinc32()\fP or \f5asodec32()\fP,
|
||||||
only normal increment (++) or decrement (--) were used.
|
only normal increment (++) or decrement (--) were used.
|
||||||
Then, the end result could be either \f5*dest += 1\fP or \f5*dest += 2\fP,
|
Then, the end result could be either \f5*dest += 1\fP or \f5*dest += 2\fP,
|
||||||
depending on states of the hardware cache and process scheduling.
|
depending on states of the hardware cache and process scheduling.
|
||||||
|
|
|
@ -76,7 +76,7 @@ is
|
||||||
then
|
then
|
||||||
\f5"/"\fP
|
\f5"/"\fP
|
||||||
is used.
|
is used.
|
||||||
Otherwise if
|
Otherwise if
|
||||||
.I path
|
.I path
|
||||||
is not
|
is not
|
||||||
.L 0
|
.L 0
|
||||||
|
@ -136,7 +136,7 @@ command options.
|
||||||
.TP
|
.TP
|
||||||
.L UNIVERSE
|
.L UNIVERSE
|
||||||
.L ucb
|
.L ucb
|
||||||
for
|
for
|
||||||
.I Berkeley
|
.I Berkeley
|
||||||
style and
|
style and
|
||||||
.L att
|
.L att
|
||||||
|
@ -168,7 +168,7 @@ relative to
|
||||||
.IR path .
|
.IR path .
|
||||||
If
|
If
|
||||||
.I notify
|
.I notify
|
||||||
returns
|
returns
|
||||||
.L 0
|
.L 0
|
||||||
then the configuration parameter value is not changed.
|
then the configuration parameter value is not changed.
|
||||||
.PP
|
.PP
|
||||||
|
@ -188,7 +188,7 @@ or
|
||||||
.L R_OK|W_OK
|
.L R_OK|W_OK
|
||||||
then all configuration parameters are listed.
|
then all configuration parameters are listed.
|
||||||
.L R_OK
|
.L R_OK
|
||||||
lists the readonly configuration parameters and
|
lists the readonly configuration parameters and
|
||||||
.L W_OK
|
.L W_OK
|
||||||
lists the settable configuration parameters.
|
lists the settable configuration parameters.
|
||||||
.L X_OK
|
.L X_OK
|
||||||
|
|
|
@ -340,7 +340,7 @@ the key as defined by the \f5Dtdisc_t.size\fP field.
|
||||||
.PP
|
.PP
|
||||||
.Ss " Void_t* (*memoryf)(Dt_t* dt, Void_t* addr, size_t size, Dtdisc_t* disc)"
|
.Ss " Void_t* (*memoryf)(Dt_t* dt, Void_t* addr, size_t size, Dtdisc_t* disc)"
|
||||||
If not \f5NULL\fP, \f5memoryf\fP is used to allocate and free memory.
|
If not \f5NULL\fP, \f5memoryf\fP is used to allocate and free memory.
|
||||||
When \f5addr\fP is \f5NULL\fP, a memory segment of size \f5size\fP is requested.
|
When \f5addr\fP is \f5NULL\fP, a memory segment of size \f5size\fP is requested.
|
||||||
If \f5addr\fP is not \f5NULL\fP and \f5size\fP is zero, \f5addr\fP is to be freed.
|
If \f5addr\fP is not \f5NULL\fP and \f5size\fP is zero, \f5addr\fP is to be freed.
|
||||||
If \f5addr\fP is not \f5NULL\fP and \f5size\fP is positive,
|
If \f5addr\fP is not \f5NULL\fP and \f5size\fP is positive,
|
||||||
\f5addr\fP is to be resized to the given size.
|
\f5addr\fP is to be resized to the given size.
|
||||||
|
@ -485,7 +485,7 @@ For \f5Dtset\fP, \f5Dtbag\fP, \f5Dtrhset\fP and \f5Dtrhbag\fP,
|
||||||
objects are ordered by some internal order defined at the time when these
|
objects are ordered by some internal order defined at the time when these
|
||||||
functions are called.
|
functions are called.
|
||||||
|
|
||||||
Objects in a dictionary or a viewpath can be walked using
|
Objects in a dictionary or a viewpath can be walked using
|
||||||
a \f5for(;;)\fP loop as below.
|
a \f5for(;;)\fP loop as below.
|
||||||
.Cs
|
.Cs
|
||||||
for(obj = dtfirst(dt); obj; obj = dtnext(dt,obj))
|
for(obj = dtfirst(dt); obj; obj = dtnext(dt,obj))
|
||||||
|
|
|
@ -57,7 +57,7 @@ is not 0 then
|
||||||
is set to point to the next character in
|
is set to point to the next character in
|
||||||
.I s
|
.I s
|
||||||
on return.
|
on return.
|
||||||
0 is returned and
|
0 is returned and
|
||||||
.I e
|
.I e
|
||||||
is not modified when the end of
|
is not modified when the end of
|
||||||
.I s
|
.I s
|
||||||
|
@ -77,9 +77,9 @@ value until up to the number of characters in an
|
||||||
.I int
|
.I int
|
||||||
is reached.
|
is reached.
|
||||||
This operation is inherently machine-dependent,
|
This operation is inherently machine-dependent,
|
||||||
but at least its defined in one place.
|
but at least it's defined in one place.
|
||||||
.PP
|
.PP
|
||||||
The following
|
The following
|
||||||
.B \e
|
.B \e
|
||||||
escape sequences are recognized:
|
escape sequences are recognized:
|
||||||
.TP
|
.TP
|
||||||
|
|
|
@ -73,7 +73,7 @@ A
|
||||||
is appended to the message text, so none should appear in the
|
is appended to the message text, so none should appear in the
|
||||||
.L printf
|
.L printf
|
||||||
format.
|
format.
|
||||||
If
|
If
|
||||||
.I error_info.id
|
.I error_info.id
|
||||||
is not
|
is not
|
||||||
.L 0
|
.L 0
|
||||||
|
@ -92,7 +92,7 @@ returns the
|
||||||
argument, but on some systems it may do language translation via lookup
|
argument, but on some systems it may do language translation via lookup
|
||||||
on the original source text.
|
on the original source text.
|
||||||
.RL ( error
|
.RL ( error
|
||||||
calls
|
calls
|
||||||
.L ERROR_translate
|
.L ERROR_translate
|
||||||
with a 0
|
with a 0
|
||||||
.L flag
|
.L flag
|
||||||
|
@ -107,7 +107,7 @@ Debug messages are prefixed with
|
||||||
.BI debug level.
|
.BI debug level.
|
||||||
If
|
If
|
||||||
.I "errno != error_info.last_errno"
|
.I "errno != error_info.last_errno"
|
||||||
then
|
then
|
||||||
.I error_info.last_errno
|
.I error_info.last_errno
|
||||||
is set to
|
is set to
|
||||||
.I errno
|
.I errno
|
||||||
|
@ -164,7 +164,7 @@ to the message after
|
||||||
A usage message is emitted.
|
A usage message is emitted.
|
||||||
.TP
|
.TP
|
||||||
.L ERROR_PROMPT
|
.L ERROR_PROMPT
|
||||||
The trailing
|
The trailing
|
||||||
.I newline
|
.I newline
|
||||||
is suppressed.
|
is suppressed.
|
||||||
.TP
|
.TP
|
||||||
|
@ -179,7 +179,7 @@ The message is from a library routine.
|
||||||
The elements of the global struct
|
The elements of the global struct
|
||||||
.I error_info
|
.I error_info
|
||||||
control error output and actions.
|
control error output and actions.
|
||||||
Parts of
|
Parts of
|
||||||
.I error_info
|
.I error_info
|
||||||
can be initialized from the
|
can be initialized from the
|
||||||
.L ERROR_OPTIONS
|
.L ERROR_OPTIONS
|
||||||
|
@ -192,14 +192,14 @@ options, described below.
|
||||||
.I "int core"
|
.I "int core"
|
||||||
If
|
If
|
||||||
.I "error_info.core != 0"
|
.I "error_info.core != 0"
|
||||||
then
|
then
|
||||||
.I "level >= error_info.core"
|
.I "level >= error_info.core"
|
||||||
generates a core dump.
|
generates a core dump.
|
||||||
Initialized by
|
Initialized by
|
||||||
.EX
|
.EX
|
||||||
ERROR_OPTIONS="core=\fIlevel\fP"
|
ERROR_OPTIONS="core=\fIlevel\fP"
|
||||||
.EE
|
.EE
|
||||||
where
|
where
|
||||||
.I level
|
.I level
|
||||||
can be a number or one of
|
can be a number or one of
|
||||||
.LR error ,
|
.LR error ,
|
||||||
|
@ -247,7 +247,7 @@ are defined
|
||||||
.RL ( _TRACE_
|
.RL ( _TRACE_
|
||||||
is defined by
|
is defined by
|
||||||
.I makerules
|
.I makerules
|
||||||
when
|
when
|
||||||
.L CCFLAGS
|
.L CCFLAGS
|
||||||
contains
|
contains
|
||||||
.LR \-g ).
|
.LR \-g ).
|
||||||
|
@ -264,7 +264,7 @@ and
|
||||||
.L message
|
.L message
|
||||||
call
|
call
|
||||||
.L liberror
|
.L liberror
|
||||||
and
|
and
|
||||||
.L error
|
.L error
|
||||||
respectively if
|
respectively if
|
||||||
.IR "error_info.trace<0" .
|
.IR "error_info.trace<0" .
|
||||||
|
|
|
@ -57,18 +57,18 @@ via
|
||||||
or
|
or
|
||||||
.IR at .
|
.IR at .
|
||||||
.PP
|
.PP
|
||||||
.L findopen
|
.L findopen
|
||||||
returns a handle to a
|
returns a handle to a
|
||||||
.I fastfind
|
.I fastfind
|
||||||
stream for the
|
stream for the
|
||||||
.I ksh
|
.I ksh
|
||||||
file pattern
|
file pattern
|
||||||
.IR pattern .
|
.IR pattern .
|
||||||
.L findnext
|
.L findnext
|
||||||
returns the next pathname that matches the pattern specified by
|
returns the next pathname that matches the pattern specified by
|
||||||
.IR handle .
|
.IR handle .
|
||||||
.L findnext
|
.L findnext
|
||||||
returns
|
returns
|
||||||
.L 0
|
.L 0
|
||||||
when no more pathnames match the pattern.
|
when no more pathnames match the pattern.
|
||||||
Finally,
|
Finally,
|
||||||
|
@ -78,7 +78,7 @@ closes the
|
||||||
stream for
|
stream for
|
||||||
.IR handle .
|
.IR handle .
|
||||||
.SH BUGS
|
.SH BUGS
|
||||||
These rotuines are only as good as the
|
These routines are only as good as the
|
||||||
.I fastfind
|
.I fastfind
|
||||||
information which is in the system administration domain.
|
information which is in the system administration domain.
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
|
|
|
@ -167,7 +167,7 @@ mode string for the file mode bits in
|
||||||
.IR mode .
|
.IR mode .
|
||||||
If
|
If
|
||||||
.I "external != 0"
|
.I "external != 0"
|
||||||
then
|
then
|
||||||
.I mode
|
.I mode
|
||||||
is
|
is
|
||||||
.IR modecanon (3)
|
.IR modecanon (3)
|
||||||
|
@ -191,7 +191,7 @@ pattern
|
||||||
.L fmtsignal
|
.L fmtsignal
|
||||||
returns the signal name, sans
|
returns the signal name, sans
|
||||||
.LR SIG ,
|
.LR SIG ,
|
||||||
for the signal number
|
for the signal number
|
||||||
.IR sig .
|
.IR sig .
|
||||||
If
|
If
|
||||||
.I "sig < 0"
|
.I "sig < 0"
|
||||||
|
|
|
@ -51,7 +51,7 @@ formats
|
||||||
.IR ls (1)
|
.IR ls (1)
|
||||||
style file information into the buffer
|
style file information into the buffer
|
||||||
.IR buf .
|
.IR buf .
|
||||||
A pointer to the trailing 0 in
|
A pointer to the trailing 0 in
|
||||||
.I buf
|
.I buf
|
||||||
is returned.
|
is returned.
|
||||||
.I name
|
.I name
|
||||||
|
@ -130,7 +130,7 @@ The user and group fields are each
|
||||||
.B LS_W_NAME
|
.B LS_W_NAME
|
||||||
characters wide,
|
characters wide,
|
||||||
the
|
the
|
||||||
.B LS_INUMBER
|
.B LS_INUMBER
|
||||||
field is
|
field is
|
||||||
.B LS_W_INUMBER
|
.B LS_W_INUMBER
|
||||||
characters wide,
|
characters wide,
|
||||||
|
|
|
@ -114,7 +114,7 @@ The \fIuserf\fP prototype is:
|
||||||
char* path; /* full pathname */
|
char* path; /* full pathname */
|
||||||
short pathlen; /* strlen(path) */
|
short pathlen; /* strlen(path) */
|
||||||
unsigned short info; /* type of object */
|
unsigned short info; /* type of object */
|
||||||
unsigned short status; /* status of object */
|
unsigned short status; /* status of object */
|
||||||
short level; /* depth of object on the search path */
|
short level; /* depth of object on the search path */
|
||||||
short namelen; /* strlen(name) */
|
short namelen; /* strlen(name) */
|
||||||
char name[]; /* file name of object */
|
char name[]; /* file name of object */
|
||||||
|
@ -206,7 +206,7 @@ The \fIcomparf\fP prototype is:
|
||||||
\fIFtwalk\fR normally returns 0.
|
\fIFtwalk\fR normally returns 0.
|
||||||
On hard errors such as running out of memory, it returns -1.
|
On hard errors such as running out of memory, it returns -1.
|
||||||
\fIFtwalk\fR may also return other values as discussed with respect
|
\fIFtwalk\fR may also return other values as discussed with respect
|
||||||
to \fIuserf\fR.
|
to \fIuserf\fR.
|
||||||
.PP
|
.PP
|
||||||
\fIFtwflags\fR returns a combination of \fB0, FTW_META, FTW_PHYSICAL\fR
|
\fIFtwflags\fR returns a combination of \fB0, FTW_META, FTW_PHYSICAL\fR
|
||||||
according to the
|
according to the
|
||||||
|
|
|
@ -49,7 +49,7 @@ char* getcwd(char* \fIbuf\fP, size_t \fIlen\fP);
|
||||||
.L getcwd
|
.L getcwd
|
||||||
copies the absolute path name of the current directory info into
|
copies the absolute path name of the current directory info into
|
||||||
.I buf
|
.I buf
|
||||||
of length
|
of length
|
||||||
.IR len .
|
.IR len .
|
||||||
The return path may be longer than
|
The return path may be longer than
|
||||||
.LR PATH_MAX .
|
.LR PATH_MAX .
|
||||||
|
@ -57,10 +57,10 @@ If
|
||||||
.I "buff == 0"
|
.I "buff == 0"
|
||||||
then space is allocated via
|
then space is allocated via
|
||||||
.IR malloc (3)
|
.IR malloc (3)
|
||||||
and
|
and
|
||||||
.I len
|
.I len
|
||||||
extra characters are reserved after the generated path name.
|
extra characters are reserved after the generated path name.
|
||||||
A pointer to the path name is returned,
|
A pointer to the path name is returned,
|
||||||
.L 0
|
.L 0
|
||||||
on error.
|
on error.
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
|
|
|
@ -52,7 +52,7 @@ and its
|
||||||
.IR value .
|
.IR value .
|
||||||
A
|
A
|
||||||
.I key
|
.I key
|
||||||
is a sequence of
|
is a sequence of
|
||||||
.L char
|
.L char
|
||||||
elements and a
|
elements and a
|
||||||
.I value
|
.I value
|
||||||
|
@ -116,7 +116,7 @@ The number of lookup collisions.
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.L "Hash_table_t* scope"
|
.L "Hash_table_t* scope"
|
||||||
The table that this scope covers,
|
The table that this scope covers,
|
||||||
.L NULL
|
.L NULL
|
||||||
if the table is not a scope.
|
if the table is not a scope.
|
||||||
.TP
|
.TP
|
||||||
|
@ -215,11 +215,11 @@ if
|
||||||
is specified and
|
is specified and
|
||||||
.IR strcmp (3)
|
.IR strcmp (3)
|
||||||
otherwise.
|
otherwise.
|
||||||
The first argument is the
|
The first argument is the
|
||||||
.I key
|
.I key
|
||||||
from the current hash bucket on the
|
from the current hash bucket on the
|
||||||
.I "collision chain"
|
.I "collision chain"
|
||||||
and the second argument is the user supplied
|
and the second argument is the user supplied
|
||||||
.IR key .
|
.IR key .
|
||||||
.TP
|
.TP
|
||||||
.L "HASH_free, (int(*)()) free"
|
.L "HASH_free, (int(*)()) free"
|
||||||
|
@ -230,7 +230,7 @@ If
|
||||||
was set in
|
was set in
|
||||||
.L hashalloc
|
.L hashalloc
|
||||||
then the hash bucket pointer is passed, otherwise the bucket
|
then the hash bucket pointer is passed, otherwise the bucket
|
||||||
.L value
|
.L value
|
||||||
pointer is passed.
|
pointer is passed.
|
||||||
.TP
|
.TP
|
||||||
.L "HASH_hash, (int(*)()) hash"
|
.L "HASH_hash, (int(*)()) hash"
|
||||||
|
@ -275,7 +275,7 @@ Changes the hash table flags by
|
||||||
.IR or ing
|
.IR or ing
|
||||||
in
|
in
|
||||||
.LR flags .
|
.LR flags .
|
||||||
The flags, which may be
|
The flags, which may be
|
||||||
.IR or ed
|
.IR or ed
|
||||||
together, are:
|
together, are:
|
||||||
.RS
|
.RS
|
||||||
|
@ -321,7 +321,7 @@ in the hash table
|
||||||
.L tab
|
.L tab
|
||||||
according to
|
according to
|
||||||
.L flags
|
.L flags
|
||||||
and
|
and
|
||||||
.LR value .
|
.LR value .
|
||||||
A
|
A
|
||||||
.L Hash_bucket_t
|
.L Hash_bucket_t
|
||||||
|
@ -408,7 +408,7 @@ value is returned.
|
||||||
For
|
For
|
||||||
.L HASH_LOOKUP
|
.L HASH_LOOKUP
|
||||||
the bucket
|
the bucket
|
||||||
.L value
|
.L value
|
||||||
field is returned,
|
field is returned,
|
||||||
.L NULL
|
.L NULL
|
||||||
if the bucket is not found.
|
if the bucket is not found.
|
||||||
|
@ -481,7 +481,7 @@ in the hash table
|
||||||
.LR tab .
|
.LR tab .
|
||||||
If
|
If
|
||||||
.L flags
|
.L flags
|
||||||
is
|
is
|
||||||
.L HASH_NOSCOPE
|
.L HASH_NOSCOPE
|
||||||
then only the top level hash table is used, otherwise the walk includes
|
then only the top level hash table is used, otherwise the walk includes
|
||||||
all scope covered tables.
|
all scope covered tables.
|
||||||
|
@ -514,7 +514,7 @@ pointer for a sequential scan on the hash table
|
||||||
.LR tab .
|
.LR tab .
|
||||||
If
|
If
|
||||||
.L flags
|
.L flags
|
||||||
is
|
is
|
||||||
.L HASH_NOSCOPE
|
.L HASH_NOSCOPE
|
||||||
then only the top level hash table is used, otherwise the scan includes
|
then only the top level hash table is used, otherwise the scan includes
|
||||||
all scope covered tables.
|
all scope covered tables.
|
||||||
|
@ -534,9 +534,9 @@ If no elements remain then
|
||||||
is returned.
|
is returned.
|
||||||
.TP
|
.TP
|
||||||
.L "void hashdone(Hash_position_t* pos)"
|
.L "void hashdone(Hash_position_t* pos)"
|
||||||
Completes a scan initiated by
|
Completes a scan initiated by
|
||||||
.L hashscan()
|
.L hashscan()
|
||||||
on
|
on
|
||||||
.LR pos .
|
.LR pos .
|
||||||
.TP
|
.TP
|
||||||
.L "int hashset(Hash_table_t* tab, int flags)"
|
.L "int hashset(Hash_table_t* tab, int flags)"
|
||||||
|
@ -567,14 +567,14 @@ may be cleared.
|
||||||
Dumps hash table accounting info to standard error.
|
Dumps hash table accounting info to standard error.
|
||||||
If
|
If
|
||||||
.L tab
|
.L tab
|
||||||
is
|
is
|
||||||
.L NULL
|
.L NULL
|
||||||
then all allocated hash tables are dumped, otherwise only information on
|
then all allocated hash tables are dumped, otherwise only information on
|
||||||
.L tab
|
.L tab
|
||||||
is dumped.
|
is dumped.
|
||||||
If
|
If
|
||||||
.L flags
|
.L flags
|
||||||
is
|
is
|
||||||
.L HASH_BUCKET
|
.L HASH_BUCKET
|
||||||
then the hash bucket
|
then the hash bucket
|
||||||
.I key-value
|
.I key-value
|
||||||
|
|
|
@ -62,7 +62,7 @@ These routines provide an interface to the
|
||||||
command magic file.
|
command magic file.
|
||||||
.L magicopen
|
.L magicopen
|
||||||
returns a magic session handle that is passed to all of the other routines.
|
returns a magic session handle that is passed to all of the other routines.
|
||||||
.I flags
|
.I flags
|
||||||
may be
|
may be
|
||||||
.TP
|
.TP
|
||||||
.L MAGIC_MIME
|
.L MAGIC_MIME
|
||||||
|
@ -94,13 +94,13 @@ loads the magic file named by
|
||||||
.I path
|
.I path
|
||||||
into the magic session.
|
into the magic session.
|
||||||
.I flags
|
.I flags
|
||||||
are the same as with
|
are the same as with
|
||||||
.LR magicopen .
|
.LR magicopen .
|
||||||
More than one magic file can be loaded into a session;
|
More than one magic file can be loaded into a session;
|
||||||
the files are searched in load order.
|
the files are searched in load order.
|
||||||
If
|
If
|
||||||
.I path
|
.I path
|
||||||
is
|
is
|
||||||
.L 0
|
.L 0
|
||||||
then the default magic file is loaded.
|
then the default magic file is loaded.
|
||||||
.PP
|
.PP
|
||||||
|
@ -133,7 +133,7 @@ flag then
|
||||||
.I st
|
.I st
|
||||||
is assumed to contain valid stat information, otherwise
|
is assumed to contain valid stat information, otherwise
|
||||||
.L magictype
|
.L magictype
|
||||||
calls
|
calls
|
||||||
.L stat
|
.L stat
|
||||||
on
|
on
|
||||||
.IR st .
|
.IR st .
|
||||||
|
@ -150,7 +150,7 @@ However, with the extended format it is possible to write a single
|
||||||
magic file that works on all platforms.
|
magic file that works on all platforms.
|
||||||
Most of the net magic files floating around work with
|
Most of the net magic files floating around work with
|
||||||
.LR magic ,
|
.LR magic ,
|
||||||
but they usually double up on
|
but they usually double up on
|
||||||
.I le
|
.I le
|
||||||
and
|
and
|
||||||
.I be
|
.I be
|
||||||
|
@ -227,7 +227,7 @@ field is either the offset into the data upon which the current entry operates
|
||||||
or a file metadata identifier.
|
or a file metadata identifier.
|
||||||
Offsets are either integer constants or offset expressions.
|
Offsets are either integer constants or offset expressions.
|
||||||
An offset expression is contained in (...) and is a combination of
|
An offset expression is contained in (...) and is a combination of
|
||||||
integral arithmetic operators and the
|
integral arithmetic operators and the
|
||||||
.L @
|
.L @
|
||||||
indirection operator.
|
indirection operator.
|
||||||
Indirections take the form
|
Indirections take the form
|
||||||
|
@ -238,9 +238,9 @@ The size of the indirection value is taken either from one of the suffixes
|
||||||
.LR H (short, 2 chars),
|
.LR H (short, 2 chars),
|
||||||
.LR L (long, 4 chars),
|
.LR L (long, 4 chars),
|
||||||
pr
|
pr
|
||||||
.LR Q (quead, 8 chars),
|
.LR Q (quad, 8 chars),
|
||||||
or from the
|
or from the
|
||||||
.L type
|
.L type
|
||||||
field.
|
field.
|
||||||
Valid file metadata identifiers are:
|
Valid file metadata identifiers are:
|
||||||
.TP
|
.TP
|
||||||
|
@ -372,7 +372,7 @@ field takes the form
|
||||||
.LI & number
|
.LI & number
|
||||||
where
|
where
|
||||||
.I number
|
.I number
|
||||||
is
|
is
|
||||||
.I anded
|
.I anded
|
||||||
with the integral value at
|
with the integral value at
|
||||||
.L offset
|
.L offset
|
||||||
|
@ -389,13 +389,13 @@ field entries above.
|
||||||
means any value and applies to all types.
|
means any value and applies to all types.
|
||||||
Integral
|
Integral
|
||||||
.L type
|
.L type
|
||||||
expression take the form [\fIoperator\fP] \fIoperand\P where
|
expression take the form [\fIoperator\fP] \fIoperand\P where
|
||||||
.I operand
|
.I operand
|
||||||
is compared with the data value at
|
is compared with the data value at
|
||||||
.L offset
|
.L offset
|
||||||
using
|
using
|
||||||
.IR operator .
|
.IR operator .
|
||||||
.I operator
|
.I operator
|
||||||
may be one of
|
may be one of
|
||||||
.LR < .
|
.LR < .
|
||||||
.LR <= ,
|
.LR <= ,
|
||||||
|
@ -407,7 +407,7 @@ or
|
||||||
defaults to
|
defaults to
|
||||||
.L ==
|
.L ==
|
||||||
if omitted.
|
if omitted.
|
||||||
.I operand
|
.I operand
|
||||||
may be an integral constant or one of the following builtin function calls:
|
may be an integral constant or one of the following builtin function calls:
|
||||||
.TP
|
.TP
|
||||||
.L magic()
|
.L magic()
|
||||||
|
@ -415,7 +415,7 @@ A recursive call to the magic algorithm starting with the data at
|
||||||
.LR offset .
|
.LR offset .
|
||||||
.TP
|
.TP
|
||||||
\f5loop(\fIfunction\fP,\fIoffset\fP,\fIincrement\fP)\fR
|
\f5loop(\fIfunction\fP,\fIoffset\fP,\fIincrement\fP)\fR
|
||||||
Call
|
Call
|
||||||
.I function
|
.I function
|
||||||
starting at
|
starting at
|
||||||
.I offset
|
.I offset
|
||||||
|
@ -447,7 +447,7 @@ then a
|
||||||
is placed between the descriptions
|
is placed between the descriptions
|
||||||
(most optional descriptions start with
|
(most optional descriptions start with
|
||||||
.IR comma .)
|
.IR comma .)
|
||||||
The data value at
|
The data value at
|
||||||
.L offset
|
.L offset
|
||||||
can be referenced in the description using
|
can be referenced in the description using
|
||||||
.L %s
|
.L %s
|
||||||
|
|
|
@ -62,7 +62,7 @@ and
|
||||||
may be the same.
|
may be the same.
|
||||||
.PP
|
.PP
|
||||||
.L memdup
|
.L memdup
|
||||||
copies the
|
copies the
|
||||||
.I n
|
.I n
|
||||||
byte buffer
|
byte buffer
|
||||||
.I buf
|
.I buf
|
||||||
|
@ -86,11 +86,11 @@ and
|
||||||
may be the same.
|
may be the same.
|
||||||
.PP
|
.PP
|
||||||
.L memzero
|
.L memzero
|
||||||
sets the first
|
sets the first
|
||||||
.I n
|
.I n
|
||||||
bytes in
|
bytes in
|
||||||
.I buf
|
.I buf
|
||||||
to
|
to
|
||||||
.IR 0 .
|
.IR 0 .
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
Proposed Bell Laboratories ASCII/EBCDIC standard, April 16, 1979.
|
Proposed Bell Laboratories ASCII/EBCDIC standard, April 16, 1979.
|
||||||
|
|
|
@ -62,7 +62,7 @@ These routines provide an interface to the MIME type database.
|
||||||
.L mimeopen
|
.L mimeopen
|
||||||
returns a mime session handle that is passed to all of the other routines.
|
returns a mime session handle that is passed to all of the other routines.
|
||||||
The
|
The
|
||||||
.I flags
|
.I flags
|
||||||
argument is currently unused.
|
argument is currently unused.
|
||||||
.PP
|
.PP
|
||||||
.L mimeclose
|
.L mimeclose
|
||||||
|
@ -93,7 +93,7 @@ More than one mime file can be loaded into a session;
|
||||||
the files are searched in load order.
|
the files are searched in load order.
|
||||||
If
|
If
|
||||||
.I path
|
.I path
|
||||||
is
|
is
|
||||||
.L 0
|
.L 0
|
||||||
then the default mime file is loaded.
|
then the default mime file is loaded.
|
||||||
.PP
|
.PP
|
||||||
|
|
|
@ -98,7 +98,7 @@ The traditional bit access macro (\f5S_\fP prefix changes to \f5X_\fP) are:
|
||||||
and
|
and
|
||||||
.L X_IRWXO .
|
.L X_IRWXO .
|
||||||
.LI X_ITYPE( mode )
|
.LI X_ITYPE( mode )
|
||||||
returns the type bits for
|
returns the type bits for
|
||||||
.IR mode .
|
.IR mode .
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
pax(1), stat(2)
|
pax(1), stat(2)
|
||||||
|
|
|
@ -67,7 +67,7 @@ Path buffers are assumed to be of size
|
||||||
.L <ast.h>
|
.L <ast.h>
|
||||||
always defines
|
always defines
|
||||||
.LR PATH_MAX ,
|
.LR PATH_MAX ,
|
||||||
even if it indeterminant on the local system.
|
even if it's indeterminate on the local system.
|
||||||
Yes, this was probably a bad choice, but it was made about 10 years ago.
|
Yes, this was probably a bad choice, but it was made about 10 years ago.
|
||||||
We will probably move to a <stk.h> based implementation.
|
We will probably move to a <stk.h> based implementation.
|
||||||
.PP
|
.PP
|
||||||
|
@ -80,7 +80,7 @@ with access
|
||||||
.L mode
|
.L mode
|
||||||
using the
|
using the
|
||||||
.L :
|
.L :
|
||||||
separated directories in
|
separated directories in
|
||||||
.IR dirs .
|
.IR dirs .
|
||||||
Both
|
Both
|
||||||
.I a
|
.I a
|
||||||
|
@ -109,11 +109,11 @@ A regular file.
|
||||||
.L PATH_ABSOLUTE
|
.L PATH_ABSOLUTE
|
||||||
Generated path name is rooted at
|
Generated path name is rooted at
|
||||||
.LR / .
|
.LR / .
|
||||||
.I path
|
.I path
|
||||||
is returned, 0 on error.
|
is returned, 0 on error.
|
||||||
.PP
|
.PP
|
||||||
.L pathbin
|
.L pathbin
|
||||||
returns a pointer to the
|
returns a pointer to the
|
||||||
.L :
|
.L :
|
||||||
separated list of directories to search for executable commands.
|
separated list of directories to search for executable commands.
|
||||||
The
|
The
|
||||||
|
@ -130,7 +130,7 @@ canonicalizes the path
|
||||||
in place.
|
in place.
|
||||||
A pointer to the trailing 0 in the canonicalized path is returned.
|
A pointer to the trailing 0 in the canonicalized path is returned.
|
||||||
A canonical path has:
|
A canonical path has:
|
||||||
redundant
|
redundant
|
||||||
.L .
|
.L .
|
||||||
and
|
and
|
||||||
.L /
|
.L /
|
||||||
|
@ -156,7 +156,7 @@ Symbolic links are resolved at each component.
|
||||||
If an error occurs and either of
|
If an error occurs and either of
|
||||||
.L PATH_DOTDOT
|
.L PATH_DOTDOT
|
||||||
or
|
or
|
||||||
.L PATH_EXISTS
|
.L PATH_EXISTS
|
||||||
is set then
|
is set then
|
||||||
.I path
|
.I path
|
||||||
will contain the components following the failure point.
|
will contain the components following the failure point.
|
||||||
|
@ -205,7 +205,7 @@ is longer than
|
||||||
then it is split up into a sequence of relative paths and
|
then it is split up into a sequence of relative paths and
|
||||||
.I chdir
|
.I chdir
|
||||||
is called on each of these.
|
is called on each of these.
|
||||||
For any given system, if you got to a directory, then
|
For any given system, if you got to a directory, then
|
||||||
.L pathcd
|
.L pathcd
|
||||||
can get you back, modulo permission and link changes.
|
can get you back, modulo permission and link changes.
|
||||||
.PP
|
.PP
|
||||||
|
@ -231,13 +231,13 @@ by converting non-standard dynamic link text to
|
||||||
converts in the other direction.
|
converts in the other direction.
|
||||||
.PP
|
.PP
|
||||||
.L pathkey
|
.L pathkey
|
||||||
generates in
|
generates in
|
||||||
.I key
|
.I key
|
||||||
a 14 character lookup key (plus terminating 0) for the language
|
a 14 character lookup key (plus terminating 0) for the language
|
||||||
.I lang
|
.I lang
|
||||||
processor in
|
processor in
|
||||||
.IR path .
|
.IR path .
|
||||||
A poihter to the key is returned, 0 on error.
|
A pointer to the key is returned, 0 on error.
|
||||||
If
|
If
|
||||||
.I "key == 0"
|
.I "key == 0"
|
||||||
then space is allocated via
|
then space is allocated via
|
||||||
|
@ -270,9 +270,9 @@ and the
|
||||||
environment variable (set by
|
environment variable (set by
|
||||||
.IR ksh (1) )
|
.IR ksh (1) )
|
||||||
are used for related root searching.
|
are used for related root searching.
|
||||||
If
|
If
|
||||||
.I p
|
.I p
|
||||||
also contains a
|
also contains a
|
||||||
.L /
|
.L /
|
||||||
then
|
then
|
||||||
.I ../p
|
.I ../p
|
||||||
|
@ -367,14 +367,14 @@ where the length of
|
||||||
if !=0, is limited to 5, the length of
|
if !=0, is limited to 5, the length of
|
||||||
.I <pid>
|
.I <pid>
|
||||||
(the base 64 representation of the current process id)
|
(the base 64 representation of the current process id)
|
||||||
is limited to 3, and
|
is limited to 3, and
|
||||||
.I <suf>
|
.I <suf>
|
||||||
(an internally generated suffix that avoid file confilicts)
|
(an internally generated suffix that avoid file conflicts)
|
||||||
is limited to 3.
|
is limited to 3.
|
||||||
The generated path name conforms to the classic UNIX 14 char and the DOS
|
The generated path name conforms to the classic UNIX 14 char and the DOS
|
||||||
.LR 8.3
|
.LR 8.3
|
||||||
limitations.
|
limitations.
|
||||||
Both
|
Both
|
||||||
.I dir
|
.I dir
|
||||||
and
|
and
|
||||||
.I pfx
|
.I pfx
|
||||||
|
|
|
@ -92,10 +92,10 @@ In this case
|
||||||
is set to indicate the error.
|
is set to indicate the error.
|
||||||
.TP
|
.TP
|
||||||
.L ispreroot
|
.L ispreroot
|
||||||
Non-zero is returned if
|
Non-zero is returned if
|
||||||
.I dir
|
.I dir
|
||||||
is the current process preroot.
|
is the current process preroot.
|
||||||
If
|
If
|
||||||
.I dir
|
.I dir
|
||||||
is
|
is
|
||||||
.B 0
|
.B 0
|
||||||
|
@ -124,7 +124,7 @@ with the process preroot set to
|
||||||
must be a
|
must be a
|
||||||
.BR 0 -terminated
|
.BR 0 -terminated
|
||||||
argument array.
|
argument array.
|
||||||
If
|
If
|
||||||
.I argv
|
.I argv
|
||||||
is
|
is
|
||||||
.B 0
|
.B 0
|
||||||
|
|
|
@ -72,12 +72,12 @@ and flags in
|
||||||
.IR flags .
|
.IR flags .
|
||||||
.PP
|
.PP
|
||||||
.I command
|
.I command
|
||||||
is searched for using the
|
is searched for using the
|
||||||
.L PATH
|
.L PATH
|
||||||
environment variable from the calling environment.
|
environment variable from the calling environment.
|
||||||
If
|
If
|
||||||
.I command
|
.I command
|
||||||
is
|
is
|
||||||
.L 0
|
.L 0
|
||||||
then the current shell is used (see
|
then the current shell is used (see
|
||||||
.IR pathshell (3)).
|
.IR pathshell (3)).
|
||||||
|
@ -85,7 +85,7 @@ If
|
||||||
.I envv
|
.I envv
|
||||||
is not
|
is not
|
||||||
.L 0
|
.L 0
|
||||||
then it is a
|
then it is a
|
||||||
.L 0
|
.L 0
|
||||||
terminated vector of
|
terminated vector of
|
||||||
\fIname\fP[=\fIvalue\fP]
|
\fIname\fP[=\fIvalue\fP]
|
||||||
|
@ -110,9 +110,9 @@ and will appear at the top of the child environment.
|
||||||
.PP
|
.PP
|
||||||
If
|
If
|
||||||
.I opv
|
.I opv
|
||||||
is not
|
is not
|
||||||
.L 0
|
.L 0
|
||||||
then it is a 0 terminaled vector of operations to perform.
|
then it is a zero-terminated vector of operations to perform.
|
||||||
In the following
|
In the following
|
||||||
.I context
|
.I context
|
||||||
is a combination of
|
is a combination of
|
||||||
|
@ -131,7 +131,7 @@ is closed in
|
||||||
\f5PROC_FD_DUP(\fIfrom\fP,\fIto\fP,\fIcontext\fP)\fR
|
\f5PROC_FD_DUP(\fIfrom\fP,\fIto\fP,\fIcontext\fP)\fR
|
||||||
The file descriptor
|
The file descriptor
|
||||||
.I from
|
.I from
|
||||||
is
|
is
|
||||||
.IR dup (2)'d
|
.IR dup (2)'d
|
||||||
into the file descriptor
|
into the file descriptor
|
||||||
.I to
|
.I to
|
||||||
|
@ -155,7 +155,7 @@ in the child context.
|
||||||
\f5PROC_SYS_PGRP(\fIpgid\fP)\fR
|
\f5PROC_SYS_PGRP(\fIpgid\fP)\fR
|
||||||
The child process group is set to
|
The child process group is set to
|
||||||
.IR pgid .
|
.IR pgid .
|
||||||
.I pgid
|
.I pgid
|
||||||
may have the following values:
|
may have the following values:
|
||||||
.TP
|
.TP
|
||||||
.L <0
|
.L <0
|
||||||
|
@ -190,7 +190,7 @@ when
|
||||||
is a shell script.
|
is a shell script.
|
||||||
.TP
|
.TP
|
||||||
.L PROC_BACKGROUND
|
.L PROC_BACKGROUND
|
||||||
Standard shell
|
Standard shell
|
||||||
.L &
|
.L &
|
||||||
setup is done for the child process.
|
setup is done for the child process.
|
||||||
.TP
|
.TP
|
||||||
|
@ -241,7 +241,7 @@ if it is a shell script.
|
||||||
.L PROC_PRIVELEGED
|
.L PROC_PRIVELEGED
|
||||||
If the effective user id is
|
If the effective user id is
|
||||||
.L 0
|
.L 0
|
||||||
then the child real user id is set to
|
then the child real user id is set to
|
||||||
.L 0
|
.L 0
|
||||||
and the child real group id is set to the effective group id.
|
and the child real group id is set to the effective group id.
|
||||||
.TP
|
.TP
|
||||||
|
@ -274,7 +274,7 @@ The child process id.
|
||||||
.TP
|
.TP
|
||||||
.L "pid_t \fIpgrp\fP"
|
.L "pid_t \fIpgrp\fP"
|
||||||
The child process group.
|
The child process group.
|
||||||
.TP
|
.TP
|
||||||
.L "int \fIrfd\fP"
|
.L "int \fIrfd\fP"
|
||||||
A read file descriptor connected to
|
A read file descriptor connected to
|
||||||
.IR command 's
|
.IR command 's
|
||||||
|
@ -308,9 +308,9 @@ Presumably some other mechanism will be used to wait for
|
||||||
.IR proc.pid .
|
.IR proc.pid .
|
||||||
.PP
|
.PP
|
||||||
.L procrun
|
.L procrun
|
||||||
combines
|
combines
|
||||||
.L procopen
|
.L procopen
|
||||||
and
|
and
|
||||||
.L procclose
|
.L procclose
|
||||||
with the flags
|
with the flags
|
||||||
.L PROC_GID|PROC_UID
|
.L PROC_GID|PROC_UID
|
||||||
|
|
|
@ -105,7 +105,7 @@ then the array
|
||||||
is filled with character pointers to the substrings of
|
is filled with character pointers to the substrings of
|
||||||
.I source
|
.I source
|
||||||
that correspond to the
|
that correspond to the
|
||||||
parenthesized subexpressions of
|
parenthesized subexpressions of
|
||||||
.IR pattern :
|
.IR pattern :
|
||||||
.I re\->match[i].sp
|
.I re\->match[i].sp
|
||||||
points to the beginning and
|
points to the beginning and
|
||||||
|
@ -128,12 +128,12 @@ are filled with zeros.
|
||||||
Matches involving
|
Matches involving
|
||||||
.LR * ,
|
.LR * ,
|
||||||
.LR + ,
|
.LR + ,
|
||||||
and
|
and
|
||||||
.L ?
|
.L ?
|
||||||
are extended as far as possible.
|
are extended as far as possible.
|
||||||
A maximum of 9 subexpressions will be matched.
|
A maximum of 9 subexpressions will be matched.
|
||||||
The structure of elements of
|
The structure of elements of
|
||||||
.I re\->match
|
.I re\->match
|
||||||
is:
|
is:
|
||||||
.nf
|
.nf
|
||||||
.ta 8n
|
.ta 8n
|
||||||
|
@ -168,7 +168,7 @@ string delimited by
|
||||||
.LI re\->match[ n ].sp
|
.LI re\->match[ n ].sp
|
||||||
and
|
and
|
||||||
.LI re\->match[ n ].ep .
|
.LI re\->match[ n ].ep .
|
||||||
Each instance of
|
Each instance of
|
||||||
.L &
|
.L &
|
||||||
is replaced by the string delimited by
|
is replaced by the string delimited by
|
||||||
.I re\->match[0].sp
|
.I re\->match[0].sp
|
||||||
|
|
|
@ -165,7 +165,7 @@ long sffmtversion(Sffmt_t* fe, type);
|
||||||
.ft 5
|
.ft 5
|
||||||
Void_t* sfsetbuf(Sfio_t* f, Void_t* buf, size_t size);
|
Void_t* sfsetbuf(Sfio_t* f, Void_t* buf, size_t size);
|
||||||
int sfsync(Sfio_t* f);
|
int sfsync(Sfio_t* f);
|
||||||
int sfpoll(Sfio_t** flist, int n, int timeout);
|
int sfpoll(Sfio_t** flist, int n, int timeout);
|
||||||
Sfio_t* sfpool(Sfio_t* f, Sfio_t* poolf, int mode);
|
Sfio_t* sfpool(Sfio_t* f, Sfio_t* poolf, int mode);
|
||||||
int sfpurge(Sfio_t* f);
|
int sfpurge(Sfio_t* f);
|
||||||
.ft 1
|
.ft 1
|
||||||
|
@ -188,7 +188,7 @@ SF_DPUSH
|
||||||
SF_DPOP
|
SF_DPOP
|
||||||
SF_DPOLL
|
SF_DPOLL
|
||||||
SF_DBUFFER
|
SF_DBUFFER
|
||||||
SF_SYNC
|
SF_SYNC
|
||||||
SF_PURGE
|
SF_PURGE
|
||||||
SF_FINAL
|
SF_FINAL
|
||||||
SF_READY
|
SF_READY
|
||||||
|
@ -283,7 +283,7 @@ stream pools for automatic data synchronization.
|
||||||
Applications can extend the \f5sfprintf()/sfscanf()\fP functions
|
Applications can extend the \f5sfprintf()/sfscanf()\fP functions
|
||||||
to define their own conversion patterns as well as redefine existing ones.
|
to define their own conversion patterns as well as redefine existing ones.
|
||||||
.PP
|
.PP
|
||||||
A discipline defines analogues of
|
A discipline defines analogues of
|
||||||
the system calls \f5read(2), write(2)\fP and \f5lseek(2)\fP.
|
the system calls \f5read(2), write(2)\fP and \f5lseek(2)\fP.
|
||||||
Such system calls or their discipline replacements are used to process stream data.
|
Such system calls or their discipline replacements are used to process stream data.
|
||||||
Henceforth, ``\fIsystem call\fP'' will refer to either a system call
|
Henceforth, ``\fIsystem call\fP'' will refer to either a system call
|
||||||
|
@ -455,8 +455,8 @@ no longer behave as macros. Thus, an application that requires such fast macro f
|
||||||
should leave \f5SF_MTSAFE\fP off and performs explicit locking with \f5sfmutex()\fP.
|
should leave \f5SF_MTSAFE\fP off and performs explicit locking with \f5sfmutex()\fP.
|
||||||
.Tp
|
.Tp
|
||||||
\f5SF_IOINTR\fP:
|
\f5SF_IOINTR\fP:
|
||||||
This flag indicates that I/O system calls should not be resumed
|
This flag indicates that I/O system calls should not be resumed
|
||||||
after being interrupted by signals. It is useful for
|
after being interrupted by signals. It is useful for
|
||||||
aborting I/O operations on such interruptions. Note, however,
|
aborting I/O operations on such interruptions. Note, however,
|
||||||
that certain operating systems (e.g., BSD Unix systems) may automatically
|
that certain operating systems (e.g., BSD Unix systems) may automatically
|
||||||
resume interrupted system calls outside the scope of the library. On such systems,
|
resume interrupted system calls outside the scope of the library. On such systems,
|
||||||
|
@ -784,7 +784,7 @@ from input stream \f5fr\fP to output stream \f5fw\fP.
|
||||||
|
|
||||||
An object can be either a byte if the record separator argument
|
An object can be either a byte if the record separator argument
|
||||||
\f5rsc\fP is negative or a record of \f5rsc\fP is non-negative.
|
\f5rsc\fP is negative or a record of \f5rsc\fP is non-negative.
|
||||||
In the latter case, a record is incomplete if it does not end in \f5rsc\fP.
|
In the latter case, a record is incomplete if it does not end in \f5rsc\fP.
|
||||||
Generally speaking, a stream can have at most one incomplete record.
|
Generally speaking, a stream can have at most one incomplete record.
|
||||||
If \f5n\fP is negative, all complete objects of \f5fr\fP will be moved.
|
If \f5n\fP is negative, all complete objects of \f5fr\fP will be moved.
|
||||||
Otherwise, \f5n\fP indicates the number of objects to move.
|
Otherwise, \f5n\fP indicates the number of objects to move.
|
||||||
|
@ -866,7 +866,7 @@ call can be obtained in another \f5sfreserve()\fP call with the argument
|
||||||
\f5type\fP being \f5SF_LASTR\fP. The second argument \f5n\fP
|
\f5type\fP being \f5SF_LASTR\fP. The second argument \f5n\fP
|
||||||
to \f5sfreserve()\fP will be ignored in this case.
|
to \f5sfreserve()\fP will be ignored in this case.
|
||||||
|
|
||||||
A \f5sfreserve()\fP call is successful if it can obtain a data block
|
A \f5sfreserve()\fP call is successful if it can obtain a data block
|
||||||
of size at least the absolute value of \f5n\fP.
|
of size at least the absolute value of \f5n\fP.
|
||||||
For a \f5SF_READ\fP atream, the argument \f5n\fP is treated as follows:
|
For a \f5SF_READ\fP atream, the argument \f5n\fP is treated as follows:
|
||||||
.Tp
|
.Tp
|
||||||
|
@ -986,7 +986,7 @@ which contains the following elements:
|
||||||
|
|
||||||
char* form; /* format string to stack */
|
char* form; /* format string to stack */
|
||||||
va_list args; /* corresponding arg list */
|
va_list args; /* corresponding arg list */
|
||||||
|
|
||||||
int fmt; /* pattern being processed */
|
int fmt; /* pattern being processed */
|
||||||
ssize_t size; /* object size */
|
ssize_t size; /* object size */
|
||||||
int flags; /* formatting control flags */
|
int flags; /* formatting control flags */
|
||||||
|
@ -1100,7 +1100,7 @@ Arguments are always processed in order and
|
||||||
\f5fe->extf\fP is called exactly once per argument.
|
\f5fe->extf\fP is called exactly once per argument.
|
||||||
Note that, when \f5pos$\fP (below) is not used anywhere in a format string,
|
Note that, when \f5pos$\fP (below) is not used anywhere in a format string,
|
||||||
each argument is used exactly once per a corresponding pattern.
|
each argument is used exactly once per a corresponding pattern.
|
||||||
In that case, \f5fe->extf\fP is called
|
In that case, \f5fe->extf\fP is called
|
||||||
as soon as the pattern is recognized and before any scanning or formatting.
|
as soon as the pattern is recognized and before any scanning or formatting.
|
||||||
On the other hand, when \f5pos$\fP is used in a format string,
|
On the other hand, when \f5pos$\fP is used in a format string,
|
||||||
an argument may be used multiple times.
|
an argument may be used multiple times.
|
||||||
|
@ -1257,7 +1257,7 @@ In the second case, a given decimal value would define a size while
|
||||||
Then, if the conversion specifier is \f5s\fP, this size defines the
|
Then, if the conversion specifier is \f5s\fP, this size defines the
|
||||||
length of the string or strings being formatted (see the discussion of \f5base\fP below).
|
length of the string or strings being formatted (see the discussion of \f5base\fP below).
|
||||||
For integer and floating point patterns,
|
For integer and floating point patterns,
|
||||||
the size is used to select a type from one of the below lists as
|
the size is used to select a type from one of the below lists as
|
||||||
indicated by the conversion specifier:
|
indicated by the conversion specifier:
|
||||||
|
|
||||||
.nf
|
.nf
|
||||||
|
@ -1270,7 +1270,7 @@ indicated by the conversion specifier:
|
||||||
|
|
||||||
The selection algorithm always matches types from left to right in any given list.
|
The selection algorithm always matches types from left to right in any given list.
|
||||||
Although selection is generally based on sizes in bytes,
|
Although selection is generally based on sizes in bytes,
|
||||||
for compatibility with Microsoft-C, the size 64
|
for compatibility with Microsoft-C, the size 64
|
||||||
is matched with an appropriate type with the same number of bits, if any.
|
is matched with an appropriate type with the same number of bits, if any.
|
||||||
If the given size does not match any of the listed types,
|
If the given size does not match any of the listed types,
|
||||||
it shall match one of \f5int\fP, \f5unsigned int\fP, and \f5double\fP
|
it shall match one of \f5int\fP, \f5unsigned int\fP, and \f5double\fP
|
||||||
|
@ -1517,7 +1517,7 @@ indicated by the conversion specifier:
|
||||||
|
|
||||||
The selection algorithm always matches types from left to right in any given list.
|
The selection algorithm always matches types from left to right in any given list.
|
||||||
Although selection is generally based on sizes in bytes,
|
Although selection is generally based on sizes in bytes,
|
||||||
for compatibility with Microsoft-C, the size 64
|
for compatibility with Microsoft-C, the size 64
|
||||||
is matched with an appropriate type with the same number of bits, if any.
|
is matched with an appropriate type with the same number of bits, if any.
|
||||||
If the given size does not match any of the listed types,
|
If the given size does not match any of the listed types,
|
||||||
it shall match one of \f5int\fP, \f5unsigned int\fP, and \f5double\fP
|
it shall match one of \f5int\fP, \f5unsigned int\fP, and \f5double\fP
|
||||||
|
@ -1738,7 +1738,7 @@ the discipline that was pushed down.
|
||||||
|
|
||||||
Note that a discipline can be used on only one stream at a time.
|
Note that a discipline can be used on only one stream at a time.
|
||||||
An application should take care to allocate different discipline
|
An application should take care to allocate different discipline
|
||||||
structures for use with different streams.
|
structures for use with different streams.
|
||||||
A discipline structure is of the type \f5Sfdisc_t\fP which
|
A discipline structure is of the type \f5Sfdisc_t\fP which
|
||||||
contains the following public fields:
|
contains the following public fields:
|
||||||
|
|
||||||
|
@ -1854,7 +1854,7 @@ I/O modes are ready.
|
||||||
.Tp
|
.Tp
|
||||||
\f5SF_SYNC\fP, \f5SF_PURGE\fP:
|
\f5SF_SYNC\fP, \f5SF_PURGE\fP:
|
||||||
If \f5SF_IOCHECK\fP is set,
|
If \f5SF_IOCHECK\fP is set,
|
||||||
these events are raised respectively for a \f5sfsync()\fP or \f5sfpurge()\fP call.
|
these events are raised respectively for a \f5sfsync()\fP or \f5sfpurge()\fP call.
|
||||||
In each case, the respective event is raised once before the appropriate
|
In each case, the respective event is raised once before the appropriate
|
||||||
operation (synchronization or purging) with \f5((int)value)\fP being \f51\fP
|
operation (synchronization or purging) with \f5((int)value)\fP being \f51\fP
|
||||||
and once after with \f5((int)value)\fP being \f50\fP.
|
and once after with \f5((int)value)\fP being \f50\fP.
|
||||||
|
@ -2066,7 +2066,7 @@ On such a call, if the return value is negative, \f5sfwalk()\fP will terminate.
|
||||||
Otherwise, it returns the return value from the last invocation of \f5walkf()\fP.
|
Otherwise, it returns the return value from the last invocation of \f5walkf()\fP.
|
||||||
|
|
||||||
As an example, the call \f5sfwalk(walkf, data, SF_READ)\fP will iterate over all streams
|
As an example, the call \f5sfwalk(walkf, data, SF_READ)\fP will iterate over all streams
|
||||||
opened for reading. Similarly, \f5sfwalk(walkf, data, SF_READ|SF_WRITE)\fP
|
opened for reading. Similarly, \f5sfwalk(walkf, data, SF_READ|SF_WRITE)\fP
|
||||||
iterates over all streams opened for both reading and writing.
|
iterates over all streams opened for both reading and writing.
|
||||||
Lastly, \f5sfwalk(walkf, data, 0)\fP iterates over all streams.
|
Lastly, \f5sfwalk(walkf, data, 0)\fP iterates over all streams.
|
||||||
|
|
||||||
|
|
|
@ -90,7 +90,7 @@ do this on systems that don't support
|
||||||
.IR fork (2).
|
.IR fork (2).
|
||||||
This makes porting to NT and Windows a snap: a simple
|
This makes porting to NT and Windows a snap: a simple
|
||||||
.IR iffe (1)
|
.IR iffe (1)
|
||||||
probe provides a
|
probe provides a
|
||||||
.L spawnveg
|
.L spawnveg
|
||||||
implementation using the NT or Windows process primitives.
|
implementation using the NT or Windows process primitives.
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
|
|
|
@ -56,14 +56,14 @@ install it as the active stack.
|
||||||
A stack is created with the \f5stakcreate\fP() function.
|
A stack is created with the \f5stakcreate\fP() function.
|
||||||
A \fIflags\fP argument of \f5STAK_SMALL\fP indicates that unused
|
A \fIflags\fP argument of \f5STAK_SMALL\fP indicates that unused
|
||||||
space on the stack should be freed whenever this stack ceases
|
space on the stack should be freed whenever this stack ceases
|
||||||
to be the active stack.
|
to be the active stack.
|
||||||
If successful,
|
If successful,
|
||||||
\f5stakcreate\fP() returns a pointer to a stack whose reference
|
\f5stakcreate\fP() returns a pointer to a stack whose reference
|
||||||
count is 1.
|
count is 1.
|
||||||
Otherwise, \f5stakcreate\fP() returns a null pointer.
|
Otherwise, \f5stakcreate\fP() returns a null pointer.
|
||||||
The \f5staklink\fP() function increases the reference count for the
|
The \f5staklink\fP() function increases the reference count for the
|
||||||
given \fIstack\fP.
|
given \fIstack\fP.
|
||||||
The \f5stakinstall\fP() function
|
The \f5stakinstall\fP() function
|
||||||
makes the specified \fIstack\fP the active stack and returns a pointer
|
makes the specified \fIstack\fP the active stack and returns a pointer
|
||||||
to the previous active stack.
|
to the previous active stack.
|
||||||
When the \fIoverflow\fP argument is not null,
|
When the \fIoverflow\fP argument is not null,
|
||||||
|
@ -113,7 +113,7 @@ If \fIaddress\fP is not the address of an object on the
|
||||||
stack the result is undefined.
|
stack the result is undefined.
|
||||||
.PP
|
.PP
|
||||||
The remaining functions are used to build the current object incrementally.
|
The remaining functions are used to build the current object incrementally.
|
||||||
An object that is built incrementally on the stack will
|
An object that is built incrementally on the stack will
|
||||||
always occupy contiguous memory within a stack frame but
|
always occupy contiguous memory within a stack frame but
|
||||||
until \f5stakfreeze\fP() is called,
|
until \f5stakfreeze\fP() is called,
|
||||||
the location in memory for the object can change.
|
the location in memory for the object can change.
|
||||||
|
@ -123,7 +123,7 @@ Initially, this offset is zero, and the offset changes as a result
|
||||||
of the operations you specify.
|
of the operations you specify.
|
||||||
The \f5stakseek\fP() function is used set the offset for the
|
The \f5stakseek\fP() function is used set the offset for the
|
||||||
current object.
|
current object.
|
||||||
The \fIoffset\fP argument to \f5stakseek\fP() specifies the new
|
The \fIoffset\fP argument to \f5stakseek\fP() specifies the new
|
||||||
offset for the current object.
|
offset for the current object.
|
||||||
The frame will be extended or moved
|
The frame will be extended or moved
|
||||||
if \f5offset\fP causes the new current offset to extend beyond the
|
if \f5offset\fP causes the new current offset to extend beyond the
|
||||||
|
|
|
@ -57,14 +57,14 @@ install it as the active stack.
|
||||||
A stack is created with the \f5stkopen\fP() function.
|
A stack is created with the \f5stkopen\fP() function.
|
||||||
A \fIflags\fP argument of \f5STK_SMALL\fP indicates that unused
|
A \fIflags\fP argument of \f5STK_SMALL\fP indicates that unused
|
||||||
space on the stack should be freed whenever this stack ceases
|
space on the stack should be freed whenever this stack ceases
|
||||||
to be the active stack.
|
to be the active stack.
|
||||||
If successful,
|
If successful,
|
||||||
\f5stkopen\fP() returns a pointer to a stack whose reference
|
\f5stkopen\fP() returns a pointer to a stack whose reference
|
||||||
count is 1.
|
count is 1.
|
||||||
Otherwise, \f5stkopen\fP() returns a null pointer.
|
Otherwise, \f5stkopen\fP() returns a null pointer.
|
||||||
The \f5stklink\fP() function increases the reference count for the
|
The \f5stklink\fP() function increases the reference count for the
|
||||||
given \fIstack\fP.
|
given \fIstack\fP.
|
||||||
The \f5stkinstall\fP() function
|
The \f5stkinstall\fP() function
|
||||||
makes the specified \fIstack\fP the active stack and returns a pointer
|
makes the specified \fIstack\fP the active stack and returns a pointer
|
||||||
to the previous active stack.
|
to the previous active stack.
|
||||||
When the \fIoverflow\fP argument is not null,
|
When the \fIoverflow\fP argument is not null,
|
||||||
|
@ -115,7 +115,7 @@ stack the result is undefined.
|
||||||
.PP
|
.PP
|
||||||
The \f5sfio\fP(3) output functions can be used to build
|
The \f5sfio\fP(3) output functions can be used to build
|
||||||
current object incrementally.
|
current object incrementally.
|
||||||
An object that is built incrementally on the stack will
|
An object that is built incrementally on the stack will
|
||||||
always occupy contiguous memory within a stack frame but
|
always occupy contiguous memory within a stack frame but
|
||||||
until \f5stkfreeze\fP() is called,
|
until \f5stkfreeze\fP() is called,
|
||||||
the location in memory for the object can change.
|
the location in memory for the object can change.
|
||||||
|
@ -125,7 +125,7 @@ Initially, this offset is zero, and the offset changes as a result
|
||||||
of the operations you specify.
|
of the operations you specify.
|
||||||
The \f5stkseek\fP() function is used set the offset for the
|
The \f5stkseek\fP() function is used set the offset for the
|
||||||
current object.
|
current object.
|
||||||
The \fIoffset\fP argument to \f5stkseek\fP() specifies the new
|
The \fIoffset\fP argument to \f5stkseek\fP() specifies the new
|
||||||
offset for the current object.
|
offset for the current object.
|
||||||
The frame will be extended or moved
|
The frame will be extended or moved
|
||||||
if \f5offset\fP causes the new current offset to extend beyond the
|
if \f5offset\fP causes the new current offset to extend beyond the
|
||||||
|
|
|
@ -43,7 +43,7 @@ stresc \- convert character constants in string
|
||||||
.L "int stresc(char* s)"
|
.L "int stresc(char* s)"
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.I stresc
|
.I stresc
|
||||||
converts
|
converts
|
||||||
.L \e
|
.L \e
|
||||||
character constant expressions in the nul-terminated string
|
character constant expressions in the nul-terminated string
|
||||||
.I s
|
.I s
|
||||||
|
|
|
@ -66,7 +66,7 @@ Except for
|
||||||
.I &
|
.I &
|
||||||
and
|
and
|
||||||
.IR ! ,
|
.IR ! ,
|
||||||
each shell pattern has an equivalent
|
each shell pattern has an equivalent
|
||||||
.IR egrep (1)
|
.IR egrep (1)
|
||||||
construct.
|
construct.
|
||||||
.EX
|
.EX
|
||||||
|
|
|
@ -74,7 +74,7 @@ where
|
||||||
.I name
|
.I name
|
||||||
must be one of the option names in
|
must be one of the option names in
|
||||||
.IR tab ,
|
.IR tab ,
|
||||||
.I value
|
.I value
|
||||||
is an optional value, and
|
is an optional value, and
|
||||||
.B no
|
.B no
|
||||||
is for Boolean options.
|
is for Boolean options.
|
||||||
|
@ -108,7 +108,7 @@ is not found in
|
||||||
.I tab
|
.I tab
|
||||||
then
|
then
|
||||||
.I fun
|
.I fun
|
||||||
is called with
|
is called with
|
||||||
.I p
|
.I p
|
||||||
pointing to an internal
|
pointing to an internal
|
||||||
.I namval
|
.I namval
|
||||||
|
|
|
@ -48,7 +48,7 @@ applies a file permission expression in the nul-terminated string
|
||||||
to the initial file permission mask
|
to the initial file permission mask
|
||||||
.IR p .
|
.IR p .
|
||||||
The new permission mask is returned.
|
The new permission mask is returned.
|
||||||
If
|
If
|
||||||
.I e
|
.I e
|
||||||
not 0 then
|
not 0 then
|
||||||
.I *e
|
.I *e
|
||||||
|
|
|
@ -56,7 +56,7 @@ elements using the comparison function
|
||||||
.I compare
|
.I compare
|
||||||
returns
|
returns
|
||||||
.L \-1
|
.L \-1
|
||||||
if
|
if
|
||||||
.I a
|
.I a
|
||||||
is lexicographically less than
|
is lexicographically less than
|
||||||
.IR b ,
|
.IR b ,
|
||||||
|
@ -67,7 +67,7 @@ is equal to
|
||||||
.IR b ,
|
.IR b ,
|
||||||
and
|
and
|
||||||
.L 1
|
.L 1
|
||||||
if
|
if
|
||||||
.I a
|
.I a
|
||||||
is lexicographically greater than
|
is lexicographically greater than
|
||||||
.IR b .
|
.IR b .
|
||||||
|
|
|
@ -47,7 +47,7 @@ converts the generic tape device specification in the nul-terminated string
|
||||||
.I s
|
.I s
|
||||||
to a local tape device pathname.
|
to a local tape device pathname.
|
||||||
A pointer to the device pathname is returned.
|
A pointer to the device pathname is returned.
|
||||||
If
|
If
|
||||||
.I e
|
.I e
|
||||||
not 0 then
|
not 0 then
|
||||||
.I *e
|
.I *e
|
||||||
|
|
|
@ -46,7 +46,7 @@ strton \- convert string to long integer
|
||||||
converts the nul-terminated string
|
converts the nul-terminated string
|
||||||
.I s
|
.I s
|
||||||
to a long integer.
|
to a long integer.
|
||||||
If
|
If
|
||||||
.I e
|
.I e
|
||||||
not 0 then
|
not 0 then
|
||||||
.I *e
|
.I *e
|
||||||
|
@ -63,7 +63,7 @@ All but
|
||||||
are optional.
|
are optional.
|
||||||
.I sign
|
.I sign
|
||||||
may be \+ or \-.
|
may be \+ or \-.
|
||||||
.I base
|
.I base
|
||||||
may be:
|
may be:
|
||||||
.TP
|
.TP
|
||||||
.B 0x
|
.B 0x
|
||||||
|
|
|
@ -60,7 +60,7 @@ and
|
||||||
.PP
|
.PP
|
||||||
.L swapop
|
.L swapop
|
||||||
returns the swap operation required to convert the
|
returns the swap operation required to convert the
|
||||||
.L width
|
.L width
|
||||||
byte integer
|
byte integer
|
||||||
.L external
|
.L external
|
||||||
to the
|
to the
|
||||||
|
@ -85,7 +85,7 @@ and
|
||||||
.L 1
|
.L 1
|
||||||
with bytes
|
with bytes
|
||||||
.L 2
|
.L 2
|
||||||
and
|
and
|
||||||
.LR 3 .
|
.LR 3 .
|
||||||
.TP
|
.TP
|
||||||
.L 4
|
.L 4
|
||||||
|
@ -101,7 +101,7 @@ in the header
|
||||||
described in
|
described in
|
||||||
.IR int (3).
|
.IR int (3).
|
||||||
.PP
|
.PP
|
||||||
.L swapget
|
.L swapget
|
||||||
returns the
|
returns the
|
||||||
.L width
|
.L width
|
||||||
byte integer in the buffer
|
byte integer in the buffer
|
||||||
|
@ -109,7 +109,7 @@ byte integer in the buffer
|
||||||
swapped according to
|
swapped according to
|
||||||
.LR op .
|
.LR op .
|
||||||
.PP
|
.PP
|
||||||
.L swapput
|
.L swapput
|
||||||
copies the
|
copies the
|
||||||
.L width
|
.L width
|
||||||
byte integer
|
byte integer
|
||||||
|
@ -122,16 +122,16 @@ swapped according to
|
||||||
is returned.
|
is returned.
|
||||||
.PP
|
.PP
|
||||||
.L swapmem
|
.L swapmem
|
||||||
swaps
|
swaps
|
||||||
.L n
|
.L n
|
||||||
bytes from the buffer
|
bytes from the buffer
|
||||||
.L from
|
.L from
|
||||||
to the buffer
|
to the buffer
|
||||||
.L to
|
.L to
|
||||||
according to
|
according to
|
||||||
.LR op .
|
.LR op .
|
||||||
.L to
|
.L to
|
||||||
and
|
and
|
||||||
.L from
|
.L from
|
||||||
may be the same.
|
may be the same.
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
|
|
|
@ -42,8 +42,8 @@ tab \- simple table lookup routines
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.L "#include <ast.h>"
|
.L "#include <ast.h>"
|
||||||
.sp
|
.sp
|
||||||
.L "int tabindex(const void* tab, int size, const char* name);"
|
.L "int tabindex(const void* tab, int size, const char* name);"
|
||||||
.L "void* tablook(const void* tab, int size, const char* name);"
|
.L "void* tablook(const void* tab, int size, const char* name);"
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
These routines do linear lookups in
|
These routines do linear lookups in
|
||||||
.I small
|
.I small
|
||||||
|
|
|
@ -46,7 +46,7 @@ The
|
||||||
.I tm
|
.I tm
|
||||||
library supports conversion between
|
library supports conversion between
|
||||||
string date specifications,
|
string date specifications,
|
||||||
seconds reolution
|
seconds resolution
|
||||||
.L time_t
|
.L time_t
|
||||||
clock values and
|
clock values and
|
||||||
.LR Tm_t .
|
.LR Tm_t .
|
||||||
|
@ -356,7 +356,7 @@ The nanosecond part of the time.
|
||||||
\fB%Q\fP\fI<delim>recent<delim>distant<delim>\fP
|
\fB%Q\fP\fI<delim>recent<delim>distant<delim>\fP
|
||||||
Recent dates are formatted with
|
Recent dates are formatted with
|
||||||
.I recent
|
.I recent
|
||||||
and distand dates are formatted with
|
and distant dates are formatted with
|
||||||
.IR distant ,
|
.IR distant ,
|
||||||
where
|
where
|
||||||
.I <delim>
|
.I <delim>
|
||||||
|
@ -400,7 +400,7 @@ character.
|
||||||
.IR hh : mm : ss .
|
.IR hh : mm : ss .
|
||||||
.TP
|
.TP
|
||||||
.B u
|
.B u
|
||||||
Weeday number with 1 for Monday, 7 for Sunday.
|
Weekday number with 1 for Monday, 7 for Sunday.
|
||||||
.TP
|
.TP
|
||||||
.B U
|
.B U
|
||||||
Week number with Sunday as the first day.
|
Week number with Sunday as the first day.
|
||||||
|
@ -507,9 +507,9 @@ then it specifies a time zone other that the local time zone.
|
||||||
.TP
|
.TP
|
||||||
.L "void tmset(Tm_zone_t* zone);"
|
.L "void tmset(Tm_zone_t* zone);"
|
||||||
.L tmset
|
.L tmset
|
||||||
sets the reference timezoe to
|
sets the reference timezone to
|
||||||
.LR zone .
|
.LR zone .
|
||||||
.L tm_info.local
|
.L tm_info.local
|
||||||
points to the local timezone and
|
points to the local timezone and
|
||||||
.L tm_info.zone
|
.L tm_info.zone
|
||||||
points to the current reference timezone.
|
points to the current reference timezone.
|
||||||
|
|
|
@ -385,9 +385,9 @@ then it specifies a time zone other that the local time zone.
|
||||||
.TP
|
.TP
|
||||||
.L "void tmset(Tm_zone_t* zone);"
|
.L "void tmset(Tm_zone_t* zone);"
|
||||||
.L tmset
|
.L tmset
|
||||||
sets the reference timezoe to
|
sets the reference timezone to
|
||||||
.LR zone .
|
.LR zone .
|
||||||
.L tm_info.local
|
.L tm_info.local
|
||||||
points to the local timezone and
|
points to the local timezone and
|
||||||
.L tm_info.zone
|
.L tm_info.zone
|
||||||
points to the current reference timezone.
|
points to the current reference timezone.
|
||||||
|
|
|
@ -84,7 +84,7 @@ then it will point to the next unread character in
|
||||||
on return.
|
on return.
|
||||||
The number of scanned tokens is returned.
|
The number of scanned tokens is returned.
|
||||||
.L \-1
|
.L \-1
|
||||||
is returned if
|
is returned if
|
||||||
.L string
|
.L string
|
||||||
was not empty and
|
was not empty and
|
||||||
.L format
|
.L format
|
||||||
|
@ -116,7 +116,7 @@ is a line splice.
|
||||||
.L %
|
.L %
|
||||||
in
|
in
|
||||||
.L format
|
.L format
|
||||||
prefixes format conversion characters; each conversion character
|
prefixes format conversion characters; each conversion character
|
||||||
corresponds to a
|
corresponds to a
|
||||||
.L tokscan
|
.L tokscan
|
||||||
argument following the
|
argument following the
|
||||||
|
@ -125,7 +125,7 @@ argument.
|
||||||
The format conversions are:
|
The format conversions are:
|
||||||
.TP
|
.TP
|
||||||
.L %c
|
.L %c
|
||||||
A single
|
A single
|
||||||
.LR char .
|
.LR char .
|
||||||
.TP
|
.TP
|
||||||
.L "%hd %d %ld"
|
.L "%hd %d %ld"
|
||||||
|
@ -185,7 +185,7 @@ to
|
||||||
.L tokscan
|
.L tokscan
|
||||||
above converts quoted
|
above converts quoted
|
||||||
.I carriage-return
|
.I carriage-return
|
||||||
back to
|
back to
|
||||||
.IR newline ),
|
.IR newline ),
|
||||||
and deletes
|
and deletes
|
||||||
.I "# ... newline"
|
.I "# ... newline"
|
||||||
|
@ -206,7 +206,7 @@ then
|
||||||
is a 0 terminated string;
|
is a 0 terminated string;
|
||||||
otherwise
|
otherwise
|
||||||
.L input
|
.L input
|
||||||
is an open
|
is an open
|
||||||
.L Sfio_t*
|
.L Sfio_t*
|
||||||
stream.
|
stream.
|
||||||
If
|
If
|
||||||
|
|
|
@ -53,7 +53,7 @@ loads a string vector from lines in
|
||||||
.LR string .
|
.LR string .
|
||||||
.L string
|
.L string
|
||||||
may be modified upon return.
|
may be modified upon return.
|
||||||
Each line in
|
Each line in
|
||||||
.L string
|
.L string
|
||||||
is treated as a new vector element.
|
is treated as a new vector element.
|
||||||
Lines with
|
Lines with
|
||||||
|
@ -64,15 +64,15 @@ joins consecutive lines.
|
||||||
A string vector pointer is returned, 0 on error.
|
A string vector pointer is returned, 0 on error.
|
||||||
.PP
|
.PP
|
||||||
.L vecfile
|
.L vecfile
|
||||||
constructs a string vector by calling
|
constructs a string vector by calling
|
||||||
.L vecload
|
.L vecload
|
||||||
on the contents of the file named by
|
on the contents of the file named by
|
||||||
.LR path .
|
.LR path .
|
||||||
The string vector pointer is returned, 0 on error.
|
The string vector pointer is returned, 0 on error.
|
||||||
.PP
|
.PP
|
||||||
.L vecstring
|
.L vecstring
|
||||||
constructs a string vector by calling
|
constructs a string vector by calling
|
||||||
.L vecload
|
.L vecload
|
||||||
on a copy of
|
on a copy of
|
||||||
.LR string .
|
.LR string .
|
||||||
The string vector pointer is returned, 0 on error.
|
The string vector pointer is returned, 0 on error.
|
||||||
|
@ -92,7 +92,7 @@ inserts the string vector
|
||||||
.L vecload
|
.L vecload
|
||||||
or
|
or
|
||||||
.LR vecstring )
|
.LR vecstring )
|
||||||
between
|
between
|
||||||
.L "(*argvp)[0]"
|
.L "(*argvp)[0]"
|
||||||
and
|
and
|
||||||
.LR "(*argvp)[1]" ,
|
.LR "(*argvp)[1]" ,
|
||||||
|
@ -108,7 +108,7 @@ is called before the return.
|
||||||
is returned if the insertion failed.
|
is returned if the insertion failed.
|
||||||
.SH EXAMPLES
|
.SH EXAMPLES
|
||||||
.L vecargs
|
.L vecargs
|
||||||
is commonly used to modify command
|
is commonly used to modify command
|
||||||
.L argv
|
.L argv
|
||||||
from fixed files.
|
from fixed files.
|
||||||
For example,
|
For example,
|
||||||
|
|
|
@ -53,7 +53,7 @@ vmalloc \- virtual memory allocation
|
||||||
.MW "int vmstat(Vmalloc_t* vm, Vmstat_t* statb);"
|
.MW "int vmstat(Vmalloc_t* vm, Vmstat_t* statb);"
|
||||||
.MW "int vmtrace(int fd);"
|
.MW "int vmtrace(int fd);"
|
||||||
.MW "int vmtrbusy(Vmalloc_t* vm);"
|
.MW "int vmtrbusy(Vmalloc_t* vm);"
|
||||||
.MW "Void_t* vmdata(Vmalloc_t* vm);"
|
.MW "Void_t* vmdata(Vmalloc_t* vm);"
|
||||||
.fi
|
.fi
|
||||||
.SS "Malloc-compatible functions"
|
.SS "Malloc-compatible functions"
|
||||||
.nf
|
.nf
|
||||||
|
@ -268,7 +268,7 @@ a structure with these members:
|
||||||
.fi
|
.fi
|
||||||
.in -.5i
|
.in -.5i
|
||||||
.TP
|
.TP
|
||||||
.MW round
|
.MW round
|
||||||
If this value is positive, all size arguments to the
|
If this value is positive, all size arguments to the
|
||||||
\f5memoryf\fP function will be multiples of it.
|
\f5memoryf\fP function will be multiples of it.
|
||||||
.TP
|
.TP
|
||||||
|
@ -410,7 +410,7 @@ By default, this file descriptor is 2, the standard error.
|
||||||
checks a region using \f5Vmdebug\fP or \f5Vmbest\fP for integrity.
|
checks a region using \f5Vmdebug\fP or \f5Vmbest\fP for integrity.
|
||||||
If \f5Vmdebug\fP, this also checks for block overwriting errors.
|
If \f5Vmdebug\fP, this also checks for block overwriting errors.
|
||||||
On errors, \fIvmdbwarn\fP is called.
|
On errors, \fIvmdbwarn\fP is called.
|
||||||
If flag \f5VM_DBCHECK\fP is on,
|
If flag \f5VM_DBCHECK\fP is on,
|
||||||
\fIvmdbcheck\fP is called at each invocation of
|
\fIvmdbcheck\fP is called at each invocation of
|
||||||
\fIvmalloc\fP, \fIvmfree\fP, or \fIvmresize\fP.
|
\fIvmalloc\fP, \fIvmfree\fP, or \fIvmresize\fP.
|
||||||
.PP
|
.PP
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
* FF_dir FF_gnu with sfgetl/sfputl and trailing / on dirs (FF_dir_magic)
|
* FF_dir FF_gnu with sfgetl/sfputl and trailing / on dirs (FF_dir_magic)
|
||||||
* FF_typ FF_dir with (mime) types (FF_typ_magic)
|
* FF_typ FF_dir with (mime) types (FF_typ_magic)
|
||||||
*
|
*
|
||||||
* the bigram encoding steals the eighth bit (that's why its FF_old)
|
* the bigram encoding steals the eighth bit (that's why it's FF_old)
|
||||||
* maybe one day we'll limit it to readonly:
|
* maybe one day we'll limit it to readonly:
|
||||||
*
|
*
|
||||||
* 0-2*FF_OFF likeliest differential counts + offset to make nonnegative
|
* 0-2*FF_OFF likeliest differential counts + offset to make nonnegative
|
||||||
|
|
|
@ -599,7 +599,7 @@ procopen(const char* cmd, char** argv, char** envv, long* modv, int flags)
|
||||||
if (!fork())
|
if (!fork())
|
||||||
{
|
{
|
||||||
sfsprintf(path, sizeof(path), "%d", getppid());
|
sfsprintf(path, sizeof(path), "%d", getppid());
|
||||||
execlp("trace", "trace", "-p", path, NiL);
|
execlp("trace", "trace", "-p", path, NULL);
|
||||||
_exit(EXIT_NOTFOUND);
|
_exit(EXIT_NOTFOUND);
|
||||||
}
|
}
|
||||||
sleep(2);
|
sleep(2);
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
10-06-14 rm.c: fix -rfu logic
|
10-06-14 rm.c: fix -rfu logic
|
||||||
10-06-12 paste.c: repeat after me: do not modify argv[i]
|
10-06-12 paste.c: repeat after me: do not modify argv[i]
|
||||||
10-06-01 sync with ast api 20100601
|
10-06-01 sync with ast api 20100601
|
||||||
10-05-09 tail.c: fix -0f bug that inially listed the entire file
|
10-05-09 tail.c: fix -0f bug that initially listed the entire file
|
||||||
10-05-06 basename.c: add { -a,--all -s,--suffux=suffix } from BSD
|
10-05-06 basename.c: add { -a,--all -s,--suffux=suffix } from BSD
|
||||||
10-04-12 cat.c: fix -v bug that dumped core and make consistent with cmp --print-chars
|
10-04-12 cat.c: fix -v bug that dumped core and make consistent with cmp --print-chars
|
||||||
10-04-11 cmp.c: add --print-bytes, --count=n, --differences=n
|
10-04-11 cmp.c: add --print-bytes, --count=n, --differences=n
|
||||||
|
@ -77,12 +77,12 @@
|
||||||
09-02-02 mktemp.c: add
|
09-02-02 mktemp.c: add
|
||||||
09-02-02 features/utsname: UWIN _UNAME_os_DEFAULT => UWIN
|
09-02-02 features/utsname: UWIN _UNAME_os_DEFAULT => UWIN
|
||||||
09-01-31 dirname.c: add experimental { -f -r -x } for pathpath(3)
|
09-01-31 dirname.c: add experimental { -f -r -x } for pathpath(3)
|
||||||
09-01-05 cmp.c: fix EOF diagnostic to conform to posix
|
09-01-05 cmp.c: fix EOF diagnostic to conform to POSIX
|
||||||
09-01-03 mkfifo.c: fix --mode=mode logic
|
09-01-03 mkfifo.c: fix --mode=mode logic
|
||||||
08-12-07 date.c: add %[_][EO]K for [space pad] [full|long] iso docs
|
08-12-07 date.c: add %[_][EO]K for [space pad] [full|long] iso docs
|
||||||
08-11-10 stty.c: check for -t grouping so -tostop != -t -ostop
|
08-11-10 stty.c: check for -t grouping so -tostop != -t -ostop
|
||||||
08-10-15 rm.c: handle 'rm -f x x' => exit 0
|
08-10-15 rm.c: handle 'rm -f x x' => exit 0
|
||||||
08-09-08 stty.c: #ifdef guard TAB[012] -- freebsd: damn the posix, full speed ahead
|
08-09-08 stty.c: #ifdef guard TAB[012] -- FreeBSD: damn the POSIX, full speed ahead
|
||||||
08-06-17 shcmd.h: move to libast
|
08-06-17 shcmd.h: move to libast
|
||||||
08-04-24 uniq.c: add optget() 'n' option for -1 => -f1
|
08-04-24 uniq.c: add optget() 'n' option for -1 => -f1
|
||||||
08-04-24 getconf.c: clarify diffs between "name - value" and "name = value"
|
08-04-24 getconf.c: clarify diffs between "name - value" and "name = value"
|
||||||
|
@ -135,8 +135,8 @@
|
||||||
06-11-11 getconf.c: fix deferred getconf path search
|
06-11-11 getconf.c: fix deferred getconf path search
|
||||||
06-11-11 fmt.c: handle two char { \t \n } in --usage output
|
06-11-11 fmt.c: handle two char { \t \n } in --usage output
|
||||||
06-10-31 global edit to eliminate most non-const static data0
|
06-10-31 global edit to eliminate most non-const static data0
|
||||||
06-10-31 use <cmd.h> for all b_*() implementations; drop <cmdlib.h>
|
06-10-31 use <cmd.h> for all b_*() implementations; drop <cmdlib.h>
|
||||||
06-10-31 cmd.h: add CMD_ prefix to { BUILTIN DYNAMIC STANDALONE }
|
06-10-31 cmd.h: add CMD_ prefix to { BUILTIN DYNAMIC STANDALONE }
|
||||||
06-10-31 join.c: tone down /tmp usage vi SFSK_DISCARD
|
06-10-31 join.c: tone down /tmp usage vi SFSK_DISCARD
|
||||||
06-10-31 cp.c,rm.c: update to <fts.h> to accommodate non-static data
|
06-10-31 cp.c,rm.c: update to <fts.h> to accommodate non-static data
|
||||||
06-10-29 date.c: "...%H%..." => "...%H" "%..." to avoid SCCS conflict
|
06-10-29 date.c: "...%H%..." => "...%H" "%..." to avoid SCCS conflict
|
||||||
|
@ -162,7 +162,7 @@
|
||||||
06-07-17 cut.c: handle last line with no newline
|
06-07-17 cut.c: handle last line with no newline
|
||||||
06-07-17 cut.c: --output-delimiter == --line-delimiter
|
06-07-17 cut.c: --output-delimiter == --line-delimiter
|
||||||
06-06-25 chmod.c: mask -c output with S_IPERM
|
06-06-25 chmod.c: mask -c output with S_IPERM
|
||||||
06-05-09 uname.c: add -o; change -a to match linux
|
06-05-09 uname.c: add -o; change -a to match Linux
|
||||||
06-05-03 date.c: add --last -L to list last of multiple time args
|
06-05-03 date.c: add --last -L to list last of multiple time args
|
||||||
06-02-14 tail.c: fix -f bug that lost fast stream data
|
06-02-14 tail.c: fix -f bug that lost fast stream data
|
||||||
06-02-11 getconf.c: exit 1 if name invalid -- duh
|
06-02-11 getconf.c: exit 1 if name invalid -- duh
|
||||||
|
@ -231,7 +231,7 @@
|
||||||
02-08-19 chgrp.c: convert to use <cdt.h>
|
02-08-19 chgrp.c: convert to use <cdt.h>
|
||||||
02-07-23 join.c: fix comm snarf typo
|
02-07-23 join.c: fix comm snarf typo
|
||||||
02-04-05 date.c: add %u
|
02-04-05 date.c: add %u
|
||||||
02-01-24 stty.c: ifdef a few more macros for uts (yes, its still running)
|
02-01-24 stty.c: ifdef a few more macros for uts (yes, it's still running)
|
||||||
01-12-14 date.c: clarify %z doc
|
01-12-14 date.c: clarify %z doc
|
||||||
01-10-31 mkdir.c: mkdir() on existing dir could fail with errno!=EEXIST
|
01-10-31 mkdir.c: mkdir() on existing dir could fail with errno!=EEXIST
|
||||||
uname.c: add execve() loop check for unknown options
|
uname.c: add execve() loop check for unknown options
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue