summaryrefslogtreecommitdiff
path: root/lisp/which-func.el
diff options
context:
space:
mode:
authorKarl Heuer <kwzh@gnu.org>1998-06-01 03:09:43 +0000
committerKarl Heuer <kwzh@gnu.org>1998-06-01 03:09:43 +0000
commit2576f5d2700e3e18e684fc4f6e3d52c5d20d4f17 (patch)
treedfe3adc703ff1a7641ea7380b6c5a95f13cd4a11 /lisp/which-func.el
parentd1208263cd848364650baafc62412528573f8a8d (diff)
downloademacs-2576f5d2700e3e18e684fc4f6e3d52c5d20d4f17.tar.gz
(which-func-ff-hook): If imenu gets error,
clear which-func-mode.
Diffstat (limited to 'lisp/which-func.el')
-rw-r--r--lisp/which-func.el15
1 files changed, 9 insertions, 6 deletions
diff --git a/lisp/which-func.el b/lisp/which-func.el
index cf0e2e571dc..121ccf5a6b7 100644
--- a/lisp/which-func.el
+++ b/lisp/which-func.el
@@ -136,12 +136,15 @@ It creates the Imenu index for the buffer, if necessary."
(setq which-func-mode which-func-mode-global)
(setq which-func-mode nil))
- (if (and which-func-mode
- (not (member major-mode which-func-non-auto-modes))
- (or (< buffer-saved-size which-func-maxout)
- (= which-func-maxout 0)))
- (setq imenu--index-alist
- (save-excursion (funcall imenu-create-index-function)))))
+ (condition-case nil
+ (if (and which-func-mode
+ (not (member major-mode which-func-non-auto-modes))
+ (or (< buffer-saved-size which-func-maxout)
+ (= which-func-maxout 0)))
+ (setq imenu--index-alist
+ (save-excursion (funcall imenu-create-index-function))))
+ (error
+ (setq which-func-mode nil))))
(defun which-func-update ()
;; Update the string containing the current function.