Author: Dale L. Fenimore 21 September 1991 Disclaimer: These Wordperfect 5.1 macros are released in an AS IS condition. There is no warranty that they will work for you or be what you want or need. Use them at your risk. I wrote these macros to make things easy for myself; if they do the same for you then fine - I accept no responsibility for any document on which you used any of these macros and for which you may claim damage as a result of said use. Disclaimer #2: No Government time, equipment, or resources were involved in the development of this macro suite. The Government has, however, benefited from their use. Updates. These macros are periodically updated as I add, improve, or enhance them. Improvements are always in the works. To date several of these macros have been completely replaced or substantially improved/modified over their original state. Recommended Machine. The faster the machine these are run on the better the performance. I have run these macros on an 8MHz AT and, though slow, they worked quite well. I recommend nothing less than 12MHz though. These are probably too complex to use on a PC, but gek, if you don't know any better (aren't addicted to speed like some of us) these macros should prove adequate as well. What's Provided. 1. The following macros are provided. Some are found within a WordPerfect keyboard definition file (WPK). Included below is a brief description of each macro. Notes: a) ENVPUB.WPM needs the file called ENVELOPE.REF in your WP51 directory before it will run correctly (also, these files are separate and not in the keyboard definition file). You'll also need to modify ENVELOPE.REF for your particular printer. b) ALTH, the Help macro is too large for proper inclusion in the WPK. 2. PUBLIC.WPK, a keyboard definition file, has the smaller macros in it. Those macros detecting the use of Long Document names (ALTX, ALTF, and ALTD) require WP51 interim release 12-30-90 or later unless short document names are specifically utilized. Use the ALTL macro to set WP51 to use short (DOS) filenames if you aren't sure of what you are using. If you are using a pre- Dec 90 release of WP51 and do not set long document names off the macros mentioned may not work as intended. 3. The following macros are provided: MNEMONIC BASIS MACRO DESCRIPTION FOR THE MACRO ALTA Macro to place text anywhere on a page (ADVANCE) ALTB Block document segments for special action (BLOCK) ALTC Drop Caps (CAPITAL) ALTD Provides Menu Access to drives & dirs (DIR) ALTF Save/Get file w/o prompts w/current name (FILE) ALTH Help information on these macros (HELP) ALTL Long/Short Doc Name Save/List (LIST) ALTN Choose predefined Special Characters (NEW Characters) ALTP Print menu (PRINT) ALTR Retrieves text from the Move Block (RETRIEVE) ALTV Preview Document (VIEW) ALTX Exit WP51 w & w/o Save. Needs ALTF.WPM (EXIT) CTRL A Save File as ASCII (ASCII) CTRL D Format Date for Inclusion in document (DATE) CTRL O Character over Character (OVER) CRTL S Superscript over Subscript (SUB/SUPERSCRIPT) CTRL Dark Right/Left Places cursor at end of current/word-on-left, respectively ALT Dark Right/Left Places cursor at next/previous column or table cell, respectively Shift Dark Right/Left Places cursor at next/previous sentence, respectively ALT- Used for paragraph numering/renumbering -------- ALT[ Transpose character right -------- ALT] Transpose character left -------- CTRL Del Deletes word or block of text -------- CTRL PgDn Retrieve a Named Memory Variable -------- ENVPUB Create Addresses for envelopes, Printing reqr's ALTP ENVELOPE.REF Sample Reference file for ENV.WPM LTRHD Create headings for Military letterhead (Easily modified for other types of letterhead) (CTRL L) MEMO Create a heading for a Memo letter (CTRL M) NOTES: 1. Macros provided in the WPK, but not mentioned here are considered temporary. 2. These macros are powerful augmentations to WordPerfect's native abilities. However, on slow machines, these macros may be somewhat slow, whereas on faster machines they just whiz by. Recommended machines are those with clock speeds of 12 MHz or faster. Macro Descriptions: ALT A Essentially the same as the Shf F8, (O)ther, (A)dvance menu selection. However, this macro requires far fewer keystrokes to access. Additionally, being menu driven makes it easier to use. ALT B This is an extremely feature filled, highly useful macro. a. Combines the features of MOVE (CTRL F4) with a few other enhancements. Allows the user to block the following types of text: character(s), word(s), sentence, paragraph, page or a specified block. It then allows the addition of various enhancements (font size or attribute), super/subscripts, quotes, delete the block (a sort of enhancement...), upper/lowercase, or to keep it blocked. b. Text in the move buffer may also be retrieved. Duplicates and improves upon WordPerfect's block retrieve feature (CTRL F4 4 1, also known as CTRL F4 RB) c. You can also move, copy or delete the defined block of text. Note: Text deleted with this macro is placed in the Move block temporary storage area and not in the delete holding area. Retrieve it using ALTR or the retrieve block option in menu 1. d. Lowercasing a sentence will capitalize the first letter of it's first word. e. Lowercasing a PARAGRAPH will recapitalize the first letter of every sentence's first word within the paragraph f. If you've already blocked some text when you run this macro it will automatically go to the Menu 2. This menu provides for operation upon blocks of text g. Two true quotes is placed in the document by hitting ALT-B O Q (access the BLOCKing macro, þOþ for Options menu and þQþ for Quotes). If the character at the cursor is a space the two quote characters are entered and the cursor placed between them otherwise, the character at the cursor is quoted. However, if there is a blocked region, that region is quoted. h. Menu 3. Essentially the same as hitting Ctrl F8 (A)ppearance or (S)ize and then the appropriate menu item. What this macro does is put these options in the same menu. This macro is sensitive to active blocks. If a menu choice is made without text being blocked, the character on which the cursor rests will take on the attribute chosen from the menu. However, if a block is active, all text within that block takes on the attribute of the chosen menu item. NOTE: Normally part the (S)ize option of CTRL F8 menu, Super/Subscripts are not within this section of the macro. Sub/Superscripts exits at the previous level of this macro i. If Menu 2 is chosen from Menu 1 (with no active block), the chosen option acts as if a single character was chosen; exception: Move and Copy which will not work without an active block of text chosen. j. You may uppercase the first character of a word or the first word of each sentence without lowercasing the sentence or paragraph first. k. Spell check a defined block or the current word. þLimitationþ: 1) Character blocks only recognize the following as valid characters: 0-9, a-z and A-Z Use the Wordperfect BLOCK feature (ALT F4, or, on extended keyboards F12) for other characters. 2) When moving or copying text to the end of a document ensure that at least two spaces exist at the location to which you are moving/copying the text. If you don't, the moved/copied text won't appear automatically. The problem lies with WordPerfect somehow and I haven't figured a way around it yet. If the text doesn't appear as expected hit the retrieve macro (ALT-R) to obtain it. 3) Block copies and moves may not work as expected when those copies/moves cover more than one column (block or block protect columns) or more than one table cell. ALTC Adds a Drop Cap to your paragraph. Allows you to specify the desired character or, if a character is blocked will convert that character to a Drop Cap. You may also specify a new size for the base font. Requires scalable font capabilty. ALTD An extension to the LIST (F5) key in that this macro is customizable to include the subdirs or drives used often. This means they are only one or two keystrokes away rather than many. NOTE: This should be renamed ALTD.WPM. Also, you may want to customize it to adjust for your particular subdirectory structure. (ALT D). NOTES: 1. The files directory is assumed to be called WPDOC in this macro and is hard coded. You may change it though. The document directory is specified by a variable called þDOCHOMEþ. This variable is located at the beginning of the macro for easy modification, if necessary. 2. This macro is designed for use with SHORT file names. While it is possible to write the macro to detect for both short and long filenames in the same macro you either need to provide another menu choice for long named directories, or upgrade to the Jun 90 or better interim release of WordPerfect which will support testing for long or short filenames. I may include a version with that capability (autodetection of long/short filenames) in the future. ALT F Saves a file or, if the current document is BLANK, retrieves the last edited file (relies on information supplied by ALTX to do this) Save File. If the file has a name it is displayed in a window with its pathname during the save process. If the file has no name you are prompted to supply one. If you don't supply a name the save process aborts. Detects files without names and provides the option to provide a filename during a filesave. Retrieve File. If the file is blank when this macro is executed it retrieves the last edited file and places the cursor its original position when the file was exited. LIMITATIONS: 1) If the document has pages which were renumbered then it is possible that the cursor will not return to the exact same spot as when WP51 was exited (and the file with it). You will however, be taken to an þequivalentþ spot of matching the page, line and position on the line. 2) If you are using columns the macro won't be able to find the correct location. ALT H Provides a brief description of all macros provided. Completely menu driven. ALT L Provides an easy method of switching between Long and Short (DOS) Document names when Saving and/or listing files. All legal options are provided. Long names when saving: long names or short names in display listing Short names when saving: long names or short names in display listing. ALT N Chose from About 95 specially chosen characters in 15 different categories. Nominally organized. Chose by number. If your printer doesn't recognize the character chosen WP51 sends it as a graphic (if your printer is not a daisy wheel printer). LIMITATION: There are three symbols which use user defined character specifications (Character set 12). They are #'s 54, 59, and 61. They may or may not print. If they do print, there is no telling how they'll print if you aren't using ITC Zapf Dingbats (I'm currently using the Postscript cartridge for a LaserJet II). Redefine as necessary. NOTE: alphabetic characters entered with numbers will terminate the macro. ALT P Print a page, specified pages, the entire document, initialize the printer, or go to the WordPerfect print menu (SHF F7). During print operation the macro identifies whether a page or the document is being printed. This macro also reports the page number on which the cursor rests. Just prior to exiting, the macro reports that it is exiting. This is a helpful feature for slower machines which may take some time before being able to actually exit. ALT R Retrieves text in WPs þblock saveþ region. Same as MOVE (CTRL F4) R (4) B (1) Alt S 1. Super/Subscripting of character at cursor position or the character to left of cursor. Block sensitive macro. Will super/subscript a hi-lighted block. 2. Searches forward or backward from the current position for a character while blocking is active or inactive. If blocking is active it duplicates Wordperfect's similar function in the forward direction. However, unlike Wordperfect, this macro supports searching in the reverse direction while blocking is active. This means you can block backwards to a designated character. 3. Simple Spelling features: Spell Check a Word, the Page, or the Document. If there's no problem, the macro will exit to the document. If an error is sensed, the macro exits to the WordPerfect spell checker. ALT V The same as Shf F7, (V)iew ALT Xþ Exit from WP or the document. Sensitive to whether the current document has been modified. Calls ALTF for file save operations. Detects blank files and automatically exits from either WP or the document when called. If called, and printing is on-going. this macro provides the option of continuing with the exit or returning to the document to continue printing. Additionally, on an exit from WordPerfect this macro saves the information on the current file for later automatic retrieval. Information on the second document is not saved. This information is used by ALTF NOTE: This macro may report that the document was modified when it indeed was not, at least not directly. It was felt that tracking down this particular þquirkþ was not necessary, preferring to remain on the conservative side in detecting when a document had or had not been modified by the user. CTRL A Stores a file as ASCII text. Takes current filename, removes extension, and supplies a specific extension for the ASCII save -- as supplied that extension is "TXT". User may redefine extension by changing variable contents at beginning of macro. User may may store file with a different file name and/or path by supplying the appropriate information. The default ASCII file extension may also be overidden to force storage of file with a specific filename and extension. Existing files with same name are detected. Files without names when macro is executed are detected. Original filename is restored at the completion of an ASCII store. A file with same name when the ASCII extension is added is detected and taken care of during an ASCII save (ASCII saves will not be overwritten by a WP51 format document inadvertently) CTRL D Provides options to chose a date format for inserting into a document. These formats include Standard (mm dd, yy), Military (dd mm yy), and Contracting (yy mm dd). Additionally, the name of the month may be a three letter abbreviation or fully written out. The year may be the last two digits (e.g. 91) or the entire year (e.g. 1991). CTRL S Places a superscripted value over a supscripted value. Example: Eab. The macro places a space directly after the last value so the user can continue typing. Also, the macro is independent of font size and uses no position sensitive codes. Spacing adjustment is automatically calculated for proper placement of text. CAVEAT: If the size of text is changed AFTER this character set is created you may need to make proper adjustment for the superscripted value (or redo the equation). However, a variance of two points, larger or smaller, does not significantly alter the appearance of the printed result. If the typeface is changed (say from Times Roman to Century Schoolbook) chances are the equation WILL need to be redone. ALT - Provides for paragraph numbering. Executing this macro and hitting þAþ or þENTERþ will create an automatic paragraph numbering based upon the number of tabs/indents the cursor is from the left margin. Hitting a number between 1 and 8 will chose a specific level of paragraph numbering. The Option þNþ will reset the new paragraph number to 1. The þSþ, setup, option will send you to the paragraph numbering setup menu provided by WordPerfect. ALT [ Takes the character at the cursor and transposes it left by one position. Characters include formatting characters as well. See ALT ]. ALT ] Takes the character at the cursor and transposes it right by one position. Characters include formatting characters as well. If the character at the cursor is one which is not paired (as in {BOLD}{bold} it may be transposed. If the character is paired, the cursor is moved until a transposable character is found- it is then transposed. ALT DARK Right Arrow Right/Left Places cursor at next column or table cell ALT DARK Left Arrow Places cursor at previous column or table cell CTRL Dark Right Arrow Places cursor at the end of the word to the left of the current word. Moves past all formatting code until cursor reaches the actual text CRTL Dark Left Arrow Places cursor at the end of the current word. Moves through the word until it reaches the end of the word (or formatting code whichever comes first) Shift Dark Left Arrow Move cursor to the beginning of the next sentence Shift Dark Right Arrow Move cursor to the beginning of the previous sentence CTRL Del Delete a block of text or, if block isn't active, the current word CTRL PgDn Retrieve the contents of a memory variable. ENVPUB Creates the text to place on an envelope which is then placed on a page defined by ENVELOPE.REF. Menu options allow editing your info, viewing the document, exiting to the document, deleting the current page or adding another record. You may want to rename this to ENV. MEMO The macro will prompt for the type of Memorandum it is (i.e. Memo for...). It also prompts for the subject of the memo and from whom. The macro then places the Memo text on the first line flush left, the Date is placed flush right and then a graphic line is inserted under which is placed the subject and from. All tabs and margins are automatically setup. (CTRL M) LTRHD Prompts for REPLY TO ATTN OF, SUBJECT, and TO for placement on Military preprinted letterhead. Variables are created such that it is easy to change the placement of these inputs to compensate for actual placement of these prompts between different batches of letterhead. Note: this letterhead is usually ¬" narrower than normal 8.5"x11" paper. This means that if you measure a one inch left margin (about two spaces to the right of the semi-colon) you will actually need about a 1.17" left margin (for example). All document initialization's are placed at the top of the macro. Useful tool for non-military as well - modify as appropriate to your organizational letterhead (or your own). (CTRL L) RXMEM To use, the memory variable must exist (otherwise there's nothing to retrieve and you get an error message). To assign a memory variable from the keyboard, block the text desired (up to 127 characters) and hit Ctrl PageUp. At the variable prompt provide a name and hit enter. Or hit Ctrl PageUp. At the variable prompt, provide a name and hit enter. At the value prompt, enter the desired text. To retrieve hit Ctrl Pageup (or Ctrl F10, RXMEM enter) and provide the name assigned to the variable. The retrieved text is placed directly into your document. This macro is assigned to the PgDn key for extended keyboards. (Ctrl PgDn) Replaced Macros. These are macros which, as others matured, had their abilities taken over by another (i.e. were superseded). REMOVED . ALT S Search (forward/reverse), Spell, subscript/supersript. Everything but search transfered to the Blocking macro (ALTB). The search capability provided no value added over the native WP search capabilties. REPLACED by ALT B. This macro now has all of the functionality of these macros, including ease of use, such that they are now longer necessary as standalone macros: ALT C Upper or lower cases a character or, if the block is active, upper/lower case all text within the block ALT E Enhance Text: Size and Appearance ALT I Italicize a character or a block of characters ALT L Lowercase a character or a block of characters ALT Q True quotes of a block of text or if no active block, placement of the cursor between two true quotes ALT S The Spell Check option of this macro was revised, extended and improved by the inclusion into ALTB ALT S Subscript and Superscript capability transfered into ALTB. ALT U Uppercase a character or a block of characters ALT W 1. Blocks a word. This macro is punctuation sensitive. 2. Transposes a word forward or reverse of its present position Notes. þ If ALTX recognizes that a document was modified it calls the SAVE macro, ALTF, to save it. If these two files reside in a keyboard definition file and ALTX is executed, an error is generated: ALTF cannot be found. The problem is that WP51 cannot call (and therefore execute) a macro from within another macro which within exists only in an active/inactive keyboard definition. The only macros which a macro within a keyboard definition file (or even a standalone macro) can call are standalone macros. In other words, a macro within a keyboard definition file cannot call another macro within a keyboard definition file. þ HP Laser Jet Series II requires an Advance Up of 0.2c for each heading. The macros are currently setup for the Apple LaserWriter IINTX. Macros which depend on others: MACRO DEPENDENCIES Name Dependent Name Dependent Name Dependent ---------------------------------------------------------------- ALT F ALTX 1 ALT X ALTF ENVPUB ALTP ALT [ TR2 NOTES: 1. Relies on information supplied by ALTX when WP51 is exited to retrieve the last file edited when WP51 is reentered. There is no other other link. 2. DOS filename for ALT], the TRANSPOSE RIGHT macro. DOS won't accept the "]" character as part of a filename so ALT] can't be used. TR is the standalone version of the ALT] macro found in the WPK file. 3. Macros which call other macros CANNOT call a macro in the same or different keyboard definition file. This means, if such an event happens, and the called macro is not found in the macro directory (a .WPM file) it is reported as missing or non-existent. Improvement History (by macro): ALTA 9 Sep Redid screen arrangement for choosing options and providing data 9 Sep Added Screen boxes for easier access of available options 25 Sep Rewrote the menu to provide more information and to become more functional than that provided by Wordperfect's menu selection. 29 Sep Redid the menu again to make it easier to read and to use the screen than before. Requires July 90 update of WP51 or better. Utilizes an {OTHERWISE} statement which evaluates to error in earlier versions of WP51. If you have an earlier version of WP51, change the {OTHERWISE} to the {ELSE}. Then, to ensure the {ELSE}~ADV~~ is properly terminated place a {GO}ADV~ after the end of the {CASE} statement. Review WP manual for how to do this if you're not sure on the proper procedures. 1 Nov0 Rewrote the menu structure to a common interface 1 Dec0 Rewrote the macro for smaller program code. First program was basically an experiment (brute force technique) which basically didn't change a whole lot, essentially only the menuing evolved. This version is more compliant with the techniques used in the other macros. (Version 3.7). 18 Dec0 Reworked the menu code to take up less memory. (Version 3.7a) 29 May1 Added sensing of active blocking. Active blocks are turned off at the start of the macro (Version 3.7b) 12 Jul1 Modified menus. (Version 3.7d) ALTB 24 Oct0 Added extensions to current macros. This macro calls extensively on features within ALTW. It also uses ALTQ and ALTE to further its utility and not perform recoding. It duplicates some of the features of ALTW by allowing word blocking. All features upon which the blocking acts (character, word, sentence, paragraph, and page) bring up a secondary menu once blocking is completed. This menu allows access to additional features. Blocking of paragraphs will only block the text and not formatting features at the beginning (like automatic paragraph numbering) or the end (like page breaks or hard returns) (Ver 1.0) 28 Oct0 Added these capabilities: move, copy, block a number of words, and print the block. (Ver 1.2) 1 Nov0 Rewrote the menu structure to a common interface 1 Nov0 Removed reliance on ALTW macro (WORD) 2 Nov0 Improved code relating to moving text (character, word, sentence and paragraph). User does not have to be as careful about placing text as before. Each type of item is treated slightly different when it is retrieved to its new location so as to keep the integrity of the original information of the paragraph structure. Placement of words is sensitive to punctuation, or not, and acts accordingly. 2 Nov0 Added ability to block multiple characters as well as multiple words 2 Nov0 Move and Copy now apply to all blockable text segments 2 Nov0 Added capability to BLOCK text to a given character (typable directly from the keyboard). 2 Nov0 Only Paragraph and Page now respond with a print option in the following menu choices now. This was because it didn't seem to make any sense to print a character, word or sentence by itself. 9 Nov0 Added the capability to search for hard characters as well. For example: hard hyphen is Home -, hard space is home spacebar, hard tab is home tab (Version 1.5b) 9 Nov0 Added the capability to capitalize the first word of every sentence in a paragraph which has just been lowercased (which might originally have been all uppercase) (Version 1.6) 9 Nov0 Added capability to sense an active block. If text is blocked when executed it will automatically transfer control to the options portion of the macro (Version 1.6a) 9 Nov0 Added code for quotes from ALTQ, effectively removing ALTQs need as a standalone macro (Version 1.6b) 9 Nov0 Added code from ALTE for text enhancements effectively removing the need for ALTE as a standalone macro (ver 1.6c) 10 Nov0 Added Options choice to menu 1. This goes to the Options menu (menu 2). All options here now have the capability to detect an active block. If no active block is detected the macro will act as if CHARACTER was specified. Quotes. Move and Copy will not work since nothing was specified to act upon (ver 1.6d) 10 Nov0 Added option to go to previous menu levels from menu 2 to 1 and from menu 3 to menu 1 or menu2. If going back to menu 1 from menu levels 2 or 3 any active block is inactivated. (Version 1.6e) 11 Nov0 Fixed a problem with copies and moves of blocks which reported nothing to move/copy when indeed there was. This problem was generated by improper detection of a block. Was using {IF}{STATE}!&128~ (lack of an active block). Rewrote routine to report true for active block rather than true for no active block. (Version 1.6f) 11 Nov0 Fixed a problem with move of a page. It would report nothing to move but then would wait for the press of the enter key to complete the move task. (Version 1.6g) 12 Nov0 Fixed a minor bug involving the main menu (a choice not in the options would clear the menu but leave it active). (Version 1.6h) 12 Nov0 Fixed a minor menu problem with the enhancement menu (menu 3): Outline font was left off the menu during one of the revisions but kept as an option. The Outline option was put back into the menu. (Version 1.6i) 12 Nov0 Fixed a problem with superscripts and deletes. Problem was identified on 11 Novother activities using {STATE}!&128 (which apparently DOES NOT show a NOT AND operation to WordPerfect), but which wasn't fixed for this options. (Version 1.6j) 12 Nov0 Provided the ability to look for the next hard return in the BLOCK to choice. The enter key was previously used to exit to the Options menu (menu 2). Now, to complete your choice of blocking to the desired character, use the EXIT key (F7 unless you've redefined it). (Version 1.6k) 12 Nov0 When using the BLOCK to option, the macro had a tendency to exit when a character requested was not found. This has been fixed to allow a different search character. (Version 1.6l) 18 Nov0 During a Move, Reveal Codes would come on even if it wasn't active when the macro was executed. This was fixed. Also, during a page move the message that indicated nothing was available for moving would flash even though it would then indicate it was ready for you to move the cursor to the place where the text was to be moved to. (Version 1.6m) 18 Nov0 During a move, for some reason ~prnt~~ would appear in the text. This problem was corrected (Version 1.6n) 18 Nov0 When a block of text was Moved, and the beginning of the block, or the end of it, contained a text enhancement (size or attribute) code(s), that code was left behind after a move. Now the extraneous code is removed during a move operation. (Version 1.6m) 18 Nov0 Added the ability to uppercase the first word of a sentence being lowercased. In the process I tweaked the code which defines the end of a sentence. No spaces are now at the end of the word now when blocked. (Version 1.6o) 18 Nov0 Added a status prompt at the bottom of the screen for during block moves and copies. (Version 1.6p) 18 Nov0 After a paragraph has been lowercased, and the first word of all of its sentences have all been uppercased the cursor is placed at the end of the paragraph. (Version 1.6q) 27 Nov0 Fixed a bug in the handling of Lowercasing of a block/character of text. A misplaced ENDIF statement allowed code to run when it wasn't s'posed to. (Version 1.6r) 2 Dec0 Added the option to quote a character at the cursor if no block (character or otherwise) is chosen. This change makes this portion of the macro compliant with the operations of other portions of the macro (i.e., if no blocked region is specified when an option is chosen the character at the cursor is acted upon). (Version 1.6s) 6 Dec0 Fixed a bug which acted sorta intermittently whereby during a block copy or move the characters ~prnt~~ would appear after the enter key was pressed. This also left the message to hit enter on the screen. If enter was pressed again the copied/moved text would appear. The problem was narrowed down to occuring only at the absolute end of a document. Unable to completely fix the problem without more information from Wordperfect. The only solution now is to hit the ALT-R (retrieve) macro to obtain the text being moved/copied (if the move doesn't occur as expected. (Version 1.6t) 8 Dec0 If a word or character is blocked and then quoted, the cursor is now moved past the end quote mark instead of being left at the quote as before. Revised the code for quoting for easier reading and better efficiency (Version 1.6u) 8 Dec0 Added checking for tabs, hard/soft page codes, indents and hard/soft return codes for more proper placement of quotes. These effectively prevents these codes from being quoted and places the quotes in only TEXT areas (as they should be). (Version 1.6v) 8 Dec0 An end of paragraph is assumed to end with a hard return. However, when a hard return is not found it implies that the end of the þparagraphþ is at the end of the page and is treated as such. (Version 1.6w) 18 Dec0 Tweaked some coding related to the screen menu's to decrease the program size some. (Version 1.6x) 20 Dec0 When moving or deleting text all spaces, except the one which may have existed to the immediate left of the text, are deleted. In effect, when the text is moved or deleted, it's as if it was never there. Other punctuation left behind is not affected. (Version 1.6y) 20 Dec0 Fixed a bug which would block all except the last two characters of a sentence if punctuation started the next sentence (like a parenthesis). (Version 1.6z) 24 Dec0 Found a method to determine if cursor is at the very end of a document so that if a block of text was moved or copied it would definitely drop before macro execution completed. Previously, if at the bottom of a document the block of text might, or might not drop. The method used now takes a picture of the current cursor location and stores it to a variable. A test is then performed on the variable to determine its status. If a picture of the current cursor location is performed directly the test fails (for some reason). {KTON}{SYSTEM}right~~ is being utilized to obtain the necessary information. Also, the test is made to determine if it is less than ASCII 01 since testing for ASCII 00 directly isn't possible (as far as I can tell). (Version 1.6aa) 24 Dec0 Removed some þredundantþ coding. Placed testing in the print routine to ensure only defined blocking regions become printable. (Version 1.6ab) 26 Dec0 Performs a turnoff of any status prompt immediately upon macro exection. Discovered a way to exit a copy/move operation without going through a normal exit. This left a status prompt at the bottom of the screen (Version 1.6ac) 5 Jan1 Added an option to uppercase the first character of a word, the first word of a block or the first word of every sentence of the blocked paragraph. If blocking is not activated for word, sentence, Paragraph or page, the character at the cursor is uppercased. At the completion of activity the cursor is left at end of the defined block, if one was so defined. (Version 1.7) 5 Jan1 After uppercasing the first character of a page the cursor was not at the start of the next page where is was supposed to be...fixed that. (Version 1.7a) 5 Jan1 Blocking a para is accomplished by WordPerfect paragraph block then turning off block, going to beginning of what was the blocked area, turning block back on and then searching for the hard return. Now, in an effort to speed up that search I moved left one word before searching for the hard return. (Version 1.7b) 5 Jan1 Optimized the coding to decrease program size and to speedup execution a little. It involved combining separate IF ENDIF routines with OR (|) or AND (&) coding. (Version 1.7c) 5 Jan1 During normal macro blocking options all blocking is done from left to right. However, there is no control over how a user blocks text before running the macro. To capitalize the first character of the blocked region I had to check how the user did the blocking. If the user blocked text from right to left it is corrected to blocking from left to right. (Version 1.7d) 9 Jan1 Added capability to spell check the current word or defined block. At the conclusion of the spell check document editing mode is re-entered without further action required. (Version 1.8) 9 Jan1 Improved the first letter capitalization coding. Sometimes a words' first letter wasn't capitalized as requested. Also, the cursor would not move to the end of the blocked region after capitalization of the first character. This was fixed. (Version 1.8a) 10 Jan1 Added checking for empty blocks. When blocking is turned on but nothing is blocked menu 1 is entered. (Version 1.8b) 10 Jan1 Added DOC blocking to menu 1. Includs ability to print the document blocked region as well. (Version 1.8c) 10 Jan1 Blocking a number of characters or words was enhanced. Therew was a problem in that when the menu's were displayed there was no way of telling where the cursor rested. A marker in the form of a temporary block of the cursor location is now created. This allows the user to count the number of words or characters from the cursor location for blocking. (Version 1.8d) 22 Jan1 Added ability to print user blocked regions of text. (Version 1.8e) 22 Jan1 Added ability to detect cross-reference marks during print. Without this ability, and if the text possesses a cross-reference, WP51 will normally pause until the user anwsers WP51s message that the þDocument may need to be Generated, Print? No, (Yes)þ. (Version 1.8f) 23 Jan1 Improved word blocking, slightly. If a word was at the end of a sentence and was followed by two hard returns the word following the current word (from which you executed the macro) would get blocked. Now, the current word is block as intended. (Version 1.8g) 24 Jan1 If, when this macro is run, typeover is active it is turned off for the duration of the macro's activities and turned back on after the macro is finished. (Version 1.8h) 24 Jan1 Deleting a word at the end of a sentence should now move the punctuation at the end of the sentence to the end of the, now, last word. Also, if a word with one or more enhancements (such as bold and italic) is moved or deleted the codes are removed as well to keep from cluttering the document with enhancement codes which do not surround textual elements. A previous þimprovementþ removed this ability, unfortunately, and was not readdressed until now. (Version 1.8i) 24 Jan1 Word blocking was completely rewritten to remove some difficulties with words at the end of a paragraph which were then followed by a code such as a tab mark. Although slower, it is potentially more accurate and flexible. Now, each character in the word is tested for validity before moving to the next character. An þinvalidþ character signals a boundary of the word. One tradeoff was macro size: it's grown considerably. (Version 1.8i.1) 24 Jan1 Modifications were made to word blocking to allow such things as contractions and the possessive case. (Version 1.8i.2) 3 Feb1 Added status block removal to the exit part of the macro. A slight oversight has been corrected. (Version 1.8i.3) 17 May1 During a block move or copy operation reveal codes is turned back on if it was on when the macro was executed to allow proper placement of the block. This is useful when placing a block with respect to certain codes formatting code(s). (Ver 1.8j) 18 May1 Redid the spell check routine slightly. Added Dark +/- key to blocking. For instance, if you are blocking (option in menu 1) the dark + or dark - keys will move the cursor 12 lines down or up, respectively. Also added sensing for page up and page down. Reverified variables used (no ambiquity when longer than 7 characters) and also made them more readable (use of upper and lowercase letters). At the exit point all named vars are now nulled. (Version 1.8k) 22 May1 Tests the punctuation at the site of the cursor to determine if that character should move to bump up against the previous word upon deletion of the blocked region. For instance, if the last word of the previous sentence (region) were deleted the period would be sensed and would be moved up against the word þblocked.þ (Version 1.8m) 25 May1 It is now possible to use the mouse to position the cursor during block copies or moves. (Version 1.8n) 28 May1 Modified menu structure so that menu's 2 and 3 are shown simultaneously. The active menu is indicated. Switching between menus (1, 2 or 3) is as easy as choosing a menu number. (Ver 1.9) 28 May1 Fixed a problem with reveal codes not coming on during a copy (though it would come on during a move) if reveal codes was on when the macro was executed. I moved the IF statement section which performs thsis action up before any other test. (Version 1.9a) 29 May1 With the recent changes an additional 2Kb was added to the macro size. Code tweaking reduced size of the code over 2Kb! Additionally, when answering NO to block printing, or when an illegal attempt was made to print a block (legal blocks are paragraph, page and document) the macro would exit and unblock the blocked region. Now, return is made to the options menu with the blocked region still active. (Version 1.9b) 3 Jun1 Did some minor tweaking to reduce program size (add'l 226 bytes) (Version 1.9c) 6 Jun1 Fixed a minor problem with lowercase also making the next character after the lowercased block a LARGE character (Ver 1.9d) 6 Jun1 Added the ability to print any blocked region. However, printing is still not permitted for regions blocked specifically as a character, word, or sentence. (version 1.10) 10 Jun1 Improved the detection of the beginning and/or ending of a blocked region (Version 1.11a) 12 Jun1 Fixed a "bug" in which if a word is deleted and the character at its end isn't recognized (for instance the " mark) the WP message "Move Cursor; press ENTER to retrieve." would appear at the bottom of the screen. (Version 1.11b) 16 Jun1 Rewrote these options available from menu 1: Blocking, Word, Sentence, Multiple characters and words. All options should behave better within tables and columns because their operation is more tightly defined. Sensing of end of or the beginning of a document is now a more or less brute force technique (I couldn't find a decent direct method for testing these spots without terminating the macro in the process). This amounts to a major rewrite of those portions affected. (Version 2.00) 17 Jun1 Modified operations in Menu 2: Delete, Move and Uppercase 1st Letter. Also, the operation which drops a block of text grabbed by copy or move operations was modified. Operations were made less hostile to being performed within tables. (Version 2.01) 18 Jun1 Improved table compatibility for word and paragraph blocking. A lone word in a cell is treated essentially the same as a paragraph. Additionally, a lone line in a cell is treated similarly as a paragraph. Also, a paragraph ends in a hard return outside of a cell. Inside a cell, it is the same - if a hard return exists it defines a paragraph (if not, the definitions above take hold). If the macro is executed on a hard return the first paragraph to the LEFT is the paragraph which is blocked. (Version 2.01a) 19 Jun1 Fixed a minor problem of the blocking of a word at the end of a document. This fixed the macro's tendency to hang up when it got to the end of the document. This is the fix: End of Document is indicated by the ~. You can't test directly for it or the macro will fail. However, the þ~þ is indicated by {KTON}{SYSTEM}right~~ or {KTON}{SYSTEM}left~~ = {NTOK}64570~~. This will indicate both ending or beginning of the document. An additional method was found too. If the result of {KTON}{SYSTEM}right/left~~< ASCII 01 (alt 01, aka happy face) the end/beginning of the document is indicated. The problem with this test is that a þ>þ fails the test for some reason. (Version 2.01b) 21 Jun1 Added the capability to do multiple Enhancements on a blocked region of text. A new option, Multiple, was added to Menu 3. Menu's 2 and 3 are separate menu's again. Enhancements are added after MULTIPLE is selected. All options chosen are then displayed between the brackets. Backspace will remove the last item in the box. Multiple selections of the same option are disallowed. Only one option affecting font size is allowed. The letter "G" is for GO, "X" for cancel (exit) the options. (Hitting the EXIT key (F7) is essentially the save thing.) (Version 3.00) 25 Jun1 Moving a block of text (usually a page) which was the LAST page (end of document) would cause the move operation to fail. The blocked region would copy to the block buffer but the macro would halt. Fixed this to recognize an end of document. (Version 3.00a) 25 Jun1 Discovered a minor problem with menu's 2 & 3 in 80x25 line mode (I usually work in 132x43). They would move up a line when they didn't need to. Turned out each menu line was 80 characters long. This meant that a carriage return was entered into the menu (the extra line). Then, everytime you switched between menu's 2 & 3 you'd get a cascade of menu's up the screen (bogus!). Eliminated this irritant... (Version 3.00b) 7 Jul1 Fixed a bug where when a deletion occured which was near some formatting code or attribute the message "Block How Many Characters Left?" would occur. Fixed the code for deletion of words at the beginning of a sentence (or paragraph) with attributes. Previous versions of this code deleted the attributes along with the word. This in turn removed the attributes for the entire sentence (or paragraph). This no longer occurs. (Version 3.00c) 8 Jul1 Fixed a problem of the word MULTIPLE not always showing up in Menu 3 or the MULTIPLE [] option always present instead. (Version 3.00d) 8 Jul1 A word which is between two punctuation marks (like parenthesis) and has attributes (such as bold or underline) will not block again. This fixes that problem. (Version 3.00e) 8 Jul1 When a word was deleted which had a word on the left with punctuation and the word on the right had attributes attached they would end up together. This fixes that problem such that the two words now remain separate after the word between them is deleted. (Version 3.00f) 9 Jul1 Added the option to retrieve a block of text from the move buffer. The full functionality of ALTR was placed within this macro and will eventually replace it. Once ALTR was upgraded to allow better definition of the environment to which it was copying text the decision was made that the ALTB COPY and MOVE functions could benefit from it's capabilities. Added a title to the menu line. (Version 3.10) 12 Jul1 Added additional sensing of characters at the cusor: format and character; character and format; and format and punctuation. Improved sensing of the end of a paragraph (in this case a paragraph which ends in a hard page rather than a hard return). (Version 3.10b) 12 Jul1 Fixed a bug where the reveal codes would come on at the conclusion of the macro during which a block was deleted. (Version 3.10c) 14 Jul1 There are now 36 different tests made to determine how to drop text retrieved from the move buffer. This includes straight buffer retrieval or for use during a block move or copy operation. (Version 3.11) 14 Jul1 Spell checking of a single word without using the block feature would not work correctly if the word was misspelled. This was corrected. (Version 3.11a) 4 Aug1 Sub/Superscripting changed to include ability found in the ALTS macro to work on the character to the left of the cursor. Now, if no block is defined and subscript or superscript of a character is chosen, the user is provided the option of subscripting or superscripting the character to the left of the cursor. (Version 3.2) 6 Aug1 Fixed a problem found with the blocking of a specified number of characters. (Version 3.21) 6 Aug1 Added the ability to create table of contents or index markers on a blocked region of text. This feature is provided by the addition of a fourth menu (Menu 4). Menu 4 is accessed from menus 2 and 3. (Version 3.22) 11 Aug1 Finally broke down and added the Redline and Strikeout options to the menu 3. That completes all of the options available from FORMAT (ctrl F8) with respect to Size and Appearance. (Version 3.23) 14 Aug1 Table of Contents blocking was inaccessible if the block was over 30 characters long. This was fixed. The "Quit" option no longer exists in menu 4 - just hit the enter key to go back to the previous menu level. (Version 3.23b) 18 Aug1 Added Redline Option to multiple enhancements menu. Strikeout was not added because I don't see the utility of enhancing something you want to delete... Tweaked the coding some. (Version 3.24) 7 Sep1 Added the ability to place single or multiple enhancements (size or appearance) without the necessity to have a blocked region. Prior to this, if no region was blocked the character at the cursor was enhanced. Also, if the character was a space the enhancement treated it like any other character. However, if the cursor was at the end of the document nothing happened. This modification changes that. If the cursor is at the end of the document or a hard/soft return, a space is added and the cursor moved over it before the enhancements are entered. This change allows you to specify one or more enhancements before continuing typing. After the enhancements are added the cursor remains at the center of all of the enhancement start-stop codes. This change now allows you to enter one or more enhancements prior to typing instead of typing the word(s), blocking the region and then attaching the enhancements. (Version 3.3) 7 Sep1 In menu 4, the Table of Contents menu allowed a number of characters to be entered at the prompt but only characters 1 - 5 are allowed. This was fixed. Now, a single character entry is allowed. Also, if no block was active when menu 4 was entered the menu was sorta odd looking. I fixed it so that the second line now rests on the horizontal line. Removed the limitation for Table of Contents with respect to sentences and paragraphs. If blocking a region by the macro is performed, there is a limitation of no page or documents blocks allowed for a table of contents entry. However, if you're still serious about having one that large use the blocking feature either before executing the macro or the blocking feature offered in menu 1. The QUIT option was removed from menu 4. Now, hitting the enter key will return to the previous menu level (2 or 3). In menu 3 with MULTIPLE active an enter key will now select the options chosen; the menu option Go was removed. As before, the exit key will inactivate MULTIPLE. (Version 3.31) 7 Sep1 Found I'd been a tad zealous in the enhancements arena and inadvertantly removed the ability to attach an an enhancement code to the current character by default if no blocked region was defined. This was fixed. Sorry folks... Also, if the character at the cursor is a cursor, a space won't be automatically entered as before. The enhancement codes are just dropped into place. (Version 3.31a) 7 Sep1 In menu 4, the Table of Contents menu allowed a number of characters to be entered at the prompt but only characters 1 - 5 are allowed. This was fixed. Now, a single character entry is allowed. Also, if no block was active when menu 4 was entered the menu was sorta odd looking. I fixed it so that the second line now rests on the horizontal line. Removed the limitation for Table of Contents with respect to sentences and paragraphs. If blocking a region by the macro is performed, there is a limitation of no page or documents blocks allowed for a table of contents entry. However, if you're still serious about having one that large use the blocking feature either before executing the macro or the blocking feature offered in menu 1. The QUIT option was removed from menu 4. Now, hitting the enter key will return to the previous menu level (2 or 3). In menu 3 with MULTIPLE active an enter key will now select the options chosen; the menu option Go was removed. As before, the exit key will inactivate MULTIPLE. (Version 3.31) 7 Sep1 Found I'd been a tad zealous in the enhancements arena and inadvertantly removed the ability to attach an an enhancement code to the current character by default if no blocked region was defined. This was fixed. Sorry folks... Also, if the character at the cursor is a cursor, a space won't be automatically entered as before. The enhancement codes are just dropped into place. (Version 3.31a) 11 Sep1 Blocking the first sentence of a paragraph which was auto-numbered would always include the numbering code. What a nuisance. This change fixes it so that only the actual sentence is numbered. (Version 3.31c) 16 Sep1 When copying or moving a block of text you might have occasion to hit the cancel key before the copy/move operation is complete. This would leave a status prompt at the bottom of the screen no matter what you did. This was fixed. Now, the operation is a four-step operation. You block the text you want to copy/move, chose the copy or move option, move the cursor to where you want (even if you don't move the cursor we'll assume you did...), and hit the enter key. This brings up an additional menu. Now, chose to drop the blocked region by hitting the ENTER key or stop the copy/move operation by hitting the cancel key (or, alternatively, the exit key). If you had chosen to move text you won't have it any longer if you cancel/exit the operation. You'll have to retrieve it at the location you desired by doing a block retrieve (ALT-B R or CTRL F4 R(etrieve) B(lock) or CTRL F4 4 1). (Version 3.32) 21 Sep1 Printing of any block is now allowed new. This includes a character, word, or sentence (previously disallowed). This macro allows printing a block at it's current location. WordPerfect will get the line correct but if you printed the blocked region which exists in the middle of a paragraph, it'll print beginning at the left margin. This macro has it start printing at the line posigion reported by WordPerfect. NOTE (important): WordPerfect does microjustification. Therefore, if you use other than left justification in your documents the true location on the page may not accurately reported (for some reason) by WordPerfect. Also, the blocked region will have it's own microjustification independent of the text surrounding it so, a sentence in the middle of the paragraph may print differently from what you might expect (less tight kerning for instance). With this in mind, happy printing! (Version 3.33) 22 Sep1 The two methods I've used to test for end/begin of document don't always work correctly between different interim releases of WP. This might evidence itself by a tilde (~) appearing in your document. For blocking of sentences at the end of a document I started seeing this with interim release 5/31/91 so I rewrote the sentence blocking section to avoid this problem. If no sentence is recognized an error message is generated before returning to menu 1. This is possible if there is nothing to block or you are at the bottom of the document and formatting codes exist after the last sentence but before the end of the document. I also reworked all four menus slightly. These menus are now one line higher than they were. Menu 3 is now wrapped onto the lowest line instead of going to the end of first line. In multiple mode the only line which gets rewritten now is the lowest line. This line indentifies those enhancements being added to the document. This is especially beneficial to those with slower systems since the entire menu needn't be rewritten now. If you attempt to go to menu 4 without first blocking something the error message is displayed in the lowest line. An entire screen refresh is no longer done between menus as was a previous practice. Previously during an index, if you made an index entry for the primary index but didn't want a subindex you got one anyway. This is fixed. Now, to accept a subindex you either hit the "=" key (and hit enter to accept the default subindex) or type in another subindex. Hitting the enter key without an entry will default to NO subindex. (Version 3.34) ALTC 18 Feb1 NEW. Modified version of a Drop cap macro found in WordPerfect Magazine, Vol 10, Number 5 by Nick Payne. Modified to use W units of measure without changing WordPerfect to that unit of measure and then resetting to inches when done. Added my standard interface for when prompting for a character. Made modifications to use 10.8 points rather than the 10 pts Mr Payne used (which are too small!). (Version 1.0) 19 Feb1 Allowed for checking of a blocked character. This character is checked for validity before macro continues. If it is in the acceptable range it is used without prompting User for a character. (Version 1.01) 30 May1 Moved menu to bottom of the screen. Modified the code to allow for left-to-right or right-to-left blocking. (Version 1.1) 23 Jun1 Revised code which tests chosen character for non-alphabetic (not allowed). All characters are now uppercased as soon as they are entered instead of uppercasing while in the text box (used for drop cap character). (version 1.2) 12 Jul1 Added Menu title. (Version 1.20a) 13 Jul1 Provides the ability to specify a new base font size for those times when the size of the text in the body of the document is not 10.8 point (the default size in the macro). (Version 2.0) 14 Jul1 All features of the drop cap are now calculated from scratch each time the macro is run. The default base (text) font is 10.8. All features of the drop cap are then calculated: the size of the graphic box (width and height) and size of the drop cap. This makes the graphic box into which the drop cap is placed, more tight to the document text. It also means that anytime anyone wants to change the size of their base text they won't need to do the calculations necessary to setup the drop cap font size (for each character) and graphic box size. (Version 2.5) 18 Aug1 Tweaked and improved the code some. (Version 2.5a) 8 Sep1 Earlier versions relied upon tables for math calculations. This version uses math columns and is therefore compatible with columns. Earlier versions were potentially lethal to information in columns. Added the display of the default point size and the character being worked with. Added sensing for typeover (it's turned off for the duration of the execution of the macro). If you manually block the character desired testing is performed to ensure only one character is blocked or an error message is generated. IT is still up to the user to ensure that the region blocked is at the beginning of the paragraph. The macro will not work correctly elsewhere at this time. (Version 2.6) 8 Sep1 Earlier versions relied upon tables for math calculations. This version uses math columns and is therefore compatible with columns. Earlier versions were potentionall lethal to information in columns. Added the display of the default point size and the character being worked with. Added sensing for typeover (it's turned off for the duration of the execution of the macro). If you manually block the character desired testing is performed to ensure only one character is blocked or an error message is generated. IT is still up to the user to ensure that the region blocked is at the beginning of the paragraph. The macro will not work correctly elsewhere at this time. (Version 2.6) ALTD 28 Nov0 Modified the menu structure for common user interface. Streamlined the coding a tad. Added capability to specify a desired path not provided in the menu structure. Provided error checking. Added capability to hit EXIT to escape menus. (Version 3.7) 9 Dec0 Revised the coding a tad for more efficiency. (Version 3.7c) 18 Dec0 Reworked the menu code to take up less memory. (Version 3.7e) 5 Jan1 Did a little code optimization. Made the document directory the contents of a variable found at the beginning of the macro. This allows easy modification to the code for those individuals who's document subdirectory is not called WPDOC. (Version 3.7f) 3 Feb1 Made the WordPerfect subdirectory the contents of a variable found at the beginning of the macro. This allows easy modification to the code for those individuals who's WordPerfect subdirectory is not called WP51. (Version 3.7g) 17 May1 Improved coding so that Vars were named vars rather than numbers. Vars are more descriptive and future mods should prove simpler. (Ver 3.7h) 3 Jun1 Fixed problem with menu not completely overwriting text as it displays. (Vers 3.7k) (Versions 3.7 i and j were minor fixes relating to placing the menu at the screen bottom rather than at top) 23 Jun1 Menu characters are uppercased as soon as they are entered. Comparisons are then made only uppercase, instead of both uppercase and lowercase, to determine validity of choice. Also, fixed a tendency of macro to report a drive as non-existent when indeed it was. (Version 3.7l) 12 Jul1 Modified Menu title. Simplified Menu display. Hitting the enter key at Main menu will exit the macro (an enter, in this case, means "DON'T DO ANYTHING" (aka: OOPS!). Hitting the enter key at the OTHER menu will return to the Main Menu. (Version 3.70m) 13 Sep1 ALTD will now work when you are listing files. This way you can get to a directory or disk drive quicker if you so desire. Previous to this you'd only get a "Please Wait" message at the bottom of the screen. What ALTD does is exit from the menu back to the document. (Version 3.70n) ALTF 8 Sep0 Detects empty (blank according to {SYSTEM}document~) and terminates without doing any SAVE action 8 Sep0 Added capability to add a filename to a file during a filesave if the file had not been previously named. 28 Oct0 Added the capability to retrieve the last edited file and to place the cursor back to its last occupied position. Relies on information supplied by ALTX to provide this capability (Ver 2.1). Replaces the þTerminate save operation if document is blankþ feature (see 8 Sep) 4 Nov0 Fixed exit routine. When ALTX called this routine it wouldn't always exit as designed because ALTF QUIT at it's termination which terminated the calling routine as well. Replaced with a RETURN instead. 29 Nov0 Changed the menuing to standard user interface and tweaked the code a tad (Ver 3.0) 18 Dec0 Reworked the menu code to take up less memory. (Version 3.0a) 12 May1 Reworked the menu code to take up less memory. Removed extraneous code, optimized some code, tweaked menuing. Retrieving last edited file slightly slower than previous versions... (Version 3.0b) 13 May1 Removed redundant code. If an attempt is made to save a document with no name, the user is requested to provide one instead being asked if he/or she wants to provide a name for it. If no name is supplied (the enter key is hit instead) return is made to the document. (Ver 3.0c) 13 May1 Redid the manner in which the retrieve the last file edited data file was executed such that if the file was not found (did not exist) an error condition is raised and return is made to the document. This was an oversight. Normally however, this data file (__RTN__.FIL) always exists. (Ver 3.0d) 22 May1 Corrected a problem of saving a file which has just been saved after a save as an ASCII or DOS text file (whether or not the file was thereafter saved through normal means as a WP51 file) by using this macro. What would happen would be that WordPerfect would correctly report the name of the file until the actual SAVE routine. At that point it would only correctly report the path to the document but provide NO file name. This was fixed by saving the file name (path name was saved for good measure too) to a variable. The variables would then be used to save the file and not a default name (which was the case) (Version 3.0f) (Note: Version 3.0e merely changed the menu from the top of the screen to the bottom) 2 Jun1 The path and filename of the last edited file are now displayed during its retrieval (version 3.0g) 3 Jun1 Modified some prompts and error messages/bells (Version 3.0f) 3 Jun1 Modified to account for LONG DOCUMENT NAMES. (Version 3.10) 22 Jun1 A CANCEL during the naming of a file now sets an error flag used by ALTX. This flag will now halt an exit process initiated by ALTX. This is important. For instance, if you were going to exit WordPerfect on a file without a name, and you decided to cancel the file nameing process during the filename request section, you would LOSE the document. This modification insures that you do not lose the file. (Version 3.11a) 25 Jun1 If a file with no name was being saved the macro would not recognize long document names, if it was being used. A change was made so now the user can enter the long document name and document type if desired. (Version 3.11b) 12 Jul1 Added Menu title. Minor modification to menu. (Version 3.11c) 6 Aug1 Added the ability to change the name of the file before saving the file. When ALTF is executed you are presented a menu which continues with the file save option or you may rename the file. (Version 3.20) 7 Aug1 Fixed a problem when CANCEL was hit at the SAVE or RENAME prompt. Before this fix, if a cancel was hit here and ALTF had been called from ALTX (EXIT) the current file would be exited anyway and the second document would be entered for exit (if one existed). This was fixed by returning the cancel to the calling routine (in this case the Exit macro). An additional problem fixed was that if two files existed and ALTF was called from ALTX (during an exit Wordperfect) such that the second file would acquire then name of the first file during a save. This occurred during the save portion of the macro. This no longer occurs. NOTE: the first document would be lost with this bug...(Version 3.20a) 14 Aug1 Added options to make multiple saves at the save time. Options to save to a floppy drive, a hard drive, or a hard drive and floppy drive was provided. Current version only allows saves to the default directory of chosen drives. For instance, if the file's name is E:\test and option 1 is chosen (Drives A and C) then the file is first saved to drive A (as A:Test), then drive C (as C:test), and finally the file is reset to it's original name (E:\Test). If Drive C's default directory was \WPDOC then the file would be saved as C:\WPDOC\TEST. INITIAL RELEASE. NO EXTENSIVE TESTING PERFORMED. However, tests were made in which errors were allowed to occur and it worked fine. NOTE: if you've specified a drive which doesn't exist (usually A or B, but D to if you don't have a second hard drive or a RAM disk with the D drive designation) you may have a tough time of it. If the RAM drive doesn't exist you may have a problem, if it's a floppy drive which doesn't have a floppy in it you'll need to satisfy the operating system and put a floppy in the drive. (Version 3.30) 16 Aug1 Added option to save to floppies A and B sequentially. (Version 3.31) 16 Aug1 Optimized to reduce code redundancy. Fixed a minor problem which occurred when called from the EXIT macro (ALTX). Public Release version. (Version 3.32) 26 Aug1 Made file retrieve aware of columns. Now, if a file is automatically retrieved (from information saved by the ALTX macro), and it has columns, the cursor is placed in the correct location (as in single columns). The same caveats concerning page renumbering applies as before. NOTE: this column awareness was lacking in previous versions of the macro. Also, once the file has been retrieved, the screen message informs that the cursor is being positioned. (Version 3.33) 5 Sep1 Improved error handling during file saves to non-existant drives and/or subdirectories (and such). Previously user had to hit cancel to remove the error message at bottom of screen (WP was still trying to save or whatever). Modified save menus slightly. Added capability to save to a specified subdirectory from the save menu. This capability is essentially just specifying a new storage location since the file name remains the same but the destination (path) is changes as specified. If you, the user, want to modify to taste you must go to the menu, add or make entry for the new path, then tell the {CASE} statement where to go (using the examples already there) and then create the label (the place to go) and follow the examples already there. The labels I used are immediately below the menu to make it easier. Ensure you follow the examples exactly to make it work. Also, ensure that the menu line doesn't exceed 79 characters (as displayed on the screen). (Version 3.34) 11 Sep1 Found that a file being automatically retrieved may not have represent the file as last saved with the ALTF macro via ALTX (save). This occurs when an edited version is edited and then saved without going through the ALTX macro after it was saved with the ALTX macro. The problem being that if the stored data indicates a line or position which doesn't exist the macro would search forever for that missing location or until the cancel key is hit. This change fixes that. (Version 3.34b) 11 Sep1 For some reason, saving to a floppy wouldn't always work. The macro would report an error and then leave it's message at the bottom of the screen. This was fixed. (Version 3.34c) 14 Sep1 Fixed a bug wherein the directory would display after the cursor was positioned during an auto-file recall. (Version 3.34d) 16 Sep1 Improved handling of file saves for files with subdocuments. Macro detects a file save of an expanded document and asks if you wish to save the document as expanded. If so, file save begins. In not, you are asked if you want to save the subdocuments. File save then proceeds accordingly. NOTE: saving subdocuments will replace the originals copies. Options for saving or not saving particular (one or more) of the subdocuments are not provided. (Version 3.35) ALTH 10 Nov0 First version of the Help macro. Menu driven. Enter returns to main menu. Enter at main menu exits the macro. Cancel (F1) and Exit (F7) active at all menu levels (Version 1.1) 11 Nov0 Fixed a few minor problems with the display of a few menus. (Ver 1.1a) 11 Nov0 Added sensing of Reveal Codes. If on, it is turned off until the macro is exited. (Ver 1.2) 11 Nov0 Added the transpose macros. (1.2a) 11 Nov0 Reworked a few of the screens contents. Fixed a few minor glitches. (Version 1.2b) 11 Nov0 Added Outline to menu 2 screen of ALTB and reworked the menu screen's verbiage (Version 1.2c) 11 Nov0 Added m, o, & e options to ALTB menu's to correspond to Menu's 1 (Main), 2 (Options), and 3 (Enhancements) (Version 1.2d) 1 Dec0 Updated information in the ALT-F,X macros information to provide more information concerning their use. Added dependancy information in menu title (Version 1.2e) 1 Dec0 Decided to make ALT-- a supported macro. Added it to the menu. (version 1.2f) 2 Dec0 Updated new changes to ALTB macro. (Version 1.2g) 2 Dec0 Corrected menu information for compliance with earlier changes made to the ALTB macro (Version 1.2h) 5 Mar1 Updated some help screens to reflect changes in commonality among macro menus. Added an additional menu selection in print menu to show how the specific pages menu works. (Version 1.3) 14 May1 Updated some of the menus (Version 1.3a) 22 Jun1 Updated menus to keep up with macro modifications. (Version 1.4) 12 Jul1 Updated to include new macros and modifications to macros. There are now three main menus: The Main Menu, ALT Key Menu, and the CTRL Key menu. The main menu provides easy access to the other two when the macro is first run. Also, if the ENTER key is hit from one of the menu selections of the other menus or from the other menu itself the main menu is reentered. (Version 2.0) 7 Aug1 Updated to include new macros and modifications to macros. Added sensing for Shift Key menu and menu's for the shift key menus. Added enhancement information on blocking macro. Removed ALTS macro (which was "Killed") (Version 2.01) 8 Aug1 Had a problem with the help menu. Modifed it so that the keystate would be seen in the lower left corner of the screen. If it is zero the menu will work. If it isn't zero it means that capslock, numlock, or scroll lock may be on (one or all). Previous versions would not run if typeover was ON - it's fixed with this version. (Version 2.01a) 9 Aug1 Modified macro to be insensitive to the status of capslock, scroll lock, numlock and insert (or anything else which might change to overall status of the keystate). Also, once into a category of one of the three submenus (ALT, CTRL, or Shift) you may hit any of the three main menu keys to go to the desired submenu, or hit the enter key to go to the main menu. This does not work at the submenu level, only in a category screen within a submenu. (Version 2.02) 18 Aug1 Fixed some menus which weren't displaying correctly in 80x25 line mode. Added the Drop Caps to the ALT menu as well as it's menu of information. Added the menu of information to the CTRL S menu (it was an option in the menu but the information didn't exist). Fixed some minor spelling errors and updated some menus to correspond to recent changes to some macros. (Version 2.03) 8 Sep1 Added information on the character over character macro. Rearranged the menus to reflect to the changes to the ALT/CTRL/Shift Dark Arrow key macros. 8 Sep1 Added information on the character over character macro. Rearranged the menus to reflect to the changes to the ALT/CTRL/Shift Dark Arrow key macros. (Version 2.03a) 18 Sep1 Rewrote portions of help to correspond to changes made to ASCII Save macro (CTRL A) (Version 2.03b) 21 Sep1 Updated ALTN information per changes to the macro. ALTL 6 Jul1 NEW. Provides means of switching between long and short (DOS) names when saving a file as well as long names or short names in the LIST files display. Provides the capability to display long names in the display and providing long names when saving, Long names in the display and short names when saving, short names in the display and long names when saving, and finally, short names when saving and short names in the display listing. A maximum of two options may be chosen. The option(s) chosen are displayed between brackets in the menu. The backspace key will delete the last option in the display. The options chosen are activated by hitting Go. (Version 1.0) 15 Jul1 Provided the capability to set the type of files listing and file save and then go directly into file save/retrieve macro or the directory macro. NOTE: if you include the Save file option and the document has never been edited (is EMPTY) then you WILL retrieve the last edited file (or make an attempt to do so). (Version 2.00) 15 Jul1 Modified the menuing and changed the menu options which chose the file save and directory list options. (Version 2.00a) 7 Sep1 Removed the menu option GO. Hitting the enter key does the same thing. Fixed the menu so that the options chosen don't disappear as soon as the enter key is hit. (Version 2.00b) ALTN 9 Sep0 Rearranged the characters menu for slightly easier reading 15 Sep0 Made the number choices hi-lighted for easier choice making 27 Sep0 Add the category GREEK symbols and rearranged menu as appropriate 28 Nov0 Added the category SET, which includes symbols from Mathematical SET theory 6 Dec0 Improved error checking to include tests for alpha character choices. The invalid opton is displayed in the error message. Decoupled menu choice line from the options menu - it is now at the bottom of the screen. Added single open and close quote marks to menu. (Version 2.6b) 5 Mar1 Added checking for active reveal codes. Turns off while macro is running, turns back on at conclusion of macro (Version 2.6c) 12 Jul1 Changed the menu. Added a Menu title. Improved detection of incorrect or improper menu choice. (Version 2.7) 8 Aug1 All Greek characters should now be in this macro. A slight modification was made to the menu to allow the display of those letters with corresponding English counterparts. In this case, the English letter is displayed immediately after the lowercase Greek character and a dash. For instance, þ-K, where þ is the lowercase greek character and -K indicates the uppercase Greek character which appears like an English counterpart. (Version 2.71) 17 Aug1 Added the ability to put up to 65 options on the command line. This is the maximum number which will fit into the 127 character limit of WordPerfect's variables. Each option is separated by another by a space. The command line is then parsed for all correct options. Those which fail testing are considered bad. If invalid options are found in the command line they are displayed, along with all options made, all good options, and the location in the command line of the bad options. This is the Bad Options Statistics Screen. Hitting the enter key will then clear the screen and return to the document. (Version 2.80) 19 Aug1 Fixed a minor problem with a single character option appearing to hang the system (it wasn't but the screen wasn't cleaned after the macro was done). Fixed it so that no matter how many options are chosen (1 or more) the macro will parse the choice(s) made and work accordingly. Also fixed a minor problem of having two or more spaces back to back. Now, each subsequent space after the first is counted as an invalid option. If the first option is a space it too is counted as invalid. Prior to this fix the macro would complete it's check of the command line and quit. There was no mention of ANY errors, including when there were! (Version 2.80a) 19 Aug1 Added ability to put a space between characters without decreasing the maximum number of options on the command line. The "add a space" character is the "'". So 14'13 on the command line would get me: ¯ ® instead of an error message or ¯®. 14''13 results in: ® ¯. (version 2.81) 21 Aug1 Modified to change the action of the delimiter. The main delimiter is now a comma (,). However, if a space is used as a delimiter a space is placed into the document. Therefore, if the options chosen are: 1,2 3 4,5 you'll get þ þ þþ. However, multiple spaces are legal options, multiple commas are legal options, and spaces preceeding or following commas are legal. However, the combination of commas and spaces only further limits the maximum number of characters you can choose. Right now the maximum number of characters appears to be 129 (I counted spaces), or 65 if you don't. (Version 2.90) 25 Aug1 Added some umlauted characters (German language stuff), rearranged the menu to be more or less alphabetical. Only blinking characters are now the ones associated with categories to aid in finding the right category (the menu does appear somewhat crowded...) (Version 2.90b) 17 Sep1 Changed the macro to allow use within comment windows where only COMPOSE (and not the ctrl-V version of compose, aka ctrl-2) will work to create special characters. Unfortunately, once the screen is cleared of the new characters menu the cursor is reset to the beginning of the comment. (Version 2.91) 21 Sep1 Added a new category: Technical. Added several characters too. Angstrom was placed in technical and degree was moved there. The square root sign and hi-bar were added to Math. These two together make a decent looking square root sign. (Version 2.92) ALTP 5 Sep0 Added identification of current page number, name of document being printed, and the item being printed (page or doc) 5 Sep0 Modified to provide user choices of printing a document w/o having to know whether it needed generating (for cross-references). It is automatically detected now. Rearranged menu. 6 Sep0 Identification as to the document being printed or the current page number being printed (blinking message) was reversed from what it should have been. Fixed this problem. 10 Sep0 For slower machines added a message for exit purposes. The built-in time delay to allow certain print operations to proceed seems to take forever on slow machines. So, when a cancel operation occurs it likewise took a considerable amount of time before the user knew whether or not the action was detected. An EXIT message now occurs which tells the user that the message to exit the print program was indeed heard. 10 Sep0 If not in normal editing screen the program quits 12 Sep0 Senses active block and turns it off before continuing. 18 Oct0 Modified þSpecific Pagesþ menu to be less crowded 18 Oct0 Added capability of printing without answering the Yes/No prompt if the document needs generating when printing specific pages in a document 18 Oct0 Added EXIT (F7) detection at User Prompts (Version 2.1d) 16 Dec0 Converted to my standard menu interface (Version 2.2) 16 Dec0 Added ability to sense Reveal Codes. Will now turn them off if they are on when the macro runs and will turn them back on after the macro finishes (Version 2.2a) 16 Dec0 Found and fixed a minor operating difference between 132x43 and 80x25 line modes with respect to sensing the Reveal Codes. Both modes should now sense identically. (Version 2.2b) 18 Dec0 Reworked the menu code to take up less memory. (Version 2.2c) 26 Dec0 Added document path to the menu information. Minor change to the menu (Version 2.3) 5 Jan1 Did some minor code optimization. (Version 2.3a) 2 Feb1 Added access to Printer Control Menu (Version 2.3b) 6 May1 Added changes which would allow reveal codes to be returned to an onþstate if they were ON prior to execution of the macro. (Version 2.3d) 6 Jun1 Added ability to print a blocked region rather than turning it off when sensed. Now, the user is given the opportunity to print the blocked region or proceed to the "normal" print menu. The ability to print a block of text now duplicates a similar procedure in the BLOCKING macro (ALTB) (Version 2.40) 16 Jun1 Modified some Specified Pages Menu for easier reading. Changed warning bell to two beeps. Changed main menu to display document name and path together rather than separately. (Version 2.40a) 12 Jul1 Added title to Main Menu. Modified main menu for easier reading and reversed the information and options lines. Modified SELECT PAGES menu to return to Main Menu if the Enter key is used without providing any page numbers. (Version 2.41) ALTR 15 Jan1 Added check for active block detection. If block is on when this macro is executed blocking is turned off before a retrieve action occurs. (Version 1.1a) 3 Feb1 Added check for text at cursor location during a block retrieve. Text is moved over if present and space made available for the block. (Version 1.3) 22 Jun1 Improved sensing of what's at cursor location before dropping text from the block buffer. With this change, the macro requires WP51 Interim Release 30 Dec 90 or later. (Version 2.0) 9 Jul1 Improved the ability to sense the type of character (text, punctuation, formatting, attributes, or space) at the cursor. This provides better retrieve control of the text in the MOVE buffer. The macro is now more modular than before, making it easier to respond to different cases of text at the cursor. (Version 3.0) 12 Jul1 Added additional sensing of characters at the cusor: format and punctuation. (Version 3.0a) 14 Jul1 There are now 36 different tests made to determine how to drop text retrieved from the move buffer. This includes straight buffer retrieval or for use during a block move or copy operation. (Version 3.10) ALTS 10 Sep0 Added ability to sub/superscript a character after (to the left of) the cursor 10 Sep0 Changed Search Backward to Search Reverse 10 Sep0 Rearranged menu structure. 10 Sep0 Added new menu options Low and High 10 Sep0 Option now exists to subscript or superscript a character (not a block) to the left of the cursor. 10 Sep0 I allowed a search while the block is active. This feature, however, only works in the forward direction in the normal WP editing screen. With this macro you can turn blocking on PRIOR to entering the macro, and then with the macro, search forward or reverse to highlight the text between where you started and where you ended up. 10 Sep0 Added sensing as to whether blocking was made from right to left (or vice-versa) and/or top to bottom (or vice-versa) so that the cursor always ends up at the end of the blocked region after the sub/superscript action (not at its beginning) 1 Nov0 Rewrote the menu to a common interface 16 Dec0 Added the following spell check options: Word, Page, Document. Wrote it such that if a word/page/document is checked and found to have no errors exit will occur back to the document. Otherwise, exit is made to the WordPerfect spell checking facility (Version 3.4) 18 Dec0 Tweaked some coding. Messages confirming correctness of item checked now include the line below the message (which was not being display before). Version 3.4a) 18 Dec0 Fixed an anomally with how the macro acted when switching between screen modes. It was exiting the macro when doing spell checks after switching from 132x43 to 80x25 line mode. I corrected the problem by exiting the spell checker after no errors were found before displaying the no problem found type message. NOTE: Apparently WordPerfect acts slightly differently when checking a word, the page or the document. Not much of a difference but enough to be notice while working on this macro. (Version 3.4b) 18 Dec0 Reworked the menu code to take up less memory. (Version 3.4c) 5 Jan1 Did some code optimization. (Version 3.4d) 10 Jan1 Removed spell checking (it's now in ALTB in improved form). Added capability to find hard characters (home space, home tab, etc). Improved coding for super/subscripting for more efficiency and to take less memory. (Version 3.4e) 23 Jun1 Capitalizes choices after they are entered instead of checking for both lowercase and uppercase choices. (Version 3.4f) 26 Jun1 Fixed a bug created by earlier changes: a subroutine was being called which didn't exist so that when a block was active the macro would fail upon chosing a menu choice (dummy me...I thought I fixed them all and missed one!!!) (Version 3.4g) 12 Jul1 Added title to menu. (Version 3.40h) 5 Aug1 Removed subscript and superscript capability to the blocking macro. This macro was then KILLED and removed from inventory... ALTV 12 Jan1 Added block sensing to macro. If block was active when executed nothing happened. Now, blocking is turned off and doc preview is entered. (Version 1.1a) ALTX 8 Sep0 Modified Menu to allow choice of exit from document or from Wordperfect. Removed final query concerning whether you REALLY wanted to exit from Wordperfect 8 Sep0 Improved document edit status to detect a file which has truly been edited. If the file was saved no query is given. 8 Sep0 Provided with the capability to add a filename to a previously unnamed file through enhancement of ALTF (save file) 8 Sep0 Added detection of a blank file during the exit operation which indicates that a filename is not needed and exit from WP is requested 9 Sep0 Added a screen refresh after an error message 10 Sep0 Added sensing of on-going print operations and gives the user the option of continuing an exit from WP. If the user decides not to exit WP an exit from the file is made instead. The significance is with laser printers. An exit in the middle of a print operation could leave paper in the middle of the print path. NOTE: THIS MACRO IS USABLE TO EXIT FROM WP UNDER MANY CIRCUMSTANCES NOT NORMALLY POSSIBLE!!! VERY POWERFUL.... 11 Sep0 Senses an active block and turns it off before continuing. 19 Sep0 Added capability to recognize documents which have cross-references. Saved/modified status was not checked previously (heck, didn't even know there was a difference and WP51 hasn't documented the feature) 25 Sep0 Added a subroutine specifically for a CANCEL key operation. Before, when a CANCEL key was pressed, the macro transferred operation to the DONE routine which only rewrote the screen and terminated (ended without additional code such as RETURN, BREAK, or QUIT), as it was s'posed to do. However, if CANCEL was called at any time other than when the macro was first run, the macro would still exit Wordperfect. Now, CANCEL will halt macro execution after it has cleared and rewritten the screen and leaving you within the document as if nothing had occurred (like it was s'posed to do in the first place) 25 Sep0 Moved a subroutine and placed it within the IF/ENDIF which called it 4 Oct0 The exit from WP is now truly that. If the other document exists you are asked if you want to save it before exit is complete (if it needs saving). A cancel will stop the exit procedure 4 Oct0 Two document exits provided now. Capital þDþ (for Document) means exit the document and go to the next doc if it's not empty. Lowercase þdþ means exit document and stay in that document screen 4 Oct0 If a document is exited, and the other document is not EMPTY, you are now switched to the other document 9 Oct0 When the menu came up asking if you wanted to save the modified file the cursor was nowhere near the Y/N at the end of the message. This has now been fixed. 9 Oct0 Improved screen appearance. When a document had been modified, and the menu to inform you of that fact came up, it didn't completely overwrite the previous message, and therefore detracted from the screen appearance. This has now been fixed. 27 Oct0 All modified documents appear to have an odd number, as reported by the {SYSTEM}document~ feature. I kept discovering new numbers for modified documents as my documents added new features, such as columns, tables, math columns, cross-references, etc. (and became a tad more complicated). Discovery always occured when I exited a document using this macro and losing my work in the process. Document status checking is now performed with a modulo function and testing checks for all resulting odd numbers from 1 to 9. Now, no matter where your cursor is in your document, and presumably regardless of the features you have placed in your document, this macro will detect whether or not the document has been in fact been modified. (Ver 2.6c) 28 Oct0 Added capability to supply information about file in a special file which is accessed by ALTF (which allows the retrieval of the last file edited). Information saved includes document path, file name, page and line numbers and the position on the line last occupied by the cursor (Ver 2.7) 1 Nov0 Will Not obtain þRetrieve last edited documentþ information on a nameless document during an exit 29 Nov0 Reworked the menu structure to the common user interface of the other macros. Move current file reference information to beginning of macro (Version 2.8) 1 Dec0 Made some minor bug fixes and returned the file reference gathering to its original position (Version 2.8a) 2 Dec0 Used underlining code to highlight menuing text from standard text to avoid confusion as to what was what. Made a slight modification to the print operation detection so that it would properly work. Didn't test correctly before. (Version 2.8b) 10 Dec0 Did a little coding rearrangement for better structure and coding support. Added name and path of the file detected as modified to the exit menu. (Version 2.9) 18 Dec0 Reworked the menu code to take up less memory. (Version 2.9a) 5 Jan1 Did some code optimization. (Version 2.9b) 9 Jan1 Added detection of type of exit, Document or WordPerfect, for display at exit menu of an Unsaved file save Y/N prompt. (Version 2.9c) 11 May1 Reworked the exit-when-print-in-progress portion of the macro. Previous to this the macro attempted (for some reason unsuccessfully) to cancel printing during an exit procedure. The fix involved cancelling the print job(s) immediately before a WP session exit was initiated. A problem with the WP EXIT function was "somehow" resolved (the F7 or EXIT function wasn't being recognized). Now, the macro works as advertised. (Ver 2.10) 12 May1 Found that an exit from a blank document while printing in progress wouldn't work correctly. Oddly enough, using the fix found yesterday (using SCREEN SCREEN or CTRL F3 R) before the WP EXIT code let the macro "see" the WP EXIT code and now the macro works like it's s'posed to (until I find another bug). (Ver 2.10a) 13 May1 Found that other bug. Rewrote the original macro from scratch to "clean" up the original macro. Moved one subroutine (the one which cancels printing) to a safer location and removed some useless code (testing code) I'd missed. Found I still required the SCREEN SCREEN command to allow an EXIT to work (found because the EXIT isn't found but the NN or NY codes which finish the exit routine would be found in the __RTN__.FIL file. (Version 2.10b) 14 May1 Found and fixed a minor bug. If the current file was not saved and had no name, an exit from WP would ONLY exit to the next document; exit from WP would not occur. Rearranged some code and fixed the problem. (Version 2.10c) 30 May1 Minor recoding for smaller size. Added variables to allow easier changing of the directory containing WP51 and/or the WP documents by changing the path contained in the variable. These variables are at the start of the macro. (Version 2.10d) 3 Jun1 A maintenance fix had the macro calling the FILES macro. This changes that to ALTF... (Version 2.10e) 12 Jun1 Requires WP51 Interim Release 31Dec90 or later. The WP51 "cancel all print jobs" routine changed with this release and this macro reflects that change. There is no way (that I know of) to determine interim release dates within WP51. (Version 2.10g) 19 Jun1 When "D" is pressed to exit current document and go to the next one the word "document" is capitalized to indicate the type of document exit was chosen. (Version 2.10h) 21 Jun1 The modulo operation was changed from a modulo 10 to a modulo 2 (dummy me for not seeing it sooner!) Now I only need to check for a 1 or a 0 (and not ALL odds numbers from 1 - 9!) (Version 2.10i) 22 Jun1 A CANCEL during the naming of a file (while in ALTF) now sets an error flag used by this macro to halt an exit process initiated. This is important. For instance, if you were going to exit WordPerfect on a file without a name, and you decided to cancel the process during the filename request section, you would lose the document. This modification insures that you do not lose the file. (Version 2.10j) 25 Jun1 If Document 2 held the text of a saved document (not modified) and you were in Document 1 (which is empty) and hit ALTX you would exit WordPerfect immediately. This change tests the 2nd (other) document to see if it's empty. If not it informs you that a WordPerfect exit was requested and asks if you wish to continue with the exit procedure. A NO cancels the operation, a YES checks the documents' status to see if it needs saving. An immediate exit occurs if it is not a modified document (does not need saving). If it was modified, you are provided the opportunity to save it before the exit procedure continues. (Version 2.11) 12 Jul1 Added title to menu. (Version 2.11a) 16 Aug1 Minor modification to let the save macro (ALTF) know it was called from the exit macro (ALTX). Also did some coding optimization. (Version 2.11b) 19 Aug1 Fixed a minor problem with the menu display. When the current document is empty but the other one isn't and ALTX is executed the menu (when it was displayed on the other document screen) was somewhat confusing (hard to read). This was fixed. (Version 2.11c) 25 Aug1 During WordPerfect exits the macro now saves information on columns to allow proper retrieval of documents which have columns. (Version 2.12) 16 Sep1 Modified to determine if timed backup was performed on a modified document. Now, Exit will work correctly in the presence of timed backup so that modifications won't be lost. Additionally, the method used to determine the modification status of a document has been changed as well. Testing is now performed at a bit level (AND) rather than with a MODULO. Results are the same. The change to the bit level testing was performed because this was the only way to test for timed backup. One benefit is that it is slightly more accurate than the previous method. (Version 2.13) 21 Sep1 If you aren't in the main editing screen, hitting ALT X will exit to it. For instance, if you're in page preview and ALT X is hit you'll be returned directly to the document. (Version 2.13a) ALT- 1 Dec NEW. Decided to make a supported rather than temporary macro. Provides for paragraphs/outlines numbering. (version 3.0) 23 Dec On restarting the paragraph/outline count the menu is redisplayed with the NEW COUNT removed and the message [RESET] inserted at the beginning of the menu. This allows the user to specify that paragraph renumbering should start and that the user has the opportunity to indicate the level of numbering desired. (Version 3.1) 23 Dec Recoded a little to decrease coding requirments and to make more efficient. (Requires 6/90 interim release or later). (Version 3.1b) 26 Dec When the option NEW is chosen the range of paragraph numbers is now 0-8 instead of 1-8. If 0 is chosen no paragraph number is chosenþonly the new paragraph definition is entered into the document. (Version 3.1c) 5 Jan1 Did some minor code optimization. (Version 3.1c) 29 May1 Added sensing of reveal codes and active blocking. Reveal codes is turned back on at the conclusion of the macro. Both reveal codes and active blocks are turned of at the start of the macro (Version 3.1d) 29 May1 Recoded for more efficient and smaller program code (Version 3.1e) 13 Jul1 Added a title to the menu. (Version 3.10f) CTRLA 20 May1 Initial Release of ASCII file save macro (Version 1.00) 20 May1 More descriptive menu displays made. (Version 1.01) 22 May1 Original file name is restored after the ASCII save is complete (Version 1.02) 23 May1 Allowed the specification of a drive other than the default for ASCII file. Before this mod the ASCII file was stored in the same location (path) as the original file (Version 1.03) 24 May1 Modified menus to allow for LONG file names (includes Paths), i.e. multi-line menu's (Version 1.04) 24 May1 If the Original file and the ASCII file had the same name the resulting file was no longer an ASCII file but an WP51 file. In the restoration of the original filename a file save is executed and this would overwrite the just Saved ASCII file!. This problem was rectified by not restoring the original name if both the original and new (ASCII) file names were the same. (Version 1.05) 24 May1 Modified the attention getting bells for when a file already exists with the name provided or the file has no name when a save is attempted (Version 1.06) 24 May1 This fixes the case when the Original name restoration was attemped on a file which originally had no name. Now, the file's new name becomes the name supplied at the GIVE NAME Prompt while the ASCII file is the new name with the ASCII extension (Version 1.07) 24 May1 A variable at the beginning of the macro assigns the ASCII file extension (Version 1.07a) 24 May1 If, when supplying a new file name for the ASCII file, no drive or path is supplied the original file's drive and/or path becomes the ASCII file's storage path as well. If a path is supplied it is used instead. Note however, that a "\" will use the root directory of whatever drive is currently default (according to the WP51 word processor...this drive can change depending on which drive you last did a directory of via WP51... (Version 1.08) 24 May1 Modified menu to supply the original file name and the name of the ASCII file to which the file is being stored (Version 1.09) 24 May1 Added display of original file name while giving ASCII file a new file name. Also, ASCII file extension is referred to in Menu Prompt (Version 1.09a) 24 May1 Added capability to overide ASCII extension to allow an storage of an ASCII file with a user supplied file name (with or without a path or extension) (Version 1.10) 25 May1 Rewrote macro. Added additional testing for file name. If file being stored results in an ASCII file of the same name as the original name with the same location (drive and/or path) that ASCII file will remain an ASCII file and will not be overwritten during a filename reset (to get to original filename) (Version 1.11) 25 May1 Modified the file identification screen a small amount to decrease its size (Version 1.11a) 26 May1 Fixed a problem related to the root directory. As originally written, if a user decided to rename the file and used the "\" at the beginning of the filename (i.e. did not specify a drive name as part of the path for the file) that file would be stored on the root directory of the drive on which a directory (or LIST) was last performed. This was resolved to default to the root directory of the drive on which the original file read from. (Version 1.11b) 26 May1 Files must have names before an ASCII store is performed. The first menu informs the user of the default ASCII filename and the original file name (and asks the user's OK to use the provided filename). However, until this fix, the reported original file name was no name at all! Now, once the user has named the file (which originally had none) that name is reported exactly as the user provided. (Version 1.11c) 2 Jun1 Removed some excess code at the end of the macro. Revised the prompt for identifying files which already exist from three lines to just two. Also, added the path to the message to better identify which file already existed. (Version 1.11d) 2 Jun1 Macro had a tendency NOT to accept a "Yes" answer when Okaying the choice of filename. The user would then be requested to supply a filename! Usually rerunning the macro resulted in the answer being accepted. A slight modification was made to overcome that madding occurrence. (Version 1.11e) 3 Jun1 Modified to account for use of LONG DOCUMENT NAMES (Version 1.11f) 6 Jun1 Pre-Dec 90 version. The screen would blank for a seemingly long time while the macro determines the status of Long or Short directory. A message was provided to "tide" the user over. Also, the screen was prevented from blanking by placing a {DISPLAY OFF} at the beginning of the macro (Version 1.11f, PD) 12 Jul1 Added Title to menu. Minor modification made to menu. Modified for use with WP 5.1 releases from Dec 90 on. (Version 1.11g) 18 Aug1 Tweaked the code to reduce program size. If you tried to change the default filename extension of the filename you initially provided to the program, there was a distinct possibility that the "-" would appear as part of the filename when the file was finally saved. This was fixed. Also fixed was the tendency of the macro to rewrite the screen for all responses other than Y or N to the question "Replace it? (Y/N)". (Version 1.2) 18 Sep1 Reworked the menu to be less ambiguous. New menu tells user to hit the ENTER key to save the file under the default name or to use cancel to stop the save. The RENAME option has now been moved to the main menu to allow the user to rename the default ASCII file easier. Previous to this the only way to rename the file was if the same named file already existed. (Version 1.2a) CTRLD 22 Dec0 Provides options to chose a date format for inserting into a document. These formats include Standard (mm dd, yy), Military (dd mm yy), and Contracting (yy mm dd). Additionally, the name of the month may be a three letter abbreviation or fully written out. The year may be the last two digits (e.g. 91) or the entire year (e.g. 1991). (Version 2.00a) 12 Jul1 Support provided. NEW. Added title to menu. (Version 2.00b) 6 Aug1 Completely rewritten and restructured. Initial menu allows date format setup or chosing either a textual or date code. If setup is entered, the choice of date format (military, contracting, or standard) becomes the "default" date format. A default date may be chosen over the basic three date types (it'll be one of the three basic formats). Also, you may chose padded dates (padded with a "0" or a space for numbers less than 10) or ordinary (normal) numbering. During any of the menu's, except the initial menu, an exit to the previous menu level will occur. The default date format will appear once a choice of entering either a textual or date code date is made. The date is entered at the current cursor location. (Version 3.0) 18 Aug1 Improved menu for operation within 80 column mode. Cleaned up some spelling errors. Tweaked the code a little bit. (Version 3.00a) CTRLO 23 Aug1 NEW. Enter two characters. Leave the cursor at the right of the last character entered and run this macro. The macro will then take the last character entered and move it into position directly over the character just previous to it. Useful for making Tensor notation. For instance, H. Note: it's specific to the font you are currently using because it uses absolute measurements for the distances between characters. If you switch from times roman to courier or vice versa, for instance, you'll need to redo each equation you've created with this macro. (Version 1.2) 30 Aug1 I had done math columns (for floating point..aka real numbers) to calculate the necessary adjustments...got carried away. This version removes any reliance upon scalable font stuff (I had created a small font to minimize overlap of the numbers at each tab). This is a straight forward simple math approach (which should have been done to begin with!). The second character is moved one-half line up. This is fine except for monospaced fonts which will require a small adjustment noted within the macro. If you are using a monospaced font like Courier (you poor bastard) then modify the macro with this value to get this macro to work for you. If you use a proportional font NO PROBLEM!!! The macro is setup for proportional fonts. NOTE: (1) WordPerfect automatically adds two points leading (leading refers to the space between lines, basically) to each proportional font character. No leading is added for monospaced fonts, hence, the reason for the modification to an adjustment variable. (2) NOT meant for general alphabetical characters over alphabetical characters. It is meant for a limited class of usage (as in vectors or tensor notation) (Version 1.3) CTRLS 7 May1 Places a superscripted value over a supscripted value. Example: Eab. The macro places a space directly after the last value so the user can continue typing. Also, the macro is independent of font size and uses no position sensitive codes. Spacing adjustment is automatically calculated for proper placement of text. (Version 1.0) 8 May1 Removed use of special characters as location markers. (Version 1.1) 12 Jul1 Added a title to the menu. Blocking status restored at the conclusion of the macro. Previously blocking was just turned off. (Version 1.10b) 18 Aug1 Decreased program size by tweaking the code a tad. (version 1.10c) 23 Aug1 In my last modification I somehow botched it when I was "cleaning up" the code and deleted something I shouldn't have. I fixed that. I also fixed a minor problem of text running into the superscripted or subscripted text. The macro now does floating point math to decide how much to adjust left or right rather than integer math. (Version 1.2) 30 Aug1 Went back to strictly integer math. Got carried away with the math columns but at the same time forced a dependancy upon scalable fonts to keep math columns from overlapping. There's no such dependancy now (and much simpler). (Version 1.3) Shift DARK Right Arrow 12 Jul1 Supported Now. Moves to beginning of next sentence. (Version 1.01) 11 Aug1 If blocking is on this macro will maintain blocking from the start of the blocking to the beginning of the next sentence moved to. NOTE: There is a minor limitation. If you should change the page numbering in the document don't use this macro near the page breaks...you may end up WAY down the next page somewhere. The purpose of this macro, when used with blocking on, is primarily to block small regions of text (primarily sentences). If blocking is off it works as before: moves to the beginning of the next sentence. (Version 2.00) 11 Aug1 Improved the speed of operation considerabley and tightened up the code some (Version 2.01) 11 Aug1 Substantially improved the speed of operation and removed page numbering dependancy (Version 2.02) 11 Aug1 Modified for compatibilty with the CTRL DARK Left Arrow function when blocking is active and still retain speed of operation. (Version 2.02a) 7 Sep1 Originally CTRL Dark Right Arrow. Added code to sense the shift key pressed. If the shift key is pressed the cursor will move to the beginning of the next sentence. If not it moves to the next character. (Version 2.03) 12 Sep1 There was a problem with this key not working while in a short directory listing. This was fixed and now works normally. (Version 2.03a) Shift DARK Left Arrow 12 Jul1 Supported Now. Moves to beginning of previous sentence. (Version 1.01) 11 Aug1 Rewrote to allow use with active blocks. It's also compatible with Shift Dark Left Arrow with blocking active (Version 2.00) 7 Sep1 Originally CTRL Dark Left Arrow. Added code to sense the shift key pressed. If the shift key is pressed the cursor will move to the start of the previous sentence. If not it moves to the previous character. (Version 2.01) 12 Sep1 There was a problem with this key not working while in a short directory listing. This was fixed and now works normally. (Version 2.01a) CTRL DARK Left Arrow 27 Jan1 NEW. Cursor was stopping at the first character of a paragraph which began with one or more tab type characters. This is now fixed. (Version 1.0a) 24 Jun Supplied with previous macro sets but not directly mentioned/supported. Completely rewritten. Will move cursor to the end of the word to the left of current word. Cursor will move through all formatting code until it reaches the actual text of the word (formatting code includes font size and attributes, tabs, and other such material) (Version 2.00a) 7 Sep1 Formerly ALT Dark Left Arrow. No changes made. CTRL DARK Right Arrow 27 Jan1 NEW. Modified from a macro in WP Magazine. Tweaked code a small amount. (Version 1.0b) 24 Jun1 Supplied with previous macro sets but not directly mentioned/supported. Completely rewritten. Will move cursor to the end of the current word. Cursor will move the through the word until it reaches the actual text of the word (formatting code includes font size and attributes, tabs, and other such material) (Version 2.00a) 25 Jun1 Sometimes certain codes seemed to confuse the macro and it would continually go to the end of the current word (it'd loop back on itself and go back to the end of the same word). Fixed this minor glitch. (Version 2.00b) 26 Jun1 Macro is now more table and columns aware when jumping to the end of words. (Version 2.00c) 7 Sep1 Formerly ALT Dark Right Arrow. No changes made. 11 Sep1 Completely rewritten. Previous version had troubles with some types of formatting or enhancement codes embedded within a word. This version removes most, if not all, of those problems. Previous version would ALWAYS move through a word beginning with the first character of that word. This version goes to the end of the word starting from the current cursor location. (Version 3.0) 12 Sep1 Improved formatting code sensing to include hard spaces, tabs, page breaks, etc. (Version 3.01) ALT DARK Left Arrow 3 Aug1 (NEW) Places cursor at previous column or table cell (Version 1.0) 9 Aug1 The macro would work regardless of whether the shift key was pressed or not. Therefore, the macro was completely rewritten to sense the shift key press. This way, if while in a column, for instance, you press the dark left arrow it will move the cursor left one character. If you hit the shift left arrow it will move the cursor to the previous column (if it exists) (Version 2.0) 7 Sep1 Formerly the dark left arrow key. Removed sensing of shift key. ALT DARK Right Arrow 3 Aug1 (NEW) Places cursor at next column or table cell (Version 1.0) 9 Aug1 The macro would work regardless of whether the shift key was pressed or not. Therefore, the macro was completely rewritten to sense the shift key press. This way, if while in a column, for instance, you press the dark right arrow it will move the cursor right one character. If you hit the shift right arrow it will move the cursor to the next column (if it exists) (Version 2.0) 7 Sep1 Formerly the dark right arrow key. Removed sensing of shift key. CTRL Del 12 Jul1 Supported Now. Deletes a block of text without prompts or the current word if blocking isn't active. (Version 1.0a) ALT[ TRANSPOSE LEFT (chains to ALT]) 30 May1 First public release finally recognized (I use it alot). Transposes everything it can find left one character position. (Version 1.0) 1 Jun1 Removed everything except a flag variable and the CHAIN (executes and transfers control) to the transpose right macro. (Vers 2.0) ALT] TRANSPOSE RIGHT/LEFT 30 May1 First publicly acknowledged release. Earlier version had a problem transposing right any formatting characters. This version fixes that problem. NOTE: This macro is also a standalone called "TR.WPM" (Transpose Right). (Version 1.3) 1 Jun1 Made this macro recognize certain formatting codes. Those which are transposable are transposed, those which aren't aren't. (version 2.0) 24 Jun1 If transpose was attempted at the end of a document the last deleted block would appear instead. This only occured if the cursor was at the VERY end of the document. The same thing would occur if someone tried to transpose the very first character of the document to the left when the cursor was at the very start of a document. This fixes that problem. (Version 2.01) ENVPUB 6 Sep0 Modified macro so that when the last record is deleted and another record is added, record 1 is not kept as a blank record. 7 Sep0 Redid the menuing system. Editing is now done from the main menu after data entry - not as a separate function as in previous versions 8 Sep0 Changed the main menu to remove numbered menu options 8 Sep0 Added print option. Printing activity is through ALTP macro. 8 Sep0 Provided a list option which previews every record in file 7 Sep0 Tidied up the record entry system. Added some checks due to some programming quirks. 6 Sep0 When a record is deleted, the previous record is now displayed in its place. 10 Sep0 Added alphabetical options for A) PO BOX and B) Address line to the numerical choices already available 10 Sep0 Fixed a programming error which would allow certain operations to occur even though they weren't part of the menu leaving the program in an infinite loop. 15 Sep0 Viewing of a þrecordþ now defaults to full page view instead of the default view mode you had set when you last viewed a page 29 Sep0 I added an option which allows reversing the order of the PO Box and ADDRess lines in an address which has these two lines. When the reverse is performed the address becomes a two line address location (i.e.: Name; address line 1; address line 2; city, state zip) (Ver 3.8a) 29 Sep0 Added an additional address option. Now you can enter two line address locations (address line one and address line 2) to the name and city, state, zip lines. (Ver 3.8) 29 Sep0 The þList all recordsþ option was modified to ensure that viewing was always done as a full page rather than the default view level (which might have been at half page or quarter page zoom). This ensures a full view of the current envelope. (Ver 3.8b) 12 Oct0 Simplified some of the coding which tested the text over which the cursor was placed. This change should speed up the macro operation some. LTRHD 18 Oct0 Added capability to place a three or four line address in lieu of a single line mail stop into the TO: portion of the REPLY TO ATTENTION OF:, SUBJECT: and TO: blocks 22 Dec0 Made some simple changes to the way the menu is displayed and some minor changes to the tab locations and specific locations of the three letterhead lines. (Ver 2.5c) 14 May1 Turns off reveal codes during execution. Made baseline for typesetters and line height fixed for headings, turned baseline for typesetters off and made line height auto for body text. Put spaces between headings on document for visual effect only. (Version 2.6a) MEMO 10 Oct0 Simple Memorandum for (Record, Miscellaneous, etc) generator. Requests the type of memo, subject of the memo and name of the person generating it. Places it in the document together with the current date. (Ver 2.6) 22 Dec0 Minor mods. (Version 2.5c) 14 May1 Revised Screen Menuing. Made it recognize the lack of a FROM address so that it does not put a FROM into the memo if one doesn't exist. Also, the Memo macro turns off REVEAL CODES during macro execution. (Ver 2.6) RXMEM (CTRL PgDn) 20 Dec0 NEW. Retrieve a memory variable. (Version 1.0) 12 Jul1 Modified menu. Improved detection of invalid named variable. (Version 1.0a) Addendum - WL Addition: (for WL supplied version only) ALTD This macro is modified for use on the LAN with ELMO as it's NODE. The network drive's M and N are recognized. If drive N is chosen another menu for access to each of its subdirectories comes up. If a drive is chosen which does not exist an error condition is sensed indicating either that the drive does not exist or, if in the case of the local area network, it is not and active drive. As Wordperfect is sensitive to you calling a drive which does not exist (or which died while you were using Wordperfect) only the local hard drive and its subdirectories are called absolutely (i.E. List=subdirname, where list is normally accessed by hitting F5 and subdirname is the path and name of the subdirectory you wish wp to access henceforth when list is hit.) Drive C is assumed to call the document subdirectory you have installed WP with. All calls to drives use the default directory of the drive being called. ALTD exists as a user modifiable macro should you wish a directory macro but do not wish to use the defined directory macro, ALTD. (Note: this macro has no dependancies upon other macros). KNOWN Problems. a.A blocked word at the end of a document may include punctuation. Normally, punctuation is not included when a word is blocked (except in blocking multiple words). b.Extensive testing in multiple columns or within table cells has not been performed. However, initial tests indicate no problems.