[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/files.el,v
From: |
Kim F. Storm |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/files.el,v |
Date: |
Sun, 31 Dec 2006 00:29:50 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Kim F. Storm <kfstorm> 06/12/31 00:29:49
Index: files.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/files.el,v
retrieving revision 1.872
retrieving revision 1.873
diff -u -b -r1.872 -r1.873
--- files.el 30 Dec 2006 06:28:57 -0000 1.872
+++ files.el 31 Dec 2006 00:29:49 -0000 1.873
@@ -1876,6 +1876,16 @@
(if (fboundp 'ucs-set-table-for-input) ; don't lose when building
(ucs-set-table-for-input)))
+(defcustom auto-mode-case-fold nil
+ "Non-nil means to try second pass through `auto-mode-alist'.
+This means that if the first case-sensitive search through the alist fails
+to find a matching major mode, a second case-insensitive search is made.
+On systems with case-insensitive file names, this variable is ignored,
+since only a single case-sensitive search through the alist is made."
+ :group 'files
+ :version "22.1"
+ :type 'boolean)
+
(defvar auto-mode-alist
;; Note: The entries for the modes defined in cc-mode.el (c-mode,
;; c++-mode, java-mode and more) are added through autoload
@@ -2238,15 +2248,29 @@
(setq name (file-name-sans-versions name))
(while name
;; Find first matching alist entry.
- (let ((case-fold-search
- (memq system-type '(vax-vms windows-nt cygwin))))
- (if (and (setq mode (assoc-default name auto-mode-alist
+ (setq mode
+ (if (memq system-type '(vax-vms windows-nt cygwin))
+ ;; System is case-insensitive.
+ (let ((case-fold-search t))
+ (assoc-default name auto-mode-alist
+ 'string-match))
+ ;; System is case-sensitive.
+ (or
+ ;; First match case-sensitively.
+ (let ((case-fold-search nil))
+ (assoc-default name auto-mode-alist
'string-match))
+ ;; Fallback to case-insensitive match.
+ (and auto-mode-case-fold
+ (let ((case-fold-search t))
+ (assoc-default name auto-mode-alist
+ 'string-match))))))
+ (if (and mode
(consp mode)
(cadr mode))
(setq mode (car mode)
name (substring name 0 (match-beginning 0)))
- (setq name)))
+ (setq name))
(when mode
(set-auto-mode-0 mode keep-mode-if-same)))))))))
- [Emacs-diffs] Changes to emacs/lisp/files.el,v, Eli Zaretskii, 2006/12/08
- [Emacs-diffs] Changes to emacs/lisp/files.el,v, Richard M. Stallman, 2006/12/10
- [Emacs-diffs] Changes to emacs/lisp/files.el,v, Richard M. Stallman, 2006/12/17
- [Emacs-diffs] Changes to emacs/lisp/files.el,v, Kim F. Storm, 2006/12/19
- [Emacs-diffs] Changes to emacs/lisp/files.el,v, Juanma Barranquero, 2006/12/29
- [Emacs-diffs] Changes to emacs/lisp/files.el,v, Richard M. Stallman, 2006/12/30
- [Emacs-diffs] Changes to emacs/lisp/files.el,v,
Kim F. Storm <=
- [Emacs-diffs] Changes to emacs/lisp/files.el,v, Kim F. Storm, 2006/12/30