cs: repair make-sibling-inspector

This commit is contained in:
Matthew Flatt 2019-04-30 17:11:42 -06:00
parent 164442ab26
commit 5f53c91c6e
2 changed files with 9 additions and 3 deletions

View File

@ -647,6 +647,11 @@
(test #f inspector-superior? (make-inspector) (make-inspector))
(test #t inspector-superior? (current-inspector) (make-inspector (make-inspector (make-inspector))))
(test #t inspector? (make-sibling-inspector))
(test #f inspector-superior? (current-inspector) (make-sibling-inspector))
(test #f inspector-superior? (make-sibling-inspector) (current-inspector))
(test #t inspector-superior? (current-inspector) (make-sibling-inspector (make-inspector)))
;; ------------------------------------------------------------
;; Property accessor errors

View File

@ -133,10 +133,10 @@
(define/who make-sibling-inspector
(case-lambda
[() (make-sibling-inspector (current-inspector))]
[() (make-sibling-inspector (|#%app| current-inspector))]
[(i)
(check who inspector? i)
(make-inspector (inspector-parent i))]))
(new-inspector (inspector-parent i))]))
(define/who (inspector-superior? sup-insp sub-insp)
(check who inspector? sup-insp)
@ -145,7 +145,8 @@
#f
(let ([parent (inspector-parent sub-insp)])
(or (eq? parent sup-insp)
(inspector-superior? sup-insp parent)))))
(and parent
(inspector-superior? sup-insp parent))))))
(define (inspector-ref rtd)
(getprop (record-type-uid rtd) 'inspector none))