puts "MathViews Parsing Engine v2.1. (c) MathWizards 1998." set mv_eval_done 1 if { [ info exists tk_version ] } { toplevel .mathviews wm title .mathviews "MathViews Prompt" entry .mathviews.prompt -width 50 -background green pack .mathviews.prompt -in .mathviews set mv_line_entered 0 proc mvGet {} { global mv_line_entered global mv_eval_done set mv_line_entered 0 .mathviews.prompt delete 0 end focus -force .mathviews.prompt if { $mv_eval_done } { .mathviews.prompt configure -background peachpuff raise .mathviews set mv_eval_done 0 } else { .mathviews.prompt configure -background yellow raise .mathviews } tkwait variable mv_line_entered set line [ .mathviews.prompt get ] return $line } proc mvReturn {} { global mv_line_entered set mv_line_entered 1 } proc mvEvalDone { errMsg } { global mv_eval_done set mv_eval_done 1 .mathviews.prompt configure -background green set isEmpty [ string compare $errMsg "" ] if { $isEmpty } { puts "error: $errMsg" } } bind .mathviews.prompt mvReturn } else { proc mvGet {} { global mv_eval_done if { $mv_eval_done } { puts -nonewline ">> " set mv_eval_done 0 } else { puts -nonewline "> " } flush stdout gets stdin line return $line } proc mvEvalDone { errMsg } { global mv_eval_done set mv_eval_done 1 set notEmpty [ string compare $errMsg "" ] if { $notEmpty } { puts "error: $errMsg" } } } proc mvPut { line } { puts -nonewline $line flush stdout } proc mvPause { secs } { after [ expr abs($secs) * 1000 ] }