Hans,<br>
<br>
In order to compile bknr/src/web/handlers.lisp with the latest cxml and
sbcl, I either have to apply the change from svn to
with-element macro in cxml/xml/unparse.lisp:<br>
<br>
(defmacro with-element (qname &body body)<br>
;; XXX Statt qname soll man in zukunft auch mal (lname prefix) angeben<br>
;; koennen. Hat aber Zeit bis DOM 2.<br>
- (when (listp qname)<br>
- (destructuring-bind (n) qname<br>
- (setf qname n)))<br>
`(invoke-with-element (lambda () ,@body) ,qname))<br>
<br>
<br>
or change the handlers.lisp this way:<br>
<br>
(defmethod handle-object ((handler xml-object-list-handler) object req)<br>
- (cxml:with-element (xml-object-list-handler-toplevel-element-name handler)<br>
- (dolist (object (object-list-handler-get-objects handler object req))<br>
- (object-list-handler-show-object-xml handler object req))))<br>
+ (let ((element-name (xml-object-list-handler-toplevel-element-name handler)))<br>
+ (cxml:with-element element-name<br>
+ (dolist (object (object-list-handler-get-objects handler object req))<br>
+ (object-list-handler-show-object-xml handler object req)))))<br>
<br>
In other words move the evaluation of
xml-object-list-handler-toplevel-element-name out of the macro
expansion. I think the two changes are equivalent but the second one
has the advantage not to require to maintain changes to the third
party library. Am I missing something? <br>
<br>
Tchavdar<br>