Merge pull request #3258 from no382001/fix_load_xml/3

load_xml was returning a single term instead of a list of nodes
This commit is contained in:
Mark Thom
2026-03-14 22:46:03 -07:00
committed by GitHub
3 changed files with 20 additions and 1 deletions

View File

@@ -8466,7 +8466,12 @@ impl Machine {
match roxmltree::Document::parse(&string.as_str()) {
Ok(doc) => {
let result = self.xml_node_to_term(doc.root_element())?;
unify!(self.machine_st, self.machine_st.registers[2], result);
let list = sized_iter_to_heap_list(
&mut self.machine_st.heap,
1, // just one root element
std::iter::once(result),
)?;
unify!(self.machine_st, self.machine_st.registers[2], list);
}
_ => {
self.machine_st.fail = true;