From: Florian Brosch Date: Tue, 7 Feb 2012 15:20:12 +0000 (+0100) Subject: gtkdoc-renderer: Fix broken escapes X-Git-Tag: 0.37.1~3^2~211 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d4b3f1bf94bc38cf305aa89f10bf5ca09af0e3e0;p=thirdparty%2Fvala.git gtkdoc-renderer: Fix broken escapes --- diff --git a/src/libvaladoc/gtkdocrenderer.vala b/src/libvaladoc/gtkdocrenderer.vala index 332dd3322..eb4fe6840 100644 --- a/src/libvaladoc/gtkdocrenderer.vala +++ b/src/libvaladoc/gtkdocrenderer.vala @@ -312,59 +312,75 @@ public class Valadoc.GtkdocRenderer : ContentRenderer { for (i = 0; chr != '\0' ; i++, chr = content[i]) { switch (chr) { - case '#': - writer.text (content.substring (lpos, i-lpos)); - writer.simple_tag ("#"); + case '<': + writer.raw_text (content.substring (lpos, i-lpos)); + writer.raw_text ("<"); lpos = i+1; break; - case '%': - writer.text (content.substring (lpos, i-lpos)); - writer.simple_tag ("%"); + + case '>': + writer.raw_text (content.substring (lpos, i-lpos)); + writer.raw_text (">"); lpos = i+1; break; - case '@': - writer.text (content.substring (lpos, i-lpos)); - writer.simple_tag ("@"); + + case '"': + writer.raw_text (content.substring (lpos, i-lpos)); + writer.raw_text ("""); lpos = i+1; break; - case '(': - writer.text (content.substring (lpos, i-lpos)); - writer.simple_tag ("("); + + case '\'': + writer.raw_text (content.substring (lpos, i-lpos)); + writer.raw_text ("'"); lpos = i+1; break; - case ')': - writer.text (content.substring (lpos, i-lpos)); - writer.simple_tag (")"); + + case '&': + writer.raw_text (content.substring (lpos, i-lpos)); + writer.raw_text ("&"); lpos = i+1; break; - case '"': - writer.text (content.substring (lpos, i-lpos)); - writer.simple_tag ("""); + + case '#': + writer.raw_text (content.substring (lpos, i-lpos)); + writer.raw_text ("#"); lpos = i+1; break; - case '\n': - writer.text (content.substring (lpos, i-lpos)); - writer.simple_tag ("br"); + + case '%': + writer.raw_text (content.substring (lpos, i-lpos)); + writer.raw_text ("%"); lpos = i+1; break; - case '<': - writer.text (content.substring (lpos, i-lpos)); - writer.text ("<"); + + case '@': + writer.raw_text (content.substring (lpos, i-lpos)); + writer.raw_text ("@"); lpos = i+1; break; - case '>': - writer.text (content.substring (lpos, i-lpos)); - writer.text (">"); + + case '(': + writer.raw_text (content.substring (lpos, i-lpos)); + writer.raw_text ("("); lpos = i+1; break; - case '&': - writer.text (content.substring (lpos, i-lpos)); - writer.text ("&"); + + case ')': + writer.raw_text (content.substring (lpos, i-lpos)); + writer.raw_text (")"); + lpos = i+1; + break; + + case '\n': + writer.raw_text (content.substring (lpos, i-lpos)); + writer.simple_tag ("br"); lpos = i+1; break; } } - writer.text (content.substring (lpos, i-lpos)); + + writer.raw_text (content.substring (lpos, i-lpos)); } public void append_since (Gee.List taglets) { diff --git a/src/libvaladoc/markupwriter.vala b/src/libvaladoc/markupwriter.vala index d463d0eb3..ae0e56cc0 100755 --- a/src/libvaladoc/markupwriter.vala +++ b/src/libvaladoc/markupwriter.vala @@ -63,6 +63,12 @@ public class Valadoc.MarkupWriter { builder.append ("&"); start = pos.next_char (); break; + + case '\'': + builder.append_len (start, (ssize_t) ((char*) pos - (char*) start)); + builder.append ("'"); + start = pos.next_char (); + break; } }