Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

VAXTPU MODIFY_RANGE — VMS 5.4

 MODIFY_RANGE

 Allows a VAXTPU application to change the starting delimiter, ending
 delimiter, or video attribute of a range.

 Syntax

    MODIFY_RANGE (range, [{start_mark | delimiting_keyword},
                          {end_mark | delimiting_keyword}]
                         [,video_attribute])

 Parameters

    range                The range to be modified.

    start_mark           The starting mark for the range.

    end_mark             The ending mark for the range.

    delimiting_keyword   A keyword indicating the point in the buffer where
                         you want the range to begin or end.  The valid
                         keywords and their meaning are as follows:

                         Keyword         Meaning
                         -------         -------

                         LINE_BEGIN      The beginning of the current
                                         buffer's current line.

                         LINE_END        The end of the current
                                         buffer's current line.

                         BUFFER_BEGIN    Line 1, offset 0 in the
                                         current buffer.  This is
                                         the first position where
                                         a character could be
                                         inserted, regardless of
                                         whether there is a character
                                         there.  This is the same as
                                         the point referred to by
                                         BEGINNING_OF (CURRENT_BUFFER).

                         BUFFER_END      The last position in the
                                         buffer where a character
                                         could be inserted, regardless
                                         of whether there is a character
                                         there.  This is the same as
                                         the point referred to by
                                         END_OF (CURRENT_BUFFER).

    video_attribute      A keyword specifying the new video attribute for
                         the range.  By default, the attribute is not
                         modified.  You can use the keywords NONE, REVERSE,
                         UNDERLINE, BLINK, or BOLD to specify this
                         parameter.


 Comments

    If you want to specify the fourth parameter (the attribute) but not the
    second and third (the start and end delimiters), you must use commas as
    placeholders, as follows:

    MODIFY_RANGE (the_range, , ,BLINK);


 Examples


    1.  The following statement sets the video attribute of the range
        assigned to the variable "this_range" to BLINK:

        MODIFY_RANGE (this_range, , ,BLINK);


    2.  The following statement alters the delimiters of the range assigned
        to the variable "the_range" so the range begins at the point marked
        by "mark1" and ends at the end of the current line:

        MODIFY_RANGE (the_range, mark1, LINE_END);


    3.  The following code fragment creates a range between the editing
        point and the pointer cursor location.  At a later point in the
        program, after which the user might have moved the pointer cursor,
        the code fragment modifies the range to reflect the new pointer
        cursor location.

        begin_mark := MARK (BOLD);
        POSITION (MOUSE);
        finish_mark := MARK (BOLD);
        this_range := CREATE_RANGE (begin_mark, finish_mark, BOLD);
        !  .
        !  .  (User may have moved mouse)
        !  .
        POSITION (MOUSE);
        new_mark := MARK (BOLD);
        IF new_mark <> finish_mark
        THEN
            MODIFY_RANGE (this_range, begin_mark, new_mark, BOLD);
        ENDIF;


 Related Topics

    MARK     CREATE_RANGE

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