You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi,
When using pg/xml on a large file I get a "ill formed xml" message, see attached file. Sorry I did not manage to minimize the example yet. I will try.
P.
I could not find an error in the text. Emacs nXML mode does not report an error. Also, I used the XML validator at https://www.w3schools.com/xml/xml_validator.asp, and it reports no errors.
It is possible that the error message was caused by some other issue, which I'll have to investigate.
I ran the Elisp/libxml parser on that string and it successfully created an S-exp. In fact, I called the function I wrote that wraps the parser, which deletes the contents of the buffer if the parse is successful. After parsing, I verified that the buffer size is 0.
That message box is guarded by a check for a nonempty buffer. So I don't understand why that message box appears.
Actually, it's not clear to me why a race might happen, because
after the XML is parsed, the buffer is erased, which prevents the "ill-formed" message from appearing
the buffer is filled by code called from the filter function, which cannot be called until Emacs is waiting
so the code that parses the XML cannot be called again while it is pending
In any case, I created #341, which uses temp buffers for XML parsing, instead of a dedicated buffer, if in fact the buffer gets additional data, somehow. If the issue can be reproduced, we can see if this fixes the problem.
Activity
Matafou commentedon Mar 3, 2018
@psteckler can you just see what part of the xml is wrong please?
psteckler commentedon Mar 3, 2018
I could not find an error in the text. Emacs
nXMLmode does not report an error. Also, I used the XML validator at https://www.w3schools.com/xml/xml_validator.asp, and it reports no errors.It is possible that the error message was caused by some other issue, which I'll have to investigate.
psteckler commentedon Mar 5, 2018
I ran the Elisp/libxml parser on that string and it successfully created an S-exp. In fact, I called the function I wrote that wraps the parser, which deletes the contents of the buffer if the parse is successful. After parsing, I verified that the buffer size is 0.
That message box is guarded by a check for a nonempty buffer. So I don't understand why that message box appears.
Is the problem reproducible?
psteckler commentedon Mar 5, 2018
Maybe there's a race condition:
psteckler commentedon Mar 5, 2018
Working on a fix for that possibility.
psteckler commentedon Mar 5, 2018
Actually, it's not clear to me why a race might happen, because
In any case, I created #341, which uses temp buffers for XML parsing, instead of a dedicated buffer, if in fact the buffer gets additional data, somehow. If the issue can be reproduced, we can see if this fixes the problem.