# config

name: header
value:
  <html>
  <head>
  <base href="$baseurl/$current_page" />
  <title>$<project_name>: $<title></title>
  <link rel="alternate" type="application/rss+xml" title="RSS Feed"
        href="$baseurl/timeline.rss">
  <link rel="stylesheet" href="$baseurl/style.css" type="text/css"
        media="screen">
  </head>
  <body>
  <table><tr><td>
  <script type="text/javascript"><!--
  google_ad_client = "pub-5900697597918482";
  /* banner */
  google_ad_slot = "9735919221";
  google_ad_width = 468;
  google_ad_height = 60;
  //-->
  </script>
  <script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
  </script>
  </td></tr></table>
  <div class="header">
    <div class="logo">
      <!-- <img src="logo.gif" alt="logo"><br></br> -->
      <nobr>$<project_name></nobr>
    </div>
    <div class="title">$<title></div>
    <div class="status"><nobr><th1>
       if {[info exists login]} {
         html "Logged in as <a href='$baseurl/my'>$login</a>"
       } else {
         puts "Not logged in"
       }
    </th1></nobr></div>
  </div>
  <div class="mainmenu"><th1>
  html "<a href='$baseurl$index_page'>Home</a>"
  if {[hascap oh]} {
    html "<a href='$home/tree?ci=tip'>Files</a>\n"
  }
  html "<a href='$baseurl/wiki?name=Packages'>Packages</a>"
  if {[hascap o]} {
    html "<a href='$baseurl/leaves'>Leaves</a>"
    html "<a href='$baseurl/timeline'>Timeline</a>"
    html "<a href='$baseurl/brlist'>Branches</a>"
    html "<a href='$baseurl/taglist'>Tags</a>"
  }
  if {[hascap r]} {
    html "<a href='$baseurl/reportlist'>Tickets</a>"
  }
  if {[hascap j]} {
    html "<a href='$baseurl/wiki'>Wiki</a>"
  }
  if {[hascap s]} {
    html "<a href='$baseurl/setup'>Admin</a>"
  } elseif {[hascap a]} {
    html "<a href='$baseurl/setup_ulist'>Users</a>"
  }
  if {[info exists login]} {
    html "<a href='$baseurl/login'>Logout</a>"
  } else {
    html "<a href='$baseurl/login'>Login</a>"
  }
  </th1></div>


name: footer
value:
  <div class="footer">
  Fossil version $manifest_version $manifest_date
  </div>
  <script type="text/javascript">
  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
  </script>
  <script type="text/javascript">
  try {
  var pageTracker = _gat._getTracker("UA-11113174-1");
  pageTracker._trackPageview();
  } catch(err) {}</script>
  </body></html>


name: adunit
value:
  <div style="width: 640px; margin: 12px auto;">
    <img style="float: left; width: 32px; height: 32px; padding-right:
  10px;"
  src="http://www.tcl.tk/community/tcl2014/images/tclca_logo2tinyC.gif">
    <a href="http://www.tcl.tk/community/tcl2014/">Tcl 2014 Conference,
  Portland/OR, US, Nov 10-14</a><br>
    Send your abstracts to <a
  href="mailto:tclconference@googlegroups.com">
  tclconference@googlegroups.com</a>
  by Sep 8.
  </div>


# reportfmt

title: All Tickets
cols:
  #ffffff Key:
  #f2dcdc Active
  #e8e8e8 Review
  #cfe8bd Fixed
  #bde5d6 Tested
  #cacae5 Deferred
  #c8c8c8 Closed

sqlcode:
  SELECT
    CASE WHEN status IN ('Open','Verified') THEN '#f2dcdc'
         WHEN status='Review' THEN '#e8e8e8'
         WHEN status='Fixed' THEN '#cfe8bd'
         WHEN status='Tested' THEN '#bde5d6'
         WHEN status='Deferred' THEN '#cacae5'
         ELSE '#c8c8c8' END AS 'bgcolor',
    substr(tkt_uuid,1,10) AS '#',
    datetime(tkt_mtime) AS 'mtime',
    type,
    status,
    subsystem,
    title
  FROM ticket


# event

type: ci
user: root
comment:
  Removed binary libraries that were in my original snapshot for OSX, but 
  compltely useless for other platforms


type: ci
user: root
comment:
  Modifications to push https setup to the individual virtual hosts, as
  their certs are only valid for one domain name at at time


type: ci
user: seandeelywoods
comment:
  Added the new odie file manager plugin

  (Note it's a straight namespace code as opposed to an object.)


type: ci
user: root
comment:
  Modifications to increase the buffer size (and facilitate large file transfers) as well as to enable CGI


type: ci
user: root
comment:
  Added provisions for the htmlSave method to delete the site's
  "rss.html" file, triggering a regeneration if someone was clever enough
  to create it as a .tml file. ;-)

  Re-implemented search result on the wiki to properly pee out the 
  fields the scripter punches in for "showcolumns"


type: ci
user: hypnotoad
comment:
  Overhaul of the entire web-object system.

  All of the convoluted container object->nodeobject -> ??? 
  nonesense has been replaced with static namespaces.

  Wikis display properly.

  Still have to incorporate a page editor.


type: ci
user: hypnotoad
comment:
  Cleaned up, neatened up, and simplified the process of spawning and
  configuring virtual hosts.

  Added taourl stubs to handle generic parts of httpd configuration

  Tested all of my current sites with the new system


type: ci
user: hypnotoad
comment:
  Re-ordered operations to ensure the correct port is passed to httpd for initialization

  Moved weblogs back to /var/log/tclhttpd
  Added a fallback to /tmp if a path to /var/log/tclhttpd isn't possible


type: ci
user: hypnotoad
comment:
  Added public access vs private access files. Private access requires 
  a password, public access can be browsed and linked directly.


type: ci
user: hypnotoad
comment:
  Built in a tolerance for browsers maintaining several session cookies 
  at once. Needed for testing on a local machine as well as on production
  running on another.


type: ci
user: hypnotoad
comment:
  Moved the initialization of modules into the taourl::init script.

  If we load initialize on package load, we get the default config, not the
  site config


type: ci
user: hypnotoad
comment:
  Added functions for RSS feeds and podcasting

  Wiki nodes now read meta-information from the meta_info table

  Tclhttpd now emulates the raw style of queries given by wibble


type: ci
user: hypnotoad
comment:
  Created a centralized package index

  Moving webserver apps to their own directory, separate from the
  web server architecture


type: ci
user: hypnotoad
comment:
  Added a local configuration file for server specific settings

  Added a download image function

  Fixed the paths used by templates


type: ci
user: hypnotoad
comment:
  Added a preview to wiki items

  Added a "template" command that will sub in the entry for another page as block text


type: ci
user: hypnotoad
comment:
  Added a llama-html suite of widgets

  Fixed the wiki

  Fixed the smtp relay

  Removed the call to thread_init on webserver startup. (All initialization
  code should now be contained in httpd.rc)

  Fixed a goof in webserver startup

  Ported the webserver ui to tile

  Added a hook to allow the authentication module for the webshed to 
  accept either "password" or "plaintext" as the name for the field
  for the password.


type: ci
user: hypnotoad
comment:
  Introduced a new package loading mechanism

  Added the concept of ensemble methods

  Added a system for passing notificiations around to objects in a similar
  manner to bind in Tk


type: ci
user: hypnotoad
comment:
  Multiple fixes to codebale and autodoc. Both now use a 
  global uuid instead of an integer key.

  Ran autodoc tools on library

  Added a copy button to compliment save


type: ci
user: hypnotoad
comment:
  Fixes for loader to run in environments where TclOO is not available

  Re-ordered procs for tao-httpd to read in alphabetical order.

  Added C source code for vector3d


type: ci
user: hypnotoad
comment:
  Removed typedef of double to DBL

  Removed vector_add and vector_subtract, and replaced it with inline code
  that will add or subtrack across an entire matrix


