The primary focus of work for Version 4.2 was to fix known problems in the software and to improve the overall quality.
There were also specific changes made to several existing tools.
Rebranding of Product and Documentation
The name of Compaq FUSE V4.2 reflects our new corporate identity. The DEC FUSE Handbook and EnCASE Manual were not updated for this release and do not reflect the name change; however, the contents are still valid with this exception.
New functions of interest in existing tools include the following:
Builder
The Force Build option rebuilds the specified target even if it is already up-to-date.
If there is already a Builder in a project, the Builder menu item in the Tools menu is greyed out. This prevents you from starting another instance of the Builder in the same project.
Call Graph Browser
Clicking OK or Apply in the Select box expands enough directories and files to display and highlight the selected item.
An Edit button in the Select dialog box lets you start the FUSE Editor from the Call Graph Browser. Selecting a file or function name in the Select dialog box and clicking on OK invokes the name in the editor.
Code Manager
Code Manager no longer collapses its libraries after encountering an error.
FUSE Editor
Set Breakpoint menu item added to the Utilities menu lets you set the breakpoint at the current cursor position.
Search
You can start the search tool from the FUSE Editor and emacs editor. The editor can search for all occurrences of the highlighted text or current token.
Reset button changed to Clear button.
Issue button changed to Search button.
Replace toggle added and made the Replace functionality a separate pane. When the user clicks on the replace toggle button, an additional pane becomes visible in the Search main window that provides the Replace functionality.
Control Panel/Project Manager
Clicking OK in one of the Project Manager panes with an error pops to the pane that relates to the error and highlights the problem field.
Saving the project saves the icon state of each tool in addition to the project context.
If you try to create a makefile, you are warned before an existing makefile in the directory is overwritten.
Show/Modify and Close added to the MB3 popup menu.
Unnamed project without data or tools is removed from Control Panel if there is at least one named project.
In addition, FUSE runs in the Common Desktop Environment (CDE) as well as with the Motif window manager.
If you used
xhost -
or
xhost -
`your_machine'
to connect your machine to its X server,
you may see the following message after installing FUSE:
Integrating DEC FUSE into the Common Desktop Environment
...
Integration Complete
See /tmp/dtappint.log file for more information
Writing DEC_FUSE_V30...
Xlib: connection to ":0.0" refused by server
Xlib: Client is not authorized to connect to Server
...
Xlib: connection to ":0.0" refused by server
Xlib: Client is not authorized to connect to Server
/usr/dt/bin/tt_type_comp: Overwrote /etc/tt/types.xdr
*** FUSE has now been successfully installed on your system
***
The installation completed successfully, however, to take full advantage of CDE support, you should log out and log back in. If you don't need full CDE support right away, FUSE is completely functional when invoked from the command line without logging out and back in.
This section provides information that you need before starting FUSE for the first time.
FUSE Version 4.2 runs on Tru64 UNIX Version 4.0D and higher.
To get the proper listing of tools in the Tools menu, delete .fuse.rc from your home directory.
After installation, remove all resource files in
.fuse-defaults
under your home directory.
You should also remove the resource files
$HOME/.fuse-defaults/'locale'/DFxxx
.
Tools now generally use project data.
FUSE operations are generally most reliable when windows are displayed through a Motif-based window manager such as mwm or dtwm -- the CDE window manager. When using the mwm window manager, OSF/Motif Version 1.2 is required for running FUSE Version 4.2. See the OSF/Motif documentation set for information about installing and using OSF/Motif.
If FUSE has terminated abnormally, you may receive the following messages if you try to restart FUSE:
fuse: msg/s: fatal: Server already running fuse:
msg/c: fatal: Couldn't create and connect to message server
If you receive these messages when trying to restart FUSE, you need to remove the following file:
/usr/tmp/fusemsg*{user}*
{user}
represents your login name.
If a FUSE tool crashes because of being unable to find some
actions, remove the text widget translation table (created by the
old session manager) from your
.Xdefaults
file.
This table is obsolete.
When redirecting FUSE to display on a DECstation running the ULTRIX operating system, the 75 DPI (dots per inch) font must be in the font path. To check your font path, enter the following command on the ULTRIX system you are directing the display to:
xset -q
If the 75 DPI font path is not shown, enter the following command on the ULTRIX system to add it:
xset +fp /usr/lib/X11/fonts/decwin/75dpi/
When you are using a Sun system to display a FUSE session running on another system, and your Sun system includes a version of OpenWindows prior to Version 3.0, you may experience an occasional OpenWindows problem with the scroll bars while running the Builder, Call Graph Browser, C++ Class Browser, or Code Manager. If you upgrade OpenWindows to Version 3.0, you will not experience this problem.
Certain limitations of an X server may prevent you from running all FUSE tools concurrently when you are using an X server for display based on MS-DOS or MS Windows. The limitations depend on the X server used and may be due to one or more of the following:
The amount of physical X server memory
The amount of virtual X server memory
The maximum size of certain MS Windows structures or tables
To minimize these problems:
Do not run or display applications other than FUSE on the system displaying FUSE.
Run only a few FUSE tools concurrently.
Also, when you are using a personal computer to display a FUSE session running on another system, you will not be able to resize some windows.
If you use a four-color plane system for displaying FUSE,
you will receive warning messages about color availability.
To avoid
receiving these messages, copy the file
/usr/opt/FUS420/rundata/resources/4PlaneDefaults
and append it to the
.Xdefaults
file in your
home directory (your login directory on the system where FUSE is
installed) before starting FUSE.
FUSE may experience color mapping problems when run along with one or more applications that use many colors and that run on an 8 plane graphics system, for example, Netscape. This is particularly noticeable if you start FUSE when an application such as Netscape is already running. Symptoms include partial loss of colors in FUSE tool displays, for example, in the Code Manager lock icons.
The simplest solution to the FUSE color loss is to stop the
additional application.
In the case of Netscape, you can also invoke
it with the
-install
option, which allows Netscape
to make more efficient use of colors.
The
DXmPrint
widget (used by various tools
including the Man Page Browser and FUSE Editor) uses the file
/etc/printcap
to populate its list of printers.
If this file does not exist or
is incorrect, FUSE issues either of two possible warning messages
on the command line:
Printer name too long.
Cannot
access printer description file
If this message appears, you need to set up your
/etc/printcap
file.
If you are not satisfied with the default dimensions of a printed graph, follow these steps to scale the graph prior to printing:
Start FUSE.
Start the Host Shell tool.
If the directory $HOME/.fuse-defaults does not exist, create it:
mkdir $HOME/.fuse-defaults
Copy the $FUSE_TOP/rundata/postscript/gelo.postscript file to your $HOME/.fuse-defaults directory:
cp $FUSE_TOP/rundata/postscript/gelo.postscript
$HOME/.fuse-defaults
Add write permission to the
$HOME/.fuse-defaults/gelo.postscript
file:
chmod u+w $HOME/.fuse-defaults/gelo.postscript
Start the FUSE Editor and load
$HOME/.fuse-defaults/gelo.postscript
.
Search for the string
LANDSCAPE
.
You will find the macro that provides the instructions to rotate
and translate a graph so it can be printed in landscape mode.
Follow the directions (given in comments) in the
gelo.postscript
file to customize scaling and
position of the graph on paper.
Note that modifications to your
private copy of the
gelo.postscript
file are
effective immediately; you do not have to restart the tool to print
the graph.
When the system running FUSE is heavily loaded (for example, recalling a saved configuration file with several tools), some X Toolkit resource requests might be inadvertently ignored. The height settings of some dialog boxes might be incorrect as a result. If the dialog box has a scroll bar, the following messages may be displayed in the terminal emulator window from which you started FUSE:
fuse: `fuse-tool-name': warning/error :
Name: hbar
Class: XmScrollBar
The specified slider size is less than 1
To correct this problem, manually resize the dialog box.
For Declaration queries, the Cross-Referencer provides a Classification option box to filter queries by language classes (such as variables, functions, and so on). To take advantage of the Ada-specific classifications, the DEC Ada Version 3.2 or higher compiler is required.
In the Graph Attributes dialog box, the Expand Size to Show Text toggle is always grayed out.
When the Builder creates a dependency graph, it starts with the default target (the first target in the makefile) and evaluates all dependents of that target. This is true regardless of the Builder engine.
If the makefile is structured in such a way that the default target does not depend on any of the targets that recursively call the make engine, the resulting graph is incomplete and no recursive node is displayed. Moreover, no compilation error is recognized.
As a workaround, add a dummy default target to the makefile that contains dependencies from all other makefile targets.
The C++ Class Browser requires C++ Version 5.6 for optimal display due to changes in the cross-reference database generated by the compiler. The Class Browser does run with older versions but lacks full functionality. In particular, templates do not display correctly and many of the attributes used to filter member displays do not work correctly.
When used with C++ Version 5.6, the Class Browser displays return types for class constructors and destructors; it should not do so. For constructors, the Class Browser shows a reference to the class as the return type. For destructors, the Class Browser shows a void return type. The return types appear in the Member Function pane.
The MB3 popup menu provides two menu items -- Show Calls and Called By -- that do not match properly with the corresponding user interface elements. If you choose the Show Calls menu item, it should turn on the Show Calls toggle in the main window. Similarly, the Call Options button in the main window invokes a dialog box with several toggle buttons that should match the settings you pick from the MB3 popup menu. In both cases, if you choose the Show Calls or Called By menu items, the toggles are not correctly set.
You can return to your last view by choosing the MB3 menu items again and then resetting the Show Calls toggle button. To clear totally, select Graph: Original.
You can type the name of a function in the Call Graph Browser's Select box. This works best when the Show Calls toggle in the main window is switched on. If the Show Calls toggle is switched off, the function will only be selected if it has already been expanded.
FUSE only supports RCS Version 5.6.2 (shipped with Tru64 UNIX V4.0) or earlier. It does not support RCS V5.7 or later.
When the Code Manager creates a library, it allows read, write, and execute access to the owner and the group, and read and execute access to the world. If your user account does not have write access to the library, RCS reports the problem accurately. For SCCS, the following operations are affected:
Check Out: If you check out a file
using Command: Check Out..., you will receive an error message,
which may take several minutes to appear.
To reduce the time interval
for the appearance of this message, replace the
/usr/bin/get
file with the
/usr/opt/FUS420/rundata/patch/get
file from the FUSE kit.
Check In: If you check in a file using Command: Check In..., you will receive the following error message:
SCCS: cannot create lock file
Cancel Lock: If you attempt to release a lock on a file using Command: Cancel Lock..., you will receive the following error message:
SCCS: (file) not being edited (sc14)
These operations are affected similarly if you try to check out a file, check in a file, or cancel a lock using SCCS from the shell.
There is a minimum size (enforced by the Code Manager) to which you can shrink the Code Manager main window. The minimum size avoids problems that will occur if the main window becomes too small for the scroll bar to be displayed.
To operate on a file in an RCS library, the Code Manager requires the file to have revision information associated with it. If you use the Code Manager to insert the file into the Library, this problem will not occur because the Code Manager automatically assigns revision 1.1 to a newly inserted file.
If you insert a file into the RCS library without using the
Code Manager, do not use the
rcs -i
command,
because you will not be able to use the Code Manager to process
the file.
Either nothing will happen (for example, when trying to
expand the file) or the Code Manager reports an error (for example,
when trying to check out the file).
There are a number of errors that the underlying tool (RCS or SCCS) reports in a way that the Code Manager fails to recognize or deal with in an optimal way. When the Code Manager gets told that some "undefined" error occurred in the subsidiary tool, it re-initializes and reloads the library to account for possibly incomplete or erroneous data that may have been passed back by the lower level tool.
The SCCS PROJECTDIR environment variable cannot be used when running the Code Manager. You can instead configure as default libraries in the Code Manager those libraries that you would have pointed to using the PROJECTDIR variable.
If the Save file prompt is displayed when you attempt to stop the emacs Editor using Actions: Stop Tools, emacs is not stopped but its entry is removed from the Control Panel display area. After you respond to the Save file prompt, the emacs Editor will be stopped.
Only one user at at time can use a project file.
The Compare tool, like most other FUSE tools, is set up to use the system default fonts. Because this font is almost always a proportional font (especially when using CDE), columnar data will not, in general, align correctly when displayed from the Compare tool. For correct alignment of columnar data, you must select a non-proportional font using the Fonts menu entry in the Compare Options menu.
Depending on its location in the file, a single difference may not appear on the visible portion of the file as it's initially displayed. Use the Next Diff to automatically scroll down in the file to locate the difference.
If you have a combination of both F77 and F90 declarations, the only way to find both using the Cross-Referencer is to use the All Languages option in the main window. See Section Section 1.28.3 for more details.
The Cross-Referencer requires C++ Version 5.6 for optimal display due to changes in the cross-reference database generated by the compiler. The Cross-Referencer does run with older versions but lacks full functionality.
If the system on which you are running FUSE is different than
the system where files are located, make sure that the mount points
(and thereby the pathnames) to the files are the same.
If the mount
points are different, the static analysis database will be recreated.
(An exception is the use of
/tmp_mnt
as a mount
point.)
See the Ladebug Debugger Release Notes for known problems.
If you are running FUSE V4.2 with a supported version of Tru64 UNIX (Tru64 UNIX V4.0D or higher), the Ladebug shipped with the operating system works with FUSE V4.2.
The Tools: Set Directory List and Tools: Configure Tool menu items do not function. (They are there for backward compatibility with previous ladebug debugger versions.)
If you use
fusedebug
remotely, the debugger
leaves a ladebug-server process on the target machine.
A workaround
for this is to kill the server process from the command line or
exit the debugger session by typing quit in the debugger engine
instead of using the exit menu item.
FUSE V4.2 no longer supports the dbx debugger.
Loading a new program into the Debugger after loading an initial program may cause the Debugger to halt. It is recommended that you bring up a new Debugger for each new program.
Breakpoints cannot be removed using Emacs.
If you use the CDE desktop to drop an executable on the Debugger icon, the Debugger loads the program, but does not ask you to enter necessary program arguments. Choose File: Run New Program to add data.
If there is an old HyperHelp application defaults file in
/usr/lib/X11/app-defaults
, HyperHelp may not
work correctly (mainly odd names for pushbuttons, title bars, and
so on).
If this happens, back up the HypeHelp file in
/usr/lib/X11/app-defaults
and delete it.
Hitting the Help button rapidly when there are no HyperHelp Viewers running may invoke multiple viewers. Only one responds to FUSE control.
Although the Annotate Lines function is supported in emacs, only the first annotation received is displayed. The others are ignored.
The emacs editing window does not have a Help menu. For online information about emacs, choose Help: On FUSE... in any FUSE tool and then choose the topic "Editing Sources Files."
When you iconify a project, emacs retains its own icon rather than being superceded by the project icon.
The version of XEmacs shipped with Tru64 UNIX V4.0D (or higher) does not
run well in the FUSE environment.
Use the
ftp
sites (see the topic
How Do You Get XEmacs?
in the Online Help) to copy Version 19.15 or higher.
When running FUSE on a slow machine, sometimes the FUSE menu item in the XEmacs menu bar does not show up correctly. You have to evaluate the following in XEmacs to load the FUSE menu file:
load-file "/tmp/FUSE_init_emacs_menubar.pid"
Where
pid
is the process id for your process.
If you start XEmacs from another tool using the annotation, XEmacs may not open the file the first time. You may need to redo your action that brought up XEmacs to set it to display the annotation.
When you iconify a project, emacs retains its own icon rather than being superceded by the project icon.
The following extraneous error message appears in the XEmacs message area when you use annotations:
File mode specification error: (wrong type argument
number-or-marker-p "19")
You can ignore the message; it has no impact on annotation.
The MULE binary shipped with Tru64 UNIX Version 4.0D does not display menu names correctly in the Japanese locale. To check your MULE binary:
Invoke the MULE editor.
Load or create a file whose file name contains Japanese characters.
Check the "Buffers" menu pulldown to see if the file name is the same as in the Buffers window. If it is, your binary is built correctly. If you cannot read the menu, rebuild MULE.
Before rebuilding MULE, read the
INSTALL, INSTALL.dec,
README
, and the
README.Mule
files.
Rebuilding MULE requires approximately 50 to 70 megabytes of disk
space.
The following steps are provided as a guide; they might not work for every setup.
Use the
setld
command
to install the
IOSWWMULE400
and
IOSWWMULESRC400
subsets.
Uncompress and extract the contents of the sources tar file:
% mkdir "mule_bld_directory"
% cd "mule_bld_directory"
% cp /usr/i18n/src/mule-2.3.tar.Z .
% uncompress mule-2.3.tar.Z
% tar xvf mule-2.3.tar
Change to the directory mule-2.3:
% cd mule-2.3
.Change the file properties of config.guess to be exexutable:
% chmod a+rx config.guess
Run the configure script:
% ./configure --with-gcc=no --prefix="mule-pathname"
--mcpath
Edit the Makefile by locating the line that starts with CC (line 42 in most cases) so that it reads:
CC=cc -I/usr/include/X11/fonts
This change tells the C compiler which directory to look in
for the font server header files (FSlib.h
).
(This
location might be different for your machine.)
Copy the files from the binary's site-lisp directory to your site-lisp area:
% mkdir "mule_pathname"/lib/mule/site-lisp/
%
cp /usr/i18n/mule/lib/mule/site-lisp/* "mule_pathname"/lib/mule/site-lisp/
Build MULE:
% make install
Fix the following compile error if it occurs:
cc: Error: ../src/regex19.h, line 383: Invalid
declaration.
extern Lisp_Object Vforward_word_regexp, Vback-
ward_word_regexp;
-------------------^
Exit 1
Copy the header file
/usr/include/sys/lc_core.h to
./src/sys/lc_core.h
and delete the following include statement:
#include `regex.h'
Make sure you are pointing to the successfully built MULE executable in either of two ways:
By explicitly setting the
FUSE_MULE
environment variable to
`mule-pathname'/bin/mule
.
By editing the reference to MULE in
`fuse_path'/fuse.sh
.
(See the
Installation Instructions
for more
details.)
If a file contains a null byte (\0
), the
FUSE Editor truncates the file after it.
If you load a file with
a null byte, FUSE displays a message to warn you that the file may
be truncated.
To make sure that the entire file is loaded correctly,
use emacs or vi to remove the null byte from the file before loading
the file into the FUSE Editor.
Annotations in source files become invalid in the following circumstances:
Annotations have been marked by a tool in the source file. You make changes to the source file and use File: Save to save your changes. The tool that marked the annotations has knowledge of the annotation locations according to the unsaved version of the file. The annotations then become invalid.
If you start another tool that is configured to the same file, the new tool will reference the saved version of the file and the tool that made the original annotations still references the unsaved version of the file. Therefore, these two tools will not have the same view of the source file.
For example, you have used the Builder to build a program and the build errors are marked in the FUSE Editor by boxed-B and skull annotations. You then use the Editor to change and save the file. The Builder has knowledge of the boxed-B and skull annotations according to the line locations prior to your saved changes. You then start the Cross-Referencer and it refers to the saved version of the source file correctly. However, it and the Builder now have a different view of the same source file.
If you print a large file using File: Print..., you may receive
an illegal instruction signal interrupt.
This is most likely to
happen when the
/tmp
directory is being used
by several tools at the same time.
Wait until actions using the
/tmp
directory (such as program building) have
completed, and try to print the file again.
The Show Class...
item on the Utilities menu in the FUSE Editor
will not display the class in the C++ Class Browser if the selected
class identifier is in the form
ClassName::MethodName
.
To display the class from the Editor, highlight just the
ClassName
part.
In the FUSE Editor, if you display the Find... dialog box and initiate a Find and Replace All action on a very large buffer in which there are many occurrences of the specified string to find, the Editor will appear to hang after finishing with all the replacements. This is a false impression; and, if you wait, the Editor will eventually resume normal functioning. The amount of time depends on how many replacements were performed.
If the user attempts to perform thousands of replacements using one Find and Replace All operation, the FUSE Editor might hang. This doesn't seem to occur until more than about 20,000 replacements.
In the Editor, some key bindings do not work on some systems as documented. Notably, on some Tru64 UNIX systems, Ctrl+F3 and Ctrl+F6 do nothing.
If you are currently editing an unnamed buffer in the Editor
(with a name something like
Unnamed_1
) and you
choose Utilities: Checkout, the Code Manager will attempt to check
out the file named
Unnamed_1
and will then notify
you that the file does not exist or that the library type does not
match the current library.
To avoid this problem, load the file you want to check out into the Editor's buffer before attempting to check it out; or check out the file directly from the Code Manager and click on the Invoke Editor checkbox in the Check Out dialog box to load the file into the Editor.
The Find dialog box in the FUSE Editor (accessed from the
Buffer menu) has several known problems when searching using regular
expression patterns.
A search for a "^[pattern]
"
will ignore a match if the match is on the very first line.
A search
for a "[pattern]$
" will ignore the match if
the match is on the last line in the Editor.
The size of the file that you can open using the FUSE Editor largely depends on the amount of memory available on the machine during the editing session. If all available memory is exhausted, the FUSE Editor could crash while attempting an edit/save operation. For large files ( greater than 50,000 lines), even simple edits will take a long time. Edits at the beginning of the file will take longer compared to edits at the end of the file.
Your application will not work correctly if it does I/O to
/dev/tty
.
Use of Ctrl/C, Ctrl/Z and similar
job control characters in the I/O window do not work.
Try running
your application outside the Heap Analyzer.
There are occasional problems when switching to Generate mode
for the first time.
It can cause a message
Out of ptys
to be displayed.
If this happens, exit the tool and restart.
Usually
that is enough although sometimes you need to do this severa times.
If you choose Actions: Raise Tools in the Control Panel to bring the Host Shell window to the top of the display, the Host Shell window fails to come to the top of the display.
The Man Page Browser searches using a regular expression. However, in the case of ^ (beginning of line) and $ (end of line), the Man Page Browser may make false positive hits. This should only happen around hotspots.
The Porting Assistant only supports Makefiles that use Bourne shell commands.
If the Porting Assistant processes a makefile that invokes
a C shell script that sources your
.cshrc
(such
as which), make sure that your
.cshrc
file does
not modify your terminal (for example using
stty
).
This causes the Porting Assistant to hang.
The Porting Assistant ignores the
kapf
command (for example, if used in a makefile) for the standalone
KAP preprocessor.
The Porting Assistant does recognize
kf90
and
kf77
.
Your application will not work correctly if it does I/O to
/dev/tty
.
Use of Ctrl/C, Ctrl/Z and similar
job control characters in the I/O window do not work.
Try running
your application outside the Profiler.
There are occasional problems when switching to Generate mode
for the first time.
It can cause a message
Out of ptys
to be displayed.
If this happens, exit the tool and restart.
Usually
that is enough although sometimes you need to do this severa times.
The Version Controller will still attempt to edit a file even if a checkout fails.
The wrapper routines can generate static analysis data for the browser tools during a build. They have the following restrictions:
The
fuse_cxx
and
fuse_f90
wrappers do not recognize non-Compaq
compilers.
The
fuse_cxx
and
fuse_f90
wrappers cannot handle compile commands that have the same base
name on source files.
That is, the following command only creates
one file.
fuse_cxx cxx test.C regression/test.C
The
fuse_cxx
wrapper only compiles
C++ files (no C code).
The wrappers strip a leading
/tmp_mnt
from a path when saving static analysis data.
When you click on the Generate Static Analysis Data button in the Builder, FUSE creates a static analysis database by scanning the source files.The C scanner has the following deficiencies wherein certain valid C syntax is not recognized; using this syntax may result in an incomplete or inaccurate static analysis database:
The use of (declarator
)
where the declarator does not begin with a * pointer is currently
not supported.
For example, the following statements are not recognized
as declarations and may lead to unexpected results for source
that is scanned after such a declaration is encountered:
extern int (_my_func)();
int (c)
The syntax in the following statements is supported:
extern int (*_my_func)();
int (*c);
The C language indicates that the word
int
can be omitted from declarations; however, the C scanner only supports
this for external declarations.
For example:
extern c;
void main ();
{
extern main_c;
}
The C scanner recognizes the declaration of c as an external
int
; however, it will not recognize the declaration
of
main_c
.
The C scanner is a syntax-only scanner, that is, no semantic information is kept during scanning. When the language's syntax is ambiguous, it is impossible for the scanner to know exactly what is being scanned. For example, the syntax of a declaration for a variable can mimic the syntax of an expression. Consider the following example:
void popcg (int *tag)
{
clear (*tag);
}
void clear (int x)
{
}
The syntax of the call to
clear
is the
same as the syntax that could be used to define a variable called
tag
, which was a pointer to some user-defined
type (from a previous
typedef
) called
clear
.
In this example, the C scanner believes it is scanning a declaration
as opposed to a function call.
The call relationship between
popcg
and clear is lost and declaration information for an automatic
variable named
tag
or
type clear(*)
is generated.
It is possible that one of the scanning deficiencies can negatively affect the normal scanning of the rest of a file. By using ANSI C (that is, ISO C) function definitions, particularly by providing a return type, the C scanner can more easily determine function boundaries. Thus, a problem in a scan of one section is unlikely to negatively affect another section's scan.
If you have a combination of both
F77 and F90 declarations, the only way to find both using the Cross-Referencer
is to use the All Languages option in the main window.
Because F90
and F77 are part of a single kit in Tru64 UNIX Version 4.0D, by default,
FUSE uses F90 (available in
/usr/bin/f90
) to
scan F77 files.
If F90 is not available, the files are scanned by
the FUSE Fortran scanner (located in
/usr/opt/FUS420/bin/fortran_scanner
).
The F90 compiler tags all declarations with its own f90_ tag whereas the FUSE Fortran scanner tags all its declarations with the f77_ tag. FUSE makes a distinction between the two compilers because F90 has new declaration types that F77 does not support. If you have a combination of both F77 and F90 declarations, the only way to get both at the same time is to use the All Languages option in the Cross-Referencer main window.
The FORTRAN scanner is case sensitive. For example, when the scanner reads the following syntax, the scanner detects name as a statement function and NAME as an array variable:
SUBROUTINE INIT
CHARACTER*20 NAME(20)
name(1) = `a'
END
The Pascal scanner does not support the following:
Nonstandard
%INCLUDE
directive
Nonstandard array constructions
When specifying the
source:
,
include:
,
rootdir:
, or
for: ...
end:
directives in a scanning resource file, use absolute or relative
pathnames only.
The use of environment variables in the definition
of these directives is not supported.
When you request help on the Print dialog box (which appears when you choose File: Print) or the Color dialog box (which appears when you choose Options: Colors and click on an entry in the Options - Colors dialog box), the Tru64 UNIX Bookreader is invoked. The Bookreader may be unable to locate the file containing the requested help.
Setting up a printer for use by the HyperHelp Viewer is easier if you use the procedure described in the FUSE Help system. From the Control Panel, choose Help: Help on Help. It provides some initial steps that supplement the procedure described in the Help available from the HyperHelp Viewer. Choose Help: How to Use Help from the HyperHelp Viewer for this information.