diff --git a/src/librustdoc/html/markdown.rs b/src/librustdoc/html/markdown.rs
index 0b098fb14f190..b7e50ddd804ba 100644
--- a/src/librustdoc/html/markdown.rs
+++ b/src/librustdoc/html/markdown.rs
@@ -427,12 +427,15 @@ pub fn render(w: &mut fmt::Formatter,
looper(parser, &mut content, Some(x), toc_builder, shorter, &mut None);
}
}
+ if shorter.is_compact() {
+ break
+ }
}
buffer.push_str(&format!("
{}", content));
}
fn list(parser: &mut ParserWrapper, buffer: &mut String, toc_builder: &mut Option,
- shorter: MarkdownOutputStyle) {
+ shorter: MarkdownOutputStyle, is_ordered_list: bool) {
debug!("List");
let mut content = String::new();
while let Some(event) = parser.next() {
@@ -445,8 +448,13 @@ pub fn render(w: &mut fmt::Formatter,
looper(parser, &mut content, Some(x), toc_builder, shorter, &mut None);
}
}
+ if shorter.is_compact() {
+ break
+ }
}
- buffer.push_str(&format!("", content));
+ buffer.push_str(&format!("<{0}>{1}{0}>",
+ if is_ordered_list { "ol" } else { "ul" },
+ content));
}
fn emphasis(parser: &mut ParserWrapper, buffer: &mut String,
@@ -516,8 +524,8 @@ pub fn render(w: &mut fmt::Formatter,
Event::Start(Tag::BlockQuote) => {
blockquote(parser, buffer, toc_builder, shorter);
}
- Event::Start(Tag::List(_)) => {
- list(parser, buffer, toc_builder, shorter);
+ Event::Start(Tag::List(x)) => {
+ list(parser, buffer, toc_builder, shorter, x.is_some());
}
Event::Start(Tag::Emphasis) => {
emphasis(parser, buffer, toc_builder, shorter, id);
diff --git a/src/test/rustdoc/test-lists.rs b/src/test/rustdoc/test-lists.rs
new file mode 100644
index 0000000000000..71a826a2bed7f
--- /dev/null
+++ b/src/test/rustdoc/test-lists.rs
@@ -0,0 +1,32 @@
+// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 or the MIT license
+// , at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name = "foo"]
+
+// ignore-tidy-linelength
+
+// @has foo/fn.f.html
+// @has - "pub fn f()
- list
- fooooo
- x
- foo
"
+/// 1. list
+/// 1. fooooo
+/// 2. x
+/// 2. foo
+pub fn f() {}
+
+// @has foo/fn.foo2.html
+// @has - "
pub fn foo2()
- normal list
sub list
new elem still same elem
and again same elem!
- new big elem
"
+/// * normal list
+/// * sub list
+/// * new elem
+/// still same elem
+///
+/// and again same elem!
+/// * new big elem
+pub fn foo2() {}
\ No newline at end of file