X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=elisp%2Flilypond-font-lock.el;h=be7b592635b5c9678f85347fafd55a6d2c066ea3;hb=b872748c6aa8bb721ced458691b38ac2fac5dfc8;hp=9e71ad6f0297264bfc4e6413477909f1ae540dd7;hpb=bb74ca39d919de3087fc6fa236f54a8cd8df65f1;p=lilypond.git diff --git a/elisp/lilypond-font-lock.el b/elisp/lilypond-font-lock.el index 9e71ad6f02..be7b592635 100644 --- a/elisp/lilypond-font-lock.el +++ b/elisp/lilypond-font-lock.el @@ -1,8 +1,6 @@ ;;; lilypond-font-lock.el --- syntax coloring for LilyPond mode -;; Copyright (C) 1992,1993,1994 Tim Peters - -;; Author: 2001-2003: Heikki Junes +;; Author: 2001-2006: Heikki Junes ;; * Emacs-mode: new keywords, reserved words, identifiers, notenames, ;; some dynamics and brackets are font-lock-keywords ;; * context-dependent syntax-tables @@ -10,16 +8,10 @@ ;; Author: 1995-1996 Barry A. Warsaw ;; 1992-1994 Tim Peters ;; Created: Feb 1992 -;; Version: 1.9.9 -;; Last Modified: 23SEP2003 +;; Version: 2.9.29 +;; Last Modified: 11NOV2006 ;; Keywords: lilypond languages music notation -;; This software is provided as-is, without express or implied -;; warranty. Permission to use, copy, modify, distribute or sell this -;; software, without fee, for any purpose and by any individual or -;; organization, is hereby granted, provided that the above copyright -;; notice and this paragraph appear in all copies. - ;; This started out as a cannabalised version of python-mode.el, by hwn ;; For changes see the LilyPond ChangeLog ;; @@ -66,8 +58,8 @@ ;; ... keywords (defined above, see kwregex) (cons (concat "\\(\\([_^-]?\\(" kwregex "\\)\\)+\\)\\($\\|[] \t(~{}>\\\\_()^*-]\\)") '(1 font-lock-keyword-face)) -;; ... user defined identifiers \[a-zA-Z]+ - '("\\([_^-]?\\\\\\([a-zA-Z][a-zA-Z]*\\)\\)" 1 font-lock-constant-face) +;; ... user defined identifiers, roughly \[a-zA-Z]+ with single - or _ in between. + '("\\([_^-]?\\\\\\([a-zA-Z[:nonascii:]]\\(?:[-_]?[a-zA-Z[:nonascii:]]\\)*\\)\\)" 1 font-lock-constant-face) ;; ... the left side of '=' -mark '("\\([_a-zA-Z.0-9-]+\\)[ \t]*=[ \t]*" 1 font-lock-variable-name-face) @@ -180,8 +172,8 @@ (setq context (parse-partial-sexp (point-min) (point))) (cond ((nth 3 context)) ; inside string ((nth 4 context)) ; inside a comment - ((eq (char-syntax (char-before (point))) ?\\)) ; found escape-char - ((and (eq (char-syntax (char-before (- (point) 1))) ?\\) + ((eq (char-syntax (or (char-before (point)) 0)) ?\\)) ; found escape-char + ((and (eq (char-syntax (or (char-before (- (point) 1)) 0)) ?\\) (memq (char-before (point)) '( ?\) ?\] )))) ; found escape-char ((memq (char-before (point)) '( ?\) )) (LilyPond-mode-set-syntax-table '( ?\( ?\) )))