Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought










                               VAX LISP/VMS V2.0


                                 Release Notes



                                    May 1986






                 Operating System: VAX/VMS Version 4.2 or later

                         Software: VAX LISP Version 2.0

































     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 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 or its affiliated companies.






































              Copyright (c) 1986 by Digital Equipment Corporation.






                 Summary of New Features and Technical Changes


     VAX LISP/VMS, Version 2.0 is an upgrade of VAX LISP/VMS, Version  1.2.
     It differs in the following ways:

           *  Improved speed of function calling and the interpreter.

           *  Faster pretty printer.  See the "VAX LISP/VMS User's  Guide,"
              Chapter 6.

           *  New call-out facility.  See the "VAX LISP/VMS  System  Access
              Programming Guide," Chapter 2.

           *  One  new  debugging  function,  DEBUG-CALL,  and   four   new
              debugging    variables:    *STEP-ENVIRONMENT*,   *STEP-FORM*,
              *TRACE-CALL*, and *TRACE-VALUES*.  See "VAX  LISP/VMS  User's
              Guide,"  Chapter  5 and Part II for descriptions and examples
              of how to use this new function and these new variables.

           *  Level numbers are in the debugger prompts but are  no  longer
              in  the  stepper  and  break loop prompts.  See "VAX LISP/VMS
              User's Guide," Chapter 5.

           *  Editor support for the VAXstation II, allowing you to use the
              pointer   to  perform  some  editing  operations.   See  "VAX
              LISP/VMS User's Guide," Chapter 3.

           *  Improved speed of Editor  operation  and  additional  editing
              capabilities.

           *  An expanded "VAX LISP/VMS Editor Programming Guide" and a new
              Chapter  3,  "Using the VAX LISP Editor" in the "VAX LISP/VMS
              User's Guide."  The  new  and  revised  Editor  features  are
              summarized  in  the  "VAX LISP/VMS Editor Programming Guide."
              Changes in user interface are described in the "VAX  LISP/VMS
              User's Guide," Chapter 3.

           *  Graphics capabilities when VAX LISP/VMS  is  installed  on  a
              VAXstation  II.   See  the "VAX LISP/VMS Graphics Programming
              Guide."

           *  Interrupt functions and related  synchronization  facilities.
              Interrupt  functions  can  interrupt  normal  LISP execution.
              Interrupt functions can be triggered  by  VMS  routines  that
              cause  ASTs,  such as by the actions of a VAXstation pointer.
              See "VAX LISP/VMS System Access Programming Guide,"  Chapters
              4 and 5.





                                      III

























































           *  The DEFINE-ALIEN-STRUCTURE macro no longer evaluates the list
              elements  of  the :SELECTION field type, the values of :START
              and :END field positions, or the values of  the  :OCCURS  and
              :OFFSET field options.

           *  Pathnames work better with remote hosts  and  logical  names.
              See the "VAX LISP/VMS User's Guide," Section 7.2.2.

           *  Source  code  compatibility  of   VAX   LISP/VMS   with   VAX
              LISP/ULTRIX  with  the  exception  of  Editor  programs,  UIS
              programs, interrupt  programs,  VMS  queries,  and  call-out.
              This  means  that programs written in VAX LISP can be used in
              VAX LISP/VMS or in VAX LISP/ULTRIX.

           *  The Version 2 documentation set is a  modified  and  enlarged
              Version 1 documentation set.  Added manuals are:

               -  "VAX LISP/VMS System Access Programming Guide"  (formerly
                  Chapters 6 and 7 of the "VAX LISP/VMS User's Guide")

               -  "VAX LISP/VMS Graphics Programming Guide"
































                                       IV

























































                           VAX LISP/VMS Release Notes



                                    PREFACE



     PURPOSE

     This file contains the release notes for VAX LISP/VMS, V2.0.  The file
     describes  additions  and  changes to VAX LISP/VMS V1.2 and summarizes
     any known restrictions and errors in VAX LISP/VMS, V2.0.


     STRUCTURE

     The file is divided into eight sections:

     Section 1   Important Restrictions

                    Lists major restrictions of the VAX LISP/VMS system.

     Section 2   Example Source Files

                    Describes several example source files  and  a  set  of
                    files that can cross-reference LISP source code.

     Section 3   Differences between COMMON LISP and VAX LISP

                    Describes additions, corrections,  and  limitations  in
                    VAX  LISP  as  it pertains to COMMON LISP (described in
                    "COMMON LISP:  The Language" by Guy L.  Steele, Jr.).

     Section 4   Changes to VAX LISP

                    Describes improvements made  to  VAX  LISP,  V1.2,  and
                    included  in  VAX  LISP,  V2.0  (apart from COMMON LISP
                    functions).  The chapter also describes limitations  in
                    VAX  LISP,  and  additions  and corrections to the "VAX
                    LISP/VMS User's Guide."

     Section 5   Change in Editor Documentation

                    Describes a correction  to  the  documentation  of  the
                    Editor in the "VAX LISP/VMS Editor Programming Guide".


     Section 6   Changes to Graphics Facilities

                    Describes modifications and corrections to the VAX LISP
                    graphics  facilities  as described in the "VAX LISP/VMS
                    Graphics Programming Guide".


                                       V
























































     Section 7   Changes to System Access Facilities

                    Describes modifications  made  to  the  V1.2  VAX  LISP
                    system  access  facilities  and  included  in VAX LISP,
                    V2.0.  Also describes corrections to the "VAX  LISP/VMS
                    System Access Programming Guide".

     Section 8   Differences between VAX LISP/ULTRIX and VAX LISP/VMS

                    Lists the differences between these two implementations
                    of VAX LISP.


     NOTE

     -  VAX LISP/VMS will be referred to as VAX LISP throughout the rest of
        this document.

     -  The "VAX LISP/VMS Editor Programming Guide" includes additions  and
        changes in the functionality of the VAX LISP Editor.


































                                       VI
























































                           VAX LISP/VMS RELEASE NOTES





     1  IMPORTANT RESTRICTIONS

          -  Version 4.2 of VMS or MicroVMS is required to run Version  2.0
             of VAX LISP.

          -  File specifications that  include  more  than  the  file  name
             cannot  be  used with the DEFINE-EXTERNAL-ROUTINE macro.  This
             is due to a restriction in VMS.  Use a logical name to specify
             files not in SYS$LIBRARY.

          -  Suspended systems created with a Version  1  VAX  LISP  system
             will not work with Version 2.0.

          -  Compiled files created with a Version 1 VAX LISP  system  will
             not  work  with  Version  2.0;  all  source  files  need to be
             recompiled.



     2  EXAMPLE SOURCE FILES

     The following example source files for VAX LISP are contained  in  the
     VAX  LISP  auxiliary directory (by default /usr/lib/vaxlisp).  See the
     "VAX LISP/VMS Installation Guide" for a description of that directory:

          EDINIT.LSP              sample editor init file
          GRAPH.LSP               graph drawing routines
          LK201.LSP               key bindings for the LK201 keyboard
          MENU.LSP                example menu system
          PROFILE.LSP             simple profile package
          WATCH.LSP               simple facility to watch function usage
          XREF.LSP                xref source file
          XREFANALYZERS.LSP       xref source file
          XREFBUILD.LSP           source file to build xref system
          XREFCATALOG.LSP         xref source file
          XREFCROSSREF.LSP        xref source file
          XREFDUMPER.LSP          xref source file
          XREFEXAMPLE.LSP         example of how to use xref files
          XREFQUERY.LSP           xref source file
          XREFRELATIONS.LSP       xref source file
          XREFREPORT.LSP          xref source file
          XREFSYSTEM.LSP          xref source file
          XREFTOOLS.LSP           xref source file
          XREFUSERGUIDE.MEM       xref user guide

     The prefix "xref" stands  for  files  that  can  cross-reference  LISP
     source  code.  See the file xrefuserguide.mem for a description of the
     system.


                                       1




















































                           VAX LISP/VMS Release Notes


     After LISP has been installed, the file xrefbuild.lsp should be run to
     compile the xref source files.


                                      NOTE

             Although you can use  these  programs,  they  are  not
             supported by Digital.




     3  DIFFERENCES BETWEEN COMMON LISP AND VAX LISP

     The following is a list of additions, corrections, and limitations  in
     VAX  LISP  Version  2.0 as it pertains to COMMON LISP.  The topics are
     organized according to the relevant chapters  in  "COMMON  LISP:   The
     Language."  Multiple  topics  within  a  chapter  heading  are  listed
     alphabetically.

     CONTROL STRUCTURES - Chapter 7

          COMPILER-LET

          The COMPILER-LET special form no longer looks for declarations in
          its body.

     PACKAGES - Chapter 11

          EXPORT and IMPORT functions (and all similar functions that  take
          a  symbol  or  list of symbols as an argument) now treat NIL as a
          list rather than as a symbol.  (EXPORT ()) now  is  a  no-op;  it
          used to export the symbol NIL.  To export the symbol NIL, specify
          the list of NIL, that is, (EXPORT '(NIL)).

     NUMBERS - Chapter 12

          Complex numbers are not yet implemented.

     ARRAYS - Chapter 17

          The ADJUST-ARRAY function cannot adjust displaced arrays.

     FILE SYSTEM INTERFACE - Chapter 23

          -  The :IF-EXISTS :OVERWRITE option to the OPEN function  is  not
             implemented.

          -  Files cannot be opened for :DIRECTION :IO

          -  :ELEMENT-TYPE - only STRING-CHAR is  supported;  CHARACTER  is
             not implemented.


                                       2





















































                           VAX LISP/VMS Release Notes


     MISCELLANEOUS FEATURES - Chapter 25

          COMPILER

          The compiler cannot write circular structures to a fastload file.

          DISASSEMBLE

          The DISASSEMBLE function no longer places a  compiled  definition
          in the function slot of a symbol when that symbol is the argument
          to DISASSEMBLE and has an interpreted definition.  "COMMON  LISP:
          The Language" leaves this issue unspecified.

          INSPECT

          The INSPECT function is not yet implemented.



     4  CHANGES TO VAX LISP

     This  section  describes  additions,  corrections,  improvements,  and
     limitations  in VAX LISP Version 2.0 apart from COMMON LISP (described
     in Section 3).

     The following topics are organized according to the relevant  chapters
     in  the  "VAX LISP/VMS User's Guide." Multiple topics within a chapter
     heading are listed alphabetically.

     DEBUGGING FACILITIES - Chapter 5

          COMMAND LEVELS

          The stepper and the break loop are  no  longer  implemented  with
          command  levels,  though they existed in previous releases of VAX
          LISP.  This means that the stepper and the  break  loop  have  NO
          number as part of their prompts.

          TRACER

          You can now trace any function.  In previous versions, you  might
          get  infinite  recursion  errors due to tracing something used by
          the TRACE macro.

          A new function and four new variables can be used to  access  the
          actual forms evaluated while debugging.  The variables are:

                *TRACE-CALL*
                *TRACE-VALUES*
                *STEP-FORM*
                *STEP-ENVIRONMENT*



                                       3





















































                           VAX LISP/VMS Release Notes


          The new function DEBUG-CALL is  also  useful  for  obtaining  the
          actual  arguments  passed  to  a  function.   These variables and
          function are described in the "VAX LISP/VMS User's Guide."

     PRETTY PRINTER - Chapter 6

          A new and more efficient pretty printer has been implemented as a
          set of extensions to the FORMAT function.  The new pretty printer
          is described in the "VAX LISP/VMS Users Guide," Chapter 6.

          The old pretty printing facilities have been removed in V2.0.  In
          particular:

          -  The following functions are no longer implemented:

                PPRINT-FORMATTER
                FORMAT-USING-PPRINT-TEMPLATE
                PPRINT-CHECK-INDENTATION

          -  The EXPAND-PPRINT-TEMPLATE macro is no longer implemented.

          -  The format directives ~N and ~:N are no longer implemented.

          -  The following special variables no longer exist:

                  *PPRINT-ARRAY-FORMATTERS*    *PPRINT-DATA-LIST*
                  *PPRINT-END-LINE*            *PPRINT-FUNCTION-CALL*
                  *PPRINT-LAMBDA-APPLICATION*  *PPRINT-LEFT-MARGIN*
                  *PPRINT-MAJOR-WIDTH*         *PPRINT-MISER-WIDTH*
                  *PPRINT-RIGHT-MARGIN*        *PPRINT-SPECIAL-FORMATTERS*
                  *PPRINT-START-LINE*

     VAX LISP IMPLEMENTATION NOTES - Chapter 7

          :ALLOW-OTHER-KEYS

          The :ALLOW-OTHER-KEYS keyword is now correctly  observed  in  all
          places in lambda lists.

          DRIBBLE

          If the file name given as an argument in a call  to  the  DRIBBLE
          function  is  the name of an existing file, including the version
          number, the  output  is  appended  to  that  file.   In  previous
          versions,  a  new  version of the file was always created.  So if
          the file TEST.DRB;1 exists and TEST.DRB;2 does not, then (DRIBBLE
          "TEST.DRB;0")  causes  output  to  be  appended to TEST.DRB;1, or
          (DRIBBLE "TEST.DRB") causes output to go to the file TEST.DRB;2.

          CONTROL STACK AND BINDING STACK

          Two functions have been added to VAX  LISP  that  enable  you  to
          enlarge  the  LISP  control  stack  and  the  LISP binding stack.


                                       4





















































                           VAX LISP/VMS Release Notes


          During normal operation, these stacks will grow if necessary, but
          these  functions  can  be  used  to preallocate larger stacks and
          prevent a garbage collection at a perhaps inconvenient time.

          ENLARGE-CONTROL-STACK number-of-pages

               This causes the LISP control stack to grow by the  specified
               number  of  pages.   Enlarging  the  control  stack causes a
               garbage collection.

          ENLARGE-BINDING-STACK number-of-pages

               This causes the LISP binding stack to grow by the  specified
               number  of  pages.   Enlarging  the  binding  stack causes a
               garbage collection.

          Note that on VAX LISP/ULTRIX, code  that  is  compiled  with  the
          value of the optimize quality SPEED greater than SAFETY, will not
          check for stack overflow.  These checks are always  performed  on
          VAX LISP/VMS.

          FUNCTION CALLING AND INTERPRETER

          Function calling and the interpreter are now faster.   There  are
          many  small  improvements  in  compiled  code with sufficient and
          appropriate declarations.  See the "VAX LISP/VMS  User's  Guide,"
          'Appendix A, Performance Hints.'

          FILE-WRITE-DATE

          In Version 1, the FILE-WRITE-DATE function used the file creation
          date; in Version 2.0, FILE-WRITE-DATE uses the file modify date.

          LOGICAL NAMES AND PATHNAMES

          In VMS Version 4 and later, it  is  possible  to  create  logical
          names with multiple translations (search lists).  In VAX LISP, on
          creation of a pathname, any logical names are translated in order
          for  the  MERGE-PATHNAMES  function  to  be  able to sort out the
          components of the file name.  If  a  logical  name  has  multiple
          translations,  in  the  absence  of  other constraints, the first
          translation is  used.   In  order  to  preserve  an  untranslated
          logical  name  until  the  appropriate  file  is accessed, do the
          following.

          -  Use strings for file specifications in calls to functions such
             as OPEN and PROBE-FILE.

          -  Pass  the  result  from  a  call  to  PROBE-FILE  to  LOAD  or
             COMPILE-FILE.   LOAD,  COMPILE-FILE,  and some other functions
             create pathnames in order to merge in a file type.  To use the
             correct  translation  of  the  search-list  logical,  pass the
             result from a call to PROBE-FILE to these functions.  That is,


                                       5





















































                           VAX LISP/VMS Release Notes


             instead  of calling (LOAD "logical:filename.type"), call (LOAD
             (PROBE-FILE "logical:filename.type")).

          MERGE-PATHNAMES

          In Version 2 of VAX LISP,  if  the  nodes  of  the  two  pathname
          arguments  to  MERGE-PATHNAMES  are  not the same, the device and
          directory of the defaults pathname are not used.  In  Version  1,
          if  the  first  pathname argument included neither a device nor a
          directory, both were  taken  from  the  defaults.   The  modified
          behaviour  assists  in the correct merging of logical names which
          translate to a device or to a device and a directory on a  remote
          node.

          PATHNAMES

          The pathname functions (PARSE-NAMESTRING,  PATHNAME,  PROBE-FILE,
          TRUENAME)  no  longer  mask  the  password  in  an access control
          string.  This allows the resulting pathname to be used in  DECNET
          file operations.  In Versions 1.0 and 1.1, passwords in an access
          control string were changed to the lowercase word "password."

          SEQUENCE FUNCTIONS

          Some of the SEQUENCE functions have improved in speed in  Version
          2 of VAX LISP, particularly when used with data type and compiler
          optimization declarations.  In some  cases,  they  also  do  more
          error checking on their arguments than in Version 1; for example,
          they ensure that sequence START and END values are within range.

          SUSPEND

          The SUSPEND function should not be called during a call to  LOAD;
          the stream used by LOAD cannot be recreated to finish the LOAD on
          resuming the LISP.


     APPENDIX A, PERFORMANCE HINTS

          CASE

          The CASE function can now generate the VAX CASEL instruction  for
          characters  as  well  as  for  fixnums,  and  the  range has been
          extended to 512.



     5  CHANGE IN EDITOR DOCUMENTATION

     This section describes one correction to the Editor  as  described  in
     the "VAX LISP/VMS Editor Programming Guide."




                                       6




















































                           VAX LISP/VMS Release Notes


          EDITOR-READ-CHAR-NO-HANG

          The EDITOR-READ-CHAR-NO-HANG function is incorrectly  spelled  as
          EDITOR-READ-CHAR-NOHANG  in  the "VAX LISP/VMS Editor Programming
          Guide."



     6  CHANGES TO GRAPHICS FACILITIES

     This section describes modifications and corrections to  the  graphics
     facilites  as  described  in  the  "VAX  LISP/VMS Graphics Programming
     Guide." The topics are arranged alphabetically.

     CREATE-WINDOW

          The banner-title string is limited to 55 characters.

     GET-VISIBILITY-PIXEL

          Does not return NIL when the viewport is  partially  off  of  the
          screen.

     MOVE-AREA

          Objects in the display list are moved if their lower left  corner
          is  in the area to move.  Circles and ellipses are moved if their
          center is in the area to move.  Bitmaps are not moved correctly.

          Rectangles moved to points outside or  to  the  boundary  of  the
          viewport are moved incompletely.

          Moving an area to a point where the area  overlaps  its  original
          position may not be shown correctly.

     MEASURE-TEXT-PIXEL

          Font '(:spacing "0" :weight "P") is not measured correctly.

     PI

          Note that PI is a long-float.  Float contagion causes results  of
          arithmetic  with  PI  to  be  a long-float, whereas UIS functions
          expect single-float.  So, you may want to define  a  constant  as
          (coerce  PI  'single-float)  for  use  in  functions that require
          computatons involving PI.

     SET-POINTER-ACTION, SET-POINTER-ACTION-PIXEL

          Exit actions cannot be specified without  specifying  a  movement
          action.   Therefore, use a movement action that computes nothing,
          to get the effect of having just an exit action specified.


                                       7





















































                           VAX LISP/VMS Release Notes


          When the pointer is moved very quickly it is  possible  to  enter
          and  leave a region without receiving a movement action.  However
          in this case an exit action may still be received.

     READ-KB-CHAR

          The READ-KB-CHAR function operates completely synchronously; LISP
          cannot  execute  any  other  functions  while  waiting  for a UIS
          keyboard character.  In particular, no interrupt  functions  will
          execute  until  after the character is read.  If your application
          requires that LISP be able  to  execute  while  waiting  for  UIS
          keyboard characters, use the SET-KB-ACTION function.



     7  CHANGES TO SYSTEM ACCESS FACILITIES

     The former Chapters 6 and 7 of the "VAX LISP/VMS User's Guide" are now
     part  of  a  new  manual,  the "VAX LISP/VMS System Access Programming
     Guide."

     CALLING EXTERNAL ROUTINES - Chapter 2

          An improved call-out facility is included in VAX LISP, Version 2.
          This  facility is significantly faster and supports more types of
          arguments.

          The SIMPLE-LONGWORD-VECTOR type and  declaration  are  available.
          This is the same as (SIMPLE-ARRAY (SIGNED-BYTE 32) (*)).

     DEFINING AND CREATING ALIEN STRUCTURES - Chapter 3

          DEFINE-ALIEN-STRUCTURE

          File specifications that include more than the file  name  cannot
          be used with the DEFINE-EXTERNAL-ROUTINE macro.  This is due to a
          restriction in VMS.  Use a logical name to specify files  not  in
          SYS$LIBRARY.

          For efficiency reasons and for consistency with the  COMMON  LISP
          DEFSTRUCT  facility,  the  DEFINE-ALIEN-STRUCTURE macro no longer
          evaluates the following:

               -  s0 ...  sn list elements in  the  :SELECTION  field  type
                  specification (:selection s0 s1 s2 ...  sn)

               -  values of :START and :END field positions

               -  values of the :OCCURS and :OFFSET field options

          If you have any code from previous version  of  VAX  LISP,  where
          there  are  problems  with  evaluating  forms,  it is likely that
          adding a "#." (that is, EVAL at READ time)  before  the  computed
          fields will fix the problems.


                                       8




















































                           VAX LISP/VMS Release Notes


          REPEATED FIELD EXAMPLE - Documentation Correction

          In the "VAX LISP/VMS System Access  Programming  Guide,"  Section
          3.4.4.3, the example:

               (SPACE-AREA-1 field)
               (SPACE-AREA-2 field index)

          should be:

               (SPACE-AREA-1 instance-of-structure)
               (SPACE-AREA-2 instance-of-structure index)


     INTERRUPT LEVELS, CRITICAL SECTIONS, AND SYNCHRONIZATION - Chapter 5

          INTERRUPT LEVELS

          Interrupt level zero is different from the other levels  in  that
          it   is  always  interruptible.   In  particular,  a  level  zero
          interrupt function can interrupt a currently-executing level zero
          function.   This is useful when binding a keyboard character, say
          CTRL/B, to functions such as  BREAK  or  DEBUG.   After  entering
          CTRL/B  to  start  up a break loop, you may want to enter another
          CTRL/B to start a nested break loop.  If CTRL/B is a  level  zero
          interrupt, this will behave as expected.  If CTRL/B is bound at a
          higher level,  then  the  second  CTRL/B  will  not  be  able  to
          interrupt  the first.  The interrupt is queued until you continue
          from the first break loop, and then the interrupt is serviced and
          a  new  break loop starts.  Note that the default interrupt level
          for BIND-KEYBOARD-FUNCTION is one.

          READ-KB-CHAR

          See Section 5, "Changes to Graphics Facilities,"  for  a  release
          note on the READ-KB-CHAR function.



     8  DIFFERENCES BETWEEN VAX LISP/VMS AND VAX LISP/ULTRIX

     The following table lists the differences  between  the  VMS  and  the
     ULTRIX implementations of VAX LISP.

     Area of Difference      VAX LISP/ULTRIX         VAX LISP/VMS
     ---------------------------------------------------------------------

     Operating System        ULTRIX-32/ULTRIX-32m    VMS/microVMS


     System On-Line Help     man command             HELP command




                                       9




















































                           VAX LISP/VMS Release Notes


     Area of Difference      VAX LISP/ULTRIX         VAX LISP/VMS
     ---------------------------------------------------------------------

     User-Settable           Can be set with         Can be set with with
     Directories             environment variables   logical names - see
                             - see the VAX           the VAX LISP/VMS
                             LISP/ULTRIX             Installation Guide.
                             Installation Guide.


     File Specifications     In ULTRIX, the components of a file
                             specification are in a directory-tree
                             structure separated by slashes and are case
                             sensitive. The device, directory, and file
                             names are not distinguished, and there is no
                             version number. For example:

                             /usr/users/doe/circle.lsp

                             In VMS, device names end with a colon;
                             directory names are enclosed in square
                             brackets; a semicolon followed by a version
                             number ends a file name; and the components
                             are NOT case sensitive. For example:

                             DBA1:[DOE]CIRCLE.LSP;1


     Namestrings             In both ULTRIX and VMS, a COMMON LISP
                             namestring is a string containing a valid
                             file specification. However, the form of the
                             namestrings differ according to the different
                             methods of specifying a file. An example
                             ULTRIX namestring is:

                             "/usr/users/doe/circle.lsp"

                             An example VMS namestring is:

                             "DBA1:[DOE]CIRCLE.LSP;1"


     COMMON LISP Pathnames   Does not use the        Uses all six fields
                             :DEVICE, and :VERSION
                             fields


     How To Specify the      vaxlisp                 LISP
     VAX LISP Command






                                       10




















































                           VAX LISP/VMS Release Notes


     Area of Difference      VAX LISP/ULTRIX         VAX LISP/VMS
     ---------------------------------------------------------------------

     Options/Qualifiers of     1. The switches of the ULTRIX vaxlisp
     the VAX LISP Command         command are called options. Most of
                                  these options can be specified in two
                                  ways:

                                  (a) As a hyphenated single-letter option

                                  (b) As a -V option with an option string

                                  The switches of the VMS LISP command are
                                  called qualifiers and are specified with
                                  a preceding slash.

                               2. The ULTRIX vaxlisp command does not have
                                  command options equivalent to the
                                  following DCL LISP command qualifiers:
                                  /INTERACTIVE, /INSTALL, and /REMOVE.


     LISP Editor             Not available but can   Available
                             use vi or gnu emacs


     UIS Graphic Functions   Not available; can      Available
     in LISP                 call out to X window
                             package on ULTRIX-32w


     VAX LISP LOAD           LOAD "xyz" means        LOAD "xyz" means
     function                first search for the    search for both
                             file "xyz"; if "xyz"    "xyz.lsp" and
                             does not exist, then    "xyz.fas" and load
                             search for both         the file with the
                             "xyz.lsp" and           latest file-write
                             "xyz.fas" and load      date.
                             the file with the
                             latest file-write
                             date.


     Interrupting and        CTRL/Z and fg in the    SPAWN function and
     Restarting a Process    C shell                 ATTACH DCL command


     Use of the Extended     Masks the 8th bit -     Does NOT mask the 8th
     8-bit ASCII Character   see Section 8.1.2 in    bit
     Set                     the VAX LISP/ULTRIX
                             User's Guide




                                       11




















































                           VAX LISP/VMS Release Notes


     Area of Difference      VAX LISP/ULTRIX         VAX LISP/VMS
     ---------------------------------------------------------------------

     Calling Out             To all languages that   To all languages
     Capabilities            both follow the VAX     following the VAX
                             calling standard and    calling standard
                             provide objects that    supported by VMS and
                             can be used as input    to both VMS and RMS
                             to the ULTRIX ld        system services with
                             linker; for example,    some restrictions.
                             to C and Pascal.


     Binding Control         Only to control         Yes
     Characters to           characters that cause
     Functions               an ULTRIX signal (by
                             default CTRL/C for
                             SIGINT, CTRL/\ for
                             SIGQUIT, and CTRL/Z
                             for SIGTSTP)


     Functions and           VAX LISP/ULTRIX does not have the following
     Variables               VAX LISP/VMS functions and variables (in
                             addition to the Editor, graphics, and
                             interrupt functions and variables):

                                  ATTACH
                                  ED
                                  GET-DEVICE-INFORMATION
                                  GET-FILE-INFORMATION
                                  GET-PROCESS-INFORMATION
                                  GET-TERMINAL-MODES
                                  GET-VMS-MESSAGE
                                  SET-TERMINAL-MODES
                                  SPAWN
                                  TRANSLATE-LOGICAL-NAME


     The VAX LISP            Return information      Return information
     functions               from a user-created     from a user-created
     SHORT-SITE-NAME and     text file - see the     COM file or logical
     LONG-SITE-NAME          VAX LISP/ULTRIX         name - see the VAX
                             Installation Guide.     LISP/VMS Installation
                                                     Guide.


     To Control the Mode     Use ioctl(2),           Use the VAX LISP/VMS
     of Terminal Input       stty(1), or tty(4).     SET-TERMINAL-MODES
                                                     function.





                                       12




















































                           VAX LISP/VMS Release Notes


     Area of Difference      VAX LISP/ULTRIX         VAX LISP/VMS
     ---------------------------------------------------------------------

     G/H Floating-Point      Processors without      VMS provides emulated
     Instructions            these instructions      instructions on
                             need the emulator       processors lacking
                             (EMULFLT) configured    these instructions.
                             in - see the VAX
                             LISP/ULTRIX
                             Installation Guide.


     Internal-Time-Units-    1,000,000               10,000,000
     Per-Second









































                                       13

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