HELP NEWS.8

July 29 1983
    There are two enhancements to the itemiser (see REF ITEMISE for details):
        (1) The procedure ITEM_NEWTYPE now enables new itemiser character
    classes to be defined.
        (2) The itemiser now accepts numbers in exponent form, e.g.
                23e-2 =>
                ** 0.23
    (only "e" is recognised, NOT "E").

    Commands typed to POP11 or DCL for entering VED will be copied to the end
    of the VED command buffer.

    VEDPUTCOMMAND(string) makes string the last line of the command buffer.

July 21
    LIB SHOWTREE generalised again - see HELP * SHOWTREE/MORE.
July 20th
    LIB VEDKEY5 alters key 5 on numeric keypad on Visual 200
        See HELP * VEDKEY5
July 19th
    VEDMOVEITEM is in the system, instead of being a library file
    ESC H now not only invokes the help file but, can search for the
        relevant item, e.g. * VEDPROCS/vednextitem will invoke HELP VEDPROCS
        then search for "vednextitem". Try ESC N then ESC H now.

July 18
    CASE CONVERSION: See HELP * VEDCOMMS/ved_lcl
        VED_LCL VED_UCL (lower case lines, upper case lines)
        VED_LCR VED_UCR (lower case range, upper case range)
    Summary of LISP changes, see HELP * LISP3

July 15
    Version 8.0
    -----------
    New PROLOG, and new LISP plus many other smaller improvements.

    * ISCLOSED can be used to tell whether a character repeater
    produced by * DISCIN has reached end of file yet.

    * EXITTO, EXITFROM, CHAINTO, CHAINFROM
    can be given, instead of a target procedure, a call-stack length.
    See REF PROCEDURE.

    * People using PRINTF should now use

            PRINTF(string, [%arg1, arg2, ..., argn%]);

    instead of

            PRINTF(argn, ..., arg2, arg1, string);

    The latter still works but is incompatible with situations where CUCHAROUT
    is redefined to leave characters on the stack -- see HELP PRINTF.

July 14
    ENTER CRM will clear range mark from the screen.
        (after many requests.....)
July 12
   ENTER DEOF now deals properly with marked range going beyond current line.

July 9th
    When commands like HELP and TEACH fail, they will say
        <name> NOT FOUND try: INDEX
    SYSSYNONYM makes the old macro SYNONYM redundant. See HELP * SYSSYNONYM
July 8th
    LOADLIB redefined to use SYSLIBCOMPILE

    The change to ESC W on June 8 did not work right for VT100
    vdus. This is now fixed.

    Bug in VED_CLEAR fixed. It now refreshes the window. This helps
    SHOWTREE to work right.

July 7
    BUG in LIB TIME due to use of matcher in a section, fixed.

July 1
    AND and OR moved from VEDFORWARDERS to VEDBACKERS for ved_tidy.
    CASE added to VEDBACKERS (See HELP SWITCHON)
    '.pl', and '.lsp' added to VEDNONBREAKFILES.

June 30
    VEDDIRECTORY is exported. (Its a null string if the file name
        includes the directory).
    VEDLINEMAX is now saved by vedsaveglobals and restored by vedsetglobals.
        So different files can have different values for vedlinemax

June 28
    PRINTLENGTH(item) -> number
June 21
    NCREV(list) -> list. Does non copying reverse. see HELP * NCREV
June 17th
    BUG fixed: interaction between garbage collector, syslockheap and
        partial application.

    ENTER HPRINT is like ENTER PRINT, but uses /HEADER. I.e. name of
    file is printed on each page.

    HELP CONTENTS gives an overview of help files
    TEACH TEACHFILES gives an overview of teach files
    HELP SYSLIBCOMPILE added.

    LIB SLOWPROCS, redefines the procedures listed in REF FASTPROCS, so that
    they do checking - for debugging purposes.

June 16th - version 7.2.1
    ENTER SGS 'Silent Global Substitute' doesn't keep count of replacements
        on the command line. Much quicker for multiple substitutions.

    FOREACH altered so as not to use FETCH or export TRYNEXT

    ENTER JCP will always justify current PROCEDURE, never current PARAGRAPH
    ENTER JP is unchanged.

    Macros like HELP did not compile vedinit.p before searching for the file.
    This has been fixed by making vedgetlibfilename call vedsetup.

