summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2004-11-30 20:30:00 (GMT)
committerdgp <dgp@users.sourceforge.net>2004-11-30 20:30:00 (GMT)
commitf308c17841399bd1ffbbc9603e292e5055c19a52 (patch)
treeb67d34782aaf9a886902ece7e9ae022a52d4dbe6
parent999c1d1867082cb366aeb7bb7d6f46f27ed40596 (diff)
downloadtcl-f308c17841399bd1ffbbc9603e292e5055c19a52.zip
tcl-f308c17841399bd1ffbbc9603e292e5055c19a52.tar.gz
tcl-f308c17841399bd1ffbbc9603e292e5055c19a52.tar.bz2
* library/init.tcl ([unknown]): Restored the save/restore of
the variables ::errorCode and ::errorInfo. This is needed when the [::bgerror] command is auto-loaded (as it is by Tk).
-rw-r--r--ChangeLog4
-rw-r--r--library/init.tcl6
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f8fc143..fd66610 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2004-11-30 Don Porter <dgp@users.sourceforge.net>
+ * library/init.tcl ([unknown]): Restored the save/restore of
+ the variables ::errorCode and ::errorInfo. This is needed when
+ the [::bgerror] command is auto-loaded (as it is by Tk).
+
Patch 976520 reworks several of the details involved with
startup/initialization of the Tcl library, focused on the
activities of Tcl_FindExecutable().
diff --git a/library/init.tcl b/library/init.tcl
index c16e515..7cf784b 100644
--- a/library/init.tcl
+++ b/library/init.tcl
@@ -3,7 +3,7 @@
# Default system startup file for Tcl-based applications. Defines
# "unknown" procedure and auto-load facilities.
#
-# RCS: @(#) $Id: init.tcl,v 1.67 2004/11/03 20:30:21 dgp Exp $
+# RCS: @(#) $Id: init.tcl,v 1.68 2004/11/30 20:30:04 dgp Exp $
#
# Copyright (c) 1991-1993 The Regents of the University of California.
# Copyright (c) 1994-1996 Sun Microsystems, Inc.
@@ -179,6 +179,8 @@ proc unknown args {
return -options $opts $result
}
+ set savedErrorCode $::errorCode
+ set savedErrorInfo $::errorInfo
set name [lindex $args 0]
if {![info exists auto_noload]} {
#
@@ -201,6 +203,8 @@ proc unknown args {
unset UnknownPending
}
if {$msg} {
+ set ::errorCode $savedErrorCode
+ set ::errorInfo $savedErrorInfo
set code [catch {uplevel 1 $args} msg opts]
if {$code == 1} {
#