Skip to content

Commit bec0f3b

Browse files
committed
Fix return value of define/defun, reverting the last patch
1 parent 4329367 commit bec0f3b

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

eval.l

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
(defun cadr (s) (car (cdr s)))
22
(defun cddr (s) (cdr (cdr s)))
33

4+
;(defun table-add (m k v) (if m (if (eq (car m) k) (cons k (cons v (cddr m))) (cons (car m) (cons (cadr m) (table-add (cddr m) k v)))) (cons k (cons v nil))))
45
(defun table-add (m k v) (cons k (cons v m)))
56

67
(define gval-table ())
@@ -132,5 +133,5 @@
132133
;(eval (quote (defun func2 (b) (+ b (func 99)))))
133134
;(eval (quote (func2 42)))
134135

135-
(eval (quote (defmacro let (l e) (cons (cons lambda (cons (cons (car l) nil) (cons e nil))) (cons (car (cdr l)) nil)))))
136-
(eval (quote (let (x 42) x)))
136+
;(eval (quote (defmacro let (l e) (cons (cons lambda (cons (cons (car l) nil) (cons e nil))) (cons (car (cdr l)) nil)))))
137+
;(eval (quote (let (x 42) x)))

sedlisp.sed

+8-6
Original file line numberDiff line numberDiff line change
@@ -115,10 +115,11 @@ s/ */ /g
115115

116116
s/(defun \(\S\+\) (\([^()]*\)) \(.*\))/;\1;(lambda (\2) \3)$;/
117117
y/() /{}_/
118-
G
119-
s/^\(;\([^;]*\);[^;]*;.*\n\);\2;[^;]*;\n/\1/
118+
H
119+
x
120+
s/\(.*;\)\(.*\)\(\n[^\n]*\)$/\1\3\2/
120121
x
121-
s/^;[^;]*;\([^;]*\);.*/\1/
122+
s/;.*;\(.*\);/\1/
122123
bloop
123124
}
124125

@@ -496,10 +497,11 @@ s/\n.*//
496497
}
497498

498499
s/(define' '\(\S\+\) \(.*\))/;\1;\2;/
499-
G
500-
s/^\(;\([^;]*\);[^;]*;.*\n\);\2;[^;]*;\n/\1/
500+
H
501+
x
502+
s/\(.*;\)\(.*\)\(\n[^\n]*\)$/\1\3\2/
501503
x
502-
s/^;[^;]*;\([^;]*\);.*/\1/
504+
s/;.*;\(.*\);/\1/
503505
bpop_context
504506
}
505507

0 commit comments

Comments
 (0)