"Personal Write 4.1 - 2. The Project Menu" 2. The Project Menu 2.1 About Personal Write 2.2 New Document 2.3 New Text Window 2.4 Load Document 2.5 Load Style 2.6 Save Document 2.6.1 Compressed Format 2.6.2 IFF-FTXT Format 2.6.3 ANSI X3.64 Format 2.6.4 ASCII Format 2.6.5 Encrypted Format 2.6.6 Print ANSI Format 2.6.7 Print ASCII Format 2.7 Save Same 2.8 Destroy Document 2.9 Mail Merge 2.10 Printer Control File 2.11 Load Picture 2.12 Quit "Personal Write 4.1 - 2. The Project Menu" 2. The Project Menu The Project menu contains all commands used to read and save data to peripheral units. Other commands, which are used to create a new document, obtain information on Personal Write or exit from the program, are also included in this menu. 2.1 About Personal Write A requester appears when this option is selected. The program name and version, and other information are displayed. The OK gadget (or the or keys) can be selected to remove the requester. 2.2 New Document This function clears the displayed text and restores the standard document formatting (sections 5.2 and 5.14). If the displayed text has not yet been stored, Personal Write displays a warning message. The PROCEED gadget of the message requester must be selected to confirm the choice and clear the text. If the CANCEL gadget is selected, or is pressed, nothing happens. After this function is selected, the typing of a new document can begin in the current window. This function can be selected by pressing while the key is held down. 2.3 New Text Window A new text window, ready to display a document, is opened when this command is selected. The number of windows which can be open at the same time is limited only by the available memory. A window can be repositioned on the screen by moving the mouse after the left mouse button has been pressed when the pointer is over the top window title bar. The left mouse button must be held down while the window is dragged to the new position. The gadget at the top left of the window, called the "close" gadget, is used to close the window and free the memory used to display the document. Personal Write always displays a warning message if the document which is displayed in a window which is to be closed has not yet been saved. One or two gadgets (depending on the Amiga operating system version) on the right of the window title bar are used to move the window to the back or front of all other windows. On the bottom right of the window there is another gadget, marked by two yellow lines. This gadget can be used to resize the window. While the gadget is selected, the mouse can be moved to specify where the new window corner has to appear. The right mouse button can be pressed to abort the resize operation. In this guide, the term "displayed document" always refers to the text displayed in the window which contains the cursor. There is always only one cursor, displayed in the active window. To move the cursor from one window to another, the left mouse button must be pressed when the pointer is over the target window. If the mouse button is pressed very briefly, the cursor will be positioned on the same position it occupied before it was moved from the window. If the left mouse button is pressed a bit longer, the cursor will appear under the mouse pointer. 2.4 Load Document This command displays a requester which allows the user to select, load and display a file which has previously been stored (not necessarily a document written with Personal Write). The requester is also called "file requester", because it allows the user to work with file names. To load a document, the user must select the storage unit (e.g. "DF0"), the path (i.e. the drawers the document is in) and the file name. All operations can be done with the mouse. The program automatically recognizes up to 9 different devices. For each device a gadget is displayed on the top of the requester. Every gadget contains the name which the Amiga operating system associated with the device (e.g. "DF0" for drive 0, where DF stands for "Disk/Floppy"). The gadget corresponding to the storage unit which contains the text to be loaded must be selected. The "Options/Save" function (section 5.14) also saves a reference to the last unit which was used to load or save a document. The unit (e.g. "DF1") can become the default unit if the program parameters are saved. The string gadget below the device gadgets contains the path (i.e. the list of drawer names) which is to be followed to reach the document. The name of every drawer which has to be opened to read the document is written in the string gadget. Each drawer name is separated by the name of the drawer which contains it by a '/' sign. The content of the string gadget is automatically updated when the mouse is used to modify the status of the other gadgets. No text is displayed in the string gadget if drawers are not used on the selected storage unit. The key should be pressed after the text of the string gadget has been modified by using the keyboard. If volume names or logical names are used in the path, or if a full path (all names, including volume and file) is written in the path or file name string gadgets, Personal Write automatically converts and displays these items according to the rules of the file requester. The PARENT gadget, also on the top of the requester, can be used to read the content of the parent directory (i.e. a directory which contains other directories) of the directory which contains the currently displayed files. The drawer name on the extreme right in the path string is deleted from the string gadget when PARENT is selected. All file and directory names found following the specified path can be viewed in the file gadgets in the list box at the center of the requester. All file and directory names are sorted by name or date and inserted in a list. Directory names are grouped at the bottom of the list, followed by a "(dir)" suffix. Not all file names which are listed necessarily belong to documents. Some of the names used by the Amiga operating system are not inserted in the list. Texts can be sorted in lexicographic order by Personal Write following rules of different languages. Section 6.6 explains how it is possible to choose between alphabetical and date order. The texts can be sorted from top to bottom or vice versa. If the list of file names is longer than the screen space reserved for the file gadgets, only part of the file names is displayed. The knob on the right of the file gadget box can be used to shift the displayed portion of the file list up or down. The knob is a gadget which can be moved when it is selected. While the left mouse button is pressed, the mouse can be moved up or down. If the mouse and the knob are moved up, the displayed file names are moved down, so that some space is freed to display the names which are closer to the top of the list. The opposite happens if the knob is moved down. The beginning of the list is always displayed when the knob is at the topmost position. If the knob is in the lowest possible position, the end of the list is displayed. Intermediate knob positions cause proportionally equivalent parts of the list to be displayed. The knob can also be moved by briefly pressing the left mouse button when the pointer is over the container of the knob (but not over the knob). In this way, the knob is "attracted" towards the mouse pointer whenever the left mouse button is pressed. Once the name of a file or drawer is displayed in the file gadget box, it can be selected with the mouse. When the left mouse button is pressed and released, the file or drawer name displayed under the mouse pointer is selected. If the name of a drawer is selected, the path string gadget is automatically updated. If a file name is selected (e.g. the name of a document), the string gadget containing the file name is updated. As described in section 6.6, it is possible to display the length of a file and a comment associated with a file whenever the file name is displayed. Every gadget of the file requester, including the knob, can be selected while Personal Write is updating the list of file and drawer names. During this phase, new names are continuously inserted into the list, so that the order of the displayed names may change unexpectedly. To avoid unwanted selections during the display update, Personal Write does not modify the displayed names when the left mouse button is pressed, and accepts a name-gadget selection only if the mouse button is released over the highlighted name. If the mouse button is pressed when the pointer is over a name, but released when the pointer is not over the same name, no selection is made. The string gadget under the box with the file gadgets contains the name of the document to be loaded. The content of the string gadget is automatically updated when a document is selected with the mouse. Another, optional (see section 6.6), string gadget is used to display a comment which may be associated with the selected file. Any modifications to the text contained in the gadget are saved during a "Save Document" operation (section 2.6). To confirm a selection and load the document, the PROCEED gadget must be selected, or the key can be pressed when the cursor is in the document name string gadget. It is also possible to double-click (quickly press the left mouse button twice) the file name gadget. These three methods of confirming the choice work in all file requesters used by Personal Write, with the exception of the double-click, which is intentionally disabled in the requester used to save a document. The load operation is cancelled by selecting the CANCEL gadget. If Personal Write cannot load a document, an error message appears. Personal Write automatically recognizes the document format if it is one of the following: compressed (IFF C1C0), IFF FTXT, IFF CHRS, Ansi X3.64, ASCII or encrypted (IFF C1K0). The different formats used by Personal Write are described in section 2.6. If the text is encrypted, and no encryption key has previously been given, Personal Write requests an encryption key. The text cannot be loaded if the key is wrong, i.e. if the key does not match the key which was used to save the text. When loading ANSI and IFF-FTXT format texts, the program filters unrecognized, unused or redundant control sequences. If the document does not contain any formatting data, it may be necessary to set the right margin (if the margins are too narrow) and other document parameters manually, after the text is loaded. If the specified file was not written by Personal Write, and it is not stored in one of the formats recognized by Personal Write, Personal Write may be able to load only part of the file, not including undisplayable characters or unrecognized control sequences. Personal Write will try to load the text at least. Personal Write can read texts written in different formats by almost every program running on the Amiga. Section 6.2 explains how texts written on different computers can be loaded, by selecting the appropriate character sets. Formatting information (margins, header, numbering etc.) will be loaded with the text, if present. If no formatting data is found, then the standard default parameters (or the current program parameters, if they have been saved) are applied to the text. If the printer settings were saved with the document (section 6.3.10), these are also loaded. While Personal Write is loading or saving a text, it is possible to move other screens to the front (e.g. the Workbench screen) as usual and work with any software in these screens. If this is done during a particularly long load or save operation, it may be desirable to know when Personal Write has terminated. Personal Write provides this information by briefly "flashing" all screens as soon as the text has been loaded or saved. A document can also be loaded automatically at startup if its name is written at the end of the Shell or CLI command line typed to load the program (section 1.15). For example: PWrite -videoflags filename This function can be selected by pressing while the key is held down. 2.5 Load Style This function is similar to the previous one, but it allows the user to load only the formatting of the document and first paragraph, and the printer settings (including the PostScript parameters) of the selected document, without reading the text. The displayed text is neither deleted nor modified. After the operation is concluded successfully, the displayed document will have the same formatting as the selected document. If the selected document contained any printer settings, these become the current settings of the program. Section 6.3.10 explains how to save the printer parameters with a document. This function can be very useful if different document formats or sizes of paper sheets, labels or envelopes are used. Once the appropriate formatting and printer parameters are defined, it is sufficient to save them with a document to recall and use them at any subsequent time for any other text. The file requester works exactly as described in section 2.4. Different messages inform the user if the file does not contain formatting data, or if the data has been successfully found. This function can be selected by pressing while the key is held down. 2.6 Save Document This command is used to save the displayed document. The usage and the selection of the storage unit, path and file name are described in section 2.4. Texts saved in the devices labelled "RAM" and "RAD" are lost after the computer is switched off. The Amiga operating system may perform another disk write operation some seconds after a file is stored. For this reason, the disk should not be ejected from the drive (nor should the computer be switched off) for some seconds after the disk drive activity indicator light has gone off. If there is not enough memory to display the file requester, Personal Write automatically tries to save the current document with a default name having the format "TextAutoStore" plus a serial number suffix. The text is saved in drive 0, if the unit "DF0" exists, or in another drive if necessary. The numerical file name suffix is calculated in a way that no other file is overwritten. Before the text is saved by the automatic low memory save procedure, a requester containing the suggested default file name and path is displayed. The text is saved only if the PROCEED gadget of this requester is selected. The file requester contains some new elements in addition to the requester described in section 2.4. The percentage of occupied storage space on the selected unit is displayed on the top right. The figure is usually 0% for a newly formatted disk, while a value of 100% indicates that the disk is full. It is often useful to associate a date (e.g. the mailing date) with each document. A simple method can be used to avoid the same file name being used twice by mistake, and at the same time have an immediate reading of the date. The file name can be prefixed by an 8-digit number, indicating respectively: year, month and day. The title of a document may be "19910313title". On the right there are 7 gadgets to select the document format. The gadgets respectively are: COMPRESSED, IFF-FTXT, ANSI X3.64, ASCII, ENCRYPTED, PRINT ANSI and PRINT ASCII. Their meaning is described in detail in the subsections below. A pair of YES/NO gadgets, on the bottom right of the file requester, let the user decide if a graphic Workbench icon is to be saved together with the document. As described in section 1.11.7, an icon is a particular kind of gadget used by the Workbench program (not to be confused with the Workbench disk), which allows the user to select, load, rename and copy programs, data or entire disks using the mouse. The disadvantage of icons is that they contain graphical data, which requires some - though not a lot of - memory (about 1 Kbyte). If the disk space is to be highly optimized, storing all documents in compressed format, or icons are not normally used, Personal Write can be set to save documents without icons. Section 6.3.11 explains how to set Personal Write in order to maintain or replace existing icons. Nothing is saved if the CANCEL gadget is selected. If PROCEED is selected, or is pressed in the file name string gadget, Personal Write saves the document in the selected format. If a document with the same name already exists (e.g. an previous version of the same text), it is renamed as "CloantoPreviousText" and moved into the "t" drawer. In this way, there is always a backup copy of the document which has been overwritten by a new version. The "Undo/Disk" command (section 7.1.2) can be used to undo the last save operation. Section 6.3.7 explains how the automatic backup procedure can be disabled. The user can write a short comment (up to 80 characters) which can be associated with a file. If a comment is written or modified, it will be stored by Personal Write when the document is saved. Section 6.6 explains how to set the use of comments. Files have an associated set of attribute flags set by AmigaDOS. These flags are used to determine the file protection status and for other purposes. Before Personal Write overwrites a file, it reads the existing file status flags, clears the "Archive" flag bit and applies the flags to the new file. Errors are first signalled by messages of the Amiga operating system, and then by Personal Write. The most frequent sources of errors are: disk is write protected (unlike 5.25" disks, 3.5" disks are write protected if one can see through the write-protect hole), disk is full, disk is damaged or not formatted (sections 1.5.3 and 1.8). If, while a text is being saved, the Amiga operating system displays a message indicating that a disk is damaged, the first thing to do is to eject the disk and set the write protect tab. Valuable data can be lost by trying to write to the disk after such an error message. After the disk has been reinserted, all the system messages should be cancelled with the mouse (unless a "Software Error" message appears, in which case GrabText must be used). Personal Write will display its own error message. The document which could not be stored because of the error should be saved to another disk. All other texts which are displayed or stored in RAM should be saved as well, so they can be recovered if their copy on the damaged disk has been corrupted. Next, a copy of the damaged disk should be made (section 1.8). If the standard system copy program does not work, because of the errors present on the disk, other copiers should be used. A disk recovery program like "DiskDoctor" or "DiskSalv" will probably be able to restore most files, with the likely exception of the one which was being written to when the error occurred. It is possible that different disk recovery programs will produce different results. The disk on which the error occurred should not be used again, unless the cause of the error is known not to be hardware dependent. An error may occur again on the same disk, especially if a single sided or poor quality disk is used, or if the disk is dirty, or the magnetic surface is scratched. Scratches are usually visible when light is reflected from the disk surface. The surface itself should not be touched or contaminated. A horizontal green line is displayed under the window title bar if the text has been succesfully stored. If the green line is present in a window, the displayed text has already been stored. Checking the lines, the user can immediately see which documents are still to be saved. When a text is modified (and not saved), the green line disappears. A red line is displayed to highlight an unsaved document when Personal Write displays a warning message to say that the text could be lost. If the document which was succesfully saved replaced a previous text with the same file name, a "replaced" message appears on the title bar. If the document is saved for the first time, "stored" is displayed. In the first case, the "Undo/Disk" command (section 7.1.2) can be used to recover the text previously stored with the same name (if the backup option was not disabled, as described in section 6.3.7). This function can be selected by pressing while the key is held down. 2.6.1 Compressed Format Texts in this format are compressed before they are written to disk. The powerful compression algorithm developed by Cloanto can, for example, halve the disk space occupied by a two-page document, compared with the space occupied by the same document stored in a different format. In some particular conditions (e.g. very long documents, software source code or texts with a lot of repetitions) the final document storage space can be reduced to a third, and even a fourth of the original size. For very short documents, the compression will be less efficient. During compression Personal Write temporarily needs more RAM to store the internal compression data structures. The memory is freed as soon as compression terminates. The longer the document, the more memory is needed. In some cases, the memory may be sufficient for a good compression, but not enough for optimum performance. This is signalled by a message. The document formatting data is also stored in the file which contains the compressed text. Header, margins, page numbering, TAB positions and other document style data is saved. 2.6.2 IFF-FTXT Format This is the first officially defined standard Amiga text format. IFF-FTXT means "Interchange File Format - Formatted TeXT". A document stored in this format can be read by every other program which uses the same format. As in the previously described compressed format, both text and formatting information are saved. 2.6.3 ANSI X3.64 Format In this format, the text is saved with embedded control sequences, introduced by ESC (decimal ASCII code 27). The SGR group of control codes is used. The format adheres to the ANSII American National Standards Committee 3.64-1979 rules. The character set specified in the requester described in section 6.2 will be used. The SGR sequences which are used will be interpreted by most Amiga text editors and printer drivers. Documents stored in this format do not contain any document or paragraph formatting information, nor TAB positions. The only style information which is stored regards labels and other character style information (e.g. italic, bold and underlined). Section 6.3.9 explains how the ANSI codes normally used by this function can be replaced with codes which are recognized by the Professional Page desktop publishing program. 2.6.4 ASCII Format ASCII (pronounced "askee") means "American Standard Code for Information Interchange". Only plain text is stored in this format. No document formatting or style data is saved. Personal Write can optimize the use of TAB codes in the output file, as requested by the user (section 6.3.3). Blank spaces before paragraph signs will also be removed. The same is done if the text is saved in the ANSI format. One of the more than 25 character sets (variations of the standard ASCII set) described in section 6.2 can be used. This format allows the user to save a text and be sure that it will be read by most programs on any computer. 2.6.5 Encrypted Format Texts saved in this format are encrypted, i.e. they are modified using the key given by the user. If the text is not loaded using the same encryption key, it will be unreadable. The encryption key can be defined using the requester described in section 6.1. The requester automatically pops up when an encrypted text is loaded and no encryption key is set, or if the key was set and cancelled. Otherwise, the previously used encryption key is considered valid. It is important to note that the encryption key is not a simple access code, but is used to deeply modify the text. It will be impossible to read the text with another program or disk editor, unless the correct key is used. The proprietary Cloanto two-phase encryption algorithm is a guarantee for maximum data security. Cloanto will not publish other information on the encryption algorithm. Even for Cloanto it is impossible to read a text without the correct key. It is theoretically possible for an unauthorized person to load an encrypted text by "guessing" the right key, or trying all most likely keys until the right one is found. It is also likely that powerful computers will be used to try all possible keys (character combinations). This can take hundreds of years, but also much less. Some care should be taken in advance to avoid such a risk. The key must never be written down. The key should be long (at least 8 characters). Letters, numbers and other characters should be mixed in the key. Names and dates are often too obvious for an encryption key. Texts stored in this format occupy about the same space as the compressed format. As in this latter format, formatting data is also stored. 2.6.6 Print ANSI Format To save a text in this format, Personal Write redirects the print-to-paper functions to the specified file. The text is formatted by Personal Write as if fixed width characters were printed with the automatic printer justification being unused (the program justifies). All printer options regarding the number of copies, the pages to be printed, empty lines at the beginning of each sheet, and Form Feed code, are used. Each paragraph is justified, centered or aligned as requested with an appropriate distribution of space characters. Control sequences other than those used in the ANSI format, described in section 2.6.3, are not used. The user-defined character sets, illustrated in section 6.2, are not used. To use one of these character sets, the text must be loaded again and saved in normal ANSI or ASCII formats (not print ANSI/ASCII). When a text is sent to a file, the overstrike function, which normally works on a printer, is not activated. This function is used by Personal Write to print the first line of a document if it contains both the header and the page numbering on different positions (with different formatting). In this case, the header and the numbering will appear on two different lines of the file, while on paper they would be on the same line. The print-to-file option is very useful in preparing formatted documents which are to be sent to electronic bulletin boards, or files containing manuals and instructions which are read on-screen (also see section 6.3.5). The result of this operation is more similar to a print operation than to a normal save. The text is stored with a different formatting than that of the ANSI save format. For this reason, the text should also be saved in one of the other five formats already described, so that it can be loaded and edited more easily at any time. During a print-to-file operation labels are replaced with data read from a file, and/or input manually (sections 2.9 and 6.4). A print-to-file operation can be executed to create a variant of an existing archive, for example: removing fields of data, adding constant fields or changing the order in which the fields appear in each record. The contents of the resulting files can then be sorted with the "Sort Block" function (section 3.1.6). More aspects of the print operations are illustrated in chapter 4 and section 5.3. Section 6.3.1 contains a detailed example on the use of this format. 2.6.7 Print ASCII Format The file generated by this function is identical to that of the Print ANSI format (section 2.6.6), but it does not contain any control sequence. The only printer control code which is used, if requested, is the Form Feed character. 2.7 Save Same The file requester described in section 2.6 is not needed to save a document with this option. The displayed text is saved with the same title with which it was last read or saved. If no name has yet been given to the document, Personal Write displays the standard file requester, activating the automatic low memory save procedure if necessary. Otherwise, the document is saved immediately. This function can also be used to save a document under extremely low memory conditions. If the file requester cannot be displayed because there is not enough memory, and the Workbench screen is closed (GrabText cannot be used), this function will still save the text, if a document name has been previously specified. If the user expects most of RAM to be occupied, a new document should first be saved when it is very short, and there is enough memory to display the file requester. All subsequent saves can be done with this command. Otherwise, the automatic low memory save procedure may assign a default document title. 2.8 Destroy Document This function completely deletes the selected file. The same file requester described in section 2.4 is used. If the CANCEL gadget of the file requester is selected, the operation is aborted. If PROCEED is selected, a second requester appears with a warning message which also contains the name of the file which will be deleted. PROCEED must be selected again to confirm the operation. Unlike what happens after the AmigaDOS "Delete" command, or other programs, are used, there is no way a file deleted using this command of Personal Write can be recovered. No "DiskDoctor"-like program, nor a disk-editor will be able to read even a part of the deleted file, as Personal Write overwrites every single byte of it. To delete the previous version of the document which was last saved, the "CloantoPreviousText" file in the "t" drawer of the unit containing the document must be deleted as well. Personal Write gives a series of commands to overwrite and delete the existing file to the operating system, which in turn activates the filing system for the device containing the data. The filing system may not overwrite the file, or not delete it, even if the file appears to be deleted from the directory list. This may be the case, for example, when WORM (Write Once, Read Many) memories are used. 2.9 Mail Merge The file which contains the data to be used for the mail merge (section 6.4) can be selected with this function. The selected data is then merged with the text when a document is printed (chapter 4) or sent to a file (sections 2.6.6 and 2.6.7). The file is selected as described in section 2.4. The automatic translation of alphanumeric labels (section 6.4) is automatically enabled when a file is selected, if it was not already set. A message is displayed to inform the user that the mail merge parameters have been changed automatically. The automatic translation option is disabled by Personal Write if the selected file cannot be opened. 2.10 Printer Control File This function can be used to select a file containing control sequences to be sent to the printer before each document, page or block print operation. The data contained in the file must already be in a format accepted by the printer. Amiga control sequences will not be interpreted. Personal Write does not verify nor convert the content of the file. If CANCEL is selected, no file will be sent to the printer. If PROCEED is selected, the content of the specified file will be sent to the printer before the next print operation. This function can only be used to select a file which is to be sent to the printer just before a text is printed. The selected file is not printed immediately after PROCEED is pressed, but only when a text print command is executed. The "Print File" (section 4.3.5) command can be used to send a file to the printer immediately. 2.11 Load Picture This command is used to load and display the first image contained in the selected file. The file requester used to select the file is the same described in section 2.4. Different IFF graphic formats are read. Pictures are displayed in a window which is opened in the main screen of Personal Write, in up to 8 colours. The graphic resolution of the screen is not adapted to the graphic mode used to create the original picture. During the development of Personal Write, the maximum print quality and speed has always been preferred to any kind of graphic-mode print. This function was implemented to let the user load, shift, recolour and print pictures (in graphic mode) without having to use a dedicated program. This command is particularly useful for printing personalized letterheads, or alternate text and graphics using the page/block/picture print commands. Colour 0 (the first of the colour table) of the picture is used as a background colour. If the picture is smaller than the window opened by Personal Write, the area surrounding the picture is filled (and printed) with the background colour. The picture displayed with Personal Write can be shifted to the left or right, moving the mouse while the left mouse button is pressed, the mouse pointer initially being over the image. The graphic window can be moved up or down by pressing the left mouse button when the pointer is over the window title bar, and moving the mouse. The right mouse button can be used to cancel the dragging of the window. The gadget on the top left of the window is used to close the window, freeing the memory occupied by the graphic data. One or two (depending on the operating system version) gadgets on the top right are used to move the window to the back or front of other windows. The graphic window and a text window cannot be active at the same time. The colours used for the screen of Personal Write are those of the active window. To make a window the active one it is sufficient to press the left mouse button when the pointer is over the window. The menus of Personal Write only work when a text window is active. A window can be "active" or "not active". This does not indicate whether it is or not visible. The two expressions are part of the Amiga terminology and are used to indicate the window currently being used. Sections 4.3.6 and 5.6 respectively describe how a picture can be printed or recoloured. 2.12 Quit This command is used to terminate the work with Personal Write. Different warning messages can appear to inform the user that one or more documents have not yet been saved, or that a printing operation is still in progress. The PROCEED and CANCEL gadgets of the requesters containing these messages can be used to confirm or cancel the command. It is good practice to always exit from all programs before switching off or resetting (with the + + keys) the computer. If, for any reason, this menu item cannot be selected, there is an alternative method of exiting from Personal Write. The execution of all active Personal Write programs can be terminated by pressing the ++ keys. No warning messages are displayed.