Mercurial > emacs
changeset 7662:25cf7bc3b8c5
(interpreter-mode-alist): Add wishx, tclsh.
Delete form, scope, shell.
(set-auto-mode): Don't get confused by args after #! shell name.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 23 May 1994 09:48:37 +0000 |
parents | 96437d76c9db |
children | eb26954fb767 |
files | lisp/files.el |
diffstat | 1 files changed, 12 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/files.el Mon May 23 09:25:36 1994 +0000 +++ b/lisp/files.el Mon May 23 09:48:37 1994 +0000 @@ -847,11 +847,10 @@ (defconst interpreter-mode-alist '(("perl" . perl-mode) - ("scope" . tcl-mode) ("wish" . tcl-mode) - ("shell" . tcl-mode) - ("form" . tcl-mode) + ("wishx" . tcl-mode) ("tcl" . tcl-mode) + ("tclsh" . tcl-mode) ("awk" . awk-mode) ("gawk" . awk-mode) ("scm" . scheme-mode)) @@ -871,10 +870,13 @@ (defun set-auto-mode () "Select major mode appropriate for current buffer. -This checks for a -*- mode tag in the buffer's text, or -compares the filename against the entries in `auto-mode-alist'. It does -not check for the \"mode:\" local variable in the Local Variables -section of the file; for that, use `hack-local-variables'. +This checks for a -*- mode tag in the buffer's text, +compares the filename against the entries in `auto-mode-alist', +or checks the interpreter that runs this file against +`interpreter-mode-alist'. + +It does not check for the `mode:' local variable in the +Local Variables section of the file; for that, use `hack-local-variables'. If `enable-local-variables' is nil, this function does not check for a -*- mode tag." @@ -958,11 +960,9 @@ (let ((interpreter (save-excursion (goto-char (point-min)) - (if (looking-at "#! *") - (progn - (goto-char (match-end 0)) - (buffer-substring (point) - (progn (end-of-line) (point)))) + (if (looking-at "#! *\\([^ \t\n]+\\)") + (buffer-substring (match-beginning 1) + (match-end 1)) ""))) elt) ;; Map interpreter name to a mode.