tcl/tcl-8.6.12-autopath.patch

57 lines
2.2 KiB
Diff

diff --git a/library/auto.tcl b/library/auto.tcl
index 7d23b6e..3c7717b 100644
--- a/library/auto.tcl
+++ b/library/auto.tcl
@@ -81,6 +81,13 @@ proc tcl_findLibrary {basename version patch initScript enVarName varName} {
lappend dirs [::${basename}::pkgconfig get scriptdir,runtime]
}
+ # 2a. As a sibling of Tcl's script directory
+ if {[catch {
+ ::tcl::pkgconfig get scriptdir,runtime
+ } value] == 0} {
+ lappend dirs [file join [file dirname $value] $basename$version]
+ }
+
# 3. Relative to auto_path directories. This checks relative to the
# Tcl library as well as allowing loading of libraries added to the
# auto_path that is not relative to the core library or binary paths.
diff --git a/library/init.tcl b/library/init.tcl
index edf6bd5..fa37bcc 100644
--- a/library/init.tcl
+++ b/library/init.tcl
@@ -52,16 +52,11 @@ if {![info exists auto_path]} {
namespace eval tcl {
if {![interp issafe]} {
variable Dir
- foreach Dir [list $::tcl_library [file dirname $::tcl_library]] {
+ foreach Dir [list $::tcl_library] {
if {$Dir ni $::auto_path} {
lappend ::auto_path $Dir
}
}
- set Dir [file join [file dirname [file dirname \
- [info nameofexecutable]]] lib]
- if {$Dir ni $::auto_path} {
- lappend ::auto_path $Dir
- }
if {[info exists ::tcl_pkgPath]} { catch {
foreach Dir $::tcl_pkgPath {
if {$Dir ni $::auto_path} {
diff --git a/unix/configure.in b/unix/configure.in
index c73f368..5c57692 100644
--- a/unix/configure.in
+++ b/unix/configure.in
@@ -866,9 +866,9 @@ if test "$FRAMEWORK_BUILD" = "1" ; then
test -z "$TCL_MODULE_PATH" && \
TCL_MODULE_PATH="~/Library/Tcl /Library/Tcl"
elif test "$prefix/lib" != "$libdir"; then
- test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="{${libdir}} {${prefix}/lib} ${TCL_PACKAGE_PATH}"
+ test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="${libdir}/tcl8.6 ${prefix}/share/tcl8.6 ${libdir}/tk8.6 ${prefix}/share/tk8.6 ${TCL_PACKAGE_PATH}"
else
- test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="{${prefix}/lib} ${TCL_PACKAGE_PATH}"
+ test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="${libdir}/tcl8.6 ${prefix}/share/tcl8.6 ${libdir}/tk8.6 ${prefix}/share/tk8.6 ${TCL_PACKAGE_PATH}"
fi
#--------------------------------------------------------------------