* tkcon.tcl (AddSlaveHistory): changed history to not add the
authorJeff Hobbs <hobbs@users.sourceforge.net>
Sat, 23 Feb 2002 06:52:40 +0000 (06:52 +0000)
committerJeff Hobbs <hobbs@users.sourceforge.net>
Sat, 23 Feb 2002 06:52:40 +0000 (06:52 +0000)
command if it is the same as the previous command (it will still
be evaluated).  (soderstrom)
Added panedwindow and labelframe as recognized Tk commands.

ChangeLog
tkcon.tcl

index 2cc53bbd35ef058609b91f674f9ae569c5932727..0906396199a7dc7d5fa83c8173dc7f3cbff8a324 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2002-02-22  Jeff Hobbs  <jeffh@ActiveState.com>
+
+       * tkcon.tcl (AddSlaveHistory): changed history to not add the
+       command if it is the same as the previous command (it will still
+       be evaluated).  (soderstrom)
+       Added panedwindow and labelframe as recognized Tk commands.
+
 2002-01-24  Jeff Hobbs  <jeffh@ActiveState.com>
 
        **** TKCON 2.3 RELEASE ****
index 3790848ea35655f38d411cd6841407c96843ddf8..5b1d564cc1f85d0131ba053c3439f56867ba33d3 100755 (executable)
--- a/tkcon.tcl
+++ b/tkcon.tcl
@@ -702,7 +702,7 @@ proc ::tkcon::EvalCmd {w cmd} {
                    $w insert output $cmd\n stdin
                }
            } elseif {$OPT(calcmode) && ![catch {expr $cmd} err]} {
-               EvalSlave history add $cmd
+               AddSlaveHistory $cmd
                set cmd $err
                set code -1
            }
@@ -735,7 +735,7 @@ proc ::tkcon::EvalCmd {w cmd} {
                    }
                }
            }
-           EvalSlave history add $cmd
+           AddSlaveHistory $cmd
            if {$code} {
                if {$OPT(hoterrors)} {
                    set tag [UniqueTag $w]
@@ -781,6 +781,21 @@ proc ::tkcon::EvalOther { app type args } {
     }
 }
 
+## ::tkcon::AddSlaveHistory - 
+## Command is added to history only if different from previous command.
+## This also doesn't cause the history id to be incremented, although the
+## command will be evaluated.
+# ARGS: cmd    - command to add
+##
+proc ::tkcon::AddSlaveHistory cmd {
+    set ev [EvalSlave history nextid]
+    incr ev -1
+    set code [catch {EvalSlave history event $ev} lastCmd]
+    if {$code || [string compare $cmd $lastCmd]} {
+       EvalSlave history add $cmd
+    }
+}
+
 ## ::tkcon::EvalSend - sends the args to the attached interpreter
 ## Varies from 'send' by determining whether attachment is dead
 ## when an error is received
@@ -4062,8 +4077,8 @@ proc tcl_unknown args {
            lappend tkcmds bell bind bindtags button \
                    canvas checkbutton clipboard destroy \
                    entry event focus font frame grab grid image \
-                   label listbox lower menu menubutton message \
-                   option pack place radiobutton raise \
+                   label labelframe listbox lower menu menubutton message \
+                   option pack panedwindow place radiobutton raise \
                    scale scrollbar selection send spinbox \
                    text tk tkwait toplevel winfo wm
            if {[lsearch -exact $tkcmds $name] >= 0 && \