1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-28 07:45:00 +00:00

* lisp/progmodes/sh-script.el (sh-font-lock-paren): Don't burp at BOB.

Fixes: debbugs:12222
This commit is contained in:
Stefan Monnier 2012-08-29 14:33:35 -04:00
parent 806f0cc730
commit 64f8c4bd61
2 changed files with 21 additions and 15 deletions

View File

@ -1,3 +1,8 @@
2012-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
* progmodes/sh-script.el (sh-font-lock-paren): Don't burp at BOB
(bug#12222).
2012-08-27 Leo Liu <sdl.web@gmail.com>
* progmodes/sh-script.el (sh-dynamic-complete-functions): Adapt to

View File

@ -1064,21 +1064,22 @@ subshells can nest."
(backward-char 1))
(when (eq (char-before) ?|)
(backward-char 1) t)))
(when (progn (backward-char 2)
(if (> start (line-end-position))
(put-text-property (point) (1+ start)
'syntax-multiline t))
;; FIXME: The `in' may just be a random argument to
;; a normal command rather than the real `in' keyword.
;; I.e. we should look back to try and find the
;; corresponding `case'.
(and (looking-at ";[;&]\\|\\_<in")
;; ";; esac )" is a case that looks like a case-pattern
;; but it's really just a close paren after a case
;; statement. I.e. if we skipped over `esac' just now,
;; we're not looking at a case-pattern.
(not (looking-at "..[ \t\n]+esac[^[:word:]_]"))))
sh-st-punc))))
(and (> (point) (1+ (point-min)))
(progn (backward-char 2)
(if (> start (line-end-position))
(put-text-property (point) (1+ start)
'syntax-multiline t))
;; FIXME: The `in' may just be a random argument to
;; a normal command rather than the real `in' keyword.
;; I.e. we should look back to try and find the
;; corresponding `case'.
(and (looking-at ";[;&]\\|\\_<in")
;; ";; esac )" is a case that looks like a case-pattern
;; but it's really just a close paren after a case
;; statement. I.e. if we skipped over `esac' just now,
;; we're not looking at a case-pattern.
(not (looking-at "..[ \t\n]+esac[^[:word:]_]"))))
sh-st-punc))))
(defun sh-font-lock-backslash-quote ()
(if (eq (save-excursion (nth 3 (syntax-ppss (match-beginning 0)))) ?\')