Browse code

Fix bug, where endfilter did not pop off the mode from the mode stack. See RELEASENOTES

Nat! authored on 01-10-2015 17:13:43
Showing 7 changed files
... ...
@@ -2015,7 +2015,7 @@
2015 2015
 			isa = XCBuildConfiguration;
2016 2016
 			buildSettings = {
2017 2017
 				CLANG_WARN_INT_CONVERSION = YES;
2018
-				CURRENT_PROJECT_VERSION = 1853.0;
2018
+				CURRENT_PROJECT_VERSION = 1853.1;
2019 2019
 				DYLIB_COMPATIBILITY_VERSION = 1848.0;
2020 2020
 				DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)";
2021 2021
 				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
... ...
@@ -2048,7 +2048,7 @@
2048 2048
 			isa = XCBuildConfiguration;
2049 2049
 			buildSettings = {
2050 2050
 				CLANG_WARN_INT_CONVERSION = YES;
2051
-				CURRENT_PROJECT_VERSION = 1853.0;
2051
+				CURRENT_PROJECT_VERSION = 1853.1;
2052 2052
 				DYLIB_COMPATIBILITY_VERSION = 1848.0;
2053 2053
 				DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)";
2054 2054
 				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
... ...
@@ -2118,7 +2118,7 @@
2118 2118
 			isa = XCBuildConfiguration;
2119 2119
 			buildSettings = {
2120 2120
 				CLANG_WARN_INT_CONVERSION = YES;
2121
-				CURRENT_PROJECT_VERSION = 1853.0;
2121
+				CURRENT_PROJECT_VERSION = 1853.1;
2122 2122
 				DYLIB_COMPATIBILITY_VERSION = 1848.0;
2123 2123
 				DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)";
2124 2124
 				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
... ...
@@ -1,3 +1,9 @@
1
+1853.1
2
+
3
+Fixed a bug, where `endfilter` did not respect the options setting of the
4
+returning filter. This could create havoc on plaintext, when your filter
5
+just specified (output).
6
+
1 7
 1853
2 8
 
3 9
 Made mulle-scion brew compatible. You can now brew it. As I wanted to use
... ...
@@ -2237,10 +2237,11 @@ done:
2237 2237
                    localVariables:(NSMutableDictionary *) locals
2238 2238
                        dataSource:(id <MulleScionDataSource>) dataSource
2239 2239
 {
2240
-   NSMutableArray       *stack;
2241
-   NSAutoreleasePool    *pool;
2242
-   MulleScionExpression *filter;
2243
-   NSString             *s;
2240
+   NSMutableArray         *stack;
2241
+   NSAutoreleasePool      *pool;
2242
+   MulleScionExpression   *filter;
2243
+   NSString               *s;
2244
+   NSNumber               *mode;
2244 2245
    
2245 2246
    TRACE_RENDER( self, s, locals, dataSource);
2246 2247
 
... ...
@@ -2264,9 +2265,18 @@ done:
2264 2265
       [locals setObject:filter
2265 2266
                  forKey:MulleScionCurrentFilterKey];
2266 2267
       [stack removeLastObject];
2268
+
2269
+      stack = [locals objectForKey:MulleScionPreviousFilterModesKey];
2270
+      mode  = [stack lastObject];
2271
+      [locals setObject:mode
2272
+                 forKey:MulleScionCurrentFilterModeKey];
2273
+      [stack removeLastObject];
2267 2274
    }
2268 2275
    else
2276
+   {
2269 2277
       [locals removeObjectForKey:MulleScionCurrentFilterKey];
2278
+      [locals removeObjectForKey:MulleScionPreviousFilterModesKey];
2279
+   }
2270 2280
    
2271 2281
    // push flushed string through remaining filters
2272 2282
    if( s)
2273 2283
new file mode 100644
... ...
@@ -0,0 +1,8 @@
1
+{% filter htmlEscapedString, (output) %}
2
+<html>
3
+{{ "<html>" }}
4
+{% endfilter %}
5
+{% filter htmlEscapedString %}
6
+<html>
7
+{{ "<html>" }}
8
+{% endfilter %}
0 9
\ No newline at end of file
1 10
new file mode 100644
... ...
@@ -0,0 +1,4 @@
1
+<html>
2
+&lt;html&gt;
3
+&lt;html&gt;
4
+&lt;html&gt;
0 5
new file mode 100644
... ...
@@ -0,0 +1,3 @@
1
+{% filter htmlEscapedString, (output) %}
2
+<{% filter lowercaseString %}<VFL Bochum>{% endfilter %}>
3
+{% endfilter %}
0 4
\ No newline at end of file
1 5
new file mode 100644
... ...
@@ -0,0 +1 @@
1
+<<vfl bochum>>