1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-06 03:40:56 -08:00

Deal with `#'s in variable references.

This commit is contained in:
Simon Marshall 1997-12-04 19:47:59 +00:00
parent 0561decbb5
commit 87002f70a3

View file

@ -628,7 +628,14 @@ See `sh-feature'.")
(defconst sh-font-lock-syntactic-keywords
;; Mark a `#' character as having punctuation syntax in a variable reference.
'(("\\$[({]?\\(#\\)" 1 (1 . nil))))
;; Really we should do this properly. From Chet Ramey and Brian Fox:
;; "A `#' begins a comment when it is unquoted and at the beginning of a
;; word. In the shell, words are separated by metacharacters."
;; To do this in a regexp would be slow as it would be anchored to the right.
;; But I can't be bothered to write a function to do it properly and
;; efficiently. So we only do it properly for `#' in variable references and
;; do it efficiently by anchoring the regexp to the left.
'(("\\${?[^}#\n\t ]*\\(##?\\)" 1 (1 . nil))))
;; mode-command and utility functions