Removed redundant eval-when-compile.

(python-mode): Conditionalize imenu initializations to when we can
safely require imenu.  Under Emacs this should prevent python-mode
from hosing the global value of imenu-create-index-function and
messing things up for all other modes.  Problem identified by
Christian Egli.

(py-describe-mode): py-delete-char => py-electric-backspace.  Given by
Christian Egli.
diff --git a/Misc/python-mode.el b/Misc/python-mode.el
index 9adc9cf..045d9b0 100644
--- a/Misc/python-mode.el
+++ b/Misc/python-mode.el
@@ -676,15 +676,6 @@
 (defvar imenu-example--python-generic-parens nil)
 
 
-;;;###autoload
-(eval-when-compile
-  ;; Imenu isn't used in XEmacs, so just ignore load errors
-  (condition-case ()
-      (progn
-	(require 'cl)
-	(require 'imenu))
-    (error nil)))
-
 (defun imenu-example--create-python-index ()
   "Python interface function for imenu package.
 Finds all python classes and functions/methods. Calls function
@@ -898,13 +889,16 @@
     (goto-char start))
 
   ;; install imenu
-  (make-variable-buffer-local 'imenu-create-index-function)
-  (setq imenu-create-index-function
-	(function imenu-example--create-python-index))
-  (setq imenu-generic-expression
-	imenu-example--generic-python-expression)
-  (if (fboundp 'imenu-add-to-menubar)
-      (imenu-add-to-menubar (format "%s-%s" "IM" mode-name)))
+  (if (py-safe (require 'imenu))
+      (progn
+	(make-variable-buffer-local 'imenu-create-index-function)
+	(setq imenu-create-index-function
+	      (function imenu-example--create-python-index))
+	(setq imenu-generic-expression
+	      imenu-example--generic-python-expression)
+	(if (fboundp 'imenu-add-to-menubar)
+	    (imenu-add-to-menubar (format "%s-%s" "IM" mode-name)))
+	))
 
   ;; run the mode hook. py-mode-hook use is deprecated
   (if python-mode-hook
@@ -2249,7 +2243,7 @@
 Primarily for entering new code:
 \t\\[indent-for-tab-command]\t indent line appropriately
 \t\\[py-newline-and-indent]\t insert newline, then indent
-\t\\[py-delete-char]\t reduce indentation, or delete single character
+\t\\[py-electric-backspace]\t reduce indentation, or delete single character
 
 Primarily for reindenting existing code:
 \t\\[py-guess-indent-offset]\t guess py-indent-offset from file content; change locally
@@ -2288,7 +2282,7 @@
 statement, or adds an extra py-indent-offset blanks if the preceding
 statement has `:' as its last significant (non-whitespace and non-
 comment) character.  If the suggested indentation is too much, use
-\\[py-delete-char] to reduce it.
+\\[py-electric-backspace] to reduce it.
 
 Continuation lines are given extra indentation.  If you don't like the
 suggested indentation, change it to something you do like, and Python-
@@ -2317,7 +2311,7 @@
 structure you intend.
 %c:indent-for-tab-command
 %c:py-newline-and-indent
-%c:py-delete-char
+%c:py-electric-backspace
 
 
 The next function may be handy when editing code you didn't write: