# XEDIT

XEDIT is a visual editor for VM/CMS using block mode IBM 3270 terminals. (Line-mode terminals are also supported.) [1] [2]

XEDIT is much more line-oriented[3] than modern PC and Unix editors. For example, XEDIT supports automatic line numbers, and many of the commands operate on blocks of lines. A pair of features allows selective line and column editing.[4] The ALL command, for example, hides all lines not matching the described pattern, and the COL (Column) command allows hiding those columns not specified. Hence changing, for example, the word NO as it appears only in columns 24 thru 28, to YES, and only on lines with the word FLEXIBLE, is doable.

Another feature is a command line which allows the user to type arbitrary editor commands. Because IBM 3270 terminals do not transmit data to the computer until certain special keys are pressed [such as , a program function key (PFK), or a program access key (PAK),[5] XEDIT is less interactive than many PC and Unix editors. For example, continuous spell-checking as the user types is problematic.

## Typical screen layout

 MOHICANS SCRIPT A1 V 132 Trunc=132 Size=10 Line=10 Col=1 Alt=10
XEDIT:
===== Last of the Mohicans
===== .sp
===== It was a feature peculiar to the colonial wars of North America,
===== that the toils and dangers of the wilderness were to be encountered
===== before the adverse hosts could meet.
===== A wide and apparently an impervious boundary of forests severed
===== the possessions of the hostile provinces of France and England.
===== The hardy colonist, and the trained European who fought at his
===== side, frequently expended months in struggling against the rapids
===== of the streams, or in effecting the rugged passes of the mountains
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7...
===== * * * End of File * * *
====>
X E D I T 1 File


Notable features of the screen layout:

• The top line provides details about line format where:
• MOHICANS   is the filename
• SCRIPT   is the filetype
• A1   is the filemode (default, indicating which disk the file is on)
• V   is the record format (RECFM) which can be Fixed or Variable
• 132   is the length of the records (for V, maximum length is 65535)
• Trunc=132   indicates changes beyond 132 columns will be ignored
• Size=10   denotes total number of lines in file
• Line=10   denotes the current line
• Col=1   denotes the current column
• Alt=10   indicates that ten changes have been made while XEDITing
• The equal signs ===== at the beginning of the lines provide space for line numbers if desired, and a place to enter XEDIT prefix commands that may operate on blocks of lines.
• The line beginning |...+ is a ruler that e.g. might show tabulator positions.
• The following line marks end-of-file, appearing in XEDIT as if it followed the last actual line of the file.
• The next-to-bottom line showing ====> is a command line for entering XEDIT or system (CP/CMS) commands or macros.
• There is no mouse pointer because most IBM 3270 terminals did not have mice.[6]
• Most IBM 3270 terminals had 12 or 24 program function keys (PFKs) (and also two or three program assist keys), to which XEDIT commands or macros could be assigned.
• XEDIT commands can be used to change the screen appearance. Some examples include:
• Moving the position of (or eliminating) the command line
• Moving the position of (or eliminating) the TABS marker line
• Moving the position of (or eliminating) the PREFIX lines
• Changing the prefix line from equal signs (=====) to line numbers (nnnnn)
• Defining whether or not TAB characters are to be expanded
• Defining which lines are to be displayed by scope (SELECT)
• Showing the data on a display screen or in typewriter mode
• Specifying text line(s) to be displayed on the screen (RESERVED)
• Eliminating the TOFEOF lines (* * * Top of File * * * --and-- * * * End of File * * *)
• Displaying (or eliminating) SHADOW lines (indications that lines are not being displayed)
• Displaying (or eliminating) the SCALE line (a scale or ruler to assist editing)
• Changing the background and foreground colors used for the different portions of the screen
• Defining what lines are to be displayed (RANGE)
• Defining what columns are to be displayed (and also, if in hexadecimal, text, or both)
• Defining multiple XEDIT screens [sizes, location (over/under, side by side, combinations)]

## Macro language

XEDIT macros (scripts) can be written in Rexx, EXEC 2, or EXEC. XEDIT exposes the majority of its internal state to the macro environment, allowing macros to easily read and set internal variables that control its operation.

### KEXX

KEDIT 5 for DOS and OS/2 supports an external Rexx interpreter (native OS/2 Rexx or Quercus Rexx, for DOS only Quercus Rexx replacing the older Mansfield Rexx) and its own rather limited KEXX subset. KEDITW 1.6.1 for Windows supports only its own internal KEXX 5.62 version of the Rexx language.[7] Macros can be arranged in the .kml file format.

## History

XEDIT was written by IBM employee Xavier de Lamberterie and was first released in 1980.[8] Its predecessor was EDIT SP (SP is an initialism for System Product used by IBM). Other key influences were EDIT, the older editor for CMS, and EDGAR, an IBM Program Product editor for CMS. XEDIT supported many of the EDGAR commands, SOS (Screen Output Simulation) being a major one. XEDIT also supported EXEC 2, the predecessor of Rexx.

Keditw 1.6.1 screenshot

When PCs and Unix computers began to supplant IBM 3270 terminals, some users wanted text editors that resembled the XEDIT they were accustomed to. To fill this need, several developers provided similar programs:

### KEDIT

KEDIT by Mansfield Software Group, Inc., was the first XEDIT clone. Although originally released in 1983, the first major release was version 3.53 for DOS, released in 1985.[9] By 1990, KEDIT 4.0 had a version supporting OS/2, and included the ALL command.[10]

The last version for DOS and OS/2 was KEDIT 5.0p4. KeditW (for Windows) is at version 1.6.1 dated December 2012.[11] Some earlier Windows versions were:

• Release being 1.5 service level 3, dated January 1998
• Version 1.6, dated December 2007

KEDIT 1.6 supports syntax highlighting for various languages including C#, COBOL, FORTRAN, HTML, Java, Pascal, and xBase defined in the .kld file format.[12]

KEDIT supports a built-in Rexx-subset called KEXX. Mansfield Software created the first non-IBM implementation of Rexx (Personal Rexx) in 1985.[9][13]

In December 2012 Mansfield Software released 1.6.1 to provide compatibility with Windows 8 and extended support to at least June (As of 2015). These 32bit versions work also in the 64bit versions of Windows 7 and Vista, but do not directly support Unicode.[7][11]

As of May 2018, Kedit supports Windows 10 too. Mansfield promised website support until at least the end of 2018 and email support until at least June 2019.

### SEDIT

SEDIT (first released in 1989) is another implementation on both Windows and Unix, which supports a variant of Rexx language called S/REXX (announced in 1994).[14][15]

### THE (The Hessling Editor)

THE (The Hessling Editor), written with compatibility for both KEDIT and XEDIT in mind, uses Regina, an open source version of Rexx. It was begun in 1990, first released in August 1992. THE can also be built with any of several implementations of Rexx, including uni-REXX.

## References

1. XEDIT Commands and Macros Reference (1st ed.). IBM. September 2004. IBM publication number SC24-6131-00.
2. XEDIT User's Guide (2nd ed.). IBM. December 2005. IBM publication number SC24-6132-01.
3. Paul W. Ross (2018). Revival: The Handbook of Software for Engineers and Scientists (1995). ISBN 1351357050. "XEDIT is a line-oriented editor that"
4. source of wording: TRANSLATE of KEDIT, in the German article
5. "PA - program access key statement". IBM. Retrieved December 21, 2018.
6. "Introduction to the 3270 terminal". Networking on z/OS. IBM. "The selector pen was light-based (optical) and it was used to select options on the text screen, similar to how a mouse is used--but of course, the 3270 terminal did not support a mouse."
7. "KEDIT for Windows". Mansfield Software Group. 2014. Retrieved 2015-02-22.
8. Varian, Melinda (1997). "VM and the VM community, past present, and future" (PDF). SHARE 89 Sessions 9059-9061. Retrieved September 20, 2011.
9. Cowlishaw, Mike (2000). "A brief History of 'Classic' Rexx".
10. PC Week, May 28, 1990, p. 5
11. "KEDIT: What's New". Mansfield Software Group. November 2014. Retrieved 2015-02-27.
12. Geir Ove Grønmo (March 1997). "DSSSL.KLD - KEDIT Language Definition for DSSSL Specifications". XML Coverpages. OASIS. Retrieved 2015-02-27.
13. Beebe, Nelson H. F. (April 12, 2006). "a bibliography of books, manuals, and other publications about the Rexx scripting language".
14. Salthouse, David (1995). "S/REXX by Benaroya" (PDF). Proceedings of the 6th International Rexx Symposium. Stanford Linear Accelerator Center. pp. 284–290.
15. Varian, Melinda (May 1995). "Report — REXX Symposium" (– Scholar search). Archived from the original on February 7, 2008.