Mon Feb 15 14:27:49 1999  Andreas Kupries  <a.kupries@westend.com>

	* OO system in Pool now allows nesting of objects into namespaces
	  (= other objects). Using this feature now to encapsulate more of
	  the engine into the toplevel 'distribution' object. This
	  reduces namespace pollution and possible conflicts too.

Thu Feb 11 20:22:43 1999  Andreas Kupries  <a.kupries@westend.com>

	* lib/distribution.cls: Small fixes in the system writing the
	  individual pages. Empty indices are now skipped, fixed
	  erroneious conditions for the case of files which are not part
	  of a package. Fixed transmission of option changes (-outputdir,
	  ...) to the formatter.

Tue Sep 29 15:09:11 1998  Andreas Kupries  <a.kupries@westend.com>

	* lib/fileParse.tcl: Changed evaluation of the file to parse, not
	  sourced into the safe interpreter, but read in the main one and
	  then eval'd in the safe. This allows us to interpose some code
	  between reading and evaluation of the file. This is used to
	  deactivate all source commands in the file.

Thu May 28 00:04:07 1998  Andreas Kupries  <a.kupries@westend.com>

	* (tk)autodoc(.test): Updated code to handle the new '-up-...'
	  options too.

Wed May 27 00:28:48 1998  Andreas Kupries  <a.kupries@westend.com>

	* lib/distribution.cls: Removed option -upward, added -up-link,
	  -up-title, -up-image and -up-imglink. Changed generator code to
	  handle the image too.

	* lib/kwIndex.cls, lib/depIndex.cls (clear): Bugfix, tried to
	  handle keyword phrases, package names as objects (= commands).

	* lib/distribution.cls (clear): Bugfix, remove 'home' from
	  'index()', causes infinite recursion.

Tue May 26 22:10:09 1998  Andreas Kupries  <a.kupries@westend.com>

	* lib/htmlFormatter.cls: Added hack to init part to fake out the
	  cgi library if no 'option' command is defined.

	* lib/distribution.cls (CompleteDatabase): Fix, now initializes
	  the list of internally defined packages, to remove them from the
	  dependency lists. See below too.

	* lib/packageIndex.cls (completeDatabase): Collects the names of
	  all defined packages and returns them.

Sun May 24 16:10:01 1998  Andreas Kupries  <a.kupries@westend.com>

	* (tk)autodoc(.test): Updated to use the new option processor
	  facilities of Pool.

	* lib/genericFormatter.cls (MakeError): Uses 'getAnchor' now.

	* lib/htmlFormatter.cls (setAnchor): Implementation adapted to
	  work with cgi 0.7 (cgi_anchor_name semantics were changed).
	  (getAnchor): new method, returns an anchor as text.

Fri May 22 00:19:46 1998  Andreas Kupries  <a.kupries@westend.com>

	* doc/if.doc: Added information about image references.

	* lib/distribution.cls: Added code to handle commands embedded
	  into code documentation right (strong was ok before, but only by
	  accident (cgilib is used and provides 'strong' as 'shortcut' of
	  'cgi_strong' in the global namespace)).

Thu May 21 15:51:34 1998  Andreas Kupries  <a.kupries@westend.com>

	* lib/distribution.cls (xRef): markError -> MakeError.
	  (InitPatterns) Added patterns to allow references to images in
	  the code documentation.

Tue May 19 23:56:02 1998  Andreas Kupries  <a.kupries@westend.com>

	* get_imgsize: New. Tk based helper application, determines width
	  and height of the picture whose name was specified on the
	  command line. Uses Jan Nijtman's 'Img' extension if possible to
	  be able to read the widest possible range of image formats. The
	  application is used by the new image handling facilities to
	  insert external geometry information helping a browser in
	  determining the page layout, even if the image is not loaded.

	* lib/htmlFormatter.cls (imgRef, imgDef): see below.

	* lib/genericFormatter.cls (imgRef, imgDef): See below.

	* lib/distribution.cls (GenerateImage, CleanImages, imgDef,
	  imgRef, imgConverter): New. Handling of embedded images.
	  (HandlePredocFiles) Allow definition of image converters and
	  images in .predoc files.
	  (PrepareDocIp) Added image handling to that too.

Tue Apr  7 20:41:06 1998  Andreas Kupries  <a.kupries@westend.com>

	* lib/class.cls (SetupAnchors): Fixed mismatch in anchor names for
	  definition and usage (m vs. v).

	* lib/proc.cls (PostProcessInformation): Fixed error causing
	  destruction of the procedure description through inadvertent use
	  of the member variable 'comment'.

