emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/progmodes/tcl.el


From: Glenn Morris
Subject: [Emacs-diffs] Changes to emacs/lisp/progmodes/tcl.el
Date: Tue, 05 Apr 2005 09:01:58 -0400

Index: emacs/lisp/progmodes/tcl.el
diff -c emacs/lisp/progmodes/tcl.el:1.81 emacs/lisp/progmodes/tcl.el:1.82
*** emacs/lisp/progmodes/tcl.el:1.81    Sun Apr  3 21:20:03 2005
--- emacs/lisp/progmodes/tcl.el Tue Apr  5 13:01:58 2005
***************
*** 42,47 ****
--- 42,48 ----
  ;; * tcl-typeword-list is similar, but uses font-lock-type-face.
  ;; * tcl-keyword-list is a list of keywords.  I've generally used this
  ;; for flow-control words.  Eg I add "unwind_protect" to this list.
+ ;; * tcl-builtin-list lists commands to be given font-lock-builtin-face.
  ;; * tcl-type-alist can be used to minimally customize indentation
  ;; according to context.
  
***************
*** 193,198 ****
--- 194,204 ----
  quoted for Tcl."
    :type 'string)
  
+ (defface tcl-escaped-newline '((t :inherit font-lock-string-face))
+   "Face used for (non-escaped) backslash at end of a line in Tcl mode."
+   :group 'tcl
+   :version "22.1")
+ 
  ;;
  ;; Keymaps, abbrevs, syntax tables.
  ;;
***************
*** 372,377 ****
--- 378,398 ----
  Default list includes some TclX keywords.
  Call `tcl-set-font-lock-keywords' after changing this list.")
  
+ (defvar tcl-builtin-list
+   '("after" "append" "array" "bgerror" "binary" "catch" "cd" "clock"
+     "close" "concat" "console" "dde" "encoding" "eof" "exec" "expr"
+     "fblocked" "fconfigure" "fcopy" "file" "fileevent" "flush"
+     "format" "gets" "glob" "history" "incr" "info" "interp" "join"
+     "lappend" "lindex" "linsert" "list" "llength" "load" "lrange"
+     "lreplace" "lsort" "namespace" "open" "package" "pid" "puts" "pwd"
+     "read" "regexp" "registry" "regsub" "rename" "scan" "seek" "set"
+     "socket" "source" "split" "string" "subst" "tell" "time" "trace"
+     "unknown" "unset" "vwait")
+   "List of Tcl commands.  Used only for highlighting.
+ Call `tcl-set-font-lock-keywords' after changing this list.
+ This list excludes those commands already found in `tcl-proc-list' and
+ `tcl-keyword-list'.")
+ 
  (defvar tcl-font-lock-keywords nil
    "Keywords to highlight for Tcl.  See variable `font-lock-keywords'.
  This variable is generally set from `tcl-proc-regexp',
***************
*** 467,477 ****
                       "\\(\\s-\\|$\\)")
               2 'font-lock-type-face)
  
         ;; Keywords.  Only recognized if surrounded by whitespace.
         ;; FIXME consider using "not word or symbol", not
         ;; "whitespace".
         (cons (concat "\\_<" (regexp-opt tcl-keyword-list t) "\\_>")
!              2))))
  
  (if tcl-proc-regexp
      ()
--- 488,517 ----
                       "\\(\\s-\\|$\\)")
               2 'font-lock-type-face)
  
+          (list (concat "\\_<" (regexp-opt tcl-builtin-list t) "\\_>")
+              1 'font-lock-builtin-face)
+ 
+          ;; When variable names are enclosed in {} braces, any
+          ;; character can be used. Otherwise just letters, digits,
+          ;; underscores.  Variable names can be prefixed with any
+          ;; number of "namespace::" qualifiers.  A leading "::" refers
+          ;; to the global namespace.
+          '("\\${\\([^}]+\\)}" 1 font-lock-variable-name-face)
+          '("\\$\\(\\(?:::\\)?\\(?:[[:alnum:]_]+::\\)*[[:alnum:]_]+\\)"
+            1 font-lock-variable-name-face)
+          '("\\(?:\\s-\\|^\\|\\[\\)set\\s-+{\\([^}]+\\)}"
+            1 font-lock-variable-name-face keep)
+          '("\\(?:\\s-\\|^\\|\\[\\)set\\s-+\\(\\(?:::\\)?\
+ \\(?:[[:alnum:]_]+::\\)*[[:alnum:]_]+\\)"
+            1 font-lock-variable-name-face keep)
+ 
+          '("\\(^\\|[^\\]\\)\\(\\\\\\\\\\)*\\(\\\\\\)$" 3 'tcl-escaped-newline)
+ 
         ;; Keywords.  Only recognized if surrounded by whitespace.
         ;; FIXME consider using "not word or symbol", not
         ;; "whitespace".
         (cons (concat "\\_<" (regexp-opt tcl-keyword-list t) "\\_>")
!              1))))
  
  (if tcl-proc-regexp
      ()
***************
*** 542,549 ****
  
    (set (make-local-variable 'font-lock-defaults)
         '(tcl-font-lock-keywords nil nil nil beginning-of-defun
!        (font-lock-syntactic-keywords . tcl-font-lock-syntactic-keywords)
!        (parse-sexp-lookup-properties . t)))
  
    (set (make-local-variable 'imenu-generic-expression)
         tcl-imenu-generic-expression)
--- 582,589 ----
  
    (set (make-local-variable 'font-lock-defaults)
         '(tcl-font-lock-keywords nil nil nil beginning-of-defun
!        (font-lock-syntactic-keywords . tcl-font-lock-syntactic-keywords)
!        (parse-sexp-lookup-properties . t)))
  
    (set (make-local-variable 'imenu-generic-expression)
         tcl-imenu-generic-expression)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]