CFOG's PIP, September 1987, Volume 5 No. 11, Whole No. 59, page 3

WordStar 4 New Life in the Old Gal!

by Benjamin H. Cohen

Copyright 1987 by Benjamin H. Cohen. All rights reserved.

MicroPro International started shipping on about August 31, 1987, Release 4 of WordStar, CP/M Edition. A small flyer sent to all FOG members as well as all people in MicroPro's user lists detailed the 120+ new features in WordStar 4. I won't detail them here, though a number of them will get mentioned. This isn't intended to be a 'review', but is comprised simply of the demented ravings of a lunatic CP/M WordStar and NewWord user who received WS4, CP/M Edition about ten days ago and has used it a bit.

This upgrade is an important event in CP/M software in these days when there is precious little new commercial software for CP/M systems. There is little to dislike in the new version for most users, and lots that will make life easier for "the rest of us". It's well worth the $89 (plus $5 shipping) that it costs <but check out the user group discount of $5 to $10 depending on the number ordered and order through your user group to save>.

I might mention that it's just over three years since I wrote an article that appeared in PIP <June 1984) under the title "'No thanks' to WordStar 3.3". The features added in WS33, column blocks, conditional merge, better menus, and a few others of dubious value. The questions I asked then are still valid today. The features I wanted have in some instances been added: support of proportional spacing, search for all embedded print commands is now possible, and ^R restores the right filename. But some things I wanted in July 1984 are still missing. Here's what I wrote then:

Why can't WordStar perform a reset so you can switch disks to save a block? The buffering systems make it almost impossible to switch disks in the drive with the open file and save a file, but ... it should ... be possible to modify WordStar to put the 'save' function into the main program. That would mean that if you run WordStar in drive A and log on B, you could change the disk in drive A to save a file there [by a block copy].

Why can't WordStar time the input and when you haven't hit the keyboard for a while automatically save the file? My 1977 Wang saves every 128 bytes. [It ran on a Z80, too, by the way.]

How about true centering? If you have two centered lines and one is one character shorter, it looks silly when they line up only on one side.

These problems are still with us. On the other hand, the numerous improvements in WS4 over WS33 are vastly greater than the few improvements in WS33 over WS226. This time, you get your money's worth.

Comparison to MS-DOS Version

The following differences are evident between the CP/M Edition and the MS-DOS version:

A. Spelling checker is external
B. No thesaurus feature
C. Programs cannot all fit into memory at once
D. Color monitors are not supported

There don't seem to be any significant program differences other than these. The printer overlay is the same size (147K bytes), and is probably the same. There are, of course, limitations on the way that you use the CP/M Edition that will not be the same as for the MS-DOS version: MS-DOS users simply have more memory to play with so they can specify larger buffers.

Comparison to NewWord 2

Since I've been using NewWord2 for about two years, I have a big head start on WS4: MicroPro bought NewWord as the basis for WS4, so many of the best new features of WS4 are old hat to me: undelete, column replace with column block movements, user number support, onscreen display of bold and underscore, embedded ruler lines, go to page, multiple line headers and footers, continuous underline <controlled by a dot command>, find/replace option from cursor to beginning or end of file, and enhanced printer support were all features of NW2.

WS4 is a Memory Hog!

