From b962ebad98b9dff00b2c945afe353a6820e40bce Mon Sep 17 00:00:00 2001
From: =?utf8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= <fgallina@cuca>
Date: Thu, 17 May 2012 00:02:54 -0300
Subject: [PATCH] Modified autocompletion code setup

Now it is compatible with python 2.x and python 3.x
---
 lisp/progmodes/python.el | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 3cdfb43e35f..9f14bef5258 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -1065,7 +1065,8 @@ When argument ARG is non-nil sends the innermost defun."
 (defun python-shell-send-file (file-name &optional process)
   "Send FILE-NAME to inferior Python process."
   (interactive "fFile to send: ")
-  (let ((process (or process (python-shell-get-or-create-process))))
+  (let ((process (or process (python-shell-get-or-create-process)))
+        (full-file-name (expand-file-name file-name)))
     (accept-process-output process)
     (with-current-buffer (process-buffer process)
       (delete-region (save-excursion
@@ -1074,7 +1075,9 @@ When argument ARG is non-nil sends the innermost defun."
                      (line-end-position)))
     (comint-send-string
      process
-     (format "execfile('%s')\n" (expand-file-name file-name)))))
+     (format
+      "with open('%s') as __pyfile: exec(compile(__pyfile.read(), '%s', 'exec'))\n\n"
+      full-file-name full-file-name))))
 
 (defun python-shell-switch-to-shell ()
   "Switch to inferior Python process buffer."
-- 
2.39.5