Variable: tcl-type-alist

tcl-type-alist is a variable defined in tcl.el.gz.

Value

(("proc" nil tcl-expr tcl-commands)
 ("method" nil tcl-expr tcl-commands)
 ("destructor" tcl-commands)
 ("constructor" tcl-commands)
 ("expr" tcl-expr)
 ("catch" tcl-commands)
 ("if" tcl-expr "then" tcl-commands)
 ("elseif" tcl-expr "then" tcl-commands)
 ("elseif" tcl-expr tcl-commands)
 ("if" tcl-expr tcl-commands)
 ("while" tcl-expr tcl-commands)
 ("for" tcl-commands tcl-expr tcl-commands tcl-commands)
 ("foreach" nil nil tcl-commands)
 ("for_file" nil nil tcl-commands)
 ("for_array_keys" nil nil tcl-commands)
 ("for_recursive_glob" nil nil nil tcl-commands)
 ("loop" nil tcl-expr tcl-expr tcl-commands)
 ("loop" nil tcl-expr tcl-commands))

Documentation

Alist that controls indentation.

(Actually, this really only controls what happens on continuation lines).
Each entry looks like (KEYWORD TYPE ...). Each type entry describes a sexp after the keyword, and can be one of:
* nil, meaning that this sexp has no particular type.
* tcl-expr, meaning that this sexp is an arithmetic expression.
* tcl-commands, meaning that this sexp holds Tcl commands.
* a string, which must exactly match the string at the corresponding
  position for a match to be made.

For example, the entry for the "loop" command is:

   ("loop" nil tcl-expr tcl-commands)

This means that the "loop" command has three arguments. The first argument is ignored (for indentation purposes). The second argument is a Tcl expression, and the last argument is Tcl commands.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/tcl.el.gz
;; FIXME need some way to recognize variables because array refs look
;; like 2 sexps.
(defvar tcl-type-alist
  '(("proc" nil tcl-expr tcl-commands)
    ("method" nil tcl-expr tcl-commands)
    ("destructor" tcl-commands)
    ("constructor" tcl-commands)
    ("expr" tcl-expr)
    ("catch" tcl-commands)
    ("if" tcl-expr "then" tcl-commands)
    ("elseif" tcl-expr "then" tcl-commands)
    ("elseif" tcl-expr tcl-commands)
    ("if" tcl-expr tcl-commands)
    ("while" tcl-expr tcl-commands)
    ("for" tcl-commands tcl-expr tcl-commands tcl-commands)
    ("foreach" nil nil tcl-commands)
    ("for_file" nil nil tcl-commands)
    ("for_array_keys" nil nil tcl-commands)
    ("for_recursive_glob" nil nil nil tcl-commands)
    ;; Loop handling is not perfect, because the third argument can be
    ;; either a command or an expr, and there is no real way to look
    ;; forward.
    ("loop" nil tcl-expr tcl-expr tcl-commands)
    ("loop" nil tcl-expr tcl-commands))
  "Alist that controls indentation.
\(Actually, this really only controls what happens on continuation lines).
Each entry looks like `(KEYWORD TYPE ...)'.
Each type entry describes a sexp after the keyword, and can be one of:
* nil, meaning that this sexp has no particular type.
* tcl-expr, meaning that this sexp is an arithmetic expression.
* tcl-commands, meaning that this sexp holds Tcl commands.
* a string, which must exactly match the string at the corresponding
  position for a match to be made.

For example, the entry for the \"loop\" command is:

   (\"loop\" nil tcl-expr tcl-commands)

This means that the \"loop\" command has three arguments.  The first
argument is ignored (for indentation purposes).  The second argument
is a Tcl expression, and the last argument is Tcl commands.")