June 14th
    Bug in loadlib fixed so that LIB and USES now work in sections.
    ENTER wpop - same as ENTER w ENTER pop

June 13th
    HELP PLOGNEWS added, experimental PLOGHELP facility added.

    ENTER SMR (sort marked range)
        Bug fixed. It did not insert sorted text in the right place

June 11th
    ENTER LMR (or CTRL-D, or <ESC> C).
    Short syntactic error messages in VED are now stored in the 'command' file,
    and may be brought back into view on the command line. For details see
    TEACH LMR from line 47.

June 10th
    vedenderror
        This procedure is not used, and is being withdrawn.

    ENTER OUTPUT foo.p, ENTER OUTPUT ., ENTER OUTPUT ^, ENTER OUTPUT
        can be used to alter VEDLMR_PRINT_IN_FILE.
    See HELP * LMR for details.

    <ESC> W now works right on command line
    <ESC> W optimised to reduce amount of refreshing

June 8th
    VED_TI VED_TO VED_MI VED_MO are now built into the system. users
    need not do LIB INOROUT in their VEDINIT.P See HELP INOROUT

    VED_Q altered so that as long as you type neither 'y', nor 'n' nor
    'c' it purges typeahead and repeats the query message.
June 6
    MOD is now a synonym for REM.

    BUG in VEDKEY5 fixed. It assgined to vednormaltable without first
    copying, causing an access violation. But the assignment was unnecessary
May 31
    LIB FACETS altered so that a facet will occur in the calling sequence if
    an error occurs

    ENTER TI, TO, MI, MO altered so that if current file uses whole
    window then the other file is not shown.

    LIB TPARSE - this previously did not use exactly the same format for
    grammar and lexicon as LIB GRAMMAR, owing to an oversight...
    This has now been fixed.

May 26th
    ENTER JP extended. Uses lines beginning with '.' as well as blank lines as
    paragraph boundaries in text files.

May 24th
    LIB VTURTLE improved. It used to do too much updating of the status line.

May 20th
    LIB WORDCOUNT added. See HELP * WORDCOUNT

    ENTER DEOF
        Some bugs to do with marked range fixed.
    LIB VED_GO
    sets <ESC> G to go to a different file. Type in a number within
    a second. If you don't it will print out names of files and ask
    you which you want.

May 18th
    LIB VEDKEY5 added to the local library. See HELP * VEDNEWS

May 16th
    HELP LISPNEWS added to local help directory (sorry non-locals!)

May 13th
    BUG in RUNPROC fixed. It used to interact wrongly with stack.

    VED ENTER DEOF = Delete to End of File. ENTER DEF removed

    DISCIN / DISCOUT can now take an open device record and return a
    repeater / consumer for the given device.

    LIB TPARSE
    This experimental (test) variant on LIB GRAMMAR allows ALL parses of
    a sentence to be found, not just the first like LIB GRAMMAR.
    For details HELP * TPARSE, or SHOWLIB TPARSE.

    MATCHESONEOF and MATCHESALLOF added to library. See HELP FILES
    FOREVERY now checks that the argument is a LIST, not just a pair.

    New auto-loadable procedure WARNING. Similar use to PRMISHAP. See
    HELP * WARNING.

    Bug in LISP fixed.
    LISP modified to use the user-definable WARNING procedure.
    Lisp PUTPROP extended see HELP * LISP.

MAy 11th
    Experimental version of VED with Input Mode VED_IM. Design not yet
    complete, so documentation not released.

May 10th
    See HELP POPMEMLIM for new information on POPMEMLIM

    SECTION_CANCEL now accepts an optional second argument. See HELP
    SECTION_CANCEL.

May 7th
    WHICH(variables, list of patterns) -> list of values
    For details of this new database facility see HELP WHICH

    LIB SUPER
    This has been made more efficient by defining procedures as constants
    Also, by using sections instead of PREFIX, compilation has been
    speeded up and space saved. Report problems to A. Sloman please.

    VEDEDITING: more low-level VED procedures have been changed so as not
    to do anything to the screen when VEDEDITING is FALSE.

    HELP VTURTLE was out of date and not consistent with TEACH VTURTLE.
    This has now been corrected.

