Avoid sharing State when re-parsing markdown sections
This commit is contained in:
parent
569ef13ac9
commit
599d8b560b
1 changed files with 8 additions and 6 deletions
|
|
@ -129,12 +129,6 @@ impl Content {
|
|||
|
||||
// Re-parse incomplete sections if new references are available
|
||||
if !self.incomplete.is_empty() {
|
||||
let mut state = State {
|
||||
leftover: String::new(),
|
||||
references: self.state.references.clone(),
|
||||
highlighter: None,
|
||||
};
|
||||
|
||||
self.incomplete.retain(|index, section| {
|
||||
if self.items.len() <= *index {
|
||||
return false;
|
||||
|
|
@ -147,11 +141,19 @@ impl Content {
|
|||
.retain(|link| !self.state.references.contains_key(link));
|
||||
|
||||
if broken_links_before != section.broken_links.len() {
|
||||
let mut state = State {
|
||||
leftover: String::new(),
|
||||
references: self.state.references.clone(),
|
||||
highlighter: None,
|
||||
};
|
||||
|
||||
if let Some((item, _source, _broken_links)) =
|
||||
parse_with(&mut state, §ion.content).next()
|
||||
{
|
||||
self.items[*index] = item;
|
||||
}
|
||||
|
||||
drop(state);
|
||||
}
|
||||
|
||||
!section.broken_links.is_empty()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue