From f623a9d2e6e89ea12dc80fabc636a6b1fb4af5e9 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 21 Feb 2006 19:55:46 +0000 Subject: [PATCH] (sh-mode): Set shell type based on file name if no other specific basis. --- lisp/ChangeLog | 22 ++++++++++++++++++++++ lisp/progmodes/sh-script.el | 10 ++++++++++ 2 files changed, 32 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 32f4d243fce..f5d87562709 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,25 @@ +2006-02-21 Richard M. Stallman + + * progmodes/sh-script.el (sh-mode): Set shell type based on file name + if there's no other specific basis. + + * emacs-lisp/unsafep.el (unsafep): Don't treat &rest or &optional + as variables at all. + (unsafep-variable): Rename arg; doc fix. + + * abbrevlist.el (list-one-abbrev-table): Add autoload. + + * calendar/appt.el (diary-selective-display): Add defvar. + + * sort.el (sort-columns): Use Posix arg syntax for `sort'. + + * isearch.el (search-whitespace-regexp): Fix custom type. + + * help.el (describe-key-briefly): Compute interactive args + in same was as before previous change. + + * files.el (enable-local-variables): Doc fix. + 2006-02-21 Kim F. Storm * fringe.el: Cleanup as file is now pre-loaded. diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index e331268391a..02ce4a21c97 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@ -1438,6 +1438,16 @@ with your script for an edit-interpret-debug cycle." ((and buffer-file-name (string-match "\\.m?spec\\'" buffer-file-name)) "rpm"))))) + (unless interpreter + (setq interpreter + (cond ((string-match "[.]sh\\>" buffer-file-name) + "sh") + ((string-match "[.]bash\\>" buffer-file-name) + "bash") + ((string-match "[.]ksh\\>" buffer-file-name) + "ksh") + ((string-match "[.]csh\\>" buffer-file-name) + "csh")))) (sh-set-shell (or interpreter sh-shell-file) nil nil)) (run-mode-hooks 'sh-mode-hook)) -- 2.39.2