sperber(a)informatik.uni-tuebingen.de (Michael Sperber [Mr. Preprocessor]) writes:
Hrvoje> It certainly can. Try it!
Maybe I'm doing the wrong thing. In CLISP:
> (defmacro foo () (cons (make-symbol "bar") (make-symbol
"bar")))
FOO
(macroexpand '(foo))
(#:|bar| . #:|bar|) ;
They sure look the same to me.
Set *PRINT-READABLY* to t, and use an example where it actually makes
a different. For instance:
(defmacro foo () (let ((a (make-symbol "foo")) (b
(make-symbol "foo"))) (list a b a)))
FOO
(macroexpand '(foo))
(#:|foo| #:|foo| #:|foo|) ;
T
(setq *print-readably* t)
T
(macroexpand '(foo))
(#1=#:|foo| #:|foo| #1#) ;
T
XEmacs does this by default, with `print-gensym' set to t. Your
example would print:
(#1=#:bar . #2=#:bar)
--
Hrvoje Niksic <hniksic(a)srce.hr> | Student at FER Zagreb, Croatia
--------------------------------+--------------------------------
Then... his face does a complete change of expression. It goes from
a "Vengeance is mine" expression, to a "What the fuck" blank look.