* lisp/progmodes/python.el (python-shell-buffer-substring): Handle
cornercase when region sent starts at point-min.
Merge from origin/emacs-24

433af0a * lisp/progmodes/python.el (python-shell-buffer-substring): Handle cornercase when region sent starts at point-min.
python.el: Enhance shell user interaction and deprecate python-shell-get-or-create-process.

* lisp/progmodes/python.el
(python-shell-get-process-or-error): New function.
(python-shell-with-shell-buffer): Use it.
(python-shell-send-string, python-shell-send-region)
(python-shell-send-buffer, python-shell-send-defun)
(python-shell-send-file, python-shell-switch-to-shell): Use it.
Add argument MSG to display user-friendly message when no process
is running.
(python-shell-switch-to-shell): Call pop-to-buffer with NORECORD.
(python-shell-make-comint): Rename argument SHOW from POP.  Use
display-buffer instead of pop-to-buffer.
(run-python): Doc fix.  Return process.
(python-shell-get-or-create-process): Make obsolete.

* test/automated/python-tests.el (python-shell-get-or-create-process-1)
(python-shell-get-or-create-process-2)
(python-shell-get-or-create-process-3): Remove tests.
Handle nil value of suggest-key-bindings

* lisp/simple.el (execute-extended-command):
When `suggest-key-bindings' is nil, don't.