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
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: TBD
  # 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
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: TBD
  # 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]]