1 Release Notes for Compaq FUSE V4.2 1.1 Summary of Features New for FUSE Version 4.2 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 Hand- book 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. 1.1.1 Existing Tools 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 dia- log 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 func- tionality. • 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. 1.1.2 CDE Support In addition, FUSE runs in the Common Desktop Environment (CDE) as well as with the Motif window manager. 1.2 Restriction on FUSE Installation 1.2.1 Installing FUSE with CDE After Using xhost - If you used xhost - or xhost - `your_machine' to connect your machine to its X serv- er, 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. 1.3 Restrictions That Apply to FUSE Startup This section provides information that you need before starting FUSE for the first time. 1.3.1 Operating System Requirements FUSE Version 4.2 runs on Tru64 UNIX Version 4.0D and higher. 1.3.2 Delete .fuse.rc To get the proper listing of tools in the Tools menu, delete .fuse.rc from your home directo- ry. 1.3.3 Remove Files from .fuse-defaults After installation, remove all resource files in .fuse-defaults under your home directo- ry. You should also remove the resource files $HOME/.fuse-defaults/'locale'/DFxxx. Tools now generally use project data. 1.3.4 Motif Window Manager or CDE Window Manager Recommended 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. 1.3.5 Recovering from an Abnormal FUSE Termination 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 follow- ing file: /usr/tmp/fusemsg*{user}* {user} represents your login name. 1.3.6 Old Text Translation Table Causes Crash 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. 1.4 Display Problems 1.4.1 Loading the Correct Fonts when Displaying on ULTRIX When redirecting FUSE to display on a DECstation running the ULTRIX operating sys- tem, 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/ 1.4.2 Problem when Displaying on a Sun System 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 ex- perience an occasional OpenWindows problem with the scroll bars while running the Builder, Call Graph Browser, C++ Class Browser, or Code Manager. If you upgrade Open- Windows to Version 3.0, you will not experience this problem. 1.4.3 Problem when Displaying on a Personal Computer Certain limitations of an X server may prevent you from running all FUSE tools concur- rently 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 an- other system, you will not be able to resize some windows. 1.4.4 Color Values for Four-Color Plane Systems If you use a four-color plane system for displaying FUSE, you will receive warning messag- es 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. 1.4.5 Color Problems when Running FUSE and Applications Using Many Colors FUSE may experience color mapping problems when run along with one or more applica- tions 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 dis- plays, 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. 1.5 Printing Problems 1.5.1 The DXmPrint Widget Needs /etc/printcap File 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. 1.5.2 Scaling Graphs for Improved Printing Output If you are not satisfied with the default dimensions of a printed graph, follow these steps to scale the graph prior to printing: 1 Start FUSE. 2 Start the Host Shell tool. 3 If the directory $HOME/.fuse-defaults does not exist, create it: mkdir $HOME/.fuse-defaults 4 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 5 Add write permission to the $HOME/.fuse-defaults/gelo.postscript file: chmod u+w $HOME/.fuse-defaults/gelo.postscript 6 Start the FUSE Editor and load $HOME/.fuse-defaults/gelo.postscript. 7 Search for the string LANDSCAPE. You will find the macro that provides the instruc- tions to rotate and translate a graph so it can be printed in landscape mode. 8 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. 1.6 Dialog Box Problems 1.6.1 Dialog Box Problems when System is Heavily Loaded When the system running FUSE is heavily loaded (for example, recalling a saved configu- ration file with several tools), some X Toolkit resource requests might be inadvertently ig- nored. 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. 1.7 Language Support Restrictions 1.7.1 Restriction for the Ada Language Classifications 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. 1.8 Builder 1.8.1 The Graph Attributes Dialog Box In the Graph Attributes dialog box, the Expand Size to Show Text toggle is always grayed out. 1.8.2 Dependency Graph Appears Incomplete for Certain Makefiles 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. 1.9 C++ Class Browser 1.9.1 C++ Version Requirement 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 old- er 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. 1.9.2 Return Types Shown for Constructors and Destructors When used with C++ Version 5.6, the Class Browser displays return types for class con- structors 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. 1.10 Call Graph Browser 1.10.1 MB3 Show Calls and Called By Menu Items Mismatch User Interface 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 but- tons 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. 1.10.2 Select Box Works Best with Show Calls Toggled On 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 tog- gle is switched off, the function will only be selected if it has already been expanded. 1.11 Code Manager 1.11.1 RCS Version Supported 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. 1.11.2 Effects of File Protection on Library Files 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 inter- val 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 fol- lowing 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. 1.11.3 Minimum Window Size for the Main Window 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 win- dow becomes too small for the scroll bar to be displayed. 1.11.4 Revision Number Required for Files in RCS Library 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 Li- brary, this problem will not occur because the Code Manager automatically assigns revi- sion 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 Man- ager reports an error (for example, when trying to check out the file). 1.11.5 Undefined Error Causes Reinitialization 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 Man- ager 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. 1.11.6 SCCS PROJECTDIR Cannot Be Used with the Code Manager 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 librar- ies that you would have pointed to using the PROJECTDIR variable. 1.12 Control Panel 1.12.1 Using the Stop Tools Item with Unsaved emacs Buffer If the Save file prompt is displayed when you attempt to stop the emacs Editor using Ac- tions: Stop Tools, emacs is not stopped but its entry is removed from the Control Panel dis- play area. After you respond to the Save file prompt, the emacs Editor will be stopped. 1.12.2 Project Files Only Can Be Used By One User Only one user at at time can use a project file. 1.13 Compare 1.13.1 Column Data Misaligns 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), colum- nar data will not, in general, align correctly when displayed from the Compare tool. For cor- rect alignment of columnar data, you must select a non-proportional font using the Fonts menu entry in the Compare Options menu. 1.13.2 Single Difference Not Visible Depending on its location in the file, a single difference may not appear on the visible por- tion of the file as it's initially displayed. Use the Next Diff to automatically scroll down in the file to locate the difference. 1.14 Cross-Referencer 1.14.1 Locating f77 and f90 Declarations 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 1.28.3 for more details. 1.14.2 C++ Version Requirement 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. 1.15 Database Manager 1.15.1 Restrictions when Using Different Systems 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.) 1.16 Debugger 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.) 1.16.1 Remote Use of Debugger Leaves ladebug-server process 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. 1.16.2 dbx Support Removed FUSE V4.2 no longer supports the dbx debugger. 1.16.3 Loading a New Program May Cause Failure 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 pro- gram. 1.16.4 Problem Removing Breakpoints with Emacs Breakpoints cannot be removed using Emacs. 1.16.5 Debugger and CDE Interactions 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. 1.17 HyperHelp 1.17.1 Delete Old HyperHelp Application Defaults 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 de- lete it. 1.17.2 Multiple Viewers Hitting the Help button rapidly when there are no HyperHelp Viewers running may invoke multiple viewers. Only one responds to FUSE control. 1.18 emacs Editor 1.18.1 Only First Annotation is Displayed Although the Annotate Lines function is supported in emacs, only the first annotation re- ceived is displayed. The others are ignored. 1.18.2 Obtaining Information About emacs Online 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." 1.18.3 Iconifying Restriction When you iconify a project, emacs retains its own icon rather than being superceded by the project icon. 1.19 XEmacs 1.19.1 XEmacs Version Compatibility The version of XEmacs shipped with Tru64 UNIX V4.0D does not run well in the FUSE en- vironment. Use the ftp sites (see the topic How Do You Get XEmacs? in the Online Help) to copy Version 19.15 or higher. 1.19.2 FUSE Menu Options Do Not Appear in Menu Bar 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. 1.19.3 XEmacs Launch from Another Tool May Not Work 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. 1.19.4 Iconifying Restriction When you iconify a project, emacs retains its own icon rather than being superceded by the project icon. 1.19.5 Error Message Using Annotation 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. 1.20 MULE Editor The MULE binary shipped with Tru64 UNIX Version 4.0D does not display menu names cor- rectly in the Japanese locale. To check your MULE binary: 1 Invoke the MULE editor. 2 Load or create a file whose file name contains Japanese characters. 3 Check the "Buffers" menu pulldown to see if the file name is the same as in the Buff- ers 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 RE- ADME.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. 1 Use the setld command to install the IOSWWMULE400 and IOSWWMULESRC400 sub- sets. 2 Uncompress and extract the contents of the sources tar file: a. % mkdir "mule_bld_directory" b. % cd "mule_bld_directory" c. % cp /usr/i18n/src/mule-2.3.tar.Z . d. % uncompress mule-2.3.tar.Z e. % tar xvf mule-2.3.tar 3 Change to the directory mule-2.3: % cd mule-2.3 4 .Change the file properties of config.guess to be exexutable: % chmod a+rx config.guess 5 Run the configure script: % ./configure --with-gcc=no --prefix="mule-pathname" --mcpath 6 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.) 7 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/ 8 Build MULE: % make install 9 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' 10 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 Installa- tion Instructions for more details.) 1.21 FUSE Editor 1.21.1 Problem with Null Byte in Files 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. 1.21.2 Annotation Placements May Be Incorrect when a Buffer Is Saved 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 annota- tions 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 ref- erences 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 accord- ing 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. 1.21.3 Printing Large Files May Result in an Error If you print a large file using File: Print..., you may receive an illegal instruction signal in- terrupt. 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 build- ing) have completed, and try to print the file again. 1.21.4 Show Class 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::Meth- odName. To display the class from the Editor, highlight just the ClassName part. 1.21.5 Find and Replace 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. 1.21.6 Problems with Key Bindings 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. 1.21.7 Using the Checkout File Utility on an Unnamed Buffer 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. 1.21.8 Errors in Find Operation Using Regular Expressions 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. 1.21.9 Memory Available Impacts Size of Editable File 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 opera- tion. 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. 1.22 Heap Analyzer 1.22.1 Restrictions on Application Running in I/O Window 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 appli- cation outside the Heap Analyzer. 1.22.2 Error on First Switch to Generate Mode 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. 1.23 Host Shell 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. 1.24 Man Page Browser 1.24.1 False Hits on Search The Man Page Browser searches using a regular expression. However, in the case of ^ (be- ginning of line) and $ (end of line), the Man Page Browser may make false positive hits. This should only happen around hotspots. 1.25 Porting Assistant 1.25.1 Only Bourne Shell Commands Supported in Makefiles The Porting Assistant only supports Makefiles that use Bourne shell commands. 1.25.2 Restriction Executing .cshrc File 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. 1.25.3 KAP Preprocessor Ignored 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. 1.26 Profiler 1.26.1 Restrictions on Application Running in I/O Window 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 appli- cation outside the Profiler. 1.26.2 Error on First Switch to Generate Mode 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. 1.27 Version Controller The Version Controller will still attempt to edit a file even if a checkout fails. 1.28 Scanners 1.28.1 Wrapper Routines 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. 1.28.2 C Scanner 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 recog- nized; 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 cur- rently 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; how- ever, 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 dur- ing scanning. When the language's syntax is ambiguous, it is impossible for the scan- ner 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 decla- ration 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 func- tion boundaries. Thus, a problem in a scan of one section is unlikely to negatively affect another section's scan. 1.28.3 FORTRAN Scanner • 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 For- tran 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 1.28.4 Pascal Scanner The Pascal scanner does not support the following: • Nonstandard %INCLUDE directive • Nonstandard array constructions 1.28.5 Directives for Specifying Pathnames to Scanners 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. 1.29 Documentation 1.29.1 Help on the Color and Print Dialog Boxes 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. 1.29.2 Setting Up a Printer for Printing HyperHelp Topics 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 avail- able from the HyperHelp Viewer. Choose Help: How to Use Help from the HyperHelp Viewer for this information.