 
 The latter is skipped if the previous line isn't a comment or is a comment
 containing only whitespace.
-{jpw: 6/05}"
+{jpw: 7/06}"
   (interactive "p")
   (tcl-indent-command arg)
   (back-to-indentation)

(defun jpw-tcl-comment-indent-relative ()
  "Do not call this function directly.  Instead, use
`jpw-smart-indent-relative'.
{jpw: 6/05}"
  (back-to-indentation)
  (skip-syntax-forward " <")
  (indent-relative)
  )


(defun jpw-tcl-indent-command (&optional arg)
  "Enhanced indentation for TCL code.
{jpw: 6/05}"
  (interactive "p")
  (cond
   ;; Comment Case 
   ((or (= (following-char) ?#)
        (save-excursion
          (beginning-of-line)
          (looking-at "^\\s *#"))
        );;end or
    (jpw-tcl-comment-indent-command arg)
    );; end Comment Case
   ;; Default
   (t
    (tcl-indent-command arg)
    );; end default case
   );; end cond
  )


(defun jpw-smart-indent-relative (&optional arg)
  "Context-sensitive version of indent-relative.
{jpw: 6/05}"
  (interactive "p")
  (back-to-indentation)
  (if (or (= (following-char) ?#)
          (save-excursion (beginning-of-line)
                          (looking-at "^\\s *#"))
          );;end or
      (jpw-tcl-comment-indent-relative)
    ;; else
    (indent-relative)

  "Perform \"normal\" indenting on the first stroke of the TAB key.
Back-to-back TAB keystrokes, however, indent relative to the current
position.
{jpw: 7/06}"
  (interactive "p")
  (let* ( (last-100-keys (recent-keys))
          (i (1- (length last-100-keys)))
