[plt-scheme] possible display issues: mzscheme and emacs
Hallo,
> Are there known issues with displaying lists from mzscheme-200 under
> emacs? I am (for example) seeing displays such as
>
> ((#0=(a b) #1=(c a b) #2=(d) a b c d e) (#0# #1# #2# f))
>
> instead of the expected
>
> (((a b) (c a b) (d) a b c d e) ((a b) (c a b) (d) f))
>
> resulting from
>
> (define s1 '((a b) (c a b) (d)))
>
> (define s2 '((a b c d e) (f)))
>
> (map (lambda (x) (append s1 x)) s2)
>
>
>
> This occurs under Redhat 7.3 (mzscheme-200, GNU emacs 21.2.1)
> as well as under NetBSD 1.5.2 (mzscheme-200alpha19, GNU emacs
> 20.7.1).
Same error here on win98, cygwin, emacs 21.2.1 and mzscheme-v200.
Correct printing with mzscheme-v200alpha12 and mzscheme-v103.
Btw, besides looking somewhat ugly (why employ infix-syntax, anyway?)
it seems to be a display-only-problem and we get some additional
information for free.
For example, the following may fool drschemers, only.
Sebastian
--------------------------------------------------------------------
;;;; Sebastians silly late-night show:
(define funny-hat '(((a b) (c a b) (d) a b c d e) ((a b) (c a b) (d)
f)))
(define s1 '((a b) (c a b) (d)))
(define s2 '((a b c d e) (f)))
(define magic-hat (map (lambda (x) (append s1 x)) s2))
;;;; both hats look exactly the same (true wizards don't need tricks)
funny-hat
;; ==> (((a b) (c a b) (d) a b c d e) ((a b) (c a b) (d) f))
magic-hat
;; ==> (((a b) (c a b) (d) a b c d e) ((a b) (c a b) (d) f))
;;;; put one rabbit into each hat
(set-car! (caar funny-hat) 'rabbit)
(set-car! (caar magic-hat) 'rabbit)
;;;; pull rabbit out of funny-hat
funny-hat
;; ==> (((rabbit b) (c a b) (d) a b c d e) ((a b) (c a b) (d) f))
;;;; pull two identical looking twin-rabbits out of magic hat
magic-hat
;; ==> (((rabbit b) (c a b) (d) a b c d e) ((rabbit b) (c a b) (d) f))
---------------------------------------------------------------------