avoid graph references that are especially uncooperative for Racket's reader

original commit: 5b864346fd692896ed13fca84a974bc990ed7806
This commit is contained in:
Matthew Flatt 2019-04-17 18:32:43 -06:00
parent b9e43c6e78
commit cbd40899f6

View File

@ -1500,15 +1500,15 @@
(let ([ins (cadr a)] [stripped-ins (cddr a)])
(if (eq? stripped-obj stripped-ins)
(begin
(insert-obj-set! ins '#1#)
(insert-obj-set! stripped-ins '#1#))
(insert-obj-set! ins '#1=#1#)
(insert-obj-set! stripped-ins '#2=#2#))
(begin
; remove annotation below mark to avoid redundant annotation
(insert-obj-set! ins (annotation-expression obj))
(insert-obj-set! stripped-ins stripped-obj)))
(xvalues ins stripped-ins))
(let ([ins (cadr a)])
(insert-obj-set! ins (if (eq? obj ins) '#1=#1# obj))
(insert-obj-set! ins (if (eq? obj ins) '#3=#3# obj))
(xvalues ins #f))))])))))
(xdefine (rd-insert n)