version 1.83, 2001/06/16 22:53:36
|
version 1.86, 2001/12/24 20:39:29
|
Line 1466 c_addr2 = getenv(cstr(c_addr1,u1,1));
|
Line 1466 c_addr2 = getenv(cstr(c_addr1,u1,1));
|
u2 = (c_addr2 == NULL ? 0 : strlen(c_addr2)); |
u2 = (c_addr2 == NULL ? 0 : strlen(c_addr2)); |
|
|
open-pipe ( c_addr u wfam -- wfileid wior ) gforth open_pipe |
open-pipe ( c_addr u wfam -- wfileid wior ) gforth open_pipe |
wfileid=(Cell)popen(cstr(c_addr,u,1),fileattr[wfam]); /* ~ expansion of 1st arg? */ |
wfileid=(Cell)popen(cstr(c_addr,u,1),pfileattr[wfam]); /* ~ expansion of 1st arg? */ |
wior = IOR(wfileid==0); /* !! the man page says that errno is not set reliably */ |
wior = IOR(wfileid==0); /* !! the man page says that errno is not set reliably */ |
|
|
close-pipe ( wfileid -- wretval wior ) gforth close_pipe |
close-pipe ( wfileid -- wretval wior ) gforth close_pipe |
Line 1608 if (wior)
|
Line 1608 if (wior)
|
clearerr((FILE *)wfileid); |
clearerr((FILE *)wfileid); |
|
|
read-line ( c_addr u1 wfileid -- u2 flag wior ) file read_line |
read-line ( c_addr u1 wfileid -- u2 flag wior ) file read_line |
""this is only for backward compatibility"" |
/* this may one day be replaced with : read-line (read-line) nip ; */ |
Cell c; |
Cell c; |
flag=-1; |
flag=-1; |
for(u2=0; u2<u1; u2++) |
for(u2=0; u2<u1; u2++) |
Line 2385 peephole-opt ( xt1 xt2 wpeeptable -- xt
|
Line 2385 peephole-opt ( xt1 xt2 wpeeptable -- xt
|
they cannot be combined, xt is 0."" |
they cannot be combined, xt is 0."" |
xt = peephole_opt(xt1, xt2, wpeeptable); |
xt = peephole_opt(xt1, xt2, wpeeptable); |
|
|
call ( #a_callee -- R:a_retaddr ) |
call ( #a_callee -- R:a_retaddr ) new |
""Call callee (a variant of docol with inline argument)."" |
""Call callee (a variant of docol with inline argument)."" |
a_retaddr = (Cell *)IP; |
a_retaddr = (Cell *)IP; |
SET_IP((Xt *)a_callee); |
SET_IP((Xt *)a_callee); |
|
|
useraddr ( #u -- a_addr ) |
useraddr ( #u -- a_addr ) new |
a_addr = (Cell *)(up+u); |
a_addr = (Cell *)(up+u); |
|
|
|
compile-prim ( xt1 -- xt2 ) new compile_prim |
|
xt2 = (Xt)compile_prim((Label)xt1); |
|
|
include(peeprules.vmg) |
include(peeprules.vmg) |
|
|
\+ |
\+ |