Path: utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!tut.cis.ohio-state.edu!zaphod.mps.ohio-state.edu!brutus.cs.uiuc.edu!psuvax1!rutgers!njin!princeton!phoenix!eliot From: eliot@phoenix.Princeton.EDU (Eliot Handelman) Newsgroups: comp.lang.lisp Subject: Read macro behavior Message-ID: <12384@phoenix.Princeton.EDU> Date: 22 Dec 89 21:46:13 GMT Reply-To: eliot@phoenix.Princeton.EDU (Eliot Handelman) Organization: Princeton University, NJ Lines: 27 Here's a little problem: (set-macro-character #\$ #'(lambda (stream char) (declare (ignore char)) (get (read stream t nil t) 'foo))) ;;; S is a structure printed as # (setf (get :blah 'foo) (make-s)) $:blah ;; In Lucid 2.0 and Kcl: ==> # ;; in Franz (on the NeXT): ==> error, because it tries to eval #. It appears that Franz is passing on the results of the readmacro to eval, whereas Lucid and KCl aren't. Franz says they're right, what accounts for the disparate behavior then? --eliot