
OK. The code of the macro is as follows:

------------------------

;;; Variables are recognized by their first char being a '?'
(defmacro syntactic-variable-p (x)
  `(and (symbolp ',x) (equal '#\? (aref (symbol-name ',x) 0)))) 


------------------------


and examples of its use: (SBCL with SLIME and the GNU Emacs):


------------------------

CL-USER> (syntactic-variable-p ?var1)
T
CL-USER> (syntactic-variable-p ?var-foo)
T
CL-USER> (syntactic-variable-p non-var1)
NIL
CL-USER> (syntactic-variable-p nonvar-foobarbaz)
NIL
CL-USER> 

------------------------

but however: (CCL w/ SLIME  and the GNU Emacs:)

------------------------


CL-USER> (syntactic-variable-p ?var)
T
CL-USER> (syntactic-variable-p nonvar1)
NIL
CL-USER> (syntactic-variable-p foobarbaz)
NIL
CL-USER> (cond ((syntactic-variable-p ?x) (print 'True))
	       (t (print 'Nontrue)))

TRUE 
TRUE
CL-USER> 

------------------------


so it seems that my LISP program has somehow corrupted the virtual
memory, which is giving phantom "errors".



kind regards, Antti J Ylikoski
