home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.robelle3000.ai 2017
/
ftp.robelle3000.ai.tar
/
ftp.robelle3000.ai
/
changes
/
qedit5p3ix.txt
< prev
next >
Wrap
Text File
|
2003-04-09
|
83KB
|
1,896 lines
QEDIT Version 5.3
Full-Screen Text Editor for the HP e3000
Change Notice
Installation Instructions
Addendum to 5.0 User Manual
Robelle Solutions Technology Inc.
Suite 201, 15399-102A Ave.
Surrey, B.C. Canada V3R 7K1
Phone: 604.582.1700
Fax: 604.582.1799
E-mail: support@robelle.com
Web: www.robelle.com
February 2001
Program and Manual Copyright Robelle Solutions Technology Inc.
1977-2002
Permission is granted to reprint this document (but not for
profit), provided that copyright notice is given.
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.
Introducing Qedit Version 5.3
* Qedit for Windows
* Highlights
* Compatibility
* CPU Serial Number
* Compatibility Mode vs. Native Mode
* Known Problems
* Documentation
* Documentation in WinHelp Format
Qedit is our fast and efficient full-screen editor and development
home base for HP e3000 systems (MPE/iX and MPE V). One of our
objectives for Qedit is to give PowerHouse and COBOL developers
all the necessary capabilities to perform their work from a single
program.
We are constantly enhancing Qedit with new features and fixes
requested by users. Not only does this change notice include a
description of Qedit's enhancements, it includes detailed
installation steps and a list of other changes for host-based
Qedit. This change notice also includes a description of the
server portion of Qedit for Windows.
Host-based Qedit is also available for HP-UX, with virtually
identical features. If you would like more information, please
contact Robelle Solutions Technology Inc.
Qedit for Windows
Our newest editor, Qedit for Windows, now gives you the familiar
Windows interface for editing both MPE/iX and HP-UX files, all
from a single program. Qedit for Windows is the next generation
of our popular editor, which consists of a Windows editing client
and either an MPE/iX or HP-UX editing server that work together to
edit host files. Since its release, we have focused our
development efforts on Qedit for Windows, adding more
functionality and continuing to expand its capabilities. If you
would like to upgrade to Qedit for Windows, please contact Robelle
Solutions Technology Inc.
A version always includes all the changes made in versions that
precede it. For example, version 5.3 automatically includes changes
done in 5.2.11, 5.2.10, etc.
Highlights In Version 5.3
* At the start of each new connection, the server creates new MPE
variables to indicate which passwords are stored (QEDSTOREDPWD)
and which have been prompted for (QEDPROMPTEDPWD).
* An Exit command can be entered in one of the Qeditmgr files to
break a connection prematurely. Optionally, the Exit command can
transmit an appropriate message to be displayed by the client.
Highlights In Version 5.2.11
* On a Text operation, lines exceeding the Language maximum length
are now folded. This means extraneous characters are put on a
separate line instead of being truncated. The modified file is
not open in Browse mode anymore thus can be kept back onto itself.
* When you use the Change Tag Justify (CJT) command to edit the
Cobolx tag, Qedit displays the complete line to prompt for
confirmation. In prior versions, it displayed only the tag value
which made it hard to decide whether the line had to be modified
or not.
Highlights in Version 5.2.10
* The LSort command is faster, uses less resources and handles
wide-files.
* A Parm value can be passed to Qedit when run from the Posix
shell. The Parm value must be specified with the -P argument.
* Full-screen mode takes advantage of the maximum display width
(200 columns) supported by the QCTerm terminal emulator.
* You can now use Justify "string" to justify text starting with
the line containing the specified string.
* Qedit now has stricter usage rules for the While, EndWhile,
Escape and Return statements.
* Cobx tags can be local to the current workfile or global to all
workfiles. Qedit makes it clearer which tag is currently
active and modified by the Set X command.
* Qedit supports 4 new languages: HTML, XML, JAVA and QSL. These
languages can be used on the Set Language, on the Text and New
commands.
* A Proc Down or Up command interrupts immediately when Control-Y
is entered.
* Parm value entered on a Run or implied run command must be
between -32,768 and 65535. This matches the limit currently
imposed in MPE.
Highlights in Version 5.2
* Option Recursion and Norecursion statements are now allowed in
UDCs and recognized by Qedit.
* Qedit allows Option List and Nolist in the body of a UDC. The
option used to be recognized only at the start of a UDC.
* You can now do a List command on a currently opened workfile.
* Qedit now recognizes $Include statements, and all the variants,
even if they do not start in the first column.
* !Include lines in an SPL file are treated as comments, not as
actual Include statements.
* The Qedit for Windows server does not display unneeded messages
to the console anymore.
* Qedit tries to preserve the space between the end-of-file and
the file limit by adjusting the file limit on a Keep. However,
it did not allow the difference to exceed 100,000 records.
This caused some files to be saved with a very different file
limit. The maximum difference is now 2,000,000 records.
* The host file remains synchronized with the client view when
pasting lines overtop the last line of the file.
* Set X Local used in bad context like a qeditmgr file is now a
warning, not an error.
* Qedit does not stop interpreting the HPPATH variable when it
encounters 2 consecutive commas.
Highlights in Version 5.1.10
* Enable the Set Text Exclusive option for increased control over
files that you are editing. With this option, files that are
Texted in are kept open during the edit session preventing
other Qedit users from opening them.
* The CM version of Qedit sets the QEDSERVMODE jcw to zero.
* Qedit recognizes the Checksum parameter on the PREP command.
* The server correctly keeps track of each file's tab stops
defined by the Qedit for Windows client.
* The Find and FindUp commands display the column number where
the found string starts with a visual marker (caret) pointing
to it.
* Hitting Control-Y to interrupt a Redo stack operation such as
Listredo does not cancel a pending Delete anymore.
* Running a program with a parm value in octal works correctly.
The octal value is now passed properly to the program being
run.
* Set Visual Editonopen controls whether Qedit automatically goes
back to full-screen mode on an Open command at the "Next
command" prompt.
Highlights in Version 5.1
* The Setincr option of the Text command requests that the
current Set Increment value be used when reading the file in.
The default is for Qedit to decide which increment to use.
Highlights in Version 5.0.12
* Qedit now offers quick and easy access to the Posix shell. Use
a leading exclamation point to identify commands that needs to
execute in the Posix space. The whole line is passed to the
Posix shell (SH.HPBIN.SYS) and executed there.
* When returning to line mode, full-screen mode sets the display
width back to its original setting.
* Parm value on the Qedit simulated Run command can go as high as
65535 and as low as -32767.
* The Glue command left an empty line behind in some cases when
working with CobolX source files.
* Qedit is doing a better job at handling incorrectly numbered
Cobol source files.
Highlights in Version 5.0.11
* Qedit now recognizes the QCTerm terminal emulator from AICS
Research Inc. The version information is carried over to the
RPCVERSION variable. When using this emulator, Qedit
automatically sets Set Visual IgnoreLF On.
* ShiftOut and ShiftIn characters to use a different display
character set can be edited in full-screen mode. Set Visual SO
and Set Visual SI are used to specify substitute characters.
* Keep without an explicit name is now an error if the Browse
option has been used on the Text or Open command.
* A block Replicate operation can now span multiple screens or
done in 2 steps in full-screen mode.
* Cobol Copylib member names can now contain hyphens.
* Opening a Qedit workfile in Defer mode while it is opened for
updating in another session no longer causes assertion
failures.
Highlights in Version 5.0.10
* A rangelist can now contain up to 10 different strings to
search for. Each string in the list can have different search
settings such as column range and options. String are
separated from each other by OR keywords.
* The new Tag option on the Change command allows modification of
only the Cobol tag in columns 73 to 80. Change commands
without this option affect only the text area, columns 7 to 72.
* Opening a Qedit workfile in Browse mode while it is opened for
updating in another session no longer causes assertion
failures.
* Qcompxl no longer displays a warning (LDRWARN 10) about the
XLLIST parameter when trying to run a compatibility-mode (CM)
program. The warning message was confusing as it led the users
to believe there was something wrong.
* A backreference (e.g. \1) in the replacement string used on a
search for a regular expression without a subpattern fixes the
text correctly. In this case, the replacement string is used
as a literal. This problem has also been fixed in the Qedit
for Windows server.
* Set X without parameters now resets the COBX tag settings.
* Texting in a large bytestream file is much faster now.
Compatibility
Unresolved Externals on MPE/iX 4.0
If you try to run Qedit on MPE/iX 4.0, you might get the following
errors:
UNRESOLVED EXTERNALS: _thd_errno (LDRERR 512)
UNRESOLVED EXTERNALS: _thread_set_error (LDRERR 512)
UNRESOLVED EXTERNALS: thd_lock_lang_mutex (LDRERR 512)
UNRESOLVED EXTERNALS: thd_unlock_lang_mutex (LDRERR 512)
These messages indicate some routines missing from the C library.
If you are not planning to upgrade to a more recent version of
MPE/iX, you should contact Robelle technical support. We can
provide you with an additional file that will fix these problems.
CPU Serial Number (HPSUSAN)
Qedit runs only on CPUs whose serial numbers (the "showvar
hpsusan" on MPE/iX) have been encoded. If it fails to run and you
see an "invalid HPSUSAN" error message, call Robelle for
assistance.
Compatibility Mode vs. Native Mode
Throughout this change notice and in all the Qedit documentation,
there are references to compatibility mode and native mode. If
you are on a Classic HP e3000 (that is, not on MPE/iX), you can
use the compatibility-mode version of Qedit. Our installation
jobs will automatically install the correct version of Qedit for
your machine.
Qedit works on both MPE/iX and MPE XL. Any reference to MPE/iX in
our documentation can also be considered a reference to MPE XL,
and vice versa.
Known Problems
The underscore character can be used as a string delimiter and as
as valid character in a Posix filename. If you enter a filename
containing an underscore in the INFO= string parameter, Qedit
interprets the underscore as a string delimiter. For example, if
you enter:
run qedit.pub.robelle;info='-c "t my_history;vi"'
This command should start up Qedit, have it open the Posix file
called my_history and go into full-screen mode automatically.
However, since the underscore is seen as a string delimiter,
whatever follows is basically ignored during command processing.
Thus, the file is opened but Qedit stays at the line-mode prompt.
We hope to have a permanent fix in a future release. In the
meantime, the workaround is to explicitly identify the underscore
as being part of the filename. You can do this in different ways.
Here are two examples.
run qedit.pub.robelle;info='-c t $file \my_history\;vi"'
The $file keyword and the backslash characters are used to clearly
identify the filename. The other approach is remove the
underscore from the list of valid delimiters using the Set
StringDelimiters command.
run qedit.pub.robelle; &
info='set stringd posix;-c "t my_history;vi"'
The $file approach is simpler as it only affects that particular
command. The Set StringDelimiter approach should be used with
caution as it might affect other commands during the edit session.
Documentation
Qedit comes with a User Manual and a Change Notice. You may have
received printed copies of these.
They are available as PDF or HTML Help files. You may have
received a documentation CD with these files, or you can download
the files from the Robelle web site.
Documentation for bonus programs and the contributed library is
available in Prose files.
User Manual
The user manual contains the full description of all the Qedit
commands, as well as usage tips. The manual is up-to- date with
all the latest changes incorporated in Qedit. To see only the
changes in the latest version, see the "What's New" section of the
manual, or see the change notice.
Change Notice
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.
HTML Help
The Qedit user manual and change notice are also available in HTML
Help format. Support for compiled HTML help (CHM files) is built
into recent versions of Windows.
Download
If you received a documentation CD with this version of Qedit, you
will find the documentation files on the CD. The installation
program will start automatically when you insert the CD into the
drive. If it does not start automatically, run D:setup.exe, where
D is the letter assigned to your CD-ROM drive.
If you do not have a documentation CD, you can download the files
from the Robelle web site at
http://www.robelle.com/library/manuals/.
Printing Manuals
The latest user manual and change notice are available in Adobe
PDF format. You should use Adobe Acrobat Reader to print your own
copies. If you do not already have the Adobe Acrobat Reader, you
can get a copy from
http://www.adobe.com/prodindex/acrobat/readstep.html.
Manuals for bonus programs and the contributed library are
available in Robelle's Prose format. To print copies of these
manuals, use our Printdoc program. Printdoc prints the manual on
your printer, whether LaserJet or line printer.
Printdoc Program
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.
Other Manuals of Interest
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"
Installation
If you are a new Qedit user, please follow the installation
instructions in the Qedit User Manual. The following installation
instructions assume that you are an existing Qedit user who is
upgrading to version 5.2.11.
To install this upgrade of Qedit, follow these steps:
1. Install Qedit.
2. Install the QLIB and/or Bonus programs.
3. Fix the NM compilers. (only XL)
4. Fix the MPE V compilers. (optional)
5. Purge installation files. (optional)
Installation should take less than 20 minutes. No one can use
Qedit while step 1 is in progress. Bonus and QLIB programs cannot
be used while step 2 is in progress.
Installation Assistance
If you have any questions about the upgrade process or run into
any problems, please call us. Technical support is available on
weekdays from 7 a.m. to 4 p.m., Pacific time.
Important Note About Passwords
None of the jobs we supply have passwords in them. Before
streaming a job, you might have to add your system's passwords to
the first line. Users of MPE XL version 3.0 and later do not have
to do this because the operating system prompts you for missing
passwords. The same is true for 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
STREAMX Users
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
Step 1: Install Qedit
This step requires three separate procedures: restoring all
Robelle files from tape to disc, building (or upgrading) the
Robelle account with 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 All Robelle Files
First, you have to restore all the files from tape.
:hello manager.sys {log on as system
manager}
:file rtape;dev=tape {mount Robelle tape}
:restore *rtape; @.@.robelle; create {=reply on the console}
Check the :Restore listing for files that were busy and could not
be restored. There are a number of reasons why a file could have
been busy: someone may have been using it or backing it up, it may
have been held as a suspended son process (menu system), or it may
have been allocated. If files were busy, chase away any users,
deallocate any busy programs, then try the :Restore command again.
Create/Update Robelle Account
You must build (or upgrade) the Robelle account with the job
stream that we provide. This job removes the passwords from the
Robelle account and from the user Mgr.Robelle. You need to know
the existing passwords so that you can put them back after the
installation.
:listacct robelle;pass {look for PASSWORD: }
:listuser mgr.robelle;pass {look for PASSWORD: }
Once you have written down the passwords, stay logged on as
Manager.Sys and stream the job that builds and updates the Robelle
account.
:stream robelle.job.robelle
This job stream will send you a message when it is finished.
Stay logged on as Manager.Sys and put a password on the Robelle
account. If you are upgrading your Robelle account, use the old
password.
:altacct robelle;pass=hardpass {hard to guess}
Please note that during installation, we add OP capability to the
Robelle account. Once Qedit has been installed, you can remove OP
capability.
File Names
The following Qedit program files are restored to the Pub group of
the Robelle account:
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 puts the proper Qedit files into the Pub
group of the Robelle account. To make sure no one uses these
programs during the installation, send a warning. Then stream the
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 during the installation, the job will
fail. If the job failed, chase away any users, ensure that a
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.
Once you have installed Qedit, users can now access it by entering
:run Qedit.pub.robelle
Step 2: Install QLIB and Bonus Programs
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 CPU and may be 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 be used only on authorized machines, and you may not
distribute them to anyone.
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.
:hello mgr.robelle
:stream bonus.job.robelle {or Qlib.Job.Robelle}
If you skip this step, you may end up running old versions of
these programs.
Building the Spell Dictionary
Before you can use the Spell Bonus program or the Words command in
Qedit, you have to build the main dictionary for Spell with an
additional installation job. This job stream can take 30 to 60
minutes; you do not have to wait for it to finish before going to
the next step.
By default, the Spell program uses American spellings. To use
British spellings, set the SpellAmerican JCW to False in the
installation job.
: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
For more information, see the Spell User Manual.
Step 3: Install NM Compiler Interface (only XL)
If you don't need to compile source files that are saved as
permanent Qedit workfiles (file code=111), then this step is
optional. It is also optional if you have not installed a new
version of MPE since your previous Qedit installation.
If you use any NM compilers on MPE/iX, you will want to install
the new NM compiler interface. If you still use the CM compilers
as well, you will also want to install that compiler interface
(described in step 4 below).
Installing the Interface
Assuming that you have restored the Robelle files on 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 three (3) changes to the
Pub.Sys compiler command files:
:stream qcompxl.qeditjob.robelle
This job makes the following changes to the compiler command
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.
3. Change "setjcw jcw=fatal" to an invalid command so that errors
in either Qedit or MPE/iX will abort the command file.
Compiling Instructions
Now you should be able to compile a Qedit file or a Keep file,
either within Qedit or at the MPE/iX prompt, simply by invoking
the normal command file.
:pasxl source {from MPE}
:run qedit.pub.robelle
/pasxl source {from Qedit}
Within Qedit, you can specify an asterisk (*) for the current
workfile.
:run qedit.pub.robelle
/text source
/pasxl *
/exit
:pasxl qeditscr
Step 4: Install CM Compiler Interface (optional)
If you don't need to compile source files that are saved as
permanent Qedit workfiles (file code=111), then this step is
optional.
When installing Qedit on MPE/iX, you might have to install the NM
compiler interface (described earlier) and the CM compiler
interface (described here). For MPE V, however, you only have to
worry about the original CM compilers.
After restoring the files from tape, you have to choose an
installation method: integral or isolated.
Choosing a CM Installation Method
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 easily convert to the integral method
later.
To determine if you currently use the isolated or integral method,
run Qedit and enter
/verify whichcomp
If the displayed line ends with "IN ROBELLE," you are using the
isolated method. If it ends in "IN SYS," you are using the
integral method.
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 then compile Qedit workfiles. :Sysdump is
used to make a new cold load tape for the next time you need to
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. Qedit workfiles can be
compiled only within Qedit because the "Qedit" compilers are not
in Pub.Sys.
Integrating CM Compiler Changes
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 an MPE update from HP. Before you
start, you should :Store @.Pub.Sys and save it on tape because
this job modifies the compiler program files in Pub.Sys. You will
need another small tape for a new cold load tape.
Ensure that no one compiles during the installation. 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
This job runs Qedify.Pub.Robelle, which updates the compilers in
Pub.Sys and installs nonprivileged hooks into them so that the
compilers 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 future cold loads. The CM compiler interface is now
installed. Compiling done inside or outside Qedit will work on
either Qedit workfiles or on regular Keep files.
Isolating CM Compiler Changes
The job stream Qeditj1a.Qeditjob.Robelle fixes the compilers, but
it isolates the changes in the Q.Robelle group. Ensure that no
one compiles during the installation. 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 it "fixes" them so that they can read
Qedit files. The original compilers in the Pub.Sys group are not
modified. Once this step is finished, you can use the CM
compilers on Qedit files from within Qedit, but not at the MPE
prompt.
Step 5: Purge Installation Files (optional)
The easiest way to clean up after an installation is to stream the
Cleanup.Purgejob.Robelle job. This job saves you disc space by
purging the installation files. It does not purge the files that
are necessary to run the software.
Enhancements
With every release we provide Qedit users with new features.
Major enhancements in 5.2.11 include:
* The LSort command is faster, uses less resources
and handles wide-files.
* A Parm value can be passed to Qedit when run from
the Posix shell. The Parm value must be specified
with the -P argument.
* Full-screen mode takes advantage of the maximum
display width supported by the QCTerm terminal
emulator.
* Cobx tags can be local to the current workfile or
global to all workfiles. Qedit makes it clearer
which tag is currently active and modified by the
Set X command.
* You can now use Justify "string" to justify text
starting with the line containing the specified
string.
* Qedit supports 4 new languages: HTML, XML, JAVA and
QSL. These languages can be used on the Set
Language, on the Text and New commands.
Major enhancements in recent releases include:
* Option Recursion and Norecursion statements are now
allowed in UDCs and recognized by Qedit.
* Qedit allows Option List and Nolist in the body of
a UDC. The option used to be recognized only at
the start of a UDC.
* Qedit tries to preserve the space between the
end-of-file and the file limit as much as possible.
* You can now do a List command on a currently opened
workfile.
* Qedit now recognizes $Include statements, and all
the variants, even if they do not start in the
first column.
* !Include lines in an SPL file are treated as
comments, not as actual Include statements.
* Enable the Set Text Exclusive option for increased
control over files that you are editing. With this
option, files that are Texted in are kept open
during the edit session preventing other Qedit
users from opening them.
* Qedit now offers quick and easy access to the Posix
shell. Use a leading exclamation point to identify
commands that needs to execute in the Posix space.
The whole line is passed to the Posix shell
(SH.HPBIN.SYS) and executed there.
* Qedit now recognizes the QCTerm terminal emulator
from AICS Research Inc. The version information is
carried over to the RPCVERSION variable. When
using this emulator, Qedit automatically sets Set
Visual IgnoreLF On.
* ShiftOut and ShiftIn characters to select a
different display character set can be edited in
full-screen mode. Set Visual SO and Set Visual SI
are used to specify substitute characters.
* Keep without an explicit name is now an error if
the Browse option has been used on the Text or Open
command.
* A rangelist can now contain up to 10 different
strings to search for. Each string in the list can
have different search settings such as column range
and options. String are separated from each other
by OR keywords.
* The new Tag option on the Change command allows
modification of only the Cobol tag in columns 73 to
80. Change commands without this option affect
only the text area, columns 7 to 72.
* The Setincr option of the Text command requests
that the current Set Increment value be used when
reading the file in. The default is for Qedit to
decide which increment to use.
* The Find and FindUp commands display the column
number where the found string starts with a visual
marker (caret) pointing to it.
* Set Visual Editonopen controls whether Qedit
automatically goes back to full-screen mode on an
Open command at the "Next command" prompt.
The following sections describe the new enhancements to Qedit
since the last major release.
Running from the Posix Shell [5.2.10] The Posix shell does not have the
concept of a Parm value. Previous versions of Qedit still try to
retrieve the value and are ending up with unpredictable values
causing unpredictable behavior. To get around this problem, Qedit
tries to determine where it is running from. If it is run from
the standard Posix shell, SH.HPBIN.SYS, Qedit assumes the parm
value is entered via the -P argument. For example, to run Qedit
with a value of 67 from the Posix shell prompt, one would enter:
/ROBELLE/PUB/QEDIT -p 67
All arguments are retrieved as if they had been entered in the MPE
Info= string. So, any feature supported by the Info= mechanism
also works from the Posix shell.
QCTerm Display Width [5.2.10] Full-screen mode correctly detects the
QCTerm terminal emulator and can take advantage of the maximum
display width it supports: 200 columns.
Justify "string" [5.2.10] The Justify command now accepts a string as
parameter. When used, Qedit searches for the string. If it finds
it, Qedit starts formatting from that line using the applicable
Justify format.
If a "string" rangelist is specified along with Start and Stop
characters, the "string" option has precedence over Start and
Stop.
Local and Default Cobx Tags [5.2.10] When using a mix of default and
local Cobx tags, it was sometime confusing and unclear as to which
tag was used or changed with the Set X command. Additional
information in Verify, warning messages and the new SetJ commands
have been added to remove as much as ambiguity as possible.
The justified option, "SetJ", displays the current X values
including the active tag, the default tag and the local tag
settings. It applies the changed settings entered on the command
and, lastly, it displays the revised settings. When none of the
Cobx tags are set, the output is:
Set X values before this command:
Active tag value=, List ON
Default tag value=, List ON
Local tag value. NONE List NOT SAVED
Set X values AFTER the command:
Active tag value=, List ON
Default tag value=, List ON
Local tag value. NONE List NOT SAVED
The first 4 lines show the current settings. The last 4 show the
settings after the requested change has been applied. When there
is no tag value, Qedit displays an empty string or the word
"NONE". When the List option displays as "NOT SAVED", it means
the Local feature is enabled but the List setting has not been
explicitly set yet.
If the tag values are set, the result strings are displayed as in:
/set x local off
/set x "GB" yymmdd
/set x local on
/setj x "LC" yymmdd
Set X values before this command:
Active tag value=, List ON
Default tag value=GB011213, List ON
Local tag value. prefix= suffix= dateform=0
List NOT SAVED
Warning: Local ON: only updates tag for this workfile, not
defaults.
Set X values AFTER the command:
Active tag value=LC011213, List ON
Default tag value=GB011213, List ON
Local tag value. prefix=LC suffix= dateform=2
List NOT SAVED
In this example, the first Set command turns Local X off. The
second Set command changes the default tag to the prefix "GB"
followed by the current date in year-month-day format. The third
Set command turns Local X back on and, finally, the SetJ command
sets the local tag to the prefix "LC" followed by the date in the
same format. Looking at the SetJ output, there is the
then-current default tag, "GB011213", with List enabled. There
was no local tag and List was not set at that point.
The new local tag is applied and produces a warning. After the
change, The active tag is the local one and List is enabled
(default value). The default tag is unchanged. The last line
provides details on how the local tag was constructed. The List
option still shows as NOT SAVED because it has not been changed
explicitly after Local X was turned on.
The Verify command displays detailed information about the local
and default settings.
/verify x
Set X Tab OFF "ME011214" List ON
/set x local on
/verify x
Set X Tab OFF Local On "LC011214" List ON Default: "ME011214"
List ON
File Languages [5.2.10] Qedit supports new language types: HTML, XML,
Java and QSL (Qedit Scripting Language). The language names can
be used on the Set Language, Text and New commands.
These languages have a lot of common characteristics. The default
increment is 1, the line number is stored internally at the end of
the line and can have up to 8 digits. The files are kept
unnumbered. The first column of text is in position 1 and the
maximum line length is 256. There are no compilers associated
with any of them. Underscores are valid characters inside words
in Java and QSL.
When accessing files in the Posix namespace, Qedit now checks the
extension of the file, if any. It then tries to determine the
language based on the extension. Currently, the following
languages are recognized:
Language Extensions
Cobol CBL, COB
CC H, C
CPP CPP
HTML HTM, HTML, ASP
XML XML
JAVA JAVA
QSL QSL
PASCAL P, PAS, PASCAL, MODULE, INCLUDE,
FORWARD, EXTERNAL
Extensions are not case-sensitive i.e. cbl is the same as CBL.
UDC Options [5.1.11]
Option List and Nolist statements in UDCs and command files
control the display of individual commands as they execute. In
earlier versions, Qedit only recognized these statements if they
appeared at the beginning of a the UDC. Option List and Nolist
statements can now appear anywhere in the body of the UDC or
command file to enable and disable command display whenever it is
desired.
Option Recursion and Norecursion are now recognized in UDCs.
These statements can appear anywhere in a UDC. These options
affects the UDC search sequence. The default is Norecursion.
In Qedit, there are 5 levels of UDCs:
1 Session Header
2 User
3 Account
4 System
5 Session Trailer
Session UDCs are added using the Set Udc filename command and are
specific to this Qedit session. They are optional and can be set
independently. Although these UDCs are designated as Session
UDCs, the header and trailer levels are actually separate.
User, Account and System UDCs are added using the Set Udc ON
command. These are the UDCs normally loaded at the MPE prompt
using the Setcatalog command. Set Udc ON loads all 3 UDC levels.
If you wish to load a single level, you have to use Set Udc
filename.
When searching for a command, Qedit scans the udcfiles in the
order shown above and scans the UDCs in the order they appear in
individual files. When a UDC calls another UDC, the called UDC
must appear later in the search order. That's non-recursive
execution.
There are times when you want to call a UDC that's defined earlier
in the sequence. In those circumstances, you can insert an Option
Recursion statement. The statement can occur anywhere in a UDC
and takes effect from that point. To disable recursion, enter an
Option Norecursion statement.
When recursion is enabled, Qedit tries to resolve commands
starting from the top of the current level. For example, if the
current UDC is at the Account level, the search starts at the top
of the account UDCs. If the current UDC is at the Session Trailer
level, the search starts at the top of the Session Trailer UDCs.
Because recursion can cause infinite loops if not used properly,
UDCs can be nested only 30 levels deep or until allocated stack
space is used up.
Preserving the File Limit [5.1.11]
Qedit tries to preserve the space between end-of-file (EOF) and
file limit (FLIMIT). However, it only allowed the difference to
be a maximum of 100,000 records. Here are some examples:
EOF FLimit New EOF New FLimit
File1 1 100 1 100
File2 1 100 10 109
File3 10 100 1 91
File4 1 200000 10 100010
File5 10 200000 1 100001
This arbitrary limit was there to protect the flimit from growing
too much and possibly run into other MPE limits such as the
maximum number of extents.
The maximum has been increased to 2,000,000.
If this still causes a problem, you could use the Set Keep Limit
Save option introduced in 4.9.11. This ensures that Qedit
preserves the current flimit as long as EOF is smaller. If EOF
grows past the original Flimit, both are set to the same value.
For example,
EOF FLimit New EOF New FLimit
File1 100000 200000 150000 200000
File2 199990 200000 200100 200100
Include Statements [5.1.11]
Most languages have ways to insert lines from external files. In
a lot of cases, this is done via Include statements e.g.
$Include, !include. In previous versions, Qedit only recognized
statements where the prefix character appeared in the first
column. The Include keyword could start anywhere else on the
line. For example, these are valid statements:
$include myfile
$ include myfile
Qedit is now able to recognize Include statements even if the
prefix starts in a different column. The statement can only be
preceded by spaces. So, the following statements are now valid:
$include myfile
$ include myfile
$include myfile
$ include myfile
Even though Qedit recognizes these statements, it's important to
remember that other programs, such as compilers, might not.
In SPL programs, an exclamation point indicates that the rest of
the line should be treated as a comment. However, if a line
started with an exclamation point followed by the word Include,
Qedit assumed this to be an actual Include statement. This is now
fixed.
File Access Control [5.1.10]
When you text in a file, Qedit creates a workfile and copies the
contents of the original file into it. The original file is then
closed. This means that other users on the system can text in the
file and make changes of their own. This is great for concurrency
but not so great for version control.
A new option, Set Text Exclusive, provides increased control over
files that you are editing. To enable, simply enter:
/Set Text Exclusive On
When this option is enabled, files that you text in are kept open
for read-only access. This means the files are still accessible
to compilers and other programs with non-conflicting access
including Qedit with Set Text Exclusive disabled. In the latter
case, a user will be able to text the file in but will not be able
to save changes with a Keep command.
Once Set Text Exclusive is enabled for all users and a particular
file is being worked on, subsequent Text commands immediately fail
with:
Error: EXCLUSIVE VIOLATION: FILE BEING ACCESSED (FSERR 90)
On a system where Qedit is the editor of choice, we recommend that
Set Text Exclusive be inserted in one of the system Qeditmgr file
(qeditmgr.pub.sys or qeditmgr.pub.robelle).
Once a file has been texted in, the user retains control over it.
The file is released when:
* another file is texted in
* the workfile is closed explicitly by a Shut command
or implicitly by a New or Open command
* the workfile is purged e.g. purge *
* Qedit is terminated
All these operations signal Qedit that the work is done on this
file. When the workfile is shut (explicitly or implicitly), Qedit
tries to clear its contents. If the file is clean i.e. has not
been modified, the file is erased. If the file has been modified,
Qedit prompts for a confirmation:
/shut
Reminder: you have not saved the changes to SHRFILE.SRC.
DEVACCT
QED73068.SRC.DEVACCT,OLD Qedit File, of lines=13
Clear file [no]?
If you answer No, nothing happens. The workfile remains open, the
original file is still in use and a warning is displayed.
File NOT cleared
Files still open. When Text Exclusive is On, workfile must be
cleared to Shut.
If you answer Yes, the workfile is cleared and the original file
is released. This accomplishes two things:
* releases the file so it can be used by someone else
and does not remain blocked
* forces the user to stop and decide what should be
done with the changes
* forces the user to text the file in again to make
sure he has the latest version
Open Command and Full-screen Mode [5.1.10]
While in full-screen mode, you can enter MPE commands at the home
line. Doing so causes Qedit to temporarily switch to line mode
and prompt you for more commands with Next command [Visual]. You
have to hit Return or enter Visual to return to full-screen mode.
There is one exception to this. If you enter an Open command at
the prompt, Qedit automatically switches back to full-screen mode
after opening the file. This is the default behavior.
If you wish to disable this option, use Set Visual Editonopen Off.
When disabled, an Open command is treated as any other command.
In other words, Qedit continues to prompt for more commands until
you explicitly tell it to go into full-screen mode.
String Location Marker [5.1.10]
When searching for a string with the Find or FindUp commands,
Qedit displays the line where string has been found and, on a
separate line, the column number where the string starts and a
visual marker pointing to its location on the screen. The visual
marker is the caret character.
/find "resources"
45.6 System performance depends on available resources.
(41)^
Setincr Option on Text Command [5.1]
By default, on a Text command, Qedit looks at the file attributes
and, if the file does not have line numbers already, tries to
determine the best line number increment to accommodate all the
lines. In most cases, this works perfectly fine. However, in a
few cases, this value can not be determined with enough accuracy
causing some commands to fail because Qedit ran out of line
numbers. Up to version 5.1, there was no way to override the
calculated increment.
Starting with version 5.1, you can use the Setincr option on a
Text command to force Qedit to use the current Set Increment
value. This way, you can override the calculation based on your
knowledge.
/Text bigfile Uses automatic calculation
/Set Increment .01 Set increment to a different value
/Text bigfile,setincr Use the current Increment value
Posix Commands
There is an easy way invoke and execute the Posix shell
(SH.HPBIN.SYS). Any command that starts with an exclamation point
"!" is interpreted as a Posix command. If the exclamation point
is the only character entered, Qedit starts the Posix shell. The
user has to exit out of the shell to get back in Qedit.
/!
####################################
MPE/iX Shell and Utilities (A.50.02)
COPYRIGHT (c) Hewlett-Packard Company 1992, All Rights
Reserved.
####################################
/MYACCT/MYGROUP> exit
/
Qedit uses the following command to start the shell:
xeq sh.hpbin.sys info="-L"
If the line contains text after the exclamation point, Qedit
assumes the text is a Posix command. The text is then passed as
is to the Posix shell for execution. The shell terminates
automatically and returns to Qedit.
/!uname -a
####################################
MPE/iX Shell and Utilities (A.50.02)
COPYRIGHT (c) Hewlett-Packard Company 1992, All Rights
Reserved.
####################################
MPE/iX CALVIN C.60.00 C.16.01 SERIES 968LX
/
Qedit uses the following command to execute Posix commands:
xeq sh.hpbin.sys info="-L -c 'uname -a'"
Notice the command text is enclosed in single quotes to preserve
delimiters. If a command already contains quotes and
double-quotes, Qedit automatically doubles them up in the final
command. For example,
/!echo "This is 'my' message"
####################################
MPE/iX Shell and Utilities (A.50.02)
COPYRIGHT (c) Hewlett-Packard Company 1992, All Rights
Reserved.
####################################
This is 'my' message
Internally, Qedit uses the following command:
xeq sh.hpbin.sys info="-L -c 'echo ""This is ''my'' message""'"
The command text must not contain another exclamation point.
Otherwise, Qedit interprets them as string delimiters and tries to
search for the text in the current workfile. [5.0.12]
Keeping Files in Browse Mode
The Browse option of the Open and Text commands allows you to open
file as read-only mode. This way, file timestamps are preserved
and it prevents accidental modification.
If you try to Keep the file with its original name i.e. you enter
a Keep without a filename, you will get an error.
/Open workfile,browse
/Verify Keep
Set Keep Name txtfile
/K
File opened with Browse, please specify a Keep file name
You can still force a Keep by specifying an explicit filename as
in:
/Text txtfile,browse
/Keep txtfile
TXTFILE.DATA.ACCT,OLD 80B FA of records=16
Purge existing file [no]? y
[5.0.11]
Selecting a Display Character Set
The ShiftOut (Ascii code 14 or CTRL+N) character is used to select
an alternate display character set. It is often used to select
the terminal's line drawing character set. The ShiftIn (Ascii
code 15 or CTRL+O) is to select the primary display character set.
If these characters were part of the text edited in full-screen
mode, the terminal or terminal emulator automatically inserted an
escape sequence (<esc>)B) in front of the ShiftOut character. The
ShiftIn character was removed if there were no ShiftOut character
preceding it on the same line. Of course, this caused lines to be
updated unknowingly.
The ShiftOut and ShiftIn characters can now be replaced with a
different character in full-screen mode. This works the same as
for Escape, Tab, Bell characters and the Field separator. Use the
Set Visual SO command to specify a substitute for ShiftOut. Use
Set Visual SI to specify a ShiftIn substitute.
Set Visual SO "[" { Replace ShiftOut with left bracket }
Set Visual SI "]" { Replace ShiftIn with right bracket }
The substitute characters must be different than all the other
substitutes. [5.0.11]
Qcterm Terminal Emulator
AICS Research Inc. have developed a free terminal emulator called
Qcterm. Qedit is now able to identify the emulator. Information
about it is displayed on the Verify command output:
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 {Qcterm=090
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 ON
On the second line, the string "Qcterm" identifies the name of the
emulator. The version number is then displayed after the equal
sign. According to Qcterm's notation, there are 2 implied
decimals. In this example, Qedit is running on Qcterm version
0.90.
The information is also carried over on the Qedit RPCVERSION
variable. For Qcterm, the first digit is always set to 5. The
next 3 digits represent the version number.
/:showvar r
RCRTMODEL = 7009
RPCVERSION = 5090
RCRTWIDTH = 80
The IgnoreLF setting is automatically turned On when running
Qcterm. Qedit assumes Qcterm emulates a 700/92. This means that
it can only have 80 or 132 columns.
ChangeT Edits Cobol Tags
Cobol tags are short strings stored in columns 73 to 80 of CobX
source files. The Cobol tag value is defined using the Set X
command. Once enabled, updated lines and added lines are
automatically updated with the tag. They can also be modified
manually with custom tag values.
In the past the Change command also affected the CobX tag in the
file. This was not desirable, as typically only the actual text
should have changed. Some Change commands even caused the tag to
shift into the text area, causing compiler errors.
To work around these problems, the Change command now uses the T
suffix. You can think of it as the Tag option. A regular Change
command makes changes in the text area only, that is columns 7 to
72. The Tag option only operates on the tag area itself, columns
73 to 80.
/change "CUST" "SUPP" all
{change cust to supp in all lines. }
{ cust must be between columns 7 and 72. }
/changeT "CUST" "SUPP" all
{change cust to supp in all lines. }
{ cust must be between columns 73 and 80. }
To do this, the Tag option temporarily changes the margins to
(73/80). Qedit displays a warning every time this option is used.
Because the margin values have changed, explicit column range in a
Window can only be between 73 and 80.
/changeT "CUST" (50/60) "SUPP" all
Warning: ChangeT: editing the Cobol tag area only (73-80).
Error: Window
/changeT "CUST" (73/80) "SUPP" all
Warning: ChangeT: editing the Cobol tag area only (73-80).
10 SUPP0102
1 line changed
Multiple Search Strings
A rangelist can be specified on most commands to identify which
lines to operate on. Until now, a rangelist could only contain
one search string. In Qedit 5.0.10 and higher, a rangelist can
now have up to 10 strings. Strings are separated from each other
by an OR keyword. Each string can have its own search set such as
column range and options. For example,
/List "abc" or "xyz"
{ search for abc or xyz }
/C 1/2 "ME" "abc" (u 30/35) or "xyz" (50/60 s)
{ search for caseless "abc" in columns 30/35 or }
{ smart "xyz" in columns 50/60 }
Each string is compared in turn against the text. As soon as a
match is found, the line is selected. Thus, the most commonly
found strings should be placed at the beginning of the list to
increase speed.
The complete rangelist is saved and used when the "previous
string" syntax (i.e., a null string) is entered. For example,
/List "".
Qedit for Windows
Qedit for Windows lets you edit local MPE/iX and HP-UX files from
a single MS Windows program. It consists of a Windows editing
client and either an MPE/iX or HP-UX editing server that work
together to edit your host files. To take advantage of Qedit for
Windows, you need both parts: the client and the server.
Qedit for Windows uses the popular TCP/IP protocol for
communicating between the client and the server (this is the same
protocol that you use to access the Web). Configuring the Qedit
server software requires creating the correct TCP/IP environment
for Qedit for Windows.
Server Process
By default, the Qedit server uses the MPE/iX Remote Process
Management (RPM) service to start each server session. With RPM,
the client sends a program name and an Info= string along with
logon information to the RPM listening process. The RPM listening
process then validates the user logon and starts the specified
program with the Info= string. The server process is seen as an
MPE/iX session, but the process is not included in your user
limit. The Qedit server software is not available for MPE V.
Logon Sequence
When you use an MPE/iX connection to open a file in Qedit for
Windows, this is what happens:
1. A new host session is started, and the user name and passwords
are validated (this includes additional logon processing by
products such as SECURITY/3000).
2. The Qedit client asks RPM on the host to run the Ci.Pub.Sys
program with an Info string. For example,
qedit.pub.robelle "-d<ip-address>"
The "<ip-address>" is the IP address of the Qedit client.
3. The Qedit process starts, and it verifies that you are
authorized to use Qedit in server mode.
4. Any system-wide Qeditmgr files are always processed.
Processing of account and group Qeditmgr files is optional and
must be enabled in the client.
5. The requested file is opened.
6. A response is sent to the client.
It is important to note that logon UDCs are not executed as part
of this process. Any environment variables or file equations that
are set up as part of a logon UDC will not be applied in the Qedit
server process.
Firewall Protocol and the Server
The default protocol is usually sufficient at most sites.
However, some customers use firewall devices to further restrict
access to their HP e3000. The default protocol might not work at
some of these sites. For this reason, the server offers a
Firewall protocol.
In order to use this protocol, a Qedit listener has to be running
at all times. You should add this job to your system startup
procedure:
:stream qserver.qeditjob.robelle
If the job is not running, all new connection requests are
rejected. Currently, the only way to stop the job is to abort it.
With this setup, the server runs as a listener similar to a UNIX
daemon. It waits for incoming connection requests on a specific
port number. Like the HP-UX server, the default port number is
7395. If you want to use a different port, you have to modify the
Qserver job stream.
Upon receiving a request, the listener passes the information down
to RPM, which then takes over.
QEDSERVMODE JCW
The Qedit server process always executes the commands in the
system-wide Qeditmgr files (e.g., Qeditmgr.Pub.Sys). Processing
of the account and group Qeditmgr files can be enabled in the
client. To indicate that you are using the Qedit server in either
the server or the nonserver mode, which are not exactly the same,
we provide a JCW called QEDSERVMODE. QEDSERVMODE is set to zero
(0) if you are in nonserver mode, and nonzero if you are in server
mode. If you are using the Qedit server, you should modify your
Qeditmgr file so that few, if any, commands are executed in server
mode. For example,
if Qedservmode = 0 then
set extprog mpex.pub.vesoft
endif
Log Files
The Qedit server can communicate only with Qedit clients. To help
system managers track Qedit processes, Qedit for Windows writes to
three log files: the access log, the error log, and the trace log.
Console Messages
If Qedit cannot access any of its log files, it writes the log
message to the system console. You can also enable console
logging with the Debug command in the Option menu of the Qedit
client. If someone is having trouble establishing a connection
and the Qedit log files on the host do not include a message about
this connection, check the system console. If Qedit was unable to
open the log files, it probably reported the message on the system
console.
Access Log
Every time a Qedit client makes a connection to the server
process, an entry is written to the access log file, which is
where the IP address of the client is logged. The numeric form of
the IP address is logged, along with the port number used to
communicate with the client.
Error Log
Any error conditions encountered by the Qedit server process are
written to the error log file. If you suspect a problem between
the client and the server, start your diagnosis by looking at the
end of this log file.
Trace Log
By default, Qedit does not log messages to the trace log file.
You can enable trace file logging by using the Debug command in
the Option menu of the Qedit client. The trace log file can grow
and become very large, because Qedit messages are constantly being
added to it. These messages assist in understanding the
communication between the Qedit server process and the Qedit
client. In many cases, the detailed information in these messages
is the only way to diagnose a problem.
Log File Names
If you run Qedit as Qedit.Pub.Robelle, the three log files are
located in the Qlog group of the Robelle account. If you rename
Qedit or run it from a different group or account, the group and
account names for these log files are automatically adjusted. See
the chapter "Installing Qedit" for more details.
Bugs Fixed
Control-Y on Proc Command A Proc Down or Up command always modified at
least one line even if the user hit control-Y immediately. Qedit
now detects control-Y before changing the first selected line.
[5.2.10]
Keyword Usage Rules Qedit applies stricter usage rules for the While,
Endwhile, Escape and Return statements in UDCs and command files.
These statements can not be used from the /-prompt and in Use
files. When used in a UDC or a command file, they can not be
prefixed with a slash "/". Some of these rules were not fully
enforced which caused unpredictable behavior. [5.2.10]
Host File Losing Synchronization The server and client views of a host
file were different after pasting text overtop the last line of a
file. This could lead to problems as lines were updated
incorrectly on the host while the client looked correct. [5.1.11]
HPPATH Variable Qedit does not stop interpreting the HPPATH variable when
it encounters two consecutive commas. [5.1.11]
Set X Local in Qeditmgr When Set X Local is used, Qedit tries to save the
CobX tag value in the current workfile. If there is no workfile
open at the time, an error message is displayed. This caused
problems when the command was used in the context of a qeditmgr
file. This is now a warning, not an error. [5.1.11]
Server Debug Messages Some versions of the Qedit for Windows server
displayed debugging messages on the system console. The messages
typically looked something like this:
9:38/S531/110/Welcome to check'debug'at'ldev
9:38/S531/110/filename = DBGLDEV.PUB.ROBELLE
9:38/S531/110/file'fail (-1, 0)
9:38/S531/110/Result = -1
Although these messages appear to be reporting a problem with a
file, nothing wrong happened and the server continued to work
properly. [5.1.11]
Run command with Parm=%nnn Running a program with an octal value as the
Parm= option was not working correctly. The value was not passed
in properly. [5.1.10]
Control-Y In Redo Stack Operations The Delete command does not remove
lines immediately. The lines are flagged for deletion. The
operation can be cancelled by hitting Control-Y before entering
another command.
However, if you hit Control-Y to interrupt an operation against
the Redo stack such as Listredo or to cancel a Redo, the Control-Y
also cancelled the pending Delete operation. This has been fixed.
In other words, the Control-Y interrupt only affects the Redo
operation and not the pending Delete.
[5.1.10]
Tab Stops in Qedit for Windows When editing files with Qedit for Windows,
the server has to keep track of many file attributes including tab
stops. The server has to save these attributes and switch between
them as needed. In earlier versions, tab stops were not switched
correctly so some files temporarily ended up with incorrect tab
stops.
The server has been fixed to correctly keep track of each file's
tab stops.
[5.1.10]
QEDSERVMODE in CM Version The Qedit for Windows server environment can be
configured through the QEDITMGR files. To isolate server-specific
settings, system managers can check the QEDSERVMODE JCW.
/if qedservmode=1
/ Q "Qedit is running in server mode"
/ Set X "SRV"
/endif
The CM version of Qedit can not act as a Qedit for Windows server
thus was not setting the Qedservmode JCW upon startup. Execution
of the QEDITMGR file failed because of it, notably in some
Robelle-supplied installation job streams.
The CM version now sets QEDSERVMODE to 0.
[5.1.10]
Invalid Line Numbers in Cobol Files Qedit expects valid line numbers in
most Cobol source files. If it encounters invalid line numbers,
it tries to recover as gracefully as possible. In some cases,
however, the numbering recovery procedure was not working properly
which caused some lines to be lost.
[5.0.12]
Empty Line After Glue Operation A Glue command left an empty line behind
if you were working on a CobolX file with no Cobol tag defined but
the List option enabled as done with:
Set X "" List ON Tab OFF
For example, suppose the file contains
4 Author. Francois Desrochers.
5 Remarks.
6 Environment division.
If you did Glue 4, the result would have been
4 Author. Francois Desrochers. Remarks.
5
6 Environment division.
The correct result is now
4 Author. Francois Desrochers. Remarks.
5 Environment division.
[5.0.12]
Display Width
When going in full-screen mode, Qedit adjusts the display width to
match the file attributes as closely as possible. It resets the
display width to its original value upon exit from full-screen
mode.
The reset function was not working properly on some versions of
Reflection for Macintosh and Windows. [5.0.12]
Replicating Block of Text
If you marked a block of text to replicate in 2 steps using the
RR/Rn construct of full-screen mode, the lines were highlighted
but they would not be replicated. This would happen if you
entered RR on a line, hit ENTER, moved the cursor to some other
line and entered Rn. [5.0.11]
Hyphens in Cobol Copylib Names
Cobol Copylib member names can now contain hyphens. In previous
versions, Qedit picked up only the characters preceding the first
hyphen. [5.0.11]
Incorrect Replace With Regular Expression
In certain situations, a Replace operation using a regular
expression caused incorrect text to be inserted. The problem
could occur if you specified a backreference e.g. \1 in the
replacement string while the regular expression to search for did
not have any subpattern (enclosed in parentheses). In such case,
the replacement string should be used as a literal. This problem
has also been fixed in the Qedit for Windows server. [5.0.10]
Resetting COBX Tag
The following commands can be used again to reset COBX tag
settings:
Set X
Set X ""
Set X Null
[5.0.10]
Assertion Failure In Browse or Defer Access
It is possible to open a workfile in Browse or Defer mode while
the file is updated by another process. However, the Browse/Defer
session sometimes reported assertion failure 5 (invalid block
number) if a large number of lines had been added by the update
session. This no longer happens. [Browse - 5.0.10] [Defer -
5.0.11]
Texting Large Bytestream Files
Texting of large bytestream files was extremely slow. Access to
these files has been fixed and should now be comparable in speed
to accessing regular files. [5.0.10]