[cl-typesetting-devel] Top-level layout, multi-page tables, andother contrib

Marc Battyani marc.battyani at fractalconcept.com
Fri Mar 12 22:08:32 UTC 2004


"Dmitri Ivanov" <divanov at aha.ru> writes:

Hi Dmitri,

#|
Sorry for my very late replies. I'm very interested by all this, but I still
have an incredible amount of workload (this week-end, I have 2 PCB to design
and 3 functionalities to add to a web application)]
|#

> IMHO as matter of convenience, the put-string and verbatim functions
should:
> - if the argument were null, do nothing;
> - if the argument were not a string, convert to string by means
> princ-to-string (or some customizable?).

The method to transform a lisp element into some cl-typesetting
representation is #'insert-stuff.
#'put-string is an utility function for #'insert-stuff of a string. But
insert stuff works at macro-expansion time. There is probably a need for a
run time #'typeset-object generic function.

> For completeness, NIL should not be output by default, so I suggest:
> (defmethod insert-stuff ((obj null))
>     (declare (ignore obj)))

This will probably not work because obj will not be nil at compile time so
the following method will be called. And this will output a nil at run time
(defmethod insert-stuff ((obj symbol))
  `(put-string (format nil "~a" ,obj)))

#'typeset-object should be used instead of put-string (with no format).

Marc





More information about the cl-typesetting-devel mailing list