changeset 36124:5eb6597319ec

(generic-find-file-regexp): Doc fix. (generic-ignore-files-regexp): New defcustom. (generic-mode-find-file-hook): If the file's name matches the regexp in `generic-ignore-files-regexp', don't enter default-generic-mode. Doc fix.
author Eli Zaretskii <eliz@gnu.org>
date Fri, 16 Feb 2001 14:34:41 +0000
parents 53ca0e322e9e
children 60d0c73ec66c
files lisp/generic.el
diffstat 1 files changed, 23 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/generic.el	Fri Feb 16 13:57:03 2001 +0000
+++ b/lisp/generic.el	Fri Feb 16 14:34:41 2001 +0000
@@ -160,12 +160,24 @@
 
 (defcustom generic-find-file-regexp "^#"
   "*Regular expression used by `generic-mode-find-file-hook'.
-Used to determine if files in fundamental mode should be put into
-`default-generic-mode' instead."
+Files in fundamental mode whose first few lines contain a match for
+this regexp, should be put into `default-generic-mode' instead.
+The number of lines tested for the matches is specified by the value
+of the variable `generic-lines-to-scan', which see."
   :group 'generic
   :type  'regexp
   )
 
+(defcustom generic-ignore-files-regexp "[Tt][Aa][Gg][Ss]\\'"
+  "*Regular expression used by `generic-mode-find-file-hook'.
+Files whose names match this regular expression should not be put
+into `default-generic-mode', even if they have lines which match the
+regexp in `generic-find-file-regexp'.  If the value is nil,
+`generic-mode-find-file-hook' does not check the file names."
+  :group 'generic
+  :type  '(choice (const :tag "Don't check file names" nil) regexp)
+  )
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Functions
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -358,10 +370,17 @@
 (defun generic-mode-find-file-hook ()
   "Hook function to enter `default-generic-mode' automatically.
 Done if the first few lines of a file in `fundamental-mode' start with
-a hash comment character.  This hook will be installed if the variable
+a match for the regexp in `generic-find-file-regexp', unless the
+file's name matches the regexp which is the value of the variable
+`generic-ignore-files-regexp'.
+This hook will be installed if the variable
 `generic-use-find-file-hook' is non-nil.  The variable
 `generic-lines-to-scan' determines the number of lines to look at."
-  (when (eq major-mode 'fundamental-mode)
+  (when (and (eq major-mode 'fundamental-mode)
+	     (or (null generic-ignore-files-regexp)
+		 (not (string-match
+		       generic-ignore-files-regexp
+		       (file-name-sans-versions buffer-file-name)))))
     (save-excursion
       (goto-char (point-min))
       (when (re-search-forward generic-find-file-regexp