First things first: WS4 is a memory hog. The literature said you need 45K TPA (transient program area, the space that's left over to run programs after you use part of your nominal 64K system for parts of the operating system and any RAM resident programs like SmartKey, XtraKey, GKey2, QK21, or Presto! that you use) and 54K to make use of the math features. These figures were apparently written well before MicroPro really know just how much space WS4 would take. It is clear they were unduly pessimistic.

It's not clear exactly what this would mean in any event, since WS4 uses many buffers the size of which can be changed by the user, and there's even an installation option for minimum buffer sizes across the board. For example, you set the size of the maximum block that you can 'undelete', the number of dot command ruler lines and right and left margin settings, the amount of space reserved for "Shorthand" <macro> definitions, and even the maximum length of headers and footers. All of these affect the amount of TPA required to run WS4.

Moreover, the loose use of the term TPA is sometimes misleading. In CP/M 2.2 the CCP (the command console processor, the part of the CP/M operating system that takes what you type on the command line at the A> prompt and processes it by checking to see if it's a built in CP/M command, etc.) can generally be overwritten gaining about 2K of additional space in which to run programs. That's why when you exit from some programs a warm boot is performed: the system is trying to find the CCP on the disk. If it's not there, you may get a message like "boot error".

My Osborne 1 with a Drive C: has 51.5K TPA according to WS4. (Press the ? key at the main menu and WS4 tells you how much TPA it finds.) Nevertheless, I can use WS4's math features with it. On the other hand, if I load up SmartKey and my definition file to reconfigure the keyboard to Dvorak layout, I can't edit files. I can print them, but I'm not sure I want to use WS4 simply as a print driver. To check this further <I had set up various buffers for substantial sizes> I reinstalled WS4 for minimum buffers. It still wouldn't edit a file with SmartKey present. The TPA of this system <before overwriting the CCP> is about 45K bytes.

My Kaypro 10 with TurboROM runs GKEY2 on startup and loads in a definition file to redefine the keyboard to Dvorak layout. WS4 says I have 54.5 K bytes in TPA (Survey says 55760 or 54.45K) and all the features of WS4 are available. If I load Xtrakey without a definition file WS4 says I have 53K bytes in TPA (Survey says 54728 or 53.44K) but everything still runs.

If you're not sure whether you can use WS4, get from the CFOG library or the CFOG II RCPM, and check your TPA. If it's more than about 47K, you can probably run WS4. Of course, the closer you come to the minimum the less flexible WS4 will be: you won't be able to undelete large amounts of text, you won't be able to change margins with dot commands as often as you might with more memory, and file editing may take a bit longer as disk accesses are more frequent. But it will run.

Using WS4 with a Hard Disk:

Where the Overlays Are
For hard disk users, WordStar knows that its overlays are expected to be found in user area 0 on either the logged drive or drive A:. Now you can run WordStar from anywhere if your system can find it. User areas are recognized, so you can run WordStar from Drive A, User 0, and edit a file regardless of where it is located on the system.

The Word Plus Spelling Checker
For bad typists and poor spellers there's a new spelling checker, The Word Plus. Well, at least it's new with MicroPro. This is the same Word Plus that we have seen in the past with a new dictionary, up to 163K bytes. Fortunately for floppy disk users the main programs for TW take up 17K bytes, so you can fit all on a single DD Osborne or Kaypro disk. TW is one of the better spelling checkers for CP/M users and a bigger dictionary will be a boon. It would be nice if it were about 5 or 10K bytes smaller, leaving some room for user additions to the dictionary for our floppy brethren, they being numerous.


Installation is a breeze: 27 terminals are supported with every copy of WS4. A simple installation routine called WINSTALL is provided for those who are willing to live with MicroPro's defaults at least for a while. For those who want to hack away at the program a bigger WSCHANGE program provides endless menus of changes, a number of redundancies, and a fine mixture of irritation at the endless menus and praise and wonder at the multitude of things you can easily modify without entering an arcane patcher or using DDT.

One of the irritations is that many features are listed in more than one place. In most instances it seems that if you change the feature in one place it's also changed in the other when you get to that point. In one instance, at least, you must make the change in both places: changing the name of the printer overlay. WS4 CP/M Edition comes with two files called WSPRINT.OVR. One comes on the program disk and is, if I recall correctly, about 16K bytes. The other is on a disk all by itself: 147K bytes. You can create your own printer overlay to support just the printers and 'printer features' that you want (see the next section on features not relating to printers that are included in the printer overlay). I'm used to this from NewWord, and also used to the fact that you could call the printcr overlay something other than WSPRINT.OVR so that you could tell what printers it supported. For example, the New Word printer overlay that supports my Hewlett Packard LaserJet is called NWHPLJ.OVR. WSCHANGE requires you to go to two different places in the program to change the printer overlay file's name before it will recognize the printer overlay by a new name.

Printer Support:

When it comes to printer support there's good news and there's bad news. Actually printer support may be one of the best reasons for buying WS4. The good news is that there are printer drivers for lots and lots of printers and the scope of features supported is better than WS3 ever dreamed of. People who made bundles from selling programs to optomize WS printer support won't likely make anything from WS4 modifications. Users with single sided floppy drives obviously can't use a 147K byte printer overlay and even hard disk users don't have 50 different printers attached to their systems. So, MicroPro gives you a smaller overlay on the program disk and the option using WSCHANGE.COM to make up a smaller printer overlay that serves only those printers you have. Actually, printer overlay features include more than printers: WS uses the printer overlay to make indices, tables of contents, conversions to ASCII files, and to make 'preview' files <print to disk file>.

In general, printer support means control of line height and character width through simple dot commands oven on basic dot matrix printers. This means you simply enter .lh6 when you want lines at 6/48ths of an inch (8 lines per inch) and .cw 10 for 12 pitch (10/120ths of an inch per character). Daisy wheel printers were long supported by WS in this way. You can still switch between 'normal' and 'alternate' character pitches, and you can choose which is which in WSCHANGE and override that setting with dot commands. Ah, versatility.

Proportional Spacing
Proportional spacing is now supported officially. For many printers support is claimed for justified proportional spacing, as well as unjustified proportional spacing, including many dot-matrix printers. My Transtar 130 is essentially similar to a Silver Reed EXP 550, and while the file indicates that it supports proportional spacing and the Printer Information booklet says it supports justified as well as unjustified, I could not get it to justify text. (Gotta call MicroPro about this one!)

User Defineable Embedded Print Commands
The user defineable embedded commands ^PQ, ^PW, ^PE,and ^PR can be defined in WSCHANGE or by the dot commands .XQ, etc. Another area where the versatility of printer support in WS4 is to be commended.

Laser Printers:
Extended support is given to laser printers for the first time. WS3 came out before laser printers and never supported any of them. The Hewlett Packard LaserJet, grand-daddy of them all, requires lengthy escape sequences for the most simple commands, and use with WS is very limited because WS cannot readily embed the required sequences. If they are embedded using other software, your screen display loses all semblance of what will the print out will look like. WS4, on the other hand, will even print justified proportionally spaced text on the LaserJet <witness this article>, with four choices of spacing for the TMS RMN font.

The bad news is that the price of the extensive LaserJet support is lack of speed. WS3 couldn't send even plain text to the LaserJet fast enough to print more than four pages a minute on a printer 'rated' at 8 pages a minute. NewWord 2 would print eight pages a minute of relatively uncomplicated text, slowing down somewhat if you used enough different fonts, etc. Alternative programs like StarJet and Magic Series generally took about a minute or so to print a proportionally spaced justified page.

I did some comparisons between NewWord2 and WS4 using two different files. The first was a 27 page mono-spaced file, 65 characters per line, single spaced. With NewWord the first page appeared at 21.7 seconds; WordStar took 31.8 seconds. NewWord was pushing out the second page at 29.3 seconds; only after 55.5 seconds did WordStar start pushing out the second page. The twenty-seventh page fell out of the laser printer after 4 minutes 12 seconds. WordStar took 10 minutes 33 seconds.

The second file was eighth pages of proportionally spaced text, about 90 characters per line, single spaced. NewWord took only a little bit longer to print this file: the first page took 22.5 seconds versus 21.7 seconds for the mono-spaced file. The eighth page was plopped out after one minute 43 seconds. WordStar pooped out. Where the first mono-spaced page appeared in 31.8 seconds, the first proportionally spaced page took 46.6 seconds to peek out of the printer. Eight pages took 6 minutes 10 scconds!

In sum: on mono-spaced text WordStar took 2.5 times as long to print; on proportionally spaced <unjustified> text, WordStar took almost 3.6 times as long as NewWord. Somewhere MicroPro lost something that was going on in NewWord.

My law firm bought the laser printer for speed. We're not interested in being able to print fancy graphics, just good looking text, fast. We bought laser printer speed to avoid having clients sit and wait 45 minutes while a daisy wheel printer poked out a 30 page document. With NewWord we got it in 4 minutes. We don't want to go back to ten minutes with the same hardware. That means we'll use WS4 to create and edit files, then exit from WS4 and run NW2 to print them. Remember, I'm not talking about proportionally spaced documents, just plain ten pitch Courier. I can't begin to afford to tie up my system during the business day and a secretary, too, for the length of time it takes to print justified text. The problem is compounded because:

I've also had some problems putting proportionally spaced justified text through the laser printer. With the .cw8 setting the text looks nice and compact, but some of the lines go beyond the set right margin. I had to change to the .cw9 setting to get this file to print with justified margins that were really justified. It's not as tight as text with the .cw8 setting, but quite good still.

WS4 Cannot Edit While Printing:
Note that with WS4 <and NW2> you cannot edit while you are printing. And adding a print buffer won't help with laser printers: the problem is not the printer, it's WordStar 4's inability to send the material out faster. At 8 pages a minute for mono-spaced text NW2 was acceptable. At two and a half pages a minute with WS4, I'd be tearing my hair out if I had any left.


One thing I should mention are those features that were in NewWord 2 that I didn't like and that got carried over to WordStar 4. Let's start with the hyphenation algorithm: perhaps the worst feature of WS4 is the hyphenation algorithm. If you've ever used "H&J" (as the hyphenation and justification process is called in the typesetting trade), you'll be aware that with WS 2.26 and WS 3.3 you mostly exercised the finger that was on the hyphen key. NewWord users, on the other hand, constantly found themselves pushing the cursor arrows to get the cursor in the right place before hyphenating. Now WS users are treated to a lousy hyphenation algorithm.

Features Missing in NW2 but Restored in WS4

One of the frustrations of NW2 was that there were certain features of WS2.26 and 3.3 that I had gotten used to that disappeared. Most of these have been restored in WS4: various markers and go to marker commands including ^Kn to set markers 1 to 9 and ^Qn to go to them; ^QK and ^QB to go to the end and beginning of blocks; ^QP to go to the previous cursor position (after editing a paragraph so it's messed up on the screen, try ^B^QP with WS33 or WS4 to realign the paragraph and return the cursor to the position it was in when you started); the option to search and replace "n" times; the ^OP toggle to get the size of the file from beginning to the cursor (now ^Q?); and ^QQ for continouous repeat of any command.

Features Missing in NW2 and Still Missing

A few NW2 deficiencies persist: WS4 still can't reset a disk, so you cannot copy a file to a disk not already in the machine without logging onto the drive the new disk is in first. That's not so bad if you are attempting to delete or rename a file, WS4 will tell you that the drive is 'protected', its way of saying that it's set to status R/O <read only> until you log it in. But if you try to write a block to the new disk you'll be dumped unceremoniously to the operating system prompt -- ouch! That there are ways to overcome this problem is evident in Eric Meyer's fine small word processor called VDE and in SuperCalc.

The old WS option of ignoring formatting commands when printing a file is still among the missing. If you want a copy of your file replete with dot commands, control codes, etc., you'll have to resort to some other method.

^R to Restore the Last Used Filename

One of the neat little tricks that WS users love is getting the last used filename with ^R, so that you don't have to retype it. It's useful when you want to copy a file, to print it, etc. With WS33 you often got a filename you didn't want, usually the last file printed instead of the last one you worked on. NewWord, on the other hand, was totally consistent: you got the last filename used in any operation that required a filename. This meant that if you use a standard format file that you read into your working files you print the standard format file several times a month when you blithely save the file and hit P[ESC]. [With NewWord, and WS4, you don't even have to hit ^R, you just hit the [ESC] key and the last filename you used is sclected for a print or edit command.] And after a merge print operation goes awry and you want to edit the main file, you get the data file instead because even though you never entered it NewWord used the filename of the data file in order to print. That's at least consistent.

Well, at least one thing seems clear so far. Even though you use ^KR, ^KJ, and ^KW to read in, delete, or write out blocks to files, when you want to print after editing, or you want to resume editing, WS4 assumes you want to print or edit the last file edited. This holds true when you merge-print a file. If there's a glitch you probably want to edit the form letter, not the data file. But NW2 would always present you with the last used filename, in the case of a merge-print that would be the data file called by the form letter. Thank you MicroPro.

The bad side of what MicroPro selected from NewWord in this regard is the grabbing of the drive and user area along with the filename. WS33 grabbed only the filename, so you could save a file, copy it to another drive (I often edit in a RAM disk, so I copy to a floppy before I print), then print, using ^R to get the filenames and adding drive specifiers as needed. With NewWord, and WS4, the drive specifier comes along so that in these cases you'll find you're printing from the floppy instead of the RAM disk, or editing from the floppy instead of the RAM disk.

Bugs: Printer Driver Not Found

Well, here's a little bug: On my Osborne Exec with Drive C: RAM disk and 10 Mb Trantor hard disk, when I am working on a file that's not on the logged drive and want to print it. WS4 won't recognize the printer driver if I just hit p[ESC], or even if I hit p^R[ESC], but it will recognize the printer driver and print the file if you hit p^R<cr>[ESC]. I haven't been able to duplicate this on my Kaypro 10 at home.

Of course, the support rep at MicroPro didn't even know that you could hit p[ESC]: the documentation says nothing about this at all. [At the September ChiKUG meeting I was advised that this works on the MS-DOS version, too, inadvertently discovered by a user who wanted to ESCape after inadvertently hitting P when he wanted to edit a file. Much to his surprise the last file he had edited began to print!]

Bugs: Display Soft Spaces

A nice feature of WS4 is the ability to display 'soft' spaces, the spaces thrown in by WS to justify your text. On my Osborne Executive with Drive C: RAM disk and Trantor hard drive entering ^OB throws the display into a tizzy. Nothing was lost, however, but the only escape seemed to be to save the file and go back to the main menu.


In general the WS4 documentation is rather good. The Encyclopedia section of the manual is something you'll want to refer to often to be sure that you understand just how some of the features work. I didn't really look at the tutorial, but I'm reasonably sure it's based on the NewWord tutorial which was very good. On the other hand, there are lacunae. For example, in WSCHANGE there are lots of parameters that you can change. Often there is nothing to tell you why you ought to change <or not change> a particular parameter. The problem is even worse in the MS-DOS version where there are more parameters that you can change. In addition to undocumented matters, there are some places where the information is buried in such a manner that you're unlikely to find it. Here's an example.

Getting out of WSCHANGE

The WSCHANGE program is a biggie. There are layers and layers of menus. At least in these early stages I'm finding that I often want to change one item that I realize I should have set up differently. Load WSCHANGE. Select item from main menu. Select item from sub-menu. Select item from sub-sub-menu and make change. Enter x to exit from sub-sub-menu to sub-menu. Enter x to exit from sub-menu to main menu. Enter x to exit from main menu to save options. Answer Y<cr>, done making changes. Wait before each step to watch the screen update. Yeeecccchh.

Yes, Virginia, there is a better way: When you've made your last change, hit ^X to bypass all the intermediate menus and get directly to the save options. This is mentioned in the detailed explanation of WSCHANGE in Appendix C. The problem is that most experienced users will probably not read the whole of Appendix C, because it details the steps of using WSCHANGE which they will find relatively easy to work through without reading the detailed written materials. Again, this is also true of the MS-DOS version.

MicroPro Help

I've had a few problems with the CP/M Edition of WordStar 4, and called MicroPro twice as a result. I also have a copy of the MS-DOS version to serve as a backup to my daughter Irene's Osborne Executive while she's at the University of Illinois. I had a problem setting that up at the local public library and called for help on that, too. In all instances I got on with only a moderately long wait <under five minutes, not a toll-free call> and got a quick answer or a report that they hadn't heard about that one yet. <Remember, I called about ten days after release of the program.>

MS-DOS Problem

I was trying to get WS4 to run on an AT&T 6300 two floppy drive system. The dictionary has to go on a separate disk since it won't fit on a 360K floppy with WS.EXE and the overlays. WS is supposed to prompt you to remove the program disk and insert the dictionary disk. Instead I got an error message that the spelling checker was permanently turned off, there wasn't enough memory, or some third reason I can't remember. The first wasn't true, the system had 640K memory so the second wasn't true, and the third reason wasn't valid, either. MicroPro support told me that the Files=20 statement in the CONFIG.SYS file wasn't enough <though the manual says it is> and that Files=30 is needed. I haven't had a chance to check this yet.

CP/M Edition Problems

I tried printing proportionally spaced and justified with my Hewlett Packard LaserJet without reading the full file first. I assumed that if I turned ^OJ <justification> on and reformatted the file it would print justified. It wouldn't justify. I was quickly advised to try putting .oj on in the file at the top to turn on justification instead of using the ^OJ command. It worked. The support rep also suggested putting .uj on to turn microjustification on, but I think that's not really necessary.

At the same time I complained that I couldn't get WS4 to recognize the printer overlay even though I had told it the new name in WSCHANGE. He didn't know that it had to be changed in two places and left me with the impression that no matter what you did in WSCHANGE you couldn't change the name of the printer overlay from WSPRINT.OVR.

My second question was about WS4 not finding the printer overlay when attempting to print a file in another user area. The support rep told me this was the first time they had heard that complaint. As I mentioned, I haven't been able to duplicate it on my Kaypro at home.

MicroPro's Attitude Toward CP/M

The important thing I learned, and it wasn't much of a surprise, was that MicroPro considers the CP/M Edition a pimple on the hide of the elephant. The support rep didn't use those terms, but I got his drift. The CP/M Edition wasn't expected to be a big seller, so no more effort than was necessary was to be expended on it. Support requirements were expected to be minimal, and changes weren't expected to be in the works.

It turns out that so far MicroPro is surprised at the strength of the CP/M market. Whether that will translate into some real support is hard to say. The little bugs and things that we have been finding are evidence of lack of beta testing and a failure of will on the part of MicroPro. On the other hand, we ought to be properly grateful that MicroPro didn't simply decide that the CP/M market was not worthy of consideration: WS4 is definitely a winner for the CP/M WS user on a number of grounds.

A Minor Goof: ^P^@

I came across another minor problem. I wrote a memo to the office staff about the need for .oj on in justified proportionally spaced files. I turned proportional spacing on with the .ps dot command, justification on with the .oj dot command, and laid out the header. Naturally, the text on the formal lines at the top after "To:", "From:", and "Date:" did not line up neatly. So I tried to follow the manual and enter ^P@ to get them to line up. I couldn't get a ^P@ to enter: when I hit the @ sign after the ^P nothing happened. The mystery was not difficult to solve: you need to enter ^P^@.

Paragraph Margin: A Favorite New Feature

One of my favorite new features is paragraph margin, as MicroPro calls it. You know I use indented paragraphs, so every time I hit the return I need to hit the TAB key to start the next paragraph. No more. Enter .pm 3 (or use the number you want) and each new paragraph is automatically indented.

Left margin setting is independent of paragraph margin, that is, the paragraph margin is set from 1 even when the left margin is not at 1. This means you can use paragraph margin with left margin set farther in to make hanging 'outdents', as well. My list of features that WS 2.26 didn't have, that WS 3.3 didn't have, and WS4 still doesn't have at the top of this article is an example of this nice feature.

You Need to Learn New Habits
If you're used to setting margins with ^OR and ^OL, using ^OG to indent paragraphs, and using ^OJ to set justification, forget them. You'll be well advised to NEVER use any of those commands again: these settings are transitory. If you want justification on, put a .oj dot command in the file. <Better yet, don't put it in until just before you print. You don't need to worry about soft spaces, and WordStar will throw them in as you print. Delete the .oj on line <or comment it out by adding an additional period at the beginning of the line> when you go back to edit.

The same is true of margins: if you use dot commands to set them they are in the file permanently, so you can edit the file and globally reformat <now called "align"> the file and have it come out the way you want it.

When I do typical correspondence I want it to be proportionally spaced on my LaserJet. That means about 98 characters on a line, far to many for comfortable entering or editing on an 80 column screen. And justified text on the screen (a) looks funny because the mono-spaced display has to put whole spaces between words to accomplish the task of justification and (b) there are soft spaces that can make a mess of editing <though WS4 can display the soft spaces.> <By the way, VDE deletes soft spaces when you load a justified WS or NW file. It's uncanny: you just load the file and it's not justified any more.> So what I do is to leave the margin at the default 65 characters. I enter the dot commands for proportional spacing on (.ps on) and for the character width I like .cw8 -- if you set it at 9 there's a bit more white space and large chunks of all caps can be handled a bit better -- 10 and 11 are nice for spread out titles, but a bit to wide for normal text). I add .pf on to turn print-time formatting on <WS4 will format the file to 45 characters wide as it prints>, and .uj on to turn micro-justification on.

When I am ready to print I will enter the following dot commands:

.oj on ;sets justification on
.rm 45 ;sets right margin at 45

The file is then printed normally (merge print is only required when you are replacing variables with data, all 'mail merge' dot commands work when you print a file normally) and WS4 sends it out with the right margin at 45 and justification on. Editing when changes are necessary is easy: just comment out the two dot commands by adding an extra period at the beginning of the two lines. Before printing, take out the extra periods again.

Of course, the sophisticated way to do this would be to have a file called like this:

.rm 45
.ps on
.uj on
.pf on
.dm Name of file to Print Proportionally Spaced:
.av filename
.fi &filename&

Another similar file would be called and add a line .oj on. The .dm line would have the word justified added.

Enough of This!

I could, no doubt, go on and on and fill all of this newsletter with these ramblings. But I think you've seen enough. WS4 is worth the bucks: get out your check book and prove to MicroPro that CP/M users really do want a better WordStar and are willing to pay for it.