Thank you for choosing Cygnus Source-Navigator.  This README document
outlines some outstanding issues with the release of version 4.2.

If you run into installation problems or problems with your project, 
send email to sn-support@cygnus.co.jp or visit the Source-Navigator 
web page at <http://www.cygnus.com/product/sendpr.html> for
submitting problem reports.

Again, thanks from the Cygnus Source-Navigator Team.

NOTE: If you have Source-Navigator projects older than 4.1, you must rebuild 
them using Source-Navigator 4.2.

To acquire a license for Source-Navigator, please contact us 
directly at:

	sn-eval@cygnus.com

License Manager Upgrade from Source-Navigator 4.0.x to 4.1 or 4.2 (Enterprise
Edition only):

- We have changed the license manager in Source-Navigator 4.1.
We are now using FLEXlm from GLOBEtrotter.  You will need to 
delete the old Multix license manager, reinstall your license 
server, and obtain a new key from Cygnus Solutions.

- In order for Source-Navigator to recognize the new license
manager, you need to kill the old license manager by typing
the following at the command line on the UNIX machine where
the license manager is running:

	ps | grep mxnlmgrd
	kill -9 <pid>

Where <pid> is the process ID for the license manager, mxnlmgrd. 

The FLEXlm license manager runs on both Windows and UNIX.

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 not be 
very 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

Changes to the APIs

- In Source-Navigator 4.x, the location and syntax of the rc.tcl 
customization script has changed.  The file now exists in the 
.sn directory for user specific customizations.  Procedure names 
are prefixed by "sn_" instead of "paf_".  Please refer to the 
Programmer's Guide for more details.

Windows Menus

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

Windows NT

- Source-Navigator's license manager currently requires that 
WinSock be installed and running on the system.  If Dial-Up 
Networking is enabled as your system's default networking option, 
launching Source-Navigator may open the dialing window instead.  
Switch your network connection to use another networking option.

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.  

- When Source-Navigator scans /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.

Character Set Encodings

The default character set for Source-Navigator projects is ISO8859-1. The
User's Guide incorrectly lists it as ASCII in Chapter 2, Working with
Projects.

GDB

In versions of Source-Navigator previous to 4.2, Source-Navigator wrapped
an interface around the GDB console window. That functionality has been
removed in the 4.2 version of Source-Navigator. Instead, Cygnus has a special
version of GDB available which will communicate with Source-Navigator 4.2.
Please contact support@cygnus.com for more information.

Command Line Options

Source-Navigator 4.2 has the following support for command-line options.

--batchmode
	Forces batch mode to create a new project. If this is set, the
	Source-Navigator application will not launch, instead the
	succeeding command line options will be used to create a new
	project.

--projectname <file>
	The name of the new project. If a directory is given, the database
	directory is set to the directory and the project name is the name 
	of the last element of the directory (e.g,  /home/foo ==> 
	/home/foo/foo.proj is project name). If a full path is given,
	the database directory defaults to the directory the project
	is contained in.

--define <option>=<value>
	Defines an option used in project creation.

--avail-options
	Lists options that can be set using --define.

--databasedir <directory>
	(syn. -dbdir, -database, -db)
	Defines the directory for the symbol databases. Without this,
	the symbol databases are put in a directory called ".snprj"
	at the same level as the project file.

--import <file>
	Specifies a text file with a list of all file or directories
	to add to the project.

--noxref
	Don't create cross-reference databases by creating the project.
	By default, Source-Navigator genereates cross-reference information
	for the project.

--xref
	Generate cross-reference information.

--create
	This option is used to start the project creation process; it
	is not normally used with --batchmode. Source-Navigator will
	prompt the user for information used to create a project.

Examples

1. The following command creates a project named /home/smith/devo.proj
   using the files listed in devo-files in batch mode. Source-Navigator
   returns when the project has been created. The database files are 
   stored in "~/db files".

~/bin/snavigator --batchmode \
	--import devo-files \
	--databasedir "~/db files" \
	--project /home/smith/devo

2. The following command creates a project in batch mode using the current
   directory. It adds all the files in the current directory and in all
   of the subdirectories. The project name is
   "/home/smith/devo/snavigator/snavigator.proj".

(Current working directory is /home/smith/devo/snavigator).

~/bin/snavigator --batchmode --create
	
3. The following command displays the Fast-Create Dialog initialized with
   the current directory and foo.proj as the project name.

~/bin/snavigator --projectname foo



