Skip to content

Commit 393a199

Browse files
authored
Rollup merge of #47855 - ollie27:rustdoc_hoedown_link_title, r=QuietMisdreavus
rustdoc: Fix link title rendering with hoedown The link title needs to be HTML escaped. It was broken by #47046. r? @QuietMisdreavus
2 parents b83fb0f + ae98f4c commit 393a199

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

src/librustdoc/html/markdown.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -872,7 +872,7 @@ pub fn render(w: &mut fmt::Formatter,
872872
let link_out = format!("<a href=\"{link}\"{title}>{content}</a>",
873873
link = link_buf,
874874
title = title.map_or(String::new(),
875-
|t| format!(" title=\"{}\"", t)),
875+
|t| format!(" title=\"{}\"", Escape(&t))),
876876
content = content.unwrap_or(String::new()));
877877

878878
unsafe { hoedown_buffer_put(ob, link_out.as_ptr(), link_out.len()); }

src/test/rustdoc/link-title-escape.rs

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
// compile-flags: -Z unstable-options --disable-commonmark
12+
13+
#![crate_name = "foo"]
14+
15+
//! hello [foo]
16+
//!
17+
//! [foo]: url 'title & <stuff> & "things"'
18+
19+
// @has 'foo/index.html' 'title &amp; &lt;stuff&gt; &amp; &quot;things&quot;'

0 commit comments

Comments
 (0)