1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-04-09 16:40:38 +00:00

Add a little to hook_expr

This commit is contained in:
David Schmenk 2024-07-22 12:06:19 -07:00
parent a5d2fdc17b
commit e9bde21346
3 changed files with 4 additions and 21 deletions

View File

@ -285,7 +285,7 @@ def parse_cmdline#0
fin
end
def hookfn
def hookfn(expr)
if conio:keypressed() == $83 // CTRL-C
conio:getkey() // Clear KB
puts("\n^C\n")
@ -295,7 +295,7 @@ def hookfn
fin
throw(@break_repl, FALSE)
fin
return 0
return expr
end
//

View File

@ -27,7 +27,7 @@
'WHILE
(WHILELOOP 1 100)
'UNTIL
(UNTILLOOP 1 100)
(UNTILLOOP 1 99)
'PROG
(PROGLOOP 1 100)
'FOR

View File

@ -735,17 +735,6 @@ end
def apply_args(curl, expr, argvals)#2 // curl, expr
var argsyms, arglist, pairlist, argbase
// if expr and expr->type <> CONS_TYPE
// if expr->type & TYPE_MASK == SYM_TYPE
// if expr=>natv
// return curl, expr=>natv(expr, argvals) // Native function
// elsif expr=>lambda // DEFINEd lambda S-expression
// expr = expr=>lambda
// else
// expr = assoc(expr)
// fin
// fin
// fin
if !expr or expr=>car <> sym_lambda
puts("Invalid LAMBDA expression: "); print_expr(expr); putln
return NULL, NULL
@ -864,13 +853,10 @@ end
export def eval_expr(expr)#1
var alist_enter, curl, expr_car
if hook_eval; hook_eval(); fin
if hook_eval; expr = hook_eval(expr); fin
if gc_pull > GC_TRIGGER; gc; fin
alist_enter = assoc_list
curl = NULL // Current lambda
if trace
puts("EVAL: "); print_expr(expr); putln
fin
while expr
if expr->type == CONS_TYPE
//
@ -949,9 +935,6 @@ export def eval_expr(expr)#1
fin
loop
assoc_list = alist_enter // Unwind assoc_list
if trace
puts("RESULT: "); print_expr(expr); putln
fin
return expr
end