changeset 20769:aa3481dd4d84

(imenu-case-fold-search): New buffer-local variable.
author Dave Love <fx@gnu.org>
date Sun, 25 Jan 1998 22:55:08 +0000
parents 6ebcbdec2e07
children 31a8ad177c4c
files lisp/imenu.el
diffstat 1 files changed, 15 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/imenu.el	Sun Jan 25 07:20:49 1998 +0000
+++ b/lisp/imenu.el	Sun Jan 25 22:55:08 1998 +0000
@@ -186,7 +186,10 @@
   (\"*Vars*\" \"^\\\\s-*(def\\\\(var\\\\|const\\\\)\\\\s-+\\\\([-A-Za-z0-9+]+\\\\)\" 2)
   (\"*Types*\" \"^\\\\s-*(def\\\\(type\\\\|struct\\\\|class\\\\|ine-condition\\\\)\\\\s-+\\\\([-A-Za-z0-9+]+\\\\)\" 2))
 
-The variable is buffer-local.")
+The variable is buffer-local.
+
+The variable `imenu-case-fold-search' determines whether or not the
+regexp matches are case sensitive.")
 
 ;;;###autoload
 (make-variable-buffer-local 'imenu-generic-expression)
@@ -679,6 +682,15 @@
 ;;; Generic index gathering function.
 ;;;
 
+(defvar imenu-case-fold-search t
+  "Defines whether `imenu--generic-function' should fold case when matching.
+
+This buffer-local variable should be set (only) by initialization code
+for modes which use `imenu--generic-function'.  If it is not set, that
+function will use the current value of `case-fold-search' to match
+patterns.")
+(make-variable-buffer-local 'imenu-case-fold-search)
+
 (defun imenu--generic-function (patterns)
 ;; Built on some ideas that Erik Naggum <erik@naggum.no> once posted
 ;; to comp.emacs
@@ -719,7 +731,8 @@
 		  (function (lambda (pattern) (identity (cadr pattern)))) 
 		  patterns "\\)\\|\\(") 
 		 "\\)"))
-	prev-pos)
+	prev-pos
+        (case-fold-search imenu-case-fold-search))
 
     (goto-char (point-max))
     (imenu-progress-message prev-pos 0 t)