Thu Apr  2 19:06:38 1998  Andreas Kupries  <a.kupries@westend.com>

	* lib/proc.cls (firstLetter): Overode base class to index
	  procedures by the first letter of their name, not the first
	  letter of their namespace path.

	* lib/htmlFormatter.cls (enumerate): Implemented enumerated lists
	  for HTML.

	* lib/genericFormatter.cls (enumerate): Added enumerated lists to
	  the interface.

	* lib/proc.cls (WriteAsTable): Fixed reference to non-existing
	  variable 'author' (authorName) was right.

Tue Mar 31 18:36:37 1998  Andreas Kupries  <a.kupries@westend.com>

	* Documentation uptodate now.

Mon Mar 30 22:23:19 1998  Andreas Kupries  <a.kupries@westend.com>

	* lib/distribution.cls: Removed proxy object from interface to
	  .doc files. The methods are now aliased directly into the
	  interpreter evaluating .doc files. See below (.predoc).
	  Eliminated the class 'docProxy'.

Sat Mar 28 00:10:12 1998  Andreas Kupries  <a.kupries@westend.com>

	* Streamlined the interface to '.predoc'-files. No main command
	  'dist' anymore. The usable methods are made directly
	  available. Eliminated the class 'predocProxy'.

	* lib/distribution.cls: Added option -upward for integration of
	  the generated documentation into a larger site. Takes a
	  2-element list containing title and location of a page in the
	  environment. Sort of backreference into the environment. Placed
	  into the homepage.

	* lib/*Parse.tcl: Fixed some errors in the 'package require'
	  detectors. Now finds them in classes, methods and procedures as
	  well, in addition to the toplevel code of files.

Thu Mar 26 22:02:32 1998  Andreas Kupries  <a.kupries@westend.com>

	* Embedded documentation complete. I have to fix the manually
	  written parts now.

	* lib/class.cls: Crossreference lookup now searches the
	  superclasses to if the requested part cannot be found in the
	  given class.

	* More completion of documentation. Near finish now. Moved
	  crossreference resolution from the formatter into the
	  distribution as it has nothing to with formatting. Introduced
	  the 'genericFormatter' baseclass defining the interface to all
	  formatters. Some methods reimplemented in terms of the low level
	  features of the formatter to have them completely generic. Added
	  'distInterface' class.

Wed Mar 25 23:21:52 1998  Andreas Kupries  <a.kupries@westend.com>

	* More documentation updates. Added crossreferencing of member
	  variables via '<v>, <var> to classes. Allowing short references
	  to members of a class for descriptions inside. Actually
	  posssible since Mar 16, but now the formatted representation
	  (the link) leaves out the class as well.

Tue Mar 24 23:00:50 1998  Andreas Kupries  <a.kupries@westend.com>

	* Documentation update.

Sun Mar 22 20:34:17 1998  Andreas Kupries  <a.kupries@westend.com>

	* Started update of the embedded documentation.

	* lib/*.cls: Extended the problem reporting facility to show
	  erroneous crossreferences as well! (superfluous proc/method
	  arguments too.)

Mon Mar 16 23:57:41 1998  Andreas Kupries  <a.kupries@westend.com>

	* All html dependent formatting code now resides in its own
	  object. The interface to this object is generic and
	  implementations using pure ascii, sgml, nroff, ... are
	  possible. All parts of the engine are now configured with a
	  formatter object and use this to write their data in a html
	  independent manner.

Sat Mar 14 18:37:35 1998  Andreas Kupries  <a.kupries@westend.com>

	* Test complete, application running ok again. Going on to:
 	  - Rewrite the system to use a separate formatting object (html,
	    sgml, ascii, ...),
	  - Extend the problem reporting facility to show erroneous
	    crossreferences as well! (superfluous proc/method arguments too.)
	  - Fix the documentation to be consistent with the new code.

	* lib/distribution.cls: Added cache for jumpbar code to speed
	  up execution, especially for caller == {}.

	* Fixed problems with keyword and dependency indices, which were
	  not used before.

	* lib/distribution.cls: See below.

	* lib/docProxy.cls: fixed empty returns in the methods retrieving
	  crossreference information.

	* More tests yesterday, all configuration variants passed without
	  error. Going on to look at the generated code for problems and
	  irregular output.

Thu Mar 12 23:07:16 1998  Andreas Kupries  <a.kupries@westend.com>

	* More test runs, first pass without abort.

Wed Mar 11 22:25:31 1998  Andreas Kupries  <a.kupries@westend.com>

	* Test runs on itself to clear out the newly introduced bugs.

	* lib/*Parse.tcl: Adapted extractor/parser routines to the new
	  environment and class syntax.

Sun Mar  8 14:56:46 1998  Andreas Kupries  <a.kupries@westend.com>

	* Generalized indices, added class containing common higher level
	  cgi procedures, reorganized HTML writing methods to reduce their
	  length and enhance understanding.

	* Started yesterday to rewrite the application using the new pool
	  package (namespaces, new oo kernel).

Mon Feb 16 17:43:28 1998  Andreas Kupries  <a.kupries@westend.com>

	* ********************* Release of version 1.0 ******************
	  ***************************************************************

	* Freeze of current state, bumped to 1.0. The next version (2.0)
	  will require Tcl 8.x and Pool 2.0.

Sun Jan  4 13:23:26 1998  Andreas Kupries  <a.kupries@westend.com>

	* ********************* Release of version 0.5 ******************
	  ***************************************************************

Fri Dec  5 18:47:17 1997  Andreas Kupries  <a.kupries@westend.com>

	* lib/file.cls, class.cls, proc.cls, *_util.tcl: Removed the
	  [lshift line] hack, now using 'regexp'. It was a hack as a
	  string was interpreted as list, without checking for correct
	  syntax first. Braces in the scanned code should not cause mixups
	  anymore.

	* PREPARE: Removed exclusion of lib/pkg.doc to allow the
	  distribution to operate on itself, and to serve as an example.

	* lib/distribution.cls (scan): Corrected logical error preventing
	  the system to work without a 'pkg.doc'. Thanks to Steven
	  J. Cariglia <sjc@hyperion.haystack.edu> for reporting the problem.

Wed Oct 22 14:44:37 1997  Andreas Kupries  <a.kupries@westend.com>

	* lib/*.cls: Added documentation of class options and members,
	  as required by this new version of AutoDoc.

	* lib/class.cls: Added handling of member/option documentation
	  here too. Is recognized at all places in the class
	  definition. Tested using the CSS sources. Missing documentation
	  is reported as problem, and recorded in the statistics.

	* lib/class_util.tcl: Added procedures to recognize and handle the
	  documentation commands '@m', '@o', '@member' and '@option'. They
	  follow the syntax of '@argument' (procedures, methods) and
	  describe class member variables and class options (parameters).

	* lib/proc.cls (write_as_table, write_standard): Changed anchor
	  generation. Removed file-reference and '#' from the chosen
	  name. This fixed all problems I had with anchors.

	* (tk)autodoc: See below, forces -adlocation to
	  "http://www.westend.com/~kupries/doc/autodoc/index.htm".

	* lib/distribution.cls: Added option -adlocation. Is empty by 
	  default. Should contain the WWW-url of the root to the autodoc
	  documentation tree. This reference is added to the footer line
	  of all generated pages. Any documentation generated with autodoc
	  thusly contains a reference to the generator itself. Got idea
	  to this from 'latex2html'.

Tue Oct 21 11:02:59 1997  Andreas Kupries  <a.kupries@westend.com>

	* lib/dist_util.tcl (mail_link): Another link-generation procedure
	  like 'mail2_definition'. No output, returns the generated
	  string. Used in changed author-ref generation, see below.

	* lib/format.tcl: Added ':' to characterclass of
	  identifier-characters, to allow usage of fully qualified names
	  in references.

	* lib/proc.cls (write_as_table): Fixed generation of code for
	  default arguments, copied from 'write_standard'.
	  (write_as_table, write_standard): Changed generation of author
	  reference to be a 'mailto'-URL.

Thu Jul  3 21:25:10 1997  Andreas Kupries  <a.kupries@westend.com>

	* lib/*: Added missing documentation.

Wed Jul  2 19:18:32 1997  Andreas Kupries  <a.kupries@westend.com>

	* lib/*: Added code to proc, file, class, and their respecitve
	  indices to detect non- or partial-documented methods and
	  procedures. These are listed in separate pages, which are then
	  linked into the summary page. Test runs found in 'Pool',
	  'Autodoc' and 'Makedist' several places without doc. Good to
	  find misspellings too.

	* doc/*.doc: Turned Pool_* cross references into dependency
	  references. See below.

	* lib/*.cls: Changed 'xref Pool_*' to 'ext Pool_*'.

	* lib/proc.cls (write_as_table): Table placed into paragraph, to
	  get more distance between them. Table width set to 100%.

	* lib/*_index.cls: Using the new procedure (see below) to get rid
	  of special characters in filenames, keywords, procedure names,
	  etc. No special sections in the indices anymore.

	* lib/util.tcl: New file, new procedure, to extract the first
	  letter of a given string.

	* doc/apps.doc: Added documentation of new options (<>).

Tue Jul  1 21:16:45 1997  Andreas Kupries  <a.kupries@westend.com>

	* lib/distribution.cls (dep_def): Eased definition of additional
	  information for a required package. Technicalities hidden now.

	* lib/class.cls: See below, proc.cls.

	* autodoc, autodoc.test, tkautodoc, tkautodoc.test: Added options
	  -psort, -ptable to applications. (<>)

	* lib/distribution.cls: see below.

	* lib/package.cls: Added code to set -psort from 'distribution'
	  configuration.

	* lib/file.cls: Added code to set -table, -psort from
	  'distribution' configuration.

	* lib/proc.cls: Added code to format a procedure description as
	  table (instead of as definition list). The option -table
	  determines the format used during write. Idea taken from
	  'tcldoc', by Jean-Michel Augusto (Jean-Michel.Augusto@mail.dotcom.fr).

Mon Jun 30 23:44:07 1997  Andreas Kupries  <a.kupries@westend.com>

	* lib/distribution.cls: See below.

	* lib/file.cls: Added flag (-psort) to switch off alphabetical
	  sorting of procedure names and descriptions. Idea taken from
	  'tcldoc', by Jean-Michel Augusto (Jean-Michel.Augusto@mail.dotcom.fr).

	* lib/format.tcl: Made 'distribution/dep_ref' available as
	  formatting commands <e ...>, <ext ...>. This allows referencing
	  of external packages in the commenting texts.

	* lib/dep_index.cls: New index mapping from external packages (see
	  tracking 'package require' below) to the files using them.

	* lib/distribution.cls: Missing cross references are now
	  displayed in red, instead of crashing the engine.

Sat Jun  7 19:49:03 1997  Andreas Kupries  <aku@bluepeak.westend.com>

	* -- bumped version to 0.3 --

	* lib/*: 'package require' processing now complete.

Fri Jun  6 18:40:44 1997  Andreas Kupries  <aku@bluepeak.westend.com>

	* lib/*: Added dependency propagation. Added conversion of
	  dependencies into hyperlinks during write (if possible).

	* lib/class_util.tcl (cd_extract_definitions): See below, for
	  classes and their methods.

	* lib/file_util.tcl (fd_extract_definitions): Tracking 'package
	  require's now. In procedures too.

	* lib/proc.cls, kw_index.cls, dist_util.tcl, distribution.cls:
	  Removed 'doc_save_to_string' and 'doc_restore'/ Using
	  'cgi_tools_*' now (Pool_Base/cgi.tcl).

	* lib/distribution.cls: Now skipping empty indices during jumpbar
	  generation.

	* lib/proc.cls, file.cls, package_index.cls, class.cls,
	  distribution.cls: changed 'author:' to 'author_set'. This avoids
	  the 8.0b1-bug with respect to  handling namespace separators.
	
	* DESCRIPTION: Added 'Pool' to list of dependencies. 

	* lib/distribution.cls: moved call to 'cleanup' to the head of
	  'scan', and added it to 'delete'. This ensures a clean state
	  before each scan and after destruction too, but has the benefit
	  of allowing external usage of scan results.

Fri May 23 23:30:47 1997  Andreas Kupries  <aku@bluepeak.westend.com>

	* lib/distribution.cls (write_description): Using new utility (see
	  below) to handle the url-sections of the DESCRIPTION. This
	  allows now usage of commenting text inside the strings.

	* lib/dist_util.tcl (hyperize_urls): Small utility to convert
	  embedded urls into hyperlinks.

Wed May  7 19:57:48 1997  Andreas Kupries  <aku@bluepeak.westend.com>

	* tkautodoc: added another application providing a graphical
	  interface to the scanner engine. redefines syslog-vector to
	  route the messages into a text widget. the different possible
	  levels are marked by different background colors, with the help
	  of tags.

	* lib/distribution.cls: simplified interface: only 'scan' must be
	  called to get everything done. 'complete' and 'write' should be
	  considered private now. Added 'cleanup' to reset the internal
	  state after the scan. This destroys all internal subordinate
	  objects too (files, classes, procedures). An arbitrary number of
	  rescans is possible now for a single distribution object.

	* using Pool/Pool_Log/syslog now to provide feedback about engine
	  operation.

Tue May  6 20:47:58 1997  Andreas Kupries  <aku@bluepeak.westend.com>

	* apps.doc: Added documentation of the 'autodoc' application.

Mon May  5 22:19:19 1997  Andreas Kupries  <aku@bluepeak.westend.com>

	* doc/if.doc, to.doc: Completed documentation of autodoc, using
	  the facilities provided.

Sun May  4 19:22:27 1997  Andreas Kupries  <aku@bluepeak.westend.com>

	* Now searches and executes files with extensions .doc, .predoc
	  This is the way to add more pages to the documentation beyond
	  the automatically generated ones.

	* Added embedded documentation to all files, classes and procedures.

Sat May  3 19:13:10 1997  Andreas Kupries  <aku@bluepeak.westend.com>

	* First running version of 'autodoc' ready now. Starting official
	  log of changes.

