From 0b0ecc662b08a8c05c7427fe80f3a2ec8a14f5af Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 16 Mar 2012 12:20:29 -0700 Subject: [PATCH] rustdoc: Escape backslashes --- src/rustdoc/escape_pass.rs | 18 ++++++++++++++++++ src/rustdoc/rustdoc.rc | 3 ++- src/rustdoc/rustdoc.rs | 1 + 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 src/rustdoc/escape_pass.rs diff --git a/src/rustdoc/escape_pass.rs b/src/rustdoc/escape_pass.rs new file mode 100644 index 00000000000..c9dada9026f --- /dev/null +++ b/src/rustdoc/escape_pass.rs @@ -0,0 +1,18 @@ +#[doc = "Escapes text sequences"]; + +export mk_pass; + +fn mk_pass() -> pass { + text_pass::mk_pass("escape", escape) +} + +fn escape(s: str) -> str { + str::replace(s, "\\", "\\\\") +} + +#[test] +fn should_escape_backslashes() { + let s = "\\n"; + let r = escape(s); + assert r == "\\\\n"; +} diff --git a/src/rustdoc/rustdoc.rc b/src/rustdoc/rustdoc.rc index a4df1c7e8ea..111e813b211 100644 --- a/src/rustdoc/rustdoc.rc +++ b/src/rustdoc/rustdoc.rc @@ -38,4 +38,5 @@ mod sort_item_type_pass; mod reexport_pass; mod par; mod page_pass; -mod sectionalize_pass; \ No newline at end of file +mod sectionalize_pass; +mod escape_pass; diff --git a/src/rustdoc/rustdoc.rs b/src/rustdoc/rustdoc.rs index 8c50b492053..ce24f9b1aee 100755 --- a/src/rustdoc/rustdoc.rs +++ b/src/rustdoc/rustdoc.rs @@ -143,6 +143,7 @@ fn run(config: config::config) { tystr_pass::mk_pass(), path_pass::mk_pass(), attr_pass::mk_pass(), + escape_pass::mk_pass(), prune_hidden_pass::mk_pass(), desc_to_brief_pass::mk_pass(), unindent_pass::mk_pass(),