hmm... what is the PEP state? I mean, PEP mean "Project of
Enhacementupgrade of Python" (Or something like that), was it an approved one? (Sorry for mistakes, I'm not american, thus, I can make
more mistakes)
Remember: RenPy 6.15 run in Python2.7 (or used to), so, if that was tested with Python > 3.2, the *things* can be different.
Some of Python 3.* was included in Python 2.7. But I don't know very well what is the version number. I think that was 3.1 and 3.2, but I'm not sure about this.
Oh Yeah, if you wondering where the decode error is...
Code: Select all
File "/home/username/Documentos/renpy/parser.py", line 114, in unicode_filename
return fn.decode("latin-1")
AttributeError: 'NoneType' object has no attribute 'decode'
Linux-3.2.0-54-generic-pae-i686-with-debian-wheezy-sid
Ren'Py 6.15.2.281
Just if you are wondering why RenPy said "decoding error": it said the error in renpy parser, not in your python block. It didn't even looked at your code, it stopped in parser. if you read the full traceback, you can see it. That line says "If you want find the error, look in IDLE or similar".
So, that is why Python Error is less confusing: because Python read the code, RenPy don't.
What you've been reading in RenPy traceback is that it cannot read your Python Block.
I don't know if there is a way to fix that, for now, reading the last line in full traceback is enough.
P.S: I've censored my username in the traceback. That won't change nothing.
P.P.S: about your PS: RenPy didn't made a horrible job finding the error. It just found an error while preparing the code to be executated. I mean, if you see, the error appears when you end the "def", not when you call it. The error is in pre-start, that is ran in parser.py. When the error was found, it was "found" in the parser, not in the block. So it said "parser.py"'s error, not your Python Error.
And, if you don't understand my P.P.S, it is saying that the error was found while parser.py was running. So it think that it is a Parser.py error, what is half-true, there was an error in parser.py: the "fn" variable value was None. But that wasn't parser.py fault.
It can't execute your Python Block to see where the error is. So, it keep saying only the place where python block starts.