Additional Browser Notes

Directories

Help
Help files that are invoked from the Help menu in the browser
Sather
Sather source files
Tcl
Tcl source code for the browser
TkKit
Interface to Tcl/Tk. Compilation of the browser requires the -gui flag be used.
See also the file Help/Files for information on the breakdown of the Tcl source.

Please see the notes in Doc/Installation for more details about the compile time installation. Some runtime problems may arise in the Tcl code. Also see the notes in Doc/tcl_tk_notes.html for more details about some Tcl/Tk runtime problems and Tk4.1, Tcl7.5 compatibility.

Fonts

If you get "font not found" errors from tcl, you might want to check the set of fonts that the scaling uses (see the file Tcl/browserFontsNColors.tcl). You can change the fonts used arbitrarily, but scaling etc. rely on reasonable choices, so try to stick with the original scheme. If font problems arise when you are dumping the postscript of a graph, check the routine "proc dumpPS" in the file Tcl/browserMisc.tcl Please let me (gomes@icsi.berkeley.edu) know of any problems!

Running the Browser

Run the browser just as you would the compiler (it uses almost the same front end):
bs test.module
or bs test.sa -main FOO
The executable bs is put in same directory as the compiler, and hence should be in your path. Use the help menu to bring up help on various aspects of the browser.

Bugs

Occassionally you may see browser internal errors associated with dealing with parametrized classes. These will go away with the new parametrized type checking system.

GDB and garbage collection

A note from the *tkSather* distribution that might be relevant:
> If you use the garbage collected version of Sather you will need to
> make sure you link tcl/tk with the Sather garbage collector.  This
> requires changes to tcl/tcl.h, tcl/Makefile.in, tk/Makefile.in
I've not yet done this, but as it stands I cannot use gdb with the browser - it dies somewhere during the first garbage collect. It might be possible to fix this by recompiling tk and tcl to use sather's garbage collector.

According to Matthias there is a complicated combination of machine, OS and garbage collector that determines whether gdb will work with the tcl interface.