Mercurial > emacs
changeset 21697:ecfe9bc12b7f
Fix header comments.
(which-func-mode): Add autoload cookie.
(which-func-mode-global): Customize.
author | Dave Love <fx@gnu.org> |
---|---|
date | Tue, 21 Apr 1998 18:56:02 +0000 |
parents | 2f8ab139c8f1 |
children | 9ebbb53c1c20 |
files | lisp/which-func.el |
diffstat | 1 files changed, 54 insertions(+), 41 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/which-func.el Tue Apr 21 18:38:34 1998 +0000 +++ b/lisp/which-func.el Tue Apr 21 18:56:02 1998 +0000 @@ -1,9 +1,9 @@ ;;; which-func.el --- Print current function in mode line -;; Copyright (C) 1994, 1997 Free Software Foundation, Inc. +;; Copyright (C) 1994, 1997, 1998 Free Software Foundation, Inc. ;; Author: Alex Rezinsky <alexr@msil.sps.mot.com> -;; Keywords: mode-line imenu +;; Keywords: mode-line, imenu, tools ;; This file is part of GNU Emacs. @@ -22,43 +22,47 @@ ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. -;;; COMMENTARY -;;; ---------- -;;; This package prints name of function where your current point is -;;; located in mode line. It assumes that you work with imenu package -;;; and imenu--index-alist is up to date. +;;; Commentary: + +;; This package prints name of function where your current point is +;; located in mode line. It assumes that you work with imenu package +;; and imenu--index-alist is up to date. -;;; KNOWN BUGS -;;; ---------- -;;; Really this package shows not "function where the current point -;;; is located now", but "nearest function which defined above the -;;; current point". So if your current point is located after end of -;;; function FOO but before begin of function BAR, FOO will be -;;; displayed in mode line. +;; KNOWN BUGS +;; ---------- +;; Really this package shows not "function where the current point is +;; located now", but "nearest function which defined above the current +;; point". So if your current point is located after end of function +;; FOO but before begin of function BAR, FOO will be displayed in mode +;; line. -;;; TODO LIST -;;; --------- -;;; 1. Dependence on imenu package should be removed. Separate -;;; function determination mechanism should be used to determine the end -;;; of a function as well as the beginning of a function. -;;; 2. This package should be realized with the help of overlay -;;; properties instead of imenu--index-alist variable. +;; TODO LIST +;; --------- +;; 1. Dependence on imenu package should be removed. Separate +;; function determination mechanism should be used to determine the end +;; of a function as well as the beginning of a function. +;; 2. This package should be realized with the help of overlay +;; properties instead of imenu--index-alist variable. + +;;; History: -;;; THANKS TO -;;; --------- -;;; Per Abrahamsen <abraham@iesd.auc.dk> -;;; Some ideas (inserting in mode-line, using of post-command hook -;;; and toggling this mode) have been borrowed from his package -;;; column.el -;;; Peter Eisenhauer <pipe@fzi.de> -;;; Bug fixing in case nested indexes. -;;; Terry Tateyama <ttt@ursa0.cs.utah.edu> -;;; Suggestion to use find-file-hooks for first imenu -;;; index building. +;; THANKS TO +;; --------- +;; Per Abrahamsen <abraham@iesd.auc.dk> +;; Some ideas (inserting in mode-line, using of post-command hook +;; and toggling this mode) have been borrowed from his package +;; column.el +;; Peter Eisenhauer <pipe@fzi.de> +;; Bug fixing in case nested indexes. +;; Terry Tateyama <ttt@ursa0.cs.utah.edu> +;; Suggestion to use find-file-hooks for first imenu +;; index building. -;;; Variables for customization -;;; --------------------------- -;;; +;;; Code: + +;; Variables for customization +;; --------------------------- +;; (defvar which-func-unknown "???" "String to display in the mode line when current function is unknown.") @@ -96,6 +100,17 @@ :group 'which-func :type 'sexp) +;;;###autoload +(defcustom which-func-mode-global nil + "*Toggle `which-func-mode'. +You must modify via \\[customize] for this variable to have an effect." + :set #'(lambda (symbol value) + (which-func-mode (or value 0))) + :initialize 'custom-initialize-default + :type 'boolean + :group 'which-func + :require 'which-func) + ;;; Code, nothing to customize below here ;;; ------------------------------------- ;;; @@ -106,12 +121,9 @@ (make-variable-buffer-local 'which-func-current) (make-variable-buffer-local 'which-func-previous) -(defvar which-func-mode-global nil - "Non-nil means display current function name in mode line.") - (defvar which-func-mode nil "Non-nil means display current function name in mode line. -This makes a difference only if which-func-mode-global is non-nil") +This makes a difference only if `which-func-mode-global' is non-nil") (make-variable-buffer-local 'which-func-mode) (put 'which-func-mode 'permanent-local t) @@ -147,6 +159,7 @@ (which-func-mode -1) ; Function mode off (message "Error in which-func-update: %s" info)))) +;;;###autoload (defun which-func-mode (&optional arg) "Toggle Which Function mode, globally. When Which Function mode is enabled, the current function name is @@ -174,8 +187,8 @@ (member major-mode which-func-modes)))))) (defun which-function () - "Returns current function name based on point. -If imenu--index-alist does not exist, or is empty or if point + "Return current function name based on point. +If `imenu--index-alist' does not exist, or is empty or if point is located before first function, returns nil." (and (boundp 'imenu--index-alist)