From 1e68f8d0fe1c31c52e1573398d51ff17f7b282d5 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 29 Aug 1999 19:05:44 +0000 Subject: [PATCH] (which-func-cleanup-function): New variable. (which-function): Call that function. --- lisp/which-func.el | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/lisp/which-func.el b/lisp/which-func.el index cd63bf8932a..2be6ffda67d 100644 --- a/lisp/which-func.el +++ b/lisp/which-func.el @@ -113,6 +113,17 @@ use either \\[customize] or the function `which-func-mode'." :group 'which-func :require 'which-func) +(defvar which-func-cleanup-function nil + "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.)") + ;;; Code, nothing to customize below here ;;; ------------------------------------- ;;; @@ -211,7 +222,10 @@ is located before first function, returns nil." (setq name (car pair)) (setq pair (car-safe rest)) (setq rest (cdr-safe rest))) - name))) + (and name + (if which-func-cleanup-function + (funcall which-func-cleanup-function name) + name))))) (provide 'which-func)