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)))))
|
||||
((compare (rename 'unquote-splicing) (car x))
|
||||
(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)
|
||||
(qq (cadr x) (- d 1)))))
|
||||
((compare (rename 'quasiquote) (car x))
|
||||
|
@ -252,7 +253,10 @@
|
|||
,@(cdr (cddr expr)))))
|
||||
(,(cadr expr) ,@vars)))
|
||||
,@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 cadr bindings))
|
||||
(error "bad let syntax" expr)))
|
||||
|
|
Loading…
Add table
Reference in a new issue