From 38a21869ce61c480372f9a86ac3eaf5b27c3d38c Mon Sep 17 00:00:00 2001 From: hobbs Date: Tue, 31 May 2005 04:58:00 +0000 Subject: more elaborate variant of getting first prompt shown to avoid a puts call. --- library/console.tcl | 16 ++++++++++++++-- 1 file 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] -- cgit v0.12