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 662edcf44c7f123e33e220e9ee4fa87fc926d28b
parent 04fced5627613e3b95297f0d5eee6fb069c93671
Author: Commit-Bot <unknown>
Date:   Thu,  5 Aug 2010 11:00:52 +0000

Automatic commit from picoLisp.tgz, From: Thu, 05 Aug 2010 11:00:52 GMT
Diffstat:
Mlib/tags | 34+++++++++++++++++-----------------
Msrc64/main.l | 43++++++++++++++++++++++---------------------
2 files changed, 39 insertions(+), 38 deletions(-)

diff --git a/lib/tags b/lib/tags @@ -32,9 +32,9 @@ and (1643 . "@src64/flow.l") any (3792 . "@src64/io.l") append (1329 . "@src64/subr.l") apply (597 . "@src64/apply.l") -arg (2241 . "@src64/main.l") -args (2217 . "@src64/main.l") -argv (2862 . "@src64/main.l") +arg (2242 . "@src64/main.l") +args (2218 . "@src64/main.l") +argv (2863 . "@src64/main.l") as (146 . "@src64/flow.l") asoq (2942 . "@src64/subr.l") assoc (2907 . "@src64/subr.l") @@ -65,7 +65,7 @@ call (3102 . "@src64/flow.l") car (5 . "@src64/subr.l") case (1984 . "@src64/flow.l") catch (2484 . "@src64/flow.l") -cd (2617 . "@src64/main.l") +cd (2618 . "@src64/main.l") cdaaar (464 . "@src64/subr.l") cdaadr (487 . "@src64/subr.l") cdaar (179 . "@src64/subr.l") @@ -87,7 +87,7 @@ chop (1093 . "@src64/sym.l") circ (816 . "@src64/subr.l") clip (1786 . "@src64/subr.l") close (4180 . "@src64/io.l") -cmd (2844 . "@src64/main.l") +cmd (2845 . "@src64/main.l") cnt (1297 . "@src64/apply.l") co (2566 . "@src64/flow.l") commit (1503 . "@src64/db.l") @@ -98,9 +98,9 @@ connect (201 . "@src64/net.l") cons (747 . "@src64/subr.l") copy (1216 . "@src64/subr.l") ctl (4120 . "@src64/io.l") -ctty (2642 . "@src64/main.l") +ctty (2643 . "@src64/main.l") cut (1797 . "@src64/sym.l") -date (2356 . "@src64/main.l") +date (2357 . "@src64/main.l") dbck (2092 . "@src64/db.l") de (549 . "@src64/flow.l") dec (2323 . "@src64/big.l") @@ -110,7 +110,7 @@ del (1852 . "@src64/sym.l") delete (1392 . "@src64/subr.l") delq (1443 . "@src64/subr.l") diff (2563 . "@src64/subr.l") -dir (2775 . "@src64/main.l") +dir (2776 . "@src64/main.l") dm (561 . "@src64/flow.l") do (2158 . "@src64/flow.l") e (2932 . "@src64/flow.l") @@ -126,7 +126,7 @@ extern (900 . "@src64/sym.l") extra (1284 . "@src64/flow.l") extract (1102 . "@src64/apply.l") fifo (1963 . "@src64/sym.l") -file (2722 . "@src64/main.l") +file (2723 . "@src64/main.l") fill (3177 . "@src64/subr.l") filter (1045 . "@src64/apply.l") fin (2020 . "@src64/subr.l") @@ -163,7 +163,7 @@ ifn (1884 . "@src64/flow.l") in (4016 . "@src64/io.l") inc (2256 . "@src64/big.l") index (2611 . "@src64/subr.l") -info (2679 . "@src64/main.l") +info (2680 . "@src64/main.l") intern (875 . "@src64/sym.l") ipid (3214 . "@src64/flow.l") isa (978 . "@src64/flow.l") @@ -221,7 +221,7 @@ nand (1678 . "@src64/flow.l") native (1366 . "@src64/main.l") need (918 . "@src64/subr.l") new (852 . "@src64/flow.l") -next (2224 . "@src64/main.l") +next (2225 . "@src64/main.l") nil (1761 . "@src64/flow.l") nond (1961 . "@src64/flow.l") nor (1699 . "@src64/flow.l") @@ -235,7 +235,7 @@ onOff (1613 . "@src64/sym.l") one (1646 . "@src64/sym.l") open (4142 . "@src64/io.l") opid (3230 . "@src64/flow.l") -opt (2965 . "@src64/main.l") +opt (2966 . "@src64/main.l") or (1659 . "@src64/flow.l") out (4036 . "@src64/io.l") pack (1144 . "@src64/sym.l") @@ -268,7 +268,7 @@ push (1688 . "@src64/sym.l") push1 (1724 . "@src64/sym.l") put (2698 . "@src64/sym.l") putl (2950 . "@src64/sym.l") -pwd (2606 . "@src64/main.l") +pwd (2607 . "@src64/main.l") queue (1920 . "@src64/sym.l") quit (1075 . "@src64/main.l") quote (141 . "@src64/flow.l") @@ -279,7 +279,7 @@ raw (465 . "@src64/main.l") rd (4953 . "@src64/io.l") read (2530 . "@src64/io.l") replace (1490 . "@src64/subr.l") -rest (2270 . "@src64/main.l") +rest (2271 . "@src64/main.l") reverse (1665 . "@src64/subr.l") rewind (4919 . "@src64/io.l") rollback (1885 . "@src64/db.l") @@ -320,7 +320,7 @@ text (1272 . "@src64/sym.l") throw (2510 . "@src64/flow.l") tick (3182 . "@src64/flow.l") till (3437 . "@src64/io.l") -time (2489 . "@src64/main.l") +time (2490 . "@src64/main.l") touch (1049 . "@src64/sym.l") trim (1746 . "@src64/subr.l") try (1191 . "@src64/flow.l") @@ -333,9 +333,9 @@ up (712 . "@src64/main.l") upp? (3232 . "@src64/sym.l") uppc (3296 . "@src64/sym.l") use (1592 . "@src64/flow.l") -usec (2594 . "@src64/main.l") +usec (2595 . "@src64/main.l") val (1463 . "@src64/sym.l") -version (2979 . "@src64/main.l") +version (2980 . "@src64/main.l") wait (3016 . "@src64/io.l") when (1903 . "@src64/flow.l") while (2080 . "@src64/flow.l") diff --git a/src64/main.l b/src64/main.l @@ -1920,30 +1920,31 @@ (code 'doLisp 2) push X push Y - push Z - ld X (E CDR) # Get tag - call evSymX_E # Evaluate to a symbol - ld Y Lisp # Search lisp callback definitions - ld Z cbl1 + ld X E + ld Y (E CDR) # Get tag + call evSymY_E # Evaluate to a symbol + ld A Lisp # Search lisp callback definitions + ld C cbl1 do - cmp E (Y) # Found tag? + cmp E (A) # Found tag? jeq 10 # Yes - add Y II # Next entry - add Z "cbl2-cbl1" - cmp Y LispEnd + add A II # Next entry + add C "cbl2-cbl1" + cmp A LispEnd until eq - ld Y Lisp # Not found, search for empty slot - ld Z cbl1 + ld A Lisp # Not found, search for empty slot + ld C cbl1 do - cmp (Y I) Nil # Empty? + cmp (A I) Nil # Empty? if eq # Yes - ld (Y) E # Store tag -10 ld X (X CDR) # X on 'fun' - ld E (X) # Eval 'fun' +10 push C # Save function pointer + push A # And callback entry + ld (A) E # Store tag + ld E ((Y CDR)) # Eval 'fun' eval - ld (Y I) E # Store in slot - ld E Z - pop Z + pop A + ld (A I) E # Store in slot + pop E # Get function pointer pop Y pop X test E (hex "F000000000000000") # Fit in short number? @@ -1952,9 +1953,9 @@ or E CNT ret end - add Y II # Next entry - add Z "cbl2-cbl1" - cmp Y LispEnd + add A II # Next entry + add C "cbl2-cbl1" + cmp A LispEnd until eq ld Y CbErr jmp errEXYZ