summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhobbs <hobbs>2005-05-31 04:58:00 (GMT)
committerhobbs <hobbs>2005-05-31 04:58:00 (GMT)
commit38a21869ce61c480372f9a86ac3eaf5b27c3d38c (patch)
treebc074b56b8e8ea721c9ef9d124435a09d70675c6
parent5db6ce30535f1bf160e4d191bf2c0b0316714930 (diff)
downloadtk-38a21869ce61c480372f9a86ac3eaf5b27c3d38c.zip
tk-38a21869ce61c480372f9a86ac3eaf5b27c3d38c.tar.gz
tk-38a21869ce61c480372f9a86ac3eaf5b27c3d38c.tar.bz2
more elaborate variant of getting first prompt shown to avoid
a puts call.
-rw-r--r--library/console.tcl16
1 files changed, 14 insertions, 2 deletions
diff --git a/library/console.tcl b/library/console.tcl
index 0f4e983..041423f 100644
--- a/library/console.tcl
+++ b/library/console.tcl
@@ -4,7 +4,7 @@
# can be used by non-unix systems that do not have built-in support
# for shells.
#
-# RCS: @(#) $Id: console.tcl,v 1.22.2.2 2005/05/30 23:40:33 hobbs Exp $
+# RCS: @(#) $Id: console.tcl,v 1.22.2.3 2005/05/31 04:58:00 hobbs Exp $
#
# Copyright (c) 1995-1997 Sun Microsystems, Inc.
# Copyright (c) 1998-2000 Ajuba Solutions.
@@ -138,7 +138,19 @@ proc ::tk::ConsoleInit {} {
$con mark set promptEnd insert
$con mark gravity promptEnd left
- ConsolePrompt
+ # A variant of ConsolePrompt to avoid a 'puts' call
+ set w $con
+ set temp [$w index "end - 1 char"]
+ $w mark set output end
+ if {![consoleinterp eval "info exists tcl_prompt1"]} {
+ set string [EvalAttached $::tk::console::defaultPrompt]
+ $w insert output $string stdout
+ }
+ $w mark set output $temp
+ ::tk::TextSetCursor $w end
+ $w mark set promptEnd insert
+ $w mark gravity promptEnd left
+
if {$tcl_platform(platform) eq "windows"} {
# Subtle work-around to erase the '% ' that tclMain.c prints out
after idle [list $con delete 1.0 output]