diff options
author | Glenn Morris <rgm@gnu.org> | 2013-09-10 23:44:35 -0700 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2013-09-10 23:44:35 -0700 |
commit | 2a08047aed0017cc2b639e189fc3b5d41c46fcbd (patch) | |
tree | b75a8ecbec1344d13f630dcc2e00eb2220df9f8b /lisp/files.el | |
parent | cb55925848ce8359ac695b69bf7b278024c304c0 (diff) | |
download | emacs-2a08047aed0017cc2b639e189fc3b5d41c46fcbd.tar.gz |
Improve previous interpreter-mode-alist change
* lisp/files.el (interpreter-mode-alist): Remove \\` \\' parts.
(set-auto-mode): Don't regexp-quote elements.
* lisp/progmodes/python.el (interpreter-mode-alist): Remove \\` \\'.
* lisp/progmodes/cc-mode.el (interpreter-mode-alist):
* lisp/progmodes/ruby-mode.el (interpreter-mode-alist):
Revert previous change.
* etc/NEWS: Update.
Diffstat (limited to 'lisp/files.el')
-rw-r--r-- | lisp/files.el | 65 |
1 files changed, 27 insertions, 38 deletions
diff --git a/lisp/files.el b/lisp/files.el index 2315448c549..5d8fbda6154 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2447,43 +2447,34 @@ and `magic-mode-alist', which determines modes based on file contents.") (mapcar (lambda (l) (cons (purecopy (car l)) (cdr l))) - '(("\\`\\(mini\\)?perl5?\\'" . perl-mode) - ("\\`wishx?\\'" . tcl-mode) - ("\\`tcl\\(sh\\)?\\'" . tcl-mode) - ("\\`expect\\'" . tcl-mode) - ("\\`scm\\'" . scheme-mode) - ("\\`[acjkwz]sh\\'" . sh-mode) - ("\\`bash2?\\'" . sh-mode) - ("\\`dtksh\\'" . sh-mode) - ("\\`es\\'" . sh-mode) - ("\\`itcsh\\'" . sh-mode) - ("\\`oash\\'" . sh-mode) - ("\\`pdksh\\'" . sh-mode) - ("\\`rbash\\'" . sh-mode) - ("\\`rc\\'" . sh-mode) - ("\\`rpm\\'" . sh-mode) - ("\\`sh5?\\'" . sh-mode) - ("\\`tcsh\\'" . sh-mode) - ("\\`wksh\\'" . sh-mode) - ("\\`tail\\'" . text-mode) - ("\\`more\\'" . text-mode) - ("\\`less\\'" . text-mode) - ("\\`pg\\'" . text-mode) - ("\\`make\\'" . makefile-gmake-mode) ; Debian uses this - ("\\`guile\\'" . scheme-mode) - ("\\`clisp\\'" . lisp-mode) - ("\\`emacs\\'" . emacs-lisp-mode))) + '(("\\(mini\\)?perl5?" . perl-mode) + ("wishx?" . tcl-mode) + ("tcl\\(sh\\)?" . tcl-mode) + ("expect" . tcl-mode) + ("scm" . scheme-mode) + ("[acjkwz]sh" . sh-mode) + ("r?bash2?" . sh-mode) + ("\\(dt\\|pd\\|w\\)ksh" . sh-mode) + ("es" . sh-mode) + ("i?tcsh" . sh-mode) + ("oash" . sh-mode) + ("rc" . sh-mode) + ("rpm" . sh-mode) + ("sh5?" . sh-mode) + ("tail" . text-mode) + ("more" . text-mode) + ("less" . text-mode) + ("pg" . text-mode) + ("make" . makefile-gmake-mode) ; Debian uses this + ("guile" . scheme-mode) + ("clisp" . lisp-mode) + ("emacs" . emacs-lisp-mode))) "Alist mapping interpreter names to major modes. This is used for files whose first lines match `auto-mode-interpreter-regexp'. Each element looks like (REGEXP . MODE). -If REGEXP matches the name (minus any directory part) of the interpreter -specified in the first line of a script, enable major mode MODE. - -Emacs versions earlier than 24.4 treat the car of each element as a -literal string that must match the entire name, rather than a regexp. -For backwards compatibility, any REGEXP that does not begin with \"\\\\\" -continues to be treated in this way. This behavior may be removed in -future and should not be relied upon. +If \\\\`REGEXP\\\\' matches the name (minus any directory part) of +the interpreter specified in the first line of a script, enable +major mode MODE. See also `auto-mode-alist'.") @@ -2687,13 +2678,11 @@ we don't actually set it to the same mode the buffer already has." ;; same time. (setq done (assoc-default (file-name-nondirectory mode) - ;; Backwards compat: if car of i-m-alist does not start - ;; with "\\", treat as literal string. (mapcar (lambda (e) - (if (string-match-p "\\`\\\\" (car e)) + (if (string-match-p "\\`\\\\`" (car e)) e (cons - (format "\\`%s\\'" (regexp-quote (car e))) + (format "\\`%s\\'" (car e)) (cdr e)))) interpreter-mode-alist) #'string-match-p)) |