Skip to content

Tracking issue for hoedown -> pulldown regressions #40912

Closed
@steveklabnik

Description

@steveklabnik
Member

In #40338, we landed pulldown-cmark. 🎊

But, given that it's a different renderer, there are bound to be differences. This comment pointed out some obvious problems. These bugs are going to be much easier to clean up than the initial PR was to land, though 👍

To help with this work, I generated docs for both the commit before and the commit of, ran all the HTML files through tidy-html5, and put it up here: steveklabnik/docdiff@ddda1fe the ' -> " changes are expected, but that tool doesn't have the ability to re-write those, so I left them in for now, which, frankly, makes the diff kinda large. working on it.

Here's the stuff we've found so far:

This change will land in tonight (3/29)'s nightly, so we can also poke at them then. I plan on making a users post tomorrow to advertise this bug.

Tagging as a regression so we make sure to take care of it. Marking as P-high and assigning @GuillaumeGomez and @frewsxcv who are both already working at knocking some of this out.

Activity

added
T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.
P-highHigh priority
A-docsArea: Documentation for any part of the project, including the compiler, standard library, and tools
on Mar 29, 2017
ScottAbbey

ScottAbbey commented on Mar 29, 2017

@ScottAbbey
Contributor

In core/intrinsics/fn.overflowing_sub.html.txt (and elsewhere?), hoedown was rendering 2^N as 2<sup>N</sup>, the new version just leaves it as 2^N.

This isn't recognized in the CommonMark spec, probably need to change the source to 2<sup>N</sup> ?

steveklabnik

steveklabnik commented on Mar 29, 2017

@steveklabnik
MemberAuthor

@ScottAbbey agree 100%; we'll have to send in a PR to fix. I wonder what the easiest way of finding all of them is.....

ScottAbbey

ScottAbbey commented on Mar 29, 2017

@ScottAbbey
Contributor

It looks like markdown.rs is squishing things together when a list item spans multiple lines. In pulldown-cmark's html.rs, this would have been a SoftBreak that got turned into a \n, it appears this rendering is just throwing those away. Maybe not all of them? But some?

steveklabnik

steveklabnik commented on Mar 29, 2017

@steveklabnik
MemberAuthor

For the ^ issue; rg -g !*.cpp -g !*.h \^ | rg "///" is giving me pretty reasonable results. Still lots of false positives, but manageable.

ScottAbbey

ScottAbbey commented on Mar 29, 2017

@ScottAbbey
Contributor

In src/libstd/collections/hash/map.rs under "Relevant papers/articles:", it appears the ordered list has been rendered as an unordered list instead.

SergioBenitez

SergioBenitez commented on Mar 30, 2017

@SergioBenitez
Contributor

I'm getting an unexpected panic from rustc that appears to be caused by the transition:

---- src/request/form/from_form_value.rs - request::form::from_form_value::FromFormValue (line 59) stdout ----
	error: unknown start of token: `
 --> <anon>:2:42
  |
2 | A value is validated successfully if the `from_str` method for the given
  |                                          ^

thread 'rustc' panicked at 'Box<Any>', /checkout/src/libsyntax/parse/lexer/mod.rs:81
note: Run with `RUST_BACKTRACE=1` for a backtrace.
thread 'rustc' panicked at 'couldn't compile the test', /checkout/src/librustdoc/test.rs:270

The markdown being referenced in the error looks like this:

/// Rocket implements `FromFormValue` for many standard library types. Their
/// behavior is documented here.
///
///   * **f32, f64, isize, i8, i16, i32, i64, usize, u8, u16, u32, u64**
///
///   **IpAddr, Ipv4Addr, Ipv6Addr, SocketAddrV4, SocketAddrV6, SocketAddr**
///
///     A value is validated successfully if the `from_str` method for the given
///     type returns successfully. Otherwise, the raw form value is returned as
///     the `Err` value.

Edit: I'll open a separate issue for this.

42 remaining items

added 3 commits that reference this issue on Apr 6, 2017

Rollup merge of rust-lang#41112 - ollie27:rustdoc_pull, r=GuillaumeGomez

Rollup merge of rust-lang#41111 - ollie27:docs_markdown_fix, r=Guilla…

Rollup merge of rust-lang#41112 - ollie27:rustdoc_pull, r=GuillaumeGomez

steveklabnik

steveklabnik commented on Apr 7, 2017

@steveklabnik
MemberAuthor

@ollie27 thanks so much!

steveklabnik

steveklabnik commented on Apr 7, 2017

@steveklabnik
MemberAuthor

It looks like this is complete, modulo some small possible changes upstream with regards to footnotes.

Great work everyone! Thank you so much ❤️

bluss

bluss commented on Apr 8, 2017

@bluss
Member

Thanks ❤️

added a commit that references this issue on Jan 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

A-docsArea: Documentation for any part of the project, including the compiler, standard library, and toolsP-highHigh priorityT-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.regression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @steveklabnik@frewsxcv@tshepang@Marwes@SergioBenitez

      Issue actions

        Tracking issue for hoedown -> pulldown regressions · Issue #40912 · rust-lang/rust