;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:53:24 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/which-func.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`which-func.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


#@70 String to display in the mode line when current function is unknown.
(defvar which-func-unknown "???" (#$ . 622))
(custom-declare-group 'which-func nil "Mode to display the current function name in the modeline." :group 'tools :version "20.3")
#@195 List of major modes for which Which Function mode should be used.
For other modes it is disabled.  If this is equal to t,
then Which Function mode is enabled in any major mode that supports it.
(custom-declare-variable 'which-func-modes ''(emacs-lisp-mode c-mode c++-mode perl-mode cperl-mode makefile-mode sh-mode fortran-mode) '(#$ . 873) :group 'which-func :type '(choice (const :tag "All modes" t) (repeat (symbol :tag "Major mode"))))
#@311 List of major modes where Which Function mode is inactive till Imenu is used.
This means that Which Function mode won't really do anything
until you use Imenu, in these modes.  Note that files
larger than `which-func-maxout' behave in this way too;
Which Function mode doesn't do anything until you use Imenu.
(custom-declare-variable 'which-func-non-auto-modes 'nil '(#$ . 1320) :group 'which-func :type '(repeat (symbol :tag "Major mode")))
#@131 Don't automatically compute the Imenu menu if buffer is this big or bigger.
Zero means compute the Imenu menu regardless of size.
(custom-declare-variable 'which-func-maxout '500000 '(#$ . 1770) :group 'which-func :type 'integer)
#@54 Format for displaying the function in the mode line.
(custom-declare-variable 'which-func-format ''("[" which-func-current "]") '(#$ . 2006) :group 'which-func :type 'sexp)
#@486 Function to transform a string before displaying it in the mode line.
The function is called with one argument, the string to display.
Its return value is displayed in the modeline.
If nil, no function is called.  The default value is nil.

This feature can be useful if Imenu is set up to make more
detailed entries (e.g., containing the argument list of a function),
and you want to simplify them for the mode line
(e.g., removing the parameter list to just have the function name.)
(defvar which-func-cleanup-function nil (#$ . 2186))
(byte-code "\304\305!\210\302B\306\302!\204 	\303B\306\303!\204 	\307\302!\210\307\303!\207" [current-load-list which-func-unknown which-func-current which-func-previous require imenu boundp make-variable-buffer-local] 2)
#@125 Non-nil means display current function name in mode line.
This makes a difference only if `which-function-mode' is non-nil.
(defvar which-func-mode nil (#$ . 2961))
(byte-code "\300\301!\210\302\303\304\305#\207" [make-variable-buffer-local which-func-mode add-hook find-file-hooks which-func-ff-hook t] 4)
#@98 File find hook for Which Function mode.
It creates the Imenu index for the buffer, if necessary.
(defalias 'which-func-ff-hook #[nil "\205 	\304=\206 \n	\235\305\306\307\217\207" [which-function-mode which-func-modes major-mode which-func-mode t nil (byte-code "\205\" 	\n\235?\205\" \203 \fW\204 \306U\205\" \212 )\211\207" [which-func-mode major-mode which-func-non-auto-modes which-func-maxout buffer-saved-size imenu-create-index-function 0 imenu--index-alist] 2) ((error (byte-code "\301\211\207" [which-func-mode nil] 2)))] 3 (#$ . 3274)])
(defalias 'which-func-update #[nil "\205 \301\302\303\217\207" [which-func-mode info (byte-code "\303 \206 \211\n\230?\205 \304 \210	\211\207" [which-func-unknown which-func-current which-func-previous which-function force-mode-line-update] 3) ((error (byte-code "\301\302!\210\303\304\"\207" [info which-func-mode -1 error "Error in which-func-update: %s"] 3)))] 3])
(defalias 'which-func-mode 'which-function-mode)
#@236 Non-nil if Which-Function mode is enabled.
See the command `which-function-mode' for a description of this minor-mode.
Setting this variable directly does not take effect;
use either \[customize] or the function `which-function-mode'.
(custom-declare-variable 'which-function-mode 'nil '(#$ . 4266) :set (lambda (symbol value) (funcall symbol (or value 0))) :initialize 'custom-initialize-default :group 'which-func :type 'boolean :require 'which-func)
#@256 Toggle Which Function mode, globally.
When Which Function mode is enabled, the current function name is
continuously displayed in the mode line, in certain major modes.

With prefix ARG, turn Which Function mode on iff arg is positive,
and off otherwise.
(defalias 'which-function-mode #[(&optional arg) "\203\f \306!\307V\202 	?\211\203? \310\311\312\"\210\313 \314\211\203; @r\nq\210\f\315=\2061 \f\235)A\211\204! *\202d \316\311\312\"\210\313 \314\211\203c @r\nq\210\314)A\211\204N *\317\320	\203n \321\202o \322\"\210t\203\202 \323\324	\203 \325\202\200 \326\"\210\327 \210	\207" [arg which-function-mode buf #1=#:--dolist-temp--97271 which-func-modes major-mode prefix-numeric-value 0 add-hook post-command-idle-hook which-func-update buffer-list nil t remove-hook run-hooks which-function-mode-hook which-function-mode-on-hook which-function-mode-off-hook message "Which-Function mode %sabled" "en" "dis" force-mode-line-update which-func-mode #2=#:--dolist-temp--97272] 4 (#$ . 4726) nil])
#@56 Hook run at the end of function `which-function-mode'.
(custom-declare-variable 'which-function-mode-hook 'nil '(#$ . 5755) :group 'which-func :type 'hook)
(byte-code "\303\301\304\305\306!\205 \306J#\210\203 	\203 \n\204 \307\310\"\210\304\207" [load-file-name which-function-mode purify-flag add-minor-mode nil boundp which-function-mode-map eval-after-load (which-function-mode 1)] 5)
#@151 Return current function name based on point.
Uses `imenu--index-alist' or `add-log-current-defun-function'.
If no function name is found, return nil.
(defalias 'which-function #[nil "\306\307\301!\2036 	\2036 	\242	\243\n\204 \2035 \310A!\203( `AV\2035 @\n\242\n\243\211\202 *\204G \307\304!\203G \f\203G \f \205V \203U !\202V )\207" [name imenu--index-alist rest pair add-log-current-defun-function which-func-cleanup-function nil boundp number-or-marker-p] 3 (#$ . 6156)])
(provide 'which-func)
