;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:51:38 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/progmodes/tcl.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`tcl.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


#@37 Non-nil if using Emacs 19 or later.
(defconst tcl-using-emacs-19 (byte-code "\301\302\"?\207" [emacs-version string-match "18\\."] 3) (#$ . 618))
#@40 Non-nil if using Emacs 19-23 or later.
(defconst tcl-using-emacs-19-23 (byte-code "\301\302\"\206 \301\303\"\207" [emacs-version string-match "19\\.\\(2[3-9]\\|[3-9][0-9]\\)" "^[2-9][0-9]\\."] 3) (#$ . 771))
#@26 Non-nil if using XEmacs.
(defconst tcl-using-xemacs-19 (string-match "XEmacs" emacs-version) (#$ . 988))
(byte-code "\303\304!\210\305\306!\210\301B\307\302B\310\311\312\313\314\315\316%\207" [current-load-list tcl-version tcl-maintainer require comint fboundp eval-when-compile "$Revision: 1.64.4.2 $" "Tom Tromey <tromey@drip.colorado.edu>" custom-declare-group tcl nil "Major mode for editing Tcl source in Emacs" :group languages] 6)
#@66 *Indentation of Tcl statements with respect to containing block.
(custom-declare-variable 'tcl-indent-level '4 '(#$ . -1438) :group 'tcl :type 'integer)
#@70 *Indentation of continuation line relative to first line of command.
(custom-declare-variable 'tcl-continued-indent-level '4 '(#$ . -1597) :group 'tcl :type 'integer)
#@74 *Non-nil means automatically newline before and after braces you insert.
(custom-declare-variable 'tcl-auto-newline 'nil '(#$ . -1770) :group 'tcl :type 'boolean)
#@561 *Control effect of TAB key.
If t (the default), always indent current line.
If nil and point is not in the indentation area at the beginning of
the line, a TAB is inserted.
Other values cause the first possible action from the following list
to take place:

  1. Move from beginning of line to correct indentation.
  2. Delete an empty comment.
  3. Move forward to start of comment, indenting if necessary.
  4. Move forward to end of line, indenting if necessary.
  5. Create an empty comment.
  6. Move backward to start of comment, indenting if necessary.
(custom-declare-variable 'tcl-tab-always-indent 't '(#$ . -1940) :group 'tcl :type '(choice (const :tag "Always" t) (const :tag "Beginning only" nil) (const :tag "Maybe move or make or delete comment" 'tcl)))
#@171 *If not nil, use the more sophisticated, but slower, comment-delete method.
This variable is not effective in Emacs 18;
the fast function is always used in that version.
(custom-declare-variable 'tcl-use-hairy-comment-detector 't '(#$ . -2716) :group 'tcl :type 'boolean)
#@425 *Style of electric hash insertion to use.
Possible values are `backslash', meaning that `\' quoting should be
done; `quote', meaning that `"' quoting should be done; `smart',
meaning that the choice between `backslash' and `quote' should be
made depending on the number of hashes inserted; or nil, meaning that
no quoting should be done.  Any other value for this variable is
taken to mean `smart'.  The default is `smart'.
(custom-declare-variable 'tcl-electric-hash-style ''smart '(#$ . -2995) :group 'tcl :type '(choice (const backslash) (const quote) (const smart) (const nil)))
#@58 *List of topmost directories containing TclX help files.
(custom-declare-variable 'tcl-help-directory-list 'nil '(#$ . -3584) :group 'tcl :type '(repeat directory))
#@72 *If not nil, use smart way to find current word, for Tcl help feature.
(custom-declare-variable 'tcl-use-smart-word-finder 't '(#$ . -3755) :group 'tcl :type 'boolean)
#@51 *Name of Tcl program to run in inferior Tcl mode.
(custom-declare-variable 'tcl-application '"wish" '(#$ . -3929) :group 'tcl :type 'string)
#@63 *List of switches to supply to the `tcl-application' program.
(custom-declare-variable 'tcl-command-switches 'nil '(#$ . -4076) :group 'tcl :type '(repeat string))
#@252 *If not nil, a regexp that will match the prompt in the inferior process.
If nil, the prompt is the name of the application with ">" appended.

The default is "^\(% \|\)", which will match the default primary
and secondary prompts for tclsh and wish.
(custom-declare-variable 'tcl-prompt-regexp '"^\\(% \\|\\)" '(#$ . -4247) :group 'tcl :type 'regexp)
#@264 *Format-string for building a Tcl command to load a file.
This format string should use `%s' to substitute a file name
and should result in a Tcl expression that will command the
inferior Tcl to load that file.  The filename will be appropriately
quoted for Tcl.
(custom-declare-variable 'inferior-tcl-source-command '"source %s\n" '(#$ . -4606) :group 'tcl :type 'string)
#@42 Abbrev table in use in Tcl-mode buffers.
(defvar tcl-mode-abbrev-table nil (#$ . 4985))
(byte-code "\204	 \301\300\302\"\210\302\207" [tcl-mode-abbrev-table define-abbrev-table nil] 3)
#@26 Keymap used in Tcl mode.
(defvar tcl-mode-map nil (#$ . 5177))
#@42 Syntax table in use in Tcl-mode buffers.
(defvar tcl-mode-syntax-table nil (#$ . 5246))
(byte-code "\204\213 \301 \302\303\304#\210\302\305\304#\210\302\306\304#\210\302\307\304#\210\302\310\304#\210\302\311\304#\210\302\312\304#\210\302\313\304#\210\302\314\304#\210\302\315\304#\210\302\316\304#\210\302\317\304#\210\302\320\304#\210\302\321\304#\210\302\322\304#\210\302\323\304#\210\302\324\325#\210\302\326\327#\210\302\330\331#\210\302\332\333#\210\302\334\333#\210\302\335\336#\210\301\207" [tcl-mode-syntax-table make-syntax-table modify-syntax-entry 37 "_" 64 38 42 43 45 46 58 33 36 47 126 60 61 62 124 40 "()" 41 ")(" 59 "." 10 ">   " 12 35 "<   "] 4)
#@35 Keymap used in Inferior Tcl mode.
(defvar inferior-tcl-mode-map nil (#$ . 5939))
#@27 XEmacs menu for Tcl mode.
(defvar tcl-xemacs-menu '(["Beginning of function" tcl-beginning-of-defun t] ["End of function" tcl-end-of-defun t] ["Mark function" tcl-mark-defun t] ["Indent region" indent-region (tcl-mark)] ["Comment region" comment-region (tcl-mark)] ["Uncomment region" tcl-uncomment-region (tcl-mark)] "----" ["Show Tcl process buffer" inferior-tcl t] ["Send function to Tcl process" tcl-eval-defun (and inferior-tcl-buffer (get-buffer inferior-tcl-buffer))] ["Send region to Tcl process" tcl-eval-region (and inferior-tcl-buffer (get-buffer inferior-tcl-buffer))] ["Send file to Tcl process" tcl-load-file (and inferior-tcl-buffer (get-buffer inferior-tcl-buffer))] ["Restart Tcl process with file" tcl-restart-with-file t] "----" ["Tcl help" tcl-help-on-word tcl-help-directory-list] ["Send bug report" tcl-submit-bug-report t]) (#$ . 6026))
(defalias 'tcl-add-emacs-menu #[(map) "\303\304\305\306!#\210\307\310!\210\311\306	\"\303\312\306\nB#\210\313\314\n\")\207" [map tcl-xemacs-menu menu define-key [menu-bar] make-sparse-keymap "Tcl" require lmenu make-lucid-menu-keymap [menu-bar tcl] x-popup-menu nil] 5])
(defalias 'tcl-fill-mode-map #[nil "\303\304\305#\210\303\306\307#\210\303\310\305#\210\303\311\305#\210\303\312\305#\210\303\313\314#\210\303\315\316#\210\303\317\320#\210\303\321\322#\210\303\323\324#\210\303\325\326#\210\303\327\330#\210\303\331\332#\210\303\333\334#\210\303\335\336#\210\337\340!\203f \303\341\340#\210\303\342\343#\210\303\344\334#\210\303\345\346#\210\303\347\350#\210\303\351\352#\210\303\353\354#\210	\205\226 \n?\205\226 \355!\207" [tcl-mode-map tcl-using-emacs-19 tcl-using-xemacs-19 define-key "{" tcl-electric-char "}" tcl-electric-brace "[" "]" ";" "#" tcl-electric-hash "" tcl-beginning-of-defun "" tcl-end-of-defun "" tcl-mark-defun "" indent-tcl-exp "" backward-delete-char-untabify "	" tcl-indent-command "\273" tcl-indent-for-comment "\230" tcl-eval-defun "" tcl-submit-bug-report fboundp comment-region "" "	" tcl-help-on-word "" "" tcl-load-file "" inferior-tcl "" tcl-eval-region "" switch-to-tcl tcl-add-emacs-menu] 4])
(defalias 'tcl-fill-inferior-map #[nil "\301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\317#\210\301\320\321#\210\301\322\315#\210\301\323\324#\210\301\325\326#\210\301\327\330#\210\301\331\332#\207" [inferior-tcl-mode-map define-key "	" comint-dynamic-complete "\277" comint-dynamic-list-filename-completions "" tcl-beginning-of-defun "" tcl-end-of-defun "" backward-delete-char-untabify "\230" tcl-eval-defun "" tcl-submit-bug-report "	" tcl-help-on-word "" "" tcl-load-file "" inferior-tcl "" tcl-eval-region "" switch-to-tcl] 4])
(byte-code "\204\n \303 \304 \210	\204 \305\n!\306 \210\303\207" [tcl-mode-map inferior-tcl-mode-map comint-mode-map make-sparse-keymap tcl-fill-mode-map copy-keymap tcl-fill-inferior-map] 2)
#@1643 *The current inferior-tcl process buffer.

MULTIPLE PROCESS SUPPORT
===========================================================================
To run multiple Tcl processes, you start the first up with
\[inferior-tcl].  It will be in a buffer named `*inferior-tcl*'.
Rename this buffer with \[rename-buffer].  You may now start up a new
process with another \[inferior-tcl].  It will be in a new buffer,
named `*inferior-tcl*'.  You can switch between the different process
buffers with \[switch-to-buffer].

Commands that send text from source buffers to Tcl processes -- like
`tcl-eval-defun' or `tcl-load-file' -- have to choose a process to
send to, when you have more than one Tcl process around.  This is
determined by the global variable `inferior-tcl-buffer'.  Suppose you
have three inferior Lisps running:
    Buffer              Process
    foo                 inferior-tcl
    bar                 inferior-tcl<2>
    *inferior-tcl*      inferior-tcl<3>
If you do a \[tcl-eval-defun] command on some Lisp source code, what
process do you send it to?

- If you're in a process buffer (foo, bar, or *inferior-tcl*), 
  you send it to that process.
- If you're in some other buffer (e.g., a source file), you
  send it to the process attached to buffer `inferior-tcl-buffer'.
This process selection is performed by function `inferior-tcl-proc'.

Whenever \[inferior-tcl] fires up a new process, it resets
`inferior-tcl-buffer' to be the new process's buffer.  If you only run
one process, this does the right thing.  If you run multiple
processes, you can change `inferior-tcl-buffer' to another process
buffer with \[set-variable].
(defvar inferior-tcl-buffer nil (#$ . -8998))
#@727 Hook run on entry to Tcl mode.

Several functions exist which are useful to run from your
`tcl-mode-hook' (see each function's documentation for more
information):

  tcl-guess-application
    Guesses a default setting for `tcl-application' based on any
    "#!" line at the top of the file.
  tcl-hashify-buffer
    Quotes all "#" characters that don't correspond to actual
    Tcl comments.  (Useful when editing code not originally created
    with this mode).
  tcl-auto-fill-mode
    Auto-filling of Tcl comments.

Add functions to the hook with `add-hook':

   (add-hook 'tcl-mode-hook 'tcl-guess-application)

Emacs 18 users must use `setq' instead:

   (setq tcl-mode-hook (cons 'tcl-guess-application tcl-mode-hook))
(defvar tcl-mode-hook nil (#$ . 10693))
#@41 Hook for customizing Inferior Tcl mode.
(defvar inferior-tcl-mode-hook nil (#$ . 11465))
#@205 List of commands whose first argument defines something.
This exists because some people (eg, me) use `defvar' et al.
Call `tcl-set-proc-regexp' and `tcl-set-font-lock-keywords'
after changing this list.
(defvar tcl-proc-list '("proc" "method" "itcl_class" "body" "configbody" "class") (#$ . 11561))
#@43 Regexp to use when matching proc headers.
(defvar tcl-proc-regexp nil (#$ . 11867))
#@128 List of Tcl keywords denoting "type".  Used only for highlighting.
Call `tcl-set-font-lock-keywords' after changing this list.
(defvar tcl-typeword-list '("global" "upvar" "inherit" "public" "protected" "private" "common" "itk_option" "variable") (#$ . 11958))
#@154 List of Tcl keywords.  Used only for highlighting.
Default list includes some TclX keywords.
Call `tcl-set-font-lock-keywords' after changing this list.
(defvar tcl-keyword-list '("if" "then" "else" "elseif" "for" "foreach" "break" "continue" "while" "eval" "case" "in" "switch" "default" "exit" "error" "proc" "return" "uplevel" "constructor" "destructor" "itcl_class" "loop" "for_array_keys" "for_recursive_glob" "for_file" "method" "body" "configbody" "class") (#$ . 12226))
#@213 Keywords to highlight for Tcl.  See variable `font-lock-keywords'.
This variable is generally set from `tcl-proc-regexp',
`tcl-typeword-list', and `tcl-keyword-list' by the function
`tcl-set-font-lock-keywords'.
(defvar tcl-font-lock-keywords nil (#$ . 12711))
#@791 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.
(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" nil tcl-expr tcl-expr tcl-commands) ("loop" nil tcl-expr tcl-commands)) (#$ . 12979))
#@69 If not `nil', debugging message will be printed during indentation.
(defvar tcl-explain-indentation nil (#$ . 14445))
#@69 t if Emacs supports "commentstop" argument to `parse-partial-sexp'.
(defconst tcl-pps-has-arg-6 (byte-code "\206\f 	\205\f \302\303\304\217\207" [tcl-using-emacs-19 tcl-using-xemacs-19 nil (byte-code "\300``\301\211\211\302&\210\302\207" [parse-partial-sexp nil t] 7) ((error))] 3) (#$ . 14569))
(byte-code "\301B\302\301\207" [current-load-list tcl-omit-ws-regexp "^[^ 	\n#}][^\n}]+}*[ 	]+"] 2)
#@135 Move backward to next beginning of defun.
With argument, do this that many times.
Returns t unless search stops due to end of buffer.
(defalias 'tcl-internal-beginning-of-defun #[(&optional arg) "\203\n \303U\203\f \304\305S\211\303Y\2036 \306\n\305\307\304$\211\2036 \310\311!\203 \306\n\305\307\304$\211\204\" \202 \312 \210	)??\207" [arg success tcl-omit-ws-regexp 0 1 nil re-search-backward move looking-at "[]#}]" beginning-of-line] 6 (#$ . 14977) "p"])
#@108 Move forward to next end of defun.
An end of a defun is found by moving forward from the beginning of one.
(defalias 'tcl-internal-end-of-defun #[(&optional arg) "\203\n \304U\203\f \305`\306y\210\307 \210\304V\205V \310\n\306\311\305$\2032 \312 \210\313\314!\2032 \306y\210\202 \212\306y\210`)`W\203E \315 \210\2029 )\306y\210`	V\203 S\211\202 )\207" [arg start tcl-omit-ws-regexp next-line 0 1 nil tcl-beginning-of-defun re-search-forward move beginning-of-line looking-at "[]#}]" forward-sexp] 6 (#$ . 15453) "p"])
(byte-code "\302\303\203\n \304\202 \305\"\210\302\306\203 	\204 \307\202 \310\"\207" [tcl-using-emacs-19 tcl-using-xemacs-19 defalias tcl-beginning-of-defun beginning-of-defun tcl-internal-beginning-of-defun tcl-end-of-defun end-of-defun tcl-internal-end-of-defun] 3)
#@54 Put mark at end of Tcl function, point at beginning.
(defalias 'tcl-internal-mark-defun #[nil "\301`!\210\302 \210\203 \301`\303\304#\210\202 \301`!\210\305 \210\306 \207" [tcl-using-emacs-19 push-mark tcl-end-of-defun nil t tcl-beginning-of-defun backward-paragraph] 4 (#$ . 16264) nil])
(byte-code "\301\203	 \302\202\n \303M\207" [tcl-using-emacs-19-23 tcl-mark-defun mark-defun tcl-internal-mark-defun] 2)
#@30 Return mark, or nil if none.
(defalias 'tcl-mark #[nil "\203 \301\302!\207\301 \207" [tcl-using-emacs-19 mark t] 2 (#$ . 16684)])
#@54 Set `tcl-proc-regexp' from variable `tcl-proc-list'.
(defalias 'tcl-set-proc-regexp #[nil "\302\303\304\305#\306Q\211\207" [tcl-proc-list tcl-proc-regexp "^\\s-*\\(" mapconcat identity "\\|" "\\)[ 	]+"] 5 (#$ . 16822)])
#@88 Set `tcl-font-lock-keywords'.
Uses variables `tcl-proc-regexp' and `tcl-keyword-list'.
(defalias 'tcl-set-font-lock-keywords #[nil "\304P\305\306E\307\310\311	\312#\313Q\305\314E\307\310\311\n\312#\313Q\305BE\211\207" [tcl-proc-regexp tcl-typeword-list tcl-keyword-list tcl-font-lock-keywords "\\([^ 	\n]+\\)" 2 font-lock-function-name-face "\\(\\s-\\|^\\)\\(" mapconcat identity "\\|" "\\)\\(\\s-\\|$\\)" font-lock-type-face] 7 (#$ . 17050)])
(byte-code "\204 \302 \210	\204 \303 \210\302\207" [tcl-proc-regexp tcl-font-lock-keywords tcl-set-proc-regexp tcl-set-font-lock-keywords] 1)
#@1302 Major mode for editing Tcl code.
Expression and list commands understand all Tcl brackets.
Tab indents for Tcl code.
Paragraphs are separated by blank lines only.
Delete converts tabs to spaces as it moves back.

Variables controlling indentation style:
  tcl-indent-level
    Indentation of Tcl statements within surrounding block.
  tcl-continued-indent-level
    Indentation of continuation line relative to first line of command.

Variables controlling user interaction with mode (see variable
documentation for details):
  tcl-tab-always-indent
    Controls action of TAB key.
  tcl-auto-newline
    Non-nil means automatically newline before and after braces, brackets,
    and semicolons inserted in Tcl code.
  tcl-electric-hash-style
    Controls action of `#' key.
  tcl-use-hairy-comment-detector
    If t, use more complicated, but slower, comment detector.
    This variable is only used in Emacs 19.
  tcl-use-smart-word-finder
    If not nil, use a smarter, Tcl-specific way to find the current
    word when looking up help on a Tcl command.

Turning on Tcl mode calls the value of the variable `tcl-mode-hook'
with no args, if that value is non-nil.  Read the documentation for
`tcl-mode-hook' to see what kinds of interesting hook functions
already exist.

Commands:
\{tcl-mode-map}
(defalias 'tcl-mode #[nil "\306 \210\307!\210\310\311\312!\210\313\314!\210\313\315!\210>\203. ?\316Y\203. \317\f\317\2027 \320@P\211\f\313\321!\210\322\313\323!\210\324\313\325!\210\326\313\327!\210\330\313\331!\210\332\313\333!\210\334\313\335!\210\336\313\337!\210\340\313\341!\210\342!\313\343!\210\344#\313\345!\210\346%\313\347!\210\313\350!\210\351(\313\352!\210\351*\313\353!\210\354+\313\355!\210\356-A\203\276 \322'\313\357!\210B/\313\360!\210\3610\202\301 \351'C\203\341 D\203\341 \362\311D\"\204\341 \363\364D!!\210\365\351\311E#\210C\203\364 \366\367!\203\364 \n\370PEB7\371\372!\203\375 \373 \210\374\375!\207" [tcl-mode-map major-mode mode-name tcl-mode-abbrev-table local-abbrev-table tcl-mode-syntax-table kill-all-local-variables use-local-map tcl-mode "Tcl" set-syntax-table make-local-variable paragraph-start paragraph-separate 29 "$\\|\f" "^$\\|" paragraph-ignore-fill-prefix t fill-paragraph-function tcl-do-fill-paragraph indent-line-function tcl-indent-line comment-start "# " comment-start-skip "#+ *" comment-column 40 comment-end "" outline-regexp "[^\n]" outline-level tcl-outline-level font-lock-defaults (tcl-font-lock-keywords) imenu-create-index-function tcl-imenu-create-index-function parse-sexp-ignore-comments dabbrev-case-fold-search nil dabbrev-case-replace dabbrev-abbrev-skip-leading-regexp "[$!]" dabbrev-abbrev-char-regexp "\\sw\\|\\s_" defun-prompt-regexp add-log-current-defun-function add-log-tcl-defun assoc set-buffer-menubar copy-sequence add-menu boundp mode-popup-menu " Mode Commands" featurep hilit19 tcl-hilit run-hooks tcl-mode-hook tcl-using-emacs-19-23 emacs-minor-version page-delimiter tcl-using-emacs-19 tcl-omit-ws-regexp tcl-using-xemacs-19 current-menubar tcl-xemacs-menu] 5 (#$ . 17649) nil])
#@50 Insert character and correct line's indentation.
(defalias 'tcl-electric-char #[(arg) "\303 \210\304!\210	\205 \n\305U\205 \306 \210\303 \207" [arg tcl-auto-newline last-command-char tcl-indent-line self-insert-command 59 newline] 2 (#$ . 20766) "p"])
#@50 Insert character and correct line's indentation.
(defalias 'tcl-electric-brace #[(arg) "\203* \212\303\304x\210n)\204 \305 \210\306 \210	\307V\203. \nc\210\305 \210\306 \210	S\211\202 \310	!\210\305 \207" [tcl-auto-newline arg last-command-char " 	" nil tcl-indent-line newline 0 self-insert-command] 3 (#$ . 21027) "p"])
#@688 Indent current line as Tcl code, or in some cases insert a tab character.
If `tcl-tab-always-indent' is t (the default), always indent current line.
If `tcl-tab-always-indent' is nil and point is not in the indentation
area at the beginning of the line, a TAB is inserted.
Other values of `tcl-tab-always-indent' cause the first possible action
from the following list to take place:

  1. Move from beginning of line to correct indentation.
  2. Delete an empty comment.
  3. Move forward to start of comment, indenting if necessary.
  4. Move forward to end of line, indenting if necessary.
  5. Create an empty comment.
  6. Move backward to start of comment, indenting if necessary.
(defalias 'tcl-indent-command #[(&optional arg) "\204 i\305 X\203 \306 \207\307	!\207\310=\203 \306 \207`\311\210`\312 \n\212\313 \210`)U\203K \313 \210\306 \210`\212\313 \210`)U\203F \311\202\223 \314 \202\223 \f\203b \315\316!\203b \317u\210\320\311x\210`|\202\223 \f\203t \n`W\203t \306 \210\321 \202\223 \nU\204\202 b\210\306 \202\223 \f\204\216 \306 \210\322 \202\223 \306 \210\321 +\207" [tcl-tab-always-indent arg ipoint eolpoint comment-p current-indentation tcl-indent-line insert-tab t nil tcl-in-comment beginning-of-line back-to-indentation looking-at "[ 	]*$" -1 " 	;" indent-for-comment tcl-indent-for-comment] 2 (#$ . 21360) "p"])
#@80 Indent current line as Tcl code.
Return the amount the indentation changed by.
(defalias 'tcl-indent-line #[nil "\306\307!\307\211\211d`Z\310 \210`\f\307=\203 \311 \202A \312\307w\210\f<\203+ \f@g\313U\2038 \fZ\202A g\314U\203A \fS\312\307w\210\fiZ\315\n!\203_ dZ`V\203s dZb\210\202s `|\210\fj\210dZ`V\203s dZb\210\n-\207" [pos case-fold-search shift-amt beg indent tcl-indent-level calculate-tcl-indent nil beginning-of-line current-indentation " 	" 125 93 zerop] 6 (#$ . 22712)])
#@207 Determine type of sexp at point.
This is either `tcl-expr', `tcl-commands', or nil.  Puts point at start
of sexp that indicates types.

See documentation for variable `tcl-type-alist' for more information.
(defalias 'tcl-figure-type #[nil "\304\305\211\211\306W\203 	\204 \305\307\310\217\210\nT\211\202 \203% \311\312	\"\210	+\207" [word-stack result count tcl-explain-indentation 0 nil 5 (byte-code "\306 \210\307\310!\203_ \311\312 B\n\203[ \f\204[ \n@\nA\313	\203G \fX\203G 	@;\203> 	@8\230\204> \311	AT\202\" \fV\203W 	@;\204W 	@)\202 *\202c \311B\311\207" [tcl-type-alist entry list word-stack result index backward-sexp looking-at "[a-zA-Z_]+" nil tcl-word-no-props 0 count] 3) ((error)) message "Indentation type %s"] 4 (#$ . 23219)])
#@184 Return appropriate indentation for current line as Tcl code.
In usual case returns an integer: the column to indent to.
Returns nil if line starts inside a string, t if in a comment.
(defalias 'calculate-tcl-indent #[(&optional parse-start) "\212\306 \210`\307\212o?\205 \310u\210h\311U)\211\203 \202 \312\307\307\307\2034 b\210\2027 \313 \210`W\203N `\314`\312#\211A@\2027 \3158\204Z \3168\203` \3168\202\373 \204i \f\202\373 b\210\317 \211\320=\321=`b\210\307u\210`W\203\252 \322\323!\203\252 \307y\210`W\203\252 \322\323!\203\252 \324\307y\210\202\225 \n\204\273 f\325U\203\273 \203\325 `Y\203\313 b\210\307u\210\202\317 \326\307w\210i\f\\\202\372 `W\203\345 \203\345 \327 \202\372 \203\361 b\210\202\365 b\210\327 \\,.\207" [indent-point case-fold-search continued-line tcl-continued-indent-level continued-indent-value state beginning-of-line nil -1 92 0 tcl-beginning-of-defun parse-partial-sexp 3 4 tcl-figure-type tcl-expr tcl-commands looking-at "[ 	]*\\(#.*\\)?$" t 123 " 	" current-indentation containing-sexp found-next-line parse-start sexpr-type expr-p commands-p expr-start tcl-indent-level] 5 (#$ . 23999)])
#@55 Indent each line of the Tcl grouping following point.
(defalias 'indent-tcl-exp #[nil "\306C`C\306\211\211\211\211\211\211\211\307\306\212\310\311!\210)\212\306m?\205~?\205~	\306\204\222 m\203J \312\211\204\222 \313`\306\210`\306\211%\211@AA@\203u AA@\307Y\203u AA@\3148\203~ \315 \210\3168\203\213 \311y\210\202: \312\211\203? 	\307X\203\233 \312\204* \3178V\203\272 AAS\211\202\241 	U\204\302 \306	W\203\333 \306B\306BT\211\202\303 @\204\363 A@\206\361 \212\310\320!\210`)\240\210\311y\210\212\320u\210h\321U)\322\306w\210l\204* @\203@\307Y\203@\2025\323@\205'@[!\211\240\210\306)\f\247\203Qg\324U\203H\fZ\202Qg\325U\203Q\fS\f\203* i\n\203a\f\\\202b\fU\204* `\326 \210`|\210\n\203x\f\\\202y\fj\210\202* .\207" [last-depth next-depth continued-line last-sexp this-indent ostate nil 0 forward-sexp 1 t parse-partial-sexp 4 tcl-indent-line 3 6 -1 92 " 	" calculate-tcl-indent 125 93 beginning-of-line state inner-loop-done outer-loop-done case-fold-search contain-stack indent-stack val tcl-indent-level] 13 (#$ . 25195) nil])
#@38 Generate alist of indices for imenu.
(defalias 'tcl-imenu-create-index-function #[nil "\306P\307\211eb\210\f\203 \310\311\f\"\210)\312 \313\216\314\307\315#\203M \f\203? \316\307!\211	\317\\V\203> \311\f\"\210)\320\224\320\225{\320\224B\nB\202 *\f\203\\ \321\311\f\"\210)\n\237+\207" [tcl-proc-regexp prev-pos alist re imenu-scanning-message pos "\\([^ 	\n{]+\\)" nil 0 message match-data ((set-match-data save-match-data-internal)) re-search-forward t imenu--relative-position 5 2 100 save-match-data-internal] 5 (#$ . 26358)])
#@50 Return name of Tcl function point is in, or nil.
(defalias 'add-log-tcl-defun #[nil "\212\301\210\302\303P\301\304#\205 \305\224\305\225{)\207" [tcl-proc-regexp nil re-search-backward "\\([^ 	\n{]+\\)" t 2] 4 (#$ . 26915)])
(defalias 'tcl-outline-level #[nil "\212\300\301w\210i)\207" [" 	" nil] 2])
(byte-code "\301B\302\301!\204\f \303\303\207" [current-load-list inferior-tcl-delete-prompt-marker boundp nil] 2)
(defalias 'tcl-filter #[(proc string) "\306\212\307	!q\210\310	!b\210\311\n!\203 `\n|\210\n\312\211\223\210*\203& \305	\f\"\207\f!\207" [inhibit-quit proc inferior-tcl-delete-prompt-marker tcl-using-emacs-19 string comint-output-filter t process-buffer process-mark marker-buffer nil] 3])
(defalias 'tcl-send-string #[(proc string) "\212\304!q\210\305!b\210\306 \210\307	!\203 \n`\310\223\210)\311\"\207" [proc comint-prompt-regexp inferior-tcl-delete-prompt-marker string process-buffer process-mark beginning-of-line looking-at nil comint-send-string] 3])
(defalias 'tcl-send-region #[(proc start end) "\212\305!q\210\306!b\210\307 \210\310	!\203 \n`\311\223\210)\312\f#\207" [proc comint-prompt-regexp inferior-tcl-delete-prompt-marker start end process-buffer process-mark beginning-of-line looking-at nil comint-send-region] 4])
#@90 Switch to inferior Tcl process buffer.
With argument, positions cursor at end of buffer.
(defalias 'switch-to-tcl #[(eob-p) "\302!\203 \303!\210\202 \304\305!\210	\205 \306 \210db\207" [inferior-tcl-buffer eob-p get-buffer pop-to-buffer error "No current inferior Tcl buffer" push-mark] 2 (#$ . 28190) "P"])
#@74 Return current inferior Tcl process.
See variable `inferior-tcl-buffer'.
(defalias 'inferior-tcl-proc #[nil "\303\304=\203 p\202\f 	!\211\206 \305\306!)\207" [major-mode inferior-tcl-buffer proc get-buffer-process inferior-tcl-mode error "No Tcl process; see variable `inferior-tcl-buffer'"] 4 (#$ . 28509)])
#@113 Send the current region to the inferior Tcl process.
Prefix argument means switch to the Tcl buffer afterwards.
(defalias 'tcl-eval-region #[(start end &optional and-go) "\304 \305	\n#\210\306\307\"\210\205 \310\311!)\207" [proc start end and-go inferior-tcl-proc tcl-send-region tcl-send-string "\n" switch-to-tcl t] 4 (#$ . 28829) "r\nP"])
#@112 Send the current defun to the inferior Tcl process.
Prefix argument means switch to the Tcl buffer afterwards.
(defalias 'tcl-eval-defun #[(&optional and-go) "\212\302 \210`\303 \210\304`\"\210*	\205 \305\306!\207" [end and-go tcl-end-of-defun tcl-beginning-of-defun tcl-eval-region switch-to-tcl t] 3 (#$ . 29183) "P"])
#@792 Major mode for interacting with Tcl interpreter.

A Tcl process can be started with M-x inferior-tcl.

Entry to this mode runs the normal hooks `comint-mode-hook' and
`inferior-tcl-mode-hook', in that order.

You can send text to the inferior Tcl process from other buffers
containing Tcl source.

Variables controlling Inferior Tcl mode:
  tcl-application
    Name of program to run.
  tcl-command-switches
    Command line arguments to `tcl-application'.
  tcl-prompt-regexp
    Matches prompt.
  inferior-tcl-source-command
    Command to use to read Tcl file in running application.
  inferior-tcl-buffer
    The current inferior Tcl process buffer.  See variable
    documentation for details on multiple-process support.

The following commands are available:
\{inferior-tcl-mode-map}
(defalias 'inferior-tcl-mode #[nil "\306 \210\206 \307\310	!\311Q\312\313\314\305!\203 \315\202  \316\317!\210\320!\210\203; \321\322!\210 \321\323!\210\324 \325\326p!\327\"\210\330\331!\207" [tcl-prompt-regexp tcl-application comint-prompt-regexp major-mode mode-name modeline-process comint-mode "^" regexp-quote ">" inferior-tcl-mode "Inferior Tcl" boundp (": %s") (": %s") use-local-map set-syntax-table make-local-variable defun-prompt-regexp inferior-tcl-delete-prompt-marker make-marker set-process-filter get-buffer-process tcl-filter run-hooks inferior-tcl-mode-hook mode-line-process inferior-tcl-mode-map tcl-mode-abbrev-table local-abbrev-table tcl-mode-syntax-table tcl-using-emacs-19 tcl-omit-ws-regexp] 3 (#$ . 29514) nil])
#@151 Run inferior Tcl process.
Prefix arg means enter program name interactively.
See documentation for function `inferior-tcl-mode' for more information.
(defalias 'inferior-tcl #[(cmd) "\304\305!\204 \306\307\310\311	%q\210\312 \210\313\302!\210\305\314\305!\207" [cmd tcl-command-switches tcl-application inferior-tcl-buffer comint-check-proc "*inferior-tcl*" apply make-comint "inferior-tcl" nil inferior-tcl-mode make-local-variable switch-to-buffer] 6 (#$ . 31075) (list (if current-prefix-arg (read-string "Run Tcl: " tcl-application) tcl-application))])
(byte-code "\300\301!\203 \301\302\303\"\210\300\207" [fboundp defalias run-tcl inferior-tcl] 3)
#@191 Return nil if point is not at the beginning of a command.
A command is the first word on an otherwise empty line, or the
first word following a semicolon, opening brace, or opening bracket.
(defalias 'tcl-real-command-p #[nil "\212\300\301x\210o\203 \302\202 n\203 \303u\210h\304=?\202 h\305>)\207" [" 	" nil t -1 92 (59 123 91)] 2 (#$ . 31742)])
#@305 Return t if point is just after the `#' beginning a real comment.
Does not check to see if previous char is actually `#'.
A real comment is either at the beginning of the buffer,
preceeded only by whitespace on the line, or has a preceeding
semicolon, opening brace, or opening bracket on the same line.
(defalias 'tcl-real-comment-p #[nil "\212\300u\210\301 )\207" [-1 tcl-real-command-p] 1 (#$ . 32100)])
#@376 Determine if point is in a comment.
Returns a list of the form `(FLAG . STATE)'.  STATE can be used
as input to future invocations.  FLAG is nil if not in comment,
t otherwise.  If in comment, leaves point at beginning of comment.

This function does not work in Emacs 18.
See also `tcl-simple-scan-for-comment', a
simpler version that is often right, and works in Emacs 18.
(defalias 'tcl-hairy-scan-for-comment #[(state end always-stop) "\212b\210\306 \210`)\307\211	\204L `W\203L \307\310`\307\211\f\311&\312\f8\203 \2030 `\313 \211\203C `V\203? `\306\314!\210\312\f\233\307\240\210\202 	\203S 	b\210\n\f+B\207" [end last-cstart real-comment bol state always-stop beginning-of-line nil parse-partial-sexp t 4 tcl-real-comment-p 2] 8 (#$ . 32514)])
#@77 Return t if point is in a comment, and leave point at beginning of comment.
(defalias 'tcl-hairy-in-comment #[nil "`\301 \210\302\303\303#@)\207" [save tcl-beginning-of-defun tcl-hairy-scan-for-comment nil] 4 (#$ . 33287)])
#@146 Return t if point is in comment, and leave point at beginning of comment.
This is faster that `tcl-hairy-in-comment', but is correct less often.
(defalias 'tcl-simple-in-comment #[nil "`\302\303 \210`	W\203 \204 \304\305	\306#\210\307 \202 *\207" [comment save nil beginning-of-line search-forward "#" move tcl-real-comment-p] 4 (#$ . 33520)])
#@75 Return t if point is in comment, and leave point at beginning of comment.
(defalias 'tcl-in-comment #[nil "\203 	\203 \302 \207\303 \207" [tcl-pps-has-arg-6 tcl-use-hairy-comment-detector tcl-hairy-in-comment tcl-simple-in-comment] 1 (#$ . 33878)])
#@65 fill-paragraph function for Tcl mode.  Only fills in a comment.
(defalias 'tcl-do-fill-paragraph #[(ignore) "\306\211\211\212\306\210\307 \211\203 `TiS)\n\203a \212\310 \210	iU)\203a \311 \210`{\306\211\212\312\313!\203C o\204C \314y\210\2023 `)\212\312\313!\203S \306y\210\202G `)\214\f}\210\315!\210,+\316\207" [where col in-comment p-end p-start fill-prefix nil tcl-in-comment back-to-indentation beginning-of-line looking-at "^[ 	]*#[ 	]*[^ 	\n]" -1 fill-paragraph t ignore] 4 (#$ . 34136)])
#@65 Auto-fill function for Tcl mode.  Only auto-fills in a comment.
(defalias 'tcl-do-auto-fill #[nil "iV\2050 \304\305\211\212\306 \211\203 iS)\n\205/ \307 \210\212\310 \210`\212\311 \210`)|\210	j)+\207" [fill-column col in-comment fill-prefix "# " nil tcl-in-comment do-auto-fill back-to-indentation beginning-of-line] 4 (#$ . 34655)])
#@115 Saved help directories.
If `tcl-help-directory-list' changes, this allows `tcl-help-on-word'
to update the alist.
(defvar tcl-help-saved-dirs nil (#$ . 35003))
#@59 Alist with command names as keys and filenames as values.
(defvar tcl-help-alist nil (#$ . 35169))
#@40 Build alist of commands and filenames.
(defalias 'tcl-help-snarf-commands #[(dirlist) "\205Z \305@\306\"\211\203Q \307	@!\203J \310	@!\211\311\232\206# \n\312\232)\204J \305	@\306\"\211\203I \307@!\204B \310@!@B\fBA\211\2041 )	A\211\204 )A\211\204 \313\207" [dirlist files fpart matches tcl-help-alist directory-files t file-directory-p file-name-nondirectory "." ".." nil] 4 (#$ . 35274)])
#@42 Set up to re-read files, and then do it.
(defalias 'tcl-reread-help-files #[nil "\303\304!\210\305\306!\210\303\307!\207" [tcl-help-directory-list tcl-help-saved-dirs tcl-help-alist message "Building Tcl help file index..." nil tcl-help-snarf-commands "Building Tcl help file index...done"] 2 (#$ . 35687) nil])
#@43 Like current-word, but strips properties.
(defalias 'tcl-word-no-props #[nil "\301 \302\303!\203 \303\304G\305$\210)\207" [word current-word fboundp set-text-properties 0 nil] 5 (#$ . 36009)])
#@139 Return current command word, or nil.
If FLAG is nil, just uses `current-word'.
Otherwise scans backward for most likely Tcl command word.
(defalias 'tcl-current-word #[(flag) "\203 	\302>\203 \303\304\305\217\207\306 \207" [flag major-mode (tcl-mode inferior-tcl-mode) nil (byte-code "\212o\204 o\204 \301 \204 \302 \210\202 \303\304 \"\205 \304 )\207" [tcl-help-alist tcl-real-command-p backward-sexp assoc tcl-word-no-props] 3) ((error)) tcl-word-no-props] 3 (#$ . 36214)])
#@120 Get help on Tcl command.  Default is word at point.
Prefix argument means invert sense of `tcl-use-smart-word-finder'.
(defalias 'tcl-help-on-word #[(command &optional arg) "	\232\204	 \306 \210\n\307\230\203 \310\203 \f?\202 \f!\311\312!\313\n\"\211\205. Aq\210ed|\210\203J \314\n\315\261\210\316!\210\202\\ \n\307\230\203V \317c\210\202\\ \320\n\321\261\210\322\323!\210eb\210\324!+\207" [tcl-help-directory-list tcl-help-saved-dirs command arg tcl-use-smart-word-finder help tcl-reread-help-files "" tcl-current-word get-buffer-create "*Tcl help*" assoc "*** " "\n\n" insert-file-contents "Magical Pig!" "Tcl command " " not in help\n" set-buffer-modified-p nil display-buffer tcl-help-alist cell file] 4 (#$ . 36706) (list (progn (if (not (equal tcl-help-directory-list tcl-help-saved-dirs)) (tcl-reread-help-files)) (let ((word (tcl-current-word (if current-prefix-arg (not tcl-use-smart-word-finder) tcl-use-smart-word-finder)))) (completing-read (if (or (null word) (string= word "")) "Help on Tcl command: " (format "Help on Tcl command (default %s): " word)) tcl-help-alist nil t))) current-prefix-arg)])
#@150 Record last directory and file used in loading.
This holds a cons cell of the form `(DIRECTORY . FILE)'
describing the last `tcl-load-file' command.
(defvar tcl-previous-dir/file nil (#$ . 37850))
#@107 Load a Tcl file into the inferior Tcl process.
Prefix argument means switch to the Tcl buffer afterwards.
(defalias 'tcl-load-file #[(file &optional and-go) "\304!\210\305!\306!B\307\310 \311\n\312!\"\"\210\205 \313\314!\207" [file tcl-previous-dir/file inferior-tcl-source-command and-go comint-check-source file-name-directory file-name-nondirectory tcl-send-string inferior-tcl-proc format tcl-quote switch-to-tcl t] 6 (#$ . 38054) (list (car (comint-get-source "Load Tcl file: " (or (and (eq major-mode 'tcl-mode) (buffer-file-name)) tcl-previous-dir/file) '(tcl-mode) t)) current-prefix-arg)])
#@147 Restart inferior Tcl with file.
If an inferior Tcl process exists, it is killed first.
Prefix argument means switch to the Tcl buffer afterwards.
(defalias 'tcl-restart-with-file #[(file &optional and-go) "\306=\203\n p\202 	\211\205 \307\n!\n\203 \310\n!\204* \311\f!\210\312\"\202b \313\n!\2036 \314\315!\205b \212\316!\210\317!\320!B\321\322\n!\203R \323!\202S \324\f%\210\205a \325\326!)*\207" [major-mode inferior-tcl-buffer buf proc tcl-application file inferior-tcl-mode get-process get-buffer inferior-tcl tcl-load-file comint-check-proc yes-or-no-p "A Tcl process is running, are you sure you want to reset it? " comint-check-source file-name-directory file-name-nondirectory comint-exec get-buffer-create process-name "inferior-tcl" switch-to-tcl t and-go tcl-previous-dir/file tcl-command-switches] 7 (#$ . 38667) (list (car (comint-get-source "Restart with Tcl file: " (or (and (eq major-mode 'tcl-mode) (buffer-file-name)) tcl-previous-dir/file) '(tcl-mode) t)) current-prefix-arg)])
#@62 Like `auto-fill-mode', but controls filling of Tcl comments.
(defalias 'tcl-auto-fill-mode #[(&optional arg) "\204 \303\304!\210	\204 \n?\202 \305	!\306V\205 \307\211\310 \210\207" [tcl-using-emacs-19 arg auto-fill-function error "This feature is not supported in Emacs 18" prefix-numeric-value 0 tcl-do-auto-fill force-mode-line-update] 2 (#$ . 39691) "P"])
(defalias 'tcl-hilit #[nil "\300\301\302\"\207" [hilit-set-mode-patterns (tcl-mode) (("\\(^ *\\|; *\\)#.*$" nil comment) ("[^\\]\\(\\$[A-Za-z0-9\\-\\_./\\(\\)]+\\)" 1 label) ("[^_]\\<\\(append\\|array\\|auto_execok\\|auto_load\\|auto_mkindex\\|auto_reset\\|break\\|case\\|catch\\|cd\\|close\\|concat\\|continue\\|eof\\|error\\|eval\\|exec\\|exit\\|expr\\|file\\|flush\\|for\\|foreach\\|format\\|gets\\|glob\\|global\\|history\\|if\\|incr\\|info\\|join\\|lappend\\|lindex\\|linsert\\|list\\|llength\\|lrange\\|lreplace\\|lsearch\\|lsort\\|open\\|pid\\|proc\\|puts\\|pwd\\|read\\|regexp\\|regsub\\|rename\\|return\\|scan\\|seek\\|set\\|source\\|split\\|string\\|switch\\|tell\\|time\\|trace\\|unknown\\|unset\\|uplevel\\|upvar\\|while\\)\\>[^_]" 1 keyword) ("[^_]\\<\\(after\\|bell\\|bind\\|bindtags\\|clipboard\\|destroy\\|fileevent\\|focus\\|grab\\|image\\|lower\\|option\\|pack\\|place\\|raise\\|scale\\|selection\\|send\\|subst\\|tk\\|tk_popup\\|tkwait\\|update\\|winfo\\|wm\\)\\>[^_]" 1 define) ("[^_]\\<\\(button\\|canvas\\|checkbutton\\|entry\\|frame\\|label\\|listbox\\|menu\\|menubutton\\|message\\|radiobutton\\|scrollbar\\|text\\|toplevel\\)\\>[^_]" 1 decl) ("[^_]\\<\\(tix\\((ButtonBox\\|Baloon\\|Control\\|DirList\\|ExFileSelectBox\\|ExFileSelectDialog\\|FileEntry\\|HList\\|LabelEntry\\|LabelFrame\\|NoteBook\\|OptionMenu\\|PanedWindow\\|PopupMenu\\|ScrolledHList\\|ScrolledText\\|ScrolledWindow\\|Select\\|StdButtonBox\\)\\)\\>[^_]" 1 defun) ("[{}\\\"\\(\\)]" nil include))] 3])
#@175 Insert a `#' and quote if it does not start a real comment.
Prefix arg is number of `#'s to insert.
See variable `tcl-electric-hash-style' for description of quoting
styles.
(defalias 'tcl-electric-hash #[(&optional count) "\204 \305\306V\205l 	\307=\203  \310V\203 \311\202! \312\202! 	\313\211\203g \212\314c\210\315 )\316\305!\210\f\203= \317\320\n\"\210\311=\203M \n\204g \321c\210\202g \312=\203g \n\204g \306V\203g \322c\210S\211\202X \323\324\"*\207" [count tcl-electric-hash-style comment type tcl-explain-indentation 1 0 smart 3 quote backslash nil "#" tcl-in-comment delete-char message "comment: %s" "\"" "\\#" insert-char 35] 4 (#$ . 41555) "p"])
#@60 Quote all `#'s in current buffer that aren't Tcl comments.
(defalias 'tcl-hashify-buffer #[nil "\212eb\210\203A 	\203A \304\211`dW\205= \305d\306#\211@\203( \307\310!\210\2027 \311u\210g\312=\2034 \313c\210\304u\210\nA\202 *\202m `dW\205m \314\315\304\316#\205m \317 \203[ \307\310!\210\202A \311u\210h\320=\204g \313c\210\304u\210\202A )\207" [tcl-pps-has-arg-6 tcl-use-hairy-comment-detector result state nil tcl-hairy-scan-for-comment t beginning-of-line 2 -1 35 "\\" search-forward "#" move tcl-real-comment-p 92] 5 (#$ . 42235) nil])
#@166 Indent this line's comment to comment column, or insert an empty comment.
Is smart about syntax of Tcl comments.
Parts of this were taken from `indent-for-comment'.
(defalias 'tcl-indent-for-comment #[nil "\306\210\307 \204, \310\306x\210`\311 \210`U\204+ b\210\312 \203# \313\202$ \314\315\261\210\316u\210)	 \2062 \n\316u\210`\211U\204N \310\212\311 \210`)x\210`\f|\210j\210\317!\210\320\225b*\207" [eolpoint comment-indent-function comment-column indent begpos comment-start-skip nil tcl-in-comment " 	" beginning-of-line tcl-real-command-p "" ";" "# " -1 looking-at 0] 3 (#$ . 42788) "*"])
#@120 Attempt to guess Tcl application by looking at first line.
The first line is assumed to look like "#!.../program ...".
(defalias 'tcl-guess-application #[nil "\212eb\210\301\302!\205 \303\300!\210\304\224\304\225{\211)\207" [tcl-application looking-at "#![^ 	]*/\\([^ 	\n/]+\\)\\([ 	]\\|$\\)" make-local-variable 1] 2 (#$ . 43399)])
#@19 Uncomment region.
(defalias 'tcl-uncomment-region #[(beg end) "\302	\303#\207" [beg end comment-region -1] 4 (#$ . 43740) "r"])
(defalias 'tcl-popup-menu #[(e) "\203 	\204 \n\203 \304\305!\210\202 \304\306\307\"\210\310!\207" [tcl-using-emacs-19 tcl-using-xemacs-19 tcl-using-emacs-19-23 tcl-xemacs-menu require lmenu menubar "lmenu" popup-menu] 3 nil "@e"])
#@38 Quote STRING according to Tcl rules.
(defalias 'tcl-quote #[(string) "\301\302\303#\207" [string mapconcat #[(char) "\301>\203\f \302\303!P\207\303!\207" [char (91 93 123 125 92 34 36 32 59) "\\" char-to-string] 3] ""] 4 (#$ . 44112)])
(fboundp 'eval-when-compile)
#@43 Submit via mail a bug report on Tcl mode.
(defalias 'tcl-submit-bug-report #[nil "\302\303!\210\304\305!\205 \306\307	P\310#\207" [tcl-maintainer tcl-version require reporter y-or-n-p "Do you really want to submit a bug report on Tcl mode? " reporter-submit-bug-report "Tcl mode " (tcl-indent-level tcl-continued-indent-level tcl-auto-newline tcl-tab-always-indent tcl-use-hairy-comment-detector tcl-electric-hash-style tcl-help-directory-list tcl-use-smart-word-finder tcl-application tcl-command-switches tcl-prompt-regexp inferior-tcl-source-command tcl-using-emacs-19 tcl-using-emacs-19-23 tcl-using-xemacs-19 tcl-proc-list tcl-proc-regexp tcl-typeword-list tcl-keyword-list tcl-font-lock-keywords tcl-pps-has-arg-6)] 4 (#$ . 44387) nil])
(provide 'tcl)
