# HG changeset patch # User Stefan Monnier # Date 1157958757 0 # Node ID ff69721bef4a2ec7b5bde565c22316434ec0558f # Parent 6e061fdbf037d561efdd34f249251c088ea1d1b6 (cfengine-font-lock-syntactic-keywords): New var. (cfengine-mode): Use it. Fix \ syntax to be like /. diff -r 6e061fdbf037 -r ff69721bef4a lisp/ChangeLog --- a/lisp/ChangeLog Mon Sep 11 07:11:21 2006 +0000 +++ b/lisp/ChangeLog Mon Sep 11 07:12:37 2006 +0000 @@ -1,5 +1,8 @@ 2006-09-11 Stefan Monnier + * progmodes/cfengine.el (cfengine-font-lock-syntactic-keywords): New var. + (cfengine-mode): Use it. Fix \ syntax to be like /. + * bindings.el (mode-line-buffer-identification-keymap): Move initialization into declaration. diff -r 6e061fdbf037 -r ff69721bef4a lisp/progmodes/cfengine.el --- a/lisp/progmodes/cfengine.el Mon Sep 11 07:11:21 2006 +0000 +++ b/lisp/progmodes/cfengine.el Mon Sep 11 07:12:37 2006 +0000 @@ -85,6 +85,12 @@ ;; File, acl &c in group: { token ... } ("{[ \t]*\\([^ \t\n]+\\)" 1 font-lock-constant-face))) +(defconst cfengine-font-lock-syntactic-keywords + ;; In the main syntax-table, backslash is marked as a punctuation, because + ;; of its use in DOS-style directory separators. Here we try to recognize + ;; the cases where backslash is used as an escape inside strings. + '(("\\(\\(?:\\\\\\)+\\)\"" . "\\"))) + (defvar cfengine-imenu-expression `((nil ,(concat "^[ \t]*" (eval-when-compile (regexp-opt cfengine-actions t)) @@ -218,7 +224,7 @@ ;; variable substitution: (modify-syntax-entry ?$ "." cfengine-mode-syntax-table) ;; Doze path separators: - (modify-syntax-entry ?\\ "_" cfengine-mode-syntax-table) + (modify-syntax-entry ?\\ "." cfengine-mode-syntax-table) ;; Otherwise, syntax defaults seem OK to give reasonable word ;; movement. @@ -237,7 +243,9 @@ ;; functions in evaluated classes to string syntax, and then obey ;; syntax properties. (setq font-lock-defaults - '(cfengine-font-lock-keywords nil nil nil beginning-of-line)) + '(cfengine-font-lock-keywords nil nil nil beginning-of-line + (font-lock-syntactic-keywords + . cfengine-font-lock-syntactic-keywords))) (setq imenu-generic-expression cfengine-imenu-expression) (set (make-local-variable 'beginning-of-defun-function) #'cfengine-beginning-of-defun) @@ -249,5 +257,5 @@ (provide 'cfengine) -;;; arch-tag: 6b931be2-1505-4124-afa6-9675971e26d4 +;; arch-tag: 6b931be2-1505-4124-afa6-9675971e26d4 ;;; cfengine.el ends here