picolisp

Unnamed repository; edit this file to name it for gitweb.
git clone https://logand.com/git/picolisp.git/
Log | Files | Refs | README | LICENSE

commit 4af5880d55557e18abc109bf09da16cd6bd8fa59
parent cc4cbaec59ef0add41d3b07c2a0f6554882f1350
Author: Commit-Bot <unknown>
Date:   Wed,  8 Sep 2010 15:25:43 +0000

Automatic commit from picoLisp.tgz, From: Wed, 08 Sep 2010 15:25:43 GMT
Diffstat:
Mdoc/ref.html | 8++++----
Mdoc/refL.html | 2+-
Mlib/tags | 78+++++++++++++++++++++++++++++++++++++++---------------------------------------
Msrc64/io.l | 16++++------------
4 files changed, 48 insertions(+), 56 deletions(-)

diff --git a/doc/ref.html b/doc/ref.html @@ -492,11 +492,11 @@ arguments may follow the command name. <p>By default, each argument is the name of a file to be executed by the interpreter. If, however, the argument's first character is a hyphen '-', then the rest of that argument is taken as a Lisp function call (without the -surrounding parentheses). A hyphen by itself as an argument stops evaluation of -the rest of the command line (it may be processed later using the <code><a +surrounding parentheses), and a hyphen by itself as an argument stops evaluation +of the rest of the command line (it may be processed later using the <code><a href="refA.html#argv">argv</a></code> and <code><a -href="refO.html#opt">opt</a></code> functions). This mechanism corresponds to -calling <code>(<a href="refL.html#load">load</a> T)</code>. +href="refO.html#opt">opt</a></code> functions). This whole mechanism corresponds +to calling <code>(<a href="refL.html#load">load</a> T)</code>. <p>As a convention, PicoLisp source files have the extension "<code>.l</code>". diff --git a/doc/refL.html b/doc/refL.html @@ -385,7 +385,7 @@ identical to that of <code><a href="refI.html#in">in</a></code>, with the exception that if an argument is a symbol and its first character is a hyphen '-', then that argument is parsed as an executable list (without the surrounding parentheses). When <code>any</code> is <code>T</code>, all remaining command -line arguments are loaded recursively. When <code>any</code> is +line arguments are <code>load</code>ed recursively. When <code>any</code> is <code>NIL</code>, standard input is read, a prompt is issued before each read operation, the results are printed to standard output (read-eval-print loop), and <code>load</code> terminates when an empty line is entered. In any case, diff --git a/lib/tags b/lib/tags @@ -29,7 +29,7 @@ adr (613 . "@src64/main.l") alarm (487 . "@src64/main.l") all (772 . "@src64/sym.l") and (1643 . "@src64/flow.l") -any (3787 . "@src64/io.l") +any (3779 . "@src64/io.l") append (1329 . "@src64/subr.l") apply (597 . "@src64/apply.l") arg (2243 . "@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 (3269 . "@src64/io.l") +char (3261 . "@src64/io.l") chop (1093 . "@src64/sym.l") circ (816 . "@src64/subr.l") clip (1786 . "@src64/subr.l") -close (4175 . "@src64/io.l") +close (4167 . "@src64/io.l") cmd (2846 . "@src64/main.l") cnt (1297 . "@src64/apply.l") co (2566 . "@src64/flow.l") @@ -97,7 +97,7 @@ cond (1938 . "@src64/flow.l") connect (201 . "@src64/net.l") cons (747 . "@src64/subr.l") copy (1216 . "@src64/subr.l") -ctl (4115 . "@src64/io.l") +ctl (4107 . "@src64/io.l") ctty (2644 . "@src64/main.l") cut (1797 . "@src64/sym.l") date (2358 . "@src64/main.l") @@ -114,13 +114,13 @@ dir (2777 . "@src64/main.l") dm (561 . "@src64/flow.l") do (2158 . "@src64/flow.l") e (2932 . "@src64/flow.l") -echo (4206 . "@src64/io.l") +echo (4198 . "@src64/io.l") env (625 . "@src64/main.l") -eof (3346 . "@src64/io.l") -eol (3337 . "@src64/io.l") +eof (3338 . "@src64/io.l") +eol (3329 . "@src64/io.l") errno (1358 . "@src64/main.l") eval (208 . "@src64/flow.l") -ext (4935 . "@src64/io.l") +ext (4927 . "@src64/io.l") ext? (1034 . "@src64/sym.l") extern (900 . "@src64/sym.l") extra (1284 . "@src64/flow.l") @@ -135,13 +135,13 @@ find (1206 . "@src64/apply.l") fish (1497 . "@src64/apply.l") flg? (2419 . "@src64/subr.l") flip (1686 . "@src64/subr.l") -flush (4910 . "@src64/io.l") +flush (4902 . "@src64/io.l") fold (3343 . "@src64/sym.l") for (2247 . "@src64/flow.l") fork (3276 . "@src64/flow.l") format (2089 . "@src64/big.l") free (2028 . "@src64/db.l") -from (3365 . "@src64/io.l") +from (3357 . "@src64/io.l") full (1066 . "@src64/subr.l") fun? (734 . "@src64/sym.l") gc (439 . "@src64/gc.l") @@ -153,14 +153,14 @@ glue (1234 . "@src64/sym.l") gt0 (2702 . "@src64/big.l") head (1807 . "@src64/subr.l") heap (542 . "@src64/main.l") -hear (3087 . "@src64/io.l") +hear (3079 . "@src64/io.l") host (184 . "@src64/net.l") id (1024 . "@src64/db.l") idx (2037 . "@src64/sym.l") if (1824 . "@src64/flow.l") if2 (1843 . "@src64/flow.l") ifn (1884 . "@src64/flow.l") -in (4011 . "@src64/io.l") +in (4003 . "@src64/io.l") inc (2256 . "@src64/big.l") index (2611 . "@src64/subr.l") info (2681 . "@src64/main.l") @@ -169,21 +169,21 @@ ipid (3221 . "@src64/flow.l") isa (978 . "@src64/flow.l") job (1448 . "@src64/flow.l") journal (967 . "@src64/db.l") -key (3196 . "@src64/io.l") +key (3188 . "@src64/io.l") kill (3253 . "@src64/flow.l") last (2031 . "@src64/subr.l") length (2687 . "@src64/subr.l") let (1498 . "@src64/flow.l") let? (1559 . "@src64/flow.l") lieu (1153 . "@src64/db.l") -line (3521 . "@src64/io.l") -lines (3674 . "@src64/io.l") +line (3513 . "@src64/io.l") +lines (3666 . "@src64/io.l") link (1163 . "@src64/subr.l") lisp (1921 . "@src64/main.l") list (887 . "@src64/subr.l") listen (151 . "@src64/net.l") lit (183 . "@src64/flow.l") -load (3988 . "@src64/io.l") +load (3980 . "@src64/io.l") lock (1181 . "@src64/db.l") loop (2190 . "@src64/flow.l") low? (3215 . "@src64/sym.l") @@ -233,31 +233,31 @@ offset (2651 . "@src64/subr.l") on (1583 . "@src64/sym.l") onOff (1613 . "@src64/sym.l") one (1646 . "@src64/sym.l") -open (4137 . "@src64/io.l") +open (4129 . "@src64/io.l") opid (3237 . "@src64/flow.l") opt (2967 . "@src64/main.l") or (1659 . "@src64/flow.l") -out (4031 . "@src64/io.l") +out (4023 . "@src64/io.l") pack (1144 . "@src64/sym.l") pair (2381 . "@src64/subr.l") pass (638 . "@src64/apply.l") pat? (720 . "@src64/sym.l") path (1200 . "@src64/io.l") -peek (3253 . "@src64/io.l") +peek (3245 . "@src64/io.l") pick (1253 . "@src64/apply.l") pid (157 . "@src64/flow.l") -pipe (4052 . "@src64/io.l") -poll (3149 . "@src64/io.l") +pipe (4044 . "@src64/io.l") +poll (3141 . "@src64/io.l") pool (647 . "@src64/db.l") pop (1773 . "@src64/sym.l") port (5 . "@src64/net.l") -pr (5026 . "@src64/io.l") +pr (5018 . "@src64/io.l") pre? (1411 . "@src64/sym.l") -prin (4834 . "@src64/io.l") -prinl (4848 . "@src64/io.l") -print (4874 . "@src64/io.l") -println (4905 . "@src64/io.l") -printsp (4890 . "@src64/io.l") +prin (4826 . "@src64/io.l") +prinl (4840 . "@src64/io.l") +print (4866 . "@src64/io.l") +println (4897 . "@src64/io.l") +printsp (4882 . "@src64/io.l") prog (1779 . "@src64/flow.l") prog1 (1787 . "@src64/flow.l") prog2 (1804 . "@src64/flow.l") @@ -276,15 +276,15 @@ rand (2959 . "@src64/big.l") range (988 . "@src64/subr.l") rank (2970 . "@src64/subr.l") raw (465 . "@src64/main.l") -rd (4952 . "@src64/io.l") +rd (4944 . "@src64/io.l") read (2532 . "@src64/io.l") replace (1490 . "@src64/subr.l") rest (2272 . "@src64/main.l") reverse (1665 . "@src64/subr.l") -rewind (4918 . "@src64/io.l") +rewind (4910 . "@src64/io.l") rollback (1879 . "@src64/db.l") rot (848 . "@src64/subr.l") -rpc (5059 . "@src64/io.l") +rpc (5051 . "@src64/io.l") run (331 . "@src64/flow.l") sect (2515 . "@src64/subr.l") seed (2944 . "@src64/big.l") @@ -295,31 +295,31 @@ set (1482 . "@src64/sym.l") setq (1515 . "@src64/sym.l") sigio (503 . "@src64/main.l") size (2752 . "@src64/subr.l") -skip (3323 . "@src64/io.l") +skip (3315 . "@src64/io.l") sort (3869 . "@src64/subr.l") sp? (711 . "@src64/sym.l") -space (4852 . "@src64/io.l") +space (4844 . "@src64/io.l") split (1579 . "@src64/subr.l") stack (571 . "@src64/main.l") state (2028 . "@src64/flow.l") stem (1976 . "@src64/subr.l") -str (3841 . "@src64/io.l") +str (3833 . "@src64/io.l") str? (1013 . "@src64/sym.l") strip (1563 . "@src64/subr.l") sub? (1444 . "@src64/sym.l") sum (1344 . "@src64/apply.l") super (1237 . "@src64/flow.l") -sym (3827 . "@src64/io.l") +sym (3819 . "@src64/io.l") sym? (2408 . "@src64/subr.l") -sync (3050 . "@src64/io.l") +sync (3042 . "@src64/io.l") sys (3073 . "@src64/flow.l") t (1770 . "@src64/flow.l") tail (1898 . "@src64/subr.l") -tell (3119 . "@src64/io.l") +tell (3111 . "@src64/io.l") text (1272 . "@src64/sym.l") throw (2510 . "@src64/flow.l") tick (3189 . "@src64/flow.l") -till (3432 . "@src64/io.l") +till (3424 . "@src64/io.l") time (2491 . "@src64/main.l") touch (1049 . "@src64/sym.l") trim (1746 . "@src64/subr.l") @@ -336,12 +336,12 @@ use (1592 . "@src64/flow.l") usec (2596 . "@src64/main.l") val (1463 . "@src64/sym.l") version (2981 . "@src64/main.l") -wait (3012 . "@src64/io.l") +wait (3004 . "@src64/io.l") when (1903 . "@src64/flow.l") while (2080 . "@src64/flow.l") wipe (3090 . "@src64/sym.l") with (1349 . "@src64/flow.l") -wr (5043 . "@src64/io.l") +wr (5035 . "@src64/io.l") xchg (1538 . "@src64/sym.l") xor (1720 . "@src64/flow.l") x| (2871 . "@src64/big.l") diff --git a/src64/io.l b/src64/io.l @@ -1,4 +1,4 @@ -# 06sep10abu +# 07sep10abu # (c) Software Lab. Alexander Burger # Close file descriptor @@ -2584,7 +2584,7 @@ ld C (C) # Slot? null C # Any? jz ret # No - cmp (C I) (C II) # 'ix' < 'cnt'? + cmp (C I) (C II) # Data in buffer ('ix' < 'cnt')? ret # Yes: Return 'c' (code 'rdSetRdyASL_F 0) # Z @@ -2598,15 +2598,7 @@ jz rdSetASL_F # No cmp (C I) (C II) # Data in buffer ('ix' < 'cnt')? if z # No - lea Z (L -V) # Beyond last 'poll' structure - do - cmp Z (L -V) # More structures? - jeq ret # No: 'z' - sub Z POLLFD # Next structure - cmp4 (Z) # Found 'fd'? - until eq # Yes - ld2 (Z POLL_REVENTS) # 'revents' - test A (| POLLIN POLLHUP) # Ready? + call rdSetASL_F if nz # Yes call slowNbC_FA # Try non-blocking read jge retnz @@ -2636,7 +2628,7 @@ cmp4 (Z) # Found 'fd'? until eq # Yes ld2 (Z POLL_REVENTS) # 'revents' - test A POLLOUT # Ready? + test A (| POLLOUT POLLHUP) # Ready? ret # Return 'nz' (code 'waitFdCEX_A)