This is Source-Navigator, an IDE for C/C++/Java/Tcl/Fortran and a
host of other languages. Source-Navigator includes powerful source
code comprehension features that help a developer understand complex
relationships between elements of a program's source.

Source-Navigator is released under the terms of the GPL; see the 
COPYING file for more information about the GPL.

The Source-Navigator project is hosted at SourceForge:

http://sourcenav.sourceforge.net

A number of public mailing lists are available to answer general end
user questions, as well as developer's questions. Go to the project
website to find more information about the mailing lists.

One can find Source-Navigator documentation in the snavigator/doc/html
directory. Documentation is available in HTML format only.

Consult the INSTALL.TXT file to learn how to build and install
binaries of Source-Navigator.

USING SOURCE-NAVIGATOR:

We have removed the license manager from Source-Navigator. You will no
longer need to have a license key to run this product.

Access to Cross-Reference Information 

- Source-Navigator parses and builds a project database in two steps.  
The first step is to build the project's symbol tables.  A progress
bar is displayed during this time, when complete, the application 
will display the browser windows.  Phase 2 is when the cross-
referencing (XRef) info is computed.  Source-Navigator will continue 
to build the cross reference database in the background.  While 
building the cross reference database, the cross reference icon will 
not be accessible in the toolbar, and the application will be less
responsive.  Once the cross reference database is built, the
application performance will return to normal.  You can locate such
identifiers with the Grep tool.

C Parser Issues

- C declarations that are generated by a macro are not detected 
correctly by the C and C++ parser.  For example:

	#define EXTERN(type, array) extern type array[]

	EXTERN(char, mybuffer);

In this example, the parser should pick up information about a global 
variable called "mybuffer" whose type is char[].  However, it doesn't.

Tcl Cross-Referencing and Common Tcl Commands

- The following Tcl, Tk, and [incr Tcl] common commands are not put into 
the cross-reference (XRef) database:

append       eval      itcl_class   objects    string
args         exists    itcl_info    parray     switch
array        expr      itk          previous   this
binary       file      iwidgets     private    tkinfo
body         for       join         proc       unset
break        foreach   lappend      protected  uplevel
catch        format    lindex       public     upvar
class        gets      local        rename     variable
common       glob      lrange       return     virtual
concat       global    lreplace     regexp     vwait
configbody   if        lsearch      regsub     while
constructor  incr      lsort        scan       winfo
continue     info      lstat        set        @scope
default      inherit   method       source     #auto
delete       isa       namespace    split
destructor   itcl      object       stat

Windows Menus

In Windows Menus, the '^' symbol means Ctrl and 'x' next to a 
letter means Alt plus that letter.

Multiple Machine Issues

- If you build a project on machine A with sources rooted at /foo 
and real path /disk/user/foo, Source-Navigator will store these 
files in the project as being rooted at /disk/user/foo, not /foo.  
If you try to access these files from machine B, where 
/usr/disk/foo is not visible, you will get an error.  

- If you instruct Source-Navigator scan /usr/include for C and C++ projects,
the contents will be machine specific.  It is important to keep
these issues in mind when accessing common projects from different
locations.

- If you have a heterogeneous environment, or if two machines have 
a different perspective on the disk/filesystem layout, there may 
be problems sharing projects between the two machines.

- If Source-Navigator is built on a Digital UNIX system, projects
created by the Digital UNIX system will not be readable on other
operating systems, and projects created by other operating systems
will not be readable on a Digital UNIX system.

Using CVS as a version control system

- In order for CVS to work properly, your project file needs to be
one of two places:

	- In the same directory as the source files. This only works
	if your project has no subdirectories.
	- In the directory where the toplevel of your source tree is.
	Basically, the relative path from your project to each of your
	source files has to be the same as the relative path from the
	CVSROOT to the files on the repository.

Running the generated executable on UNIX

When configuring your executable command line in the Edit Target dialog,
if your executable expects stdin or terminal input, the application will
hang waiting for the input. To fix this, add a command like:

xterm -e myapp

in this dialog. Make sure that xterm is on your path. Now, when you hit
"Run" from the Make window, your application will run.

If you need to debug your application with Insight, however, you will need
to remove "xterm -e" from your command line in the Edit Target window.
