Subject: Re: special in cmucl
From: rpw3@rpw3.org (Rob Warnock)
Date: Tue, 04 Jan 2005 03:57:00 -0600
Newsgroups: comp.lang.lisp
Message-ID: <KL-dnWqba7Px9UfcRVn-tg@speakeasy.net>
Harald Hanche-Olsen  <hanche@math.ntnu.no> wrote:
+---------------
| + rpw3@rpw3.org (Rob Warnock):
| | Here's what one implementation [mine] of DEFLEX generates:
| |     > (macroexpand '(deflex foo 13))
| |     (PROGN
| |      (DEFPARAMETER *STORAGE-FOR-DEFLEX-VAR-FOO* 13)
| |      (DEFINE-SYMBOL-MACRO FOO *STORAGE-FOR-DEFLEX-VAR-FOO*))
| 
| Why the extra special?  What is wrong with the following?
|   (define-symbol-macro foo (symbol-value 'foo))
+---------------

That works fine in CMUCL, but for some reason it blew up in CLISP
[at least, back in version 2.29, which was what I had when I was
writing DEFLEX]:

    [1]> (define-symbol-macro foo (symbol-value 'foo))
    FOO
    [2]> (setf foo 17)			; or SETQ, doesn't matter

    *** - Lisp stack overflow. RESET
    [3]> 


-Rob

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607