November 1989
VAX Language-Sensitive Editor Release Notes
Version V3.0
SOFTWARE VERSION: VAX Language-Sensitive Editor V3.0.
digital equipment corporation o maynard massachusetts
The information in this document is subject to change without notice
and should not be construed as a commitment by Digital Equipment
Corporation. Digital Equipment Corporation assumes no responsibility
for any errors that may appear in this document.
The software described in this document is furnished under a license
and may be used or copied only in accordance with the terms of such
license.
No responsibility is assumed for the use or reliability of software on
equipment that is not supplied by Digital Equipment Corporation or its
affiliated companies.
Copyright c 1989 by Digital Equipment Corporation
All Rights Reserved.
Printed in U.S.A.
The following are trademarks of Digital Equipment Corporation:
CDA MASSBUS VAX RMS
DDIF PrintServer 40 VAXstation
DEC Q-bus VMS
DECnet ReGIS VT
DECUS ULTRIX XUI
DECwindows UNIBUS
DIGITAL VAX
LN03 VAXcluster
The following are third-party trademarks:
PostScript is a registered trademark of Adobe Systems, Inc.
ii
CONTENTS
1 General Information . . . . . . . . . . . . . . . . 1
1.1 Languages with VAX LSE Support . . . . . . . . . . 1
1.2 VAXTPU (Text Processing Utility) . . . . . . . . . 1
1.3 VAX LSE Performance . . . . . . . . . . . . . . . 2
2 Changes in VAX LSE . . . . . . . . . . . . . . . . . 3
2.1 Installation Information . . . . . . . . . . . . . 3
2.1.1 Required and Optional Software . . . . . . . . . 3
2.1.2 VAX LSE Supports LMF . . . . . . . . . . . . . . 3
2.1.3 Installing With Users Logged-in . . . . . . . . 3
2.1.4 Known Images and Installing on a VAXcluster . . 3
2.1.5 Invoking Callable LSE from MAIL . . . . . . . . 3
2.1.6 Language Templates Shipped with VAX LSE. . . . . 4
2.2 New and Enhanced Commands . . . . . . . . . . . . 4
2.2.1 LSEDIT Command Qualifiers . . . . . . . . . . . 4
2.2.2 Viewing Code . . . . . . . . . . . . . . . . . . 4
2.2.3 Reports . . . . . . . . . . . . . . . . . . . . 5
2.2.4 Pseudocode Entry . . . . . . . . . . . . . . . . 5
2.2.5 SET SEARCH . . . . . . . . . . . . . . . . . . . 6
2.2.6 WRITE Command . . . . . . . . . . . . . . . . . 6
2.2.7 DCL Command . . . . . . . . . . . . . . . . . . 6
2.2.8 EXTEND Command . . . . . . . . . . . . . . . . 6
2.2.9 LINE Command . . . . . . . . . . . . . . . . . 7
2.2.10 SHOW SUMMARY Command . . . . . . . . . . . . . . 7
2.2.11 SPELL Command . . . . . . . . . . . . . . . . . 7
2.2.12 WHAT LINE Command . . . . . . . . . . . . . . . 7
2.3 Predefined Keys . . . . . . . . . . . . . . . . . 7
2.4 DECwindows Support . . . . . . . . . . . . . . . . 8
2.5 TPU Built-ins for LSE and SCA Features . . . . . . 8
3 Compatibility . . . . . . . . . . . . . . . . . . 10
3.1 SCA V2 . . . . . . . . . . . . . . . . . . . . . 10
3.2 Section and Environment Files . . . . . . . . . 10
3.3 System Environment File . . . . . . . . . . . . 10
3.4 Changes Impacting User-written TPU Procedures . 11
4 Restrictions . . . . . . . . . . . . . . . . . . . 13
4.1 General restrictions . . . . . . . . . . . . . . 13
4.2 Restrictions on Reports . . . . . . . . . . . . 18
5 Reporting Problems and Suggestions . . . . . . . 21
iii
VAX Language-Sensitive Editor Release Notes (Version V3.0)
1 General Information
1.1 Languages with VAX LSE Support
The following products are supported by VAX LSE:
VAX Ada
VAX BASIC
VAX BLISS-32
VAX C
VAX COBOL
VAX DOCUMENT
VAX FORTRAN
VAX MACRO
VAX Pascal
VAX PL/I
VAX DIBOL
VAXELN Pascal
VAX SCAN
VAX CDDL
The following products have partial VAX LSE support. See the
corresponding product SPD for details.
VAX ACMS
VAX DATATRIEVE
VAX TDMS
DECwindows UIL
Since support for some products ship with the product and not the
editor, support for a new product may be added to your system between
editor releases. Therefore, the above lists may not be up-to-date.
1.2 VAXTPU (Text Processing Utility)
VAX LSE includes a Text Processing Utility (VAXTPU) that permits the
user to extend the capabilities of the Editor by providing the ability
to program new functions. These new functions may be invoked from the
VAX LSE command line or may be bound to keys in the same manner as the
Editor commands can be bound to keys.
Use of VAXTPU is optional. Using VAXTPU is recommended for
specialized editing needs that require extensions to the set of
commands provided by VAX LSE.
In addition to being available with VAX LSE, VAXTPU is shipped with
VAX/VMS as an independent utility. As such, it is provided with an
Extensible VAX Editor (EVE) interface. This interface is described in
the VAX Text Processing Utility Reference Manual. The LSE interface
is similar to the EVE interface, providing most of the capabilities.
1
VAX Language-Sensitive Editor Release Notes (Version V3.0)
Many of the commands are the same, and LSE permits the user to choose
an EVE-style keypad layout.
V3.0 of VAX LSE includes the capabilities of TPU V2.4 and EVE V2.4.
Please refer to appropriate release notes for information about TPU
and EVE changes.
1.3 VAX LSE Performance
The Editor will require less CPU time than most other popular editors
such as EDT. VAX LSE image size is larger, however, due to the
breadth of functionality provided. Therefore, VAX LSE's performance
will be sensitive to the memory resources available on a system
relative to the total number of users.
When used in DECwindows mode, versus character-cell mode, the Editor
is especially sensitive to memory resources. The minimum supported
memory for this application running in a standalone DECwindows
environment with both the client and server executing on that same
system is 8 mb. Additional physical memory is recommended when used
in a clustered environment.
2
VAX Language-Sensitive Editor Release Notes (Version V3.0)
2 Changes in VAX LSE
2.1 Installation Information
2.1.1 Required and Optional Software
This version of the editor requires VMS V5.1 or later. See the System
Support Addendum (SSA) for this product for additional information
about required and optional software. Also, see the SSA for
information about required VMS classes and tailoring.
2.1.2 VAX LSE Supports LMF
LSE now supports the VMS License Management Facility (LMF). The
Product Authorization Key (PAK) for LSE must be loaded before you
start the installation. Refer to the product SPD for additional
information.
2.1.3 Installing With Users Logged-in
The installation procedure modifies the DCL command table so that the
LSEDIT command is recognized and processed. However, the old command
table is still in effect for those users who are currently logged in.
All logged-in users who want to use the LSEDIT command must log out of
the system and log in again.
2.1.4 Known Images and Installing on a VAXcluster
The installation procedure makes the newly installed VAX LSE images
known images. This is done only on the system on which the
installation procedure is executed. If VAX LSE is being installed in
a VAXcluster environment, then you must make the new VAX LSE images
known to those other VAXcluster members as well. See the VAX
Language-Sensitive Editor Installation Guide section titled
"Installing the VAX Language-Sensitive Editor on a VAXcluster" for the
steps that must be executed on each node in the VAXcluster.
2.1.5 Invoking Callable LSE from MAIL
The MAIL utility will invoke callable LSE if the logical name
MAIL$EDIT has been defined as CALLABLE_LSE or the MAIL command SET
EDITOR LSE is used. Note that the LSE images must be installed for
the MAIL utility to use callable LSE. Also, VAX DEC/CMS and VAX
Source Code Analyzer must be installed to be used from LSE when
3
VAX Language-Sensitive Editor Release Notes (Version V3.0)
callable LSE is invoked from the MAIL utility.
2.1.6 Language Templates Shipped with VAX LSE.
VAX LSE V3.0 contains templates for the following languages:
ADA V2.0-1
BASIC V3.0-034
BLISS V4.1-41
C V3.0-012
COBOL V4.0-010
FORTRAN V5.4
MACRO V5.0
PASCAL V4.0-0
PLI V3.3-016
2.2 New and Enhanced Commands
2.2.1 LSEDIT Command Qualifiers
The /JOURNAL qualifier has been enhanced to provide buffer change
journaling support.
2.2.2 Viewing Code
A facility for viewing source code at various levels of detail has
been added to LSE. This feature is sometimes called code elision or
outlining. A sequence of source lines may be hidden and replaced by a
single overview line using a COLLAPSE command. The overview line
consists of text taken from the first hidden source line. This text
is enclosed in pseudocode delimiters, usually double angle brackets.
A sequence of source lines and overview lines may also be hidden and
replaced by an overview line using COLLAPSE. The EXPAND command is
used to restore the lines hidden by a COLLAPSE command.
To determine which lines surrounding a line form a sequence to be
hidden as a group, the editor uses the indention of the lines and
adjustment definitions associated with the language for the editing
buffer. These adjustment definitions are user-tailorable so that
users can tune the elision facility to their own formatting style.
Several commands have been added to the editor to support this
capability:
4
VAX Language-Sensitive Editor Release Notes (Version V3.0)
o COLLAPSE [/DEPTH=n] - Replaces source with a single overview
line
o EXPAND [/DEPTH=n] - Replaces overview lines with the hidden
source
o VIEW SOURCE [/DEPTH=n] - Provides level of detail support for
a buffer
o FOCUS - Replaces source with overview lines except around the
cursor
o DEFINE LANGUAGE /PLACEHOLDER_DELIMITERS=PSEUDOCODE=delimiters
- Provides pseudo code delimiter customization support.
o DEFINE ADJUSTMENT - Provides code elision customization
support
2.2.3 Reports
LSE V3 supports a new REPORT command. The REPORT command allows you
generate design reports using SCA information generated by a supported
compiler. The reports supported by LSE V3 are:
o HELP - A VMS Help file generated from your design or code.
o PACKAGE - An LSE package definition.
o INTERNALS - A general report that formats your entire design
in an organized manner.
o 2167A_DESIGN - A report that produces a document that meets
the requirements of the U.S. Defense Department's
DOD-STD-2167A Software Design Document.
Note that SCA V2 is required for the REPORT command to work.
2.2.4 Pseudocode Entry
LSE V3 supports the use of pseudocode to do program design. Free text
may be mixed with programming language syntax by enclosing the text in
pseudocode delimiters. Programs in this design state may be processed
by supporting compilers producing .ANA files for SCA. Design reports
may be produced from this SCA data.
5
VAX Language-Sensitive Editor Release Notes (Version V3.0)
See the following commands for information on entering pseudocode and
converting pseudocode to comments and source code.
o DEFINE LANGUAGE /PLACEHOLDER_DELIMITERS=PSEUDOCODE=specifier
- Provides pseudo code delimiter customization support.
o ENTER PSEUDOCODE - Inserts pseudocode delimiters.
o ENTER COMMENT /BLOCK - Converts pseudocode into a block
comment.
o ENTER COMMENT /LINE - Converts pseudocode into an end-of-line
comment.
o UNDO ENTER COMMENT - Reverses the effect of the last ENTER
COMMENT command.
2.2.5 SET SEARCH
SET SEARCH AUTO_REVERSE has been added. It specifies whether or not
LSE searches in the current direction only, or searches in the
opposite direction if the string is not found in the current
direction.
2.2.6 WRITE Command
The WRITE command now has a /VISIBLE qualifier. This qualifier
directs the WRITE command to save only the visible records in the
buffer or select range to a file.
2.2.7 DCL Command
The DCL command executes a DCL command from within your editing
session. LSE spawns a subprocess for the DCL command you specify and
creates a buffer named DCL to contain the output from the terminal.
2.2.8 EXTEND Command
The EXTEND command is similiar to the EVE EXTEND EVE command. It
compiles one or more VAXTPU procedures to extend LSE.
6
VAX Language-Sensitive Editor Release Notes (Version V3.0)
2.2.9 LINE Command
The LINE command is similiar to the EVE LINE command. It moves the
cursor in the current buffer to the start of the source line
specified.
2.2.10 SHOW SUMMARY Command
The SHOW SUMMARY is similiar to the EVE SHOW SUMMARY command. It
shows statistics and other information about TPU and LSE which is
useful for VAXTPU programming or in cse you need to submit a software
performance report.
2.2.11 SPELL Command
The SPELL command is similiar to the EVE SPELL command. If DECspell
is installed on your system, it runs DECspell to check the currently
selected text or the entire buffer.
2.2.12 WHAT LINE Command
The WHAT LINE command is similiar to the EVE WHAT LINE command. This
command shows the current source line number and the total number of
lines in the current buffer.
2.3 Predefined Keys
The following keys have been defined for all keypad choices:
GOLD/CTRL/N GOTO PLACEHOLDER/FORWARD/NOPSEUDOCODE
GOLD/CTRL/P GOTO PLACEHOLDER/REVERSE/NOPSEUDOCODE
CTRL/\ COLLAPSE
GOLD/SPACE ENTER PSEUDOCODE
GOLD/. FOCUS
GOLD/< EXPAND/DEPTH=ALL
GOLD/> VIEW SOURCE/DEPTH=1
GOLD/B ENTER COMMENT/BLOCK
GOLD/L ENTER COMMENT/LINE
GOLD/CTRL/F FIND EXPAND INDICATED()
GOLD/DO RECALL
The definitions of the following keys have changed, but the keys
perform the same function as before:
7
VAX Language-Sensitive Editor Release Notes (Version V3.0)
CTRL/N GOTO PLACEHOLDER/FORWARD/ALL
CTRL/P GOTO PLACEHOLDER/REVERSE/ALL
2.4 DECwindows Support
o Replace... menu item has been redone to eliminate the
confirmation dialog box and permit other operations between
individual replacements.
o View pull-down menu item has been added to provide access to
code elision commands.
o DECwindows editing sessions are now journaled as changes to
buffers. Each buffer is journaled in a separate journal
file.
o A wrist-watch cursor now appears to indicate that the editor
is busy.
o LSE now supports both DECwindows V1 and V2.
o Saving, restoring and extending menus has been added to
DECwindows LSE.
o DECwindows terminal width greater than 132 character are
supported.
2.5 TPU Built-ins for LSE and SCA Features
o GET_INFO (buffer, "LANGUAGE") - Returns the name of the
language associated with the buffer
o LSE$FIND_OPEN_COMMENT (marker) - Returns a range that
corresponds to the first open comment delimiter found after
the marker.
o LSE$FIND_CLOSE_COMMENT (marker) - Returns a range that
corresponds to the first close comment delimiter found after
the marker.
8
VAX Language-Sensitive Editor Release Notes (Version V3.0)
o LSE$MOVE_BY_SOURCE (integer) - Similiar to the TPU
MOVE_VERTICAL, but restricts the cursor to source records
only.
o SCA Callable interface - There are TPU builtins for the
SCA$QUERY_xxx functions in the new SCA callable interface.
Specifically:
SCA$QUERY_CLEANUP
SCA$QUERY_COPY
SCA$QUERY_FIND
SCA$QUERY_GET_ATTRIBUTE
SCA$QUERY_GET_ATTRI_KIND_T
SCA$QUERY_GET_ATTRI_VALUE_T
SCA$QUERY_GET_OCCURRENCE
SCA$QUERY_GET_NAME
SCA$QUERY_INITIALIZE
SCA$QUERY_PARSE
SCA$QUERY_SELECT_ENTITY
9
VAX Language-Sensitive Editor Release Notes (Version V3.0)
3 Compatibility
3.1 SCA V2
LSE V3 will not run with SCA V1.3 and earlier versions. If you want
to access SCA from LSE, you must use SCA V2. Note that SCA V2
requires that SCA V1 databases be converted to SCA V2 format.
3.2 Section and Environment Files
Section files created by versions of LSE before V3.0 must be rebuilt
in order to work with LSE V3.0. Many changes were made to the editor
in the section file for V3.0, and users must rebuild private section
files from source in order to have a section file that is consistent
with the LSEDIT images and documentation. Note that with the addition
of EVE and DECwindows capabilities, the section file is several times
larger than in V2.2.
Users who have made extensions to the LSE section file can rebuild
their section files by first deassigning the logical name LSE$SECTION,
if they have it defined, and then invoking the Editor with the command
line:
$ LSEDIT/COMMAND=MY.TPU
where MY.TPU contains the TPU source code for the user's section file
extensions to LSE, plus the following two lines at the end of the
file:
LSE$DO_COMMAND("SAVE SECTION DEV$:[DIR]MY.TPU$SECTION");
QUIT
Environment files created by earlier versions of the Editor are
accepted by V3.0.
Improvements made to the Editor in later versions may require changes
in the format of environment files and section files. Users who have
built their own environment files or section files may have to rebuild
these from source when an update is installed. Thus, users should
save the source for any language definitions or VAXTPU procedures that
they add to their environment files or section files. Also, if the
section file has to be rebuilt, any learn sequences recorded using the
VAXTPU learn built-in will have to be reentered.
3.3 System Environment File
When an update is installed on a system, the system manager selects
10
VAX Language-Sensitive Editor Release Notes (Version V3.0)
the languages for which support should be installed. When support for
a language is installed, new definitions for that language replace the
old definitions in the system environment file
(LSE$SYSTEM_ENVIRONMENT). All the old definitions for that language
in the system environment file are deleted. Thus, users who wish to
tailor the supplied language definitions should do so by saving them
in environment files that are provided to the Editor through the
/ENVIRONMENT qualifier. If any changes are saved in the system
environment file, these will be lost when an update is installed.
3.4 Changes Impacting User-written TPU Procedures
The LSE commands COLLAPSE, EXPAND, FOCUS, and VIEW SOURCE provide for
code elision in LSE. The implementation of code elision results in
the possibility of there being four different types of records (or
lines) in a buffer. A record may be a source record or an overview
record, and either may be visible or hidden. Source records
correspond to the actual text that is read from a file, edited, and
written to a file. Overview records are inserted by the editor and
are representatives for source records that have been hidden (elided).
Overview records themselves are hidden when the corresponding source
is made visible. Overview records may also be hidden along with
source records as when a set of lines containing both source lines and
overview lines is collapsed to an overview. Thus, the four types of
records are:
o Visible source record
o Hidden source record
o Visible overview record
o Hidden overview record
types of records. The TPU built-ins MOVE_VERTICAL and MOVE_HORIZONTAL
move from record to record, and are not influenced by the visibility
or whether the record is an overview. A TPU procedure that does not
consider visibility or overview records may not function as intended
if the user has used the elision facility prior to calling the
procedure.
After each LSE command, if the current position is not on a visible
record, LSE makes the record visible. If the current position is on a
hidden source record, LSE expands sufficient overviews to make the
record visible. LSE collapses source to make the overview visible.
Overview records are not modifiable, and attempts to alter the text,
split the record, or append the record to another record will fail.
A number of new built-ins are available to allow users to enhance or
develop TPU procedures to work when there are overviews or hidden
11
VAX Language-Sensitive Editor Release Notes (Version V3.0)
records in a buffer.
o LSE$IS_OVERVIEW [(marker)] - Returns 1 if the indicated
record is an overview record and 0 if it is a source record.
o LSE$IS_VISIBLE [(marker)] - Returns 1 if the indicated record
is a visible record and 0 if it is a hidden record.
o LSE$MOVE_HORIZONTAL (integer) - Similar to TPU
MOVE_HORIZONTAL, but restricts the cursor to visible records.
o LSE$MOVE_VERTICAL (integer) - Similar to TPU MOVE_VERTICAL,
but restricts the cursor to visible records.
o LSE$MAKE_VISIBLE (marker|range) - Makes the specified records
visible.
o LSE$NEAREST_VISIBLE [(marker)] - moves the editing position
to the beginning of the visible line nearest to the specified
position.
o LSE$SOURCE_ONLY (range) - Returns 1 if all the source records
within the range are visible, 0 otherwise.
o LSE$MOVE_TEXT (string|range|buffer)
LSE$COPY_TEXT (string|range|buffer)
Similar to the TPU built-ins MOVE_TEXT and COPY_TEXT, these
move or copy the text from the specified string, range, or
buffer to the current editing position and return the result
range.
12
VAX Language-Sensitive Editor Release Notes (Version V3.0)
4 Restrictions
4.1 General restrictions
o Clipboard operations (CUT/CLIPBOARD and PASTE/CLIPBOARD) may
cause an access violation in the tool kit with DECwindows V2.
Digital recommends that you use the menu customization
support to change the definition of the CUT, PASTE and COPY
menu items if you are using DECwindows V2.
Cut - from CUT/CLIPBOARD to CUT
Paste - from PASTE/CLIPBOARD to PASTE
Copy - from CUT/NOERASE/CLIPBOARD to CUT/NOERASE
o Editor initialization and section file building:
During initialization of the editor, the relationship between
command procedures and initialization procedures are as
follows:
1. The LSE$COMMAND file is read
2. The LSE$INITIALIZATION file is read
3. The LSE$INITIALIZATION file is executed
4. The LSE$COMMAND file is compiled
This implies that procedures loaded from the LSE$COMMAND file
will not be saved in section files created by SAVE SECTION
commands in the initialization file. It further implies that
commands such as CALL executed in the LSE$INITIALIZATION
procedure will not have procedures in the LSE$COMMAND file
defined yet.
To save a section file that contains both new tpu procedures
and lse commands you should do the following.
1. Create your tpu procedures in a file(s) named XXX.TPU.
2. Create an initialization file as follows:
GOTO FILE XXX.TPU /READ
DO/TPU
GOTO FILE YYY.TPU /READ
DO/TPU
...
SET SCREEN HEIGHT=48
SET FONT BIG
...
SAVE SECTION MY_SECTION.TPU$SECTION
EXIT
13
VAX Language-Sensitive Editor Release Notes (Version V3.0)
o Repeated pressing of MB1 during LSE startup in a DECterm
window may hang the editor.
o The mouse pointer is changed to a watch cursor during the
processing of expand menus in the DECwindows interface.
o The SPELL command is not supported in DECwindows mode.
o For VMS V5.3 systems (DECwindows V2), after cutting some text
to the clipboard in DECwindows LSE, all QUICKCOPY operations
(select something in LSE and MB3 in some other window) return
the contents of the DECwindows clipboard and not the current
selection. This remains true even after a COPY to the
clipboard by other applications such as a DECterm.
o The SMG$ routine definitions for MACRO may not compile.
o Learn sequences do not record DECwindows menu or dialog box
interaction
When defining a key using a learn sequence, only keystrokes
in application window are recorded, not any interaction using
menus or dialog boxes.
o VT100s display blocks for delimiter characters.
The VAX/VMS Terminal Fallback Facility (TFF) can be used to
resolve the problem of VT100 terminals displaying
unrecognizable characters in place of the double-angle
brackets displayed on VT200 terminals. The Terminal Fallback
Facility will translate the double-angle brackets to
single-angle brackets if the following procedures are
followed.
The system manager must first enable the Terminal Fallback
Facility by including the following commands in the system
startup procedure (SYS$MANAGER:SYSTARTUP_V5.COM):
$ @SYS$MANAGER:TFF$STARTUP.COM
Inside the file SYS$MANAGER:TFF$STARTUP.COM, the System
Manager should add the commands to load the default system
fallback and compose sequence tables.
For example, to load the necessary fallback and compose
sequence table for use in North America, the System Manager
would add the following commands:
14
VAX Language-Sensitive Editor Release Notes (Version V3.0)
$ RUN SYS$SYSTEM:TFU
SET LIBRARY SYS$SYSTEM:TFF$MASTER ! Define the library of tables
LOAD TABLE ASCII_OVST ! Load for hardcopy ASCII terminal
SET DEFAULT_TABLE ASCII ! Set default to ASCII
EXIT
$ EXIT
Once this has been done, users are able to utilize the
fallback utility. To enable terminal fallback, the user must
enter the command:
$ SET TERMINAL/FALLBACK
From this point forward, terminal fallback will be enabled.
If the user should want to disable terminal fallback, the
user would issue the command:
$ SET TERMINAL/NOFALLBACK
NOTE:
- The fallback for some 8-bit characters is underscore.
- Further, SOFT_COMPOSE gobbles up CTRL/K and should be
turned off or users must rebind CTRL/K to another key.
CTRL/space and GOLD/CTRL/space or CTRL/~ and GOLD/CRTL/~
are possible redefinitions. Note that CTRL/space is
ASCII null and poses a problem for some comm gear.
o Menu extensions
- Deleting the UNDO menu item after you have done the
following commands is not supported:
ERASE WORD
ERASE LINE
ERASE CHARACTER
ERASE SELECTION
ERASE PLACEHOLDER
- Deleting all menu items in a pulldown or popup menu is
not supported.
- Modifications to a menu item with new command will not
take effect in the current editing session. Delete and
re-add the item for immediate effect.
15
VAX Language-Sensitive Editor Release Notes (Version V3.0)
o LSE$CONTROL is not fully compatible with TPU$CONTROL:
TPU$CONTROL takes an optional longword parameter that, if
present, supresses the "Editing session is not being
journaled" message. LSE$CONTROL takes three parameters. A
longword by reference that will receive the line number of
the LSE$MAIN_BUFFER that the editor was on at exit, a
longword by reference to receive the column number of the
LSE$MAIN_BUFFER that the editor was on at exit and a string
descriptor to receive the filespec that the file in
LSE$MAIN_BUFFER is written to on exit. LSE$CONTROL does not
support the optional parameter to supress the "Editing
session is not being journaled message".
o Prompts terminated by mouse action
Prompts will be terminated by events such as changing the
input focus to another window or invoking some other action
in the editor such a pull-down menu item.
o Aborting command at prompt disables menu actions
Terminating a prompt using CTRL/C or CTRL/Z temporarily
disables menu items in the DECwindows interface. They are
re-enabled by pressing any key. Executing the TPU built-in
ABORT causes the same behavior as CTRL/C.
o Certain TPU built-ins now return wrong value
The prompting mechanism in LSE V3.0 has changed to use a TPU
window and buffer. If the command entered at a prompt
invokes a TPU procedure, the value returned for certain TPU
built-ins, such as CURRENT_COLUMN, may be incorrect. Adding
a call to the UPDATE built-in before the call to
CURRENT_COLUMN will fix the problem. See the discussion of
CURRENT_COLUMN in the TPU documentation.
o Insufficient virtual memory when using SCA
When issuing an SCA command from LSE (VIEW CALL_TREE or FIND)
that involves a very large amount of data, the query may be
terminated after messages about being "unable to allocate a
new cache" and "query ended prematurely".
Increasing the page file quota for a process may solve this
problem.
o Comment support not available in all languages
In this release, comment support is only available for:
VAX Ada
16
VAX Language-Sensitive Editor Release Notes (Version V3.0)
VAX BASIC
VAX BLISS-32
VAX C
VAX COBOL
VAX FORTRAN
VAX MACRO
VAX Pascal
VAX PL/I
o Comment characters not permitted in placeholder names
Comment delimiters may not be used in placeholder names (they
may appear within placeholder bodies).
o Recovery
When you recover a session using keystroke recovery, all
files must be in the same state as they were at the start of
the editing session being recovered. Note that if you access
DEC/CMS during the editing session, the CMS library must also
be in the same state when you recover as when you started the
session.
o CTRL/C may invalidate recovery
The use of CTRL/C to abort an operation being performed by
the Editor can make keystroke recovery impossible.
o Two corrections on one line when reviewing diagnostics
Some compilers report diagnostics that are accompanied by
suggested corrections that the editor will apply. The Editor
will only apply corrections to lines that have not been
modified. Changes made to a line as part of a suggested
correction are regarded as modifications. Therefore, once a
correction has been applied to a particular line, no other
corrections will be suggested for that line.
o Signaling an error from a CALL_USER routine
If the user routine executed by a call to the VAXTPU
CALL_USER built-in signals a fatal error, the Editor will
abort. You should establish a condition handler to avoid
this problem. Note that some run-time support routines for
languages will signal such errors.
o Cannot SET MODE BELL for nonbroadcast only
A SET MODE BELL=NOBROADCAST command has no effect if the
current setting of the mode specifies that the bell should be
sounded for all messages. The SHOW MODE command will display
the mode setting as nonbroadcast only, but the bell will
17
VAX Language-Sensitive Editor Release Notes (Version V3.0)
actually sound for all messages. There is no way to sound
the bell for nonbroadcast messages only.
o Shifted window remains shifted
If a SHIFT command is used to change the view in a window,
buffers that are subsequently displayed in that window will
also be shifted. This includes system buffers such as
$REVIEW.
o GOTO SOURCE while reviewing may not position correctly
When the module being reviewed has been modified and written
but compiled without using LSE's compile command, LSE may
position incorrectly after a GOTO SOURCE unless the module is
re-read. Re-reading the file brings LSE's understanding of
the line numbers up to date with the diagnositic file just
generated by the compiler.
o SCA$ builtins
TPU will not produce a traceback if an SCA routine signals an
error.
4.2 Restrictions on Reports
o Body section of INTERNALS:
- Nested modules will not appear in the report.
- Routines nested within other routines will not appear in
the report.
- If a routine is a compilation unit (not contained within
a module), it will appear in the list of Imported
Routines for the source file that contains it.
- Report generation is sometimes very slow for large
modules.
- If a "<" or ">" is part of a routine name, a variable
name, or the comment text used as the description for a
routine or variable, the resulting SDML file will contain
syntax errors, and you will get (non-fatal) messages from
DOCUMENT when you process it.
18
VAX Language-Sensitive Editor Release Notes (Version V3.0)
o Reports require that all sequences you use as comment
delimiters, such as "!++", "-- --", "/*+", be defined in your
LSE environment file as comment delimiters. This also
applies to borders in languages such as C, where "**" is
frequently used to create a border down the left hand side of
a comment block. Even though "**" is not a comment delimiter
in C, it must be defined as such in your LSE environment file
if you use it as a border, otherwise the "**" will be treated
as text to be included in the text of your reports.
o The PARAMETERS section of comment blocks require special
formatting to be parsed correctly by the /DESIGN=COMMENTS
qualifier on compilers. In particular, each parameter in
this section must be preceded by a blank line. You can get
the correct formatting by fulling expanding the [subtags] and
[more_subtags] placeholders produced by the language
templates. (The exact names of these placeholders can vary
from language to languaage.) For example,
-- FORMAL PARAMETERS:
--
-- P1:
-- The first parameter
--
-- P2:
-- The second parameter
--
-- {identifier}:
-- {tbs}
-- [more_subtags]...
--
o Only Ada makes the tags for 2167A reports available
automatically in the comment header blocks. You can get them
by expanding the [optional source file tags] placeholder in
the Ada source file header comment. For other languages, you
can simply type the 2167A tags manually, or modify the LSE
definitions for the header comments using EXTRACT TOKEN and
EXTRACT PLACEHOLDER. The tags themselves are defined in all
languages.
o Reports rely on obtaining information from comment blocks.
When two or more comment blocks occur in a row, SCA
associates the comment block with an identifier as described
in the Users Manual, but this association isn't always the
association expected for reports, and hence the reports will
fail to find the correct comment information. In the normal
case, this problem can be avoided by merging consecutive
comment blocks into a single comment block (eliminate blank
lines between the comment blocks and merge consecutive
bracketed comments, such as in C and Pascal into a single
block). This cannot be done for certain implied comments,
19
VAX Language-Sensitive Editor Release Notes (Version V3.0)
such as the %TITLE directive in several languages or the
AUTHOR statement in COBOL. In such cases, you can work
around the problem by reordering statements so that the
comment header for the routine or module in question is
adjacent to the actual declaration of the routine or module.
This restriction will be resolved in a future release.
o Customizing reports requires familiarity with the SCA
Callable Interface, the SCA Query Language, and using TPU
from LSE. The TPU files containing the source code for the
reports provided by Digital are put into SYS$LIBRARY by the
installation, and are automatically loaded into the combined
LSE/SCA image when you invoke the SCA REPORT command. If you
wish to write reports from scratch, you must compile your TPU
code for the reports, just as any other TPU code for
customizing LSE, and save the code into a section file using
the LSE SAVE SECTION command. If you wish to automatically
load the TPU code supplied by Digital when you invoke your
customized report, you may call the TPU procedure
SCA$REPORT_LOAD_REPORT_TOOL, which takes no parameters. This
procedure loads only the TPU files provided with SCA (of the
form SCA$.TPU). It will not load any other files that may
pertain to your customized report, although you can use
logical names (without the .TPU file type) to redirect this
procedure to load this files from an area other than
SYS$LIBRARY. This procedure will be formally documented in a
future release.
20
VAX Language-Sensitive Editor Release Notes (Version V3.0)
5 Reporting Problems and Suggestions
If an error occurs while you are running the Editor and you have
reason to believe that the error is due to a problem in the Editor,
please submit a Software Performance Report (SPR). This method should
also be used to make requests for additional features or modifications
to existing features.
When entering an SPR, please do the following :
o If the Editor wrote information to the file LSE_ERROR.LOG,
please include a copy of the contents of that file. If the
editor writes an SCA_ERROR.LOG, then the SPR should be
reported and for SCA instead of LSE.
o Indicate the version of the Editor and the VAX/VMS operating
system being used.
o Indicate whether you have customized the Editor by adding
language definitions, key definitions, or VAXTPU procedures.
o Include as complete a description of the problem as possible,
trying not to overlook any details. Please also indicate
whether any special events took place during your editing
session. Special events include such things as using CTRL/C
to stop command processing or using SPAWN or ATTACH.
o Reduce the problem to as small a size as possible.
o If the problem cannot be reproduced by a known set of
keystrokes and/or commands on a generic data file then it
would be helpful for you to include the files needed to
reproduce the problem, including the files containing
commands used to customize the Editor. These should be
submitted on machine-readable media (magnetic tape
*preferred*, floppy diskette, or tape cassette).
o Include a listing of the VAX/VMS terminal characteristics for
your terminal by typing the DCL SHOW TERMINAL command. The
characteristics relevant to the reproduction of an edit
session include the terminal type, use of edit-mode, use of
eight-bit character set, and terminal width.
21