summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--generic/tclPkg.c14
2 files changed, 18 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 9ace770..6e5b5da 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-04-04 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclPkg.c: Revised Bug 1162286 fix from 2005-11-08
+ to be even more forgiving of package version mismatch errors in
+ [package ifneeded] commands, not even logging any warning messages.
+ This further reduces the ***POTENTIAL INCOMPATIBILITY*** noted for
+ that change.
+
2006-04-03 Andreas Kupries <andreask@activestate.com>
* generic/tclIO.c (ReadChars): Added check and panic and
diff --git a/generic/tclPkg.c b/generic/tclPkg.c
index 6a46981..3453020 100644
--- a/generic/tclPkg.c
+++ b/generic/tclPkg.c
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclPkg.c,v 1.9.2.2 2005/11/18 19:27:19 dgp Exp $
+ * RCS: @(#) $Id: tclPkg.c,v 1.9.2.3 2006/04/05 01:20:53 dgp Exp $
*/
#include "tclInt.h"
@@ -355,8 +355,12 @@ Tcl_PkgRequireEx(interp, name, version, exact, clientDataPtr)
* It's a bit too harsh to make a large number of
* existing packages start failing by releasing a
* new patch release, so we forgive this type of error
- * for the rest of the Tcl 8.4 series, and only report
- * a warning. We limit the error reporting to only
+ * for the rest of the Tcl 8.4 series.
+ *
+ * We considered reporting a warning, but in practice
+ * even that appears too harsh a change for a patch release.
+ *
+ * We limit the error reporting to only
* the situation where a broken ifneeded script leads
* to a failure to satisfy the requirement.
*/
@@ -373,8 +377,9 @@ Tcl_PkgRequireEx(interp, name, version, exact, clientDataPtr)
" provided instead", NULL);
}
}
+ /*
+ * Warning generation now disabled
if (code == TCL_OK) {
- /* Forgiving the error, report warning instead */
Tcl_Obj *msg = Tcl_NewStringObj(
"attempt to provide package ", -1);
Tcl_Obj *cmdPtr = Tcl_NewListObj(0, NULL);
@@ -389,6 +394,7 @@ Tcl_PkgRequireEx(interp, name, version, exact, clientDataPtr)
Tcl_DecrRefCount(cmdPtr);
Tcl_ResetResult(interp);
}
+ */
}
} else if (code != TCL_ERROR) {
Tcl_Obj *codePtr = Tcl_NewIntObj(code);