From ... Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!lnsnews.lns.cornell.edu!newsstand.cit.cornell.edu!news.stealth.net!news.stealth.net!uio.no!nntp.uio.no!ifi.uio.no!not-for-mail From: Erik Naggum Newsgroups: comp.lang.lisp Subject: Re: symbol in macro Date: 31 Aug 2002 10:36:22 +0000 Organization: Naggum Software, Oslo, Norway Lines: 18 Message-ID: <3239778982119441@naggum.no> References: <3239763128549848@naggum.no> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: maud.ifi.uio.no 1030790183 2158 129.240.64.16 (31 Aug 2002 10:36:23 GMT) X-Complaints-To: abuse@ifi.uio.no NNTP-Posting-Date: 31 Aug 2002 10:36:23 GMT Mail-Copies-To: never User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Xref: archiver1.google.com comp.lang.lisp:39212 * cubicle584@mailandnews.com (Software Scavenger) | Whatever package the macro is expanded in, it expects to find a specific | symbol in that package. It can't simply refer to it directly, because it | doesn't know what package it's in until it's expanded. This sounds like a conceptual mistake of some kind, but if you really want to reference a symbol by name in the current package at the time of the expansion, something like this should help you get started. (defmacro ... (let ((symbol (intern (symbol-name 'symbol) *package*))) `(... ,symbol ...)) -- Erik Naggum, Oslo, Norway Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.