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)