From 547745f5b307956de4e3d1f49697a189afa0122b Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 20 Oct 1998 18:50:13 +0000 Subject: [PATCH] (sh-mode): Handle .spec and .mspec files. (sh-font-lock-keywords): Handle rpm and rpm2. (sh-ancestor-alist): Handle rpm. --- lisp/progmodes/sh-script.el | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index 472eb53951b..eec351c5cc4 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@ -80,7 +80,8 @@ (tcsh . csh) (wksh . ksh88) (wsh . sh) - (zsh . ksh88)) + (zsh . ksh88) + (rpm . sh)) "*Alist showing the direct ancestor of various shells. This is the basis for `sh-feature'. See also `sh-alias-alist'. By default we have the following three hierarchies: @@ -634,7 +635,11 @@ See `sh-feature'.") (shell eval sh-append executable-font-lock-keywords '("\\\\[^A-Za-z0-9]" 0 font-lock-string-face) '("\\${?\\([A-Za-z_][A-Za-z0-9_]*\\|[0-9]+\\|[$*_]\\)" 1 - font-lock-variable-name-face))) + font-lock-variable-name-face)) + (rpm eval sh-append rpm2 + '("%{?\\(\\sw+\\)" 1 font-lock-keyword-face)) + (rpm2 eval sh-append shell + '("^\\(\\sw+\\):" 1 font-lock-variable-name-face))) "Default expressions to highlight in Shell Script modes. See `sh-feature'.") (defvar sh-font-lock-keywords-1 @@ -768,8 +773,10 @@ with your script for an edit-interpret-debug cycle." (let ((interpreter (save-excursion (goto-char (point-min)) - (if (looking-at "#![ \t]?\\([^ \t\n]*/bin/env[ \t]\\)?\\([^ \t\n]+\\)") - (match-string 2))))) + (cond ((looking-at "#![ \t]?\\([^ \t\n]*/bin/env[ \t]\\)?\\([^ \t\n]+\\)") + (match-string 2)) + ((string-match "\\.m?spec$" buffer-file-name) + "rpm"))))) (if interpreter (sh-set-shell interpreter nil nil) (progn -- 2.39.2