home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: vmsnet.tpu
- Path: sparky!uunet!decwrl!pa.dec.com!nntpd2.cxo.dec.com!nntpd.lkg.dec.com!evetpu.enet.dec.com!mccarthy
- From: mccarthy@evetpu.enet.dec.com (Brian J. McCarthy)
- Subject: Re: Undocumented MARK parameters.
- Message-ID: <1992Nov16.122517.19987@nntpd.lkg.dec.com>
- Sender: usenet@nntpd.lkg.dec.com (USENET News System)
- Organization: Digital Equipment Corporation
- References: <1992Nov14.180146.1@slacvx.slac.stanford.edu>
- Date: Mon, 16 Nov 1992 12:12:36 GMT
- Lines: 161
-
-
- In article <1992Nov14.180146.1@slacvx.slac.stanford.edu>, fairfield@slacvx.slac.stanford.edu writes...
- >
- > So, to the TPU gurus out there: Will these new parameters be
- > documented and supported in subsequent releases? What ARE the allowed
- > parameter types for the 2nd and 3rd arguments? What OTHER undocumented
- > goodies are you hiding from us ?? :-) There ARE others. For example, I
- > found, I found,
-
- Here is the V3.1 version of the on-line help for TPU's SET (MARK) built-in
- procedure:
-
- MARK
-
- Returns a marker located in the specifed buffer, column, and record.
- By default, the marker returned is located on the character in the
- current buffer to which the editing point is tied. The MARK built-in
- also sets the video attribute for displaying the character on which the
- marker is located (if any) when that character is visible on the
- screen.
-
- Syntax
-
- marker := MARK ({NONE | BLINK | BOLD | REVERSE | UNDERLINE
- | FREE_CURSOR} [, {buffer | window} [, integer1
- [, integer2]]])
-
- 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.
- DECTPU 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.
-
- buffer The buffer in which the marker is to be located. By
- default, DECTPU locates markers in the current buffer.
-
- window The window that is mapped to the buffer in which the
- marker is to be located. You can specify a window
- variable only if the window is mapped to a buffer. By
- default, DECTPU locates markers in the current buffer.
-
- integer1 The screen column corresponding to the buffer offset
- where the marker is to be located. This integer
- specifies the marker's location in the horizontal
- dimension. You can specify any integer greater than or
- equal to 1 without causing an error. However, the
- maximum record length in DECTPU is 32,767 characters.
- If you specify an integer greater than 32,767, the
- record is truncated after the 32,767th character. If
- you specify an integer smaller than the record's left
- margin or greater than the end of the line, DECTPU
- places the marker in the specified location and inserts
- padding blanks in the buffer between the marker and the
- nearest text. By default, DECTPU locates the marker in
- the buffer offset corresponding to the current screen
- column. Note that DECTPU performs the conversion from
- screen column to buffer offset for you; you merely
- specify the desired screen column. Note, too, that in
- cases where a window has been shifted, you still
- specify the column in relation to screen column 1 (the
- leftmost column on the screen), not in relation to the
- leftmost visible screen column.
-
- integer2 The number of the record in the buffer where the mark
- is to be located. This integer specifies the marker's
- location in the vertical dimension. If no limit has
- been set on the maximum number of lines in the buffer,
- this parameter can have any integer value greater than
- or equal to 1. If a limit has been set for the maximum
- number of records in the buffer, the value of this
- parameter must be less than or equal to the limit. By
- default, DECTPU places the marker in the current
- record.
-
- Comments
-
- If you create a marker in a location containing no character and
- specify a parameter other than FREE_CURSOR, DECTPU 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 white space created by the blanks is preserved in
- the filled text.
-
- If you use the optional parameters to specify a location that has no
- text associated with it, DECTPU places padding blanks in the space
- between the new marker and the nearest character.
-
- If you create a marker in a location containing no character and
- specify the parameter FREE_CURSOR, DECTPU does not insert padding
- blanks. If you fill text surrounding this marker, no white space 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");
-
- Examples
-
-
- 1. 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.
-
- 2. remote_marker := MARK (FREE_CURSOR, CURRENT_BUFFER, 1, 50);
-
- Puts a free marker in the current buffer in the leftmost character
- offset on the 50th record.
-
- Related topics
-
- POSITION SELECT CREATE_RANGE FILL
-
- ******************************* End of Help Text *******************************
- You may wish to check the on-line help, it may be more up to date than your
- hard-copy documentation.
-
- As for:
- > if get_info (SCREEN, "vaxstation")
- >
- > in EVE$TERMINALS.TPU, but I can't figure out what sets the "vaxstation"
- > bit and this "vaxstation" parameter is also not documented...
- >
-
- I belive this is left over from when the first windowing version of the product
- was being developed. It will ALWAYS return a 0. The new code is
- get_info (screen, "decwindows") or get_info (screen, "motif")
-
- Brian J. McCarthy - DECTPU/EVE Engineering Project Leader
- --------------------------------------------------------------------------------
-