From e9df8f871daa11c02b4e44a8a54584c39abd6fec Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 28 Nov 2012 20:13:33 -0500 Subject: [PATCH] By default, ignore case when testing inhibit-local-variables (bug#10610) * lisp/files.el (inhibit-local-variables-ignore-case): New. (inhibit-local-variables-p): Use inhibit-local-variables-ignore-case. Doc fix. (inhibit-local-variables-regexps, inhibit-local-variables-suffixes): Doc fixes. --- lisp/ChangeLog | 8 ++++++++ lisp/files.el | 18 ++++++++++++------ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1ec3c88fbc2..5d376ceabc3 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2012-11-29 Glenn Morris + + * files.el (inhibit-local-variables-ignore-case): New. (Bug#10610) + (inhibit-local-variables-p): Use inhibit-local-variables-ignore-case. + Doc fix. + (inhibit-local-variables-regexps, inhibit-local-variables-suffixes): + Doc fixes. + 2012-11-28 Jay Belanger * calc/calc-forms.el (calc-date-notation): Fix regexp diff --git a/lisp/files.el b/lisp/files.el index 496f9bf8fa4..c22cfd69549 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2502,25 +2502,31 @@ They may happen to contain sequences that look like local variable specifications, but are not really, or they may be containers for member files with their own local variable sections, which are not appropriate for the containing file. -See also `inhibit-local-variables-suffixes'.") +The function `inhibit-local-variables-p' uses this.") (define-obsolete-variable-alias 'inhibit-first-line-modes-suffixes 'inhibit-local-variables-suffixes "24.1") (defvar inhibit-local-variables-suffixes nil "List of regexps matching suffixes to remove from file names. -When checking `inhibit-local-variables-regexps', we first discard -from the end of the file name anything that matches one of these regexps.") +The function `inhibit-local-variables-p' uses this: when checking +a file name, it first discards from the end of the name anything that +matches one of these regexps.") + +;; Can't think of any situation in which you'd want this to be nil... +(defvar inhibit-local-variables-ignore-case t + "Non-nil means `inhibit-local-variables-p' ignores case.") -;; TODO explicitly add case-fold-search t? (defun inhibit-local-variables-p () "Return non-nil if file local variables should be ignored. This checks the file (or buffer) name against `inhibit-local-variables-regexps' -and `inhibit-local-variables-suffixes'." +and `inhibit-local-variables-suffixes'. If +`inhibit-local-variables-ignore-case' is non-nil, this ignores case." (let ((temp inhibit-local-variables-regexps) (name (if buffer-file-name (file-name-sans-versions buffer-file-name) - (buffer-name)))) + (buffer-name))) + (case-fold-search inhibit-local-variables-ignore-case)) (while (let ((sufs inhibit-local-variables-suffixes)) (while (and sufs (not (string-match (car sufs) name))) (setq sufs (cdr sufs))) -- 2.39.5