Index: generic/tclPkg.c =================================================================== RCS file: /cvsroot/tcl/generic/tclPkg.c,v retrieving revision 1.5 diff -c -r1.5 tclPkg.c *** tclPkg.c 1999/09/21 04:20:40 1.5 --- tclPkg.c 2000/05/09 20:28:23 *************** *** 499,504 **** --- 499,508 ---- switch ((enum pkgOptions) optionIndex) { case PKG_FORGET: { char *keyString; + if (objc != 3) { + Tcl_WrongNumArgs(interp, 2, objv, "package"); + return TCL_ERROR; + } for (i = 2; i < objc; i++) { keyString = Tcl_GetString(objv[i]); hPtr = Tcl_FindHashEntry(&iPtr->packageTable, keyString); Index: tests/pkg.test =================================================================== RCS file: /cvsroot/tcl/tests/pkg.test,v retrieving revision 1.8 diff -c -r1.8 pkg.test *** pkg.test 2000/04/10 17:19:03 1.8 --- pkg.test 2000/05/09 20:28:24 *************** *** 23,31 **** interp eval $i [list set argv $argv] interp eval $i [list package require tcltest] interp eval $i [list namespace import -force ::tcltest::*] interp eval $i { ! eval package forget [package names] set oldPkgUnknown [package unknown] package unknown {} set oldPath $auto_path --- 23,35 ---- interp eval $i [list set argv $argv] interp eval $i [list package require tcltest] interp eval $i [list namespace import -force ::tcltest::*] + interp eval $i [list set ::tcltest::verbose $::tcltest::verbose] interp eval $i { ! foreach p [package names] { ! package forget $p ! } ! set oldPkgUnknown [package unknown] package unknown {} set oldPath $auto_path *************** *** 296,306 **** package ifneeded a 1.1 {first script} package ifneeded b 2.3 {second script} package ifneeded c 1.4 {third script} - package forget set result [list [lsort [package names]]] ! package forget a c lappend result [lsort [package names]] ! } {{a b c} b} test pkg-3.6 {Tcl_PackageCmd procedure, "ifneeded" option} { list [catch {package ifneeded a} msg] $msg } {1 {wrong # args: should be "package ifneeded package version ?script?"}} --- 300,317 ---- package ifneeded a 1.1 {first script} package ifneeded b 2.3 {second script} package ifneeded c 1.4 {third script} set result [list [lsort [package names]]] ! package forget a ! lappend result [lsort [package names]] ! package forget c lappend result [lsort [package names]] ! } {{a b c} {b c} b} ! test pkg-3.5.1 {Tcl_PackageCmd procedure, "forget" option} { ! list [catch {package forget} msg] $msg ! } {1 {wrong # args: should be "package forget package"}} ! test pkg-3.5.2 {Tcl_PackageCmd procedure, "forget" option} { ! list [catch {package forget a b} msg] $msg ! } {1 {wrong # args: should be "package forget package"}} test pkg-3.6 {Tcl_PackageCmd procedure, "ifneeded" option} { list [catch {package ifneeded a} msg] $msg } {1 {wrong # args: should be "package ifneeded package version ?script?"}}