type: ci
user: hypnotoad
comment:
  Renamed vexpr.c to TclVexpr.c

  Created TclVexpr.tcl to recreate TclVexpr.c if a new opcode is needed,
  as well as maintain the vexpr.n manual page

  Added Vector dot and cross products


type: ci
user: hypnotoad
comment:
  Modified the core of Odie to operate under Tcl8.5

  Added variable argument length to the yggdrasil's node_property
  method


type: ci
user: hypnotoad
comment:
  Added the recording of the filename to embedded sqlite objects.

  Added mutexes to the mother of all classes.

  Removed the organsExport method. Added a new method called "organ" to
  call up the object redirected by a graft. The functionality of 
  organsExport can be attained with [organ all]

  Graft no longer stores the object redirected as a local variable.

  Added option handling to moacs.

  Removed the dependence on the uuid package for the yggdrasil class.


type: ci
user: hypnotoad
comment:
  Updated the quick and dirty SMTP mailer to send out property formatted
  RFC 821 Mail FROM and Rcpt to lines


type: ci
user: hypnotoad
comment:
  Streamlined the login process. The server now only outputs a cookie 
  for the domain the user is accessing the page from.


type: ci
user: hypnotoad
comment:
  Added code to support direct URL logins

  Fixed sessionid interpretation code to handle Md5 hashes

  Fixed URL redirection


type: ci
user: hypnotoad
comment:
  Rewrote sqlitecon and console as tcloo objects.

  Ran the autodoc tool.

  Added an open-ended URL mapping system for the html browser.

  Renamed all odietk classes from odie. to odietk. (To help
  differentiate them)


