Diff
Not logged in

Differences From Artifact [ddaa5b7b84]:

To Artifact [051495fc84]:


431
432
433
434
435
436
437






















































438
439
440
441
442
443
444
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498







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








      eagle [list proc $newProcName(2) {} [info body [appendArgs \
          [namespace current] :: tclMustBeReady]]]

      return [eagle $script(outer)]
    }
  }

  proc hookPackageUnknownHandler {} {
    set varName [appendArgs [getLookupVarNamePrefix] saved_package_unknown]

    if {[info exists $varName]} then {
      error "package unknown handler already hooked"
    }

    set $varName [package unknown]
    package unknown [appendArgs [namespace current] ::packageUnknownHandler]
  }

  proc unhookPackageUnknownHandler {} {
    set varName [appendArgs [getLookupVarNamePrefix] saved_package_unknown]

    if {![info exists $varName]} then {
      error "package unknown handler is not hooked"
    }

    package unknown [set $varName]
    unset $varName
  }

  proc packageUnknownHandler { package {version ""} } {
    if {[catch {main $package $version} error(1)] == 0} then {
      return
    } else {
      tclLog [appendArgs \
          "pkgr: new handler failed for \"" $package " " $version \
          "\", error: " $error(1)]
    }

    set varName [appendArgs [getLookupVarNamePrefix] saved_package_unknown]

    if {[info exists $varName]} then {
      set oldHandler [set $varName]
    } else {
      set oldHandler ""
    }

    if {[string length $oldHandler] > 0} then {
      lappend oldHandler $package $version

      if {[catch {uplevel #0 $oldHandler} error(2)] == 0} then {
        return
      } else {
        tclLog [appendArgs \
            "pkgr: old handler failed for \"" $package " " $version \
            "\", error: " $error(2)]
      }
    }

    error [array get error]
  }

  proc main { package version } {
    #
    # NOTE: Issue the lookup request to the remote package repository.
    #
    set data [getLookupData [getLookupApiKey] $package $version]