r9680 - helma-ng/trunk/src/org/helma/template
[email protected] Tue, 28 Apr 2009 11:01:02 +0200 (CEST)
| Newsgroups | gmane.comp.java.helma.cvs |
|---|---|
| Message-ID | <20090428090102.4C8113D0D6@mia> |
Author: hannes
Date: 2009-04-28 11:01:02 +0200 (Tue, 28 Apr 2009)
New Revision: 9680
Modified:
helma-ng/trunk/src/org/helma/template/SkinParser.java
Log:
Add feature to escape macro tags in org.helma.template.SkinParser.
Details at http://dev.helma.org/trac/helma/changeset/9680
Modified: helma-ng/trunk/src/org/helma/template/SkinParser.java
===================================================================
--- helma-ng/trunk/src/org/helma/template/SkinParser.java 2009-04-27 14:46:17 UTC (rev 9679)
+++ helma-ng/trunk/src/org/helma/template/SkinParser.java 2009-04-28 09:01:02 UTC (rev 9680)
@@ -45,11 +45,18 @@
reader = new LineNumberReader(r);
}
int c;
+ boolean escape = false;
while ((c = reader.read()) > 0) {
switch (c) {
+ case '\\':
+ if (escape) {
+ buffer.append('\\');
+ }
+ escape = true;
+ break;
case '<':
reader.mark(1);
- if (reader.read() == '%') {
+ if (reader.read() == '%' && !escape) {
if (buffer.length() > 0) {
renderText(buffer.toString());
buffer.setLength(0);
@@ -58,9 +65,14 @@
} else {
buffer.append((char) c);
reader.reset();
+ escape = false;
}
break;
default:
+ if (escape) {
+ buffer.append('\\');
+ escape = false;
+ }
buffer.append((char) c);
break;
}