From 206d3521c0f671bd0e1c514c88e78d4fd6d0e8ad 2011-11-29 20:28:31
From: Fernando Perez <fperez.net@gmail.com>
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):