<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  
</head>
<body text="#000000" bgcolor="#ffffff">
<br>
<br>
Gary Byers wrote:
<blockquote type="cite" cite="mid:alpine.BSF.2.00.0910211834160.18838@abq.clozure.com">
  <pre wrap="">
On Mon, 19 Oct 2009, Tobias C. Rittweiler wrote:

  </pre>
  <blockquote type="cite">
    <pre wrap="">I think the following

 (let ((x :special))
   (declare (special x))
   (symbol-macrolet ((x :symbol-macro))
     (values x (locally (declare (special x)) x))))

should return

 :SYMBOL-MACRO, :SPECIAL

It currently returns

 :SYMBOL-MACRO, :SYMBOL-MACRO
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Section 3.1.2.1.1 (everyone's favorite section !) uses some
unfortunate language which seems to suggest that symbol-macro
definitions aren't subject to shadowing - "... if there is a binding of
the symbol as a symbol-macro ..." rather than something like "... if
there is an unshadowed binding ..." -  but the dictionary entry for
SYMBOL-MACROLET explictly discusses the notion that bindings established
by SYMBOL-MACROLET are indeed subject to shadowing amd are visible whenever
lexical bindings of the symbol would be visible (e.g., not visible in cases
like your example).  That seeming contradiction leaves a little bit of
somewhat reasonable doubt as to what the spec actually says, but I think
that I agree with you based on a preponderance of evidence.
  </pre>
</blockquote>
+1<br>
<br>
</body>
</html>