Document revision date: 19 July 1999 | |
Previous | Contents | Index |
SET (PAD, window, {ON |OFF |1 |0})
PAD
A keyword that indicates that SET is to control whether screen lines are padded with blanks. This keyword determines whether SET pads out the left and right ends of lines beyond the text on the line. When video attributes are applied to a padded window, the window has an even or "boxed" appearance.window
The window in which lines are padded.ON, 1
Causes DECTPU to display blanks after the last character of a record so that the screen line extends to the right side of the window. If there are not enough lines in a buffer to fill an entire window, DECTPU displays blank lines (according to the video setting of the window) from the end-of-buffer line to the end of the window.OFF, 0
Causes the display of lines on the screen to stop at the last character of a record. When video attributes are applied to the window, the window has a ragged appearance on the sides.
The SET (PAD) procedure pads the number of display lines on the screen. By default, DECTPU ends a line on the screen at the end of a record, without adding padding blanks. The default behavior of not padding the screen gives maximum editing performance. You can change the default with SET (PAD) for special visual effects. The records in the buffer are not padded; only the display lines have the padding.
TPU$_TOOFEW | ERROR | SET (PAD) requires three parameters. |
TPU$_TOOMANY | ERROR | You specified more than three parameters. |
TPU$_INVPARAM | ERROR | One or more of the specified parameters have the wrong type. |
TPU$_BADKEY | ERROR | The keyword must be ON or OFF. |
TPU$_UNKKEYWORD | ERROR | You specified an unknown keyword. |
In the following example, the first statement causes second_window to be padded with blanks. The second statement causes second_window to be displayed in reverse video. The window has an even right and left margin when displayed.
SET (PAD, second_window, ON); SET (VIDEO, second_window, REVERSE); |
SET (PAD_OVERSTRUCK_TABS, {ON |OFF |1 |0})
PAD_OVERSTRUCK_TABS
Determines what happens when you overstrike a tab and when you overstrike with a tab.ON, 1
SET PAD_OVERSTRUCK_TABS ON functions differently depending on whether you are overstriking a tab character with another character or overstriking another character with a tab character.OFF, 0
SET PAD_OVERSTRUCK_TABS OFF functions differently depending on whether you are overstriking a tab character with another character or overstriking another character with a tab character.
The SET (PAD_OVERSTRUCK_TABS) procedure controls how DECTPU handles tabs in overstrike mode. When earlier versions of DECTPU overstruck a tab, DECTPU inserted spaces, if necessary, to preserve the cursor position within the tab, and then replaced the tab with the character that was being entered. This behavior is preserved when PAD_OVERSTRUCK_TABS is set OFF.When PAD_OVERSTRUCK_TABS is set ON, DECTPU inserts spaces as necessary to preserve the cursor position within the tab of the first character of the text, and then inserts the text. The tab is replaced only when it occupies a single column.
When SET (PAD_OVERSTRUCK_TABS) is set to ON and you overstrike a tab, DECTPU does the following:
- Inserts as many spaces as necessary to fill the column to where the cursor is
- Inserts with the characters you are overstriking with
- If it fills to the last column, deletes the tab
- Inserts spaces to keep the text after the cursor in the same column
When SET (PAD_OVERSTRUCK_TABS) is set to ON and you overstrike with a tab, DECTPU replaces multiple characters. The characters to the right of the tab do not move their column position. They are overstruck.
When SET (PAD_OVERSTRUCK_TABS) is set to OFF and you overstrike a tab, DECTPU does the following:
- Inserts as many spaces as are necessary to fill the column to where the cursor is.
- Replaces the tab character with the new character. The tab character always is replaced.
- Inserts spaces to keep text after the tab character in the same column.
When SET (PAD_OVERSTRUCK_TABS) is set to OFF and you overstrike with a tab, the characters in the text get replaced by the tab character. This may move characters to the right on the screen.
TPU$_TOOFEW | ERROR | The SET (PAD_OVERSTRUCK_TABS) built-in requires two parameters. |
TPU$_TOOMANY | ERROR | You specified more than two parameters. |
TPU$_INVPARAM | ERROR | One or more of the specified parameters have the wrong type. |
TPU$_BADKEY | WARNING | Only ON and OFF are allowed. |
The following example shows what happens when PAD_OVERSTRUCK_TABS is set to OFF. In this example, a right angle (>) represents the tab, a period (.) represents one column of white space, and an underscore (_) represents the cursor.Suppose a buffer contains the following text, with the cursor in the middle of white space created by a tab:
abc>....defIf you insert the asterisk (*) while PAD_OVERSTRUCK_TABS is set to OFF, the white space to the left of the * is preserved. The tab character is removed, and the white space to the right of the * is not preserved. The text to the right of the collapsed white space moves leftward. The result is as follows:
abc..*defThe cursor is on the d. Given the same initial text, if you type the string "xyzzy" while PAD_OVERSTRUCK_TABS is set to OFF, the tab is removed. The text to the right of the tab moves to the left. Your new string, xyzzy, is written over the old text. The result is as follows:
abc..xyzzyWhen PAD_OVERSTRUCK_TABS is set to ON, the text to the right of the tab does not move to the left when text is inserted within the tab. Instead of removing the tab, DECTPU places the tab to the right of the inserted text if the inserted text is shorter than the length of the tab. The newly placed tab creates only enough white space to preserve the original column position of the text to the right of the tab.
The following example shows what happens when PAD_OVERSTRUCK_TABS is set to ON. In this example, a right angle (>) represents the tab, a period (.) represents one column of white space, and an underscore (_) represents the cursor.
Suppose a buffer contains the following text, with the cursor in the middle of white space created by a tab:
abc>....defIf you insert an asterisk (*) while PAD_OVERSTRUCK_TABS is set to ON, the white space to the left of the * is preserved. The tab is inserted after the * character. The result is as follows:
abc..*>.defGiven the same initial text, if you insert the string "xyzzy" while PAD_OVERSTRUCK_TABS is set to ON, to preserve the original position of the text to the right of the tab, DECTPU fills the white space created by the tab with characters from the new string. When the white space is filled, DECTPU writes the new characters over the old characters. Thus, the old text does not move left or right, but rather is overwritten by the new text. The result is as follows:
abc..xyzzyf
SET (PERMANENT, buffer)
PERMANENT
Specifies that a buffer cannot be deleted. By default, buffers can be deleted; they are not permanent.buffer
The buffer that is not to be deleted.
With the SET (PERMANENT) procedure, you can make a buffer permanent. Once you use SET (PERMANENT), you cannot reset the buffer so that it can be deleted.
TPU$_TOOFEW | ERROR | SET (PERMANENT) requires two parameters. |
TPU$_TOOMANY | ERROR | You specified more than two parameters. |
TPU$_INVPARAM | ERROR | One or more of the specified parameters have the wrong type. |
TPU$_BADKEY | ERROR | You specified an invalid keyword. |
The following example causes master_buffer to become a permanent buffer:
SET (PERMANENT, master_buffer) |
SET (POST_KEY_PROCEDURE, string1 [[{, buffer |, learn_sequence |, program |, range |, string2}]])
POST_KEY_PROCEDURE
The action taken after the code or learn sequence bound to a key is executed.string1
A quoted string, or a variable name representing a string constant, that specifies the key map list for which this procedure is called.buffer
The buffer that contains DECTPU statements specifying the action to be taken after the code or learn sequence bound to a key is executed. SET (POST_KEY_PROCEDURE) compiles the statements in the buffer and stores the resulting program in the specified key map list.learn_sequence
The learn sequence that specifies the action to be taken after the code or learn sequence bound to a key is executed. The contents of a variable of type learn do not require compilation. SET (POST_KEY_PROCEDURE) stores the learn sequence in the specified key map list.program
The program that specifies the action to be taken after the code or learn sequence bound to a key is executed. The contents of a variable of type program do not require compilation. SET (POST_KEY_PROCEDURE) stores the program in the specified key map list.range
The range that contains DECTPU statements specifying the action to be taken after the code or learn sequence bound to a key is executed. SET (POST_KEY_PROCEDURE) compiles the statements in the range and stores the resulting program in the specified key map list.string2
The string that contains DECTPU statements specifying the action to be taken after the code or learn sequence bound to a key is executed. SET (POST_KEY_PROCEDURE) compiles the statements in the string and stores the resulting program in the specified key map list.
The SET (POST_KEY_PROCEDURE) procedure enables an editor to perform some specified action before and after execution of code bound to a key. If you do not specify the third parameter, the postkey procedure for the specified key map list is deleted.Prekey and postkey procedures interact with learn sequences in the following order:
- When you press the key or key sequence to which the learn sequence is bound, DECTPU executes the prekey procedure of that key if a prekey procedure has been set.
- For each key in the learn sequence, DECTPU executes procedures or programs in the following order:
- DECTPU executes the prekey procedure of that key if a prekey procedure has been set.
- DECTPU executes the code bound to the key itself.
- DECTPU executes the postkey procedure of that key if a postkey procedure has been set.
- When all keys in the learn sequence have been processed, DECTPU executes the postkey procedure, if one has been set, for the key to which the entire learn sequence was bound.
You can use the following calls to the GET_INFO built-in procedure to find the prekey and postkey procedures bound to a key map list:
GET_INFO (key_map_list_name, "pre_key_procedure") GET_INFO (key_map_list_name, "post_key_procedure")By default, newly created key map lists do not have postkey procedures.
TPU$_TOOFEW | ERROR | The SET (POST_KEY_PROCEDURE) built-in requires at least two parameters. |
TPU$_TOOMANY | ERROR | You specified more than three parameters. |
TPU$_INVPARAM | ERROR | One or more of the specified parameters have the wrong type. |
TPU$_COMPILEFAIL | ERROR | Compilation aborted because of syntax errors. |
TPU$_NOKEYMAPLIST | WARNING | Attempt to access an undefined key map list. |
The following example displays a message after the code bound to a key is executed:
SET (POST_KEY_PROCEDURE, "tpu$key_map_list", 'MESSAGE ("Key " + GET_INFO (LAST_KEY, "name") + " Executed")'); |
SET (PRE_KEY_PROCEDURE, string1 [[{, buffer |, learn_sequence |, program |, range |, string2}]])
PRE_KEY_PROCEDURE
The action taken before the code or learn sequence bound to a key is executed.string1
A quoted string, or a variable name representing a string constant, that specifies the key map list for which this procedure is called.buffer
The buffer that contains DECTPU statements specifying the action to be taken before the code or learn sequence bound to a key is executed. SET (PRE_KEY_PROCEDURE) compiles the statements in the buffer and stores the resulting program in the specified key map list.learn_sequence
The learn sequence that specifies the action to be taken before the code or learn sequence bound to a key is executed. The contents of a variable of type learn do not require compilation. SET (PRE_KEY_PROCEDURE) stores the learn sequence in the specified key map list.program
The program that specifies the action to be taken before the code or learn sequence bound to a key is executed. The contents of a variable of type program do not require compilation. SET (PRE_KEY_PROCEDURE) stores the program in the specified key map list.range
The range that contains DECTPU statements specifying the action to be taken before the code or learn sequence bound to a key is executed. SET (PRE_KEY_PROCEDURE) compiles the statements in the range and stores the resulting program in the specified key map list.string2
The string that contains DECTPU statements specifying the action to be taken before the code or learn sequence bound to a key is executed. SET (PRE_KEY_PROCEDURE) compiles the statements in the string and stores the resulting program in the specified key map list.
The SET (PRE_KEY_PROCEDURE) procedure enables an editor to perform some specified action before the execution of code bound to a key. If you do not specify the third parameter, the prekey procedure for the specified key map list is deleted.Prekey and postkey procedures interact with learn sequences in the following order:
- When you press the key or key sequence to which the learn sequence is bound, DECTPU executes the prekey procedure of that key if a prekey procedure has been set.
- For each key in the learn sequence, DECTPU executes procedures or programs in the following order:
- DECTPU executes the prekey procedure of that key if a prekey procedure has been set.
- DECTPU executes the code bound to the key itself.
- DECTPU executes the postkey procedure of that key if a postkey procedure has been set.
- When all keys in the learn sequence have been processed, DECTPU executes the postkey procedure, if one has been set, for the key to which the entire learn sequence was bound.
You can use the following calls to the GET_INFO built-in procedure to find the prekey and postkey procedures bound to a key map list:
GET_INFO (key_map_list_name, "pre_key_procedure"); GET_INFO (key_map_list_name, "post_key_procedure");By default, newly created key map lists do not have prekey procedures.
TPU$_TOOFEW | ERROR | The SET (PRE_KEY_PROCEDURE) built-in requires at least two parameters. |
TPU$_TOOMANY | ERROR | You specified more than three parameters. |
TPU$_INVPARAM | ERROR | One or more of the specified parameters have the wrong type. |
TPU$_COMPILEFAIL | ERROR | Compilation aborted because of syntax errors. |
TPU$_NOKEYMAPLIST | WARNING | Attempt to access an undefined key map list. |
The following example displays a message before the code bound to a key is executed:
SET (PRE_KEY_PROCEDURE, "tpu$key_map_list", 'MESSAGE ("Working...")'); |
SET (PROMPT_AREA, integer1, integer2, {NONE |BOLD |BLINK |REVERSE |UNDERLINE})
PROMPT_AREA
An area on the screen in which the prompts generated by the built-in procedure READ_LINE are displayed. By default, there is no prompt area.integer1
The screen line number at which the prompt area starts.integer2
The number of screen lines in the prompt area.NONE
Applies no video attributes to the characters in the prompt area.BOLD
Causes the characters in the prompt area to be bolded.BLINK
Causes the characters in the prompt area to blink.REVERSE
Causes the characters in the prompt area to be displayed in reverse video.UNDERLINE
Causes the characters in the prompt area to be underlined.
The SET (PROMPT_AREA) procedure sets an area on the screen where prompts generated by the READ_LINE procedure are displayed. Except in Motif DECwindows, if the prompt area overlaps a line of a window that is visible on the screen, the line is erased when the READ_LINE is executed. When the execution of READ_LINE is completed, the line is restored. If the prompt area does not overlap any windows, the prompt area continues to display the READ_LINE prompt and your input until new information is sent to the prompt area.If you have a multiple-line prompt area and your terminal has hardware scrolling capabilities, the first prompt appears on the last line of the prompt area. As subsequent prompts are issued, the previous prompts scroll up to make room for new ones. If there are more prompts than there are prompt-area lines, the extra prompts are scrolled out of the window.
If your terminal does not have hardware scrolling capabilities, prompts are displayed starting at the first line in the prompt area. When the prompt area is filled, display starts again at the first line in the prompt area.
TPU$_TOOFEW | ERROR | SET (PROMPT_AREA) requires four parameters. |
TPU$_TOOMANY | ERROR | You specified more than four parameters. |
TPU$_INVPARAM | ERROR | One or more of the specified parameters have the wrong type. |
TPU$_BADKEY | ERROR | The keyword must be NONE, BOLD, BLINK, REVERSE, or UNDERLINE. |
TPU$_UNKKEYWORD | ERROR | You specified an unknown keyword. |
TPU$_BADFIRSTLINE | WARNING | Prompt area must not start off screen or be less than one line long. |
TPU$_BADPROMPTLEN | WARNING | Prompt area must not extend off screen. |
The following example causes the prompt area to be screen line number 24. It is one line and is displayed in reverse video.
SET (PROMPT_AREA, 24, 1, REVERSE) |
SET (RECORD_ATTRIBUTE, {buffer |marker |range}, {DISPLAY_VALUE |LEFT_MARGIN}, {display_setting_integer |margin_setting_integer})
or
SET (RECORD_ATTRIBUTE, {buffer, |marker, |range,}MODIFIABLE, {ON |OFF |1 |0})
RECORD_ATTRIBUTE
A keyword that indicates that the SET built-in procedure is being used to specify or change a record attribute.buffer
The buffer that contains the records for which you want to set an attribute. The record attribute is applied to all records in the buffer.marker
The marker that indicates the record whose attribute you want to set.range
The range that contains the records whose attribute you want to set. The record attribute is applied to all records in the range. Records that are partially within the range will be modified.DISPLAY_VALUE
A keyword that indicates that you want to affect the visibility of the records. If you specify the DISPLAY_VALUE keyword as the third parameter, you must specify for the fourth parameter an integer that provides a display setting.LEFT_MARGIN
A keyword that indicates that you want to specify the left margin for the specified records. If you specify the LEFT_MARGIN keyword as the third parameter, you must specify for the fourth parameter an integer that provides a left margin value.display_setting_integer
An integer value from --127 to +127. This is the display setting. To determine whether a record is to be visible or invisible in a given window, DECTPU compares the record's display setting to the window's display setting. (A window's display setting is specified with SET (DISPLAY_VALUE).) If the record's setting is greater than or equal to the window's setting, DECTPU makes the record visible in that window; otherwise, DECTPU makes the record invisible.margin_setting_integer
An integer that is the column at which the left margin should be set. The value must be between 1 and the value of the right margin minus 1. (The maximum valid value for the right margin is 32767.)MODIFIABLE
A keyword that indicates that you want to determine whether the specified records are modifiable. If you specify the MODIFIABLE keyword as the third parameter, you must specify either ON or OFF as the fourth parameter.ON, 1
Makes records modifiable. If a buffer is modifiable, you can use SET (RECORD_ATTRIBUTE) to make a record in the buffer unmodifiable (with OFF keyword). If a buffer is unmodifiable and you use SET (RECORD_ATTRIBUTE) to make a record in the buffer modifiable (with ON keyword), DECTPU marks the record as modifiable but does not allow modifications to the record until the buffer is made modifiable.OFF, 0
Makes records unmodifiable.
The SET (RECORD_ATTRIBUTE) procedure sets or alters any of three possible attributes for the specified record or records. The attributes you can set for a record are its left margin, its modifiability, and its visibility. With each call to SET (RECORD_ATTRIBUTE), you can set only one attribute. For example, you cannot change visibility and modifiability by using just one call. To set more than one record attribute, use multiple calls to SET (RECORD_ATTRIBUTE).
Previous Next Contents Index
privacy and legal statement 6020PRO_031.HTML