Mercurial > emacs
changeset 59320:28884f0312e2
(basic-save-buffer-1): Fix previous change.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 03 Jan 2005 02:40:56 +0000 |
parents | 0a7f31475107 |
children | 00d1c1096a62 |
files | lisp/files.el |
diffstat | 1 files changed, 21 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/files.el Sun Jan 02 23:46:12 2005 +0000 +++ b/lisp/files.el Mon Jan 03 02:40:56 2005 +0000 @@ -1856,8 +1856,14 @@ If the element has the form (REGEXP FUNCTION NON-NIL), then after calling FUNCTION (if it's not nil), we delete the suffix that matched -REGEXP and search the list again for another match.") - +REGEXP and search the list again for another match. + +If the file name matches `inhibit-first-line-modes-regexps', +then `auto-mode-alist' is not processed. + +See also `interpreter-mode-alist', which detects executable script modes +based on the interpreters they specify to run, +and `magic-mode-alist', which determines modes based on file contents.") (defvar interpreter-mode-alist ;; Note: The entries for the modes defined in cc-mode.el (awk-mode @@ -1902,11 +1908,13 @@ ("guile" . scheme-mode) ("clisp" . lisp-mode))) "Alist mapping interpreter names to major modes. -This alist applies to files whose first line starts with `#!'. +This is used for files whose first lines match `auto-mode-interpreter-regexp'. Each element looks like (INTERPRETER . MODE). The car of each element is compared with the name of the interpreter specified in the first line. -If it matches, mode MODE is selected.") +If it matches, mode MODE is selected. + +See also `auto-mode-alist'.") (defvar inhibit-first-line-modes-regexps '("\\.tar\\'" "\\.tgz\\'") "List of regexps; if one matches a file name, don't look for `-*-'.") @@ -1935,12 +1943,14 @@ (concat "\\(?:<\\?xml\\s +[^>]*>\\)?\\s *<" comment-re "*" "\\(?:!DOCTYPE\\s +[^>]*>\\s *<\\s *" comment-re "*\\)?" - "[Hh][Tt][Mm][Ll]")) . html-mode) + "[Hh][Tt][Mm][Ll]")) + . html-mode) ;; These two must come after html, because they are more general: ("<\\?xml " . xml-mode) (,(let* ((incomment-re "\\(?:[^-]\\|-[^-]\\)") (comment-re (concat "\\(?:!--" incomment-re "*-->\\s *<\\)"))) - (concat "\\s *<" comment-re "*!DOCTYPE ")) . sgml-mode) + (concat "\\s *<" comment-re "*!DOCTYPE ")) + . sgml-mode) ("%![^V]" . ps-mode) ("# xmcd " . conf-unix-mode)) "Alist of buffer beginnings vs. corresponding major mode functions. @@ -3264,11 +3274,12 @@ ;; but inhibited if one of write-file-functions returns non-nil. ;; It returns a value (MODES . BACKUPNAME), like backup-buffer. (defun basic-save-buffer-1 () - (if save-buffer-coding-system - (let ((coding-system-for-write save-buffer-coding-system)) + (prog1 + (if save-buffer-coding-system + (let ((coding-system-for-write save-buffer-coding-system)) + (basic-save-buffer-2)) (basic-save-buffer-2)) - (basic-save-buffer-2)) - (setq buffer-file-coding-system-explicit last-coding-system-used)) + (setq buffer-file-coding-system-explicit last-coding-system-used))) ;; This returns a value (MODES . BACKUPNAME), like backup-buffer. (defun basic-save-buffer-2 ()