Skip to content

Commit 6c5c1ee

Browse files
committed
rustdoc: Don't strip #-lines if notrust
Other languages may not want to have a leading #-line get stripped.
1 parent 19dc574 commit 6c5c1ee

File tree

1 file changed

+9
-15
lines changed

1 file changed

+9
-15
lines changed

src/librustdoc/html/markdown.rs

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -153,35 +153,25 @@ local_data_key!(test_idx: Cell<uint>)
153153
local_data_key!(pub playground_krate: Option<String>)
154154

155155
pub fn render(w: &mut fmt::Formatter, s: &str, print_toc: bool) -> fmt::Result {
156-
extern fn block(ob: *mut hoedown_buffer, text: *const hoedown_buffer,
156+
extern fn block(ob: *mut hoedown_buffer, orig_text: *const hoedown_buffer,
157157
lang: *const hoedown_buffer, opaque: *mut libc::c_void) {
158158
unsafe {
159-
if text.is_null() { return }
159+
if orig_text.is_null() { return }
160160

161161
let opaque = opaque as *mut hoedown_html_renderer_state;
162162
let my_opaque: &MyOpaque = &*((*opaque).opaque as *const MyOpaque);
163-
slice::raw::buf_as_slice((*text).data, (*text).size as uint, |text| {
163+
slice::raw::buf_as_slice((*orig_text).data, (*orig_text).size as uint,
164+
|text| {
164165
let origtext = str::from_utf8(text).unwrap();
165166
debug!("docblock: ==============\n{}\n=======", text);
166-
let mut lines = origtext.lines().filter(|l| {
167-
stripped_filtered_line(*l).is_none()
168-
});
169-
let text = lines.collect::<Vec<&str>>().connect("\n");
170-
171-
let buf = hoedown_buffer {
172-
data: text.as_bytes().as_ptr(),
173-
size: text.len() as libc::size_t,
174-
asize: text.len() as libc::size_t,
175-
unit: 0,
176-
};
177167
let rendered = if lang.is_null() {
178168
false
179169
} else {
180170
slice::raw::buf_as_slice((*lang).data,
181171
(*lang).size as uint, |rlang| {
182172
let rlang = str::from_utf8(rlang).unwrap();
183173
if LangString::parse(rlang).notrust {
184-
(my_opaque.dfltblk)(ob, &buf, lang,
174+
(my_opaque.dfltblk)(ob, orig_text, lang,
185175
opaque as *mut libc::c_void);
186176
true
187177
} else {
@@ -190,6 +180,10 @@ pub fn render(w: &mut fmt::Formatter, s: &str, print_toc: bool) -> fmt::Result {
190180
})
191181
};
192182

183+
let mut lines = origtext.lines().filter(|l| {
184+
stripped_filtered_line(*l).is_none()
185+
});
186+
let text = lines.collect::<Vec<&str>>().connect("\n");
193187
if !rendered {
194188
let mut s = String::new();
195189
let id = playground_krate.get().map(|krate| {

0 commit comments

Comments
 (0)