mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-18 21:29:19 +02:00
propagate source info manually in let (issue #835)
This commit is contained in:
parent
42332bb04f
commit
3c4ace142c
1 changed files with 6 additions and 2 deletions
|
@ -208,7 +208,8 @@
|
||||||
(qq (cadr x) (- d 1)))))
|
(qq (cadr x) (- d 1)))))
|
||||||
((compare (rename 'unquote-splicing) (car x))
|
((compare (rename 'unquote-splicing) (car x))
|
||||||
(if (<= d 0)
|
(if (<= d 0)
|
||||||
(list (rename 'cons) (qq (car x) d) (qq (cdr x) d))
|
(list (rename 'cons-source) (qq (car x) d) (qq (cdr x) d)
|
||||||
|
(list (rename 'quote) x))
|
||||||
(list (rename 'list) (list (rename 'quote) 'unquote-splicing)
|
(list (rename 'list) (list (rename 'quote) 'unquote-splicing)
|
||||||
(qq (cadr x) (- d 1)))))
|
(qq (cadr x) (- d 1)))))
|
||||||
((compare (rename 'quasiquote) (car x))
|
((compare (rename 'quasiquote) (car x))
|
||||||
|
@ -252,7 +253,10 @@
|
||||||
,@(cdr (cddr expr)))))
|
,@(cdr (cddr expr)))))
|
||||||
(,(cadr expr) ,@vars)))
|
(,(cadr expr) ,@vars)))
|
||||||
,@vals)
|
,@vals)
|
||||||
`((,(rename 'lambda) ,vars ,@(cddr expr)) ,@vals)))
|
((lambda (res)
|
||||||
|
(pair-source-set! res (pair-source expr))
|
||||||
|
res)
|
||||||
|
`((,(rename 'lambda) ,vars ,@(cddr expr)) ,@vals))))
|
||||||
(map car bindings)
|
(map car bindings)
|
||||||
(map cadr bindings))
|
(map cadr bindings))
|
||||||
(error "bad let syntax" expr)))
|
(error "bad let syntax" expr)))
|
||||||
|
|
Loading…
Add table
Reference in a new issue