diff options
| author | Karoly Lorentey | 2006-10-14 16:56:21 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2006-10-14 16:56:21 +0000 |
| commit | 3f87f67ee215ffeecbd2f53bd7f342cdf03f47df (patch) | |
| tree | 16f2af9111af08a94d608d96a957f5c3ec5effcc /lisp/progmodes/sh-script.el | |
| parent | 350e4fb815d7413ef6d339dd664014706f742927 (diff) | |
| parent | 7a210b69c7f92650c524766d1b9d3f3eefdd67c7 (diff) | |
| download | emacs-3f87f67ee215ffeecbd2f53bd7f342cdf03f47df.tar.gz emacs-3f87f67ee215ffeecbd2f53bd7f342cdf03f47df.zip | |
Merged from emacs@sv.gnu.org
Patches applied:
* emacs@sv.gnu.org/emacs--devo--0--patch-371
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-372
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-373
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-374
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-375
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-376
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-377
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-378
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-379
Merge from erc--emacs--21
* emacs@sv.gnu.org/emacs--devo--0--patch-380
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-381
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-382
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-383
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-384
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-385
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-386
Update from erc--emacs--22
* emacs@sv.gnu.org/emacs--devo--0--patch-387
Fix ERC bug introduced in last patch
* emacs@sv.gnu.org/emacs--devo--0--patch-388
Update from erc--emacs--22
* emacs@sv.gnu.org/emacs--devo--0--patch-389
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-390
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-391
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-392
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-393
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-394
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-395
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-396
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-397
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-398
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-399
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-400
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-401
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-402
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-403
Rcirc update from Ryan Yeske
* emacs@sv.gnu.org/emacs--devo--0--patch-404
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-405
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-406
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-407
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-408
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-409
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-410
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-411
Miscellaneous tq-related fixes.
* emacs@sv.gnu.org/emacs--devo--0--patch-412
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-121
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-122
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-123
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-124
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-125
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-126
Merge from emacs--devo--0
* emacs@sv.gnu.org/gnus--rel--5.10--patch-127
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-581
Diffstat (limited to 'lisp/progmodes/sh-script.el')
| -rw-r--r-- | lisp/progmodes/sh-script.el | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index 6098c8be067..f828c36917b 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el | |||
| @@ -986,7 +986,9 @@ subshells can nest." | |||
| 986 | ;; FIXME: This can (and often does) match multiple lines, yet it makes no | 986 | ;; FIXME: This can (and often does) match multiple lines, yet it makes no |
| 987 | ;; effort to handle multiline cases correctly, so it ends up being | 987 | ;; effort to handle multiline cases correctly, so it ends up being |
| 988 | ;; rather flakey. | 988 | ;; rather flakey. |
| 989 | (when (re-search-forward "\"\\(?:\\(?:.\\|\n\\)*?[^\\]\\(?:\\\\\\\\\\)*\\)??\\(\\$(\\|`\\)" limit t) | 989 | (when (and (re-search-forward "\"\\(?:\\(?:.\\|\n\\)*?[^\\]\\(?:\\\\\\\\\\)*\\)??\\(\\$(\\|`\\)" limit t) |
| 990 | ;; Make sure the " we matched is an opening quote. | ||
| 991 | (eq ?\" (nth 3 (syntax-ppss)))) | ||
| 990 | ;; bingo we have a $( or a ` inside a "" | 992 | ;; bingo we have a $( or a ` inside a "" |
| 991 | (let ((char (char-after (point))) | 993 | (let ((char (char-after (point))) |
| 992 | (continue t) | 994 | (continue t) |
| @@ -1081,9 +1083,6 @@ This is used to flag quote characters in subshell constructs inside strings | |||
| 1081 | ("\\(\\\\\\)'" 1 ,sh-st-punc) | 1083 | ("\\(\\\\\\)'" 1 ,sh-st-punc) |
| 1082 | ;; Make sure $@ and @? are correctly recognized as sexps. | 1084 | ;; Make sure $@ and @? are correctly recognized as sexps. |
| 1083 | ("\\$\\([?@]\\)" 1 ,sh-st-symbol) | 1085 | ("\\$\\([?@]\\)" 1 ,sh-st-symbol) |
| 1084 | ;; highlight (possibly nested) subshells inside "" quoted regions correctly. | ||
| 1085 | (sh-quoted-subshell | ||
| 1086 | (1 (sh-apply-quoted-subshell) t t)) | ||
| 1087 | ;; Find HEREDOC starters and add a corresponding rule for the ender. | 1086 | ;; Find HEREDOC starters and add a corresponding rule for the ender. |
| 1088 | (sh-font-lock-here-doc | 1087 | (sh-font-lock-here-doc |
| 1089 | (2 (sh-font-lock-open-heredoc | 1088 | (2 (sh-font-lock-open-heredoc |
| @@ -1093,7 +1092,11 @@ This is used to flag quote characters in subshell constructs inside strings | |||
| 1093 | (and (match-beginning 3) (/= (match-beginning 3) (match-end 3)))) | 1092 | (and (match-beginning 3) (/= (match-beginning 3) (match-end 3)))) |
| 1094 | nil t)) | 1093 | nil t)) |
| 1095 | ;; Distinguish the special close-paren in `case'. | 1094 | ;; Distinguish the special close-paren in `case'. |
| 1096 | (")" 0 (sh-font-lock-paren (match-beginning 0))))) | 1095 | (")" 0 (sh-font-lock-paren (match-beginning 0))) |
| 1096 | ;; highlight (possibly nested) subshells inside "" quoted regions correctly. | ||
| 1097 | ;; This should be at the very end because it uses syntax-ppss. | ||
| 1098 | (sh-quoted-subshell | ||
| 1099 | (1 (sh-apply-quoted-subshell) t t)))) | ||
| 1097 | 1100 | ||
| 1098 | (defun sh-font-lock-syntactic-face-function (state) | 1101 | (defun sh-font-lock-syntactic-face-function (state) |
| 1099 | (let ((q (nth 3 state))) | 1102 | (let ((q (nth 3 state))) |