Bugs

  • If we have a series of declarations that are not separated by blank lines, should they all share the same doc comment? Usually, in the code, we have a comment, then a bunch of declarations. Currently tydoc dumps the first declaration, and then the comment, and then the other declarations.
  • The arguments to option are not handled properly. We currently print:
    	option add {*RevControlSCCS.versionColor}
    	
    Instead of:
    	option add *RevControlSCCS.versionColor [ptkColor blue black] widgetDefault
    	
  • Links that work from the kernel directory do not necessarily work from the doc/codeDoc directory. ListBrowser.itcl has such a link.
  • If you run tydoc on the iwidgets classes, then the output does not look as good as it could. This is in part because the iwidgets classes don't have tydoc sensitive doctags.
  • Iwidgets2.1.0/combobox.itcl has a line like:
        private   variable _currItem {};           ;# current selected item.
    	
    which produces the message: Failed to call classClause: list element in braces followed by ";" instead of space The problem is the trailing ; in {};
  • Not all of the iwidgets classes are consistent in their use of namespaces. For instance, hyperhelp.itk declares a class as:
    	class ::iwidgets::Hyperhelp {
    	[...]
    	    itk_option define -topics topics Topics {}
    	[...]
    	}
    	
    but then the configbody of topics does not have a leading :::
    	configbody iwidgets::Hyperhelp::topics {
    	
    menubar.itk has a similar problem with _getCallerLevel.
  • Requests For Enhancements (RFEs)

  • Tydoc is slow.
  • It would be nice if the tydoc script would not needlessly generate new html files for data that has not changed. However, to do this we need to be able to map what classes are defined in what files, and check the mod times of the source files against the html files.
  • The version info should be parsed, if it is recognized as SCCS.
  • It would be nice if we generated a directed acyclic graph (DAG) that represented the inheritance of the classes in the current directory. However, because tydoc is so slow, we use $TYCHO/kernel/kernel/tychoMakeClassDAG.tcl to generate DAGs.

  • Copyright © 1996, The Regents of the University of California. All rights reserved.
    Last updated: 12/17/96, comments to: cxh@eecs.berkeley.edu