[cl-who-devel] Fwd: *downcase-tags-p* for attributes, setting *downcase-tags-p* for compile-time

Dave Cooper clnet at genworks.com
Tue Aug 14 05:08:03 UTC 2007


Hi,

Has anyone else found it necessary to conditionalize the downcasing of
attribute names, like what is currently done with regular tags? For
example in the following bit of X3D:

 (with-html-output (*stream* nil :indent t)
   (:Shape
    (:Appearance
     (:Material :diffuseColor "0 1 0") ... )))

the diffuseColor attribute name needs to have its case preserved.

Second question: the *downcase-tags-p* has to be set to nil at compile
time. This is probably more of a general Lisp question and not so
specific to cl-who, but what is the preferred way of setting a
variable like this to a non-default value for the duration of
compiling a file, similar to what one would do with a special variable
at runtime with

   (let ((*downcase-tags-p* nil))  ...)

or

   (let (*downcase-tags-p*) ...)

?

I am hoping to find something less error-prone (and thread-unsafe) than this:

;; beginning of the file
 (eval-when (compile load eval) (setq *downcase-tags-p* nil))
;;

    ...

;; end of the file
 (eval-when (compile load eval) (setq *downcase-tags-p* t))
;;

Thanks,

 -dave

--
Dave Cooper, Head of Product Development, Genworks International
dave at genworks.com, dave.genworks.com(skype)
USA: 248-327-3253(o), 1-800-731-9220(toll-free)
UK: +44 (0) 191 645 1699



More information about the Cl-who-devel mailing list