mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-04-28 01:00:52 -07:00
Fix here-doc highlighting
This commit is contained in:
parent
79b61bccf8
commit
00d2a6bb26
2 changed files with 19 additions and 6 deletions
|
|
@ -1,3 +1,12 @@
|
|||
2014-01-21 Daniel Colascione <dancol@dancol.org>
|
||||
|
||||
* progmodes/sh-script.el (sh--inside-noncommand-expression):
|
||||
Correctly detect when we're inside an arithmetic expansion form
|
||||
containing nested parenthesis.
|
||||
(sh--maybe-here-document): Use `sh--inside-noncommand-expression`
|
||||
to detect cases where we shouldn't expand "<<" to a heredoc
|
||||
skeleton.
|
||||
|
||||
2014-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* emacs-lisp/eldoc.el: Properly remove message in minibuffer case.
|
||||
|
|
|
|||
|
|
@ -975,11 +975,14 @@ See `sh-feature'.")
|
|||
(let ((ppss (syntax-ppss pos)))
|
||||
(when (nth 1 ppss)
|
||||
(goto-char (nth 1 ppss))
|
||||
(pcase (char-after)
|
||||
;; $((...)) or $[...] or ${...}.
|
||||
(`?\( (and (eq ?\( (char-before))
|
||||
(eq ?\$ (char-before (1- (point))))))
|
||||
((or `?\{ `?\[) (eq ?\$ (char-before))))))))
|
||||
(or
|
||||
(pcase (char-after)
|
||||
;; ((...)) or $((...)) or $[...] or ${...}. Nested
|
||||
;; parenthesis can occur inside the first of these forms, so
|
||||
;; parse backward recursively.
|
||||
(`?\( (eq ?\( (char-before)))
|
||||
((or `?\{ `?\[) (eq ?\$ (char-before))))
|
||||
(sh--inside-noncommand-expression (1- (point))))))))
|
||||
|
||||
(defun sh-font-lock-open-heredoc (start string eol)
|
||||
"Determine the syntax of the \\n after a <<EOF.
|
||||
|
|
@ -4265,7 +4268,8 @@ The document is bounded by `sh-here-document-word'."
|
|||
(or (not (looking-back "[^<]<<"))
|
||||
(save-excursion
|
||||
(backward-char 2)
|
||||
(sh-quoted-p))
|
||||
(or (sh-quoted-p)
|
||||
(sh--inside-noncommand-expression (point))))
|
||||
(nth 8 (syntax-ppss))
|
||||
(let ((tabs (if (string-match "\\`-" sh-here-document-word)
|
||||
(make-string (/ (current-indentation) tab-width) ?\t)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue