Repository navigation
Conversation
Error::as_string() only showed line numbers for errors from the XML parser domain (XML_ERR_FROM_PARSER). HTML parser errors use a different domain (XML_ERR_FROM_HTML), so their line numbers were silently dropped even though libxml2 populates them in the xmlError struct. Add a fallback branch that displays "line N:" for any error that has a line number but no file, regardless of domain. The existing "Entity: line N" format for XML parser errors is preserved unchanged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
HTML parser errors now include line numbers in their stringified output.
Why
Error::as_string()only showed line numbers for errors from the XML parser domain (XML_ERR_FROM_PARSER). HTML parser errors useXML_ERR_FROM_HTML(domain 5), so their line numbers were silently dropped — even though libxml2 populates them in thexmlErrorstruct. This made debugging HTML parsing errors unnecessarily difficult (GH #233).How
Added a fallback
elsifbranch inas_string()that displaysline N:for any error with a line number but no file, regardless of domain. The existingEntity: line Nformat for XML parser domain errors is preserved unchanged.Before:
After:
Testing
t/46err_html_line.tverifies HTML errors include line numbers and XML error format is unchangedQuality Report
Changes: 2 files changed, 91 insertions(+)
Code scan: clean
Tests: passed (OK)
Branch hygiene: clean
Generated by Kōan