Index: client/pkgr.eagle ================================================================== --- client/pkgr.eagle +++ client/pkgr.eagle @@ -456,19 +456,38 @@ package unknown [set $varName] unset $varName } + # + # NOTE: This version argument to this procedure must be optional, because + # Eagle does not add a version argument when one is not supplied to + # the [package require] sub-command itself. + # proc packageUnknownHandler { package {version ""} } { if {[catch {main $package $version} error(1)] == 0} then { + # + # NOTE: Success? Just return and let Tcl (or Eagle) handle the + # rest. + # return } else { - tclLog [appendArgs \ - "pkgr: new handler failed for \"" $package " " $version \ - "\", error: " $error(1)] + # + # NOTE: Failure? Attempt to log the error message and then maybe + # try the original [package unknown] handler. + # + catch { + tclLog [appendArgs \ + "pkgr: new handler failed for \"" [appendArgs [string \ + trim $package " " $version]] "\", error: " $error(1)] + } } + # + # NOTE: See if there is a saved [package unknown] handler. If so, we + # will attempt to use it. + # set varName [appendArgs [getLookupVarNamePrefix] saved_package_unknown] if {[info exists $varName]} then { set oldHandler [set $varName] } else { @@ -477,18 +496,31 @@ if {[string length $oldHandler] > 0} then { lappend oldHandler $package $version if {[catch {uplevel #0 $oldHandler} error(2)] == 0} then { + # + # NOTE: Success? Just return and let Tcl (or Eagle) handle the + # rest. + # return } else { - tclLog [appendArgs \ - "pkgr: old handler failed for \"" $package " " $version \ - "\", error: " $error(2)] + # + # NOTE: Failure? Attempt to log the error message. + # + catch { + tclLog [appendArgs \ + "pkgr: old handler failed for \"" [appendArgs [string \ + trim $package " " $version]] "\", error: " $error(2)] + } } } + # + # NOTE: Both [package unknown] handlers failed in some way, return the + # error messages (i.e. both of them). + # error [array get error] } proc main { package version } { # Index: client/pkgr.eagle.harpy ================================================================== --- client/pkgr.eagle.harpy +++ client/pkgr.eagle.harpy @@ -19,32 +19,32 @@ None Mistachkin Systems - 69cd6be1-1651-4b2b-b188-21b47f431860 + 3dd85612-5d05-4672-bc84-a6c6db8cedc1 SHA512 Script - 2016-08-15T18:30:19.8005391Z + 2016-08-15T18:45:09.9343281Z -1.00:00:00 0x2c322765603b5278 - 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