From 63d0a3c63f833faad7a04fb4bf384d55ae6ae8d1 Mon Sep 17 00:00:00 2001 From: Wilfred Hughes Date: Tue, 23 May 2017 18:48:19 +0100 Subject: [PATCH] Don't treat ' as a string delimiter in RPM spec files ' is commonly used as an apostrophe in the prose sections of spec files, which was erroneously highlighted as strings. See for example http://kmymoney2.sourceforge.net/phb/rpm-example.html * lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as punctuation in RPM spec files. --- lisp/progmodes/sh-script.el | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index db965c5a58c..35b555e6879 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@ -492,7 +492,10 @@ name symbol." This is buffer-local in every such buffer.") (defvar sh-mode-syntax-table-input - '((sh . nil)) + `((sh . nil) + ;; Treat ' as punctuation rather than a string delimiter, as RPM + ;; files often contain prose with apostrophes. + (rpm . (,sh-mode-syntax-table ?\' "."))) "Syntax-table used in Shell-Script mode. See `sh-feature'.") (defvar sh-mode-map -- 2.39.2