MemoryError with parser.suite and wrong encoding declaration

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Sylvain Thenault

    #1

    MemoryError with parser.suite and wrong encoding declaration

    Hi there !
    I've noticed the following problem with python >= 2.3 (actually 2.3.4 and
    2.4):

    syt@musca: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.[color=blue][color=green][color=darkred]
    >>> import parser
    >>> parser.suite('# -*- coding: IBO-8859-1 -*-')[/color][/color][/color]
    Traceback (most recent call last):
    File "<stdin>", line 1, in ?
    MemoryError[color=blue][color=green][color=darkred]
    >>> parser.suite('# -*- coding: ISO-8859-1 -*-')[/color][/color][/color]
    <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.

    --
    Sylvain Thénault LOGILAB, Paris (France).

    http://www.logilab.com http://www.logilab.fr http://www.logilab.org


  • Thomas Heller

    #2
    Re: MemoryError with parser.suite and wrong encoding declaration

    Sylvain Thenault <sylvain.thenau lt@nospam.logil ab.fr> writes:
    [color=blue]
    > Hi there !
    > I've noticed the following problem with python >= 2.3 (actually 2.3.4 and
    > 2.4):
    >
    > syt@musca: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.[color=green][color=darkred]
    >>>> import parser
    >>>> parser.suite('# -*- coding: IBO-8859-1 -*-')[/color][/color]
    > Traceback (most recent call last):
    > File "<stdin>", line 1, in ?
    > MemoryError[color=green][color=darkred]
    >>>> parser.suite('# -*- coding: ISO-8859-1 -*-')[/color][/color]
    > <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.[/color]

    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'

    See also:



    Thomas

    Comment

    • Sylvain Thenault

      #3
      Re: MemoryError with parser.suite and wrong encoding declaration

      On Tue, 18 Jan 2005 16:16:32 +0100, Thomas Heller wrote:
      [color=blue]
      > Sylvain Thenault <sylvain.thenau lt@nospam.logil ab.fr> writes:
      >[color=green]
      >> Hi there !
      >> I've noticed the following problem with python >= 2.3 (actually 2.3.4
      >> and 2.4):
      >>
      >> syt@musca: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.[color=darkred]
      >>>>> import parser
      >>>>> parser.suite('# -*- coding: IBO-8859-1 -*-')[/color]
      >> Traceback (most recent call last):
      >> File "<stdin>", line 1, in ?
      >> MemoryError[color=darkred]
      >>>>> parser.suite('# -*- coding: ISO-8859-1 -*-')[/color]
      >> <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.[/color]
      >
      > 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'[/color]

      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.
      [color=blue]
      > See also:
      >
      > http://www.python.org/sf/979739[/color]

      thanks
      --
      Sylvain Thénault LOGILAB, Paris (France).

      http://www.logilab.com http://www.logilab.fr http://www.logilab.org


      Comment

      Working...