these 2 functions do eval code of your source code the way tcl-eval-region does, but they prevent output by replacing ;;; with dummy code.
(defun tcl-eval-region-no-output ()
"my own tcl-eval-region,
before sending a region to the tcl-process this function replaces
;;;
with
;; set tcl-eval-no-output {} ;;
in order to prevent unwanted outputs"
(interactive) (local-set-key (kbd "C-c C-r") 'tcl-eval-region-no-output) (let* ((proc (inferior-tcl-proc)) (s1 (buffer-substring (region-beginning) (region-end))) (s2 (replace-regexp-in-string ";;;" ";; set tcl-eval-no-output {};;" s1))) (tcl-send-string proc s2)) )
(defun robert-tcl-eval-line-no-output ()
"my own tcl-eval-line.
before sending the tcl-code to the tcl-process it replaces
;;; => ;; set tcl-eval-no-output {} ;;
in order to prevent unwanted outputs"
(interactive) (local-set-key (kbd "C-c C-l") 'tcl-eval-line-no-output) (let* ((proc (inferior-tcl-proc)) (s1 (buffer-substring-no-properties (point-at-bol) (point-at-eol))) (s2 (replace-regexp-in-string ";;;" ";; set tcl-eval-no-output {};;" s1)) (s3 (concat s2 "\n"))) (tcl-send-string proc s3) (next-line)) )