type: ci
user: hypnotoad
comment:
  Added a general purpose C parse into the codebale project. Adapted from
  the routine to generate header files.

  Added the "noop" function which accepts any arguments and returns nothing.
  (Handy for dealing with "I want to send this command to an object. No I 
  don't care if the object doesn't exists!" cases.

  Added the concept of an "onion" object. Onion objects operate through
  subordinate objects "layers". 

  Made the logo for odie.megawidgets configurable.


type: ci
user: hypnotoad
comment:
  Added my new handy-dandy kitmaker "toadkit", an offshoot of TOBE

  Renamed library tools adapted from irm* to odie*

  Fixed a loader goof with odietk an glob implementations that do not 
  do dictionary sorts

  Added virtual url handlers for the html and browser widgets.

  Added handing for singleton object/classes

  Improved codebale


type: ci
user: hypnotoad
comment:
  Refactored the toadkit modules build process to make adding new modules
  less cumbersome. Added a module to build a dtplite executable needed 
  by the img package. Fixed the processing of command arguments by the 
  kit executable. Changed the name of the package manifest from 
  "pkgIndex.tcl" to "packages.tcl"


type: ci
user: hypnotoad
comment:
  Added lessons learned to the make files.

  Seperated out the process of building the packages from the process of
  make in the barekit.

  Added a missing source file for windows.

  ZIP installs under mingw now simply grab the mingw zip package.

  Added the compat/ headers from the tcl sources to the c headers
  for static builds.


type: ci
user: hypnotoad
comment:
  Add TK cflags and ldflags (when present) to static builds of the barekit

  Made alterations to the sample project makefile

  Created a specialize windows platform main.c file

  Moved the point where zinit is called and the VFS is mounted to before
  Tcl_Init() is called.

  Commented out the call to use the the built in tk console under windows.


type: ci
user: hypnotoad
comment:
  Rewrote the parser to use an SQLITE backend instead of arrays.

  Added the image files from the tclmacbak package.


type: ci
user: hypnotoad
comment:
  Ran the autodoc tool.

  Added a new scrollbar owidget.

  Added the ability to create tk-looking objects by calling the name of
  the class.


type: ci
user: hypnotoad
comment:
  Seperated out the odie:: class system from the odie:: package, and used
  it as a replacement for the tao:: class system. Renamed odietk to taotk.

  Yanked the concept of "immortals" from the tao system. (We now use dedicated
  commands and a rigged set of expected behaviors embedded in the mother of 
  all objects.)

  Also removed were the mesh, append, etc. ways of transforming the methods
  on pre-compile. I may add them back later, but the [next] handling provided
  by odietk is far superior in legibility of code and predictability of outcome.

  Signal processing has been enhanced. The process for renaming an object
  to a tk alias has been refined somewhat.


type: ci
user: hypnotoad
comment:
  Added a new dynamic GUI generation scheme slotted to replace/enhance
  llama on the Tk side. Added the makings for an embryonic user preference
  storage scheme.


type: ci
user: hypnotoad
comment:
  Ran the autodoc tool

  Fixed a bug in tk object destructor handling.

  Moved preference handling base code to the pages.tcl file. 

  Added an interactive GUI for manipulating the style sheet.

  Added primitives for putting together pages of dynamic widgets.

  Fixed a typo in the taotk loader

  Fixed several bugs in the vector dynamic widget system.

  Fixed a kink in the combobox based dynamic widgets.

  Improved the detection of options in the dynamic inference checks.

  Added methods for accessing the default value and global variable name
  for all dynamic widgets.


type: ci
user: hypnotoad
comment:
  Scrollframe is now handled as a native taotk construct.

  Modified the stylesheet handlers to accept substyles and row colors.


type: ci
user: hypnotoad
comment:
  Renamed the typetree's reference to it's widget to treewidget.

  html browsers now use the same destructor bindings as everyone else.


type: ci
user: hypnotoad
comment:
  Built a seperate namespace (taotk::meta) to house widget components. All
  objects in ::taotk are now assumed to be full fleshed out commands and/or
  widgets.

  In the browser example, replaces bindinds to [list [self] ..] with
  [namespace code {my ...}]. We are using the unknown function now to
  create the object as .html 

  The process of building an object has been changed. InitializePublic
  now only populates defaults. configure_list has been broken into two 
  phases. configure_list now modifies the internal values of the object.
  configurelist_triggers now activates behaviors based on changes to the
  internal state.

  mutex_* family of methods has been lumped into an ensemble.

  Seperated out the stack manipulation and state maintenance feature of the
  megawidget, and evolved them into a seperatate class "tao.controller". The
  controller is intended as an abstraction for non-tk apps that require the
  same locks and state maintenance.

  stackaction_* has been lumped into the actionstack ensemble.

  On morph objects now re-run InitializePublic to ensure new variables 
  defined by the new class are created.

  Where practical/possible continued the process of renaming METHOD_SUBMETH
  to use ensembles instead. Also making methods that do not (and are not)
  called externally private.

  Evolved the scrollframe concept futher.

  Added an extra phase in toatk widgets for creating the container toplevel
  or frame.

  post_command is now mapped to the command option when inferring properties

  Simplified the process of producing dynamic gui elements.

  Numerous bug fixes to the dynamic widgets.

  Added field mapping to the command properties of widgets. For instance
  set-command rather than forcing the command to accept field and value for
  arguments can be told to send "set-command %field% %value%" instead, where
  the value for the field and the value for the value are subsituted in
  at call time. (as is %object% and %self%).

  Added a macro to simplify accessing the style sheet.

  Ran the autodoc tool

  the build_widget method is no longer responsible for creating the topmost
  container object, nor does it deal with the topmost object's bindings. That
  is now handled by the constructor. The build_widget command must now assume
  the path given to it exists, and that all UI elements need to fit within
  that path.



  Added a new step to taotk objects


type: ci
user: hypnotoad
comment:
  Renamed the validate property for options to "validate-command"

  Options can now be accessed from the property command.


type: ci
user: hypnotoad
comment:
  Removed arguments from Build_Topframe

  Added a new notation for pointers. You can wrap a path through pointers
  in <> now. Example: my <parent master db> eval {...}

  Renamed the value_funct property of options to value-command, and added
  the same field mapping as other *-command properties.

  Moved the ::taotk::page::* namespace to ::taotk::meta

  Renamed the standalone console and sqlconsole class types to console
  and sqlconsole, move the "guts" to the ::taotk::meta namespace.


type: ci
user: hypnotoad
comment:
  Event notifications are now wrapped in a catch.

  Added message:notice method for applications.

  Added parameter substitution for values-command.

  Tweaked the widgetInput system for enumerated value comboboxes such
  that only the native value is every sent pack to the GlobalVarName.

  Fixed a bug in tk dialog boxes.

  Removed the unsplash signal. Splashes have an independent lock that 
  would keep the pipeline from runnign anyway.

  Removed the constructor from meta widgets, added an explicit constructor
  for taotk::widget an taotk::toplevel.


type: ci
user: hypnotoad
comment:
  Renamed the "property options" and "property option_dict" keywords to "property option dict"

  Renamed the "property signals" and "property signal_dict" keywords to "property signal dict"

  Renamed the "property publicvars"  keywords to "property variable dict"

  Replaced most mutex calls with lock calls.

  Removed the <STUB and STUB> forwards

  Moved locks and signals to the base class.

  Removing the last lock now automagically triggers the Signal_pipeline

  Renamed actionstack locks_* to lock

  Renamed actionstack signal to signal

  Created the SubObject ensemble to dole out names for dynamically generated 
  objects.

  Simplified the kickoff sequence for database objects.

  Optimized yggdrasil


type: ci
user: hypnotoad
comment:
  Changed the delimeter for ensemble methods from : to ::

  Changed the structure for property retrieval to make more sense, and to
  allow the user to retrieve orthoganal properties of multiple types.

  Re-implemented the workaround for uuid_generation in cases where 
  md5 is a local c command.


type: ci
user: hypnotoad
comment:
  Ran autodoc tool

  Customized lock remove and lock remove_all for megawidets.

  Fixed the dynamic text editor widget

  Added command handling for checkboxes

  Tweaked how journaling is handled on sqlite database objects

  Added pipeline_busy and pipeline_idle action hooks.


type: ci
user: hypnotoad
comment:
  Fixed the default for prompts to be "ok" instead of "cancel".

  Added a function to calculate option widths.

  Removed script.* handling from options.

  Fixed several bugs and typos in the tkdialog family of dynamic widgets.

  Fixed a typo in command property subsitution.

  Added the args field to the class method version of property.

  Re-implemented the layer method for onions.


type: ci
user: hypnotoad
comment:
  Ran autodoc

  Added a copy of the core list utilities that tao needed from ODIE
  to make the project independent and standalone.

  Added a catch around Signal_Pipeline to allow the software to recover
  from an error (instead of lock itself into oblivion.)

  Added object substitution for select command option mapping.


type: ci
user: seandeelywoods
comment:
  Bug fixes migrated from the IRM.

  simconfig::get references change to stylesheet::cget

  A multitude of bug fixes


type: ci
user: seandeelywoods
comment:
  Removed the tdbc section (they were never ready for prime time)

  Ran the autodoc tool to re-index sources


type: ci
user: hypnotoad
comment:
  moac is now a separate class once more. (Strange things were happening
  in IRM without it.)

  Fixed a goof in the yggdrasil inheritance system.

  Added an implied "superclass moac" statement for classes defined without one.


type: ci
user: hypnotoad
comment:
  Replumbed the tree widget to either do a trunk->leaf or leaf->trunk build

  Fixed a typo in the kitmaker


type: ci
user: hypnotoad
comment:
  Added a package require odie to the index file. We are still depending on 
  the stack structure implementation.


type: ci
user: hypnotoad
comment:
  Scripts now look in the downloads directory for tarballs

  Added a default "ooops I died" script to fall back on when 
  the toadkit cannot mount the zipkit.

  The developer can now specify which Tcl to compile against (by fossil tag)

  Fixed the boot process for windows.


type: ci
user: hypnotoad
comment:
  Fixed the arguments for the basic notify method.

  Update the version of SQLITE used in toadkit.

  Fixed argument handling in event bindings.

  Tweaks to the makefile.


type: ci
user: hypnotoad
comment:
  Refined the camera controls for the 3d canvas

  Fixed several goofs in the megawidget and model-view-controller interface


type: ci
user: seandeelywoods
comment:
  Adapted ODIE to conform to the instructions on the website

  It now knows to distribute itself as source, and make a copy of itself
  to the install directory. The scripts to make the toadkit are now
  the "makefile" for odie.


type: ci
user: seandeelywoods
comment:
  Updated the canvas3d version.

  Canvas3d no longer tries to customize the location of the fossil repository.


type: ci
user: hypnotoad
comment:
  Added a pkg_index file to tao-sqlite

  The Build_toplevel widget has been renamed to CreateHull

  Made the naming of methods more consistent
  Instead of widget_THIS or THIS_widget we now have 
  Widget::THIS


type: ci
user: seandeelywoods
comment:
  Added tao-sqlite to the installed libraries with ODIE

  When copying odie tcl libraries, the system runs pkgMkIndex


type: ci
user: seandeelywoods
comment:
  Added a modules for Tcllhttpd to handle fossil repositories via CGI.

  Removed the static build of Tcl from the makefile. On the mac it renders
  Tcl extensions linked against it completely unloadable.


type: ci
user: hypnotoad
comment:
  Added a search routine to find the local fossil executable before
  stitching the path into the CGI files


type: ci
user: seandeelywoods
comment:
  Revamed the internal plumbing of the GUI

  Rather than rely on the ttk::notebook widget, taotk now implements its
  own tabbed megawidget.

  Widget::build is now Widget::create

  Reverences to the "topframe" organ now point to the "hull" organ

  Note tab construction is now different. The proces of building the UI
  is now seperate from filling the contents of the UI and generating the
  control buttons for all tabs. (It was touch and go on a case by case
  basis before.)

  Tabs now write directly into the contentframe of the "notebook" megawidget.
  And they know the write directly. And the megawidget knows they write directly.

  Left provisions for different styles of tabbed widgets. Currently the
  buttons on top style is the default/only implementation.

  The build_content methods for tabs is now Widget::content. And as noted above,
  the actions of this command should not alter the UI save filling in the contents
  of the view.

  A new method Widget::create has been introduced to notetabs. This method is
  earmarked for developing custom UI elements, and is called (along with Widget::controls)
  every time the tab is selected.

  Tab objects are now subobjects of the tabbed megawidget, rather than be sub-windows
  to the megawidget window. It allows a tab to exist without actually being displayed.

  Widget::content calls should now suffice for regenerating the display for a tab.

  Combined most of the ballet that widgets were performing in custom constructors
  with a unified CreateHull command. CreateHull also understands grafts and configuration
  options.

  Added a new method "Widget::toplevel" to allow widgets to reliably access their toplevel
  window.

  GUI applications now warm up with sde.application.gui rather than the headless
  sde.application. This allows them to build the GUI, and fill it in after the
  database loads. This is mainly to prevent an appmain from having to transition from
  a completely headless state to a GUI state. (And simplifies the constructors immensly...)

  Fixed a goof that was preventing the GUI from storing the scroll location of the current
  session on exit.

  Ran the autodoc tool.

  Fixed goofs with the console megawidgets.

  Renamed the events method on the scrollframe to Events


type: ci
user: seandeelywoods
comment:
  Removed the tools for making toadkits (now a seperate project.)

  Rearranged/refactored/reworked the build process to make it some semblance of 
  bulletproof.

  This script will no longer build a static Tcl/Tk. That will be produced internally
  by the new toadkit maker.

  Combined many of the simpler configs for packages into a semi-automated loop.


type: ci
user: hypnotoad
comment:
  Fixed the process of fixing the binaries installed by Tcllib and tklib

  Under unix they use a different style of headers than under linux.


type: ci
user: seandeelywoods
comment:
  Moved scripts/make_module.tcl to apps/odiemodule (which installs to 
  bin/odiemodule)

  Files in odie/sandbox/odie/apps are now installed to odie/bin

  Added a wish shell to the ::odie environment we build


type: ci
user: hypnotoad
comment:
  Moved the --libdir=${LOCAL_REPO}/lib out of the platform
  makefiles and into the configure command issued by 
  scripts/makefile.common.

  It's a pretty decent assumption.


type: ci
user: seandeelywoods
comment:
  Broke apart the management of tao, odie, and taohttpd into seperate "modules" within the odie recipe.

  Added an enhanced pkg_mkIndex function for codebale

  Removed the duplicate implementation of codebale from odieutil

  Broke the fix_tcl_files method up into parts. Files can now be individually installed
  via the install_app method.


type: ci
user: seandeelywoods
comment:
  Fixed a typo in the canvas3d megawidget

  Fixed a problem with command option handling with tk slave
  widget based dynamic widgets.

  Added a listbox primitive for notetabs


type: ci
user: seandeelywoods
comment:
  Modified the lock created for all object to be called "constructor",
  and added an explicit removal of the lock at the end of the constructor
  to the Tao parser.


type: ci
user: Administrator
comment:
  Fixed several build quirks specific to windows. 

  The cp command in MinGW throws an error when copying
  to an existing file, paths to be copied into the zipdir
  are now deleted first.

  Added the -binary yes option to http::geturl when downloading
  tarballs.


type: ci
user: seandeelywoods
comment:
  The "odiemodule" executable has been renamed "sherpa"

  All sherpa related functions have been renamed to reflect
  which are called by sherpa, and which are internal.

  Added a metainfo index so Odie can track what verions of packages
  are installed, and which need updating.

  Added an upgrade method to sherpa packages. Currently only implemented
  for fossil distributions.


type: ci
user: seandeelywoods
comment:
  Fixed the last lingering problems with upgrades of fossil repositories.

  Added an upgrade path for "odie"


type: ci
user: seandeelywoods
comment:
  Added a "reinstall" command to sherpa

  The SAK based installer for taolib was not decending into subdirectories.

  Until it is fixed, sherpa will use its own installer.


type: ci
user: hypnotoad
comment:
  Added an alias to tclsqlite to the sqlite recipe.

  The "zipdir" command for sherpa now uses more sensible arguments.


type: ci
user: seandeelywoods
comment:
  Anhanced shera with a "get-source" directive.

  Enhancements to codebale to scan headers and understand
  c statements vs functions.

  Added permutation to the logicset.

  Added a handler for passing binary extensions as zipfiles


type: ci
user: seandeelywoods
comment:
  Added a binary handler for the twapi extension, as odie targets
  msys and twapi needs to be build with Visual C


type: ci
user: seandeelywoods
comment:
  Added a "skip" method to indicate which platforms an extension
  may be inappropriate for and/or have a conflicting version of.

  Renamed the zip module binary. Added platform limitations.


type: ci
user: seandeelywoods
comment:
  Fixed a bug with the tcl implementation of logicset::delete. It was replacing the removed entries with emptyset instead of deleting them entirely.


type: ci
user: seandeelywoods
comment:
  Added and /etc directory to odie.

  Removed the static build detection from sqlite. It was never used, and it makes the example oh so complicated.


type: ci
user: seandeelywoods
comment:
  Fixed to the upgrade procedure. Rather than running fossil in pwd, 
  it now cd's to the local sandbox before mucking about with syncing and info.

  The checkout procedure now also outputs to the console


type: ci
user: seandeelywoods
comment:
  Several recipes defined the old "sherpa_zipdir_install" method, so their
  custom code was not being reflected in "sherpa_vfs_install"


type: ci
user: seandeelywoods
comment:
  Sherpa now records the URL where fossil syncs its data from, and 
  restricts the "fossil pull" directive to cases where the url is different
  than where the repository last synced. 

  I.E. I moved the url in the recipe.


type: ci
user: seandeelywoods
comment:
  Added a fallback complete statement detector for C code, as some statements
  that are valid C are not detected by info complete.


type: ci
user: seandeelywoods
comment:
  The function that detects if a C statement is complete now knows to ignore
  everything within a C comment /* I E THIS STUFF */


type: ci
user: seandeelywoods
comment:
  Moved toadkit building back into the realm of Sherpa, rather than farm it out
  to a separate fossil repository.

  toadkit-build/tcl moved to tcl-static
  toadkit-build/tk moved to tk-static

  Created a new gui-less tclkit which can be build from sherpa


type: ci
user: seandeelywoods
comment:
  Moved many of the functions needed for external projects to build toadkit/tclkits
  into the internals of sherpa.

  Added stubs for Tcl and Tk to install the bootstrap code needed for the basekit
  into a VFS


type: ci
user: seandeelywoods
comment:
  Finished mapping zipdir_install methods to vfs_install

  Fixed a goof that was causing an indifferentiated tea extension from grabbing the
  entire ~/odie/lib directory on vfs_install

  Added a mechanism for building an index file for a VFS from sherpa.

  Updated codebale with the latest version deployed to odielib


type: ci
user: seandeelywoods
comment:
  Added the mkhdr.c file from Richard Hipp's "makeheaders" project.

  The sherpa installed to ~/odie/bin is now a very thin wrapper to odie/sandbox/apps/sherpa.tcl

  The zzipsetupstub program and mkhdr program are compiled on install with odie.

  Removed the seperate "dtplite" module. It's built by tcllib.


type: ci
user: seandeelywoods
comment:
  Added a call to STRIP for binaries produced by toadkit/tclkit

  The Default Tclsh just punts to the normal Tclsh processing if it encounters a lack of attached zip file system.

  Added a variable to indicate where the ZIP command is on each platform.


type: ci
user: seandeelywoods
comment:
  Added a short script to bootstrap a zipkit. Essentially allowing it to be loaded
  via "source" from any VFS enabled Tclsh.


type: ci
user: Administrator
comment:
  Added a configure variable to track what filename FOSSIL defaults to
  for checkout files on this platform.


type: ci
user: seandeelywoods
comment:
  Revamped the base installation of ODIE to use a new autoconf build system
  (rather than the hardcoded lists before). This new system borrows heavily
  from the Tcl core build system, adding flags that I've found useful to have
  available under both Make and Tcl.


type: ci
user: seandeelywoods
comment:
  Divided the codebale package into several sourcefiles to ease maintenance.

  Adapted the script that converted SH files to Tcl variables into a general
  purpose tool inside of codebale.

  the local.tcl.in file has been renamed odieConfig.tcl.in

  odieConfig.tcl is now built on configure

  Recipes now exploit the ability to read the odieConfig.sh, tclConfig.sh, and tkConfig.sh
  files on demand.

  Added hooks to the autoconf script to look for a local zip and strip executable.


type: ci
user: seandeelywoods
comment:
  Re-worked sherpa to operate as a module. (I may revisit how modules are distributed, for now.. all is well.)


type: ci
user: seandeelywoods
comment:
  Fix for makefile-totcl

  Added an ODIE_TCLSRC_DIR flag for cases like Mac OSX where the Tcl core
  compiles out of unix/ but most extensions will compile out of macosx/


type: ci
user: Administrator
comment:
  Tweak to replace a dict with {} with a foreach loop that contains a catch.

  On platforms like MinGW, some environmental variables have names that screw
  with Tcl's idea of a namespace. We don't care about those variables, but we
  don't want them getting in the road of the script running.


type: ci
user: seandeelywoods
comment:
  Farming out the building of Tcl/Tk to sh scripts. 

  (Make is proving to be a little to brittle across platforms)


type: ci
user: Administrator
comment:
  Fixes for Windows builds.

  Under windows, the wishkit executable is now linked to the standard
  Wish resource files (cursors, icons, etc).


type: ci
user: seandeelywoods
comment:
  Added an "ODIE_SRC_DIR" flag to the odieConfig.sh and odieConfig.tcl templates
  (So build files don't have to guess, and we aren't relying on a value that 
  could be overwritten by TCL_SRC_DIR)

  Shortened the checks autoconf does to the bare minimum needed to light off 
  the Odie build.


type: ci
user: seandeelywoods
comment:
  Tweaked the process of building tclkits and wishkits from "make"

  Renamed the internal flags WISHKIT and TCLKIT to ODIE_WISHKIT and ODIE_TCLKIT


type: ci
user: seandeelywoods
comment:
  Tclkits and Wishkits now come ready-made with a zipVFS populated with
  the tcl8, tcl8.6, and tk8.6 (for wishkit) directories populated.

  The init system looks to see if a main.tcl file has been created, and if not
  the kit starts up as a normal tcl or wish shell


type: ci
user: seandeelywoods
comment:
  Removed the wrap code from sherpa (wrapping is now a matter of copying
  the base kit and using ZIP)

  Added an autodoc-scan command to sherpa to generate help, without 
  trying to alter the source code.

  Kits are now built with "make tcltk-static"

  Added a "make install" to src/toadkit

  Added a header to store hard-coded constants for kits

  The default is now to assume the presences of the /zfvs/main.tcl
  script, and then neuter it later if not present. Otherwise Tcl_Init
  and Wish_Init eat the first argument.


type: ci
user: hypnotoad
comment:
  Build fixes for targeting Linux

  Removed the $(TCL_LIBS) when making wishkit. Adding the same libs twice causes
  the linker to biff it.

  Instructed make to call "bash" instead of "sh" for make_tcltk.sh and make_tcltk_static.
  There are calls in those files that are really bash specific.


type: ci
user: seandeelywoods
comment:
  Added a new command "breakpoint"

  Added handling for sherpa to manage git distributions and kettle based 
  build systems.

  Added a recipe for critcl


type: ci
user: seandeelywoods
comment:
  Folded the taolib module files into the odielib distribution.

  (It was making less and less sense to keep them seperated)


type: ci
user: seandeelywoods
comment:
  Sherpa now grabs codebale from odielib

  Arranged for tcllib and odielib to be downloaded and installed along with tcl

  Moved the guts of the makefile back into the makefile and out of scripts/makefile.common


type: ci
user: seandeelywoods
comment:
  Better handler so that native compiles use the build tclsh, but xcompiles use 
  the operating system's shell.


type: ci
user: hypnotoad
comment:
  Packed all of the build smarts into a single bash script.

  Makefile is not longer generated dynamically.


type: ci
user: hypnotoad
comment:
  Fixed a pile of typos in make_all.sh

  Urls do clone the tcllib and odielib repositories were completely bad,
  leading to issues.


type: ci
user: seandeelywoods
comment:
  Added a diagram report for the taodb

  Vector objects understand the concept of rounding to an integer if specified in the format.


type: ci
user: seandeelywoods
comment:
  Added tools for developing graphviz visualizations of class structure.

  Switched to the odielib internal implementation of md5 hashing.
  (Thus all of the topic IDS changing...)

  Added package/module tracking to Tao


type: ci
user: Administrator
comment:
  Checking in portions of the code that get re-built with cthulhu

  Removing the bits in script and tests that are rebuilt by ./configure


type: ci
user: seandeelywoods
comment:
  Added a mechanism to determine the canonical name for a class.

  Added a full text search index to yggdrasil based help systems.


type: ci
user: seandeelywoods
comment:
  Adding a new gaming API based on Gerald Lester's work, and a demonstration
  game called "warlord".

  (Checked into a seperate branch until it's out of the half-bakery.)


type: ci
user: seandeelywoods
comment:
  Added an emptyset handler for zcoord in "slicer height"

  Added a new "list_to_int" command which will convert all floats to int.


type: ci
user: seandeelywoods
comment:
  Update documentation.

  Removed code that was keeping autodoc form continually re-reading sources

  Fixed a goof in the code that was mangling free-text comment fields into lists.

  Added a core class to represent database records.


type: ci
user: seandeelywoods
comment:
  Rename ODIE_Alloc to Odie_Alloc, ODIE_Free to Odie_Free, and ODIE_Realloc to Odie_Realloc

  Moved modular code from the generic/ folder to cmodules/ (as appropriate.) The intend
  being that projects like IRM can simply add the sources to their own build process 
  rather than deal with the complexities of linking.

  Borrowed a constant string management system from IRM.


type: ci
user: seandeelywoods
comment:
  Moved the logicset source file into cmodules/

  Starting work on building a stubs library for odielib

  Move non-TEA files out of the tclconfig/ directory and into scripts/


type: ci
user: seandeelywoods
comment:
  Eliminated the search for TCL_COMMAND. All modules now initialize through routines
  advertised with TCL_MODULE

  Migrated much of the cthulhu script to the codebale module

  Added code to generate Stubs for a package (Still in progress)

  Eliminated the procs that simply returned a constant. The constents of those
  constants are now accessible as elements of math_const

  Moved the logicset to cmodules


type: ci
user: seandeelywoods
comment:
  Added a hook to ensure Tao cleans up the meta info from a deleted class,
  not just from the in-memory dict, but from the sql meta data as well.


type: ci
user: seandeelywoods
comment:
  Tweak to dynamic widgets. We had been appling the raw value from the widget
  on keypress return (or pressing the save button.) This doesn't work for the
  vector based widgets (as the widget encoding is different than the output
  encoding.)

  All calls to ApplySelectedValue now use [my get] instead of [my widget get]


type: ci
user: seandeelywoods
comment:
  Added a "MiniButton" method to generate labeled icons with buttonlike bindings

  Leaving a dynamic widget automatically closes the edit session

  Validate is now assumed to take raw data in from the widget

  Added a tool for odieMiniButton to lookup the background of the containing frame


type: ci
user: seandeelywoods
comment:
  Adding new label and string meta type (Not ready for prime time... yet)

  Adding new icons

  Fixed the pkgIndex.tcl generator (again...)


type: ci
user: seandeelywoods
comment:
  Added a tool for reviewing autodoc changes.

  Added an embedded copy of tkdiff

  Fixed a few goofs with stylesheet preferences

  Replaced the page series of meta classes with some more sensible default methods


type: ci
user: seandeelywoods
comment:
  Moved the list utilities tao depends on back into odie

  Removed the unused "page" metaclasses

  Added an "scm_move" utility to sherpa


type: ci
user: seandeelywoods
comment:
  Fixed how paths are interpreted by cthulhu::add_dynamic

  Moved the guts of the cthulhu script into the program's main cthulhu.ini file
  (At this point with all the configuration options, these are high-level policies
  anyway.)

  Added a directive to ensure generic/libodie.c is always compiled. Even if not 
  present at configure time. (Especially when not present at configure time...)

  Added a dynamic statement so the makefile can produce libodie.c from a cold start


type: ci
user: seandeelywoods
comment:
  Broke diagram into two different functions:
   diagram -> system/module level diagrams
   class -> individual class trace

  Fixed the tagging of direct ancestors

  Eliminated the taotk::meta::page.dbrecord class. (It wasn't doing anything)


type: ci
user: seandeelywoods
comment:
  Normalized the API for taotk dynamic widgets. They all now use compadible procedures for 
  validation, putting data into the widget, getting data out of the widget, and formatting
  data for human consumption.

  Fixes a few typos in tao::diagram


type: ci
user: seandeelywoods
comment:
  Added the sherpa module to install

  Modifications to allow sherpa to be loaded as a package

  Combined the autodoc and mkdoc scripts

  mkdoc now builds pages based on data from autodoc/helpdoc and tao's internal
  database.


type: ci
user: seandeelywoods
comment:
  Tweaked cthluhu to always output source with crlf line breaks.

  Engineered a way to convert line breaks on the fly for mkhdr to unix (lf)

  Added a new "plotter" object to manage rendering to a canvas with zoom and offset

  The transform in 3d will now take a chain of arguments


type: ci
user: seandeelywoods
comment:
  Added the start of a tclreadline build (may have to resort to tarball, automake
  is borked, and no configure file exists)


type: ci
user: seandeelywoods
comment:
  Modified the pkgIndex.tcl system to also work in the current directory

  pkgIndex.tcl is now composited from librarypkgindex.tcl (made by ./configure)
  and modulepkgindex.tcl (assembled my make)


type: ci
user: seandeelywoods
comment:
  Added a "Chooser" modal dialog. This form allows the developer to 
  feed in the test displayed and the options returned.


type: ci
user: seandeelywoods
comment:
  Added an autodoc tool to codebale

  Bumped tao's version up to 9 to reflect that older versions of Tao 
  are out in the wild, and refered to in documentation and papers.

  Removed an incrrefcount from the odielib vector module that was
  causing a memory leak.

  Updated the cube demo

  Added filename tracking to the autodoc parser/meta tracker


type: ci
user: seandeelywoods
comment:
  Added in the pure-tcl implementation of logicset, as well as a call
  to attempt to load the binary odielib when package requiring odie


type: ci
user: seandeelywoods
comment:
  Added a new dynamic widget "select_keyvalue" which presents
  a series of human readable values and then translates them
  to a different value used internally.


type: ci
user: seandeelywoods
comment:
  Fixed the vector::index command.

  More vodoo tweaks for the set string proc

  updated the rocket demo to use vector::index


type: ci
user: seandeelywoods
comment:
  Pushing the process of building namespaces into the individual module files.

  TCL_MODULE is still tracked, so we remember to assemble all of the bootstraps into
  the master loader.


type: ci
user: seandeelywoods
comment:
  Added examples. Removed dependence on VecTcl (for now). Adapted physics routines
  to use the vector tools in odielib.


type: ci
user: seandeelywoods
comment:
  Removed pkgIndex.tcl from the "cleanfiles"

  The function that converts a matrix to a string now remembers to allocate
  an extra byte for the null terminator.

  Replaced calls to Odie_Alloc and Odie_Free with Tcl_Alloc and Tcl_Free

  Eliminated refcounting for matrix objects. We weren't doing anything with it.

  Updated the rocket demo to include rotation


type: ci
user: seandeelywoods
comment:
  Revisions to the datetime widget. Now it accepts an arbitrary input
  that can be fed/read into clock format/scan


type: ci
user: seandeelywoods
comment:
  Added an inline "text" widget for short multi-line display.

  Added a new class of UI entries that allow a human readable form
  of the data to be different than what is ultimately written to 
  the global variable.


type: ci
user: seandeelywoods
comment:
  Rearranged the file structure for nettool.

  Added code to probe cpuinfo and loadstatus for OSX and Linux


type: ci
user: seandeelywoods
comment:
  Bugfixes for Macosx nettool

  Modifed the modulepkgindex.tcl to use the $dir value for pkgIndex rather than generate its own.


type: ci
user: hypnotoad
comment:
  Modified the build system to work "out of the box". Cthulu is not required to
  make the project work, it is only needed to regenerate portions of the code
  that are dynamically altered (by the developer.)

  Cthulhu now utilizes a binary C application "mkhdr" which is derived from 
  Richard Hipp's "makeheaders" project. This binary is distributed with the 
  ODIE/Sherpa build system, and it's presence is assumed on the part of odielib.

  (If that proves to be an invalid assumption it would be trivial for me to
  adapt the autoconfig phases to do without it)

  The X_cases.h files are now planted next to their respective C files. The
  cthulhu.mk file knows to regenerate them with the tclconfig/mktclopts.tcl
  script if they are missing.

  The odieInt.h file is generated by makeheaders.

  The mathematical constants, and their respective commands, are now generated
  by the cmatrixforms.tcl function.


type: ci
user: seandeelywoods
comment:
  Removed the bonjour package.

  Added the concept of Tcl-script library modules, and installers for them.

  A dynamic file "modulepkgindex.tcl" is automagically generated by the 
  scripts/mkpkgindex.tcl file if missing. It creates a script which is appended
  to the C generated pkgIndex.tcl file

  Added a copy of codebale and a C-module aware version of ODIE, as well as
  an embryonic implementation of the nettools package (which will output the
  ip address and arp table information in a platform-neutral fashion)


type: ci
user: seandeelywoods
comment:
  Eliminated the odie::platform modules. (I can get everything I need right
  now from the platform module distributes with Tcl)

  Fleshing out the nettool implementation for win32


type: ci
user: hypnotoad
comment:
  The mkhdr program is now in included in the tclconfig/ file section

  Added a process to automagically compile it during ./configure


type: ci
user: hypnotoad
comment:
  Modified bonjour to work within cthulhu

  Rewrote the routine to detect headers in a C file.

  The "TCL_COMMAND" keyword is now scrubbed from public headers


  The "tree.c"


type: ci
user: hypnotoad
comment:
  Removed dead/empty scripts.

  Moved the CTHULHU_DYNAMIC macro to the tclconfig/tcl.m4 file so I don't
  have to pass it in the template.


type: ci
user: hypnotoad
comment:
  Broke up the C sources into modules.

  Renamed the CTHULHU_COMMAND macro to TCL_COMMAND, and CTHULHU_MODULE to TCL_MODULE. 
  Removed the "int" keyword from both macros. They are now an empty declaration as far as C is
  concerned.

  Added the sources from Blair Kitchen's Tcl_bonjour. (I need it for a project at work, and the
  installer for the stock source is sufficiently broken to not be worth my time to fix at the moment.)

  Revised the template for cthulhu maintained sources.


type: ci
user: hypnotoad
comment:
  Moved the scripts/cthulhu.tcl file and scripts/codebale.tcl files to tclconfig

  Removed dynamically generated files from the repository

  Moved TclVexpr.tcl to generic/cmatrixforms.tcl (as well as the guts of
  scripts/vexpr_types.tcl)

  Where possible and practical, dynamically generated files are sent to 
  build/ instead of generic/

  Added a rule to trigger a call to tclconfig/cthulhu.tcl if the build/[libname].c
  file is missing.

  Added a cthulhu.ini file which contains customizations, package names, etc
  to be fed into the build system and autoconf.

  Rigged autoconf such that the


type: ci
user: hypnotoad
comment:
  Added addition vector and matrix types.

  Added tests for the logicset

  Eliminated the NAND product, it was essentially synonimous with the 
  XOR product.

  Renamed the AND product "INTERSECT"

  Renamed the OR product "UNION"

  Union and Xor now produce sorted results.


type: ci
user: hypnotoad
comment:
  The cthulhu script now calls the routine to regenerate matrix types and
  opcodes.

  Added headers for the new logicset functions, and I'm starting to fill in the vector functions.


type: ci
user: hypnotoad
comment:
  Enhanced the Tcl and C API of the logicset. Functions include logical OR,
  XOR, NAND, and AND products.

  Added C-API calls to access these functions.


type: ci
user: hypnotoad
comment:
  Added tests for affine.

  Converted the opcodes for affine multiply, rotate, scale, and translate
  into Tcl commands.


type: ci
user: hypnotoad
comment:
  Replaced native representations of arrays with wrappers around the MATOBJ data structure. 
  I was running into random segfaults because I hadn't quite gotten all of the ins and outs
  worked out. But, that said... I now have a lot less to test.


type: ci
user: hypnotoad
comment:
  Tweak to the build system. Cthulhu now build a file the makefile includes
  to allow it to alter the build system on the fly, rather than make me
  run autoconf/configure just to add a source file.


type: ci
user: hypnotoad
comment:
  Added more functions, including C accellerated MD5 and RC4 support.

  Introduced an alloc that will zero out memory on allocation.

  Tested wallset, slicer, and polygon code within the IRM.

  Cthlulhu now marks the library init function with the EXTERN macro.

  Added handy C-accellerated shapes routines.


type: ci
user: seandeelywoods
comment:
  Broke the TclVexpr.tcl script into logical chunks.

  Added a dedicated C file for library functions.

  The library now exports a C header file.


type: ci
user: hypnotoad
comment:
  Reorganized where methods are defined.

  Added a springboard for the cthulhu to feed the list of source files to
  configure.in. 

  Consolidated all of the library initialization to the libodie.c file,
  which is now generated by the cthulhu script.

  Made the cthulhu script project neutral.


type: ci
user: hypnotoad
comment:
  Added the wallset, slicer, and various polygon and line segment tools
  from IRM. The IRM data structures have been beaten into shape in 
  such a way the the segment tools can now use the same data structure 
  as the wallset tools.

  Tweaked the build process such that we produce 2 different headers,
  odieInt.h for internal consumption, and odie.h which only exposes
  the public API.


type: ci
user: hypnotoad
comment:
  Starting work on version 2 of the library.

  Created a modified version of the gfxpoly project to use for polygon
  functions. 

  Added a new system for managing tcl commands

  The mexpr engine is being thrown out and replaced with a new suite
  of tools that accept a new native representation of matrix tcl objects.


type: ci
user: seandeelywoods
comment:
  Moved the build process for the odielib.dll/so/dylib file to src/odielib

  Trying to get Odie's autoconf and TEA to play nice was becomming troublesome.


type: ci
user: seandeelywoods
comment:
  Final fixes to get odie to build and install correctly

  (I was forgetting to have it compute where it's shell was...)


type: ci
user: hypnotoad
comment:
  Directed callers to use a kit-built version of Sherpa, as paths get munched
  a bit in environments like MinGW. Autoconf builds one path. Tcl run in any other
  environment would use another.


type: ci
user: seandeelywoods
comment:
  Improved the url-get script

  Added an http-get function to the sherpa command line

  Added command line handing for sherpa to download and list packages
  from rkeene's teaparty and activestate's teapot.


type: ci
user: seandeelywoods
comment:
  Eliminated a non-portable file copy operation by simply adding the 
  contents of ~/LIB/tcl8 ~/LIB/tcl8.6 ~/LIB/tk8.6 directly to the 
  destination zipfile. (And let ZIP sort out symbolic links...)

  Added provisions for the autoconf system to designate a proper invocation
  of "cp -a --no-preserve=links" tailored to the specific platform. (That
  magic fails under Unix, but needed for file copies to work in MSYS)

  Ran autodoc. 

  Re-organized taotk


type: ci
user: seandeelywoods
comment:
  Adapted the notebook megawidget to handle cases where it's hull is "."

  Renamed the "Widget::controls" method to "widget::controls"


type: ci
user: seandeelywoods
comment:
  Added a function to produce unique hardware identifies on all major platforms.

  Re-tooled autoconf to allow ./configure to specify which tcl/tk to build against.


type: ci
user: seandeelywoods
comment:
  Tcl and Tk can now be configured on the command line to different branches

  Fixed a goof in the basekit maker that was installing the .zip archives in odie_src_root 
  instead of root/src/toadkit


type: ci
user: seandeelywoods
comment:
  Fossil-based recipes will now return blank info if they were not actually checked out of fossil.

  Rather than their current behavior of curling up and dying.

  make_skel.sh now builds bindir, libdir, etc from odieConfig.sh rather than relying on them
  being under ODIE_PREFIX


type: ci
user: hypnotoad
comment:
  Removing embedded documentation from the fossil repository proper

  Docs are now built on demand, and I'll patch the webserver to provide static 
  content


type: ci
user: hypnotoad
comment:
  The destructor for all objects now calls ::tao::event::cancel, to clean up
  any background events the object may have initiated/

  Tweaks all Tao classes to exploit the event schedule/cancel system for managing
  background events.

  Removed a K&R style declaration from wishkit_init.c


type: ci
user: hypnotoad
comment:
  Limited configuration option introspection to cases where only 
  a field is given to the property method.


type: ci
user: hypnotoad
comment:
  Redesigned the build process to no longer require two seperate 
  source trees for Tcl/Tk. We now sequentially install a static tcl
  and dynamic tcl, and retain the information needed to statically link
  by saving the tclConfig/tkConfig to tclkitConfig/tkkitConfig


type: ci
user: hypnotoad
comment:
  More refinements to the tcl building process.

  We now pass in the tclsh built for Odie to the Tk build process


type: ci
user: hypnotoad
comment:
  Merging in development work from the layout branch.

  Layout still isn't ready for prime time, but the structural changes
  to accomdate are not longer expected to cause disruption with
  more core taotk features


type: ci
user: hypnotoad
comment:
  Tweaked the build system to include tao-ui and tao-layout in installs.

  Tweaked the inheritence tree to prevent tao-ui element from being the mother of
  all taotk widgets. (That feature was breaking a lot of code over on the IRM side)


type: ci
user: hypnotoad
comment:
  Adding a new "layout" widget, to manage spreadsheet-like Guis.

  Added an abstraction "tao-ui" to manage common code between
  native Tk, Layout element, and HTML (future) data entry screens.


type: ci
user: hypnotoad
comment:
  Balloon tips now don't loop quite as strange on X11.

  Fixes for stylesheet preference windows

  Added a "make tkkit" to the make tcl script


type: ci
user: hypnotoad
comment:
  Typo fix for balloon help in x11

  Moving the logic to build note tabs of the various native types into
  the widget specific portions of the code


type: ci
user: hypnotoad
comment:
  Reinstituted the taotk::notetab.frame class

  Reformed the build process for notebooks

  normalized all tao::class statements


type: ci
user: hypnotoad
comment:
  Fixes for OSX running in X11 mode.

  Notetabs define their own destructor that doesn't try to destroy the hull


type: ci
user: hypnotoad
comment:
  Semi-stabelized the API

  Straightened out the inheritance tree for notetabs.

  Fixed several bugs with text notetabs

  Ran autodoc

  Bumped the taotk version to 0.7 to clarify the API changes.


type: ci
user: hypnotoad
comment:
  Not ready for prime time...

  This branch incorporates all of the lessons learned and functional improvements
  developed for the core_zip_vfs branch of Tcl

  (Have to temporarily check in unfinished code to get some work done at work 
  on trunk..)


type: ci
user: hypnotoad
comment:
  80% solutions for the problem of scrollframe content exceeding the 
  bounds of the window. Now defaults to showing the scrollframe, which
  is better than not.


type: ci
user: hypnotoad
comment:
  ::codebale::pkgindex_path no longer specifies what BASE should be. It's assumed
  the caller will know to insert that prior to appending the buffer.

  Added toadkits. They are a static Tclkit, with a dynamic Tk embedded within

  Rewrote the tcl and tk recipes to build the VFS chunks from the tcl/tk source
  directories, NOT what is installed in ~/odie/lib

  reg and dde are now installed as dynamic extensions.

  tclIndex in lib/tcl now recieves an injection of all of the 
  pkgIndex.tcl files under lib/tcl

  tclIndex under lib/tcl will call a /zvfs/packages.tcl file, if provided

  tclIndex in lib/tk now recieves an injection of all of the 
  pkgIndex.tcl files under lib/tk

  Fixed install goofs with tea packages that caused, essentially, all of 
  ~/odie/lib to be stuffed in the VFS

  Added which src path in Tcl this platform is built from.


type: ci
user: hypnotoad
comment:
  Tclkits are once again build with the cat/zip -A scheme

  Removed a dead null.zip which was preventing that scheme from working...

  notetab is now considered a core element.


type: ci
user: hypnotoad
comment:
  Added facilities to build a batteries included "toadkit"

  Fixed the installer for critcl, and the vfs installer for critcl

  critcl and vfs are now standard parts of both sherpa and toadkit


type: ci
user: hypnotoad
comment:
  Added the "e" editor from Dr. Richard Hipp as a built-in text editor

  Sherpa now embeds applications, like e and tkdiff in the VFS

  "e" is accessed from the "edit" command
  "tkdiff" is accessed from the "diff" command


type: ci
user: hypnotoad
comment:
  Added configuration items for OSX builds to switch between
  X11 and Cocoa

  Added a new string "ODIE_BINARY_PLATFORM" to describe the build target
  of the resulting binaries


type: ci
user: hypnotoad
comment:
  Refined the ODIE_BINARY_PLATFORM content

  Added an upload feature for myself to transmit fresh build to the web


type: ci
user: hypnotoad
comment:
  Tweaked the basekit makefile to look for the tkConfig.sh file 
  now that we no longer build static Tks as a practice


type: ci
user: hypnotoad
comment:
  Added a bipkgs.zip file, which includes all of the binary packages built 
  with toadkit, sans the executable.


type: ci
user: hypnotoad
comment:
  More MSYS workarounds.

  Static tcl library is once again built in make tcl (scripts/make_tcl.sh).
  However, now it is built with a unique name that is not used elsewhere in
  the Tcl/Tk sources, and will not be overwritten when the dynamic tcl installs.


type: ci
user: hypnotoad
comment:
  Breaking up the command ensemble for toplevel sherpa executable into several files.

  All Tcl packages build by sherpa now build a teapot file

  Successive calls to install a package to VFS will use the teapot file generated
  during build. (Essential for packages like TkImg which can and will take forever
  to install.) This replaces the behavior of niavely grapping an image from what
  is installed in odie/lib

  In the sherpa recipe library: 
  A buildsystem is now a distinct class. Tcl packages (or intended tcl packages) are also now a seperate class.

  Packages now indicate if they are binary and if binary, whether they require Tk. This will allow the
  binary cache to know the difference between a Tclonly package, or one that would require recompilation
  for platforms like Macosx, which supports 2 different windowing systems.


type: ci
user: hypnotoad
comment:
  Added TCL_PATCH_LEVEL and TK_PATCH_LEVEL to the values subst'd in by autoconf

  Rewrote the process of building VFS package indexes.

  Sherpa modules now have a dedicated "meta" method, with it's own rules
  w.r.t. the interaction of options and properties.

  Added a facility for users to specify that certain packages should always
  be installed live, and never from teapot caches.

  The upgrade process for sherpa modules has been refined.

  The Tcl and Tk modules are empty placeholders once more

  Tkkits are built against a statically built copy of Tklib. The shell also
  advertises that it provides the Tk package, to prevent Tcl from trying to
  get it out in the operating system. (Which can lead to some strange results
  on OSX...)

  Started work on integrating improvments from FreeWrap.

  Broke out the modifications to the boot process into a seperate file so that
  the zvfs.c file can mirror changes in freewrap more easily.

  Kits are once again built with the mkVfs.tcl script

  Altered the arguments fed into mkVfs.tcl


type: ci
user: hypnotoad
comment:
  Added Package Provide Tk to the Wish init process

  Added a facility for users to mark that certain packages should be installed live, not
  cached via teapot


type: ci
user: hypnotoad
comment:
  Major fixes to the build process under MSY

  Bumped odie version to 10.1.1

  The zvfs implementation now supports glob/* properly (at least on windows.)

  Corrected a peculiar behavior that was introduced on windows with the lastest
  version of the freewrap zvfs.c. Names were being translated to c:/zvfs when
  [file normalize] was applied to a file embedded in the zvfs

  Fixed the lingering issues that prevented bootstrapping Tk from a DLL within
  the vfs.

  Tclkits now include an embedded tk dll. Loading Tk simply requires "package require Tk"

  Toadkits are now tclkit based instead of wishkit based.

  The ::SRCDIR variable is now populated by the zvfsboot.c process.

  Removed a lot of debugging PUTS messages 

  Bumped the version for listutil to ensure anyone asking for it gets the
  new dict getnull command.

  Removed criticl from the standard batteries included builds for windows. The
  file path created by that project cause problems with the VFS. (And indeed, all
  over the place in MSYS.)

  Fused the freewrap and odie implementations of zvfs.c into something that works
  well on Windows.

  Where behavior differs from freewrap, I stub it out with macros.


type: ci
user: hypnotoad
comment:
  Removing code associated with making statically linked Tk enabled shells. They
  are too delicate and unstable. Packing the tk dll into the VFS works on with
  windows and mac (and odds are Linux does it better.)

  Code removed because it never really worked that well.

  All requests for an ODIE_WISHKIT will now point to the tclkit

  Fixes to the system under Unix


type: ci
user: hypnotoad
comment:
  Fix to the SAK style installers.

  When installing packages in the VFS, tao now places them in the 
  teapot/MD5HASHOFINFO directory.

  Teapots are now built in the source directory of package, and 
  are cleaned up on rebuild


type: ci
user: hypnotoad
comment:
  Added the icons back for tclkit shells and sherpa.

  odielib and taolib now express an interest in installing live vs. being packed 
  in a teapot. (Their bootstrapper has issues..)


type: ci
user: hypnotoad
comment:
  Added the ability to produce graphviz diagrams of class hierarchies
  to the sherpa tool with "sherpa autodoc_diagram"


type: ci
user: hypnotoad
comment:
  Combined the make_odielib.sh, make_slqite.sh. make_tcl_vfs.sh and make_tcllib.sh files into
  a make_sherpa.sh.

  Eliminated the make_all.sh script

  Adding an embryonic jimtcl.tcl recipe (not finished.)

  Added project detection tools to codebale.


type: ci
user: seandeelywoods
comment:
  Fixes to make the inner workings of sherpa clearer.

  Several unused classes removed.

  Several unused methods removed.

  Fixed a "you can't get there from here" in the basekit construction process.

  Toadkits are now built seperately from basekits, with their own makefile,
  well after sherpa is built


type: ci
user: seandeelywoods
comment:
  Re-organized the class structure of sherpa recipes

  Added .zip to the cached local zipfiles for teapot repos


type: ci
user: seandeelywoods
comment:
  Fixed the "make sherpa" script.

  Unzipping files now uses the vfs::zip package. The native unzip is too unreliable.


type: ci
user: seandeelywoods
comment:
  Removed the default mapping of commands in sherpa. If you want to
  exercise a module method, use the new "module" ensemble.

  Removed the alias for ::md5 from odielib. It was colliding with a similarly named
  command in Tcllib

  Added TRF to the extensions build by the odie bootstrap, as well as the
  extensions integrated with sherpa

  Re-jiggered the order of events for package installation. I still
  have a case where packages are being built 3 times, but once we have 
  a teapot for them, this issue goes away.

  Sherpa now uses semi-pure tcl implementations for zip and unzip.
  Out of the blue I was getting failures for basic operations using the 
  command line tools in OSX.

  Fixed the method that implements tea package fqn

  Calls to $modules($mod) now go through ::command::module

  Git and Fossil no longer try to get build info if they have not been unpacked.

  Added a sherpa recipe for TRF


type: ci
user: hypnotoad
comment:
  Another hotfix for building on a virgin system. TRF currently requires the zlibtcl extension
  to compile (Todo: fix that, as it can get all of the API it needs right from tcl.)

  The interim fix is to download the tkimg sources, and compile zlibtcl prior to 
  trf in the "make sherpa" script


type: ci
user: hypnotoad
comment:
  Eliminated the need for Trf (It's not building on Windows, and zipfile::encode/decode under tcllib don't need it.)


type: ci
user: hypnotoad
comment:
  Revert the revert. (My testing system was bad, the zip encode/decode in tcllib are working fine)

  Added taolib to sherpa. (Why it wasn't there before?...)


type: ci
user: hypnotoad
comment:
  Renamed the build_path method module_path

  Renamed the build_path_local method build_path

  Removed unused "do_clean" method

  sherpa_install methods in the buildsystem classes are now build_install

  Renamed the native_vfs_install method to build_vfs_install

  Renamed the teapot_info_build method build_teapot_data

  Tweaked where distribution_upgrade is implemented. Adopted a more
  general case version of the method deeper in the base classes.

  Meta checks are now done first for sherpa_present

  Renamed the teapot_info_distribtution to distribution_teapot_data

  Removed empty test files


type: ci
user: hypnotoad
comment:
  Removed a helpful "cache" of teapot.zip, which was causing packages to install
  antiquated snapshots of packages in VFS's despite repeated calls to reistall and start over.


type: ci
user: hypnotoad
comment:
  Seperated "sherpa_clean" into two distinct steps:
  build_clean (i.e., cd $PATH; make clean)
  and 
  sherpa_clean (clear out sherpa's cachefiles, teapot files, etc)


type: ci
user: hypnotoad
comment:
  Odie and taolib marked as always requiring a live install.

  (I need to re-jigger their pkgIndex.tcl files for when they 
  are operating in a teapot)


