summaryrefslogtreecommitdiff
path: root/pyparsing.py
diff options
context:
space:
mode:
authorPaul McGuire <ptmcg@austin.rr.com>2019-01-31 05:32:53 -0600
committerPaul McGuire <ptmcg@austin.rr.com>2019-01-31 05:32:53 -0600
commitae5adb02bf7e991111c05e71f9fb29c63b8cb11d (patch)
tree0ce672575457da0ca1340605d99c4b138b8e87f8 /pyparsing.py
parent3157a77c9584a69839db0f8274c87438b912e99b (diff)
downloadpyparsing-git-ae5adb02bf7e991111c05e71f9fb29c63b8cb11d.tar.gz
Add compiler from rosettacode.org; fix bug in ParserElement.runTests that interpreted newlines in quotes as test delimiters
Diffstat (limited to 'pyparsing.py')
-rw-r--r--pyparsing.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/pyparsing.py b/pyparsing.py
index ab804d5..4ba5b11 100644
--- a/pyparsing.py
+++ b/pyparsing.py
@@ -93,8 +93,8 @@ classes inherit from. Use the docstrings for examples of how to:
namespace class
"""
-__version__ = "2.3.1"
-__versionTime__ = "09 Jan 2019 23:26 UTC"
+__version__ = "2.3.2"
+__versionTime__ = "18 Jan 2019 22:15 UTC"
__author__ = "Paul McGuire <ptmcg@users.sourceforge.net>"
import string
@@ -2517,7 +2517,9 @@ class ParserElement(object):
comments = []
try:
# convert newline marks to actual newlines, and strip leading BOM if present
- t = t.replace(r'\n','\n').lstrip('\ufeff')
+ NL = Literal(r'\n').addParseAction(replaceWith('\n')).ignore(quotedString)
+ BOM = '\ufeff'
+ t = NL.transformString(t.lstrip(BOM))
result = self.parseString(t, parseAll=parseAll)
out.append(result.dump(full=fullDump))
success = success and not failureTests
@@ -3854,7 +3856,7 @@ class MatchFirst(ParseExpression):
super(MatchFirst,self).__init__(exprs, savelist)
if self.exprs:
self.mayReturnEmpty = any(e.mayReturnEmpty for e in self.exprs)
- # self.saveAsList = any(e.saveAsList for e in self.exprs)
+ self.saveAsList = any(e.saveAsList for e in self.exprs)
else:
self.mayReturnEmpty = True