Tcl Source Code

Artifact [7a41b31b63]
Login

Artifact 7a41b31b6341b68046581bb5a2e29a916325f592:

Attachment "1222788_ScenarioResults.txt" to ticket [1222788fff] added by pmmartin 2005-06-18 02:07:02.
# Relevant details:
# Subject file, rc.tcl, enhances AlphaTk environment on Windows
# with user-developed utility scripts, in namespace ::rc.
# Manual "source rc.tcl"  has been working as expected.
# 
# A log of the same script, run "before" and "after", is shown below.
# 
#--------------------------------------------------------------------
# "before" script, in which package.tcl is unchanged.

(User Packages) 2 % info patchlevel
8.4.10
(User Packages) 3 % pwd
C:/Documents and Settings/Peter Martin/Alpha-v8/User Packages
(User Packages) 4 % join [glob -types f *] \n
rc.tcl
(User Packages) 5 % set s [read [set fs [open rc.tcl r]]]; close $fs
(User Packages) 6 % regexp -inline -all -line {^.*package provide.*$} $s
{package provide rc 0.2}
(User Packages) 7 % pkg_mkIndex -verbose .
warning: error while sourcing rc.tcl: can't read "dir": no such variable
(User Packages) 8 % join [glob -types f *] \n
pkgIndex.tcl
rc.tcl
(User Packages) 9 % set s [read [set fs [open pkgIndex.tcl r]]]; close $fs; set s
# Tcl package index file, version 1.1
# This file is generated by the "pkg_mkIndex" command
# and sourced either when an application starts up or
# by a "package unknown" script.  It invokes the
# "package ifneeded" command to set up package-related
# information so that packages will be loaded automatically
# in response to "package require" commands.  When this
# script is sourced, the variable $dir must contain the
# full path name of this file's directory.


(User Packages) 10 % 

#--------------------------------------------------------------------
# "after" script, in which package.tcl was modified to add a definition
# of "dir" in the slave interpreter, $c:

(User Packages) 2 % info patchlevel
8.4.10
(User Packages) 3 % pwd
C:/Documents and Settings/Peter Martin/Alpha-v8/User Packages
(User Packages) 4 % join [glob -types f *] \n
rc.tcl
(User Packages) 5 % set s [read [set fs [open rc.tcl r]]]; close $fs
(User Packages) 6 % regexp -inline -all -line {^.*package provide.*$} $s
{package provide rc 0.2}
(User Packages) 7 % pkg_mkIndex -verbose .
successful sourcing of rc.tcl
packages provided were {rc 0.2}
processed rc.tcl
(User Packages) 8 % join [glob -types f *] \n
pkgIndex.tcl
rc.tcl
(User Packages) 9 % set s [read [set fs [open pkgIndex.tcl r]]]; close $fs; set s
# Tcl package index file, version 1.1
# This file is generated by the "pkg_mkIndex" command
# and sourced either when an application starts up or
# by a "package unknown" script.  It invokes the
# "package ifneeded" command to set up package-related
# information so that packages will be loaded automatically
# in response to "package require" commands.  When this
# script is sourced, the variable $dir must contain the
# full path name of this file's directory.

package ifneeded rc 0.2 [list source [file join $dir rc.tcl]]

(User Packages) 10 %