change to gathering of posn info
svn: r15538
This commit is contained in:
parent
a8473f08ff
commit
a08acb6aad
|
@ -222,9 +222,7 @@
|
||||||
mark-list returned-value-list render-settings)
|
mark-list returned-value-list render-settings)
|
||||||
#f))
|
#f))
|
||||||
(r:step-was-app? mark-list)
|
(r:step-was-app? mark-list)
|
||||||
(make-posn-info
|
(mark-list->posn-info mark-list))))]
|
||||||
(syntax-position (mark-source (car mark-list)))
|
|
||||||
(syntax-span (mark-source (car mark-list)))))))]
|
|
||||||
|
|
||||||
[(result-exp-break result-value-break)
|
[(result-exp-break result-value-break)
|
||||||
(let ([reconstruct
|
(let ([reconstruct
|
||||||
|
@ -278,9 +276,7 @@
|
||||||
(make-before-after-result
|
(make-before-after-result
|
||||||
left-exps right-exps step-kind
|
left-exps right-exps step-kind
|
||||||
held-posn-info
|
held-posn-info
|
||||||
(make-posn-info
|
(mark-list->posn-info mark-list))))]))]
|
||||||
(syntax-position (mark-source (car mark-list)))
|
|
||||||
(syntax-span (mark-source (car mark-list)))))))]))]
|
|
||||||
|
|
||||||
[(double-break)
|
[(double-break)
|
||||||
;; a double-break occurs at the beginning of a let's
|
;; a double-break occurs at the beginning of a let's
|
||||||
|
@ -296,9 +292,7 @@
|
||||||
(maybe-lift (car reconstruct-result) #f))]
|
(maybe-lift (car reconstruct-result) #f))]
|
||||||
[right-side (map (lambda (exp) (unwind exp render-settings))
|
[right-side (map (lambda (exp) (unwind exp render-settings))
|
||||||
(maybe-lift (cadr reconstruct-result) #t))])
|
(maybe-lift (cadr reconstruct-result) #t))])
|
||||||
(let ([posn-info (make-posn-info
|
(let ([posn-info (mark-list->posn-info mark-list)])
|
||||||
(syntax-position (mark-source (car mark-list)))
|
|
||||||
(syntax-span (mark-source (car mark-list))))])
|
|
||||||
(receive-result
|
(receive-result
|
||||||
(make-before-after-result
|
(make-before-after-result
|
||||||
(append new-finished-list left-side)
|
(append new-finished-list left-side)
|
||||||
|
@ -366,3 +360,12 @@
|
||||||
; skipped-step is used to indicate that the "before" step was skipped.
|
; skipped-step is used to indicate that the "before" step was skipped.
|
||||||
(define-struct skipped-step ())
|
(define-struct skipped-step ())
|
||||||
(define the-skipped-step (make-skipped-step))
|
(define the-skipped-step (make-skipped-step))
|
||||||
|
|
||||||
|
;; produce a posn-info structure based on the information in a mark-list
|
||||||
|
(define (mark-list->posn-info mark-list)
|
||||||
|
(let* ([first-mark-source (mark-source (car mark-list))]
|
||||||
|
[posn (syntax-position first-mark-source)]
|
||||||
|
[span (syntax-span first-mark-source)])
|
||||||
|
(unless posn
|
||||||
|
(error 'mark-list->posn-info "expected a syntax object with a syntax-position, got: ~v" (syntax->datum first-mark-source)))
|
||||||
|
(make-posn-info posn span)))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user