Check-in [cf6edd5132]
Not logged in
Overview
Comment:Add comments.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | pending
Files: files | file ages | folders
SHA1: cf6edd51320e271dc33acf2812bff5ce791695ff
User & Date: mistachkin on 2020-03-26 14:52:05
Other Links: branch diff | manifest | tags
Context
2020-03-26
15:12
Add more comments. Closed-Leaf check-in: ffccb611a3 user: mistachkin tags: pending
14:52
Add comments. check-in: cf6edd5132 user: mistachkin tags: pending
01:04
Continue fleshing out the 'extractVersionsFromFile' procedure. check-in: a66bd4a075 user: mistachkin tags: pending
Changes

Modified client/1.0/neutral/pkgd.eagle from [2ae07ec8f6] to [3b1b700ac5].

1528
1529
1530
1531
1532
1533
1534
1535




1536
1537
1538
1539
1540
1541
1542
          "\" for prefix \"" $prefix \"...]
    }

    return $result
  }

  #
  # NOTE: TBD




  #
  proc createInterp { varName } {
    upvar 1 $varName interp

    set interp [interp create -safe]
    interp eval $interp [list set dir .]








|
>
>
>
>







1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
          "\" for prefix \"" $prefix \"...]
    }

    return $result
  }

  #
  # NOTE: This procedure creates a new interpreter, which may be "safe", and
  #       places a reference to it in a variable in the context of the caller
  #       identified by the varName argument.  The created interpreter has a
  #       fully functioning [package] command ensemble; all other commands do
  #       nothing and return nothing.  This procedure may raise script errors.
  #
  proc createInterp { varName } {
    upvar 1 $varName interp

    set interp [interp create -safe]
    interp eval $interp [list set dir .]

1553
1554
1555
1556
1557
1558
1559
1560







1561
1562
1563
1564
1565
1566
1567
    }

    interp eval $interp [list proc proc args ""]; # NOP
    return ""
  }

  #
  # NOTE: TBD







  #
  proc getIfNeededVersions { interp fileName } {
    set result [list]

    set oldPackageNames [interp eval $interp [list package names]]
    interp invokehidden $interp source $fileName; # [package ifneeded], etc.
    set newPackageNames [interp eval $interp [list package names]]







|
>
>
>
>
>
>
>







1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
    }

    interp eval $interp [list proc proc args ""]; # NOP
    return ""
  }

  #
  # NOTE: This procedure evaluates a script file and attempts to determine the
  #       list of new [package ifneeded] scripts added by it.  When successful
  #       it returns a list-of-lists.  Each element of the outer list contains
  #       a package name and the list of its versions in descending order; in
  #       the event of failure, empty lists may be returned for the outer list
  #       or for a list of versions.  The interp argument is the interp to use
  #       when evaluating the file specified by the fileName argument.  This
  #       procedure may raise script errors.
  #
  proc getIfNeededVersions { interp fileName } {
    set result [list]

    set oldPackageNames [interp eval $interp [list package names]]
    interp invokehidden $interp source $fileName; # [package ifneeded], etc.
    set newPackageNames [interp eval $interp [list package names]]