From 206d3521c0f671bd0e1c514c88e78d4fd6d0e8ad 2011-11-29 20:28:31 From: Fernando Perez Date: 2011-11-29 20:28:31 Subject: [PATCH] Fixes #1027, the previous fix had a problem under windows. Ensure that scripts are newline-terminated, apparently py3 complains when there's a missing newline and the last line ends in a comment. This is probably a python bug, but we should protect against it nonetheless. --- diff --git a/IPython/utils/py3compat.py b/IPython/utils/py3compat.py index 57eca72..2c9df7c 100644 --- a/IPython/utils/py3compat.py +++ b/IPython/utils/py3compat.py @@ -158,7 +158,7 @@ else: # The rstrip() is necessary b/c trailing whitespace in files will # cause an IndentationError in Python 2.6 (this was fixed in 2.7, # but we still support 2.6). See issue 1027. - scripttext = __builtin__.open(fname).read().rstrip() + scripttext = __builtin__.open(fname).read().rstrip() + '\n' # compile converts unicode filename to str assuming # ascii. Let's do the conversion before calling compile if isinstance(fname, unicode):