Hello community,

here is the log from the commit of package tk for openSUSE:Factory checked in 
at 2015-09-19 06:51:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tk (Old)
 and      /work/SRC/openSUSE:Factory/.tk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "tk"

Changes:
--------
--- /work/SRC/openSUSE:Factory/tk/tk.changes    2014-11-18 22:53:10.000000000 
+0100
+++ /work/SRC/openSUSE:Factory/.tk.new/tk.changes       2015-09-19 
06:51:44.000000000 +0200
@@ -1,0 +2,12 @@
+Thu Aug  6 08:44:56 UTC 2015 - m...@suse.com
+
+- New version 8.6.4:
+  * (bug)[d43a10] shimmer-related crash in [tk_getOpenFile]
+  * (bug)[1c0d6e] Win build trouble with SIGDN
+  * (bug)[4a0451] [tk_getOpenFile] result
+  * (bug) several fixes to elided context in [text]
+  * (new feature)[TIP 433] %M binding substitution
+  * (bug)[ab6dab] corrupt dashed lines in postscript
+- Update tkcon.tcl to CVS revision 1.122.
+
+-------------------------------------------------------------------

Old:
----
  tk8.6.3-src.tar.gz

New:
----
  tk8.6.4-src.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ tk.spec ++++++
--- /var/tmp/diff_new_pack.N3Z3Ty/_old  2015-09-19 06:51:45.000000000 +0200
+++ /var/tmp/diff_new_pack.N3Z3Ty/_new  2015-09-19 06:51:45.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package tk
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -25,7 +25,7 @@
 BuildRequires:  pkg-config
 BuildRequires:  tcl-devel
 Url:            http://www.tcl.tk
-Version:        8.6.3
+Version:        8.6.4
 Release:        0
 %define         rrc %nil
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ tk8.6.3-src.tar.gz -> tk8.6.4-src.tar.gz ++++++
++++ 24253 lines of diff (skipped)

++++++ tkcon.tcl ++++++
--- /var/tmp/diff_new_pack.N3Z3Ty/_old  2015-09-19 06:51:46.000000000 +0200
+++ /var/tmp/diff_new_pack.N3Z3Ty/_new  2015-09-19 06:51:46.000000000 +0200
@@ -186,7 +186,7 @@
            alias clear dir dump echo idebug lremove
            tkcon_puts tkcon_gets observe observe_var unalias which what
        }
-       RCS             {RCS: @(#) $Id: tkcon.tcl,v 1.120 2013/01/23 01:19:51 
hobbs Exp $}
+       RCS             {RCS: @(#) $Id: tkcon.tcl,v 1.122 2014/09/09 10:46:15 
hobbs Exp $}
        HEADURL         
{http://tkcon.cvs.sourceforge.net/viewvc/tkcon/tkcon/tkcon.tcl}
 
        docs            "http://tkcon.sourceforge.net/";
@@ -1121,6 +1121,10 @@
     set code [catch {EvalSlave history event $ev} lastCmd]
     if {$code || $cmd ne $lastCmd} {
        EvalSlave history add $cmd
+       # Save history every time so it's not lost in case of an abnormal 
termination.
+       # Do not warn in case of an error: we don't want an error message 
+       # after each command if the history file is not writable.
+       catch {SaveHistory}
     }
 }
 
@@ -2600,30 +2604,40 @@
        }
        proc ::exit args {
            if {$::tkcon::OPT(usehistory)} {
-               if {[catch {open $::tkcon::PRIV(histfile) w} fid]} {
-                   puts stderr "unable to save history file:\n$fid"
+               if {[catch {::tkcon::SaveHistory} msg]} {
+                   puts stderr "unable to save history file:\n$msg"
                    # pause a moment, because we are about to die finally...
                    after 1000
-               } else {
-                   set max [::tkcon::EvalSlave history nextid]
-                   set id [expr {$max - $::tkcon::OPT(history)}]
-                   if {$id < 1} { set id 1 }
-                   ## FIX: This puts history in backwards!!
-                   while {($id < $max) && ![catch \
-                           {::tkcon::EvalSlave history event $id} cmd]} {
-                       if {$cmd ne ""} {
-                           puts $fid "::tkcon::EvalSlave\
-                                   history add [list $cmd]"
-                       }
-                       incr id
-                   }
-                   close $fid
                }
            }
            uplevel 1 ::tkcon::FinalExit $args
        }
     }
 
+    ## ::tkcon::SaveHistory - saves history to history file
+    ## If the history file is not writable it raises an error
+    proc ::tkcon::SaveHistory {} {
+       if {$::tkcon::OPT(usehistory)} {
+           if {[catch {open $::tkcon::PRIV(histfile) w} fid]} {
+               error $fid
+           } else {
+               set max [::tkcon::EvalSlave history nextid]
+               set id [expr {$max - $::tkcon::OPT(history)}]
+               if {$id < 1} { set id 1 }
+               ## FIX: This puts history in backwards!!
+               while {($id < $max) && ![catch \
+                       {::tkcon::EvalSlave history event $id} cmd]} {
+                   if {$cmd ne ""} {
+                       puts $fid "::tkcon::EvalSlave\
+                           history add [list $cmd]"
+                       }
+                   incr id
+               }
+               close $fid
+           }
+       }
+    }
+    
     ## ::tkcon::InterpEval - passes evaluation to another named interpreter
     ## If the interpreter is named, but no args are given, it returns the
     ## [tk appname] of that interps master (not the associated eval slave).
@@ -4328,14 +4342,15 @@
     set level [expr {[info level]-1}]
     switch -glob -- $opt {
        on      {
-           if {[llength $args]} { set IDEBUG(id) $args }
+           # id is just arg0 [bug #50]
+           if {[llength $args]} { set IDEBUG(id) [lindex $args 0] }
            return [set IDEBUG(on) 1]
        }
        off     { return [set IDEBUG(on) 0] }
        id  {
            if {![llength $args]} {
                return $IDEBUG(id)
-           } else { return [set IDEBUG(id) $args] }
+           } else { return [set IDEBUG(id) [lindex $args 0]] }
        }
        break {
            if {!$IDEBUG(on) || $IDEBUG(debugging) || \


Reply via email to