commit 8d0c34b4d1e00a5a07724209039471ab44525425
parent 48bd877efc5215231b6c96c922386b209b78f6cb
Author: Commit-Bot <unknown>
Date: Thu, 29 Apr 2010 08:11:09 +0000
Automatic commit from picoLisp.tgz, From: Thu, 29 Apr 2010 05:11:09 GMT
Diffstat:
5 files changed, 56 insertions(+), 46 deletions(-)
diff --git a/lib/tags b/lib/tags
@@ -29,7 +29,7 @@ adr (511 . "@src64/main.l")
alarm (455 . "@src64/main.l")
all (772 . "@src64/sym.l")
and (1637 . "@src64/flow.l")
-any (3750 . "@src64/io.l")
+any (3756 . "@src64/io.l")
append (1329 . "@src64/subr.l")
apply (581 . "@src64/apply.l")
arg (1871 . "@src64/main.l")
@@ -82,11 +82,11 @@ cdddr (245 . "@src64/subr.l")
cddr (79 . "@src64/subr.l")
cdr (17 . "@src64/subr.l")
chain (1132 . "@src64/subr.l")
-char (3231 . "@src64/io.l")
+char (3237 . "@src64/io.l")
chop (1093 . "@src64/sym.l")
circ (816 . "@src64/subr.l")
clip (1784 . "@src64/subr.l")
-close (4137 . "@src64/io.l")
+close (4144 . "@src64/io.l")
cmd (2474 . "@src64/main.l")
cnt (1279 . "@src64/apply.l")
commit (1503 . "@src64/db.l")
@@ -96,7 +96,7 @@ cond (1932 . "@src64/flow.l")
connect (202 . "@src64/net.l")
cons (747 . "@src64/subr.l")
copy (1216 . "@src64/subr.l")
-ctl (4077 . "@src64/io.l")
+ctl (4084 . "@src64/io.l")
ctty (2272 . "@src64/main.l")
cut (1795 . "@src64/sym.l")
date (1986 . "@src64/main.l")
@@ -113,13 +113,13 @@ dir (2405 . "@src64/main.l")
dm (563 . "@src64/flow.l")
do (2152 . "@src64/flow.l")
e (2623 . "@src64/flow.l")
-echo (4157 . "@src64/io.l")
+echo (4164 . "@src64/io.l")
env (523 . "@src64/main.l")
-eof (3308 . "@src64/io.l")
-eol (3299 . "@src64/io.l")
+eof (3314 . "@src64/io.l")
+eol (3305 . "@src64/io.l")
errno (1206 . "@src64/main.l")
eval (208 . "@src64/flow.l")
-ext (4852 . "@src64/io.l")
+ext (4859 . "@src64/io.l")
ext? (1034 . "@src64/sym.l")
extern (900 . "@src64/sym.l")
extra (1280 . "@src64/flow.l")
@@ -134,13 +134,13 @@ find (1188 . "@src64/apply.l")
fish (1479 . "@src64/apply.l")
flg? (2417 . "@src64/subr.l")
flip (1686 . "@src64/subr.l")
-flush (4827 . "@src64/io.l")
+flush (4834 . "@src64/io.l")
fold (3341 . "@src64/sym.l")
for (2241 . "@src64/flow.l")
fork (2960 . "@src64/flow.l")
format (1769 . "@src64/big.l")
free (2034 . "@src64/db.l")
-from (3327 . "@src64/io.l")
+from (3333 . "@src64/io.l")
full (1066 . "@src64/subr.l")
fun? (734 . "@src64/sym.l")
gc (378 . "@src64/gc.l")
@@ -152,14 +152,14 @@ glue (1232 . "@src64/sym.l")
gt0 (2370 . "@src64/big.l")
head (1805 . "@src64/subr.l")
heap (481 . "@src64/main.l")
-hear (3049 . "@src64/io.l")
+hear (3055 . "@src64/io.l")
host (185 . "@src64/net.l")
id (1034 . "@src64/db.l")
idx (2035 . "@src64/sym.l")
if (1818 . "@src64/flow.l")
if2 (1837 . "@src64/flow.l")
ifn (1878 . "@src64/flow.l")
-in (3974 . "@src64/io.l")
+in (3980 . "@src64/io.l")
inc (1924 . "@src64/big.l")
index (2609 . "@src64/subr.l")
info (2309 . "@src64/main.l")
@@ -168,20 +168,20 @@ ipid (2905 . "@src64/flow.l")
isa (976 . "@src64/flow.l")
job (1442 . "@src64/flow.l")
journal (977 . "@src64/db.l")
-key (3158 . "@src64/io.l")
+key (3164 . "@src64/io.l")
kill (2937 . "@src64/flow.l")
last (2029 . "@src64/subr.l")
length (2685 . "@src64/subr.l")
let (1492 . "@src64/flow.l")
let? (1553 . "@src64/flow.l")
lieu (1163 . "@src64/db.l")
-line (3483 . "@src64/io.l")
-lines (3636 . "@src64/io.l")
+line (3489 . "@src64/io.l")
+lines (3642 . "@src64/io.l")
link (1163 . "@src64/subr.l")
list (887 . "@src64/subr.l")
listen (152 . "@src64/net.l")
lit (183 . "@src64/flow.l")
-load (3951 . "@src64/io.l")
+load (3957 . "@src64/io.l")
lock (1191 . "@src64/db.l")
loop (2184 . "@src64/flow.l")
low? (3213 . "@src64/sym.l")
@@ -231,31 +231,31 @@ offset (2649 . "@src64/subr.l")
on (1581 . "@src64/sym.l")
onOff (1611 . "@src64/sym.l")
one (1644 . "@src64/sym.l")
-open (4099 . "@src64/io.l")
+open (4106 . "@src64/io.l")
opid (2921 . "@src64/flow.l")
opt (2595 . "@src64/main.l")
or (1653 . "@src64/flow.l")
-out (3994 . "@src64/io.l")
+out (4000 . "@src64/io.l")
pack (1144 . "@src64/sym.l")
pair (2379 . "@src64/subr.l")
pass (620 . "@src64/apply.l")
pat? (720 . "@src64/sym.l")
path (1168 . "@src64/io.l")
-peek (3215 . "@src64/io.l")
+peek (3221 . "@src64/io.l")
pick (1235 . "@src64/apply.l")
pid (157 . "@src64/flow.l")
-pipe (4015 . "@src64/io.l")
-poll (3111 . "@src64/io.l")
+pipe (4021 . "@src64/io.l")
+poll (3117 . "@src64/io.l")
pool (657 . "@src64/db.l")
pop (1771 . "@src64/sym.l")
port (5 . "@src64/net.l")
-pr (4941 . "@src64/io.l")
+pr (4948 . "@src64/io.l")
pre? (1409 . "@src64/sym.l")
-prin (4751 . "@src64/io.l")
-prinl (4765 . "@src64/io.l")
-print (4791 . "@src64/io.l")
-println (4822 . "@src64/io.l")
-printsp (4807 . "@src64/io.l")
+prin (4758 . "@src64/io.l")
+prinl (4772 . "@src64/io.l")
+print (4798 . "@src64/io.l")
+println (4829 . "@src64/io.l")
+printsp (4814 . "@src64/io.l")
prog (1773 . "@src64/flow.l")
prog1 (1781 . "@src64/flow.l")
prog2 (1798 . "@src64/flow.l")
@@ -274,15 +274,15 @@ rand (2627 . "@src64/big.l")
range (988 . "@src64/subr.l")
rank (2966 . "@src64/subr.l")
raw (433 . "@src64/main.l")
-rd (4869 . "@src64/io.l")
-read (2489 . "@src64/io.l")
+rd (4876 . "@src64/io.l")
+read (2495 . "@src64/io.l")
replace (1490 . "@src64/subr.l")
rest (1900 . "@src64/main.l")
reverse (1665 . "@src64/subr.l")
-rewind (4835 . "@src64/io.l")
+rewind (4842 . "@src64/io.l")
rollback (1885 . "@src64/db.l")
rot (848 . "@src64/subr.l")
-rpc (4974 . "@src64/io.l")
+rpc (4981 . "@src64/io.l")
run (332 . "@src64/flow.l")
sect (2513 . "@src64/subr.l")
seed (2612 . "@src64/big.l")
@@ -292,30 +292,30 @@ seq (1090 . "@src64/db.l")
set (1480 . "@src64/sym.l")
setq (1513 . "@src64/sym.l")
size (2750 . "@src64/subr.l")
-skip (3285 . "@src64/io.l")
+skip (3291 . "@src64/io.l")
sort (3837 . "@src64/subr.l")
sp? (711 . "@src64/sym.l")
-space (4769 . "@src64/io.l")
+space (4776 . "@src64/io.l")
split (1579 . "@src64/subr.l")
state (2022 . "@src64/flow.l")
stem (1974 . "@src64/subr.l")
-str (3804 . "@src64/io.l")
+str (3810 . "@src64/io.l")
str? (1013 . "@src64/sym.l")
strip (1563 . "@src64/subr.l")
sub? (1442 . "@src64/sym.l")
sum (1326 . "@src64/apply.l")
super (1233 . "@src64/flow.l")
-sym (3790 . "@src64/io.l")
+sym (3796 . "@src64/io.l")
sym? (2406 . "@src64/subr.l")
-sync (3011 . "@src64/io.l")
+sync (3017 . "@src64/io.l")
sys (2764 . "@src64/flow.l")
t (1764 . "@src64/flow.l")
tail (1896 . "@src64/subr.l")
-tell (3081 . "@src64/io.l")
+tell (3087 . "@src64/io.l")
text (1270 . "@src64/sym.l")
throw (2504 . "@src64/flow.l")
tick (2873 . "@src64/flow.l")
-till (3394 . "@src64/io.l")
+till (3400 . "@src64/io.l")
time (2119 . "@src64/main.l")
touch (1049 . "@src64/sym.l")
trim (1746 . "@src64/subr.l")
@@ -332,12 +332,12 @@ use (1586 . "@src64/flow.l")
usec (2224 . "@src64/main.l")
val (1461 . "@src64/sym.l")
version (2609 . "@src64/main.l")
-wait (2973 . "@src64/io.l")
+wait (2979 . "@src64/io.l")
when (1897 . "@src64/flow.l")
while (2074 . "@src64/flow.l")
wipe (3088 . "@src64/sym.l")
with (1343 . "@src64/flow.l")
-wr (4958 . "@src64/io.l")
+wr (4965 . "@src64/io.l")
xchg (1536 . "@src64/sym.l")
xor (1714 . "@src64/flow.l")
x| (2539 . "@src64/big.l")
diff --git a/src/io.c b/src/io.c
@@ -1,4 +1,4 @@
-/* 14apr10abu
+/* 28apr10abu
* (c) Software Lab. Alexander Burger
*/
@@ -860,6 +860,8 @@ void popInFiles(void) {
sighandler(NULL);
}
}
+ else if (InFile)
+ InFile->next = Chr;
Env.get = Env.inFrames->get;
Chr =
(InFile = InFiles[(Env.inFrames = Env.inFrames->link)? Env.inFrames->fd : STDIN_FILENO])?
@@ -2015,6 +2017,7 @@ any doPipe(any ex) {
dup2(pfd[1], STDOUT_FILENO), close(pfd[1]);
wrOpen(ex, Nil, &f.out);
pushOutFiles(&f.out);
+ OutFile->tty = NO;
val(Run) = Nil;
EVAL(cadr(ex));
bye(0);
diff --git a/src64/io.l b/src64/io.l
@@ -1,4 +1,4 @@
-# 14apr10abu
+# 28apr10abu
# (c) Software Lab. Alexander Burger
# Close file descriptor
@@ -1755,6 +1755,12 @@
end
loop
end
+ else
+ ld A (InFile) # Current InFile?
+ null A
+ if nz # Yes
+ ld (A III) (Chr) # Save Chr in next
+ end
end
ld (EnvGet_A) (C III) # Retrieve 'get'
ld C (C) # Get link
@@ -4044,6 +4050,7 @@
ld E Nil # Standard output
call wrOpenEXY
call pushOutFilesY
+ ld ((OutFile) II) 0 # Clear 'tty'
ld (Run) Nil # Switch off all tasks
ld E ((X CDR)) # Get 'exe'
eval # Evaluate it
diff --git a/src64/main.l b/src64/main.l
@@ -1,4 +1,4 @@
-# 26apr10abu
+# 27apr10abu
# (c) Software Lab. Alexander Burger
### Global return labels ###
@@ -513,7 +513,7 @@
eval
num E # 'num' argument?
if nz # Yes
- off E 7 # Make 'var'
+ off E CNT # Make 'var'
ret
end
or E CNT # Make 'num'
diff --git a/src64/version.l b/src64/version.l
@@ -1,6 +1,6 @@
-# 26apr10abu
+# 29apr10abu
# (c) Software Lab. Alexander Burger
-(de *Version 3 0 2 15)
+(de *Version 3 0 2 16)
# vi:et:ts=3:sw=3