(py-execute-region): Alexander Schmolck points out that leading
whitespace can hose the needs-if test.  So just skip all blank lines
at the start of the region right off the bat.
diff --git a/Misc/python-mode.el b/Misc/python-mode.el
index f8b05f5..ba89cb4 100644
--- a/Misc/python-mode.el
+++ b/Misc/python-mode.el
@@ -1378,6 +1378,13 @@
 
 is inserted at the end.  See also the command `py-clear-queue'."
   (interactive "r\nP")
+  ;; Skip ahead to the first non-blank line
+  (goto-char start)
+  (beginning-of-line)
+  (while (and (looking-at "\\s *$")
+	      (< (point) end))
+    (forward-line 1))
+  (setq start (point))
   (or (< start end)
       (error "Region is empty"))
   (let* ((proc (get-process py-which-bufname))