Qedit 5.8 for HP e3000
User Manual
Doc-To-Help Standard Manual
by Robelle Solutions Technology Inc.
Program
and manual copyright © 1977-2005 Robelle Solutions Technology Inc.
Permission
is granted to reprint this document (but not for profit), provided that
copyright notice is given.
Updated
Friday, August 08, 2008
Qedit
and Suprtool are trademarks of Robelle Solutions Technology Inc. Windows is a
trademark of Microsoft Corporation. Other product and company names mentioned
herein may be the trademarks of their respective owners.
Robelle Solutions Technology Inc.
7360 – 137 Street,
Phone: 604.501.2001
Fax: 604.501.2003
E-mail: sales@robelle.com
E-mail: support@robelle.com
Web: www.robelle.com
Contents
QLIB and Bonus Contributed Software
Who Should Use These Instructions?
Important Note About Passwords
Step 2: Install QLIB and Bonus Programs
Step 3: Install NM Compiler Interface
Step 4: Install CM Compiler Interface
Choosing a CM Installation Method
Integrating CM Compiler Changes
Moving Qedit to Another Account
Removing the Compiler Interface
Removing the Integral CM Interface
Removing the Isolated CM Interface
Getting a Quick Start with HP Full-Screen Editing
Dividing and Gluing Operations
Excluding Lines From Visual Mode Display
Justifying Lines in Visual Mode
Marking Changes Without Using Line Numbers
Undoing Changes in Visual Mode
Getting a Quick Start with Line Mode Editing
Open and Shut for Instant Access
Edit in Line Mode or in Full-Screen Mode
Random Name for Primary Scratch File
Info= "-p 99" Specifies Parm Value
Parm 512 to Edit a Single File
QEDSTOREDPWD and QEDPROMPTEDPWD Variables
Using a Command File to Start Up
Qedit and Reflection File Transfers
Form Feed Causing Return/Line Feed
Accidental Exit from Reflection
Unresolved Externals on MPE/iX 4.0
Disc Space for Files and Xltrim
Getting Programs to Read Qedit Files
Using Qedit with MPE Programming Languages
Editerr: Trapping Compiler Errors
Invoking PowerHouse from Qedit
Configuring Qedit as Your Editor
QNote UDC for Occasional Memos
Searching Groups of Files for Strings
Native-Mode Output Spool Files
Editing Bells, Tabs and Escapes
Stopping Commands with Control-Y
Add (Adding a String as a Line)
Add (Copying Lines within a File)
Add (Moving Lines within a File)
Add (Copying Lines Between Files)
:Beginfile and :Endfile Commands
:Editerror Command [EDITERROR]
:If, :Endif, :Else, :Elseif Commands
:Listredo Command [LISTREDO/F7]
:Tdpfinal and :Tdpdraft Commands
Troubleshooting and Error Messages
Accidental Invocation of MPE/iX CI
Problems with 700/9x Terminals
Pascal/V Compiler Stack Overflow
Wide Lines and User Procedures
Installing Your Interface Procedures
Communication Flags for User Code
Qedit-Compatible Software Tools
CCS - Corporate Computer Systems
Escaped Sequences in Regular Expressions
Backreferences in Regular Expressions
Escaped Characters in Replacement String
? Means Help, Nonprinting Characters,
Alphanumeric (in Patterns) or Optional (in Regexp)
$ Means Hex, Standard File, Memory Lock, List
Option, Previous File or End-Of-Line (in Regexp)
^ Means Findup, Control-Char, Start-of-line (in
Regexp) or Negate (in Regexp)
. Means Nonprinting, Reset, Decimal Point or Any
Character (in Regexp)
! Means Posix Command or Too Long
* Means Current, Refresh, Multiply or Quantifier
(in Regexp)
\ Means Previous, String, Literal Match (in
Regexp) or Special Characters (in Regexp)
/ Means Prompt, Range Delimiter, Stop, Exit, or
Divide
[ Means FIRST, [default] or Start Class (in
Regexp)
] Means LAST or End Class (in Regexp)
{ } Are for Comments or Indentation
& Means Literal Match or Continue MPE Command
< Means Move, I/O Redirection or Backward Page
> Means Forward Page, I/O Redirection, Modify
or Qhelp
( Means Start Parameter, Member, Command or
Subpattern (in Regexp)
) Means End Parameter, Member, Command or
Subpattern (in Regexp)
+ Means Ahead Some Lines, Add or Quantifier (in
Regexp)
- Means Back Some Lines, Minus or Range (in
Regexp)
Welcome to Qedit, the fast, full-screen text editor for MPE and HP-UX. To get into Qedit, enter this MPE command:
:run qedit.pub.robelle
Qedit version 5.8 has screen-editing, function keys and commands:
Commands:
Add |
FINDUp |
Open |
ZZ |
Add(=copy) |
FORM |
Proc |
%ext |
Add(<move) |
FORward |
Q |
shell |
Add(=file) |
GARbage |
REDO |
|
Append |
Glue |
RENum |
|
BAckward |
Help |
Replace |
|
Before |
HOld |
Set |
|
Change |
Justify |
SHut |
|
COLcopy |
Keep |
SPell |
|
COLMove |
List |
Text |
|
Delete |
LISTREDO |
UNDo |
COmp |
DEStroy |
LISTUndo |
Use |
RUN |
Divide |
LSort |
Verify |
Mpe |
DO |
MErge |
VIsual |
Udc |
Exit |
Modify |
Words |
Cmdfile |
Find |
New |
Zave |
=calc |
Function Keys:
F1 Upd Next/Visual |
F2 Roll Up |
F3 Findup |
F4 Find |
F5 Backward |
F6 Forward |
F7 Do ===> |
F8 Exit |
Qedit
comes with a User Manual and a Change Notice. You may have received printed
copies of these. If you wish to have printed copies, you can order them by
filling out the form on our web site.
For a complete description of the latest changes made to Qedit, the installation instructions, and any compatibility issues, see the change notice that was included with the release.
The
latest user manual and change notice are available in Adobe PDF format. If you
do not already have the Adobe Acrobat reader, you can get a copy from http://www.adobe.com/prodindex/acrobat/readstep.html.
If you wish to have printed copies, you can order them by filling out the form
on our web site.
You can
download the files from the Robelle web site at http://www.robelle.com/library/manuals/.
In addition to the Qedit User Manual and Qedit Change notice, there are other manuals that come with Qedit. Manuals for bonus programs and the contributed library are available in Robelle's Prose format, not in PDF format. They are found in the Robelle account on the HP e3000, and are printed using the Printdoc program. Printdoc prints the manual on your printer, whether LaserJet or line printer.
To print them on your printer, whether LaserJet or line printer, run the Printdoc program.
:run printdoc.pub.robelle
Printdoc is menu-driven, and very easy to use. Printdoc asks you for information, and if you are not sure of your answer, you can ask for help by typing a question mark (?) and pressing the Return key. There are two steps for printing a manual: first, choose one of the manuals on the menu; second, select a printer. Printdoc supports most types of LaserJet printers and regular line printers.
You may want to print at least one copy of these manuals:
prose.qlibdoc.robelle {text formatter}
spell.doc.robelle {Bonus spelling checker}
contents.qlibdoc.robelle {contributed library}
howmessy.doc.robelle {Bonus database analyzer}
You can print any Robelle document if you know the file name. If you wish, you can include the file name in the :Run command. For example, to print the Spell User Manual, type
:run printdoc.pub.robelle;info="spell.doc.robelle"
When you purchase Qedit, customer support is included for the first year. After the first year, there is a yearly Maintenance fee. If you are a Right-to-Copy user at a branch of a larger company, you have two options. If you pay only the one-time Extra CPU surcharge, then you must obtain your support from your own corporate resources. If you wish to have support at your own location, you may obtain this by also paying the regular Maintenance fee. With this yearly support for Qedit, you are entitled to call with questions. Service also supplies you with a yearly update to Qedit.
Do you receive a copy of What's Up, DOCumentation?, our regular news memo about Robelle, MPE, and HP-UX? We distribute our news memos only to sites with current service. Your copy may be going to your corporate headquarters.
The lastest newsletter is also available from our Web site at www.robelle.com/newsletter/.
Qedit comes with an array of contributed software in the QLIB library (in the QLIB groups of the Robelle account). The tools in QLIB, such as Prose to print manuals, can be extremely handy. As well, your Robelle license may entitle you to receive our Bonus programs: Compare/iX, a file comparison tool, HowMessy, an analyzer for database efficiency, Select, a menu processor, Spell, an English spelling checker, and Xpedit, a VPLUS text editor.
If you have the Bonus programs, you may only use them on appropriately licensed CPUs; you may not give a Bonus program away. However, QLIB programs may be used on any CPU and given away freely.
To browse through the Robelle account, including QLIB, use our Select "menu" program. Select allows you to run programs, get help, and print manuals, all without knowing any MPE commands.
:run select.pub.robelle,qlib
Compare/iX compares two text files (Keep or Qedit format) and prints out the differences. The basic comparison unit is a line. Compare/iX identifies three types of differences: lines that are in the first file but not in the second; lines that are in the second file but not in the first; and lines that are in both files, but don't match. There is no Classic version of Compare/iX for MPE V.
HowMessy analyzes a database and prints a report on its internal efficiency, 10 to 20 times faster than similar programs. To access HowMessy, log on as the database creator in the same group as the database and enter:
:file loadrept;dev=lp;cctl
:run howmessy.pub.robelle
Enter database:CUSTMR
Spell is a spelling checker that reads a file and produces a list of misspelled words. Spell comes with an 80,000 word English dictionary, and you can add your own words into global or local auxiliary dictionaries. Spell reads Qedit files, and has an option to generate an error file that is compatible with the :Editerror command.
This manual uses a standard notation to describe commands. Here is a sample definition:
VERIFY [ @ | ALL ]
[ keyword ...]
1. UPPERCASE - If the commands and keywords are shown in uppercase characters in a syntax statement, they must be entered in the order shown (example: ALL). However, you can enter the characters in either uppercase or lowercase.
2. Lowercase, highlighted - These are "variables" to be filled in by the user (example: keyword). The variables may be highlighted by underlining or italics. Each such "variable" is defined elsewhere (see the "Qedit Glossary" on page 341 when you have trouble). In the Help command, highlighting is not available, so these variables appear simply in lowercase.
3. Brackets - enclose optional fields (example: [ALL]).
4.
Braces - enclose comments which are not part of the
command. However, braces and comments are accepted in actual Qedit commands.
/listq filename {Q means without line numbers}
5. Up lines - separate alternatives from which you select (example: SET CHECK [ON|OFF]). The choices are sometimes listed on several lines without "up lines".
6. Dot-dot-dot (...) - indicates that the variable may be repeated many times in the command.
7. Other special characters - literal symbols that must appear in the command as they appear in the manual (for example, "=" in Add linenum = rangelist).
In examples, there is an implied Return key at the end of each line.
Control characters, generated by holding down Control while striking another key, are either spelled out (e.g., Control-H) or abbreviated with a circumflex prefix (e.g., ^H).
When Qedit asks you a question, the default answer is shown in [brackets]. The default is the answer that Qedit will assume if you press only the Return key.
Here are a few highlights of the new features in Qedit. For a complete list of changes, plus details on how to take advantage of all the new features, see the change notice that accompanied your tape. See the "Documentation" section on page 2 for instructions on how to print the change notice. All changes discussed in the change notice have been incorporated into the user manual and help file, but the change notice gives you everything new in one convenient document.
This section describes the latest enhancements to host-based Qedit and the server portion of Qedit for Windows. For information about enhancements to the client portion of Qedit for Windows, see the Qedit for Windows User Manual.
·
Text command. The text command would fail with
Integer Divide by Zero error when texting in some variable length or bytestream
files.
·
Regular Expressions. Qedit would improperly
report the error "String longer than maximum allowed" if the
expression specified is longer than the window of the rangelist.
Here we describe how to install and configure Qedit, and how to integrate it with your compiler tools. The following are general notes about installing Qedit.
Use the following installation instructions if you have just purchased
Qedit and are installing it for the first time. If you already have Qedit on
your system, and are installing an update or pre-release of Qedit, you will
find specific installation instructions in the change notice included with your
tape.
TRIAL USERS: Refer
to the Robelle Trial Handbook that accompanied your trial tape.
To install Qedit, follow these steps:
1. Install Qedit
2. Install the QLIB and/or Bonus programs
3. Fix the NM compilers (XL only)
4. Fix the MPE V compilers (both systems)
5. Save disc space (optional)
Qedit edits compact files of a special format called workfiles. In order to be able to compile these files without doing a Keep command, you must "fix" the MPE compilers. This applies to the Classic 3000 compilers (CM), which might exist on either an MPE V or MPE/iX system, and the NM compilers on MPE/iX only. The methods and installation steps are quite different between the CM and NM Qedit compiler interfaces.
Many third-party tools either read Qedit files already (e.g., PowerHouse, MPEX) or can be altered to read Qedit files (techniques for doing this are discussed here).
None of the jobs that we supply have passwords in them. Before streaming a job, you may have to add your system's passwords to the first line. Users of MPE XL version 3.0 and higher do not have to do this because the operating system prompts for missing passwords. The same is true for some MPE V users who have security software that inserts passwords. Most MPE V users have to edit the jobs. For example, if the system manager logon password is Qwerty, you would do the following:
:editor
HP32201A.07.22 EDIT/3000
/text robelle.job.robelle
FILE UNNUMBERED
/modify 1
MODIFY 1
!job robelle,manager.sys,pub;hipri
i/qwerty
!job robelle,manager.sys/qwerty,pub;hipri
/keep robtemp
/exit
END OF SUBSYSTEM
:stream robtemp
:purge robtemp
Users of STREAMX, a part of SECURITY/3000 from VESOFT Inc., must set a Job Control Word before streaming jobs. This step prevents STREAMX from generating an error if the Robelle account does not yet exist. For example,
:setjcw streamxtempnonest 1
:stream robelle.job.robelle
This step requires three separate procedures: restoring all Robelle files from tape to disc, building (or upgrading) the Robelle account using the job stream that we provide, and streaming the installation job stream. All these procedures can easily be accomplished if you log on as Manager.Sys.
Restore Files
First, you have to restore all the Robelle files from tape.
:hello manager.sys {log on as system manager}
:file rtape;dev=tape {
:restore *rtape; @.@.@; create {=reply on the console}
Check the :Restore listing for files that could not be restored because they were busy for any of the following reasons: someone was using them, they are held as suspended son processes (menu system), they are allocated, or someone was backing them up! Chase away any users and deallocate any busy programs. Then try the :Restore again.
Create/Update
Robelle Account
You must build (or upgrade) the Robelle account with the job stream we provide. Stream the job that builds and updates the Robelle account.
:stream robelle.job.robelle
If the Robelle account already exists on your system, the installation job preserves the current passwords.
If the account does not exist, it is created with the password XXXX. The Mgr.Robelle user does not have a password. You should change the passwords to something that will be hard for outsiders to guess.
:altacct robelle;pass={robelle account password}
:altuser mgr.robelle;pass={mgr.robelle user password}
Please note that during installation, we add OP capability to the Robelle account. When the Qedit installation is complete, you can, if you wish, remove the OP capability.
File Names
The Qedit program files are located in the Pub group of the Robelle account. These are the names of the various files:
Qeditnm |
|
NM Qedit program |
Qeditcm |
Qeditpm |
CM Qedit programs |
Qcompxl |
|
NM compiler interface |
Qedify |
Qcompusl |
CM compiler interface |
Qloadxl |
|
NM Qedit options |
Ederrnm |
Ederrcm |
:Editerror support |
Qmap |
|
reformat MPE V PMAP |
Install Program
Files
Our installation job installs Qedit. No one can be using these programs when you do the installation. Warn people not to use Qedit for a while, and then stream our installation job:
:hello mgr.robelle
:warn @;please exit from Qedit NOW!
:stream install.qeditjob {supply passwords}
Check the installation job $stdlist. If anyone was using Qedit or attempting to back it up, the job will fail. Chase away any users, ensure that backup is not in progress, then stream the installation job again.
The installation job renames your current versions of Qedit to the PubOld group of the Robelle account. If you need to move these versions back into production, use the Previous.QeditJob job stream.
You can now access Qedit by entering
:run Qedit.pub.robelle
If you wish to print manuals, move Qedit to another account, read on in this chapter for instructions.
Qedit comes with an array of contributed software in the QLIB library (in the QLIB groups of the Robelle account). QLIB programs may be used on any CPUs and given away freely. Your Robelle license may also entitle you to receive our Bonus programs: Compare/iX, HowMessy, Select, Spell, and Xpedit. These programs reside in the Pub group of the Robelle account. Bonus programs can only be used on authorized machines, and you may not distribute them to your friends.
If you received Bonus programs with this version of Qedit, use the job stream called Bonus.Job.Robelle to install both the QLIB and Bonus programs. If you did not receive Bonus programs, use the job stream Qlib.Job.Robelle to install the QLIB programs. If you skip this step, you may end up running old versions of these programs.
:hello mgr.robelle
:stream bonus.job.robelle {or Qlib.Job.Robelle}
The Spell Bonus program requires an additional install job to build its main dictionary. This job is required if you want to use Spell, and the Spell and Words commands in Qedit. By default, the American spellings are used. To use British spellings, modify the line that sets the SpellAmerican JCW so that the JCW is set to False. This job stream could take 30 to 60 minutes to complete; there is no reason to wait for it to finish before going on to the next step.
:run qedit.pub.robelle {or use :Editor}
/text dictmain.spjob
/modify "setjcw SpellAmerican" {for British spelling, }
/keep robtemp { change True to False}
/exit
:stream robtemp
:purge robtemp
See the Spell user manual for more information on using Spell.
On MPE/iX, if you use any NM compilers, you will want to install the new NM compiler interface. If you still use the CM compilers as well, you will want to install that compiler interface too, as described under step 4.
Assuming that you have Restored the Robelle files onto your system and that you have not done this step before, stream Savecmdf.Qeditjob to make backup copies of the existing HP command files in the Stdcmd.Sys group. You need to know the Manager.Sys password:
:stream savecmdf.qeditjob.robelle {wait for it to finish}
:listf @.stdcmd.sys
Then stream Qcompxl.Qeditjob to make changes to the Pub.Sys compiler command files.
:stream qcompxl.qeditjob.robelle
This stream makes the following changes to the files:
1. Change the run of the compiler program to
;xl ="qcompxl.pubnew.robelle, qcompxl.pub.robelle",
2. Add ";shr" to the File commands for the text and master files.
At any point, either within Qedit or at the MPE/iX prompt, you now should be able to compile a Qedit file or a Keep file, just by invoking the normal command file:
:pasxl source {from MPE}
:run qedit.pub.robelle
/pasxl source {from Qedit}
Within Qedit, you can specify "*" for the current workfile:
:run qedit.pub.robelle
/text source
/pasxl *
/exit
:pasxl qeditscr
When installing Qedit on MPE/iX, you may have to install the NM compiler interface (described earlier) and the CM compiler interface (described here). MPE V, on the other hand, has only the original "CM" compilers to worry about. After Restoring the files from tape, you have to choose an installation method: integral or isolated.
There are two methods of fixing the compilers on your system: integral into Pub.Sys or isolated in the Robelle account. The isolated method is best for new or trial-period users, because it is faster to install and easier to remove later. You can start with the isolated method and convert easily to the integral method later.
Integral Method. The compilers in Pub.Sys are "fixed" directly and a segment is added to the System SL. The standard :Cobol and :Pascal commands of MPE will then compile Qedit workfiles. :Sysdump is used to make a new cold load tape for the next time you must boot the system.
Isolated Method. The MPE compilers are copied into the Q.Robelle group and the original compilers are left in the Pub.Sys group. No code is added to the System SL. Because the "Qedit" compilers are not in Pub.Sys, you cannot compile Qedit workfiles except from within Qedit.
The job stream Qeditj1.Qeditjob.Robelle makes integral compiler fixes. Use it either to update the fixes to a new version or to re-install the fixes after a MPE update from HP. Because this job modifies the compiler program files in Pub.Sys, you should :Store @.Pub.Sys before starting and save the tape. You need another small tape for a new cold load tape.
Ensure that no one compiles until the installation is complete. Stop all jobs and send an operator warning. Log on as Manager.Sys, modify the first line of the Qeditj1 job to include the passwords, then :Stream the job.
:stream qeditj1.qeditjob.robelle
The job runs Qedify.Pub.Robelle to update the compilers in Pub.Sys and install nonprivileged hooks into them, so that they can access Qedit workfiles. The job adds a code segment from Qcompusl.Pub.Robelle into Sl.Pub.Sys and then requests a tape mount for a new cold load tape.
Mount a tape with a write ring and :Reply. Save this tape and use it for any future cold loads. The CM compiler interface is now installed. Compiles done inside or outside Qedit work on either Qedit workfiles or on regular Keep files.
The job stream Qeditj1a.Qeditjob.Robelle fixes the compilers, but isolates the changes in the Q.Robelle group. Ensure that no one compiles until the installation is complete. Stop all jobs and send an operator warning. Modify the first line of Qeditj1a to include the Robelle password, then stream the job:
:stream qeditj1a.qeditjob.robelle
The job uses Qedify.Pub.Robelle to copy the compilers from Pub.Sys to the Q.Robelle group, then "fix" them to read Qedit files. The original compilers in the Pub.Sys group are not modified. Once this step is completed you can use the CM compilers on Qedit files from within Qedit, but not at the MPE prompt.
There may be obsolete or unnecessary files in the Robelle account that you can remove to save disc space.
If you have been a Qedit user for several years, you may have obsolete files in the Robelle account. For example, the file Qapply.Doc.Robelle is an older version of part of the Qedit User Manual. It should be purged.
To remove all obsolete files that were part of the Qedit product, stream the job Obsolete.Qeditjob.Robelle.
If you are extremely short of disc space, you can purge many files in the Robelle account after you complete all installation steps. The only files you must have to run Qedit are those listed below. Of course, if you have other Robelle products such as Suprtool, you do not want to purge the files needed for them, which are listed in their User Manuals.
Filename |
Purpose |
qedit.pub.robelle |
|
qloadxl.pub.robelle |
optional NM run-time |
qeditpm.pub.robelle |
allows BS priority |
qcompxl.pub.robelle |
MPE/iX only |
qedify.pub.robelle |
CM compiler interface |
qcompusl.pub.robelle |
CM compiler routines |
@.q.robelle |
copies of CM compilers |
qedit.help.robelle |
|
qedhint.help.robelle |
|
qzmodhlp.help.robelle |
|
qmap.pub.robelle |
for QMAP in :Prep command |
prose.qlib.robelle |
to print manuals, you need this |
f92286f.qlibdata.robelle |
and at least one font files |
There are a number of jobs in the Purgejob.Robelle group which can help clean up the Robelle account of unwanted files. One in particular that you may want to use is Cleanup.Purgejob.Robelle. After you have completed the Qedit installation, Cleanup gets rid of all the pre-installation files.
:stream cleanup.purgejob.robelle
Although the Qedit program file is normally installed on the system Qedit.Pub.Robelle, you can move the program to any account and group that has PH and DS capability. There are some file names that are built into Qedit:
Filename |
Purpose |
qedit.help.robelle |
the Qedit help text |
qedhint.help.robelle |
the hint-of-the-day file |
qzmodhlp.help.robelle |
help text for Qzmodify |
qmap.pub.robelle |
for QMAP option of :Prep |
cobol.q.robelle |
etc., the CM compilers |
qeditmgr.pub.robelle |
a configuration file |
qloadxl.pub.robelle |
NM run-time routines |
Qedit follows the location of the program file in deciding what file names to open. If you move the Qedit program to the PUB group of the UTIL account, Qedit looks for the files listed above in that account rather than Robelle. If Qedit resides in a group named Pubnew (or Pubxxx), the three "help" files will be searched for in HELPNEW (or HELPxxx). The Qeditmgr file is always assumed to be in the same group as the Qedit program, while Qmap must be in the Pub group and the CM compilers in the Q group.
:hello mgr.util,pub
:fcopy from=qedit.pub.robelle;to=qedit.pub.util;new
:fcopy from=qloadxl.pub.robelle;to=qloadxl.pub.util;new
:fcopy from=qedit.help.robelle;to=qedit.help.util;new
:fcopy from=qedhint.help.robelle; &
to=qedhint.help.util;new
:fcopy from=qzmodhlp.help.robelle; &
to=qzmodhlp.help.util;new
:fcopy from=qmap.pub.robelle; &
to=qmap.pub.util;new
The Verify Account command shows what account Qedit searches for the Qeditmgr file, Qmap.Pub, and the CM compilers. Use Set Account to override the default. The Verify Filename command shows the names assumed for the "help" files and Set Filename allows you to override them.
Suppose you run Qedit in the Util account, but you don't want to move the rest of the files to that account. You would use Set Account Robelle and Set Filename commands to force Qedit to look back into Robelle for the files instead of in Util.
When you install MPEX and the Vesoft account, they make a copy of Qedit in Pub.Vesoft and "hook" it for closer cooperation with MPEX.
:run qedit.pub.vesoft;lib=p
Since Qedit looks for compilers, help files, and other supporting files in the same account where the program resides, the hooked Qedit looks for those files in the Vesoft account. If you are on MPE/iX and you want I/O redirection of command files, copy the file Qloadxl from Robelle to Vesoft. Put the following Set commands in a configuration file named Qeditmgr.Pub.Vesoft:
/set account robelle {e.g., Cobol.Q.Robelle}
/set filename help qedit.help.robelle
/set filename hint qedhint.help.robelle
/set filename qzmodhlp qzmodhlp.help.robelle
/set extprog mpex.pub.vesoft com on
The Set Extprog command assumes that you want Qedit to explicitly pass % commands to MPEX, rather than have the "hook" intercept all % lines at every prompt in Qedit. It is desirable to handle % commands within Qedit this way, rather than through the hook, because it ensures that your current workfile is properly posted to the disc and it allows you to Add % commands into a file as data without executing them. To achieve this result, you must rehook Qedit with the Nopercent option:
:run mpex.pub.vesoft
%hook qedit.pub.robelle;nopercent {SM or Vesoft logon}
You may not find that you need a hooked Qedit, now that Qedit has a :Listredo stack and accepts the VESOFT-style shorthand ("," for Redo). Some remaining benefits of hooking Qedit are that the System Manager can Keep across account boundaries (but watch out for Creator name), and ACD information is retained from Text to Keep.
The MPEXHOOK procedure, which intercepts file system calls made by Qedit, is activated differently based on whether the program to be executed is a native-mode or a compatibility-mode program. On Classic systems, or on Spectrum systems running compatibility-mode or OCT-mode Qedit, you run the hooked program with lib=p.
:run qedit.pub.vesoft;lib=p
Lib=P works equally well with the native mode version of Qedit. However, with Qedit/iX, you can specify an XL file instead of the Lib parameter:
:run qedit.pub.vesoft;xl="mpexhknl.pub.vesoft"
The hooked version will work version either way. The Lib parameter is there for MPE compatibility reasons (Classic vs PA-RISC). The XL file parameter is the "correct" way of doing it on MPE/iX.
The following sample User Command, which can be used to run the hooked version of Qedit, determines if Qedit is native-mode or compatibility- mode, and invokes it accordingly.
parm runparm=0
if finfo("qedit.pub.vesoft",9)="NMPRG" then
run qedit.pub.vesoft;xl="mpexhknl.pub.vesoft";parm=!runparm
else
run qedit.pub.vesoft;lib=p;parm=!runparm
endif
VESOFT advises that you be running MPEX version 23.11115 or later, so that the Keep-across-accounts feature will work properly with Qedit/iX.
If Qedit/iX aborts with quit parm -50 or -1041, this indicates that the MPEXHOOK support routines are not correctly installed on your system. You will have to stream the VESOFT-supplied job Veproc.Job.Vesoft. If the hooked Qedit/iX still aborts after running this job, you will need to contact VESOFT for a software update.
If you remove Qedit from your system, you will want to revert to the original MPE compilers. Once you remove the compiler interface you can no longer compile Qedit workfiles. you may either Keep them with Qedit, or use the contributed program Qcopy.Qlib.Robelle to convert them to Keep files.
If you did an integral installation of the CM compiler interface, you now do an integral removal. If you did an isolated installation, you now do an isolated removal.
Reverting to the original NM compilers is a simple matter of going back to the original command files. You should have saved those in @.Stdcmd.Sys. Purge the command files in Pub.Sys, such as Pasxl, and Rename or Copy the originals from Stdcmd.Sys.
Qeditj3.Qeditjob.Robelle removes the Qedit CM compiler interface that had been integrated into MPE. The original compilers are Restored and the CM Interface is removed from the system SL. If you are on MPE V, a new cold load tape is created.
Ensure that no one compiles for the next half hour. Stop all jobs and send an operator warning. Log on as Manager.Sys, modify the first line of the Qeditj3 job to include the passwords, then :Stream the job.
Qeditj3 first attempts to :Restore the original compilers from a backup tape (you can use the last Hewlett-Packard update tape). Mount the tape and :Reply on the console. It then removes the Qedit interface segment from Sl.Pub.Sys and requests a tape to make a new cold load tape. Please mount a blank tape with a write ring and :Reply. Save this tape and use it on your next cold load.
Qeditj3a.Qeditjob.Robelle removes the isolated CM compiler interface from the Robelle account, leaving you only the original ones in Pub.Sys. Ensure that no one compiles or uses Qedit until this job finishes. Stop all jobs and send a warning to all users. Modify the first line of Qeditj3a to include the Robelle account password and stream the job.
Qeditj3a purges fixed compilers from the Robelle account, removing the interface.
Qedit aims to provide everything an MPE or HP-UX programmer could need to write COBOL, PowerHouse, or other programs, and to prepare documentation. Therefore, Qedit has Line mode for batch editing and full-screen mode for interactive editing. On HP terminals, Qedit's full-screen mode is called Visual mode.
Qedit's Visual mode is a powerful but friendly full-screen editor designed specifically for programmers. It gives you full access to the editing capabilities of your terminal in block-mode, with low system overhead. You can move, copy, mark and delete blocks of text with Visual's cut-and-paste functions, and page backward and forward through your file with function keys. To use Visual mode, you must have an HP terminal or an HP terminal emulator (e.g., Reflection from WRQ).
NOTE: As of HP-UX 11.0, HP has dropped support for block-mode terminals. For this reason, full-screen editing is only available in Screen mode on HP-UX 11.0 and later.
In Visual mode, you have access to all Line mode commands (including UDCs, command files, compiling, linking and running programs, shell scripts, and string searching and changing). Qedit's search and replace functions aim to be simple, fast and powerful (e.g., ignore embedded words, etc.). The Undo command allows you to cancel any previous edits to your file, working back to the state at which you started. Using the optional Open and Shut feature, you can switch between files instantly. With the Justify command, the Prose text formatter and the Spell checker, you can format documents such as memos and manuals.
Visual mode is a good introduction to the HP operating systems for users who don't work on HP computers all day. Those who may particularly benefit are novice users, or users who run Qedit only to update a report skeleton once a week. These occasional users no longer have to memorize editing commands. Visual mode provides a familiar environment where novices can make changes to the entire screen, just as they do on PC editors. You can even configure some electronic mail packages (HPDesk, elm), to put your users directly into Visual mode when they edit a message.
After you have invoked Qedit, and Texted or Opened a file, you switch from Line mode to Visual mode by typing VI or pressing F1. If you don't have a file open, Qedit opens a scratch file and, if empty, fills it with a screenful of blank lines.
VI [ linenum | "string" ] or press F1
(Default: linenum = *)
Whereas in Line mode you type in command and text lines ending each with a Return, in Visual you edit a full screen of text in block-mode using the terminal keyboard. Since your terminal is off-line from the computer, you can use its cursor and editing keys. You edit by moving the cursor around the screen, inserting and deleting lines and characters. Press Enter to save your changes. To move through the file, you have the convenience of eight function keys, such as F6 Forward One Page.
Visual mode in Reflection for Windows, showing cut-and-paste indicators
You copy, move, hold, and delete blocks of text easily by placing "cut-and-paste" indicators at the start of the line. You may type Line mode commands at the home line ===> and execute them via the Enter or the F7 key. Combining the cut-and-paste functions with the Open and Shut commands, you can also copy and move text quickly between different Qedit files. Use the ZZ cut-and-paste indicator with any command to mark text easily.
The Set Visual command controls how Visual mode operates and allows great latitude in configuring Visual to your own liking. For example, you can choose to have automatic update; decide where the current line or cursor appears; and select how many lines will carry over when you page up or down.
When you are done, exit Visual mode using F8, then Keep or Shut your file. Press F8 again to leave Qedit.
===>
Okay 1691.75 WFILE.DOC.TACCT "verify"(u) Move Ready
* procedure abc;
+1 begin
+2 integer def;
//
....+....10...+....20...+...
The screen starts with the home Line, followed by the status Line, several text Lines, and ends with the template Line. Columns 3 and 4 of text lines sometimes contain special characters and are called the indicator columns.
You type commands, search for strings and for line numbers after the ===> on the home line.
===>
These are executed when the F7 or Enter key is pressed.
The home line is also used by Qedit to print error messages. You must clear the error message by pressing the F7 or Enter key before you can type another command in the home line.
The second line shows the status, the current line number (i.e., that of the * line), the name of the file you are editing, the current string with its window, and any pending cut-and-paste task.
Okay 1691.75 WFILE.DOC.TACCT "verify"(u) Move Ready
If you have Texted a file into Qeditscr, the status line shows the name of the Text file, which is also your default Keep file.
By default you see the * (current) line and 19 lines after it. Each line is prefixed by the relative line number, and two columns for special indicators.
* procedure abc;
+1 begin
+2 integer def;
Use Set Vis Above and Set Vis Below to adjust the number of lines shown above and below the current line.
The last line has // and a column template. The // signals end-of-screen to Qedit and must not be erased.
// ....+....10...+....20...+...
Visual uses more than 76 columns for text on Reflection, Qcterm, a 2393/97, 2626, or 700/9x terminals.
Qedit leaves columns 3 and 4 of the text lines for you to enter cut-and-paste operators (i.e., MM, CC, HH, etc.). Also, Qedit may print one of two special indicators in these columns:
! |
line extends beyond the visible right margin |
? |
line contains control characters, shown as dots |
An ! means the line extends beyond the right terminal margin. To shift the screen image left, type Set Left 55 at the Visual home line and press F7.
A ? means the line contains nonprinting characters such as Nulls, Escapes, Bells, Tabs or possibly Roman-8 extended characters. Qedit replaces these characters with dots (.) in Visual mode, and does not allow you to make changes. These ? lines are not updated when you press Enter.
To edit Bells, Escape sequences, Tabs, ShiftOuts and ShiftIns in Visual, use Set Vis Bell, Set Vis Esc, Set Vis Tab, Set Vis SO and Set Vis SI. All these specify substitute characters to be shown instead of dots. To edit other control codes, use Modify or Change from the ===> line. If you turn Set Editinput Extend Off, Qedit regards Roman-8 characters as nonprinting noise and show them as dots.
In Visual mode, the keyboard gives you the power to move around the screen, edit text, and control the flow of Qedit.
You move around the screen using the cursor keys and others:
Cursor Left |
Move one space to left |
Backspace |
Move one space to left |
Cursor Right |
Move one space to right |
Cursor Up |
Move one space up |
Cursor Down |
Move one space down |
Return |
Down to next line, back to column 5 |
Home Up |
Move to ===> line |
Shift-Home |
Move to bottom of screen |
Tab |
Move to next right Set TAB column |
Shift-Tab |
Move to next left Set TAB column |
Prev Page |
Only moves around terminal memory |
Next Page |
Only moves around terminal memory |
You revise the screen image using these keys:
Space bar |
Move cursor right and erase character |
any char |
Overwrite cursor and move it right |
Del Char |
Remove character at current cursor |
Ins Char |
Enable "insert"; use again to disable |
Ins Line |
Insert blank line above current line |
Del Line |
Delete line at current cursor |
Clear Line |
Erase to the end of the line |
Clear Display |
Avoid! Recovery: Home Up,*,F7 |
To save the changes you have made on the screen,
Enter |
Send screen image to Qedit, update file |
To return from Visual mode to Line mode:
F8 |
exit from Visual |
Some other keys:
Select |
Useless in Qedit |
Stop |
Do not use in Visual |
Break |
Disabled in Visual |
Reset |
Use if screen locks up, press Enter |
Esc |
First key of Escape sequences |
|
Does not delete anything! |
If you are using a PC with Reflection for DOS, you need to map the PC keys into the HP keys.
Note that the PC keyboard has two keys labeled Enter, which are used differently in Qedit. The Enter key above the Right Shift key is called the Return key in this manual, and is used to execute commands in Line mode. In Visual mode, this key moves the cursor down by one line. The other Enter key (on the numeric keypad) is called the Enter key, and is used to update the screen in Visual mode.
Here are the default Reflection keystrokes for common functions:
Terminal Keyboard |
Reflection Key Sequence |
Enter |
Enter on the numeric keypad. If that doesn't work, try the "+" on the numeric keypad, or try Shift-F10 |
Home Up |
Control-Home |
Shift-Home |
Control-End |
Ins Line |
Alt-I |
Del Line |
Alt-D |
Clear Line |
Alt-K |
Clear Display |
Alt-J (avoid in Visual!) |
User keys |
F9 |
System keys |
F10 (then F7 for help) |
Additional Functions |
Reflection Key Sequence |
Begin Line (Column 1) |
Home |
End Line |
End |
Help about Reflection |
Alt-H |
Exit |
Alt-X |
AdvanceLink is similar (Alt-H is help, Alt-I is Insert Line, Alt-D is Delete Line), but Clear Line is Alt-L, and Enter is Alt-F3. Other terminal emulators have their own keystrokes for common functions. See your emulator's manual for details.
Much of the convenience of Visual mode is due to the power built into the eight user function keys: F1 through F8.
F1 |
Update and go to next page |
F2 |
Roll Up Screen n lines, as per Set Vis Roll |
F3 |
Findup (search back for current string) |
F4 |
Find (search ahead for current string) |
F5 |
Backward One Page |
F6 |
Forward One Page |
F7 |
Execute command typed in ===> line |
F8 |
Exit from Visual back to Line mode |
Qedit reads the current page and updates the file, then displays the next page. The F1 key combines the Enter key and F6 (Forward) in a single key. However, F1 does not execute any command typed in the home line as the Enter key would.
Qedit clears the screen and displays a new one that is rolled up n lines (default: 6), where n is controlled by Set Vis Roll.
Qedit searches backward in the file, starting from the * line, until it finds a line that contains the current string. Qedit clears the screen and displays a new page, with * positioned at the line that contains the found string. Visual also displays the target string on the Status line.
Before you can use F3, you must establish the string for which to search. Type the string in quotes prefixed by a circumflex (^"string") at the ===> on the home line and press F7, to do the first Findup.
Qedit searches forward in the file, starting from the * line, until it finds a line that contains the current string. Qedit clears the screen and displays a new page, with * positioned at the line that contains the found string. Visual also shows the target string on the Status line.
Before you can use F4, you must enter the target string. Type the string in quotes ("string") at the ===> on the home line and press F7, to do the first Find.
Qedit clears the screen and displays the previous page. By default, the top line of the original screen becomes the bottom line of the new screen. Use Set Vis Carry to change the number of lines carried over to the new screen.
Qedit clears the screen and displays the next page. By default, the bottom line of the original screen becomes the top line of the new screen. Use Set Vis Carry to change the number of lines carried over to the new screen.
Use the F7 key to execute commands. The current screen is not updated, unless you have Set Vis Update On. Type whatever command you want to execute after the ===>. This includes "strings" to find, Qedit Line mode commands such as Open or Justify, MPE commands, calculator commands (=5/6), and special Visual commands (e.g., * for Refresh, ? for Help). Then press F7. Qedit reads only the home line and executes the function. To first save your screen changes and then execute, use Enter instead of F7.
See the section "Home Line Commands" for complete details.
To return from Visual mode to Line mode, use the F8 key. Press F8 again once you are in Line mode to exit Qedit and return to MPE (: prompt). If for some reason F8 fails to exit from Visual, type / at the ===> and press F7 or the Enter key. This should get you back to Line mode.
Line Number. Move to a specific line (e.g., to line 45).
===>45 F7
> and <. Move ahead or back a page. Use with a number to move several pages (e.g., ahead 3 pages).
===>>3 F7
+ and -. Move forward or backward any number of lines (e.g., back 200 lines). If you do not specify a number, the default is the number of lines configured by Set Vis Roll.
===>-200 F7
~ The Tilde Key. Return to the "most recent" screen. If you jump from line 1500 to line 451, ~ sends you back to 1500. This is handy if you jump briefly to another part of your file to check something then want to get back to your original location.
The tilde is also available from line-mode but it has to be enabled by removing it from the list of string delimiters. In order to do this, you could do the following:
/V stringd
Set STRINGDelimiters "|\~{}[]_@?!#>%&:'"
/S stringd "|\{}[]_@?!#>%&:'"
Notice that tilde has been removed from the delimiter list entered on the Set command.
===>~ F7
FIRST and LAST. Move to start or end of file.
===>first F7
Scrollup Character.
This character can be entered in the cut-and-paste columns to scroll up in the
file. A single character scrolls the number of lines defined by Set Visual
Roll. If the character is entered more than once, Qedit scrolls up that many
times the number of Roll lines. For example, enter 4 minus signs anywhere to scroll
4 X Roll lines. The default scrollup character is a minus sign. It can be
changed to something else with Set Visual Scrollup.
It is never necessary to remember line numbers in full-screen mode. Visual allows you to mark, hold, move, copy, replicate, or delete a block of text, all visually. This is called "cut-and-paste" and is done by putting special indicators in the two blank columns at the left of each text line before you press the Enter key. For example, DD indicates a