I'm using a very recent Mercurial clone (c4cd3e60e80f) of the wave-
protocol sources.  Prior to the most recent batch of updates, I could
create an operation like the following:

elementStart("p", { })
retain(14)
elementEnd()

This would be applied to a document which already contains 14
components.  This worked fine in previous versions, resulting in a
document which contained those original 14 components wrapped in a <p>
element.

Unfortunately, the latest batch of updates (for GWT compatibility)
seem to have broken this case.  Now I get the following exception:

java.lang.IllegalStateException: Attempt to build ill-formed operation
(ViolationCollector[1: ill-formed: retain inside insert or delete at
original document position 0 / resulting document position 1]): << p
{}; __14; >>;
        at
org.waveprotocol.wave.model.document.operation.impl.BufferedDocOpImpl.checkWellformedness
(BufferedDocOpImpl.java:84)
        at
org.waveprotocol.wave.model.document.operation.impl.BufferedDocOpImpl.create
(BufferedDocOpImpl.java:59)
        at
org.waveprotocol.wave.model.document.operation.impl.UncheckedDocOpBuffer.finishChecked
(UncheckedDocOpBuffer.java:74)
        at
org.waveprotocol.wave.model.document.operation.impl.DocOpBuffer.finish
(DocOpBuffer.java:35)
        at
org.waveprotocol.wave.model.document.operation.impl.DocOpUtil.buffer
(DocOpUtil.java:56)
        ...

XML operations which do not retain() between startElement and
endElement don't seem to have any problems.  Is this indeed a
regression, or was this behavior never supposed to be permissible?

Daniel

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Wave 
Protocol" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/wave-protocol?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to