I was teetering on the brink of releasing Pyparsing 1.5.3 (with some nice new examples and goodies), when I saw that I had recently introduced a bug in the Python 3 compatible version. Here is the stacktrace as reported on SF:
Traceback (most recent call last): File "testcase.py", line 11, in <module> result = exp.parseFile("./pyparsing_py3.py") File "/data/projekte/parsing/pyparsing/pyparsing_py3.py", line 1426, in parseFile return self.parseString(file_contents, parseAll) File "/data/projekte/parsing/pyparsing/pyparsing_py3.py", line 1068, in parseString loc, tokens = self._parse( instring, 0 ) File "/data/projekte/parsing/pyparsing/pyparsing_py3.py", line 935, in _parseNoCache preloc = self.preParse( instring, loc ) File "/data/projekte/parsing/pyparsing/pyparsing_py3.py", line 893, in preParse while loc < instrlen and instring[loc] in wt: TypeError: 'in <string>' requires string as left operand, not int In this section of code, instring is a string, loc is an int, and wt is a string. Any clues why instring[loc] would be evaluating as int? (I am unfortunately dependent on the kindness of strangers when it comes to testing my Python 3 code, as I don't have a Py3 environment installed.) Thanks, -- Paul -- http://mail.python.org/mailman/listinfo/python-list