[cl-who-devel] CL-WHO:STR behavior and package nicknames.

Erik Enge erik.enge at gmail.com
Thu Jul 27 20:37:02 UTC 2006


(cl-who 0.6.0, linux, sbcl 0.9.13)

Hi!

In the documentation I find the following example:

(:table :border (+ 1 2)) => (write-string "<table border='" s)
                                             (princ (+ 1 2) s)
                                               (write-string "' />" s)

However, in my implementation I see the following:

CL-USER> (cl-who:with-html-output-to-string (*standard-output*)
                    (:table :border (+ 1 2)))
"<table border='(+ 1 2)' />"

This makes sense because CONSTANTP returns T for that form in SBCL and
NIL in CMUCL.  In which case I think I'm supposed to use the STR
operator:

CL-USER> (cl-who:with-html-output-to-string (*standard-output*)
                   (:table :border (cl-who:str (+ 1 2))))
"<table3 border='3' />"

ESC does pretty much the same thing.  So does FMT I guess except it
doesn't print the border attribute since the format call returns nil,
which I think makes sense.  Is this the expected behavior?  Is there
another way of having (:table :border (+ 1 2)) do what I want (output
<table border='3' />)?

Separately, would you consider adding the nickname "who" (or whatever
you like, just shorter than "cl-who") to the package?

Thanks,
Erik.



More information about the Cl-who-devel mailing list