[Python-Dev] codeop: small details (Q); commit priv request
Samuele Pedroni
pedronis@bluewin.ch
Mon, 12 May 2003 16:48:01 +0200
1)
Python 2.3b1 (#40, Apr 25 2003, 19:06:24) [MSC v.1200 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import codeop
>>> codeop.compile_command("",symbol="eval")
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "s:\transit\py23\lib\codeop.py", line 129, in compile_command
return _maybe_compile(_compile, source, filename, symbol)
File "s:\transit\py23\lib\codeop.py", line 106, in _maybe_compile
raise SyntaxError, err1
File "<input>", line 1
pass
^
SyntaxError: invalid syntax
the error is basically an artifact of the logic that enforces:
compile_command("",symbol="single") === compile_command("pass",symbol="single")
(this makes typing enter immediately after the prompt at a simulated shell
a nop as expected)
I would expect
compile_command("",symbol="eval")
to return None, i.e. to simply signal an incomplete expression (that is
what would happen if the code for "eval" case would avoid the cited logic).
2) symbol = "exec" is silently accepted but the documentation intentionally
only refers to "exec" and "single" as valid values for symbol. Maybe a
ValueError should be raised.
Context: I was working on improving Jython codeop compatibility with
CPython codeop.
Btw, as considered here by Guido
http://sourceforge.net/tracker/index.php?func=detail&aid=645404&group_id=5470&atid=305470
I would ask to have commit privileges for CPython
regards