MARK
Returns a marker for the character in the current buffer to which the
active editing point is tied, and sets the video attribute for
displaying the character when it is visible on the screen.
Syntax
marker := MARK ({NONE | BLINK | BOLD | REVERSE | UNDERLINE
| FREE_CURSOR})
Parameters
NONE Applies no video attributes to the marker.
BLINK Causes the marker to blink.
BOLD Causes the marker to be bolded.
REVERSE Causes the marker to be displayed in reverse video.
UNDERLINE Causes the marker to be underlined.
FREE_CURSOR Creates a free marker if you use the statement MARK
(FREE_CURSOR) while the cursor is at a location
containing no character, such as a location beyond the
end of a line. A free marker has no video attribute.
VAXTPU does not insert padding blanks between a free
marker and the nearest character. If you use the
statement MARK (FREE_CURSOR) while the cursor is on a
character, the resulting marker is tied to the
character and is not free.
Comments
If you create a marker in a location containing no character and
specify a parameter other than FREE_CURSOR, VAXTPU inserts padding
blanks between the marker and the nearest character. In such a
situation, the marker is bound. If you fill text containing these
padding blanks, the whitespace created by the blanks is preserved in
the filled text.
If you create a marker in a location containing no character and
specify the parameter FREE_CURSOR, VAXTPU does not insert padding
blanks. If you fill text surrounding this marker, no whitespace is
created in the filled text.
Once a marker is tied to a character, it cannot become a free marker.
To determine whether a marker is bound or free, use the following call:
boolean_variable := GET_INFO (marker_variable, "bound")
To determine the number of character positions between a free marker
and the nearest character, use the following call:
boolean_variable := GET_INFO (marker_variable, "glyph_offset")
To determine why a marker is free rather than bound, use one or more of
the following calls:
boolean_variable := GET_INFO (marker_variable, "before_bol")
boolean_variable := GET_INFO (marker_variable, "beyond_eol")
boolean_variable := GET_INFO (marker_variable, "middle_of_tab")
boolean_variable := GET_INFO (marker_variable, "beyond_eob")
Example
user_mark_under := MARK (UNDERLINE);
Puts a marker at the row and column position corresponding to the
active editing point. On the screen, the character at that marker is
underlined.
Related topics
POSITION SELECT CREATE_RANGE FILL