Qedit

Qedit Enhancements - A Busy Year!

It is now May 2004 and this has been a very busy 12 months for Qedit at Robelle.

We started the time period with a new release (Qedit version 5.4) that resurrected our beloved "visual mode" on HP-UX 11 - after HP had changed the run-time libraries to remove the block mode routine that Qedit used. Other improvements at that time included the Length function to deal with lines without Newline characters, support for fixed-length COBOL files, string ranges, and much more.

We are ending the period with another new release (Qedit version 5.5) and it is jam packed with enhancements for both HP-UX and MPE users.

Continuous Printing and Page Ejects

The last enhancement for this cycle was a request from Alfredo Rego of Adager; he has a tiny portable printer that uses continuous-form paper. Whenever the software does a page eject, this printer just prints 6 blank lines as a break. Alfredo wanted a way to eliminate the "page breaks" every 60 lines, but continue to have $PAGE lines cause a "page break". So we added Set List Lines 999 to solve this problem.

You control the output of a List command using the Set List Lines option among others. A count between 1 and 256 specifies the maximum number of lines on each page. Qedit skips to a new page every time the specified number of lines is reached or when a $page directive is encountered in the text. You can prevent page ejects completely by entering Lines 0.

To perform continuous printing with no automatic page ejects but skip to a new page on $Page directives, use $lines 999.

/list $lp $lines 999 all     {skips to a new page on $page only}

Appending Merged Lines

Here is an enhancement that was requested by Quad users who were moving to HP-UX and Qedit/UX.

Qedit's Merge command brings two versions of the same file together, matching lines based on the line numbers. If a line number exists in both files, the line from the merged file is copied into the current workfile, replacing the existing line. The new Justified option appends the corresponding line from the merged file instead of replacing.

Text is appended immediately after the last non-blank character if Set Work Trailingspaces is disabled. If Trailingspaces is enabled, text is appended immediately after the last significant trailing space.

Let's say the current workfile contains:

    abc
    def
    ghj

and the external file contains:

    1111
    2222
    3333

A MergeJ would result in:

    abc1111
    def2222
    ghj3333

For more details on this enhancement, see:

http://www.robelle.com/tips/qedit.html#Mergej

Variable Substitution

With Set Varsub On, Qedit examines commands looking for variable names. If a variable name is found and currently exists, its value is substituted before the command is executed. If the variable does not exist, the variable name is left unchanged.

Substitution on HP-UX: Variable names are identified by a leading dollar sign "$". For example, $HOME is replaced with the current value of the HOME environment variable. Some Qedit commands such as List have an extensive series of $-options which have precedence over environment variables. If a variable has the same name as a $-option, the substitution does not occur. If you wish to prevent variable substitution and have Qedit interpret the dollar sign at face value, insert a backslash immediately in front of it as in \$HOME.

Substitution on MPE: Variable names are identified by a leading exclamation point "!". For example, !HPACCOUNT is replaced with the current value of the HPACCOUNT system variable.

For full details on Variable Substitution, see:

http://www.robelle.com/tips/VarsubTrailingSpaces.html#varsub

Scrollup Character and Function

Qedit offers many ways to move around in a file while keeping the number of keystrokes to a minimum. For example, in full-screen mode you can enter the one of the following characters on the homeline or use one of the function keys.

Character	Function Key	Operation
+           F2              Scroll forward, Roll number of lines
-           <none>    Scroll backward, Roll number of lines
<           F5              Scroll backward one screenful
>           F6              Scroll forward one screenful

Enter the appropriate character on the homeline and hit ENTER or F7. Notice there's no equivalent function key for the minus sign "-". You had to bring the cursor to the homeline, enter the minus sign and hit F7 or ENTER.

You can now enter a minus sign in one (or both) copy/paste columns in full-screen mode. A single character scrolls up the number of lines defined in the Set Visual Roll option. Enter 2 minus signs to scroll up twice the number of lines and so on.

The minus sign is the default scrollup character. You can change it to another character that you may find easier to type. It must be a printable character and must not be a valid copy/paste code. Valid codes are: A, B, C, D, F, G, H, J, M, P, R, V, Z, ? and !. Use Set Visual Scrollup "c" to change the character.