May 6th
    VED NEWS:
    See help INOROUT for new ENTER commands TI TO MI MO for easy movement
    of text between files.

    ENTER CA    = COPY and APPEND. Marked range is added to existing text
                in VVEDDUMP.

    ENTER GS and ENTER GSR
      Altered to make VEDBREAK false. I.e. global substitutions should not
      force line breaks. (This can sometimes lead to infinite loops).
May 4th
    TEACH CONTINUATIONS added
April 29th
    Bug in vedsetkey fixed. This could cause error in garbage collector.
    LIB SOMESCHEMA added. See HELP SCHEMA HELP SOMESCHEMA
April 27th
    LIB RMS added - 'reason maintenance system'. See HELP RMS
April 26th
    New versions of LIB PAGE, LIB FORMAT
    See HELP PAGE, section on RUNOFF commands.
    See HELP FORMAT on JJ and JJP.
    Also VED ENTER CENTRE and
    VED ENTER RIGHT very slightly altered.
April 21st
    UNTRACEALL; altered so that it first untraces the procedures it uses!
April 20th
    ENTER QSHOWLIB and ENTER QSRC added.
18 APRIL    version 7.1
    The CD macro is changed so that if you have a subdirectory FOO
    then    : CD FOO
    will go to it, as if you had typed CD .FOO, or CD [.FOO]
    If there is no such subdirectory, it is equivalent to typing
            : CD [FOO]
    (This is also the behaviour of the DCL command $ CD -- i.e. try
    subdirectory before top level directory.)

    SECTIONS and AUTOLOADING
    If a variable, e.g. database, has been declared at top level, and you
    enter a section into which it has not been imported, but is used, then it
    will be autoloaded. This overcomes some bugs in library programs which
    require variables like DATABASE, IT, etc. to be declared as GLOBAL in the
    top level section. (See REF SECTIONS)

    PDCOMP is now in the system -- but as <> not as PDCOMP.  That is,
    P1 <> P2 creates a new procedure that runs P1 then P2.

    Bug in VED_W fixed. It used to query exits from library files if the
    file had been altered and written to a user file name.
April 12th
    HELP NEWS truncated. Old news shifted to HELP NEWS.7

    Begun altering library files to make use of section $-library.
    Please report any problems.
Aril 8th
    ENTER RB
    Altered to move oldest file to screen rather than second oldest.
    I.e. circulates files in the opposite direction. (By popular request)

    VEDLINESTART was wrongly documented in HELP VEDCOMMS. It doesn't
    ignore leading spaces.
April 6th
    The key of a any vector-type structure now includes a destructor
    procedure, which does the opposite of the constructor procedure, i.e.
    puts all the components AND the length of the vector on the stack.
    VECTORCLASS therefore now also creates DESTfoo where foo is the dataword
    of the vectorclass. For ordinary vectors and strings there are
    corresponding procedures DESTVECTOR and DESTSTRING. There is also now a
    DESTWORD.
March 24th
    ENTER YANKL now inserts before current line
