From e58914d089a2918f052e1a87c761199aa24945ac Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 16 Jul 2007 16:01:04 +0000 Subject: [PATCH] (sh-font-lock-quoted-subshell): Skip over the whole $( rather than just the $. Rename from sh-quoted-subshell. (sh-font-lock-syntactic-keywords): Adjust call accordingly. --- lisp/ChangeLog | 6 ++++++ lisp/progmodes/sh-script.el | 7 ++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index c2a6b6525a2..973e5eeaee5 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2007-07-16 Stefan Monnier + + * progmodes/sh-script.el (sh-font-lock-quoted-subshell): Skip over the + whole $( rather than just the $. Rename from sh-quoted-subshell. + (sh-font-lock-syntactic-keywords): Adjust call accordingly. + 2007-07-16 Thien-Thi Nguyen * emacs-lisp/lisp-mode.el (calculate-lisp-indent): In the diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index 4eea5e4925d..8a8d23db169 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@ -986,7 +986,7 @@ Point is at the beginning of the next line." ;; This looks silly, but it's because `sh-here-doc-re' keeps changing. (re-search-forward sh-here-doc-re limit t)) -(defun sh-quoted-subshell (limit) +(defun sh-font-lock-quoted-subshell (limit) "Search for a subshell embedded in a string. Find all the unescaped \" characters within said subshell, remembering that subshells can nest." @@ -1018,6 +1018,7 @@ subshells can nest." (t (push state states) (setq state 'backquote)))) (?\$ (if (not (eq (char-after (1+ (point))) ?\()) nil + (forward-char 1) (case state (t (push state states) (setq state 'code))))) (?\( (case state @@ -1026,7 +1027,7 @@ subshells can nest." (?\) (case state (double-quote nil) (t (setq state (pop states))))) - (t (error "Internal error in sh-quoted-subshell"))) + (t (error "Internal error in sh-font-lock-quoted-subshell"))) (forward-char 1))) t)) @@ -1111,7 +1112,7 @@ subshells can nest." (")" 0 (sh-font-lock-paren (match-beginning 0))) ;; highlight (possibly nested) subshells inside "" quoted regions correctly. ;; This should be at the very end because it uses syntax-ppss. - (sh-quoted-subshell))) + (sh-font-lock-quoted-subshell))) (defun sh-font-lock-syntactic-face-function (state) (let ((q (nth 3 state))) -- 2.39.2