/verify visual
Set VIsual Label ON Save OFF CLEar ON Renum ON Above 0 BElow 19 ROll 6
Set VIsual TAE OFF MSG ON HOme ON Widen 80 Carry 1  {Reflect=920W Col=80}
Set VIsual BELL <null> ESC <null> FIeld "~" WOrdwrap OFF HIdetags OFF
Set VIsual HALfbright OFF HOStprompt OFF Inschar OFF Tab <null>
Set VIsual Update OFF CutCurrent ON SCReen OFF SO <null> SI <null>
Set Visual IgnoreLF OFF EDitonopen ON BUF 12000 Marginfixed OFF
Set Visual XX <none> Scrollup "-"   ~-line: 1.59

/S Visual Scrollup "+"
/V Visual
Set VIsual Label ON Save OFF CLEar ON Renum ON Above 0 BElow 19 ROll 6
Set VIsual TAE OFF MSG ON HOme ON Widen 80 Carry 1  {Reflect=920W Col=80}
Set VIsual BELL <null> ESC <null> FIeld "~" WOrdwrap OFF HIdetags OFF
Set VIsual HALfbright OFF HOStprompt OFF Inschar OFF Tab <null>
Set VIsual Update OFF CutCurrent ON SCReen OFF SO <null> SI <null>
Set Visual IgnoreLF OFF EDitonopen ON BUF 12000 Marginfixed OFF
Set Visual XX <none> Scrollup "+"   ~-line: 1.59

You can enter Set Visual Scrollup "" to reset it back to the default character.

Halfbright Display Enhancement

Certain monitors do not support halfbright display enhancements very well. Some messages and prompts are hardly visible. To prevent Qedit from using halfbright, enter Set Halfbright Off.

BlockEmulation Mode with Qcterm Emulator

The Blockemulation mode feature for full-screen editing is available in Qedit for HP-UX. This feature implements full-screen editing, also known as Visual, in the HP-UX environment. A number of changes have been done to take advantage of the free Qcterm terminal emulator from AICS Research.

Preserving Trailing Spaces

By default, Qedit removes trailing spaces on all lines in a variable-length file. Set Work Trailingspaces ON requests that Qedit preserves trailing spaces and make them significant characters. The option also allows creation of odd-length lines. Once enabled, all workfiles created or opened from that point will have trailingspaces preserved. To check the current status, do:

/Verify Work         {checks the global settings}
Set WOrk Jumbo ON Block 8 Labels OFF Temp ON Size 3200 Random ON
Set WOrk TRailingspaces ON
/Verify Keep		{ Checks current workfile }
Set Keep Ascii OFF Cctl OFF COde 0 Lab 0 Num OFF Var ON Checktimestamp ON
Set Keep COBfree ON NAme AFILE.GROUP.ACCT
Set Keep LF ON Saved modification timestamp 2003/04/30  13:23:17
Trailing spaces preserved

The last line shows that trailing spaces are preserved in this workfile. If the option is disabled, that line reads Trailing spaces trimmed. Disabling the global setting with Set Work Trailing Off does not disable the option in the workfile. You have to clear the workfile after disabling it.

Sorting Lines

The Lsort command is now available in Qedit for HP-UX. The related shorthands LSQ, LST and LSJ are also recognized correctly and invoke the Lsort feature.

Colcopy and Colmove Commands

Quad users really miss their Colcopy and Colmove commands when they switched to Qedit. And when they migrate to HP-UX, they no longer have Quad. So we added the commands to Qedit (on both MPE and HP-UX).

Colcopy copies text from specified columns to the other columns on the same line. And Colmove moves the text in the columns. This is all in the same line.

For full details on the new Colcopy and Colmove, see:

http://www.robelle.com/tips/qedit.html#colcopy

Exclude Lines in Full-screen Mode

Sometimes you want to see one part of a file (say the Data Division), followed immediately on the screen by another part of the file (say the code that uses the data declarations). Qedit visual mode now has an Exclude (XX) option to provide that capability. Set Visual XX defines the lines that should be excluded from the full-screen mode display.

For more details, see:

http://www.robelle.com/tips/qedit.html#exclude

MPE may be dying, according to some people, but we continue to add just as many new features to our software products for MPE.