diff --git a/Misc/python-mode.el b/Misc/python-mode.el
index d8983a7..e139b51 100644
--- a/Misc/python-mode.el
+++ b/Misc/python-mode.el
@@ -1154,13 +1154,21 @@
     (setq py-output-buffer (format "*%s Output*" py-which-bufname))))
 
 ;;;###autoload
-(defun py-shell ()
+(defun py-shell (&optional argprompt)
   "Start an interactive Python interpreter in another window.
 This is like Shell mode, except that Python is running in the window
 instead of a shell.  See the `Interactive Shell' and `Shell Mode'
 sections of the Emacs manual for details, especially for the key
 bindings active in the `*Python*' buffer.
 
+With optional \\[universal-argument], the user is prompted for the
+flags to pass to the Python interpreter.  This has no effect when this
+command is used to switch to an existing process, only when a new
+process is started.  If you use this, you will probably want to ensure
+that the current arguments are retained (they will be included in the
+prompt).  This argument is ignored when this function is called
+programmatically, or when running in Emacs 19.34 or older.
+
 Note: You can toggle between using the CPython interpreter and the
 JPython interpreter by hitting \\[py-toggle-shells].  This toggles
 buffer local variables which control whether all your subshell
@@ -1183,9 +1191,7 @@
 interaction between undo and process filters; the same problem exists in
 non-Python process buffers using the default (Emacs-supplied) process
 filter."
-  ;; BAW - should undo be disabled in the python process buffer, if
-  ;; this bug still exists?
-  (interactive)
+  (interactive "P")
   (if (null py-which-shell)
       (cond ((eq py-default-interpreter 'cpython)
 	     (setq py-which-shell py-python-command
@@ -1195,14 +1201,26 @@
 		   py-which-args py-jpython-command-args))
 	    (t (error "Illegal value for `py-default-interpreter': %s"
 		      py-default-interpreter))))
-  (switch-to-buffer-other-window
-   (apply 'make-comint py-which-bufname py-which-shell nil py-which-args))
-  (make-local-variable 'comint-prompt-regexp)
-  (setq comint-prompt-regexp "^>>> \\|^[.][.][.] \\|^(pdb) ")
-  (add-hook 'comint-output-filter-functions 'py-comint-output-filter-function)
-  (set-syntax-table py-mode-syntax-table)
-  (use-local-map py-shell-map)
-  )
+  (let ((args py-which-args))
+    (when (and argprompt
+	       (interactive-p)
+	       (fboundp 'split-string))
+      ;; TBD: Perhaps force "-i" in the final list?
+      (setq args (split-string
+		  (read-string (concat py-which-bufname
+				       " arguments: ")
+			       (concat
+				(mapconcat 'identity py-which-args " ") " ")
+			       ))))
+    (switch-to-buffer-other-window
+     (apply 'make-comint py-which-bufname py-which-shell nil args))
+    (make-local-variable 'comint-prompt-regexp)
+    (setq comint-prompt-regexp "^>>> \\|^[.][.][.] \\|^(pdb) ")
+    (add-hook 'comint-output-filter-functions
+	      'py-comint-output-filter-function)
+    (set-syntax-table py-mode-syntax-table)
+    (use-local-map py-shell-map)
+    ))
 
 (defun py-clear-queue ()
   "Clear the queue of temporary files waiting to execute."
