On Tue, 18 Jan 2005 16:16:32 +0100, Thomas Heller wrote: > Sylvain Thenault <[EMAIL PROTECTED]> writes: > >> Hi there ! >> I've noticed the following problem with python >= 2.3 (actually 2.3.4 >> and 2.4): >> >> [EMAIL PROTECTED]:test$ python >> Python 2.3.4 (#2, Sep 24 2004, 08:39:09) [GCC 3.3.4 (Debian 1:3.3.4-12)] >> on linux2 Type "help", "copyright", "credits" or "license" for more >> information. >>>>> import parser >>>>> parser.suite('# -*- coding: IBO-8859-1 -*-') >> Traceback (most recent call last): >> File "<stdin>", line 1, in ? >> MemoryError >>>>> parser.suite('# -*- coding: ISO-8859-1 -*-') >> <parser.st object at 0xb7e5e060> >> >> Shouldn't parser.suite just ignore the wrong encoding declaration, or at >> least raise a more appropriate exception. IMHO the first solution would >> be better, since that's the behaviour of the (C) python interpreter. > > Ignore the wrong declaration? All Python's that I have (on windows, at > least) raise a SyntaxError: > > File "x.py", line 1 > SyntaxError: 'unknown encoding: IBO-8859-1'
hum, right (with python >= 2.3 which is the first release using those declaration...). I was sure to have checked this but I've obviously missed something. Maybe the fact that being able to parse it anyway is the solution I wish has driven me to write this ;) I would like this behaviour so that pylint can check a module with a wrong encoding declaration anyway. But at least, SyntaxError would be better than MemoryError. > See also: > > http://www.python.org/sf/979739 thanks -- Sylvain Thénault LOGILAB, Paris (France). http://www.logilab.com http://www.logilab.fr http://www.logilab.org -- http://mail.python.org/mailman/listinfo/python-list