March 17
    VED COMMAND LINE:
    Obeying a command by typing "-" or by typing RETURN on the command line
    now copies that command to the end of the command line buffer (unless of
    course it's already at the end, or the one at the end is = to it).
March 16
    It has been observed that because of the way dcl works when given no
    command string, if you type just '$' at the beginning of a line to
    POP (when compiling through CHARIN), you'll go to DCL, as if you had
    used the DCL macro, except that you are not reminded to type Q or LO
    to get back to POP. This will be altered to print a warning.

March 15 -- Version 7
    This has a number of improvements, additions and bug fixes.

    * The major enhancement is SECTIONS, which enable program identifiers to
    be local to different parts of a program -- see REF SECTIONS.
        N.B. There is a problem with using MATCHES inside sections in that ?
    and ?? variables inside patterns will not be compiled as referring to the
    compile-time section context, and will instead refer to the RUN-time
    context (because the compiler does not recognise ? and ?? as having any
    special meaning). A satisfactory solution to this problem has yet to be
    formulated...

    * New character classes have been introduced in the itemiser. These will
    be described briefly, but see HELP * ITEM_CHARTYPE, or for full details,
    REF ITEMISE :
        (1) An 'alphabeticiser' class (class 12) : a character of this class
            forces the class of the character immediately following it to to
            be alphabetic, regardless of its normal interpretation. The
            following character is also interpreted in a like manner to one
            following "\" in strings and character constants (e.g. "n"
            represents newline, "t" tab, and "^A" Ctrl-A, etc).
                As yet, no character has this class as standard, but assuming
            "\" did, then the following would be examples of legal input
            words for the itemiser:

                    \+ABC       (characters +, A, B, C)
                    \1234       (   "       1, 2, 3, 4)
                    \n          (   "       <newline> i.e. ASCII 10)
                    XY\t\n      (   "       X, Y, <tab>, <newline>)

            etc.
        (2) Two classes for 'bracketed' comments (classes 10 and 11) : these
            allow comments like

                    1 -> x;  /* this is a comment */ 2 -> y;

            where in this example "/" has class BC1 (Bracketed Comment 1) and
            "*" class BC2 (Bracketed Comment 2). In other words, BC1 followed
            by BC2 starts the comment and BC2 followed by BC1 ends it, nested
            comments like

                    /* 1 -> x;  /* this is a comment */ 2 -> y; */

            being allowed. All other occurrences of BC1 or BC2 are taken as
            of class sign, so that while "/" and "*" have these classes
            as standard, the arithmetic operators that use these as sign
            characters remain unchanged.

    * The compiler has been simplified and speeded up by the introduction of
    a new IDENTPROPS class, viz SYNTAX OPERATOR: an identifier in this class
    is both a syntax word and an operator. It has a precedence value like an
    ordinary operator, and is parsed by the compiler in the same way;
    however, where the compiler would plant a run-time call to an ordinary
    operator, it instead calls the VALOF of the identifier at compile-time,
    as it would with a syntax word. The IDENTPROPS of such an identifier is
    the word "syntax N" where N is the precedence, which mimics the
    declaration format, viz

            VARS SYNTAX 1 XXX;
            DEFINE SYNTAX 3 YYY: ...

    etc. REF SYSCOMPILE will explain how to use these.
        The precedence of an operator (including syntax) can now be a
    negative number, meaning that the operator will associate to the right
    rather than the left. In addition, decimal values are now allowed (only
    one decimal digit being significant), e.g. if @ is defined

            DEFINE 4.5 X @ Y; ...

    then  2+3@4*5 will evaluate as 2+(3@(4*5)), since + has precedence 5 and
    * has precedence 4. The maximum absolute precedence is 12.7.

    See HELP V7


    If you do VED FOO then change directory, then ENTER W1, or WQ, or WQVED,
    etc. then VED unfortunately writes FOO into the current directory, rather
    than the original directory. This will be fixed in version 7.

    NOTE: VED ENTER YANK can now be abbreviated to ENTER Y
              ENTER TR can now be abbreviated to ENTER T
March 14th
    Version 6.6
    VEDSCROLLDOWN and VEDSCROLLRIGHT will check that the limit has not been
    reached. If it has they do nothing.

Mar 10
    VEDSTARTWINDOW
    If this is less than vedscreenlength then it determines the size of the
    LOWER window. The upper window will always use the remaining size.
    Hence at long last values other than 12 and 24 are useful.

    Bug in ENTER RB in lib windows fixed. It used to occasionally lose files.
Mar 4
    HELP VT52 added for 'DUMB' VT52 terminal
    VEDSCREENFLUSH finally removed from library. Use RAWOUTFLUSH.
    RAWCHARIN is a user assignable variable. This will facilitate
    the introduction of log files for VED.

Mar 3
    Bug in vedsetwindow (ESC W) fixed. Previously if vedstartwindow was
    set to 24, then using ESC W caused mishap. It doesn't now.
Mar 1st
    POPFILENAME holds name of file given to compile, or false if there
    wasn't one.

For Older news see HELP NEWS.7
