[ksh93-integration-discuss] ksh alpha source
Felix Schulte
felix.schulte at gmail.com
Thu Jun 1 10:10:53 PDT 2006
On 6/1/06, Martin Schaffstall <martin.schaffstall at googlemail.com> wrote:
> On 5/31/06, Glenn Fowler <gsf at research.att.com> wrote:
> >
> > dgk and I rolled in most of the patches from the last few months
> > we're posting alpha source to catch glaring errors/omissions
> > before a wider post
> >
> > http://www.research.att.com/~gsf/download/alpha/INIT.2006-05-30.md5
> > http://www.research.att.com/~gsf/download/alpha/INIT.2006-05-30.tgz
> > http://www.research.att.com/~gsf/download/alpha/ast-ksh.2006-05-30.md5
> > http://www.research.att.com/~gsf/download/alpha/ast-ksh.2006-05-30.tgz
>
> Can anyone post a diff for the changes between 2006-02-14 and this
> source drop, pls?
patch diff attached
--
_ Felix Schulte
_|_|_ mailto:felix.schulte at gmail.com
(0 0)
ooO--(_)--Ooo
-------------- next part --------------
diff -r -N -u ksh93_2006_02_14/lib/package/ast-ksh.html ksh93_2006_05_30/lib/package/ast-ksh.html
--- ksh93_2006_02_14/lib/package/ast-ksh.html 2006-02-16 04:33:50.000000000 +0100
+++ ksh93_2006_05_30/lib/package/ast-ksh.html 2006-05-31 05:25:22.000000000 +0200
@@ -192,6 +192,34 @@
<P><HR><CENTER><FONT color=red><FONT face=courier><H3><A name="ksh93 changes">ksh93 changes</A></H3></FONT></FONT></CENTER>
<PRE>
+06-05-19 --- Release ksh93r+ ---
+06-05-19 Modified arithmetic so that conversions to strings default to
+ the maximum number of precision digits.
+06-05-16 Bug fixes for multibyte locales.
+06-05-10 The =~ operator was added to [[...]] and [[ string ~= ERE ]]
+ is equivalent to [[ string == ~(E)ERE ]].
+06-05-10 Modified emacs and vi mode so that entering a TAB after a partial
+ TAB conpletion, generates a listing of possible completions.
+06-04-25 A bug in the vi edit mode which could cause the shell to core dump
+ when switching from emacs mode.
+06-04-17 A bug in which using LANG or LC_ in assignment lists with builtins
+ did not restore the localed correctly has been fixed.
+06-04-04 A bug in which discipline functions could not be added to variables
+ whose names started with .sh has been fixed.
+06-03-28 The -s option to typeset was added to modify -i to indicate short
+ integers.
+06-03-28 A bug in which variables assignment lists before functions
+ defined with function name were not passed on the functions
+ invoked by this function has been fixed.
+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
+ been fixed.
+06-03-27 A bug in which read <&p (print >&p) would cause the coprocess input
+ (output) pipe to close before reading from (after writing to)
+ it has been fixed.
+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.
+
06-01-24 --- Release ksh93r ---
06-01-24 A bug in which running commands with standard output closed would
not work as expected has been fixed.
@@ -1496,6 +1524,9 @@
<P><HR><CENTER><FONT color=red><FONT face=courier><H3><A name="libast changes">libast changes</A></H3></FONT></FONT></CENTER>
<PRE>
+06-05-09 comp/comf.sh: add native getconf -a names to the mix
+06-04-28 misc/optget.c: add solaris long option name compatibility
+06-03-09 string/strmatch.c: add REG_ADVANCE => REG_* flags
06-02-14 comp/iconv.c: fix uwin iconv_list() /reg/ generator
06-02-10 port/astconf.c: relax standard prefix filter
06-02-08 sfrd.c,sfsync.c: lock logic bug fix
@@ -2798,6 +2829,8 @@
<P><HR><CENTER><FONT color=red><FONT face=courier><H3><A name="libcmd changes">libcmd changes</A></H3></FONT></FONT></CENTER>
<PRE>
+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-02-14 tail.c: fix -f bug that lost fast stream data
06-02-11 getconf.c: exit 1 if name invalid -- duh
06-01-28 cp.c,rm.c: fix astquery() 'q' to return and not exit()
@@ -3018,7 +3051,7 @@
<TR>
<TD align=left></TD>
<TD align=center></TD>
-<TD align=right>February 15, 2006</TD>
+<TD align=right>May 30, 2006</TD>
</TR>
</TABLE>
<P>
diff -r -N -u ksh93_2006_02_14/lib/package/ast-ksh.README ksh93_2006_05_30/lib/package/ast-ksh.README
--- ksh93_2006_02_14/lib/package/ast-ksh.README 2006-02-16 04:33:44.000000000 +0100
+++ ksh93_2006_05_30/lib/package/ast-ksh.README 2006-05-31 05:25:16.000000000 +0200
@@ -89,6 +89,34 @@
:::::::: ksh93 ::::::::
+06-05-19 --- Release ksh93r+ ---
+06-05-19 Modified arithmetic so that conversions to strings default to
+ the maximum number of precision digits.
+06-05-16 Bug fixes for multibyte locales.
+06-05-10 The =~ operator was added to [[...]] and [[ string ~= ERE ]]
+ is equivalent to [[ string == ~(E)ERE ]].
+06-05-10 Modified emacs and vi mode so that entering a TAB after a partial
+ TAB conpletion, generates a listing of possible completions.
+06-04-25 A bug in the vi edit mode which could cause the shell to core dump
+ when switching from emacs mode.
+06-04-17 A bug in which using LANG or LC_ in assignment lists with builtins
+ did not restore the localed correctly has been fixed.
+06-04-04 A bug in which discipline functions could not be added to variables
+ whose names started with .sh has been fixed.
+06-03-28 The -s option to typeset was added to modify -i to indicate short
+ integers.
+06-03-28 A bug in which variables assignment lists before functions
+ defined with function name were not passed on the functions
+ invoked by this function has been fixed.
+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
+ been fixed.
+06-03-27 A bug in which read <&p (print >&p) would cause the coprocess input
+ (output) pipe to close before reading from (after writing to)
+ it has been fixed.
+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.
+
06-01-24 --- Release ksh93r ---
06-01-24 A bug in which running commands with standard output closed would
not work as expected has been fixed.
@@ -1390,6 +1418,9 @@
:::::::: libast ::::::::
+06-05-09 comp/comf.sh: add native getconf -a names to the mix
+06-04-28 misc/optget.c: add solaris long option name compatibility
+06-03-09 string/strmatch.c: add REG_ADVANCE => REG_* flags
06-02-14 comp/iconv.c: fix uwin iconv_list() /reg/ generator
06-02-10 port/astconf.c: relax standard prefix filter
06-02-08 sfrd.c,sfsync.c: lock logic bug fix
@@ -2689,6 +2720,8 @@
:::::::: libcmd ::::::::
+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-02-14 tail.c: fix -f bug that lost fast stream data
06-02-11 getconf.c: exit 1 if name invalid -- duh
06-01-28 cp.c,rm.c: fix astquery() 'q' to return and not exit()
diff -r -N -u ksh93_2006_02_14/lib/package/ast-ksh.ver ksh93_2006_05_30/lib/package/ast-ksh.ver
--- ksh93_2006_02_14/lib/package/ast-ksh.ver 2006-02-14 06:12:32.000000000 +0100
+++ ksh93_2006_05_30/lib/package/ast-ksh.ver 2006-05-31 05:25:14.000000000 +0200
@@ -1 +1 @@
-ast-ksh 2006-02-14 2006-02-14 1
+ast-ksh 2006-05-30 2006-05-30 1
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/bltins/alarm.c ksh93_2006_05_30/src/cmd/ksh93/bltins/alarm.c
--- ksh93_2006_02_14/src/cmd/ksh93/bltins/alarm.c 2002-11-11 18:25:18.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/bltins/alarm.c 2006-03-28 22:13:02.000000000 +0200
@@ -23,7 +23,6 @@
*
* David Korn
* AT&T Labs
- * research!dgk
*
*/
@@ -260,7 +259,7 @@
}
if(argc!=2)
errormsg(SH_DICT,ERROR_usage(2),optusage((char*)0));
- np = nv_open(argv[0],shp->var_tree,NV_ARRAY|NV_VARNAME|NV_NOASSIGN);
+ np = nv_open(argv[0],shp->var_tree,NV_NOARRAY|NV_VARNAME|NV_NOASSIGN);
if(!nv_isnull(np))
nv_unset(np);
nv_setattr(np, NV_INTEGER|NV_DOUBLE);
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/bltins/hist.c ksh93_2006_05_30/src/cmd/ksh93/bltins/hist.c
--- ksh93_2006_02_14/src/cmd/ksh93/bltins/hist.c 2005-09-05 18:03:01.000000000 +0200
+++ ksh93_2006_05_30/src/cmd/ksh93/bltins/hist.c 2006-03-01 15:41:13.000000000 +0100
@@ -263,10 +263,10 @@
char buff[IOBSIZE+1];
Sfio_t *iop = sfnew(NIL(Sfio_t*),buff,IOBSIZE,fdo,SF_READ);
/* read in and run the command */
- if(shp->dot_depth++ > HIST_RECURSE)
+ if(shp->hist_depth++ > HIST_RECURSE)
errormsg(SH_DICT,ERROR_exit(1),e_toodeep,"history");
sh_eval(iop,1);
- shp->dot_depth--;
+ shp->hist_depth--;
}
else
{
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/bltins/print.c ksh93_2006_05_30/src/cmd/ksh93/bltins/print.c
--- ksh93_2006_02_14/src/cmd/ksh93/bltins/print.c 2006-01-23 18:25:03.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/bltins/print.c 2006-05-19 17:14:12.000000000 +0200
@@ -585,12 +585,12 @@
switch(format)
{
case 'p':
- value->p = (char**)strtoll(argp,&lastchar,10);
+ value->p = (char**)strtol(argp,&lastchar,10);
break;
case 'n':
{
Namval_t *np;
- np = nv_open(argp,sh.var_tree,NV_VARNAME|NV_NOASSIGN|NV_ARRAY);
+ np = nv_open(argp,sh.var_tree,NV_VARNAME|NV_NOASSIGN|NV_NOARRAY);
nv_unset(np);
nv_onattr(np,NV_INTEGER);
if (np->nvalue.lp = new_of(long,0))
@@ -688,8 +688,15 @@
case 'A':
case 'E':
case 'G':
- value->d = sh_strnum(*pp->nextarg,&lastchar,0);
fe->size = sizeof(value->d);
+ d = sh_strnum(*pp->nextarg,&lastchar,0);
+ if(SFFMT_LDOUBLE)
+ {
+ value->ld = d;
+ fe->size = sizeof(value->ld);
+ }
+ else
+ value->d = d;
break;
case 'Q':
value->ll = (Sflong_t)strelapsed(*pp->nextarg,&lastchar,1);
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/bltins/typeset.c ksh93_2006_05_30/src/cmd/ksh93/bltins/typeset.c
--- ksh93_2006_02_14/src/cmd/ksh93/bltins/typeset.c 2005-02-13 07:23:16.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/bltins/typeset.c 2006-04-19 22:20:27.000000000 +0200
@@ -125,7 +125,7 @@
int b_alias(int argc,register char *argv[],void *extra)
{
- register unsigned flag = NV_ARRAY|NV_NOSCOPE|NV_ASSIGN;
+ register unsigned flag = NV_NOARRAY|NV_NOSCOPE|NV_ASSIGN;
register Dt_t *troot;
register int n;
struct tdata tdata;
@@ -189,7 +189,7 @@
struct tdata tdata;
Namtype_t *ntp = (Namtype_t*)extra;
Dt_t *troot;
- int isfloat = 0;
+ int isfloat=0, shortint=0;
NOT_USED(argc);
memset((void*)&tdata,0,sizeof(tdata));
tdata.sh = ntp->shp;
@@ -268,6 +268,9 @@
case 'r':
flag |= NV_RDONLY;
break;
+ case 's':
+ shortint=1;
+ break;
case 't':
flag |= NV_TAGGED;
break;
@@ -306,12 +309,16 @@
errormsg(SH_DICT,ERROR_usage(2),"%s", optusage(NIL(char*)));
if(isfloat)
flag |= NV_INTEGER|NV_DOUBLE;
+ if(shortint)
+ flag |= NV_SHORT|NV_INTEGER;
if(tdata.sh->fn_depth)
flag |= NV_NOSCOPE;
if(flag&NV_TYPE)
{
int offset = staktell();
stakputs(NV_CLASS);
+ if(NV_CLASS[sizeof(NV_CLASS)-2]!='.')
+ stakputc('.');
stakputs(tdata.prefix);
stakputc(0);
tdata.tp = nv_open(stakptr(offset),tdata.sh->var_tree,NV_VARNAME|NV_NOARRAY|NV_NOASSIGN);
@@ -329,10 +336,10 @@
{
register char *name;
char *last = 0;
- int nvflags=(flag&(NV_NOARRAY|NV_NOSCOPE|NV_VARNAME|NV_IDENT|NV_ASSIGN));
+ int nvflags=(flag&(NV_ARRAY|NV_NOARRAY|NV_NOSCOPE|NV_VARNAME|NV_IDENT|NV_ASSIGN));
int r=0, ref=0;
Shell_t *shp =tp->sh;
- flag &= ~(NV_ARRAY|NV_NOSCOPE|NV_VARNAME|NV_IDENT);
+ flag &= ~(NV_NOARRAY|NV_NOSCOPE|NV_VARNAME|NV_IDENT);
if(argv[1])
{
if(flag&NV_REF)
@@ -402,10 +409,13 @@
}
continue;
}
- if(troot==shp->var_tree && (nvflags&NV_ARRAY))
- nv_setarray(np,nv_associative);
if(tp->tp)
+ {
nv_settype(np,tp->tp,tp->aflag=='-'?0:NV_APPEND);
+ flag = (np->nvflag&NV_NOCHANGE);
+ }
+ if(troot==shp->var_tree && (nvflags&NV_ARRAY))
+ nv_setarray(np,nv_associative);
curflag = np->nvflag;
flag &= ~NV_ASSIGN;
if(last=strchr(name,'='))
@@ -476,7 +486,7 @@
nv_close(np);
}
}
- else
+ else if(!sh.envlist)
{
if(tp->aflag)
{
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/data/builtins.c ksh93_2006_05_30/src/cmd/ksh93/data/builtins.c
--- ksh93_2006_02_14/src/cmd/ksh93/data/builtins.c 2005-12-07 23:27:43.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/data/builtins.c 2006-03-28 21:52:23.000000000 +0200
@@ -1575,13 +1575,15 @@
"[f?Each of the options and \aname\as refers to a function.]"
"[i]#?[base:=10?An integer. \abase\a represents the arithmetic base "
"from 2 to 64.]"
-"[l?Convert uppercase character to lowercase. Unsets \b-u\b attribute.]"
+"[l?Convert uppercase character to lowercase. Unsets \b-u\b attribute. When"
+ "used with \b-i\b, \b-E\b, or \b-F\b indicates long variant.]"
"[n?Name reference. The value is the name of a variable that \aname\a "
"references. \aname\a cannot contain a \b.\b.]"
"[p?Causes the output to be in a format that can be used as input to the "
"shell to recreate the attributes for variables.]"
"[r?Enables readonly. Once enabled it cannot be disabled. See "
"\breadonly\b(1).]"
+"[s?Used with \b-i\b to restrict integer size to short.]"
"[t?When used with \b-f\b, enables tracing for each of the specified "
"functions. Otherwise, \b-t\b is a user defined attribute and "
"has no meaning to the shell.]"
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/data/options.c ksh93_2006_05_30/src/cmd/ksh93/data/options.c
--- ksh93_2006_02_14/src/cmd/ksh93/data/options.c 2005-12-08 22:17:12.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/data/options.c 2006-03-28 21:54:53.000000000 +0200
@@ -118,12 +118,12 @@
{"-xexport", NV_EXPORT},
{"-rreadonly", NV_RDONLY},
{"-ttagged", NV_TAGGED},
- {"++long", (NV_INTEGER|NV_DOUBLE|NV_LONG)},
+ {"-llong", (NV_INTEGER|NV_DOUBLE|NV_LONG)},
{"-Eexponential",(NV_INTEGER|NV_DOUBLE|NV_EXPNOTE)},
{"-Ffloat", (NV_INTEGER|NV_DOUBLE)},
- {"++long", (NV_INTEGER|NV_LONG)},
- {"++short", (NV_INTEGER|NV_SHORT)},
- {"++unsigned", (NV_INTEGER|NV_UNSIGN)},
+ {"-llong", (NV_INTEGER|NV_LONG)},
+ {"-lshort", (NV_INTEGER|NV_SHORT)},
+ {"-lunsigned", (NV_INTEGER|NV_UNSIGN)},
{"-iinteger", NV_INTEGER},
{"-Hfilename", NV_HOST},
{"-bbinary", NV_BINARY},
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/data/testops.c ksh93_2006_05_30/src/cmd/ksh93/data/testops.c
--- ksh93_2006_02_14/src/cmd/ksh93/data/testops.c 2003-03-25 21:21:25.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/data/testops.c 2006-05-08 23:06:23.000000000 +0200
@@ -48,6 +48,7 @@
"-ot", TEST_OT,
"=", TEST_SEQ,
"==", TEST_SEQ,
+ "=~", TEST_REP,
"<", TEST_SLT,
">", TEST_SGT,
"]]", TEST_END,
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/edit/completion.c ksh93_2006_05_30/src/cmd/ksh93/edit/completion.c
--- ksh93_2006_02_14/src/cmd/ksh93/edit/completion.c 2005-07-25 23:44:17.000000000 +0200
+++ ksh93_2006_05_30/src/cmd/ksh93/edit/completion.c 2006-05-10 23:09:06.000000000 +0200
@@ -139,7 +139,8 @@
{
register int c;
char *last = out;
- var = isaname(*out);
+ c = *(unsigned char*)out;
+ var = isaname(c);
if(out>outbuff)
{
/* go to beginning of word */
@@ -160,7 +161,10 @@
{
c = *(unsigned char*)out;
if(c=='$' && var==1)
- var= 2*isaletter(out[1]);
+ {
+ var = *((unsigned char*)&out[1]);
+ var= 2*isaletter(var);
+ }
else if(var==2)
{
if(c!='"')
@@ -236,7 +240,7 @@
register int size='x';
while(cp>outbuff && ((size=cp[-1])==' ' || size=='\t'))
cp--;
- if(!var && !strchr(ap->argval,'/') && ((cp==outbuff || (strchr(";&|(",size)) && (cp==outbuff+1||size=='('||cp[-2]!='>') && *begin!='~' )))
+ if(!var && !strchr(ap->argval,'/') && (((cp==outbuff&&sh.nextprompt==1) || (strchr(";&|(",size)) && (cp==outbuff+1||size=='('||cp[-2]!='>') && *begin!='~' )))
{
cmd_completion=1;
sh_onstate(SH_COMPLETE);
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/edit/edit.c ksh93_2006_05_30/src/cmd/ksh93/edit/edit.c
--- ksh93_2006_02_14/src/cmd/ksh93/edit/edit.c 2006-02-09 06:19:13.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/edit/edit.c 2006-05-10 18:16:26.000000000 +0200
@@ -972,6 +972,8 @@
/*** map '\r' to '\n' ***/
if(c == '\r' && mode!=2)
c = '\n';
+ if(ep->e_tabcount && !(c=='\t'||c==ESC || c=='\\'))
+ ep->e_tabcount = 0;
}
else
siglongjmp(ep->e_env,(n==0?UEOF:UINTR));
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/edit/emacs.c ksh93_2006_05_30/src/cmd/ksh93/edit/emacs.c
--- ksh93_2006_02_14/src/cmd/ksh93/edit/emacs.c 2005-12-07 06:04:47.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/edit/emacs.c 2006-05-10 22:57:44.000000000 +0200
@@ -329,9 +329,18 @@
case '\t':
if(cur>0 && cur>=eol && out[cur-1]!='\t' && out[cur-1]!=' ' && ep->ed->sh->nextprompt)
{
- ed_ungetchar(ep->ed,ESC);
- ed_ungetchar(ep->ed,ESC);
- continue;
+ if(ep->ed->e_tabcount==0)
+ {
+ ep->ed->e_tabcount=1;
+ ed_ungetchar(ep->ed,ESC);
+ goto do_escape;
+ }
+ else if(ep->ed->e_tabcount==1)
+ {
+ ed_ungetchar(ep->ed,'=');
+ goto do_escape;
+ }
+ ep->ed->e_tabcount = 0;
}
default:
if ((eol+1) >= (scend)) /* will not fit on line */
@@ -578,6 +587,7 @@
draw(ep,REFRESH);
continue;
case cntl('[') :
+ do_escape:
adjust = escape(ep,out,oadjust);
continue;
case cntl('R') :
@@ -910,7 +920,15 @@
case '=': /* escape = - list all matching file names */
ep->mark = cur;
if(ed_expand(ep->ed,(char*)out,&cur,&eol,i,count) < 0)
+ {
+ if(ep->ed->e_tabcount==1)
+ {
+ ep->ed->e_tabcount=2;
+ ed_ungetchar(ep->ed,cntl('\t'));
+ return(-1);
+ }
beep();
+ }
else if(i=='=')
draw(ep,REFRESH);
else
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/edit/vi.c ksh93_2006_05_30/src/cmd/ksh93/edit/vi.c
--- ksh93_2006_02_14/src/cmd/ksh93/edit/vi.c 2005-12-07 06:09:34.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/edit/vi.c 2006-05-10 18:21:50.000000000 +0200
@@ -239,6 +239,7 @@
if(!vp)
{
ed->e_vi = vp = newof(0,Vi_t,1,0);
+ vp->lastline = (genchar*)malloc(MAXLINE*CHARSIZE);
vp->direction = -1;
vp->ed = ed;
}
@@ -387,10 +388,7 @@
window[0] = '\0';
if(!yankbuf)
- {
yankbuf = (genchar*)malloc(MAXLINE*CHARSIZE);
- vp->lastline = (genchar*)malloc(MAXLINE*CHARSIZE);
- }
if( vp->last_cmd == '\0' )
{
/*** first time for this shell ***/
@@ -1478,8 +1476,19 @@
case '\t': /** command completion **/
if(mode!=SEARCH && last_virt>=0 && cur_virt>=last_virt && !isblank(cur_virt) && vp->ed->sh->nextprompt)
{
- ed_ungetchar(vp->ed,'\\');
- goto escape;
+ if(vp->ed->e_tabcount==0)
+ {
+ ed_ungetchar(vp->ed,'\\');
+ vp->ed->e_tabcount=1;
+ goto escape;
+ }
+ else if(vp->ed->e_tabcount==1)
+ {
+ ed_ungetchar(vp->ed,'=');
+ vp->ed->e_tabcount = 0;
+ goto escape;
+ }
+ vp->ed->e_tabcount = 0;
}
/* FALL THRU*/
default:
@@ -2287,8 +2296,15 @@
i = last_virt;
++last_virt;
virtual[last_virt] = 0;
- if( ed_expand(vp->ed,(char*)virtual, &cur_virt, &last_virt, c, vp->repeat_set?vp->repeat:-1) )
+ if(ed_expand(vp->ed,(char*)virtual, &cur_virt, &last_virt, c, vp->repeat_set?vp->repeat:-1)<0)
{
+ if(vp->ed->e_tabcount)
+ {
+ vp->ed->e_tabcount=2;
+ ed_ungetchar(vp->ed,'\t');
+ --last_virt;
+ return(APPEND);
+ }
last_virt = i;
ed_ringbell();
}
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/include/defs.h ksh93_2006_05_30/src/cmd/ksh93/include/defs.h
--- ksh93_2006_02_14/src/cmd/ksh93/include/defs.h 2005-12-07 06:15:34.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/include/defs.h 2006-04-26 22:55:28.000000000 +0200
@@ -150,6 +150,7 @@
struct dolnod *arglist; \
int fn_depth; \
int dot_depth; \
+ int hist_depth; \
int xargmin; \
int xargmax; \
int xargexit; \
@@ -182,6 +183,7 @@
History_t *hist_ptr; \
char universe; \
void *jmpbuffer; \
+ Sfio_t *strbuf; \
char ifstable[256]; \
Shopt_t offoptions;
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/include/edit.h ksh93_2006_05_30/src/cmd/ksh93/include/edit.h
--- ksh93_2006_02_14/src/cmd/ksh93/include/edit.h 2005-12-06 22:59:10.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/include/edit.h 2006-05-10 17:21:33.000000000 +0200
@@ -109,6 +109,7 @@
int e_lbuf[LOOKAHEAD];/* pointer to look-ahead buffer */
int e_fd; /* file descriptor */
int e_ttyspeed; /* line speed, also indicates tty parms are valid */
+ int e_tabcount;
#ifdef _hdr_utime
ino_t e_tty_ino;
dev_t e_tty_dev;
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/include/lexstates.h ksh93_2006_05_30/src/cmd/ksh93/include/lexstates.h
--- ksh93_2006_02_14/src/cmd/ksh93/include/lexstates.h 2003-03-21 18:35:53.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/include/lexstates.h 2006-04-26 23:36:56.000000000 +0200
@@ -79,8 +79,8 @@
#define ST_NONE 11
#if SHOPT_MULTIBYTE
-# define isaname(c) (((c)>=0x200) || sh_lexstates[ST_NAME][c]==0)
-# define isaletter(c) (((c)>=0x200) || sh_lexstates[ST_DOL][c]==S_ALP && (c)!='.')
+# define isaname(c) ((c)>0xff?isalpha(c): sh_lexstates[ST_NAME][(c)]==0)
+# define isaletter(c) ((c)>0xff?isalpha(c): sh_lexstates[ST_DOL][(c)]==S_ALP && (c)!='.')
#else
# define isaname(c) (sh_lexstates[ST_NAME][c]==0)
# define isaletter(c) (sh_lexstates[ST_DOL][c]==S_ALP && (c)!='.')
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/include/national.h ksh93_2006_05_30/src/cmd/ksh93/include/national.h
--- ksh93_2006_02_14/src/cmd/ksh93/include/national.h 2003-04-08 16:09:49.000000000 +0200
+++ ksh93_2006_05_30/src/cmd/ksh93/include/national.h 2006-04-19 23:26:17.000000000 +0200
@@ -29,7 +29,7 @@
#if SHOPT_MULTIBYTE
# ifndef MARKER
-# define MARKER 0x7fff /* Must be invalid character */
+# define MARKER 0xdfff /* Must be invalid character */
# endif
extern int sh_strchr(const char*,const char*);
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/include/nval.h ksh93_2006_05_30/src/cmd/ksh93/include/nval.h
--- ksh93_2006_02_14/src/cmd/ksh93/include/nval.h 2005-04-19 20:50:44.000000000 +0200
+++ ksh93_2006_05_30/src/cmd/ksh93/include/nval.h 2006-04-19 22:28:02.000000000 +0200
@@ -68,11 +68,12 @@
struct Namfun
{
const Namdisc_t *disc;
- short nofree;
+ char nofree;
+ char funs;
unsigned short dsize;
Namfun_t *next;
- Namval_t *type;
char *last;
+ Namval_t *type;
};
struct Nambfun
@@ -89,6 +90,7 @@
Namfun_t hdr;
long nelem; /* number of elements */
void *(*fun)(Namval_t*,const char*,int); /* associative arrays */
+ Namval_t *parent; /* for multi-dimenstional */
};
/* Passed as third argument to a builtin when NV_BLTINOPT is set on node */
@@ -234,7 +236,7 @@
extern Namval_t *nv_opensub(Namval_t*);
/* name-value pair function prototypes */
-extern int nv_adddisc(Namval_t*, const char**names);
+extern int nv_adddisc(Namval_t*, const char**names, Namval_t**);
extern int nv_clone(Namval_t*, Namval_t*, int);
extern void nv_close(Namval_t*);
extern void *nv_context(Namval_t*);
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/include/test.h ksh93_2006_05_30/src/cmd/ksh93/include/test.h
--- ksh93_2006_02_14/src/cmd/ksh93/include/test.h 2001-03-12 00:25:00.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/include/test.h 2006-05-08 22:22:18.000000000 +0200
@@ -54,6 +54,7 @@
#define TEST_SLT 15
#define TEST_SGT 16
#define TEST_END 8
+#define TEST_REP 20
extern int test_unop(int, const char*);
extern int test_inode(const char*, const char*);
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/include/version.h ksh93_2006_05_30/src/cmd/ksh93/include/version.h
--- ksh93_2006_02_14/src/cmd/ksh93/include/version.h 2005-12-07 17:39:08.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/include/version.h 2006-04-13 18:58:06.000000000 +0200
@@ -17,4 +17,4 @@
* David Korn <dgk at research.att.com> *
* *
***********************************************************************/
-#define SH_RELEASE "1993-12-28 r"
+#define SH_RELEASE "1993-12-28 r+"
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/Makefile ksh93_2006_05_30/src/cmd/ksh93/Makefile
--- ksh93_2006_02_14/src/cmd/ksh93/Makefile 2006-02-16 04:50:42.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/Makefile 2006-05-18 16:19:41.000000000 +0200
@@ -99,10 +99,10 @@
LDFLAGS += $(CC.LD.LAZY) $(CC.LD.NORECORD)
end
-if ! "$(-mam:N=static*)" && CC.HOSTTYPE != "sgi.mips*"
+if ! "$(-mam:N=static*)"
if CC.HOSTTYPE == "sol([789]|[1-9][0-9]).*"
LIBS_opt += +lsocket -lnsl
- else
+ elif CC.HOSTTYPE != "sgi.mips*"
LIBS_opt += +lsocket +lnsl
end
end
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/Mamfile ksh93_2006_05_30/src/cmd/ksh93/Mamfile
--- ksh93_2006_02_14/src/cmd/ksh93/Mamfile 2006-02-16 04:52:31.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/Mamfile 2006-05-31 05:25:28.000000000 +0200
@@ -1,4 +1,4 @@
-info mam static 00000 1994-07-17 make (AT&T Research) 5.1 2006-01-21
+info mam static 00000 1994-07-17 make (AT&T Research) 5.1 2006-05-09
setv INSTALLROOT ../../..
setv PACKAGE_ast_INCLUDE ${INSTALLROOT}/include/ast
setv PACKAGE_ast_LIB ${INSTALLROOT}/lib
@@ -151,7 +151,7 @@
done ${PACKAGE_ast_INCLUDE}/cmd.h dontcare
done include/shell.h
done sh/pmain.c
-meta pmain.o %.c>%.o sh/pmain.c pmain
+meta pmain.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/pmain.c pmain
prev sh/pmain.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_DYNAMIC -D_BLD_shell -D_PACKAGE_ast -DSHOPT_OO -c sh/pmain.c
done pmain.o generated
@@ -187,7 +187,7 @@
make alarm.o
make bltins/alarm.c
make FEATURE/time implicit
-meta FEATURE/time features/%>FEATURE/% features/time time
+meta FEATURE/time features/%>FEATURE/% ${PACKAGEROOT}/src/cmd/ksh93/features/time time
make features/time
done features/time
prev shell.req
@@ -216,7 +216,7 @@
make include/builtins.h implicit
prev include/shtable.h implicit
make FEATURE/dynamic implicit
-meta FEATURE/dynamic features/%>FEATURE/% features/dynamic dynamic
+meta FEATURE/dynamic features/%>FEATURE/% ${PACKAGEROOT}/src/cmd/ksh93/features/dynamic dynamic
make features/dynamic
done features/dynamic
prev shell.req
@@ -232,7 +232,7 @@
done ${PACKAGE_ast_INCLUDE}/fs3d.h dontcare
done FEATURE/dynamic dontcare generated
make FEATURE/options implicit
-meta FEATURE/options features/%>FEATURE/% features/options options
+meta FEATURE/options features/%>FEATURE/% ${PACKAGEROOT}/src/cmd/ksh93/features/options options
make features/options
done features/options
prev shell.req
@@ -256,7 +256,7 @@
done include/argnod.h
make include/fault.h implicit
make FEATURE/sigfeatures implicit
-meta FEATURE/sigfeatures features/%>FEATURE/% features/sigfeatures sigfeatures
+meta FEATURE/sigfeatures features/%>FEATURE/% ${PACKAGEROOT}/src/cmd/ksh93/features/sigfeatures sigfeatures
make features/sigfeatures
done features/sigfeatures
prev shell.req
@@ -268,7 +268,7 @@
exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libast} : run features/sigfeatures
done FEATURE/sigfeatures dontcare generated
make FEATURE/setjmp implicit
-meta FEATURE/setjmp features/%>FEATURE/% features/setjmp setjmp
+meta FEATURE/setjmp features/%>FEATURE/% ${PACKAGEROOT}/src/cmd/ksh93/features/setjmp setjmp
make features/setjmp
done features/setjmp
prev shell.req
@@ -295,7 +295,7 @@
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done include/defs.h
done bltins/alarm.c
-meta alarm.o %.c>%.o bltins/alarm.c alarm
+meta alarm.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/bltins/alarm.c alarm
prev bltins/alarm.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_PACKAGE_ast -D_BLD_shell -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_OO -DSHOPT_ESH -c bltins/alarm.c
done alarm.o generated
@@ -327,7 +327,7 @@
prev ${PACKAGE_ast_INCLUDE}/stak.h implicit
prev include/defs.h implicit
done bltins/cd_pwd.c
-meta cd_pwd.o %.c>%.o bltins/cd_pwd.c cd_pwd
+meta cd_pwd.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/bltins/cd_pwd.c cd_pwd
prev bltins/cd_pwd.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_BLD_shell -DSHOPT_MULTIBYTE -D_PACKAGE_ast -DSHOPT_PFSH -DSHOPT_OO -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_ESH -c bltins/cd_pwd.c
done cd_pwd.o generated
@@ -342,7 +342,7 @@
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
prev include/defs.h implicit
done bltins/cflow.c
-meta cflow.o %.c>%.o bltins/cflow.c cflow
+meta cflow.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/bltins/cflow.c cflow
prev bltins/cflow.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_BLD_shell -DSHOPT_MULTIBYTE -D_PACKAGE_ast -DSHOPT_PFSH -DSHOPT_KIA -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_OO -DSHOPT_ESH -c bltins/cflow.c
done cflow.o generated
@@ -355,7 +355,7 @@
prev include/shnodes.h implicit
prev include/defs.h implicit
done sh/deparse.c
-meta deparse.o %.c>%.o sh/deparse.c deparse
+meta deparse.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/deparse.c deparse
prev sh/deparse.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_MULTIBYTE -D_PACKAGE_ast -DSHOPT_PFSH -DSHOPT_KIA -D_BLD_shell -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_OO -DSHOPT_ESH -c sh/deparse.c
done deparse.o generated
@@ -367,7 +367,7 @@
prev include/variables.h implicit
prev include/defs.h implicit
done bltins/getopts.c
-meta getopts.o %.c>%.o bltins/getopts.c getopts
+meta getopts.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/bltins/getopts.c getopts
prev bltins/getopts.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_BLD_shell -DSHOPT_MULTIBYTE -D_PACKAGE_ast -DSHOPT_PFSH -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_OO -DSHOPT_ESH -c bltins/getopts.c
done getopts.o generated
@@ -378,7 +378,7 @@
done include/national.h dontcare
make include/terminal.h implicit
make FEATURE/ttys implicit
-meta FEATURE/ttys features/%>FEATURE/% features/ttys ttys
+meta FEATURE/ttys features/%>FEATURE/% ${PACKAGEROOT}/src/cmd/ksh93/features/ttys ttys
make features/ttys
done features/ttys
prev shell.req
@@ -393,7 +393,7 @@
prev FEATURE/setjmp implicit
prev ${PACKAGE_ast_INCLUDE}/sig.h implicit
make FEATURE/locale implicit
-meta FEATURE/locale features/%>FEATURE/% features/locale locale
+meta FEATURE/locale features/%>FEATURE/% ${PACKAGEROOT}/src/cmd/ksh93/features/locale locale
make features/locale
done features/locale
prev shell.req
@@ -419,7 +419,7 @@
prev ${PACKAGE_ast_INCLUDE}/stak.h implicit
prev include/defs.h implicit
done bltins/hist.c
-meta hist.o %.c>%.o bltins/hist.c hist
+meta hist.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/bltins/hist.c hist
prev bltins/hist.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_HISTEXPAND -DSHOPT_MULTIBYTE -DKSHELL -DSHOPT_ESH -DSHOPT_VSH -D_PACKAGE_ast -DSHOPT_PFSH -D_BLD_shell -DSHOPT_OO -DSHOPT_DYNAMIC -c bltins/hist.c
done hist.o generated
@@ -440,7 +440,7 @@
prev include/variables.h implicit
prev include/defs.h implicit
done bltins/misc.c
-meta misc.o %.c>%.o bltins/misc.c misc
+meta misc.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/bltins/misc.c misc
prev bltins/misc.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_MULTIBYTE -D_PACKAGE_ast -DSHOPT_PFSH -D_BLD_shell -DSHOPT_ESH -DSHOPT_OO -DKSHELL -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -DSHOPT_KIA -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -c bltins/misc.c
done misc.o generated
@@ -471,7 +471,7 @@
prev ${PACKAGE_ast_INCLUDE}/error.h implicit
prev include/defs.h implicit
done bltins/print.c
-meta print.o %.c>%.o bltins/print.c print
+meta print.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/bltins/print.c print
prev bltins/print.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_MULTIBYTE -D_PACKAGE_ast -D_BLD_shell -DSHOPT_PFSH -DSHOPT_ESH -DSHOPT_OO -DKSHELL -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -c bltins/print.c
done print.o generated
@@ -490,14 +490,14 @@
prev ${PACKAGE_ast_INCLUDE}/error.h implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done bltins/read.c
-meta read.o %.c>%.o bltins/read.c read
+meta read.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/bltins/read.c read
prev bltins/read.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_MULTIBYTE -DSHOPT_HISTEXPAND -DKSHELL -DSHOPT_ESH -DSHOPT_VSH -D_PACKAGE_ast -DSHOPT_PFSH -D_BLD_shell -DSHOPT_OO -DSHOPT_DYNAMIC -c bltins/read.c
done read.o generated
make sleep.o
make bltins/sleep.c
make FEATURE/poll implicit
-meta FEATURE/poll features/%>FEATURE/% features/poll poll
+meta FEATURE/poll features/%>FEATURE/% ${PACKAGEROOT}/src/cmd/ksh93/features/poll poll
make features/poll
done features/poll
prev shell.req
@@ -515,7 +515,7 @@
prev ${PACKAGE_ast_INCLUDE}/error.h implicit
prev include/defs.h implicit
done bltins/sleep.c
-meta sleep.o %.c>%.o bltins/sleep.c sleep
+meta sleep.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/bltins/sleep.c sleep
prev bltins/sleep.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_PACKAGE_ast -D_BLD_shell -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_OO -DSHOPT_ESH -c bltins/sleep.c
done sleep.o generated
@@ -525,7 +525,7 @@
prev include/jobs.h implicit
prev include/defs.h implicit
done bltins/trap.c
-meta trap.o %.c>%.o bltins/trap.c trap
+meta trap.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/bltins/trap.c trap
prev bltins/trap.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_BLD_shell -DSHOPT_MULTIBYTE -D_PACKAGE_ast -DSHOPT_PFSH -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_OO -DSHOPT_ESH -c bltins/trap.c
done trap.o generated
@@ -540,7 +540,7 @@
prev ${PACKAGE_ast_INCLUDE}/tm.h implicit
prev FEATURE/poll implicit
make FEATURE/externs implicit
-meta FEATURE/externs features/%>FEATURE/% features/externs externs
+meta FEATURE/externs features/%>FEATURE/% ${PACKAGEROOT}/src/cmd/ksh93/features/externs externs
make features/externs
done features/externs
prev shell.req
@@ -559,7 +559,7 @@
prev ${PACKAGE_ast_INCLUDE}/error.h implicit
prev include/defs.h implicit
done bltins/test.c
-meta test.o %.c>%.o bltins/test.c test
+meta test.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/bltins/test.c test
prev bltins/test.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_PACKAGE_ast -D_BLD_shell -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DKSHELL -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_OO -DSHOPT_ESH -c bltins/test.c
done test.o generated
@@ -574,7 +574,7 @@
prev ${PACKAGE_ast_INCLUDE}/error.h implicit
prev include/defs.h implicit
done bltins/typeset.c
-meta typeset.o %.c>%.o bltins/typeset.c typeset
+meta typeset.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/bltins/typeset.c typeset
prev bltins/typeset.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_DYNAMIC -DSHOPT_MULTIBYTE -D_PACKAGE_ast -DSHOPT_PFSH -D_BLD_shell -DSHOPT_ESH -DSHOPT_OO -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -DSHOPT_HISTEXPAND -c bltins/typeset.c
done typeset.o generated
@@ -582,7 +582,7 @@
make bltins/ulimit.c
make include/ulimit.h implicit
make FEATURE/rlimits implicit
-meta FEATURE/rlimits features/%>FEATURE/% features/rlimits rlimits
+meta FEATURE/rlimits features/%>FEATURE/% ${PACKAGEROOT}/src/cmd/ksh93/features/rlimits rlimits
make features/rlimits
done features/rlimits
prev shell.req
@@ -602,7 +602,7 @@
prev ${PACKAGE_ast_INCLUDE}/sfio.h implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done bltins/ulimit.c
-meta ulimit.o %.c>%.o bltins/ulimit.c ulimit
+meta ulimit.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/bltins/ulimit.c ulimit
prev bltins/ulimit.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_PACKAGE_ast -DSHOPT_OO -D_BLD_shell -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DSHOPT_DYNAMIC -c bltins/ulimit.c
done ulimit.o generated
@@ -615,7 +615,7 @@
prev ${PACKAGE_ast_INCLUDE}/sfio.h implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done bltins/umask.c
-meta umask.o %.c>%.o bltins/umask.c umask
+meta umask.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/bltins/umask.c umask
prev bltins/umask.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_BLD_shell -DSHOPT_MULTIBYTE -D_PACKAGE_ast -DSHOPT_PFSH -DSHOPT_DYNAMIC -DSHOPT_OO -c bltins/umask.c
done umask.o generated
@@ -635,7 +635,7 @@
prev ${PACKAGE_ast_INCLUDE}/error.h implicit
prev include/defs.h implicit
done bltins/whence.c
-meta whence.o %.c>%.o bltins/whence.c whence
+meta whence.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/bltins/whence.c whence
prev bltins/whence.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_BLD_shell -DSHOPT_MULTIBYTE -D_PACKAGE_ast -DSHOPT_PFSH -DSHOPT_KIA -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -DSHOPT_OO -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_ESH -c bltins/whence.c
done whence.o generated
@@ -688,7 +688,7 @@
prev ${PACKAGE_ast_INCLUDE}/sfio.h implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done sh/main.c
-meta main.o %.c>%.o sh/main.c main
+meta main.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/main.c main
prev sh/main.c
exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_BRACEPAT -D_PACKAGE_ast -DSHOPT_ESH -DSHOPT_KIA -D_BLD_shell -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DKSHELL -DSHOPT_SUID_EXEC -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_OO -c sh/main.c
done main.o generated
@@ -699,7 +699,7 @@
prev include/variables.h implicit
prev include/defs.h implicit
done sh/nvdisc.c
-meta nvdisc.o %.c>%.o sh/nvdisc.c nvdisc
+meta nvdisc.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/nvdisc.c nvdisc
prev sh/nvdisc.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_NAMESPACE -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -D_BLD_shell -D_PACKAGE_ast -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_OO -DSHOPT_ESH -c sh/nvdisc.c
done nvdisc.o generated
@@ -712,7 +712,7 @@
prev include/lexstates.h implicit
prev include/defs.h implicit
done sh/arith.c
-meta arith.o %.c>%.o sh/arith.c arith
+meta arith.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/arith.c arith
prev sh/arith.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_PACKAGE_ast -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DSHOPT_OO -D_BLD_shell -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_ESH -c sh/arith.c
done arith.o generated
@@ -726,7 +726,7 @@
prev include/path.h implicit
prev include/defs.h implicit
done sh/args.c
-meta args.o %.c>%.o sh/args.c args
+meta args.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/args.c args
prev sh/args.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_OPTIMIZE -DSHOPT_RAWONLY -DSHOPT_HISTEXPAND -DSHOPT_PFSH -D_BLD_shell -DKSHELL -D_PACKAGE_ast -DSHOPT_KIA -DSHOPT_MULTIBYTE -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -DSHOPT_DYNAMIC -DSHOPT_OO -DSHOPT_ESH -c sh/args.c
done args.o generated
@@ -736,7 +736,7 @@
prev ${PACKAGE_ast_INCLUDE}/stak.h implicit
prev include/defs.h implicit
done sh/array.c
-meta array.o %.c>%.o sh/array.c array
+meta array.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/array.c array
prev sh/array.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_APPEND -DSHOPT_OO -D_BLD_shell -D_PACKAGE_ast -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_ESH -DSHOPT_MULTIBYTE -DSHOPT_PFSH -c sh/array.c
done array.o generated
@@ -749,7 +749,7 @@
prev include/lexstates.h implicit
prev include/defs.h implicit
done edit/completion.c
-meta completion.o %.c>%.o edit/completion.c completion
+meta completion.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/edit/completion.c completion
prev edit/completion.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_MULTIBYTE -DSHOPT_ESH -D_PACKAGE_ast -DSHOPT_HISTEXPAND -DKSHELL -DSHOPT_VSH -DSHOPT_PFSH -D_BLD_shell -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -DSHOPT_DYNAMIC -DSHOPT_OO -c edit/completion.c
done completion.o generated
@@ -761,7 +761,7 @@
prev include/jobs.h implicit
prev include/defs.h implicit
done sh/defs.c
-meta defs.o %.c>%.o sh/defs.c defs
+meta defs.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/defs.c defs
prev sh/defs.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_HISTEXPAND -DSHOPT_MULTIBYTE -DKSHELL -DSHOPT_ESH -DSHOPT_VSH -D_PACKAGE_ast -DSHOPT_PFSH -DSHOPT_KIA -D_BLD_shell -DSHOPT_DYNAMIC -DSHOPT_OO -c sh/defs.c
done defs.o generated
@@ -779,7 +779,7 @@
prev ${PACKAGE_ast_INCLUDE}/ccode.h implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done edit/edit.c
-meta edit.o %.c>%.o edit/edit.c edit
+meta edit.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/edit/edit.c edit
prev edit/edit.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_RAWONLY -DSHOPT_ESH -DSHOPT_VSH -DSHOPT_MULTIBYTE -DSHOPT_HISTEXPAND -DKSHELL -D_PACKAGE_ast -DSHOPT_PFSH -D_BLD_shell -DSHOPT_DYNAMIC -DSHOPT_OO -c edit/edit.c
done edit.o generated
@@ -808,7 +808,7 @@
prev include/variables.h implicit
prev include/defs.h implicit
done sh/expand.c
-meta expand.o %.c>%.o sh/expand.c expand
+meta expand.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/expand.c expand
prev sh/expand.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_BRACEPAT -DSHOPT_SUID_EXEC -D_BLD_shell -D_PACKAGE_ast -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DKSHELL -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_OO -DSHOPT_ESH -c sh/expand.c
done expand.o generated
@@ -824,7 +824,7 @@
prev include/fcin.h implicit
prev include/defs.h implicit
done sh/fault.c
-meta fault.o %.c>%.o sh/fault.c fault
+meta fault.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/fault.c fault
prev sh/fault.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_KIA -DSHOPT_ESH -DSHOPT_VSH -D_PACKAGE_ast -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -D_BLD_shell -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DKSHELL -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_OO -c sh/fault.c
done fault.o generated
@@ -835,7 +835,7 @@
prev ${PACKAGE_ast_INCLUDE}/sfio.h implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done sh/fcin.c
-meta fcin.o %.c>%.o sh/fcin.c fcin
+meta fcin.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/fcin.c fcin
prev sh/fcin.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -Iinclude -I${PACKAGE_ast_INCLUDE} -D_PACKAGE_ast -c sh/fcin.c
done fcin.o generated
@@ -854,7 +854,7 @@
prev ${PACKAGE_ast_INCLUDE}/sfio.h implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done edit/history.c
-meta history.o %.c>%.o edit/history.c history
+meta history.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/edit/history.c history
prev edit/history.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_VSH -DSHOPT_ESH -DSHOPT_MULTIBYTE -D_PACKAGE_ast -D_BLD_shell -DKSHELL -DSHOPT_PFSH -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_OO -c edit/history.c
done history.o generated
@@ -886,7 +886,7 @@
prev ${PACKAGE_ast_INCLUDE}/stak.h implicit
prev include/defs.h implicit
done sh/init.c
-meta init.o %.c>%.o sh/init.c init
+meta init.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/init.c init
prev sh/init.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_PFSH -DSHOPT_NAMESPACE -DSHOPT_MULTIBYTE -D_PACKAGE_ast -D_BLD_shell -DSHOPT_KIA -DKSHELL -DSHOPT_HISTEXPAND -DSHOPT_ESH -DSHOPT_VSH -DSHOPT_OO -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -DSHOPT_DYNAMIC -c sh/init.c
done init.o generated
@@ -912,7 +912,7 @@
prev include/fcin.h implicit
prev include/defs.h implicit
done sh/io.c
-meta io.o %.c>%.o sh/io.c io
+meta io.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/io.c io
prev sh/io.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_RAWONLY -DSHOPT_VSH -DSHOPT_ESH -DSHOPT_HISTEXPAND -DSHOPT_MULTIBYTE -DKSHELL -D_PACKAGE_ast -DSHOPT_PFSH -DSHOPT_KIA -D_BLD_shell -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -DSHOPT_DYNAMIC -DSHOPT_OO -c sh/io.c
done io.o generated
@@ -929,7 +929,7 @@
done ${PACKAGE_ast_INCLUDE}/wait.h
prev include/defs.h implicit
done sh/jobs.c
-meta jobs.o %.c>%.o sh/jobs.c jobs
+meta jobs.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/jobs.c jobs
prev sh/jobs.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_VSH -DSHOPT_ESH -D_PACKAGE_ast -DSHOPT_MULTIBYTE -DSHOPT_PFSH -D_BLD_shell -DKSHELL -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_OO -c sh/jobs.c
done jobs.o generated
@@ -948,7 +948,7 @@
prev ${PACKAGE_ast_INCLUDE}/stak.h implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done sh/lex.c
-meta lex.o %.c>%.o sh/lex.c lex
+meta lex.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/lex.c lex
prev sh/lex.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_APPEND -DSHOPT_OO -DSHOPT_MULTIBYTE -DSHOPT_KIA -D_BLD_shell -D_PACKAGE_ast -DSHOPT_PFSH -DKSHELL -DSHOPT_DYNAMIC -DSHOPT_HISTEXPAND -DSHOPT_ESH -c sh/lex.c
done lex.o generated
@@ -964,7 +964,7 @@
prev include/fcin.h implicit
prev include/defs.h implicit
done sh/macro.c
-meta macro.o %.c>%.o sh/macro.c macro
+meta macro.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/macro.c macro
prev sh/macro.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_BRACEPAT -DKSHELL -DSHOPT_COMPOUND_ARRAY -DSHOPT_OO -DSHOPT_FILESCAN -DSHOPT_MULTIBYTE -DSHOPT_SUID_EXEC -D_BLD_shell -D_PACKAGE_ast -DSHOPT_PFSH -DSHOPT_KIA -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_ESH -c sh/macro.c
done macro.o generated
@@ -980,7 +980,7 @@
prev include/variables.h implicit
prev include/defs.h implicit
done sh/name.c
-meta name.o %.c>%.o sh/name.c name
+meta name.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/name.c name
prev sh/name.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_OPTIMIZE -DSHOPT_MULTIBYTE -DSHOPT_COMPOUND_ARRAY -D_BLD_shell -D_PACKAGE_ast -DSHOPT_PFSH -DSHOPT_KIA -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_OO -DSHOPT_ESH -c sh/name.c
done name.o generated
@@ -990,7 +990,7 @@
prev include/name.h implicit
prev include/defs.h implicit
done sh/nvtree.c
-meta nvtree.o %.c>%.o sh/nvtree.c nvtree
+meta nvtree.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/nvtree.c nvtree
prev sh/nvtree.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_COMPOUND_ARRAY -D_PACKAGE_ast -DSHOPT_OO -D_BLD_shell -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_ESH -DSHOPT_MULTIBYTE -DSHOPT_PFSH -c sh/nvtree.c
done nvtree.o generated
@@ -1006,7 +1006,7 @@
prev include/shell.h implicit
prev include/defs.h implicit
done sh/parse.c
-meta parse.o %.c>%.o sh/parse.c parse
+meta parse.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/parse.c parse
prev sh/parse.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_NAMESPACE -DSHOPT_APPEND -DSHOPT_COMPOUND_ARRAY -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -D_BLD_shell -D_PACKAGE_ast -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DSHOPT_KIA -DSHOPT_ESH -DSHOPT_DYNAMIC -DSHOPT_OO -DSHOPT_HISTEXPAND -DKSHELL -c sh/parse.c
done parse.o generated
@@ -1028,7 +1028,7 @@
prev include/fcin.h implicit
prev include/defs.h implicit
done sh/path.c
-meta path.o %.c>%.o sh/path.c path
+meta path.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/path.c path
prev sh/path.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_PACKAGE_ast -DSHOPT_SUID_EXEC -DSHOPT_PFSH -DSHOPT_MULTIBYTE -DSHOPT_ESH -D_BLD_shell -DKSHELL -DSHOPT_BRACEPAT -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_OO -c sh/path.c
done path.o generated
@@ -1040,9 +1040,10 @@
prev ${PACKAGE_ast_INCLUDE}/ccode.h implicit
prev ${PACKAGE_ast_INCLUDE}/stak.h implicit
prev include/defs.h implicit
+prev ${PACKAGE_ast_INCLUDE}/ast_wchar.h implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done sh/string.c
-meta string.o %.c>%.o sh/string.c string
+meta string.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/string.c string
prev sh/string.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_MULTIBYTE -D_PACKAGE_ast -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -D_BLD_shell -DSHOPT_OO -DSHOPT_ESH -DSHOPT_PFSH -c sh/string.c
done string.o generated
@@ -1053,7 +1054,7 @@
prev ${PACKAGE_ast_INCLUDE}/error.h implicit
prev include/streval.h implicit
done sh/streval.c
-meta streval.o %.c>%.o sh/streval.c streval
+meta streval.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/streval.c streval
prev sh/streval.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_BLD_shell -D_PACKAGE_ast -c sh/streval.c
done streval.o generated
@@ -1069,7 +1070,7 @@
prev ${PACKAGE_ast_INCLUDE}/ls.h implicit
prev include/defs.h implicit
done sh/subshell.c
-meta subshell.o %.c>%.o sh/subshell.c subshell
+meta subshell.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/subshell.c subshell
prev sh/subshell.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -D_BLD_shell -D_PACKAGE_ast -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DSHOPT_KIA -DKSHELL -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_OO -DSHOPT_ESH -c sh/subshell.c
done subshell.o generated
@@ -1081,7 +1082,7 @@
prev include/defs.h implicit
prev ${PACKAGE_ast_INCLUDE}/ccode.h implicit
done sh/tdump.c
-meta tdump.o %.c>%.o sh/tdump.c tdump
+meta tdump.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/tdump.c tdump
prev sh/tdump.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_BLD_shell -DKSHELL -D_PACKAGE_ast -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DSHOPT_KIA -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_OO -DSHOPT_ESH -c sh/tdump.c
done tdump.o generated
@@ -1095,7 +1096,7 @@
prev ${PACKAGE_ast_INCLUDE}/sig.h implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done sh/timers.c
-meta timers.o %.c>%.o sh/timers.c timers
+meta timers.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/timers.c timers
prev sh/timers.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_PACKAGE_ast -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -D_BLD_shell -DSHOPT_OO -DSHOPT_ESH -DSHOPT_MULTIBYTE -DSHOPT_PFSH -c sh/timers.c
done timers.o generated
@@ -1107,7 +1108,7 @@
prev include/defs.h implicit
prev ${PACKAGE_ast_INCLUDE}/ccode.h implicit
done sh/trestore.c
-meta trestore.o %.c>%.o sh/trestore.c trestore
+meta trestore.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/trestore.c trestore
prev sh/trestore.c
exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_BLD_shell -DKSHELL -D_PACKAGE_ast -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DSHOPT_KIA -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_OO -DSHOPT_ESH -c sh/trestore.c
done trestore.o generated
@@ -1115,7 +1116,7 @@
make sh/waitevent.c
prev include/defs.h implicit
done sh/waitevent.c
-meta waitevent.o %.c>%.o sh/waitevent.c waitevent
+meta waitevent.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/waitevent.c waitevent
prev sh/waitevent.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -D_BLD_shell -D_PACKAGE_ast -DSHOPT_OO -DSHOPT_ESH -DSHOPT_MULTIBYTE -DSHOPT_PFSH -c sh/waitevent.c
done waitevent.o generated
@@ -1141,7 +1142,7 @@
prev include/fcin.h implicit
prev include/defs.h implicit
done sh/xec.c
-meta xec.o %.c>%.o sh/xec.c xec
+meta xec.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/xec.c xec
prev sh/xec.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_PACKAGE_ast -DSHOPT_FILESCAN -DSHOPT_NAMESPACE -DSHOPT_OPTIMIZE -D_BLD_shell -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DSHOPT_KIA -DKSHELL -DSHOPT_OO -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DSHOPT_ESH -c sh/xec.c
done xec.o generated
@@ -1151,7 +1152,7 @@
prev ${PACKAGE_ast_INCLUDE}/cdt.h implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done sh/env.c
-meta env.o %.c>%.o sh/env.c env
+meta env.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/env.c env
prev sh/env.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -Iinclude -I${PACKAGE_ast_INCLUDE} -D_PACKAGE_ast -c sh/env.c
done env.o generated
@@ -1160,7 +1161,7 @@
prev include/ulimit.h implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done data/limits.c
-meta limits.o %.c>%.o data/limits.c limits
+meta limits.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/data/limits.c limits
prev data/limits.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_PACKAGE_ast -c data/limits.c
done limits.o generated
@@ -1177,7 +1178,7 @@
prev include/defs.h implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done data/msg.c
-meta msg.o %.c>%.o data/msg.c msg
+meta msg.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/data/msg.c msg
prev data/msg.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_SUID_EXEC -DSHOPT_HISTEXPAND -DSHOPT_MULTIBYTE -DKSHELL -DSHOPT_ESH -DSHOPT_VSH -D_PACKAGE_ast -DSHOPT_PFSH -D_BLD_shell -DSHOPT_KIA -DSHOPT_BRACEPAT -DSHOPT_DYNAMIC -DSHOPT_OO -c data/msg.c
done msg.o generated
@@ -1185,7 +1186,7 @@
make data/strdata.c
prev include/streval.h implicit
make FEATURE/math implicit
-meta FEATURE/math features/%>FEATURE/% features/math math
+meta FEATURE/math features/%>FEATURE/% ${PACKAGEROOT}/src/cmd/ksh93/features/math math
make features/math
done features/math
prev shell.req
@@ -1198,7 +1199,7 @@
done FEATURE/math generated
prev FEATURE/options implicit
done data/strdata.c
-meta strdata.o %.c>%.o data/strdata.c strdata
+meta strdata.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/data/strdata.c strdata
prev data/strdata.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_PACKAGE_ast -DSHOPT_MULTIBYTE -DSHOPT_PFSH -c data/strdata.c
done strdata.o generated
@@ -1208,7 +1209,7 @@
prev include/shtable.h implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done data/testops.c
-meta testops.o %.c>%.o data/testops.c testops
+meta testops.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/data/testops.c testops
prev data/testops.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DUSAGE_LICENSE=\""[-author?David Korn <dgk at research.att.com>][-copyright?Copyright (c) 1982-2006 AT&T Knowledge Ventures][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell]"\" -DSHOPT_MULTIBYTE -D_PACKAGE_ast -DSHOPT_PFSH -c data/testops.c
done testops.o generated
@@ -1219,7 +1220,7 @@
prev include/shell.h implicit
prev include/shtable.h implicit
done data/keywords.c
-meta keywords.o %.c>%.o data/keywords.c keywords
+meta keywords.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/data/keywords.c keywords
prev data/keywords.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_NAMESPACE -DSHOPT_MULTIBYTE -D_PACKAGE_ast -DSHOPT_PFSH -DSHOPT_KIA -D_BLD_shell -DSHOPT_DYNAMIC -DSHOPT_OO -c data/keywords.c
done keywords.o generated
@@ -1230,7 +1231,7 @@
prev FEATURE/options implicit
prev include/defs.h implicit
done data/options.c
-meta options.o %.c>%.o data/options.c options
+meta options.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/data/options.c options
prev data/options.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_PFSH -DSHOPT_HISTEXPAND -DSHOPT_OO -D_BLD_shell -D_PACKAGE_ast -DSHOPT_MULTIBYTE -DSHOPT_DYNAMIC -DSHOPT_ESH -c data/options.c
done options.o generated
@@ -1240,7 +1241,7 @@
prev include/shtable.h implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done data/signals.c
-meta signals.o %.c>%.o data/signals.c signals
+meta signals.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/data/signals.c signals
prev data/signals.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_PACKAGE_ast -c data/signals.c
done signals.o generated
@@ -1252,7 +1253,7 @@
prev FEATURE/options implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done data/aliases.c
-meta aliases.o %.c>%.o data/aliases.c aliases
+meta aliases.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/data/aliases.c aliases
prev data/aliases.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_OO -D_BLD_shell -D_PACKAGE_ast -DSHOPT_MULTIBYTE -DSHOPT_PFSH -c data/aliases.c
done aliases.o generated
@@ -1262,7 +1263,7 @@
prev ${PACKAGE_ast_INCLUDE}/prototyped.h implicit
done ${PACKAGE_ast_INCLUDE}/cmdlist.h dontcare
make FEATURE/cmds implicit
-meta FEATURE/cmds features/%>FEATURE/% features/cmds cmds
+meta FEATURE/cmds features/%>FEATURE/% ${PACKAGEROOT}/src/cmd/ksh93/features/cmds cmds
make features/cmds
done features/cmds
prev shell.req
@@ -1281,7 +1282,7 @@
prev include/shtable.h implicit
prev include/shell.h implicit
done data/builtins.c
-meta builtins.o %.c>%.o data/builtins.c builtins
+meta builtins.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/data/builtins.c builtins
prev data/builtins.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_KIA -DSHOPT_PFSH -DUSAGE_LICENSE=\""[-author?David Korn <dgk at research.att.com>][-copyright?Copyright (c) 1982-2006 AT&T Knowledge Ventures][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell]"\" -DSHOPT_BRACEPAT -DSHOPT_HISTEXPAND -DSH_CMDLIB_DIR=\""/opt/ast/bin"\" -DSHOPT_CMDLIB_BLTIN=0 -DSHOPT_MULTIBYTE -D_PACKAGE_ast -D_BLD_shell -DKSHELL -DSHOPT_OO -DSHOPT_DYNAMIC -c data/builtins.c
done builtins.o generated
@@ -1294,7 +1295,7 @@
prev FEATURE/options implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done data/variables.c
-meta variables.o %.c>%.o data/variables.c variables
+meta variables.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/data/variables.c variables
prev data/variables.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_MULTIBYTE -DSHOPT_OO -D_BLD_shell -D_PACKAGE_ast -DSHOPT_DYNAMIC -DSHOPT_PFSH -c data/variables.c
done variables.o generated
@@ -1304,7 +1305,7 @@
prev FEATURE/options implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done data/lexstates.c
-meta lexstates.o %.c>%.o data/lexstates.c lexstates
+meta lexstates.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/data/lexstates.c lexstates
prev data/lexstates.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_BRACEPAT -DSHOPT_OO -DSHOPT_NAMESPACE -DSHOPT_MULTIBYTE -D_PACKAGE_ast -DSHOPT_PFSH -c data/lexstates.c
done lexstates.o generated
@@ -1317,7 +1318,7 @@
prev include/defs.h implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done edit/emacs.c
-meta emacs.o %.c>%.o edit/emacs.c emacs
+meta emacs.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/edit/emacs.c emacs
prev edit/emacs.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_MULTIBYTE -DSHOPT_HISTEXPAND -DKSHELL -DSHOPT_ESH -DSHOPT_VSH -D_PACKAGE_ast -DSHOPT_PFSH -D_BLD_shell -DSHOPT_DYNAMIC -DSHOPT_OO -c edit/emacs.c
done emacs.o generated
@@ -1333,7 +1334,7 @@
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
prev include/defs.h implicit
done edit/vi.c
-meta vi.o %.c>%.o edit/vi.c vi
+meta vi.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/edit/vi.c vi
prev edit/vi.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_RAWONLY -DSHOPT_MULTIBYTE -D_PACKAGE_ast -DSHOPT_HISTEXPAND -DKSHELL -DSHOPT_ESH -DSHOPT_VSH -DSHOPT_PFSH -D_BLD_shell -DSHOPT_DYNAMIC -DSHOPT_OO -c edit/vi.c
done vi.o generated
@@ -1342,7 +1343,7 @@
prev include/edit.h implicit
prev include/defs.h implicit
done edit/hexpand.c
-meta hexpand.o %.c>%.o edit/hexpand.c hexpand
+meta hexpand.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/edit/hexpand.c hexpand
prev edit/hexpand.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_HISTEXPAND -DSHOPT_MULTIBYTE -DKSHELL -DSHOPT_ESH -DSHOPT_VSH -D_PACKAGE_ast -DSHOPT_PFSH -DSHOPT_DYNAMIC -D_BLD_shell -DSHOPT_OO -c edit/hexpand.c
done hexpand.o generated
@@ -1364,7 +1365,7 @@
prev include/shnodes.h implicit
prev include/shell.h implicit
done sh/shcomp.c
-meta shcomp.o %.c>%.o sh/shcomp.c shcomp
+meta shcomp.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/shcomp.c shcomp
prev sh/shcomp.c
setv CC.DLL -UCC.DLL
setv SH_DICT -DSH_DICT="\"libshell\""
@@ -1391,7 +1392,7 @@
prev FEATURE/externs implicit
prev ${PACKAGE_ast_INCLUDE}/ast.h implicit
done sh/suid_exec.c
-meta suid_exec.o %.c>%.o sh/suid_exec.c suid_exec
+meta suid_exec.o %.c>%.o ${PACKAGEROOT}/src/cmd/ksh93/sh/suid_exec.c suid_exec
prev sh/suid_exec.c
setv CC.DLL -UCC.DLL
setv _BLD_shell -U_BLD_shell
@@ -1537,6 +1538,6 @@
done tests/shtests
exec - silent cmp 2>/dev/null -s ${INSTALLROOT}/bin/ksh ksh 2>/dev/null ||
exec - echo "make install to run the tests on the latest ksh" >&2
-exec - cd ${PACKAGEROOT}/src/cmd/ksh93/tests
+exec - cd
exec - SHELL=${INSTALLROOT}/bin/ksh ${INSTALLROOT}/bin/ksh shtests
done test dontcare virtual
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/RELEASE ksh93_2006_05_30/src/cmd/ksh93/RELEASE
--- ksh93_2006_02_14/src/cmd/ksh93/RELEASE 2006-01-24 18:10:46.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/RELEASE 2006-05-22 22:05:25.000000000 +0200
@@ -1,3 +1,31 @@
+06-05-19 --- Release ksh93r+ ---
+06-05-19 Modified arithmetic so that conversions to strings default to
+ the maximum number of precision digits.
+06-05-16 Bug fixes for multibyte locales.
+06-05-10 The =~ operator was added to [[...]] and [[ string ~= ERE ]]
+ is equivalent to [[ string == ~(E)ERE ]].
+06-05-10 Modified emacs and vi mode so that entering a TAB after a partial
+ TAB conpletion, generates a listing of possible completions.
+06-04-25 A bug in the vi edit mode which could cause the shell to core dump
+ when switching from emacs mode.
+06-04-17 A bug in which using LANG or LC_ in assignment lists with builtins
+ did not restore the localed correctly has been fixed.
+06-04-04 A bug in which discipline functions could not be added to variables
+ whose names started with .sh has been fixed.
+06-03-28 The -s option to typeset was added to modify -i to indicate short
+ integers.
+06-03-28 A bug in which variables assignment lists before functions
+ defined with function name were not passed on the functions
+ invoked by this function has been fixed.
+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
+ been fixed.
+06-03-27 A bug in which read <&p (print >&p) would cause the coprocess input
+ (output) pipe to close before reading from (after writing to)
+ it has been fixed.
+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.
+
06-01-24 --- Release ksh93r ---
06-01-24 A bug in which running commands with standard output closed would
not work as expected has been fixed.
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/sh/arith.c ksh93_2006_05_30/src/cmd/ksh93/sh/arith.c
--- ksh93_2006_02_14/src/cmd/ksh93/sh/arith.c 2005-02-08 02:45:47.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/sh/arith.c 2006-05-22 21:58:44.000000000 +0200
@@ -202,7 +202,7 @@
if(c==GETDECIMAL(0) || c=='e' || c == 'E')
{
lvalue->isfloat=1;
- r = strtod(val,&str);
+ r = strtold(val,&str);
}
else if(lastbase==10 && val[1])
{
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/sh/init.c ksh93_2006_05_30/src/cmd/ksh93/sh/init.c
--- ksh93_2006_02_14/src/cmd/ksh93/sh/init.c 2005-09-15 23:12:32.000000000 +0200
+++ ksh93_2006_05_30/src/cmd/ksh93/sh/init.c 2006-05-08 23:24:54.000000000 +0200
@@ -102,8 +102,6 @@
{
Namfun_t hdr;
Shell_t *sh;
- char *bufptr;
- int maxbufsize;
};
struct rand
@@ -252,7 +250,7 @@
#endif
if(!(flags&NV_RDONLY) && sh_isoption(SH_RESTRICTED))
errormsg(SH_DICT,ERROR_exit(1),e_restricted,nv_name(np));
- if(name==(PATHNOD)->nvname)
+ if(np==PATHNOD)
{
#ifndef PATH_BFPATH
shp->lastpath = 0;
@@ -262,7 +260,7 @@
if(val && !(flags&NV_RDONLY) && np->nvalue.cp && strcmp(val,np->nvalue.cp)==0)
return;
#ifdef PATH_BFPATH
- if(shp->pathlist && name==(FPATHNOD)->nvname)
+ if(shp->pathlist && np==FPATHNOD)
shp->pathlist = (void*)path_unsetfpath((Pathcomp_t*)shp->pathlist);
#endif
nv_putv(np, val, flags, fp);
@@ -270,9 +268,9 @@
if(shp->pathlist)
{
val = np->nvalue.cp;
- if(name==(PATHNOD)->nvname)
+ if(np==PATHNOD)
pp = (void*)path_addpath((Pathcomp_t*)shp->pathlist,val,PATH_PATH);
- else if(val && name==(FPATHNOD)->nvname)
+ else if(val && np==FPATHNOD)
pp = (void*)path_addpath((Pathcomp_t*)shp->pathlist,val,PATH_FPATH);
else
return;
@@ -508,20 +506,14 @@
static char* get_seconds(register Namval_t* np, Namfun_t *fp)
{
- static char *bufptr;
- static int maxbufsize;
register int places = nv_size(np);
struct tms tp;
double d, offset = (np->nvalue.dp?*np->nvalue.dp:0);
NOT_USED(fp);
timeofday(&tp);
d = dtime(&tp)- offset;
- if(!bufptr)
- bufptr = (char*)malloc(maxbufsize=places+20);
- else if(places+20 > maxbufsize)
- bufptr = (char*)realloc(bufptr,maxbufsize=places+20);
- sfsprintf(bufptr,maxbufsize,"%.*f\0",places,d);
- return(bufptr);
+ sfprintf(sh.strbuf,"%.*f",places,d);
+ return(sfstruse(sh.strbuf));
}
static Sfdouble_t nget_seconds(register Namval_t* np, Namfun_t *fp)
@@ -623,11 +615,10 @@
static void put_lastarg(Namval_t* np,const char *val,int flags,Namfun_t *fp)
{
- char numbuf[20];
if(flags&NV_INTEGER)
{
- sfsprintf(numbuf,sizeof(numbuf),"%.*g\0",12,*((double*)val));
- val = numbuf;
+ sfprintf(sh.strbuf,"%.*g",12,*((double*)val));
+ val = sfstruse(sh.strbuf);
}
if(sh.lastarg && !nv_isattr(np,NV_NOFREE))
free((void*)sh.lastarg);
@@ -839,6 +830,8 @@
sh.arg_context = sh_argopen(&sh);
sh.lex_context = (void*)sh_lexopen(0,&sh,1);
sh.ed_context = (void*)ed_open(&sh);
+ sh.strbuf = sfstropen();
+ sfsetbuf(sh.strbuf,(char*)0,64);
sh_onstate(SH_INIT);
error_info.exit = sh_exit;
error_info.id = path_basename(argv[0]);
@@ -904,10 +897,10 @@
* try using environment variable _ or argv[0]
*/
char *last, *cp=nv_getval(L_ARGNOD);
- char path[50],buff[PATH_MAX+1];
+ char buff[PATH_MAX+1];
sh.shpath = 0;
- sfsprintf(path,sizeof(path),"/proc/%d/exe\0",getpid());
- if((n=readlink(path,buff,sizeof(buff)-1))>0)
+ sfprintf(sh.strbuf,"/proc/%d/exe",getpid());
+ if((n=readlink(sfstruse(sh.strbuf),buff,sizeof(buff)-1))>0)
{
buff[n] = 0;
sh.shpath = strdup(buff);
@@ -1254,7 +1247,7 @@
nv_stack(np, &NSPACE_init);
#endif /* SHOPT_NAMESPACE */
np = nv_mount(DOTSHNOD, "type", dtopen(&_Nvdisc,Dtset));
- nv_adddisc(DOTSHNOD, shdiscnames);
+ nv_adddisc(DOTSHNOD, shdiscnames, (Namval_t**)0);
return(ip);
}
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/sh/io.c ksh93_2006_05_30/src/cmd/ksh93/sh/io.c
--- ksh93_2006_02_14/src/cmd/ksh93/sh/io.c 2006-01-24 18:11:43.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/sh/io.c 2006-03-29 17:12:33.000000000 +0200
@@ -681,9 +681,11 @@
else if(fd=='p' && fname[1]==0)
{
if(iof&IOPUT)
- toclose = dupfd = sh.coutpipe;
+ dupfd = sh.coutpipe;
else
- toclose = dupfd = sh.cpipe[0];
+ dupfd = sh.cpipe[0];
+ if(flag)
+ toclose = dupfd;
}
else
{
@@ -1935,6 +1937,23 @@
return(old);
}
+Sfio_t *sh_fd2sfio(int fd)
+{
+ register int status;
+ Sfio_t *sp = sh.sftable[fd];
+ if(!sp && (status = sh_iocheckfd(fd))!=IOCLOSE)
+ {
+ register int flags=0;
+ if(status&IOREAD)
+ flags |= SF_READ;
+ if(status&IOWRITE)
+ flags |= SF_WRITE;
+ sp = sfnew(NULL, NULL, -1, fd,flags);
+ sh.sftable[fd] = sp;
+ }
+ return(sp);
+}
+
Sfio_t *sh_pathopen(const char *cp)
{
int n;
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/sh/jobs.c ksh93_2006_05_30/src/cmd/ksh93/sh/jobs.c
--- ksh93_2006_02_14/src/cmd/ksh93/sh/jobs.c 2006-01-23 17:57:38.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/sh/jobs.c 2006-03-01 16:26:20.000000000 +0100
@@ -203,7 +203,7 @@
if(sig)
flags = WNOHANG|WUNTRACED|wcontinued;
else
- flags = WUNTRACED;
+ flags = WUNTRACED|wcontinued;
sh.waitevent = 0;
oerrno = errno;
while(1)
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/sh/lex.c ksh93_2006_05_30/src/cmd/ksh93/sh/lex.c
--- ksh93_2006_02_14/src/cmd/ksh93/sh/lex.c 2005-11-30 22:02:56.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/sh/lex.c 2006-05-17 16:23:01.000000000 +0200
@@ -997,13 +997,19 @@
n = endchar();
if(c==RBRACT && !(n==RBRACT || n==RPAREN))
continue;
- else if((c==RBRACE||c==RPAREN) && n==RPAREN && fcpeek(0)==LPAREN)
+ if((c==RBRACE||c==RPAREN) && n==RPAREN)
{
- if(c==RPAREN)
- fcseek(1);
- continue;
+ if(fcgetc(n)==LPAREN)
+ {
+ if(c!=RPAREN)
+ fcseek(-1);
+ continue;
+ }
+ if(n>0)
+ fcseek(-1);
+ n = RPAREN;
}
- else if(c==';' && n!=';')
+ if(c==';' && n!=';')
{
if(lexd.warn && n==RBRACE)
errormsg(SH_DICT,ERROR_warn(0),e_lexusequote,shp->inlineno,c);
@@ -1596,6 +1602,28 @@
{
if(n!=S_NL)
{
+#if SHOPT_MULTIBYTE
+ if(mbwide())
+ {
+ do
+ {
+ switch(mbsize(_Fcin.fcptr))
+ {
+ case -1: /* bogus multiByte char - parse as bytes? */
+ case 0: /* NULL byte */
+ case 1:
+ n = state[fcget()];
+ break;
+ default:
+ /* treat as alpha */
+ mbchar(_Fcin.fcptr);
+ n = state['a'];
+ }
+ }
+ while(n == 0);
+ }
+ else
+#endif /* SHOPT_MULTIBYTE */
/* skip over regular characters */
while((n=state[fcget()])==0);
}
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/sh/macro.c ksh93_2006_05_30/src/cmd/ksh93/sh/macro.c
--- ksh93_2006_02_14/src/cmd/ksh93/sh/macro.c 2005-12-07 18:27:54.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/sh/macro.c 2006-05-22 19:47:24.000000000 +0200
@@ -41,6 +41,8 @@
#include "shnodes.h"
#include "path.h"
#include "national.h"
+#include <float.h>
+
#undef STR_GROUP
#ifndef STR_GROUP
@@ -266,6 +268,29 @@
cp = fcseek(0);
while(1)
{
+#if SHOPT_MULTIBYTE
+ if(mbwide())
+ {
+ do
+ {
+ ssize_t len;
+ switch(len = mbsize(cp))
+ {
+ case -1: /* illegal multi-byte char */
+ case 0:
+ case 1:
+ n=state[*(unsigned char*)cp++];
+ break;
+ default:
+ /* use state of alpah character */
+ n=state['a'];
+ cp += len;
+ }
+ }
+ while(n == 0);
+ }
+ else
+#endif /* SHOPT_MULTIBYTE */
while((n=state[*(unsigned char*)cp++])==0);
if(n==S_NL || n==S_QUOTE || n==S_RBRA)
continue;
@@ -395,8 +420,35 @@
cp++;
while(1)
{
- while((n=state[*(unsigned char*)cp++])==0);
- c = (cp-1) - first;
+#if SHOPT_MULTIBYTE
+ if(mbwide())
+ {
+ ssize_t len;
+ do
+ {
+ switch(len = mbsize(sp))
+ {
+ case -1: /* illegal multi-byte char */
+ case 0:
+ len = 1;
+ case 1:
+ n = state[*(unsigned char*)cp++];
+ break;
+ default:
+ /* treat as if alpha */
+ cp += len;
+ n=state['a'];
+ }
+ }
+ while(n == 0);
+ c = (cp-len) - first;
+ }
+ else
+#endif /* SHOPT_MULTIBYTE */
+ {
+ while((n=state[*(unsigned char*)cp++])==0);
+ c = (cp-1) - first;
+ }
switch(n)
{
case S_ESC:
@@ -1581,7 +1633,6 @@
t = sh_dolparen();
if(t && t->tre.tretyp==TARITH)
{
- char numbuf[20];
str = t->ar.arexpr->argval;
fcsave(&save);
if(!(t->ar.arexpr->argflag&ARG_RAW))
@@ -1591,9 +1642,10 @@
stakset(savptr,savtop);
*mp = savemac;
if((Sflong_t)num==num)
- sfsprintf(str=numbuf,sizeof(numbuf),"%lld\0",(Sflong_t)num);
+ sfprintf(sh.strbuf,"%lld",(Sflong_t)num);
else
- sfsprintf(str=numbuf,sizeof(numbuf),"%.*Lg\0",12,num);
+ sfprintf(sh.strbuf,"%.*Lg",LDBL_DIG,num);
+ str = sfstruse(sh.strbuf);
mac_copy(mp,str,strlen(str));
sh.st.staklist = saveslp;
fcrestore(&save);
@@ -2175,7 +2227,8 @@
*/
static void mac_error(Namval_t *np)
{
- nv_close(np);
+ if(np)
+ nv_close(np);
errormsg(SH_DICT,ERROR_exit(1),e_subst,fcfirst());
}
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/sh/name.c ksh93_2006_05_30/src/cmd/ksh93/sh/name.c
--- ksh93_2006_02_14/src/cmd/ksh93/sh/name.c 2006-02-08 16:46:25.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/sh/name.c 2006-05-22 20:24:46.000000000 +0200
@@ -31,6 +31,7 @@
#include "timeout.h"
#include "FEATURE/locale"
#include "FEATURE/externs"
+#include <float.h>
#if !_lib_pathnative && _lib_uwin_path
@@ -381,7 +382,6 @@
Namfun_t *fp=0;
long mode, add=0;
int copy=1,isref,top=0,noscope=(flags&NV_NOSCOPE);
- Dt_t *funtree= 0;
if(root==sh.var_tree)
{
if(dtvnext(root))
@@ -389,8 +389,6 @@
else
flags &= ~NV_NOSCOPE;
}
- else if(root==sh_subfuntree(1))
- funtree = root;
if(!dp->disc)
copy = dp->nofree;
if(*cp=='.')
@@ -418,11 +416,6 @@
sp = (char*)name+c;
c = '.';
}
- if(funtree)
- {
- root = sh.var_tree;
- flags &= ~NV_NOSCOPE;
- }
skip:
case '+':
case '=':
@@ -444,8 +437,8 @@
flags &= ~NV_NOSCOPE;
else if(nq)
{
- if(nv_isnull(np) && c!='.')
- np->nvfun=nv_cover(nq);
+ if(nv_isnull(np) && c!='.' && (np->nvfun=nv_cover(nq)))
+ np->nvname = nq->nvname;
flags |= NV_NOSCOPE;
}
}
@@ -484,6 +477,8 @@
sp = (char*)name + copy;
cp = sp+c;
c = *sp;
+ if(!noscope)
+ flags &= ~NV_NOSCOPE;
}
flags |= NV_NOREF;
}
@@ -504,7 +499,7 @@
if(c!='.')
return(np);
}
- if(!funtree && (fp=np->nvfun))
+ if(fp=np->nvfun)
{
for(; fp; fp=fp->next)
{
@@ -524,11 +519,6 @@
}
}
while(c!='.');
- if(funtree)
- {
- root = funtree;
- flags |= noscope;
- }
cp++;
break;
default:
@@ -561,6 +551,8 @@
Namfun_t fun;
int append=0, copy=0;
const char *msg = e_varname;
+ char *fname = 0;
+ Dt_t *funroot;
sh.last_table = sh.namespace;
if(!root)
@@ -569,11 +561,15 @@
{
flags |= NV_NOREF;
msg = e_funname;
- if(sh.namespace && !strchr(name,'.'))
+ if((np=sh.namespace) || strchr(name,'.'))
{
- name = cp = copystack(nv_name(sh.namespace),name,(const char*)0);
+ name = cp = copystack(np?nv_name(np):0,name,(const char*)0);
+ fname = strrchr(cp,'.');
+ *fname = 0;
+ funroot = root;
copy = 1;
flags &= ~NV_IDENT;
+ root = sh.var_tree;
}
}
else if(!(flags&(NV_IDENT|NV_VARNAME|NV_ASSIGN)))
@@ -627,7 +623,15 @@
fun.disc = 0;
fun.nofree = copy;
np = nv_create(name, root, flags, &fun);
- if(*(cp=fun.last)=='+' && cp[1]=='=')
+ cp = fun.last;
+ if(fname)
+ {
+ c = ((flags&NV_NOSCOPE)?HASH_NOSCOPE:0)|((flags&NV_NOADD)?0:NV_ADD);
+ *fname = '.';
+ np = nv_search(name, funroot, c);
+ *fname = 0;
+ }
+ if(*cp=='+' && cp[1]=='=')
{
append=NV_APPEND;
cp++;
@@ -700,7 +704,7 @@
{
nv_local=1;
nv_putv(np,sp,flags,np->nvfun);
- if((flags&NV_EXPORT) || nv_isattr(np,NV_EXPORT))
+ if(sp && ((flags&NV_EXPORT) || nv_isattr(np,NV_EXPORT)))
sh_envput(sh.env,np);
return;
}
@@ -709,7 +713,7 @@
flags &= ~NV_NODISC;
if(flags&(NV_NOREF|NV_NOFREE))
{
- if(!nv_isnull(np))
+ if(!nv_isnull(np) && np->nvalue.cp!=sp)
nv_unset(np);
nv_local=0;
np->nvalue.cp = (char*)sp;
@@ -785,6 +789,15 @@
else
ll = *((double*)sp);
}
+ else if(nv_isattr(np,NV_UNSIGN))
+ {
+ if(flags&NV_LONG)
+ ll = *((Sfulong_t*)sp);
+ else if(flags&NV_SHORT)
+ ll = *((unsigned short*)sp);
+ else
+ ll = *((unsigned long*)sp);
+ }
else
{
if(flags&NV_LONG)
@@ -819,6 +832,15 @@
ll = *((double*)sp);
l = (long)ll;
}
+ else if(nv_isattr(np,NV_UNSIGN))
+ {
+ if(flags&NV_LONG)
+ l = *((Sfulong_t*)sp);
+ else if(flags&NV_SHORT)
+ l = *((unsigned short*)sp);
+ else
+ l = *(unsigned long*)sp;
+ }
else
{
if(flags&NV_LONG)
@@ -861,7 +883,6 @@
else
{
const char *tofree=0;
- char numbuf[40];
int offset;
#if _lib_pathnative
char buff[PATH_MAX];
@@ -871,15 +892,15 @@
if(flags&NV_DOUBLE)
{
if(flags&NV_LONG)
- sfsprintf(numbuf,sizeof(numbuf),"%.*Lg\0",12,*((Sfdouble_t*)sp));
+ sfprintf(sh.strbuf,"%.*Lg",LDBL_DIG,*((Sfdouble_t*)sp));
else
- sfsprintf(numbuf,sizeof(numbuf),"%.*g\0",12,*((double*)sp));
+ sfprintf(sh.strbuf,"%.*g",DBL_DIG,*((double*)sp));
}
else if(flags&NV_LONG)
- sfsprintf(numbuf,sizeof(numbuf),"%lld\0",*((Sflong_t*)sp));
+ sfprintf(sh.strbuf,"%lld\0",*((Sflong_t*)sp));
else
- sfsprintf(numbuf,sizeof(numbuf),"%ld\0",*((long*)sp));
- sp = numbuf;
+ sfprintf(sh.strbuf,"%ld\0",*((long*)sp));
+ sp = sfstruse(sh.strbuf);
}
if(nv_isattr(np, NV_HOST)==NV_HOST && sp)
{
@@ -1310,7 +1331,8 @@
newscope = dtopen(&_Nvdisc,Dtbag);
dtview(newscope,(Dt_t*)sh.var_tree);
sh.var_tree = (Dt_t*)newscope;
- nv_setlist(envlist,NV_EXPORT|NV_NOSCOPE|NV_IDENT|NV_ASSIGN);
+ if(envlist)
+ nv_setlist(envlist,NV_EXPORT|NV_NOSCOPE|NV_IDENT|NV_ASSIGN);
}
/*
@@ -1391,7 +1413,7 @@
if(is_afunction(np) && np->nvalue.ip)
{
register struct slnod *slp = (struct slnod*)(np->nvenv);
- if(slp)
+ if(slp && !nv_isattr(np,NV_NOFREE))
{
/* free function definition */
register char *name=nv_name(np),*cp= strrchr(name,'.');
@@ -1641,44 +1663,48 @@
{
Sfdouble_t ld;
double d;
- char *curbuf, *format;
- long l = nv_size(np)+30;
- curbuf = getbuf(l);
+ char *format;
if(nv_isattr(np,NV_LONG))
{
ld = *up->ldp;
if(nv_isattr (np,NV_EXPNOTE))
- format = "%.*Lg\0";
+ format = "%.*Lg";
else
- format = "%.*Lf\0";
- sfsprintf(curbuf,l,format,nv_size(np),ld);
+ format = "%.*Lf";
+ sfprintf(sh.strbuf,format,nv_size(np),ld);
}
else
{
d = *up->dp;
if(nv_isattr (np,NV_EXPNOTE))
- format = "%.*g\0";
+ format = "%.*g";
else
- format = "%.*f\0";
- sfsprintf(curbuf,l,format,nv_size(np),d);
+ format = "%.*f";
+ sfprintf(sh.strbuf,format,nv_size(np),d);
}
- return(curbuf);
+ return(sfstruse(sh.strbuf));
+ }
+ else if(nv_isattr(np,NV_UNSIGN))
+ {
+ if(nv_isattr (np,NV_LONG))
+ ll = *(Sfulong_t*)up->llp;
+ else if(nv_isattr (np,NV_SHORT))
+ ll = (unsigned short)up->s;
+ else
+ ll = *(unsigned long*)(up->lp);
}
else if(nv_isattr (np,NV_LONG))
ll = *up->llp;
else if(nv_isattr (np,NV_SHORT))
ll = up->s;
- else if(nv_isattr(np,NV_UNSIGN))
- ll = (unsigned long)*(up->lp);
else
ll = *(up->lp);
if((numeric=nv_size(np))==10)
{
if(nv_isattr(np,NV_UNSIGN))
{
- char *cp=fmtbuf(36);
- sfsprintf(cp,36,"%I*u",sizeof(ll),ll);
- return(cp);
+ sfprintf(sh.strbuf,"%I*u",sizeof(ll),ll);
+ return(sfstruse(sh.strbuf));
}
numeric = 0;
}
@@ -1698,6 +1724,13 @@
return(cp);
}
#endif
+ if((numeric=nv_size(np)) && up->cp && up->cp[numeric])
+ {
+ char *cp = getbuf(numeric+1);
+ memcpy(cp,up->cp,numeric);
+ cp[numeric]=0;
+ return(cp);
+ }
return ((char*)up->cp);
}
@@ -1983,7 +2016,8 @@
errormsg(SH_DICT,ERROR_exit(1),e_badref,nv_name(np));
if(!(cp=nv_getval(np)))
errormsg(SH_DICT,ERROR_exit(1),e_noref,nv_name(np));
- ep = lastdot(cp);
+ if((ep = lastdot(cp)) && nv_isattr(np,NV_MINIMAL))
+ errormsg(SH_DICT,ERROR_exit(1),e_badref,nv_name(np));
if(nv_isattr(np,NV_PARAM))
{
if(sh.st.prevst && !(hp=(Dt_t*)sh.st.prevst->save_tree))
@@ -2143,11 +2177,9 @@
char *nv_name(register Namval_t *np)
{
- register int len;
register Namval_t *table;
register Namfun_t *fp;
- char *curbuf, *cp;
- int inbuff;
+ char *cp;
if(is_abuiltin(np) || is_afunction(np))
return(np->nvname);
if(nv_istable(np))
@@ -2169,13 +2201,8 @@
if(!(table=sh.last_table) || *np->nvname=='.' || table==sh.namespace || np==table)
return(np->nvname);
cp = nv_name(table);
- inbuff = (cp==getbuf(0));
- len = strlen(cp) + strlen(np->nvname) + 2;
- curbuf = getbuf(len);
- if(inbuff)
- cp = curbuf;
- sfsprintf(curbuf,len,"%s.%s\0",cp,np->nvname);
- return(curbuf);
+ sfprintf(sh.strbuf,"%s.%s",cp,np->nvname);
+ return(sfstruse(sh.strbuf));
}
Namval_t *nv_lastdict(void)
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/sh/nvdisc.c ksh93_2006_05_30/src/cmd/ksh93/sh/nvdisc.c
--- ksh93_2006_02_14/src/cmd/ksh93/sh/nvdisc.c 2005-09-19 16:01:53.000000000 +0200
+++ ksh93_2006_05_30/src/cmd/ksh93/sh/nvdisc.c 2006-04-26 22:49:01.000000000 +0200
@@ -28,13 +28,14 @@
#include "builtins.h"
#include "path.h"
+static const char *discnames[] = { "get", "set", "append", "unset", 0 };
+
/*
* call the next getval function in the chain
*/
char *nv_getv(Namval_t *np, register Namfun_t *nfp)
{
register Namfun_t *fp;
- static char numbuf[20];
register char *cp;
if((fp = nfp) != NIL(Namfun_t*) && !nv_local)
fp = nfp = nfp->next;
@@ -49,7 +50,10 @@
if(fp && fp->disc->getval)
cp = (*fp->disc->getval)(np,fp);
else if(fp && fp->disc->getnum)
- sfsprintf(cp=numbuf,sizeof(numbuf),"%.*Lg\0",12,(*fp->disc->getnum)(np,fp));
+ {
+ sfprintf(sh.strbuf,"%.*Lg",12,(*fp->disc->getnum)(np,fp));
+ cp = sfstruse(sh.strbuf);
+ }
else
{
nv_local=1;
@@ -250,13 +254,16 @@
int n;
for(n=0; n < sizeof(vp->disc)/sizeof(*vp->disc); n++)
{
- if(nq=vp->disc[n])
+ if((nq=vp->disc[n]) && !nv_isattr(nq,NV_NOFREE))
{
nv_unset(nq);
dtdelete(root,nq);
}
}
- nv_unset(np);
+ nv_putv(np, val, flags, handle);
+ nv_disc(np,handle,NV_POP);
+ if(!handle->nofree)
+ free(handle);
}
}
@@ -306,7 +313,6 @@
char *empty = "";
if(np == (Namval_t*)fp)
{
- static const char *discnames[] = { "get", "set", "append", "unset", 0 };
register const char *name;
register int getname=0;
/* top level call, check for get/set */
@@ -437,7 +443,7 @@
for(i=0; vp->bnames[i]; i++)
{
register Namval_t *mp;
- if(mp=vp->bltins[i])
+ if((mp=vp->bltins[i]) && !nv_isattr(mp,NV_NOFREE))
{
if(is_abuiltin(mp))
{
@@ -449,10 +455,10 @@
}
}
nv_disc(np,fp,NV_POP);
+ if(!fp->nofree)
+ free((void*)fp);
}
- if(!fp->nofree)
- free((void*)fp);
}
static const Namdisc_t Nv_bdisc = { 0, putdisc, 0, 0, setdisc };
@@ -470,7 +476,7 @@
return(nfp);
}
-int nv_adddisc(Namval_t *np, const char **names)
+int nv_adddisc(Namval_t *np, const char **names, Namval_t **funs)
{
register Nambfun_t *vp;
register int n=0;
@@ -483,7 +489,10 @@
if(!(vp = newof(NIL(Nambfun_t*),Nambfun_t,1,n*sizeof(Namval_t*))))
return(0);
vp->fun.dsize = sizeof(Nambfun_t)+n*sizeof(Namval_t*);
- while(n>=0)
+ vp->fun.funs = 1;
+ if(funs)
+ memcpy((void*)vp->bltins, (void*)funs,n*sizeof(Namval_t*));
+ else while(n>=0)
vp->bltins[n--] = 0;
vp->fun.disc = &Nv_bdisc;
vp->bnames = names;
@@ -680,28 +689,43 @@
return(nval);
}
+static void clone_all_disc( Namval_t *np, Namval_t *mp, int flags)
+{
+ register Namfun_t *fp, **mfp = &mp->nvfun, *nfp;
+ for(fp=np->nvfun; fp;fp=fp->next)
+ {
+ if(fp->funs && (flags&NV_NODISC))
+ nfp = 0;
+ if(fp->disc && fp->disc->clonef)
+ nfp = (*fp->disc->clonef)(np,mp,flags,fp);
+ else
+ nfp = nv_clone_disc(fp);
+ if(!nfp)
+ continue;
+ nfp->next = 0;
+ *mfp = nfp;
+ mfp = &nfp->next;
+ }
+}
+
+/*
+ * clone <mp> from <np> flags can be one of the following
+ * NV_APPEND - append <np> onto <mp>
+ * NV_MOVE - move <np> to <mp>
+ * NV_NOFREE - mark the new node as nofree
+ * NV_NODISC - discplines with funs non-zero will not be copied
+ */
int nv_clone(Namval_t *np, Namval_t *mp, int flags)
{
Namfun_t *fp;
if(fp=np->nvfun)
{
- register Namfun_t **mfp = &mp->nvfun, *nfp;
if(flags&NV_MOVE)
{
mp->nvfun = fp;
goto skip;
}
- while(fp)
- {
- if(fp->disc && fp->disc->clonef)
- nfp = (*fp->disc->clonef)(np,mp,flags,fp);
- else if(!(nfp = nv_clone_disc(fp)))
- continue;
- nfp->next = 0;
- *mfp = nfp;
- mfp = &nfp->next;
- fp = fp->next;
- }
+ clone_all_disc(np, mp, flags);
}
if(flags&NV_APPEND)
return(1);
@@ -723,7 +747,7 @@
}
if(nv_isattr(np,NV_INTEGER))
mp->nvalue.ip = (int*)num_clone(np,(void*)np->nvalue.ip);
- else if(flags)
+ else if(flags&NV_NOFREE)
nv_onattr(np,NV_NOFREE);
return(1);
}
@@ -748,7 +772,7 @@
if(!sh.subshell)
free((void*)dp);
if(val)
- nv_clone(mp,np,1);
+ nv_clone(mp,np,NV_NOFREE);
np->nvalue.cp = 0;
nv_putval(np,val,flags);
}
@@ -1119,3 +1143,29 @@
}
return(0);
}
+
+/*
+ * This function turns variable <np> to the type <tp>
+ */
+int nv_settype(Namval_t* np, Namval_t *tp, int flags)
+{
+ int isnull = nv_isnull(np);
+ char *val=0;
+ if(isnull)
+ flags &= ~NV_APPEND;
+ else
+ {
+ val = strdup(nv_getval(np));
+ if(!(flags&NV_APPEND))
+ _nv_unset(np, NV_RDONLY);
+ }
+ if(!nv_clone(tp,np,flags|NV_NOFREE))
+ return(0);
+ if(val)
+ {
+ nv_putval(np,val,NV_RDONLY);
+ free((void*)val);
+ }
+ return(0);
+}
+
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/sh/nvtree.c ksh93_2006_05_30/src/cmd/ksh93/sh/nvtree.c
--- ksh93_2006_02_14/src/cmd/ksh93/sh/nvtree.c 2005-04-21 23:20:24.000000000 +0200
+++ ksh93_2006_05_30/src/cmd/ksh93/sh/nvtree.c 2006-04-19 22:50:20.000000000 +0200
@@ -47,10 +47,18 @@
char *nv_getvtree(Namval_t*, Namfun_t *);
static void put_tree(Namval_t*, const char*, int,Namfun_t*);
-static Namval_t *create_tree(Namval_t *np,const char *name,int flag,Namfun_t *fp)
+static Namval_t *create_tree(Namval_t *np,const char *name,int flag,Namfun_t *dp)
{
- NOT_USED(name);
- NOT_USED(fp);
+ register Namfun_t *fp=dp;
+ while(fp=fp->next)
+ {
+ if(fp->disc && fp->disc->createf)
+ {
+ if(np=(*fp->disc->createf)(np,name,flag,fp))
+ dp->last = fp->last;
+ return(np);
+ }
+ }
return((flag&NV_NOADD)?0:np);
}
@@ -104,7 +112,7 @@
last=dp->data;
if(name[len-1]=='*' || name[len-1]=='@')
len -= 1;
- memcpy(last,name,len);
+ name = memcpy(last,name,len);
last[len] = 0;
dp->len = len;
dp->root = sh.var_tree;
@@ -516,6 +524,8 @@
#endif /* SHOPT_COMPOUND_ARRAY */
name = stakfreeze(1);
dir = nv_diropen(name);
+ if(subscript)
+ name[strlen(name)-1] = 0;
while(cp = nv_dirnext(dir))
{
stakseek(ARGVAL);
@@ -592,29 +602,3 @@
nv_stack(np, nfp);
}
-/*
- * the following three functions are for creating types
- */
-
-int nv_settype(Namval_t* np, Namval_t *tp, int flags)
-{
- int isnull = nv_isnull(np);
- char *val=0;
- if(isnull)
- flags &= ~NV_APPEND;
- else
- {
- val = strdup(nv_getval(np));
- if(!(flags&NV_APPEND))
- _nv_unset(np, NV_RDONLY);
- }
- if(!nv_clone(tp,np,flags|NV_NOFREE))
- return(0);
- if(val)
- {
- nv_putval(np,val,NV_RDONLY);
- free((void*)val);
- }
- return(0);
-}
-
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/sh/parse.c ksh93_2006_05_30/src/cmd/ksh93/sh/parse.c
--- ksh93_2006_02_14/src/cmd/ksh93/sh/parse.c 2005-11-30 23:16:13.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/sh/parse.c 2006-05-08 23:02:47.000000000 +0200
@@ -1512,6 +1512,23 @@
return(t);
}
+/*
+ * convert =~ into == ~(E)
+ */
+static void ere_match(void)
+{
+ Sfio_t *base, *iop = sfopen((Sfio_t*)0," ~(E)","s");
+ register int c;
+ while( fcgetc(c),(c==' ' || c=='\t'));
+ if(c)
+ fcseek(-1);
+ if(!(base=fcfile()))
+ base = sfopen(NIL(Sfio_t*),fcseek(0),"s");
+ fcclose();
+ sfstack(base,iop);
+ fcfopen(base);
+}
+
static Shnode_t *test_primary(void)
{
register struct argnod *arg;
@@ -1550,7 +1567,15 @@
case 0:
arg = shlex.arg;
if((token=sh_lex())==TESTBINOP)
+ {
num = shlex.digits;
+ if(num==TEST_REP)
+ {
+ ere_match();
+ num = TEST_PEQ;
+ }
+
+ }
else if(token=='<')
num = TEST_SLT;
else if(token=='>')
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/sh/string.c ksh93_2006_05_30/src/cmd/ksh93/sh/string.c
--- ksh93_2006_02_14/src/cmd/ksh93/sh/string.c 2005-09-01 07:23:48.000000000 +0200
+++ ksh93_2006_05_30/src/cmd/ksh93/sh/string.c 2006-05-17 00:03:25.000000000 +0200
@@ -24,6 +24,7 @@
*/
#include <ast.h>
+#include <ast_wchar.h>
#include "defs.h"
#include <stak.h>
#include <ctype.h>
@@ -36,8 +37,12 @@
#define mbchar(p) (*(unsigned char*)p++)
#endif
+#if _hdr_wctype
+# include <wctype.h>
+#endif
+
#if !_lib_iswprint && !defined(iswprint)
-# define iswprint(c) ((c&~0377) || isprint(c))
+# define iswprint(c) (((c)&~0377) || isprint(c))
#endif
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/sh/xec.c ksh93_2006_05_30/src/cmd/ksh93/sh/xec.c
--- ksh93_2006_02_14/src/cmd/ksh93/sh/xec.c 2006-02-16 02:11:32.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/sh/xec.c 2006-04-26 22:53:27.000000000 +0200
@@ -1299,7 +1299,7 @@
args=sh_argbuild(&argn,tp,0);
nargs = argn;
}
- np = nv_open(t->for_.fornam, sh.var_tree,NV_NOASSIGN|NV_ARRAY|NV_VARNAME|NV_NOREF);
+ np = nv_open(t->for_.fornam, sh.var_tree,NV_NOASSIGN|NV_NOARRAY|NV_VARNAME|NV_NOREF);
nameref = nv_isref(np)!=0;
sh.st.loopcnt++;
cp = *args;
@@ -1652,7 +1652,7 @@
stakputc('.');
stakputs(fname);
stakputc(0);
- np = nv_open(stakptr(offset),sh.var_base,NV_NOASSIGN|NV_ARRAY|NV_VARNAME);
+ np = nv_open(stakptr(offset),sh.var_base,NV_NOASSIGN|NV_NOARRAY|NV_VARNAME);
offset = staktell();
sh.namespace = np;
if(!(root=nv_dict(np)))
@@ -1691,7 +1691,7 @@
int offset = staktell();
stakwrite(fname,cp-fname);
stakputc(0);
- npv = nv_open(stakptr(offset),sh.var_tree,NV_NOASSIGN|NV_ARRAY|NV_VARNAME);
+ npv = nv_open(stakptr(offset),sh.var_tree,NV_NOASSIGN|NV_NOARRAY|NV_VARNAME);
offset = staktell();
stakputs(nv_name(npv));
stakputs(cp);
@@ -1709,7 +1709,7 @@
fname = stakptr(offset);
}
#endif /* SHOPT_NAMESPACE */
- np = nv_open(fname,sh_subfuntree(1),NV_NOASSIGN|NV_ARRAY|NV_VARNAME|NV_NOSCOPE);
+ np = nv_open(fname,sh_subfuntree(1),NV_NOASSIGN|NV_NOARRAY|NV_VARNAME|NV_NOSCOPE);
if(npv)
{
cp = nv_setdisc(npv,cp+1,np,(Namfun_t*)npv);
@@ -2105,6 +2105,19 @@
}
/*
+ * add exports from previous scope to the new scope
+ */
+static void local_exports(register Namval_t *np, void *data)
+{
+ register Namval_t *mp;
+ register char *cp;
+ if(nv_isarray(np))
+ nv_putsub(np,NIL(char*),0);
+ if((cp = nv_getval(np)) && (mp = nv_search(nv_name(np), sh.var_tree, NV_ADD|HASH_NOSCOPE)) && nv_isnull(mp))
+ nv_putval(mp, cp, 0);
+}
+
+/*
* 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
* to a function that will be executed in the current environment.
@@ -2137,9 +2150,6 @@
{
fp = (struct funenv*)arg;
envlist = fp->env;
-#if 0
- sh.st.firstline = (fp->node)->nvalue.rp->lineno;
-#endif
}
prevscope->save_tree = sh.var_tree;
nv_scope(envlist);
@@ -2148,6 +2158,7 @@
/* eliminate parent scope */
Dt_t *dt = dtview(sh.var_tree,0);
dtview(sh.var_tree,dtvnext(prevscope->save_tree));
+ nv_scan(prevscope->save_tree, local_exports,(void*)0,NV_EXPORT,NV_EXPORT|NV_NOSCOPE);
}
sh.st.save_tree = sh.var_tree;
if(!fun)
@@ -2728,15 +2739,15 @@
spawnpid = path_spawn(path,argv,arge,pp,(grp<<1)|1);
if(spawnpid < 0 && errno==ENOEXEC)
{
- char devfd[14];
+ char *devfd;
int fd = open(path,O_RDONLY);
argv[-1] = argv[0];
argv[0] = path;
if(fd>=0)
{
struct stat statb;
- sfsprintf(devfd,sizeof(devfd),"/dev/fd/%d\0",fd);
- if(stat(devfd,&statb)>=0)
+ sfprintf(sh.strbuf,"/dev/fd/%d",fd);
+ if(stat(devfd=sfstruse(sh.strbuf),&statb)>=0)
argv[0] = devfd;
}
if(!shp->shpath)
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/sh.1 ksh93_2006_05_30/src/cmd/ksh93/sh.1
--- ksh93_2006_02_14/src/cmd/ksh93/sh.1 2005-12-07 17:45:36.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/sh.1 2006-05-17 04:21:31.000000000 +0200
@@ -396,7 +396,7 @@
the next subsequent list, if any, is executed.
.TP
\f3if\fP \f2list\^\fP \f3;then\fP \f2list\^\fP \*(OK \
-\f3elif\fP \f2list\^\fP \f3;then\fP \f2list\^\fP \*(CK .\|.\|. \
+\f3;elif\fP \f2list\^\fP \f3;then\fP \f2list\^\fP \*(CK .\|.\|. \
\*(OK \f3;else\fP \f2list\^\fP \*(CK \f3;f\&i\fP
The
.I list\^
@@ -694,7 +694,7 @@
.TP
.B "fc=hist"
.TP
-.B "float=\(fmtypeset \-E\(fm"
+.B "float=\(fmtypeset \-lE\(fm"
.TP
.B "functions=\(fmtypeset \-f\(fm"
.TP
@@ -702,7 +702,7 @@
.TP
.B "history=\(fmhist \-l\(fm"
.TP
-.B "integer=\(fmtypeset \-i\(fm"
+.B "integer=\(fmtypeset \-li\(fm"
.TP
.B "nameref=\(fmtypeset \-n\(fm"
.TP
@@ -810,7 +810,7 @@
can be replaced by the equivalent but faster
\^\f3$(\^<file\^)\fP\^.
The command substitution
-\^\f3$(\^\fP\f2n\^\fP\f3\<#\^)\fP
+\^\f3$(\^\fP\f2n\^\fP\f3<#\^)\fP
will expand to the current byte offset for file descriptor
.IR n .
.SS Arithmetic Substitution.
@@ -936,7 +936,7 @@
The value of all
subscripts must be in the
range of
-0 through 4095.
+0 through 1,048,575.
Indexed arrays need not be declared.
Any reference to a variable
with a valid subscript is
@@ -2918,6 +2918,15 @@
.B .sh.match
array variable will contain the match and sub-pattern matches.
.TP
+\f2string\fP \f3\(ap=\fP \f2ere\fP
+True if
+.I string\^
+matches the pattern
+.BI \(ap(E) ere\^
+where
+.I ere\^
+is an extended regular expression.
+.TP
\f2string1\fP \f3<\fP \f2string2\fP
True, if
.I string1\^
@@ -4325,8 +4334,17 @@
Command or file name completion as described above.
.PP
.TP 10
-.B ^I
-Command or file name completion as described above.
+.BI ^I " tab"
+Attempts command or file name completion as described above.
+If a partial completion occurs, repeating this will
+behave as if
+.B M-=
+were entered.
+If no match is found or entered after
+.IR space\^ ,
+a
+.I tab\^
+is inserted.
.PP
.TP 10
.B M-=
@@ -4458,6 +4476,19 @@
or
.I kill
character.
+.TP 10
+.BI ^I " tab"
+Attempts command or file name completion as described above
+and returns to input mode.
+If a partial completion occurs, repeating this will
+behave as if
+.B =
+were entered from control mode.
+If no match is found or entered after
+.IR space\^ ,
+a
+.I tab\^
+is inserted.
.RE
.SS "\ \ \ \ \ Motion Edit Commands"
.RS
@@ -4739,9 +4770,6 @@
.TP 10
.B \e
Command or file name completion as described above.
-.TP 10
-.B ^I
-Command or file name completion as described above.
.RE
.SS "\ \ \ \ \ Other Edit Commands"
.RS
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/tests/arith.sh ksh93_2006_05_30/src/cmd/ksh93/tests/arith.sh
--- ksh93_2006_02_14/src/cmd/ksh93/tests/arith.sh 2006-01-20 00:08:08.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/tests/arith.sh 2006-05-22 22:00:04.000000000 +0200
@@ -431,4 +431,8 @@
[[ $((5||0)) == 1 ]] || err_exit '$((5||0))'" == $((5||0)) should be 1"
$SHELL -c 'integer x=3 y=2; (( (y += x += 2) == 7 && x==5))' 2> /dev/null || err_exit '((y += x += 2)) not working'
$SHELL -c 'b=0; [[ $((b?a=1:b=9)) == 9 ]]' 2> /dev/null || err_exit 'b?a=1:b=9 not working'
+unset x
+(( x = 4*atan(1.0) ))
+[[ $x == "$((x))" ]] || err_exit '$x !- $((x)) when x is pi'
+$SHELL -c "[[ ${x//./} == {14,100}(\d) ]]" 2> /dev/null || err_exit 'pi has less than 14 significant places'
exit $((Errors))
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/tests/attributes.sh ksh93_2006_05_30/src/cmd/ksh93/tests/attributes.sh
--- ksh93_2006_02_14/src/cmd/ksh93/tests/attributes.sh 2005-11-30 23:11:37.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/tests/attributes.sh 2006-05-01 02:57:04.000000000 +0200
@@ -195,4 +195,11 @@
typeset -b var
printf '12%Z34' | read -r -N 5 var
[[ $var == MTIAMzQ= ]] || err_exit 'binary files with zeros not working'
+unset var
+if command typeset -usi var=0xfffff 2> /dev/null
+then (( $var == 0xffff )) || err_exit 'unsigned short integers not working'
+else err_exit 'typeset -usi cannot be used for unsigned short'
+fi
+[[ $($SHELL -c 'unset foo;typeset -Z2 foo; print ${foo:-3}' 2> /dev/null) == 3 ]] || err_exit '${foo:-3} not 3 when typeset -Z2 field undefined'
+[[ $($SHELL -c 'unset foo;typeset -Z2 foo; print ${foo:=3}' 2> /dev/null) == 03 ]] || err_exit '${foo:=-3} not 3 when typeset -Z2 foo undefined'
exit $((Errors))
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/tests/bracket.sh ksh93_2006_05_30/src/cmd/ksh93/tests/bracket.sh
--- ksh93_2006_02_14/src/cmd/ksh93/tests/bracket.sh 2005-08-17 15:56:32.000000000 +0200
+++ ksh93_2006_05_30/src/cmd/ksh93/tests/bracket.sh 2006-05-18 14:59:06.000000000 +0200
@@ -227,4 +227,6 @@
fi
$SHELL -c 't=1234567890; [[ $t == @({10}(\d)) ]]' 2> /dev/null || err_exit ' @({10}(\d)) pattern not working'
$SHELL -c 't=1234567890; [[ att_ == ~(E)(att|cus)_.* ]]' 2> /dev/null || err_exit ' ~(E)(att|cus)_* pattern not working'
+$SHELL -c 't=1234567890; [[ att_ =~ (att|cus)_.* ]]' 2> /dev/null || err_exit ' =~ ere not working'
+exit $((Errors))
exit $((Errors))
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/tests/coprocess.sh ksh93_2006_05_30/src/cmd/ksh93/tests/coprocess.sh
--- ksh93_2006_02_14/src/cmd/ksh93/tests/coprocess.sh 2005-05-24 21:30:17.000000000 +0200
+++ ksh93_2006_05_30/src/cmd/ksh93/tests/coprocess.sh 2006-03-27 18:27:30.000000000 +0200
@@ -178,4 +178,18 @@
exec 6>&-
wait $pid
(( (SECONDS-s) > 3 )) && err_exit 'time out because builtin keeps fd open'
+cat |&
+pid=$!
+print foo >&p 2> /dev/null || err_exit 'first write of foo to coprocess failed'
+print foo >&p 2> /dev/null || err_exit 'second write of foo to coprocess failed'
+kill $pid
+wait $pid 2> /dev/null
+cat |&
+pid=$!
+print -p foo
+print -p bar
+read <&p || err_exit 'first read from coprocess failed'
+read <&p || err_exit 'second read from coprocess failed'
+kill $pid
+wait $pid 2> /dev/null
exit $((Errors))
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/tests/functions.sh ksh93_2006_05_30/src/cmd/ksh93/tests/functions.sh
--- ksh93_2006_02_14/src/cmd/ksh93/tests/functions.sh 2006-01-24 23:51:56.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/tests/functions.sh 2006-03-28 18:43:35.000000000 +0200
@@ -727,4 +727,15 @@
done
}
f || err_exit "typeset optimization bug"
+function f
+{
+ print -r -- "$foo$bar"
+}
+function g
+{
+ print -r -- $(bar=bam f)
+}
+unset foo bar
+[[ $(foo=hello g) == hellobam ]] || err_exit 'function exports not passed on'
+[[ $(bar=hello g) == bam ]] || err_exit 'function exports not overridden'
exit $((Errors))
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/tests/nameref.sh ksh93_2006_05_30/src/cmd/ksh93/tests/nameref.sh
--- ksh93_2006_02_14/src/cmd/ksh93/tests/nameref.sh 2006-02-08 17:00:22.000000000 +0100
+++ ksh93_2006_05_30/src/cmd/ksh93/tests/nameref.sh 2006-05-03 06:14:02.000000000 +0200
@@ -197,4 +197,20 @@
}
ps=(a=1 b=2)
[[ $(selfref ps) == *a=1* ]] || err_exit 'local nameref cannot reference global variable of the same name'
+function subref
+{
+ typeset -n foo=$1
+ print -r -- ${foo.a}
+}
+[[ $(subref ps) == 1 ]] || err_exit 'local nameref cannot reference global variable child'
+
+unset fun i
+foo=(x=hi)
+function fun
+{
+ nameref i=$1
+ print -r -- "${i.x}"
+}
+i=foo
+[[ $(fun $i) == hi ]] || err_exit 'nameref for compound variable with in function name of caller fails'
exit $((Errors))
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/tests/tilde.sh ksh93_2006_05_30/src/cmd/ksh93/tests/tilde.sh
--- ksh93_2006_02_14/src/cmd/ksh93/tests/tilde.sh 2005-05-24 21:32:35.000000000 +0200
+++ ksh93_2006_05_30/src/cmd/ksh93/tests/tilde.sh 2005-08-19 21:54:51.000000000 +0200
@@ -81,4 +81,7 @@
if [[ $x != "$HOME:$HOME" ]]
then err_exit x=~:~ not $HOME:$HOME
fi
+HOME=/
+[[ ~ == / ]] || err_exit '~ should be /'
+[[ ~/foo == /foo ]] || err_exit '~/foo should be /foo when ~==/'
exit $((Errors))
diff -r -N -u ksh93_2006_02_14/src/cmd/ksh93/tests/variables.sh ksh93_2006_05_30/src/cmd/ksh93/tests/variables.sh
--- ksh93_2006_02_14/src/cmd/ksh93/tests/variables.sh 2005-05-24 21:32:40.000000000 +0200
+++ ksh93_2006_05_30/src/cmd/ksh93/tests/variables.sh 2006-04-04 22:47:23.000000000 +0200
@@ -492,4 +492,12 @@
1) err_exit 'append discipline not implemented';;
*) err_exit 'append discipline not working';;
esac
+.sh.foobar=hello
+{
+ function .sh.foobar.get
+ {
+ .sh.value=world
+ }
+} 2> /dev/null || err_exit "Can't add get discipline to .sh.foobar"
+[[ ${.sh.foobar} == world ]] || err_exit 'get discipline for .sh.foobar not working'
exit $((Errors))
diff -r -N -u ksh93_2006_02_14/src/lib/libast/comp/conf.sh ksh93_2006_05_30/src/lib/libast/comp/conf.sh
--- ksh93_2006_02_14/src/lib/libast/comp/conf.sh 2005-02-06 05:12:56.000000000 +0100
+++ ksh93_2006_05_30/src/lib/libast/comp/conf.sh 2006-05-18 16:41:21.000000000 +0200
@@ -21,7 +21,7 @@
########################################################################
: generate conf info
#
-# @(#)conf.sh (AT&T Research) 2005-02-04
+# @(#)conf.sh (AT&T Research) 2006-05-09
#
# this script generates these files from the table file in the first arg
# the remaining args are the C compiler name and flags
@@ -261,13 +261,16 @@
-e '/^#[^0123456789]*1[ ]*".*".*/!d' \
-e 's/^#[^0123456789]*1[ ]*"\(.*\)".*/\1/' |
sort -u > $tmp.f
+{
sed \
-e '/^[ ]*#[ ]*define[ ][ ]*[ABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789]*[CPS][CIS]_/!d' \
-e 's,^[ ]*#[ ]*define[ ]*,,' \
-e '/^[^ ]*[ ][ ]*[0123456789]/!d' \
-e 's,[ ].*,,' \
-e '/^[S_]/!d' \
- `cat $tmp.f` 2>/dev/null |
+ `cat $tmp.f` 2>/dev/null
+{ /bin/getconf -a || /usr/bin/getconf -a; } 2>/dev/null | sed 's,[= ].*,,'
+} |
sort -u > $tmp.v
case $debug in
-d2) exit ;;
diff -r -N -u ksh93_2006_02_14/src/lib/libast/Mamfile ksh93_2006_05_30/src/lib/libast/Mamfile
--- ksh93_2006_02_14/src/lib/libast/Mamfile 2006-02-16 04:53:04.000000000 +0100
+++ ksh93_2006_05_30/src/lib/libast/Mamfile 2006-05-31 05:25:54.000000000 +0200
@@ -1,4 +1,4 @@
-info mam static 00000 1994-07-17 make (AT&T Research) 5.1 2006-01-21
+info mam static 00000 1994-07-17 make (AT&T Research) 5.1 2006-05-09
setv INSTALLROOT ../../..
setv PACKAGEROOT ../../../../..
setv AR ar
@@ -36,19 +36,20 @@
done ${PACKAGEROOT}/lib/package/ast.lic
make include/ast_version.h
done include/ast_version.h ignore
+prev include/ast_version.h
make install
make ast
make libast.a archive
make ast.req
make FEATURE/standards
-meta FEATURE/standards features/%>FEATURE/% features/standards standards
+meta FEATURE/standards features/%>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/standards standards
make features/standards
done features/standards
exec - iffe -v -X std -c '${CC} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/standards
done FEATURE/standards generated
make ast_common.h
make FEATURE/common
-meta FEATURE/common features/%>FEATURE/% features/common common
+meta FEATURE/common features/%>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/common common
make features/common
done features/common
exec - iffe -v -X std -c '${CC} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/common
@@ -57,13 +58,13 @@
done ast_common.h generated
make ast_limits.h
make FEATURE/limits
-meta FEATURE/limits features/%.c>FEATURE/% features/limits.c limits
+meta FEATURE/limits features/%.c>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/limits.c limits
make features/limits.c
make conflim.h implicit
make conf
make comp/conf.sh
done comp/conf.sh
-meta conf %.sh>% comp/conf.sh conf
+meta conf %.sh>% ${PACKAGEROOT}/src/lib/libast/comp/conf.sh conf
prev comp/conf.sh
exec - case static,port:$OPTIND:$RANDOM in
exec - ?*:*:*|*::*|*:*:$RANDOM)
@@ -104,7 +105,7 @@
make joint.conflib.h implicit joint
make conflib.h implicit
make FEATURE/wait implicit
-meta FEATURE/wait features/%>FEATURE/% features/wait wait
+meta FEATURE/wait features/%>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/wait wait
make features/wait
done features/wait
exec - iffe -v -X std -c '${CC} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/wait
@@ -129,7 +130,7 @@
done sysconf.c generated
done joint.conflib.h virtual
make FEATURE/param implicit
-meta FEATURE/param features/%.sh>FEATURE/% features/param.sh param
+meta FEATURE/param features/%.sh>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/param.sh param
make features/param.sh
done features/param.sh
exec - iffe -v -X std -c '${CC} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/param.sh
@@ -148,7 +149,7 @@
done FEATURE/unistd.lcl generated
prev FEATURE/common implicit
make FEATURE/lib implicit
-meta FEATURE/lib features/%>FEATURE/% features/lib lib
+meta FEATURE/lib features/%>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/lib lib
make features/lib
done features/lib
exec - iffe -v -X std -c '${CC} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/lib
@@ -160,7 +161,7 @@
make std/stdio.h implicit
make ast_stdio.h implicit
make FEATURE/stdio
-meta FEATURE/stdio features/%>FEATURE/% features/stdio stdio
+meta FEATURE/stdio features/%>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/stdio stdio
make features/stdio
done features/stdio
exec - iffe -v -X std -c '${CC} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/stdio
@@ -182,7 +183,7 @@
prev ast_stdio.h
make ast_nl_types.h
make FEATURE/nl_types
-meta FEATURE/nl_types features/%>FEATURE/% features/nl_types nl_types
+meta FEATURE/nl_types features/%>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/nl_types nl_types
make features/nl_types
done features/nl_types
exec - iffe -v -X std -c '${CC} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/nl_types
@@ -195,7 +196,7 @@
done ast_nl_types.h generated
make ast_wchar.h
make FEATURE/wchar
-meta FEATURE/wchar features/%>FEATURE/% features/wchar wchar
+meta FEATURE/wchar features/%>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/wchar wchar
make features/wchar
done features/wchar
exec - iffe -v -X std -c '${CC} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/wchar
@@ -267,10 +268,10 @@
make include/ast_std.h implicit
make ast_botch.h implicit
make FEATURE/botch
-meta FEATURE/botch features/%.c>FEATURE/% features/botch.c botch
+meta FEATURE/botch features/%.c>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/botch.c botch
make features/botch.c
make FEATURE/types implicit
-meta FEATURE/types features/%>FEATURE/% features/types types
+meta FEATURE/types features/%>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/types types
make features/types
done features/types
prev ast.req
@@ -285,7 +286,7 @@
done ast_botch.h dontcare generated
make ast_unistd.h implicit
make FEATURE/unistd
-meta FEATURE/unistd features/%.c>FEATURE/% features/unistd.c unistd
+meta FEATURE/unistd features/%.c>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/unistd.c unistd
make features/unistd.c
make confuni.h implicit
done confuni.h
@@ -303,17 +304,17 @@
done ast_unistd.h dontcare generated
make ast_fcntl.h implicit
make FEATURE/fcntl
-meta FEATURE/fcntl features/%.c>FEATURE/% features/fcntl.c fcntl
+meta FEATURE/fcntl features/%.c>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/fcntl.c fcntl
make features/fcntl.c
make FEATURE/tty implicit
-meta FEATURE/tty features/%>FEATURE/% features/tty tty
+meta FEATURE/tty features/%>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/tty tty
make features/tty
done features/tty
prev ast.req
exec - iffe -v -X std -c '${CC} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/tty
done FEATURE/tty generated
make FEATURE/fs implicit
-meta FEATURE/fs features/%>FEATURE/% features/fs fs
+meta FEATURE/fs features/%>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/fs fs
make features/fs
done features/fs
prev ast.req
@@ -333,7 +334,7 @@
make include/ls.h implicit
make ast_mode.h implicit
make FEATURE/mode
-meta FEATURE/mode features/%.c>FEATURE/% features/mode.c mode
+meta FEATURE/mode features/%.c>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/mode.c mode
make features/mode.c
make include/modecanon.h implicit
done include/modecanon.h
@@ -364,16 +365,16 @@
done ast_types.h dontcare generated
make ast_map.h implicit
make FEATURE/map
-meta FEATURE/map features/%.c>FEATURE/% features/map.c map
+meta FEATURE/map features/%.c>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/map.c map
make features/map.c
make FEATURE/vmalloc implicit
-meta FEATURE/vmalloc features/%>FEATURE/% features/vmalloc vmalloc
+meta FEATURE/vmalloc features/%>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/vmalloc vmalloc
make features/vmalloc
done features/vmalloc
prev ast.req
exec - iffe -v -X std -c '${CC} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/vmalloc
make FEATURE/mmap implicit
-meta FEATURE/mmap features/%>FEATURE/% features/mmap mmap
+meta FEATURE/mmap features/%>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/mmap mmap
make features/mmap
done features/mmap
prev ast.req
@@ -392,7 +393,7 @@
prev std/limits.h implicit
make ast_hdr.h implicit
make FEATURE/hdr
-meta FEATURE/hdr features/%>FEATURE/% features/hdr hdr
+meta FEATURE/hdr features/%>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/hdr hdr
make features/hdr
done features/hdr
prev ast.req
@@ -417,7 +418,7 @@
prev include/ast_version.h implicit
done include/ast.h
done misc/state.c
-meta state.o %.c>%.o misc/state.c state
+meta state.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/misc/state.c state
prev misc/state.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c misc/state.c
done state.o generated
@@ -438,7 +439,7 @@
make std/dirent.h implicit
make ast_dirent.h implicit
make FEATURE/dirent
-meta FEATURE/dirent features/%>FEATURE/% features/dirent dirent
+meta FEATURE/dirent features/%>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/dirent dirent
make features/dirent
done features/dirent
prev ast.req
@@ -453,7 +454,7 @@
prev include/ast.h implicit
done dir/dirlib.h
done dir/opendir.c
-meta opendir.o %.c>%.o dir/opendir.c opendir
+meta opendir.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/dir/opendir.c opendir
prev dir/opendir.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Idir -Iinclude -Istd -D_PACKAGE_ast -c dir/opendir.c
done opendir.o generated
@@ -461,7 +462,7 @@
make dir/readdir.c
prev dir/dirlib.h implicit
done dir/readdir.c
-meta readdir.o %.c>%.o dir/readdir.c readdir
+meta readdir.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/dir/readdir.c readdir
prev dir/readdir.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Idir -Iinclude -Istd -D_PACKAGE_ast -c dir/readdir.c
done readdir.o generated
@@ -469,7 +470,7 @@
make dir/rewinddir.c
prev dir/dirlib.h implicit
done dir/rewinddir.c
-meta rewinddir.o %.c>%.o dir/rewinddir.c rewinddir
+meta rewinddir.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/dir/rewinddir.c rewinddir
prev dir/rewinddir.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Idir -Iinclude -Istd -D_PACKAGE_ast -c dir/rewinddir.c
done rewinddir.o generated
@@ -477,7 +478,7 @@
make dir/seekdir.c
prev dir/dirlib.h implicit
done dir/seekdir.c
-meta seekdir.o %.c>%.o dir/seekdir.c seekdir
+meta seekdir.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/dir/seekdir.c seekdir
prev dir/seekdir.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Idir -Iinclude -Istd -D_PACKAGE_ast -c dir/seekdir.c
done seekdir.o generated
@@ -485,7 +486,7 @@
make dir/telldir.c
prev dir/dirlib.h implicit
done dir/telldir.c
-meta telldir.o %.c>%.o dir/telldir.c telldir
+meta telldir.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/dir/telldir.c telldir
prev dir/telldir.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Idir -Iinclude -Istd -D_PACKAGE_ast -c dir/telldir.c
done telldir.o generated
@@ -507,7 +508,7 @@
done include/ast_dir.h dontcare
prev include/ast.h implicit
done misc/getcwd.c
-meta getcwd.o %.c>%.o misc/getcwd.c getcwd
+meta getcwd.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/misc/getcwd.c getcwd
prev misc/getcwd.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Idir -Iinclude -Istd -D_PACKAGE_ast -c misc/getcwd.c
done getcwd.o generated
@@ -529,7 +530,7 @@
prev include/ast.h implicit
done misc/findlib.h
done misc/fastfind.c
-meta fastfind.o %.c>%.o misc/fastfind.c fastfind
+meta fastfind.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/misc/fastfind.c fastfind
prev misc/fastfind.c
exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -Icomp -Imisc -Iinclude -Istd -D_PACKAGE_ast -c misc/fastfind.c
done fastfind.o generated
@@ -543,7 +544,7 @@
prev include/ast.h implicit
done hash/hashlib.h
done hash/hashalloc.c
-meta hashalloc.o %.c>%.o hash/hashalloc.c hashalloc
+meta hashalloc.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/hash/hashalloc.c hashalloc
prev hash/hashalloc.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Ihash -Iinclude -Istd -D_PACKAGE_ast -c hash/hashalloc.c
done hashalloc.o generated
@@ -551,7 +552,7 @@
make hash/hashdump.c
prev hash/hashlib.h implicit
done hash/hashdump.c
-meta hashdump.o %.c>%.o hash/hashdump.c hashdump
+meta hashdump.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/hash/hashdump.c hashdump
prev hash/hashdump.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Ihash -Iinclude -Istd -D_PACKAGE_ast -c hash/hashdump.c
done hashdump.o generated
@@ -559,7 +560,7 @@
make hash/hashfree.c
prev hash/hashlib.h implicit
done hash/hashfree.c
-meta hashfree.o %.c>%.o hash/hashfree.c hashfree
+meta hashfree.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/hash/hashfree.c hashfree
prev hash/hashfree.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Ihash -Iinclude -Istd -D_PACKAGE_ast -c hash/hashfree.c
done hashfree.o generated
@@ -567,7 +568,7 @@
make hash/hashlast.c
prev hash/hashlib.h implicit
done hash/hashlast.c
-meta hashlast.o %.c>%.o hash/hashlast.c hashlast
+meta hashlast.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/hash/hashlast.c hashlast
prev hash/hashlast.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Ihash -Iinclude -Istd -D_PACKAGE_ast -c hash/hashlast.c
done hashlast.o generated
@@ -575,7 +576,7 @@
make hash/hashlook.c
prev hash/hashlib.h implicit
done hash/hashlook.c
-meta hashlook.o %.c>%.o hash/hashlook.c hashlook
+meta hashlook.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/hash/hashlook.c hashlook
prev hash/hashlook.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Ihash -Iinclude -Istd -D_PACKAGE_ast -c hash/hashlook.c
done hashlook.o generated
@@ -583,7 +584,7 @@
make hash/hashscan.c
prev hash/hashlib.h implicit
done hash/hashscan.c
-meta hashscan.o %.c>%.o hash/hashscan.c hashscan
+meta hashscan.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/hash/hashscan.c hashscan
prev hash/hashscan.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Ihash -Iinclude -Istd -D_PACKAGE_ast -c hash/hashscan.c
done hashscan.o generated
@@ -591,7 +592,7 @@
make hash/hashsize.c
prev hash/hashlib.h implicit
done hash/hashsize.c
-meta hashsize.o %.c>%.o hash/hashsize.c hashsize
+meta hashsize.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/hash/hashsize.c hashsize
prev hash/hashsize.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Ihash -Iinclude -Istd -D_PACKAGE_ast -c hash/hashsize.c
done hashsize.o generated
@@ -599,7 +600,7 @@
make hash/hashview.c
prev hash/hashlib.h implicit
done hash/hashview.c
-meta hashview.o %.c>%.o hash/hashview.c hashview
+meta hashview.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/hash/hashview.c hashview
prev hash/hashview.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Ihash -Iinclude -Istd -D_PACKAGE_ast -c hash/hashview.c
done hashview.o generated
@@ -607,7 +608,7 @@
make hash/hashwalk.c
prev hash/hashlib.h implicit
done hash/hashwalk.c
-meta hashwalk.o %.c>%.o hash/hashwalk.c hashwalk
+meta hashwalk.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/hash/hashwalk.c hashwalk
prev hash/hashwalk.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Ihash -Iinclude -Istd -D_PACKAGE_ast -c hash/hashwalk.c
done hashwalk.o generated
@@ -615,7 +616,7 @@
make hash/memhash.c
prev hash/hashlib.h implicit
done hash/memhash.c
-meta memhash.o %.c>%.o hash/memhash.c memhash
+meta memhash.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/hash/memhash.c memhash
prev hash/memhash.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Ihash -Iinclude -Istd -D_PACKAGE_ast -c hash/memhash.c
done memhash.o generated
@@ -623,7 +624,7 @@
make hash/memsum.c
prev hash/hashlib.h implicit
done hash/memsum.c
-meta memsum.o %.c>%.o hash/memsum.c memsum
+meta memsum.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/hash/memsum.c memsum
prev hash/memsum.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Ihash -Iinclude -Istd -D_PACKAGE_ast -c hash/memsum.c
done memsum.o generated
@@ -631,7 +632,7 @@
make hash/strhash.c
prev hash/hashlib.h implicit
done hash/strhash.c
-meta strhash.o %.c>%.o hash/strhash.c strhash
+meta strhash.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/hash/strhash.c strhash
prev hash/strhash.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Ihash -Iinclude -Istd -D_PACKAGE_ast -c hash/strhash.c
done strhash.o generated
@@ -641,7 +642,7 @@
done include/hashkey.h
prev include/ast.h implicit
done hash/strkey.c
-meta strkey.o %.c>%.o hash/strkey.c strkey
+meta strkey.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/hash/strkey.c strkey
prev hash/strkey.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c hash/strkey.c
done strkey.o generated
@@ -649,7 +650,7 @@
make hash/strsum.c
prev hash/hashlib.h implicit
done hash/strsum.c
-meta strsum.o %.c>%.o hash/strsum.c strsum
+meta strsum.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/hash/strsum.c strsum
prev hash/strsum.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Ihash -Iinclude -Istd -D_PACKAGE_ast -c hash/strsum.c
done strsum.o generated
@@ -658,7 +659,7 @@
make include/ccode.h implicit
make ast_ccode.h implicit
make FEATURE/ccode
-meta FEATURE/ccode features/%>FEATURE/% features/ccode ccode
+meta FEATURE/ccode features/%>FEATURE/% ${PACKAGEROOT}/src/lib/libast/features/ccode ccode
make features/ccode
done features/ccode
prev ast.req
@@ -670,7 +671,7 @@
done include/ccode.h
prev include/ast.h implicit
done string/stracmp.c
-meta stracmp.o %.c>%.o string/stracmp.c stracmp
+meta stracmp.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/string/stracmp.c stracmp
prev string/stracmp.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c string/stracmp.c
done stracmp.o generated
@@ -679,7 +680,7 @@
prev include/ccode.h implicit
prev include/ast.h implicit
done string/strnacmp.c
-meta strnacmp.o %.c>%.o string/strnacmp.c strnacmp
+meta strnacmp.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/string/strnacmp.c strnacmp
prev string/strnacmp.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c string/strnacmp.c
done strnacmp.o generated
@@ -688,7 +689,7 @@
prev include/ccode.h implicit
prev include/ast.h implicit
done string/ccmap.c
-meta ccmap.o %.c>%.o string/ccmap.c ccmap
+meta ccmap.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/string/ccmap.c ccmap
prev string/ccmap.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c string/ccmap.c
done ccmap.o generated
@@ -697,7 +698,7 @@
prev include/ccode.h implicit
prev include/ast.h implicit
done string/ccmapid.c
-meta ccmapid.o %.c>%.o string/ccmapid.c ccmapid
+meta ccmapid.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/string/ccmapid.c ccmapid
prev string/ccmapid.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c string/ccmapid.c
done ccmapid.o generated
@@ -706,7 +707,7 @@
prev include/ccode.h implicit
prev include/ast.h implicit
done string/ccnative.c
-meta ccnative.o %.c>%.o string/ccnative.c ccnative
+meta ccnative.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/string/ccnative.c ccnative
prev string/ccnative.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c string/ccnative.c
done ccnative.o generated
@@ -716,7 +717,7 @@
prev include/ccode.h implicit
prev include/ast.h implicit
done string/chresc.c
-meta chresc.o %.c>%.o string/chresc.c chresc
+meta chresc.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/string/chresc.c chresc
prev string/chresc.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c string/chresc.c
done chresc.o generated
@@ -724,7 +725,7 @@
make string/chrtoi.c
prev include/ast.h implicit
done string/chrtoi.c
-meta chrtoi.o %.c>%.o string/chrtoi.c chrtoi
+meta chrtoi.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/string/chrtoi.c chrtoi
prev string/chrtoi.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c string/chrtoi.c
done chrtoi.o generated
@@ -732,7 +733,7 @@
make string/streval.c
prev include/ast.h implicit
done string/streval.c
-meta streval.o %.c>%.o string/streval.c streval
+meta streval.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/string/streval.c streval
prev string/streval.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c string/streval.c
done streval.o generated
@@ -740,7 +741,7 @@
make string/strexpr.c
prev include/ast.h implicit
done string/strexpr.c
-meta strexpr.o %.c>%.o string/strexpr.c strexpr
+meta strexpr.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/string/strexpr.c strexpr
prev string/strexpr.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c string/strexpr.c
done strexpr.o generated
@@ -749,7 +750,7 @@
prev include/regex.h implicit
prev include/ast.h implicit
done string/strmatch.c
-meta strmatch.o %.c>%.o string/strmatch.c strmatch
+meta strmatch.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/string/strmatch.c strmatch
prev string/strmatch.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c string/strmatch.c
done strmatch.o generated
@@ -757,7 +758,7 @@
make string/strcopy.c
prev include/ast.h implicit
done string/strcopy.c
-meta strcopy.o %.c>%.o string/strcopy.c strcopy
+meta strcopy.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/string/strcopy.c strcopy
prev string/strcopy.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c string/strcopy.c
done strcopy.o generated
@@ -772,7 +773,7 @@
prev include/ast.h implicit
done string/modelib.h
done string/modei.c
-meta modei.o %.c>%.o string/modei.c modei
+meta modei.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/string/modei.c modei
prev string/modei.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Istring -Iinclude -Istd -D_PACKAGE_ast -c string/modei.c
done modei.o generated
@@ -780,7 +781,7 @@
make string/modex.c
prev string/modelib.h implicit
done string/modex.c
-meta modex.o %.c>%.o string/modex.c modex
+meta modex.o %.c>%.o ${PACKAGEROOT}/src/lib/libast/string/modex.c modex
prev string/modex.c
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Istring -Iinclude -Istd -D_PACKAGE_ast -c string/modex.c