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.
This commit is contained in:
Barry Warsaw 1997-12-03 05:03:44 +00:00
parent 456035f4b1
commit 27ee115fd7
1 changed files with 13 additions and 19 deletions

View File

@ -676,15 +676,6 @@ better alternative for finding the index.")
(defvar imenu-example--python-generic-parens nil) (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 () (defun imenu-example--create-python-index ()
"Python interface function for imenu package. "Python interface function for imenu package.
Finds all python classes and functions/methods. Calls function Finds all python classes and functions/methods. Calls function
@ -898,13 +889,16 @@ py-beep-if-tab-change\t\tring the bell if tab-width is changed"
(goto-char start)) (goto-char start))
;; install imenu ;; install imenu
(make-variable-buffer-local 'imenu-create-index-function) (if (py-safe (require 'imenu))
(setq imenu-create-index-function (progn
(function imenu-example--create-python-index)) (make-variable-buffer-local 'imenu-create-index-function)
(setq imenu-generic-expression (setq imenu-create-index-function
imenu-example--generic-python-expression) (function imenu-example--create-python-index))
(if (fboundp 'imenu-add-to-menubar) (setq imenu-generic-expression
(imenu-add-to-menubar (format "%s-%s" "IM" mode-name))) 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 ;; run the mode hook. py-mode-hook use is deprecated
(if python-mode-hook (if python-mode-hook
@ -2249,7 +2243,7 @@ of some continuation line.
Primarily for entering new code: Primarily for entering new code:
\t\\[indent-for-tab-command]\t indent line appropriately \t\\[indent-for-tab-command]\t indent line appropriately
\t\\[py-newline-and-indent]\t insert newline, then indent \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: Primarily for reindenting existing code:
\t\\[py-guess-indent-offset]\t guess py-indent-offset from file content; change locally \t\\[py-guess-indent-offset]\t guess py-indent-offset from file content; change locally
@ -2288,7 +2282,7 @@ indentation of the (closest code or indenting-comment) preceding
statement, or adds an extra py-indent-offset blanks if the preceding statement, or adds an extra py-indent-offset blanks if the preceding
statement has `:' as its last significant (non-whitespace and non- statement has `:' as its last significant (non-whitespace and non-
comment) character. If the suggested indentation is too much, use 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 Continuation lines are given extra indentation. If you don't like the
suggested indentation, change it to something you do like, and Python- suggested indentation, change it to something you do like, and Python-
@ -2317,7 +2311,7 @@ repeatedly, and as explained above, \\[indent-for-tab-command] can't guess the b
structure you intend. structure you intend.
%c:indent-for-tab-command %c:indent-for-tab-command
%c:py-newline-and-indent %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: The next function may be handy when editing code you didn't write: