Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought











                            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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026