Subject: [3611643fff]: Support TclOO in autoload mechanism.

From: dkf <[email-masked]>
Date: Sat, 3 Aug 2013 15:27:40 +0000

---
 ChangeLog        |  5 +++++
 library/auto.tcl | 14 ++++++++++++++
 2 files changed, 19 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index a82dbfd..ddde893 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-08-03  Donal Fellows  <[email-masked]>
+
+	* library/auto.tcl: [Patch 3611643]: Allow TclOO classes to be found
+	by the autoloading mechanism.
+
 2013-08-02  Donal Fellows  <[email-masked]>
 
 	* generic/tclOODefineCmds.c (ClassSuperSet): Bug [9d61624b3d]: Stop
diff --git a/library/auto.tcl b/library/auto.tcl
index 0848bb1..78c219e 100644
--- a/library/auto.tcl
+++ b/library/auto.tcl
@@ -617,4 +617,18 @@ auto_mkindex_parser::command namespace {op args} {
     }
 }
 
+# AUTO MKINDEX:  oo::class create name ?definition?
+# Adds an entry to the auto index list for the given class name.
+foreach cmd {oo::class class} {
+    auto_mkindex_parser::command $cmd {ecmd name {body ""}} {
+	if {$cmd eq "create"} {
+	    variable index
+	    variable scriptFile
+	    append index [format "set %s \[list source \[%s]]\n" \
+			      [list auto_index([fullname $name])] \
+			      [list file join $dir {*}[file split $scriptFile]]]
+	}
+    }
+}
+
 return
-- 
cgit v0.12