From ... From: Erik Naggum Subject: Re: Warnings? Date: 1998/07/18 Message-ID: <3109736487728819@naggum.no>#1/1 X-Deja-AN: 372599394 References: <35B016DA.780C7D72@interaccess.com> mail-copies-to: never Organization: Naggum Software; +47 8800 8879; http://www.naggum.no Newsgroups: comp.lang.lisp * Paul Dietz | I hope not. I write macros that introduce temporaries like this: | | (let ((temp ...)) | temp | ...) | | so that the compiler does not issue spurious warnings if temp is not | actually used in the rest of the let body. This works under Franz's ACL. ANSI Common Lisp provides an IGNORABLE declaration that should warn neither when the variable is used nor when not used. (it is almost as annoying to have to declare unused variables in MULTIPLE-VALUE-BIND and such as it is to have a compiler whine that you lied to it about not using one of them.) Franz Inc's Allegro Common Lisp [for Unix] has "always" had an EXCL::IGNORE-IF-UNUSED declaration that behaves exactly the same as IGNORABLE is specified to do, and ACL still uses it in the expansion of some macros that inquisitive users may run into, which is why they document it. (4.3 User Guide, Appendix A, item 300.) while I tend to think the declaration syntax in CL is a bit on the verbose and cumbersome side, I still prefer them to hacks like the above. I'd be inclined to remove a line like that if I were to review such code. [pet peeve alert] ... and isn't it about time to demand ANSI CL semantics in the Common Lisps we use? #:Erik -- http://www.naggum.no/spam.html is about my spam protection scheme and how to guarantee that you reach me. in brief: if you reply to a news article of mine, be sure to include an In-Reply-To or References header with the message-ID of that message in it. otherwise, you need to read that page.