[kernel] r10810 - people/waldi/utils/kconfigeditor2/lib/kconfigeditor/kconfig/menu
Bastian Blank
waldi at alioth.debian.org
Tue Mar 11 18:12:19 UTC 2008
Author: waldi
Date: Tue Mar 11 18:11:36 2008
New Revision: 10810
Log:
lib/kconfigeditor/kconfig/menu/file.py: Support escaped \" in strings.
Modified:
people/waldi/utils/kconfigeditor2/lib/kconfigeditor/kconfig/menu/file.py
Modified: people/waldi/utils/kconfigeditor2/lib/kconfigeditor/kconfig/menu/file.py
==============================================================================
--- people/waldi/utils/kconfigeditor2/lib/kconfigeditor/kconfig/menu/file.py (original)
+++ people/waldi/utils/kconfigeditor2/lib/kconfigeditor/kconfig/menu/file.py Tue Mar 11 18:11:36 2008
@@ -21,7 +21,7 @@
class Parser(object):
def __call__(self, fd, filename):
- lineno = 0
+ lineno = 1
stack = _Stack()
_BlockRoot(stack, File(filename))
@@ -33,7 +33,10 @@
elif line.lstrip()[0] == '#':
pass
else:
- stack.top().process_line(line)
+ try:
+ stack.top().process_line(line)
+ except:
+ raise Exception("Can't parse: '%s' (%d)" % (line, lineno))
lineno += 1
return stack.top().process_stop(lineno, 0)
@@ -192,16 +195,15 @@
_prompt_rules = r"""
^
(
- "(?P<text1>[^"]*)"
+ "(?P<text1>.*((?<=\\)".*)*)"
|
- '(?P<text2>[^']*)'
+ '(?P<text2>.*((?<=\\)".*)*)'
)
(
\s*
- if
- \s+
(?P<expression>.*)
)?
+ ;?
$"""
_prompt_re = re.compile(_prompt_rules, re.X)
@@ -215,6 +217,8 @@
if match:
self.entry.prompt = match.group('text1') or match.group('text2')
text = match.group('expression')
+ else:
+ raise Exception
_BlockType(self, text, ind)
def process_bool(self, text, ind):
More information about the Kernel-svn-changes
mailing list