diff options
| author | Corey Farwell <coreyf@rwell.org> | 2017-09-14 22:32:33 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-09-14 22:32:33 -0400 |
| commit | 9761a8dc14cf38008703ba3370bb7c094d92b550 (patch) | |
| tree | 768c1ad7380dd7a74cdfa43be3389a81b7ad75ac | |
| parent | 4e646ba713241ffa7be4ac2bf6dd3d85a8d82102 (diff) | |
| parent | 55f90877ee9b2bce604c12838155c4b748dea571 (diff) | |
Rollup merge of #44368 - ollie27:rustdoc_pulldown_ids, r=QuietMisdreavus
rustdoc: Don't counts ids twice when using --enable-commonmark cc @GuillaumeGomez r? @QuietMisdreavus
| -rw-r--r-- | src/librustdoc/html/render.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 1e9dd6dc57d..500b75ec659 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -1762,9 +1762,13 @@ fn render_markdown(w: &mut fmt::Formatter, prefix: &str, scx: &SharedContext) -> fmt::Result { - let hoedown_output = format!("{}", Markdown(md_text, RenderType::Hoedown)); // We only emit warnings if the user has opted-in to Pulldown rendering. let output = if render_type == RenderType::Pulldown { + // Save the state of USED_ID_MAP so it only gets updated once even + // though we're rendering twice. + let orig_used_id_map = USED_ID_MAP.with(|map| map.borrow().clone()); + let hoedown_output = format!("{}", Markdown(md_text, RenderType::Hoedown)); + USED_ID_MAP.with(|map| *map.borrow_mut() = orig_used_id_map); let pulldown_output = format!("{}", Markdown(md_text, RenderType::Pulldown)); let mut differences = html_diff::get_differences(&pulldown_output, &hoedown_output); differences.retain(|s| { @@ -1785,7 +1789,7 @@ fn render_markdown(w: &mut fmt::Formatter, pulldown_output } else { - hoedown_output + format!("{}", Markdown(md_text, RenderType::Hoedown)) }; write!(w, "<div class='docblock'>{}{}</div>", prefix, output) |
