From 145834ffd115143724efe6ebdeabb6dbda57dcb4 Mon Sep 17 00:00:00 2001
From: Michał Lenart <michall@ipipan.waw.pl>
Date: Tue, 8 Apr 2014 16:43:49 +0000
Subject: [PATCH] dodana obsługa #else

---
 fsabuilder/morfeuszbuilder/segrules/preprocessor.py | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/fsabuilder/morfeuszbuilder/segrules/preprocessor.py b/fsabuilder/morfeuszbuilder/segrules/preprocessor.py
index dd5d8c0..ecd03c6 100644
--- a/fsabuilder/morfeuszbuilder/segrules/preprocessor.py
+++ b/fsabuilder/morfeuszbuilder/segrules/preprocessor.py
@@ -94,14 +94,12 @@ def preprocess(inputLines, defs, filename):
         elif line.startswith('#else'):
             name, isActive = ifdefsStack[-1]
             assert isActive
-            ifdefsStack[-1] = name, False
+            ifdefsStack[-1] = (name, False)
 #             ifdefsStack.pop()
         elif line.startswith('#endif'):
             ifdefsStack.pop()
         elif line.startswith('#'):
             yield lineNum, line
-        elif len(ifdefsStack) == 0 or \
-            (all(map(lambda (name, isActive): name in defs and isActive, ifdefsStack))
-                and not any(map(lambda (name, isActive): name in defs and not isActive, ifdefsStack))):
+        elif len(ifdefsStack) == 0 or all(map(lambda (name, isActive): (name in defs and isActive) or (name not in defs and not isActive), ifdefsStack)):
             yield lineNum, _processLine(lineNum, line, defines, filename)
         
\ No newline at end of file
--
libgit2 0.22.2