From 8f5dec364c8d0208e2a080cc3a9a6fdea87d9d8d Mon Sep 17 00:00:00 2001 From: dlichteblau Date: Mon, 28 Aug 2006 09:04:51 +0000 Subject: [PATCH] fix importing attributes to -really- copy all their slots --- dom/dom-impl.lisp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/dom/dom-impl.lisp b/dom/dom-impl.lisp index 4b078fd..3d04535 100644 --- a/dom/dom-impl.lisp +++ b/dom/dom-impl.lisp @@ -1349,6 +1349,7 @@ (import-node-internal 'attribute document node t + :specified-p (dom:specified node) :name (dom:name node) :namespace-uri (dom:namespace-uri node) :local-name (dom:local-name node) @@ -1371,14 +1372,10 @@ (setf (slot-value attributes 'element) result) (dolist (attribute (dom:items (dom:attributes node))) (when (or (dom:specified attribute) *clone-not-import*) - (if (dom:namespace-uri attribute) - (dom:set-attribute-ns result - (dom:namespace-uri attribute) - (dom:local-name attribute) - (dom:value attribute)) - (dom:set-attribute result - (dom:name attribute) - (dom:value attribute))))) + (let ((attr (dom:import-node document attribute t))) + (if (dom:namespace-uri attribute) + (dom:set-attribute-node-ns result attr) + (dom:set-attribute-node result attr))))) (add-default-attributes result) result))