
« XyWWWeb »
Download files [
= recent revision or new release] and obtain advanced information about the XyWrite Word Processor, especially XyWrite IV for DOS (and XyWrite for Microsoft Windows v3.x+), with particular attention to:
and including a select archive of XyWrite III+ (and NotaBene for DOS) files and programs. You can also use this page to join the XyWrite Discussion Group mailing list.
- XPL Theory and Implementation
- Operating System Interface
- External Helpers and XyWrite Access Engines
- Configuration and User Programming
- Unusual Commands
New Jumbo XyWWWeb.U2 [XYWEB119.ZIP] File
|
| Disclaimer | This XyWWWeb page is emphatically unaffiliated with The Technology Group, the owner and publisher of XyWrite, SmartWords, and other products and their associated trademarks, or with Nota Bene, the owner and publisher of the Nota Bene word processor and related products and their associated trademarks. Please note that we do not provide technical support for XyWrite or Nota Bene. Requests for help with XyWrite should have been directed to The Technology Group before it went belly-up. Now your only hope is the XyWrite Discussion Mail List. For help with Nota Bene, read Nota Bene’s Support Policy. |
|---|---|
| Big Print | All files located at this site are freely distributable, unless otherwise noted. We assert a copyright over any program of which we are jointly or separately the author. Any program written by Carl and/or Robert must be distributed intact and unaltered. THERE ARE NO WARRANTIES WHATSOEVER; YOU ASSUME ALL RISKS. Those risks are real. These programs may not be adequately documented, they may not work with your setup, they may not be transparently easy to use (especially if you are a novice or unskilled at XPL programming), and some of them are experimental, unfinished, and/or buggy. We offer them, as-is, as a service and a stimulant only. We are willing to give limited support (for our programs only) on request, but only insofar as it encourages you to start programming / adventuring / configuring on your own. Criticism and suggestions are really important to us; don’t be shy, drop us a line. |
Software Requirements and Technical Support for All XyWWWeb Programs:
1) XyWrite IV for DOS, XyWrite for Microsoft Windows v3.x, or NotaBene for Windows. XyWrite III+ lacks the power & flexibility of XyWrite IV for DOS. We knew 3+ inside-out and we know 4 even better. There’s no comparison. We do not provide support to 3+ users. Our preferred WP is XyWrite IV for DOS. For complete compatibility, upgrade to the latest maintenance release (v4.018) — or install it for the first time. XyWrite for Windows v4.13 is buggy, but it’s also powerful, and if your workplace needs to be modern, it’s a choice (NotaBene for Windows is a better choice). Be aware, however, that while performance of most XyWWWeb programs on the XyWin|NotaBene platforms is dramatically improved in v118+, there are still a few miscreants. We are not prepared to resolve all XyWin|NBWin problems, but we’d like to hear about them.
U2 is rapidly approaching near-total compatibility with NotaBene for Windows.
2) XYWWWEB.U2 must be installed. Download it here and read the instructions in README.HTM. XYWWWEB.U2 (known informally as “U2”) is an integral part of the XyWrite Help system. It extends the power of your word processor by means of XPL (=XyWrite’s amazing Programming Language). See PARSEFRM.DOC for full information about the Help system, and the underlying considerations that XYWWWEB.U2 addresses (there are many excellent reasons to organize XyWrite programming using the U2 Help system, and virtually no drawbacks). XYWWWEB.U2 installs quickly & painlessly. We do not provide support if XYWWWEB.U2 is not installed.
3) How to MErge new program frames into your preexisting U2 Help file. Skim this important info (Rev.11/6/05)4) The XyWWWeb FAQ. “What To Do When Programs Don’t Work Out-of-the-Box”. Weep, then consult our in-process pharmacopoeia (Rev.11/22/97)
jmp 9842<cr>
Ordinary range 0-9, A-Z
LDPM range &0-&9, &A-&Z
[Keyword range $0-$9, $A-$Z, referring (in KBD assignments and in XPL) to routines installed in the DiaLoG file only]
Special Save/Get 00, which passes arguments to programs, or contains the command line
Transient range 01-99 (values discarded when current program terminates)
Extended or Permanent range 100-1999 (values retained throughout session)
Components of XYWWWEB.U2
- Character Identification, Conversion, and Balance
- Command Manipulation
- Common Resources (mostly associated with Programming, Math, etc.)
- Directory and File Management
- DOS- and Windows-specific programs
- The «XyWWWeb» Utilities
- Editing
- Columns
- Copy/Move
- Count
- Date/Time
- DeFine
- Delete
- File Management
- Footnotes
- Jump
- Line Manipulation
- Memos/Reminders
- Redundancy/Proximity
- Search/Change/Find
- Special Characters
- String Handling
- Styles
- Symmetry
- Typing/Keys
- Window Management
- Words/Characters
- Games
- Information and Documentation
- Internet, LANs, and HTML
- KeyBoarD File
- Legal Tools
- Math and Science
- Operating System Management
- OS/2-Specific Programs
- Printing (PostScript, Etc.)
- Programming (XPL)
- Arrays
- Character Manipulation
- Code Manipulation
- CoMmand and PRompt Line
- Encode/Decode
- Functions
- Help Frames
- Information+
- Save/Get Manipulation
- VAlues and VAriables
- Spelling
- Utilities
- XyWrite System Management
Character Identification, Conversion, and Balance
- <: Flag 3-byte “guillemets” amid 1-byte guillemets, from CurrentPosition () to EOF
- <12B: Convert 1-byte guillemets to “less than|greater than” brackets (« to <|» to >) and Functions to Mnemonics, from «CP» to EOF
- <B21: Convert “less than|greater than” brackets to 1-byte guillemets (< to «|> to »), from «CP» to EOF
- <123: Convert 1-byte guillemets «» to 3-byte “guillemets”, from «CP» to EOF
- <321: Convert 3-byte “guillemets” to 1-byte guillemets «», from «CP» to EOF
- ASC: (Common Resource) ASCii function returns ASCii value 0-255 of a character, e.g. “ASC €” returns “128” [S/G 50 In/Out]
- ANSI Character Manipulation:
- ANSI2XY: Convert ANSI documents, e.g. HTML pages or Windows source files, to XyWrite’s character set. Select CodePage 437 or 850
XY2ANSI: Convert XyWrite character sets (CodePage 437 or 850) to ANSI
- ANSIS?: ANSI replacement for Funcs S1-S6 [+ psuedo-func S8]
ANSIFS: Set FullScreen ANSI [1252] Font. Requires VGA.COM, SEP1252.PRN, and CP1252.FNT from refreshed version (5/21/06) of ANSI1252.ZIP
VGARST: Restore Normal [437|850] FullScreen Font in accordance with current value of [Xy4-only] «VALA». Requires SEP437.PRN and SEP850.PRN in refreshed version (5/21/06) of ANSI1252.ZIP
- ANSITY: TYpe ANSI documents (displayed with CodePage 1252) using Speedo Fonts (non-Postscript)
- ANSIXX: ANSI replacement for Func XX,x
ASPELL,ASP: Spell with PCLEX and Microlytics dictionaries under NBWin or ANSIfied XyWrite. CodePage 1252 only!
CP850.TTF: “CodePage850” True Type (Courier-style) font, for use with NBWin
- BALPAIRS: Check for Balanced ()|[]|{}|<>|`' pairs of characters. Argument “/NV” checks from current «CP» to EOF, otherwise (Default) from TF to EOF
- CHAR2NUM: Character-to-Number|Number-to-Character conversions
- CHAR3TO1TO3: (Common Resource) Translate between 3- and 1-byte chars 0-255 [S/G 50 In/Out; S/G 51 Out=Hex|Dec Result Value]
- CHR$: (Common Resource) Returns CHaRacter$ with ASCII value of expression, e.g. “CHR$ 35” returns “#” [S/G 50 In/Out]
- CHARCONV: (Common Resource) Dec>Hex, Hex>Dec, or AlphaChar>Dec+Hex Character Conversion. Syntax: CHARCONV N[N[N]]d|AAh|1-byte_char<Helpkey> [S/G50 In/Out]
- TEST-INSTALL: Test whether U2 installed successfully
- CHR$: (Common Resource) Returns CHaRacter$ with ASCII value of expression, e.g. “CHR$ 35” returns “#” [S/G 50 In/Out]
COUNT$,COUNT$A,COUNT$*: Count $tring(s) in file or DeFined block
- CR210: Change Carriage Return Ascii-13+10 to Ascii-10, from «CP» to EOF (for Unix)
[Standalone Xy3+ version]
- CR213: Change Carriage Return Ascii-13+10 to Ascii-13, from «CP» to EOF (for some DOS apps)
- FROM102CR: Regularize Ascii-10 (LineFeed) to <Carriage Return> 13+10, from «CP» to EOF
- FROM132CR: Regularize Ascii-13 to <Carriage Return> 13+10, from «CP» to EOF
- G3B: (Common Resource) Get 3-byte char component bytes. Bytes 1, 2 and 3 are saved to S/Gs 50, 51, and 52; 3-byte analog of S/G 50 (Ascii-255 or -254) is saved to S/G 53
- HEX??CODE: Convert DeFined text to HTML hex codes (or vice versa)
- HEXDUMP: Display hex dump of DF block or file. Uses Anthony Dunk’s HD.EXE
INST,INSTR,XS,XSR,XSE: In$tring[Reverse] function (=Basic “InStr” & “InStrRev” or Rexx “Pos” & “LastPos”) plus XS (first element)|XSReverse (last element)|
XSElement# (nth element) of an XS parse
- INT2WORDS,I2W: (Common Resource) Translate integers e.g.
INT2WORDS 123returnsone hundred twenty three[S/G 50 In/Out]WORDS2INT: Translate words e.g.
WORDS2INT one thousand forty threereturns integers1043[max=billions; S/G 50 In/Out]- L2N: Convert phone Letters|Numbers to pure Numbers. E.g. input "4LEGALAID", output "453425243"
- REVERSE: Convert string to its reverse [S/G 50 In/Out]
- T3-1-3: Convert 3-to-1 or 1-to-3 byte chars [S/G 50 In/Out]
- T1310: Regularize lone Ascii-10 or Ascii-13 to "true" 13+10 Carriage Return (simulate FIXCR.EXE under XPL)
- W3B: (Common Resource) Write 3-byte char to screen in printable (5-, 7- or 9-byte) form. Component bytes consisting of Ascii-0, 9, 26, 27, 254 or 255 are translated into 3-byte form for printing
- XMCODE: Convert DeFined XPL to XMACRO code
XYCHAR$: Save any Xy char (0-1023) to S/G 50
Command Manipulation
- ADDTOOL,DELTOOL: Add|delete command to|from toolbar PRompt
- ALTSCR,ALTSCR/#,AS,AS/#: Issue command or .framename to adjacent window
- COPIES: Print Multiple Copies of Current Document|DeFined Block to PCL printer
- DEFORMAT: Convert embedded formatting into plain-text descriptive tags
FMTSTRIP: Strip all formatting from current file, from TOF
REMOVE: Enhanced REMOVE command: Operates on 0-9|A-Z|&0-&9|&A-&Z|100-1999; removes S/G from memory (uninitializes it)
- STRING,$: Execute a series of commands all at once (cf. TIMES)
- TIMES#*,X#*: Execute a command a specified number of times (cf. STRING)
- TOOLBAR*,TB,TB??,TB??#: Use CMline or PRompt for multiple commands
The "Common Resource" frames are usually called from other programs, but can also be run independently, e.g. to perform on-the-fly calculations or conversions. They are distributed throughout this page, with the notation "(Common Resource)". The instructional Help frame shared by all these routines is HELP COMMON or HELP COMRES<Helpkey>. Common Resources (mostly associated with Programming, Math, etc.)
Directory and File Management
- AddDI: Embed Document Information after End_Of_File
- CALLNEXT,CN: Sequentially CAll files in a DIRectory (or FIND) listing. Automatic yet unobtrusive. No need to look at the DIRectory display, just issue callnext or “cn<Helpkey>” to fetch the next file. A useful alternative to function EN EditNext
- CA$: CAll any filename represented by a VAriable, e.g.
ca$ U2<Helpkey>,ca$/24 DG<Helpkey>, or [NBWin]ca$ IN<Helpkey>[CAll NB.INI] (See also AE,EXPAND)CAL*,MEL*,REL*: CAll|MErge|REad [d:\path\]LongFileNameFiles. Syntax: caL|meL|reL[/switches] [d:\path\]LongFileName[.extension]. Requires SFN.EXE in Editor’s directory
- CALLUP: Point & shoot CAll|REad|ChDir command
- CD: Enhanced Change[Drive,]Dir command
- CDD: Fetch, and Execute, Change Drive:\Directory spec from XYWWWEB.REG, using short alias
- DELNULLDIR,DND: Optionally RMDIR empty directories
- DelDI: Delete DocInfo permanently
- DYR*,FIND*: Execute DIR or FIND with custom sort order, manipulating the DSORT variable on-the-fly to prioritize (F)ilename|(E)xtension|(D)ate|(S)ize. Restores original (default) DSORT values after generating a one-time DIRectory display. Easy to customize
- DIR1: Put DIRectory information for current file in PRompt
DR: DiRectory Manager. Operations: CAll, ChDir, Copy, DELete, Import, get LFN, REad, REName, reSort dir, SEarch for $trings; Open files in appropriate EXEcutable: Text, HTML, M$Word, PDF/PS, Word Perfect, ZIP, plus any manipulation of files based on EXTension or other user-criteria
- DTF: Delete This File. DELete file in current text window OR file at which cursor is pointing in a DIRectory display. Requires two keystrokes if assigned to KBD file key (launch; confirm erasure). When pointing at DIR listing, DeleteThisFile (DTF) opens a small window on top of the screen that displays the file-to-delete, for visual verification: neat! Cf. VDEL
- DTFS*: Deletes These Files. Inspect and, optionally, delete files matching a directory filespec (e.g.,
*.TMP), with visual verification. Cf. DTF- EMPTYSUBS: List (optionally select & delete) empty subdirs
- GD: Change drive/directory with a single command
- GETPATH: (Common Resource) Put "d:\path" of directory|filespec|VAriable in S/G 50
- LCA: CAll trunc[ated] file using 8.3 format, after “best guess” by frame TRUNC
- LCD: ChDir using (trunc[ated]) 8.3 format, after “best guess” by frame TRUNC
LFN Utilities: Long File or Directory Name Management
ATTRIB,CA*,CHDIR,COPY,COPY/?V,DEL,DIR*,ME,MKDIR,NE*,REN,RE*,RMDIR,SA,SAD,SFN*,ST: Directory or File Commands for Long or 8.3 Files|Dirs
DELTREE: ReMoveDIRectory and all files/subdirs (requires KMD.EXE)
DIRLFN*: DIRectory listing with Long Path+File Names. Usage: DIRLFN[/xy_dir_switches 8.3_DIRspec]<Helpkey>
DIRSFN: DIRectory listing with Short Path+File Names. Usage: DIRSFN[/xy_dir_switches Long_or_8.3_DIRspec]<Helpkey>
LFN*: Get full d:\path\{dir|file}name including LONG file names
- MEALL*: MErge all files that match given filespec(s)
- PATHCA: CAll file in current Dir or DOS Path
- PATHTO: Search for file|dir, first in current Dir, then in DOS PATH
- SAVETO: SAve To one or more devices with one command|key. Save to hard|removable disks, LAN drives, FTP directory, etc.
- SIM: Get a DIRectory of filenames similar to current file (an application of SMARTDIR)
- SMARTDIR,SMARTFIND,SDIR,SFIND: Find files fast with DIRectory & FIND commands, enhanced with "fuzzy logic" wildcard capability
- STRIPDIR: Turn a DIRectory into a bare list of DOS filenames
- SWEEP: Execute action recursively in current directory and all subdirectories. Input options: ordinary CMline commands; XMACRO (pseudo-XPL) commands on the CMline; DeFined XPL in text; programs hardcoded in a SWEEP SUbroutine
- SSE*: Sweep SEarch through subdirectories
- SWEEP2: Execute SWEEP on U2 framename [args]
- TRUNC: Trunc[ate] pathname|filename to 8.3 format. Best guess
UNC*: Display DIRectories of remote drives:\dirs using UNC Sharenames, then CAll, DELete, REad, etc within those directories. Xy3 could do UNC directory displays, and now Xy4 can too
- UP,DN: Move Up & Down the directory tree by tapping your Helpkey
- VDEL: "Visual" DELETE command, cf. DTF
- WILD: Use DOS-style wildcards with XyWrite commands (wildcards are ordinarily inadmissible with XyWrite’s internal COPY, DEL, et al. commands)
- WRITEF: Create <64K files (any file, including EXEcutables) with DEBUG.EXE:
- PREWRITEF: Prepare char-based source text for WRITEF
- WRITEF*: Create file with DEBUG.EXE
- WRITEFX: Create file with XPL
DOS- and Windows-specific programs
- KMD.EXE for Win9x. A modified CMD.EXE from Win2000 adapted for Win95, Win98, and WinME. Employ the power of NT’s CMD.EXE under 9x! Works in all Win32 operating systems. This version is RENamed “KMD.EXE” so that it cannot conflict with existing CMD.EXE (or %COMSPEC%) on your system. Required by XyWWWeb’s LongFileName (LFN) utilities and many other U2 frames that shell to DOS, make external calls, etc. Install in the first directory in your PATH (command “set PATH” at DOS to see your pathspec). Everybody should install this file! [846]
- DOSC: Run any BAT|COM|EXE file, then restore current d:\path, e.g.
dosc,mybatch- Replacement screen fonts for XyWin draft mode under Win3x:
Locate any of these screen font files, e.g. 8515OEM.FON, in \WINDOWS\SYSTEM, & replace the existing “oemfonts.fon=” spec in the
- Large legible screen font (one constituent of a 458K ZIP)
- Eight more substitute screens fonts
[boot]stanza of SYSTEM.INI thus:
oemfonts.fon=8515OEM.FON
Note that, whereas this “oemfonts.fon=” fix succeeds under Win3.x (including Win-OS/2), it apparently does not work with Win95 or WinNT- LIST.COM from Software@Buerg Computers. The classic DOS file viewer, by Vernon D. Buerg (shareware). Indispensable, period.
- LOADEVAR: Load contents of DOS environment variables to Save/Gets
- MINITRUE: Powerful DOS Search/Replace Utility. A freeware hybrid of grep, sed, more/less. Multiple files. Bells & whistles galore, great for your toolkit.
- MINI: Search for a string or regular expression across subdirectories with MiniTrue. Launch search from CMline; import results into a XyWrite window
- CAMINI: CAll file listed in MiniTrue search results
- Two tiny DOS files that Turn ON or OFF the NumLock State. For AUTOEXEC.BAT or STARTUP.INT
- PASSDOS: Pass S/G50 or CMline commands to DOS via dedicated key, e.g.
nn=XHJM,2,.,P,r,s,K,b,d,A,r,g,Q2,p,a,s,s,d,o,s,NO- PULL,P1,PULLT,P1T: View text output of DOS commands in XyWrite
- RUNDOS*,RUNBAT*: Run DeFined DOS commands from a Xy text window
- SETDATE: Set DOS date and time for the current file, e.g.
SETDATE m-d-yy[,h:mm]- TOUCH: Set DOS date and time stamps for the current file via Charles Dye’s TOUCH utility (updated link!)
- TOUCH2: Set DOS date and time stamps for the current file (requires XyShell)
- VCD,WCD: XyWrite interface to [OS/2] Ventimiglia’s enhanced Change Directory command utility, and [Win32] Waterlander’s CD: CD directly to any 8.3 DIRectory, using subdir name or "hint"
- VPT: Shell to VPT (VGA Palette Tool)
- The «XyWWWeb» Utilities:
Dialr.EXE: Win32 Phone Dialer for Voice Calls. Flexible. Command "Dialr" with no arguments at a DOS prompt for syntax and examples. Requires Active-X control MSCOMM32.OCX on BootDrive
- DOSSHELL.BAT: Generic Win32 BATchfile utility capable of switching to another drive:\directory, executing any command[s], then returning to your original d:\dir location! E.g.
dosshell.bat c \windows\system32 ftp service.boulder.ibm.com
If you are a BATch file programmer, you know this is next-to-impossible in 9x, & requires PUSHD and POPD in NT- FSW.EXE: Open a DOS session with full memory (>590K) in either a Desktop Window or FullScreen VGA (your choice). “«XyWWWeb» Utilities”. When the session terminates, auto-return to the calling session (e.g. XyWrite’s DOS shell). Many options [779] .
- GoXy.EXE, GoNB.EXE, GoMW.EXE, and GoWP.EXE: multipurpose focusing and keystuffer utilities. Switch focus to the respective applications and actually operate/manipulate them by poking keystrokes into their keyboard buffers — any versions of XyWrite, Nota Bene, Microsoft Word, or WordPerfect — from the DOS command line, BATch files, other applications, etc. See Go.HTM for full information [993]
- SW.EXE: Generic SWitch utility to switch focus to any specified Window Title
Editing
Columns:
- COPYROW: CoPy whole COlumn Table rows (workaround for XyWin GPF)
- MOVEROW: MoVe whole rows in XyWin COlumn Tables. Benign alternative to standard func MV, which frequently triggers a GPF in XyWin
- SNAKE: Set up snaking columns for any text
Copy/Move:- CDFT: Copy DeFined Text from ANY Open Window
- CDFT2: Copy DeFined Text to ANY Open Window
- COPYROW: CoPy whole COlumn Table rows (workaround for XyWin GPF)
- CUT,CULL,CUT/*,CULL/*,PST: CUT & PaSTe: Temporarily copy ("cut") blocks of text to a separate window for editing, then "paste" the edited text back into the original window, replacing the original DeFined block. A variant, CULL & PaSTe, lets you collect blocks of text from several windows into a single window for editing, then reinsert the edited text back into any of the original windows.
- MOVEFN: Move (export) footnotes to a separate file. Handles multiple sets of footnotes within a single file
- MOVEHM: Move line under cursor to top of screen (formerly named MOVEUP)
- MOVEROW: MoVe whole rows in XyWin COlumn Tables. Benign alternative to standard func MV, which frequently triggers a GPF in XyWin
- PUTDF-CM: Meticulous utility to move DeFined string from Text to CMline (if cursor on CMline), or move whole CMline to Text (if cursor in Text). Employ in .KBD file thus:
nn=NOJM,2,.,P,u,t,D,F,-,C,M,Q2
Count:- COUNTCHARS: Get character- and byte-count for DeFined block
- CWD,CWD/S: Count occurrences of a WorD or STring (formerly COUNTWD)
- PAGES,PGS: Report number of formatted pages in current file
- SEPS,SEPSC (Common Resource)
: Count the number of separators (in$trings) in a $tring). SEPSC=CaseSeNsItIvE. In&Out:Source$=50,Sep$=51; Out:Separators=52
- WCAF: Word Count Across Files Takes a wildcard filespec, a DIRectory listing or your own customized file list
Date/Time:- CHRONTMP,CHRONTEMP: Create Chronology Template
- DATEMASK: Get default datemask into date statement. Display current weekday|date|time on PRompt line. Derive Sunday, Monday, Tuesday,... Saturday from current date. Employ in .KBD file thus:
nn=NOJM,2,.,w,e,e,k,d,a,y,Q2- DATETIME44: Save date-time stamp to S/G 44
- DAY: Show current time|weekday|date on PRompt line (LONG version, cf. WEEKDAY)
- DEADLINE,DDL,DAYS,DATE2DOW,DOW2DATE,DATE2DOY,DOY2DATE,
DATE2JDN,JDN2DATE,PARSEDATE :Date Calculator v2. Days to/from dates|Days between Dates|Day of Week|Day of Year|Julian Day Number- HARD: Insert Hard or Soft Date
- HARDT: Insert Hard or Soft Time
- KEYPAD5: Jumbo WEEKDAY+POS assignment for any key
- LOG,L: Record time-stamped text entries from the command line
- NTHDAY*: (Common Resource) Compute date for nth weekday in month/year
- SEDate: SEarch for date before (<) or after (>) a given date; e.g.,
SEDATE <1/1/2000; SEDATE >12/31/1999 - SOFT2HARD,S2H: Convert soft DAtes|TiMes|VAlues to hard-coded text
- TODAY: Insert current DayOfWeek & Date
- WEEKDAY: Display current weekday|date|time on PRompt line
DeFine:- AppSG,PreSG: APPend|PREpend DF block to S/G 0-9|A-Z|100-1999
- COPYRN: Append DF block(s) to a reference file (COPY.TMP). Update for NBWin of Itamar Even-Zohar’s COPY.RN for NB-DOS
- CUT,CULL,CUT/*,CULL/*,PST: CUT & PaSTe: Temporarily copy ("cut") blocks of text to a separate window for editing, then "paste" the edited text back into the original window, replacing the original DeFined block. A variant, CULL & PaSTe, lets you collect blocks of text from several windows into a single window for editing, then reinsert the edited text back into any of the original windows.
- DEFDELIM,DD: Auto-DeFine text bounded by any matched pair of separators
- DEFTO$: DeFine[Delete] to Specified String
- DEF: Enhanced DeFine function
- DF: Enhanced DeFine routine
- DFA: "DeFine All" (entire file)
- DFFR: DeFine Help frame under cursor
- DFINFO: Report information about DF block. Length, Start & End positions
- DL: Enhanced DeFine_Line
- DWONLY*: Framename DWONLY DeFines Word only (no trailing separator or MoDe statement). Framename DWONLY2 also DeFines hyphenated and other conjoined phrases (e.g., "run-of-the-mill", "and/or", "c:\dir1\dir2", "HTML|XML|SGML") from word under cursor to end of phrase
- GETDFB: Capture the beginning and ending positions of a DeFined block, and store those positions in extended Save/Get 612. GETDFB then releases DeFine. Restore DF block with PUTDFB, q.v.
- NEWDM: Replacement for func DM (extend|shrink DeFined block)
- PRSDEFINE: Pass DeFined "framename[ argument[,arg...]]" to U2 from Text. Interface between text file and U2
- PUTDF-CM: Meticulous utility to move DeFined string from Text to CMline (if cursor on CMline), or move whole CMline to Text (if cursor in Text). Employ in .KBD file thus:
nn=NOJM,2,.,P,u,t,D,F,-,C,M,Q2- PUTDFB: Restore DeFined state of the most recent block captured by GETDFB, q.v. PUTDFB uses fuzzy logic to determine the accurate opening and closing positions of the block, even if the content of the block has been changed or the text surrounding the original block has changed. An option to JuMP to the beginning or end of the DF block is offered. PUTDFB works unless the block has been drastically altered (become unrecognizable in content)
- REVSORT*,REVSORT,REVSORTS: Reverse Sort DeFined Block[s]
- RUNCODE,RUNCYD: Run XPL code from disk, directory or screen. Framename RUNCYD cancels DF block after running DeFined code
Delete:- DAF: Delete All Formatting deltas (including nested deltas)
DEL2PUNC: Delete from cursor to next punctuation mark
- DELDI: Delete “Document Information” («VAIO»=1) in file permanently
- DREF: Get rid of extra formats that clutter but add nothing, e.g. those introduced by Word-4-Word filters; DREF Deletes Redundant Embedded Formats. Pauses for “y/n” confirmation at each triangle that it deems unnecessary
- DTF: Delete This File. DELete file in current text window OR file at which cursor is pointing in a DIRectory display. Two keystrokes if assigned to KBD file key (launch; confirm erasure). When pointing at DIR listing, DeleteThisFile (DTF) opens a small window on top of the display that shows the file-to-delete, for visual verification: neat! Cf. VDEL
- DTFS: Deletes These Files. Inspect and, optionally, delete files matching a directory filespec (e.g.,
*.TMP), with visual verification. Cf. DTF- DUMPDEL: Dump the multi-level deletion buffer to [UNTITLED] screen
- EF: Replacement for function EF. It both opens an EditFootnote window, and then, when closing the window, restores the exact position of text and cursor within the full screen
- F3P: Go GETDFB or Close EditFootnote (routine EF)
- RD: Unlimited Un-Delete: A Schema for Saving Block Deletions to Disk. Delete with complete confidence. Affords easy access to all your deleted material via your usual delete key
- RDMGR: Initialize RD.PM & Manage deletion archives
- RDPATH: Set path to clipboard/deletions file
- RENAMEAS,RENAS: ReCAll under new filename; delete old file
- UNDEL*: See *COMPLETE* Undelete Clipboard (not just 100 DF blocks|first 78 characters)
File Management:- %: Percentage of document read to current «CP»
- AUTOFILE,AF: SAve file with unique filename
- AB,AB/NV,ST,ST/NV: ABort or STore file and close unused windows. Overrides «VA$NW» settings that leave windows open after file is removed
- AB+: ABort but SAve modified or [UNTITLED] file as .TMP file, etc. See also REOPEN and UNABORT (alias UNAB)
- ABD: ABort and simultaneously Delete the current file
- ABFULL: Abort file, remove window, and ensure that last remaining window is FullScreen
- $A: Ersatz Autosave: A kludge for SAving files at regular intervals. Unlike native Autosave, which uses .TMP filenames, this .DLG-based routine simply SAves the current file. Issue HELP AUTOSAVE<Helpkey> for details
- AUTOSV: Toggle Ersatz Autosave On and Off
CALLORGO[N]*: GOFILE, CALL, or create NEW File
- CLRW: Clear Windows: close all open windows — fast. Abort unmodified files/dirs, STore modified files
COMP: Display, in a single file, all FindDifference/FindMatch Deletions + Additions between two adjacent files. Magic
- DTF: Delete This File. DELete file in current text window OR file at which cursor is pointing in a DIRectory display. Two keystrokes if assigned to KBD file key (launch; confirm erasure). When pointing at DIR listing, DeleteThisFile (DTF) opens a small window on top of the display that shows the file-to-delete, for visual verification: neat! Cf. VDEL
- DTFS: Deletes These Files. Inspect and, optionally, delete files matching a directory filespec (e.g.,
*.TMP), with visual verification. Cf. DTF- FINDDIFF,FD: Compare two files in adjacent windows
- GETPATH: (Common Resource) Put "d:\path" of directory|filespec|VAriable in S/G 50
- GOFILE,GOF: Change windows fast, by typing a bit of the desired filename in target window
- LCA: CAll trunc[ated] file using 8.3 format, after “best guess” by frame TRUNC
- LCD: ChDir using (trunc[ated]) 8.3 format, after “best guess” by frame TRUNC
LFN Utilities: Long File or Directory Name Management
ATTRIB,CA*,CHDIR,COPY,COPY/?V,DEL,DIR*,ME,MKDIR,NE*,REN,RE*,RMDIR,SA,SAD,SFN*,ST: Directory or File Commands for Long or 8.3 Files|Dirs
DIRLFN*: DIRectory listing with Long Path+File Names. Usage: DIRLFN[/xy_dir_switches 8.3_DIRspec]<Helpkey>
DIRSFN: DIRectory listing with Short Path+File Names. Usage: DIRSFN[/xy_dir_switches Long_or_8.3_DIRspec]<Helpkey>
LFN*: Get full d:\path\{dir|file}name including LONG file names
LISTDIFF: List differences between two files
- METAS*: Merge EveryThing from Alternate Screen
- NEWFILE*: Open a new file with unique date- & time-stamped filename
- POPFILE: POP filename from REOPEN file list
- PUSHFILE: PUSH filename onto REOPEN file list
- RECALL,RECALL/*,REC,REC/*,RECA,RECA/*: ABort and reCAll file (abandon changes made since last SAve). Optionally save backup copy of original
- RENALL*: REName all files in DIRectory display to newname1.ext, newname2.ext, etc
- RENAMEAS,RENAS: ReCAll under new filename; delete old file
- REOPEN*: Reopen last ABorted file, cf. AB+. Framename REOPENK shows a listbox with recently-opened files (REOPENK is optimized for Xy4 [DOS])
- SA/NV,SANV: SAve absolute. Force disk-write even if file not modified
SA/RTF,SA/HTM,SA/TXT,SA/XY: SAve file|DF block as RTF|HTML|TeXt|XY4 (Xy4DOS only)
- SAV: SAve which preserves Draft View mode despite presence of Tables|Graphics. This version resets the page appearance precisely, but for complex reasons, in a few situations, it doesn’t work as well as the SAV-OLD version, below. Try this one first!
- SAV-OLD: Preserve Draft View #2. This version does not attempt to reset page appearance precisely
- SAVE2: SAve With BackUp Save to Named Directory
- SAVEAS,SAAS: SAve and reCAll file *or DeFine block* under a new name
- SAVEALL*,STOREALL*: SAve|STore all open files. Workaround for buggy funcs SL and SF
- SAVEBAK,SAB,COPYBAK,EDC: Incremental file-backup tool. Make up to 999 separate backup saves of any file or DF block
- SAVESESS: Save editing sessions to disk for easy retrieval
- SAVETO: SAve To one or more devices with one command|key. Save to hard|removable disks, LAN drives, FTP directory, etc.
- How to Concurrently edit one file in two+ windows (both live, both SAvable!)
SBS: Edit one file in two different, synchronous windows (SideBySide|SBS). View simultaneously, either full-screen or split; automatically reconcile (update) both copies so that they are always identical. A Xy4|XyWin limitation overcome
- TWOSCR: Toggle between two positions in a file, in one window (simulate editing two copies of a file; handy for flopping between two positions)
- SIM: Get a DIRectory of filenames similar to current file (an application of SMARTDIR)
- ST+: STore "plus"
- TAGFILES,TAG: Automate file transfers between two computers via a transfer diskette
- TAGFILESDRIVE: Prepare default TAGFILES drive
- TAGFILESPATH: Set default drive:\path for TAGFILES
- TAGFILESR*: Restore tagged files from diskette to hard drive
- TAGFILESSORT,TAGSORT: Sort TAGFILES list, deleting duplicate lines
- TAGFILEST*: Tag files to be copied to transfer diskette
- TAGFILESV*: View list of "tagged" files
- TAGFILESW*: Write "tagged" files to diskette
- TMPFILE,TMPFILE/NV: Generate a unique 8.3 filename
- TOGRO: Toggle Read-Only and Read-Write display, or toggle R-O|R-W attribute bit at DOS level
- TRUNC: Trunc[ate] pathname|filename to 8.3 format. Best guess
- UNAB*: ReCAll last ABorted file and restore changes
- WILD: Use DOS-style wildcards with XyWrite commands (wildcards are ordinarily inadmissible with XyWrite’s internal COPY, DEL, et al. commands)
Footnotes:- DUMPEM,DUMPFN: List contents of footnotes and other embedded commands (LB|NT etc.) to [UNTITLED] screen
- EFN*,EFN#*Edit footnote in separate window; insert edited note back into main file
- FINDFN,FINDFN/*,FFN,FFN/*: Random access to footnotes
- FRMTFTNTS: Format Footnote Numbers|Letters|Symbols in *Text*
- MOVEFN: Move footnotes to a separate file. Handles multiple sets of footnotes within a single file
- SEFN: SEarch for text within footnotes only
Jump:- BIGJMP: Make Big JuMPs, of any length, back and forth within a file
- NXF: Jump to next (NXF) or previous (NXF B) frame in Help file
- REJUMP: Try 3 times to JuMP to specified «CP», then quit & return to parent routine (avoid hangs in routines if cursor can’t be positioned at precise location)
- TOPBOTDF: JuMP to beginning or end of DF block
Line Manipulation:- GETDE1: Get Discretionary_lineEnding (soft <cr>, «VADE1») [S/G 50 Out]
- GOLINE,GOL,GOL/10: Go to a specified line
- GOLINED: Goto line# in file starting at TF; weighted to Ascii-13 for DOS
- GOLINEX: Goto line# in file starting at TF; weighted to Ascii-10 for Unix
- LCR: Template for Flush_Left-Physical_Center-Flush_Right Text (may not display correctly in graphics mode, but prints correctly, on single line). A XyImpossibility Overcome!
- LINENUM*: Add line numbers to a COPY of current file
- LN: Dynamic [Editable] Line Numbering. Format texts to display the current Line Number (printed lines, not DOS lines determined by carriage returns). Use "LN 456<Helpkey>" (or native command "GO 4-56<cr>") to go to line 456. Restore original formats with switch "/NV"
- LNLN: Find adjacent duplicate or similar lines
- OPENNEXTLINE: Insert new (empty, <cr> only) line below current line
- OPENPREVLINE: Insert new (empty, <cr> only) line above current line
- PUTCR,UNPUTCR,REPCR,REPCR/*: Insert CrLf’s in line-wrap text
- PUTCRDF: Insert CrLf’s in line-wrap text (alternate DeFined-block usage)
- UNCR: Replaces all single carriage returns with a space, retain multiple carriage returns
- UNPAD: Remove blank spaces at beginning or end of lines
- UNPAD L(EFT) Remove spaces at beginning of lines
- UNPAD R(IGHT) Remove spaces at end of lines (default)
- WRAP,WRAPA: Remove blank spaces at beginning or end of line, then wrap line with hard carriage return ["wrapa"=Auto-Wrap from «CP» to EOF] cf. UNWRAP. Rapid(sic) E-mail formatting
- UNWRAP,UNWRAPA: Un-Wrap line with hard carriage returns (replace <cr> with a space) ["unwrapa"=Auto-Unwrap from «CP» to EOF] cf. WRAP
- REWRAP,REWRAPA: Re-Wrap line with hard carriage return ["rewrapa"=Auto-ReWrap from «CP» to EOF]
Memos/Reminders:- GRABMEMO: Insert status line memo at cursor location
- MEMO,M: Post short reminders on the status line (append memo to default status-line message)
Redundancy/Proximity:- DREF: Get rid of extra formats that clutter but add nothing, e.g. those introduced by Word-4-Word filters; DREF Deletes Redundant Embedded Formats. Pauses for “y/n” confirmation at each triangle that it deems unnecessary
- LNLN: Find adjacent duplicate or similar lines
- CSE*: "Circular" search routine
OSE*: SEarch open files
- PROX*: Find one search term near another term (proximity search) (word1 within x chars. of word2)
- REDUND: Verbal Redundancy Checker. Determine the occurrence and position (if any) of the currently DeFined string prior to, and subsequent to, the current cursor position
- REPEAT,REP: Check for (list) repeating words in text
- RUNON: Check for Run-On sentences; fast
STRIPMD: XyWriting often introduces many extraneous MoDes; STRIPMD deletes superfluous|duplicate MoDe statements. The program tracks the current MoDe and “knows” what MoDe currently pertains. Handles both additive and absolute MoDes. For further info, see HELP STRIPMD<Helpkey>
- WDWD: WORDWORD: Standalone double-word zapper for people who prefer to spell-check in batch mode (which lacks the ability to flag repeating "words words")
Search/Change/Find:- BIGCHG: Search and replace for long strings that won’t fit on the CMline. Includes case-absolute and wildcard options
CHDF*,CHADF*,CIDF*,CIADF*,CVDF*,CVADF*,SEDF*,SEBDF*,SEBADF*: Perform CHange and SEarch operations on DeFined target strings
- CH*,CI*,CV*,SE*: Global Search|Change Program. Search, Change_Verify, or Change_Invisible in filemask(s) from the command line, using one or more global (*|?) filemasks. Many improvements|enhancements over the native "se filemask[,filemask,...]|$tring|" command, most importantly the ability 1) to open files at the current cursor position (instead of at TOF), 2) to resume searching|changing with the next file in the mask after terminating the routine to inspect a file!, and 3) to use powerful new AND and NOT wildcards
- CHGS: Compare the file in the current window with the version on disk (to identify CHanGeS made since last SAve)
CLIP,CLIPW: Copy To and/or Paste From the System Clipboard with XyWrite. A longstanding Xympediment overcome! Simple to use, and Windows version completely redesigned in U2 v118+ to handle CodePage conversions automatically (i.e. character translation when you Copy and Paste between Windows apps and XyWrite). Near-instantaneous Copy/Paste/Replace operations. Win32 and OS/2 (required Win32 file CLIP.EXE in CLIPW32.ZIP, OS/2 files in CLIP.ZIP packages). CLIP.EXE or Windows Script Host used with Win32; XyShell required for OS/2
NEV,NEV/*: Paste system clipboard into a NEw [UNTITLED] file
Test your Windows Scripting Host installation with TESTWSH.BAT. Determine whether WSH is properly installed
- CSE*: "Circular" search routine
- CW: Case-sensitive Change Whole-word $tring PM. E.g.: command
cw |tom is dead|jim is alive|<Helpkey>to change tom is dead ==> jim is alive, Tom is dead ==> Jim is alive, Tom Is Dead ==> Jim Is Alive, TOM IS DEAD ==> JIM IS ALIVE, etc.- EMPH2MD: Change-Verify _phrase_ or *phrase* to «MDUL»phrase«MDNM» or «MDIT»phrase«MDNM»)
- FDU: Find Duplicate URLs
- FINDFN,FINDFN/*,FFN,FFN/*: Random access to footnotes
- FINDNEXTURL,FNU: Find next URL in text
- FNSE: SEarch forth-and-back for function
- GO$: SEarch for a $tring from TOF using a single key, return to current «CP» if not found
- ISE*: Incremental SEarch. An implementation of the ever-popular [WordStar-ish] “SE[A]rch-as-you-type” gimmick
- LNLN: Find adjacent duplicate or similar lines
LONGW*: Replacement for CH[A] or CV[A] that accepts a Wild-W of *any* length
- LSE*: SEarch for long strings
- PROX*: Find one search term near another term (proximity search) (word1 within x chars. of word2)
- S$: Search for string across entire drive
- SEBF,SEABF,SEBF/*,SEABF/*: SEarch backward and forward with a single command
- SEFN: SEarch for text within footnotes only
- SEQSE,SEQSE/*,SQ,SQ/*: Sequential SEarch
- SP2: "Regularize" formatting after sentences (".|?|!"+2 spaces)
- TOGLSEA: Assign to a KBD key. With cursor in Text: Toggle SE[A]|SEB[A]. With cursor on CMline: Toggle SE into SEA==>SEB==>SEBA==>SE==>SEA==>...
- WILDCARD: Access all SEarch wildcards from a single key
Special Characters:- ACCENTS.ZIP: View a list of, and|or Insert, all available diacritical marks (accented characters) easily. ACCENTS.PM, for Xy4-DOS|XyWin, delivers all available accented characters (hundreds) via one key assignment, eliminating the need to consult character tables or configure KBD file with fourteen function calls. It optionally displays a graphical list of all marks
- ACCENTS.ZIP also includes a revised/corrected copy of XyQuest’s old “dead key” ACcent table (ACCENTS.PRN) for Xy4-DOS, with installation instructions and notes (e.g., you must use Code Page 850 in order to LOAD accent tables); as well as two separate tables for XyWin: ACCENTS.TTF, which operates with TrueType fonts; and ACCENTS.SPD, for Speedo and other fonts under control of a XyWrite PRiNter file. See installation instructions in ACCENTS.SPD|TTF
- ACCENTS: View|Put diacritical marks easily (see above)
ACNT1252.ZIP: “Dead key” ACcent table ACNT1252.PRN, for CodePage 1252 under Xy4-DOS
- CHARS: Insert CodePage 437|850|1252 high characters (menu)
- CP437: Insert US-ASCII high characters
- CP850: Insert Western Europe/Latin high chars
- CP1252: Insert ANSI high chars
- CPLOW: Insert US-ASCII low chars
- FOREIGN: Insert US-ASCII accented/foreign chars
- GREEK/MATH: Insert US-ASCII Greek/Math
- LINES: Insert US-ASCII line-drawing chars
- PATTERNS: Insert US-ASCII pattern chars
- SPECIAL: Insert US-ASCII "special" chars
- QUOTE: Convert " " to `` ''
- QUOTES,": Toggle between simple quotes and open-close quotes [DOS only]
- REV and UNREV: Produce 3-byte REVerse-video characters on the fly [DOS only]
- SEPARAToR.PRN: SEparator Table which defines word|sentence|paragraph delimiters (insert in SETTINGS.DFL)
- TABS2SPACES: Convert tabs to hard spaces, from current
to EOF
String Handling:- CITE: Table all occurrences of user-specified text, together with ample surrounding context. Specify the text to cite on the CMline or DeFined in text; control the amount of context to provide; jump automatically to any citation(s)
- FISH*: Fish out (and, optionally, RUN) oft-used bits of XPL code, formatting, or text (user modification required)
- LISTWDS: List words in current file that contain a specified string
- PUT/*: PUT a text string a specified number of times. Also, simulate underlining and leadering in plaintext docs
TRANSLATE: Convert any old set of strings into a new set of strings, e.g. localize hard-coded output from Editor
Styles:- EG: Create format Styles "by example", on the fly
- DEFORMAT: Convert embedded formatting into plain-text descriptive tags
Symmetry:- BALPAIRS: Check for Balanced ()|[]|{}|<>|`' pairs of characters. Argument "/NV" checks from current «CP», otherwise (Default) from TF
- BALPAIRSOFNT: Check for balanced pairs of «NT1» and «NT0»
Typing/Keys:- @LWR: (Common Resource) Lower Case function [S/G 50 In/Out], e.g.
@LWR HELLOreturns "hello". Works with CodePage 1252 if REG Variable “1252” is set to “Y”CAPSYNC: Restore CapsLock sync between OS and XyWrite. Requires GoXy.EXE (Go.ZIP)
CAPSYNC2: Restore CapsLock sync between OS and XyWrite (alternative version). Requires CAPSLOCK.EXE
- CHCASE: Change Case of character under cursor (or DF block in text)
- CURSORON: Cursor vanished? Restore it!
- FMARK: superseded by LOC,LOC/*
- ICAPS: Initial Caps (type on the fly)
- INITCAPS,IC: Initial Caps (operates on DeFined block)
- KEYPAD: Use touch-typing keys as a temporary cursor pad. Move cursor, etc. without leaving touch-typing position
LOC,LOC/*: Save (Stack) current cursor LOCation (Filename+CharPos); JuMP to any saved LOCation; collect, organize and annotate LOCations in an editable file (LOCATE.SAV)
LRCS: Left|Right|Center|Sub$tring [S/G 50 In/Out]
- LEFT: (Common Resource) Parse (get) bytes|chars from left side of string
- RIGHT: (Common Resource) Parse (get) bytes|chars from right side of string
- CENTER: (Common Resource) Parse (get) bytes|chars from center of string
- SUBSTR: (Common Resource) Parse (get) bytes|chars from substring of string
NUMLOCK: Toggle and/or Synchronize NumLock programmatically. Requires GoXy|GoNB.EXE
- NUMPAD: Use main keyboard keys as a NumPad. For Notebooks, cf. frame KeyPad
- SPOT: Find the damn cursor! In NBWin particularly, the cursor can be hard to locate on the page...
- TYFUNC: Execute functions by typing their 2-character mnemonic names
Window Management:- CLRW: Clear Windows: close all open windows — fast. Abort unmodified files/dirs, STore modified files
COMP: Display, in a single file, all FindDifference/FindMatch Deletions + Additions between two adjacent files. Magic
- FINDDIFF,FD: Enhanced file comparison utility for two files in adjacent windows
- METAS*: Merge Everything from Alternate Screen
OPWIN: Display/Select from list of files in Open Windows. Dialog box
PEV,PE,CEV,CE: Replacement for native commands PE[V] and CE[V] (bug fix for Insert MoDes)
- SBS: Edit one file in two different, synchronous windows (SideBySide|SBS). View simultaneously, either full-screen or split; automatically reconcile (update) both copies so that they are always identical
- WT: 3-Way Window Toggle. Make adjacent screens split Horizontally==>Vertically==>Restore_Fullscreen. Supports variable screen dimensions (Xy4 only)
- WW: Toggle between tiled or cascading windows and full screens
Words/Characters:- CWD,CWD/S: COUNTWD: Count occurrences of a word
- KILLMODE: Kill MoDe at current text position
MD*: Add MoDes. Works in eXPanded view! Inserts additive MoDes where required, otherwise absolute MoDes. Smart
- SWAP2: Swap two chars in text or on CMline
- SWAP$: Substring swap
- TRANSPOSE: Transpose Char|Word|Sentence|Para|5current+prev_chars|6two_prev_chars. Enhanced Func XN
- TWINCAPS: Auto-correct TWo INitial CAPS typing error
- WDWD: WORDWORD: Standalone double-word zapper for people who prefer to spell-check in batch mode (which lacks the ability to flag repeating words words)
- WCAF: Word Count Across Files Takes a wildcard filespec, a DIRectory listing or your own customized file list
Games
- BIRDIE: Un film "XPL" de C.L.Distefano. Demo code for producing "cinematic" PRoMPTs. Watch mythical creatures cavort across the status line; create your own
- BOTTLES: Programming exercise to generate the words to "99 Bottles of Beer"
- CHESS Point-and-shoot interface, moves logged in standard algebraic notation, last-move undo, two-way translation from board diagrams to Forsyth-Edwards Notation, save games as Ascii text files
- CHESSBD,CHESSBD/NV: Set up Chess Board
- CHESSMV: Execute Chess Move
- CHESSSAVEPOS,CHESSSAVEPOS/NV: Save Chess position
- CHESSSCREENUP: Adjust Chess Board screen position
- HANGMAN: The classic Hangman word-guessing game [DOS only]
Information and Documentation
XyWrite Programming Language User’s Guide (1/92), in both text-based searchable PDF format, and native XyWrite|NBWin text format with “live” XPL programming embedded in the document (the PDF may also be displayed by itself). This rare book is the only step-by-step, how-to instructional guide to XyWrite IV-level XPL ever published. We’ve dusted this artifact off because the contents remain entirely relevant today, in NBWin as well as XyWrite. If you want to learn how to program with XPL, start here. Read the Editor’s Preface in the PDF (or the README in the ZIPfile) for background and usage information.
XyWrite IV Customization Guide in PDF format
Visual index (with samples) of all known Xy4-compatible Speedo fonts
- BX.TXT: Tutorial on func BX ("Blind eXecute"), used in XPL PMs and KBD-file macros to execute commands without erasing the CMline (fast alternative to BC...XC)
- An extensive, early (2/92) analysis of the Signature (XyWrite IV|XyWrite for Windows) HeLP and MeNU system. All of this how-to information is still valid and applicable. It fills one of several gaping holes in XyWin documentation. Document provided to RJH by Billerica Tech Support personnel
- A valuable, brief analysis of the construction of DiaLoG boxes (K frames) in Xy4|XyWin (DIALOG.XW4, dated 10/93). This type of information is not included with XyWin documentation. Document provided to RJH by Billerica Tech Support personnel
- FAUXTABLE: (Common Resource) Complete 256 charset in 3-byte form put in S/G 50
- A bit dated but still basic and important, PARSEFRM.DOC describes critical hooks for the Help system that enable users to run, and pass arguments to, frames in .DLG|.HLP|.MNU|.U1|....U9 files).
- REORGNIZ.DOC. The principles of parsing frames. If you are a programmer, you must read REORGNIZ.DOC before attempting to use the RELABEL or RENUMBER programs (q.v. below).
- SEEWZ: Scroll through all Graphic View colorsgetde1 [Xy4-DOS only]
SETUP: Check and optionally Establish Suitable Xy|NB System Defaults
- TABLE: Display XyWrite’s embedded DLG|HLP|U2 tables
- CHARSET Table listing the entire XyWrite character set 0-255 [0-909] in Ascii (Decimal) and Hex. Together with a Decimal-Hex equivalence table [and a corrected copy of the Billerica file CHARSET, originally distributed with Signature, which defines each Bitstream Speedo character; many $trings representing chars in range 782-909 were inaccurate]. Ascii, Hex, and Ascii-Hex conversion tables
- COLOR Display the text-mode Color Table in Xy4-DOS, or the ForeGround/BackGround text color dialog in XyWin. See or test the array of available effects
- COMMANDS Embedded in-text commands, e.g. «LM» (terse list)
- EMBEDDED Embedded in-text commands, e.g. «RM» (lengthy descriptions) in Xy4-DOS
- FUNCTIONS Table of functions (with current «VA_func» assignments, i.e. the actual key in KBD file to which function is assigned, if any)
- HELPINDEX Index of Help topics in Xy4-DOS
- IMMEDIATE Immediate commands issued on command line, e.g. SAVE, in Xy4-DOS
- INDEX Table of XYWWWEB.U2 Contents, also accessible with commands INDEX
, HELP IDX , HELP INFO , etc. - KEYS Table of keyboard Key labels (revision of DLG frame {{6,1b}})
- MACROS Display all @A-@Z, @0-@9, &A-&Z, &0-&9 LDPM assignments (revision of DLG frame {{0g}})
- MEMORY Memory usage statistics
- PCCODES List of PC Code numbers and purposes
- SPEEDOS Table of the "XyWrite [Speedo] Character Set". Revised for chars 782-909; with extra appended tables
- VARIABLES Compendium of XyWrite VAriables. Amazing
- Brief document that Compares function of major frame types (1, 5, C) in recent XyWrite versions (Xy3+|Xy4|XyWin). Unknown origin (Billerica?), dated 1/94.
- Detailed documentation of “afterthought” functions/commands. Late modifications/additions to Xy4|XyWin not discussed in manuals. Billerica, dated 6/95. Contents:
- BlindEdit command BE
- ColumnFunction CF
- improved DRive DR default
- the PUTC command (change K-frame data display)
- OFfset OF default
- UIF files
- the UNDELete buffer
- a text essentially identical to DIALOG.XW4, described above
- unconventional list of VAriables, VA$ polling commands, $xx K-frame lists
- WPROF command (write to any control file)
- the $WS list box (extract items from a designated Windows data file)
- the Y3 default (enable user to edit XyWrite 3 files in XyWrite 4)
- list of files in Xy4/XyWin distributions; bug-fix lists for v4.016 and v4.12
- “Technical Tips” for XyWin
Internet, LANs, and HTML
- BROWS: CAll into a XyWrite window any online document (web page), using sockets (HTTP) protocol. XyBrowser! (Requires XyShell)
- CLEANEMAIL,CEM: Prepare E-mail for reply|Newspaper articles for delivery
- FTP and HTTP Suite: (requires cURL)
- CHKURLS: Check exist all http|ftp URLs in current HTML doc
- GETFTP,PUTFTP: Download (GET) FTP file to current dir; Upload (PUT) FTP file to host
- GETHTTP: Download (GET) HTTP file to current dir
GETIP,GETHOST: Get current IPaddress or HostName (computername) of local computer (for Win32|OS/2; in OS/2: GetIP only, & requires XyShell)
- MNGFTP: MaNaGe files at FTP sites. APPEND CD DEL DIR HELP HELP MD RD REN VER
- READFTP,READHTTP: Get, then Read, file via FTP/HTTP
- Hacksaw (abandonware by Innoval). A Windows|OS/2 command-line utility for FTP, HTTP and E-mail
- EOM: Delete from cursor to end of mail msg
- FTP: FTP via Hacksaw
- GETMAIL: Hacksaw E-mail Retrieve
- HACKINI,HACKDOC: Open HACKSAW.INI or HACKSAW.DOC
- HACKSAWPARAMS: User Variables for Hacksaw.U2
- HTTP: Hacksaw HTTP file download
- MAILTO,M2: Hacksaw E-mail Send
- MOVEMSG,COPYMSG,DELMSG: Move|delete|copy specified E-mail messages
- NEXTMSG,PREVMSG: Jump to next|previous mail msg
- READMAIL,RDM,CALLMAIL,CAM: Read Hacksaw mail
- REPLY: Format E-mail reply for Hacksaw
- SEND: Net Send Message using MESSENGER (128 characters)
- SENDBIG: Big Net Send Message using MESSENGER (900 characters)
- SND: "Send Button" for Hacksaw E-mail
- DELTAGS: Delete HTML|XML|SGML tags and neighboring white space (leaving text)
- HILITETAG: Highlight some/all start|end tags in HTML|XML|SGML files
- HILITEURL: Highlight (DeFine) a URL in text
- HLINKS: HyperText Link Lister: Quickly generates an editable list of HREF links and headings from an HTML file. Output in HTML or XyWrite format (set a default, or choose format on the fly)
- HTMLTAG,HT: Embed HTML tags in text from the XyWrite command line. End tag is DeFined (ready to move or delete)
- LISTURLS: List all URLs in current file (duplicates grouped together)
- MAILPREP: Format XyWrite texts for E-mail using special PRiNter file XyWbMail.PRN (not for NBWin, or XyWin if Speedos or softfonts not used)
- MOVEMSG,COPYMSG,DELMSG: Move|delete specified E-mail msgs
- NEXTMSG,PREVMSG: Jump to next|previous mail msg
- TEMPTAG: Insert (afterwards auto-delete) a temporary "NAME" tag in HTML doc, then jump to location of this tag in browser using frame VIEWURL. Instantly see effect of edits to HTML
- TOGLTAG,TT: Hide|Unhide tags in HTML files. Toggle HTML tags|Xy deltas
- VIEWURL*,VU*,URL*: Point-and-shoot URL viewer. "Lifts" URLs from the screen and loads them into your favorite browser. Works with any OS. OS/2 users must install the XyShell
- PARSEURL: Fix URL $tring addressing
- WEATH*: The XyWrite “Weather Processor”: Get current weather & forecast for any U.S. city, ZIP code or Airport
- XHDR: Delete unwanted headers from E-mail and News files
- XYLIST: University of Pennsylvania (CCAT) Mail List Command Shell. Subcommands: SUBSCRIBE (sign on); UNSUBSCRIBE (sign off); ACK (receive confirmation copies of sent messages); NOACK (suppress confirmation copies); POSTPONE (suspend receipt of mail from the list); INDEX (get an index of files in the download directory); REVIEW (get the latest Welcome file); RECIPIENTS (get a list of subscribers); GET [filename] (request a file from the download directory)
- YA?: Yet Another Dictionary|Thesaurus|Web Search tool. Versatile command-line Web search utility for word definition and etymology searches, searches of specialized law, medical and computer lexicons, translation to foreign languages, Web searches via Google, All the Web or Alta Vista, Xrefer Web reference, and more
KeyBoarD File
- Three “magic” programs to Identify or Find .KeyBoarD commands and Help frames (read IFF.DOC for detailed information)
- IDKEY: Identify assignment on depressed key
- FINDKEY: Find key assignment(s) in .KBD file for any $tring|func
- FINDFRM: Find frames in DG|HL|MN|U1|U2|U3|U4 by keyword or $tring
- KBD>XPL: Convert KBD code to XPL code (DeFined KBD code only)
- KCODE,KC: Convert XPL macros to keyboard-file code (cf. UNKCODE)
- KEYSTROKES: List current .KBD assignments for functions
- LOCK: Lock the keyboard
- PROMPT: Issue status-line prompts from command line or KeyBoarD file
- PRSKBDARG: Pass "framename argument[,arg...]NO" to U2 from .KBD file. Interface between KeyBoarD file and U2
- UNKCODE: Convert KeyBoarD-file code to XPL (cf. KCODE)
- XPL>KBD: Convert XPL code to raw .KBD code (converts entire window)
Legal Tools
- CHKANS: Check responsive pleadings for completeness. Check references to numbered paragraphs
Math and Science
- ADDSEX: Add a column of sexagesimals [dd:hh:mm:ss.nn...]
- B2C*,D2C*,O2C*,X2C*,N#*2C*: (Common Resource) Number-to-String conversion (any base 2 through 36) [S/G 50 In/Out]
- [ BASE2BAS: Superseded by frame BB, below ]
- BASECALC,BASECALC/,BCALC,BCALC/: Add, subtract, multiply and divide in base 2 through 36
- BASE: Set the current base for calculations, conversions
- BB,BB/,B236C: Do base-to-base conversions to|from any Base 2-36
- BMI: Compute Body-Mass Index (healthy range = 21-25)
- C2B*,C2D*,C2O*,C2X*,C2#*: (Common Resource) String-to-Number conversion (any base 2 through 36) [S/G 50 In/Out]
- CALC: XyQalqulator. A large-numeral, 51-place, equation-editable XyQalqulator
- CFK: Convert between Celsius/Fahrenheit/Kelvin temperatures
- @DAT: Convert date to hexadecimal number YYYYMMDD [SG50 In/Out]
- @DTS: Convert hexadecimal date YYYYMMDD to decimal in format determined by default FZ [SG50 In/Out]
- DAYSPAST: Calculate days between two dates in year range 1583-9999
- DEADLINE,DDL,DAYS,DATE2DOW,DOW2DATE,DATE2DOY,DOY2DATE,
DATE2JDN,JDN2DATE,PARSEDATE :Date Calculator v2. Days to/from dates|Days between Dates|Day of Week|Day of Year|Julian Day Number- @DEC: Convert hexadecimal number to decimal number [SG50 In/Out]
DELTA%: Calculate percent change between two values
DIV*: Integer division|modulo. S/G 50 In; Output: S/G50=quotient, S/G51=remainder; e.g.
DIV[/] 23/5<Helpkey>- EASTER: Calculate Easter Sunday date for any Gregorian year. Based on Oudin’s algorithm
- EXP: (Common Resource) EXPonentiation [S/G 50 In/Out]. Syntax: EXP value^power<Helpkey>, e.g.
EXP -3^3returns -27. Switches: "/NV" suppresses PRompt, "/TX" writes result to screenFACTORIAL: (Common Resource) Compute product 1*2*3*...*n for any n (result up to 600 digits) [S/G 50 In/Out]. Syntax: FACTORIAL n<Helpkey>, e.g.
FACTORIAL 25returns 15511210043330985984000000FORMAT#: Format "123456789" as "123,456,789" [S/G 50 In/Out]
- @HEX: Convert decimal number to hexadecimal number [SG50 In/Out]
- HEX$: (Common Resource) Convert 1-byte decimal character to 3-byte hexadecimal character [S/G 50 In/Out]; Determine hex value [S/G 51 Out]
- INT2WORDS,I2W: (Common Resource) Translate integers e.g.
INT2WORDS 123returnsone hundred twenty three[S/G 50 In/Out]WORDS2INT: Translate words e.g.
WORDS2INT one thousand forty threereturns integers1043[max=billions; S/G 50 In/Out]- M/D/YYYY: (Common Resource) Convert long-form date to
m/d/yyyyformat. S/G 50 In/Out; returns empty S/G 50 if conversion failsMETRIC*: Convert MM CM MeTer KM/DI IN FT YD MI|LiTer/ON(fluid) PT QT GaL|GM KG/OZ LB ToN; "metric/" inserts value at cursor pos S/G50In/Out
- MOD: (Common Resource) MODulo function returns remainder of integer division [S/G 50 In/Out], e.g.
MOD 11/4returns 3- NTHDAY: (Common Resource) Compute date for nth weekday in month/year
- PCT: (Common Resource) Percent addition and subtraction, e.g.:
PCT 100+25[%]. Output: 50=input 51=result 52=delta 53=delta sign(+|-), PCT 58.354-32.5[%] - PUTVALUE: Evaluate (PV) current line or DF block math or XPL expression and put result in text
- QCALC,=: Quick ’n’ Dirty 4-function calculator
- RND: (Common Resource) Pseudo @RND operator. Round off to nearest integer. Example: "rnd 1.50<Helpkey>" returns "2"
- ROMAN: (Common Resource) Convert Decimal to Roman. Range=1-3999 because cannot display bar over integers (overbar=*1000, e.g. V-overbar=5000) [S/G 50 In/Out]
- ROOT: (Common Resource) Root function returns root of any number, to any number of decimal places, for any exponent. Switches: "/NV" suppresses PRompt, "/TX" writes result to screen [S/G50 In/Out]
- @TIM: Convert military time HH:MM to hexadecimal number HHMM0000 [SG50 In/Out]
- @TMS: Convert hexadecimal time HHMM0000 to time format determined by default MT [SG50 In/Out]
- ZELLER: Zeller’s Congruence assigns Day of Week (1=Mo...7=Su) to S/G 44
Operating System Management
AWAITREN: REName after writing to sourcefile stops, with variable timeout
AWAITFILE, AWAITDEL: Force the current XPL process to pause until a given file exists (AwaitFile) or is deleted (AwaitDel)
CLIP,CLIPW: Copy To and/or Paste From the System Clipboard with XyWrite. A longstanding Xympediment overcome! Simple to use, and Windows version completely redesigned in U2 v118+ to handle CodePage conversions automatically (i.e. character translation when you Copy and Paste between Windows apps and XyWrite). Near-instantaneous Copy/Paste/Replace operations. Win32 and OS/2 (required Win32 file CLIP.EXE in CLIPW32.ZIP, OS/2 files in CLIP.ZIP packages). CLIP.EXE or Windows Script Host used with Win32; XyShell required for OS/2
NEV,NEV/*: Paste system clipboard into a NEw [UNTITLED] file
- Test your Windows Scripting Host installation with TESTWSH.BAT. Determine whether WSH is properly installed
- CML*,U2L*: "Large" CoMmand Line (CML) or Help/U2 Line (U2L) for commands that won’t fit on the CMline
DOS*: DOS* /C command for Win32/OS2, Xy4/XyWin/NBWin. Requires KMD.EXE and GoXy|GoNB.EXE
DOSSHL: Full-memory shell-to-DOS, in the current directory, for Win32|OS/2. Requires FSW.EXE
DOSSHELL.BAT: Generic Win32 DOS utility that can switch to another drive:\directory, execute any command[s], then return to the original calling location d:\dir!. Mirabile dictu
- STACKLARGE: Store in Stack, then Retrieve, "Large" CoMmand (CML) or Help/U2 Line (U2L)
- DRIVES*: Get a list of all valid drives (or the last drive only)
- FINDALL: An enhanced FIND (file finder) command that works across drives. OS/2 users compare FIND2
- FFIND and FFINDALL: FIND and FINDALL workarounds for Windows 98 (which can cripple the native FIND comand)
- FILEINFO,FILEINFO/NV: (Common Resource) Show DOS size|date|time stamp for current file. Returns «SV50,d:\path\ name ext size date time»
File Manager (formerly “XyShell File Manager” or “XyShell FM”) for Win32 and OS/2. Import and edit long filenames and directories within XyWrite. Transparent access to all files on your machine
- AB2: ABort file File Manager
- CA2: CAll file or dir listing File Manager
- DEL2,DEL/NV2: DELete file File Manager
- DELDI: Delete “Document Information” («VAIO»=1) in file permanently
- DIR2: Import DIRectory File Manager
- FM*: Auto-select Normal XyWrite, or File Manager, command
- IN2: Save/Get 653 Exec File Manager
- ME2: MErge file at «CP» File Manager
- NE2: Open NEw file File Manager
- SA2,SA/NV2: SAve file File Manager
SAVE26: SAve with optional ZAP26 (if "z" on CMline). Replacement SAve key for all (not just FM) files. File Manager files are saved to original long filenames. [UNTITLED] files are stored under a manufactured filename. DUO files open in different iterations of XyWrite are synchronized (made identical). Assign to key with
nn=NOJM2,.,s,a,v,e,2,6,Q2- ST2: STore OS/2 file File Manager
- FREE: Get free space on [designated] “free [D]” Drive
- FSWIN: Toggle standard launch mode for Console files FullScreen <==> Window (WinNT|2K|XP only)
GETHWND: Get the "hWnd" (Windows’ unambiguous internal window number) of the current Xy session. Important for "finding" XyWrite when you shell out to an external process and then want to return "home". Multiple sessions may have the same Title, or include the word "XyWrite"; but the hWnd is a unique number. S/G 50 Out. Value can be passed to GoXy.EXE
- GETPATH: (Common Resource) Put "d:\path" of directory|filespec|VAriable in S/G 50
GETWINMODE: Get the current window state, “F”ullScreen or “W”indow. S/G 50 Out. Value can be passed to GoXy.EXE, FSW.EXE, etc
- GO: Change drive & directory simultaneously with a single command
GO2: Shell to full screen, full memory DOS session in d:\dir of current file. Win32 requires KMD.EXE and FSW.EXE in DOS Path; OS/2 requires XyShell
- GO2DOS: Shell OS/2 to full screen, full memory DOS session in d:\dir of current file
GODOS: Start a FullScreen/FullMemory DOS session under OS/2 or Windows
GONB: Restore focus to NBWin Editor
GOXY: Restore focus to Xy4 Editor
- NBRET,NBSHELL: Restore focus to NBWin Editor using ProcID (execute "START CSCRIPT.EXE //nologo NBPID.VBS" to launch NB; run NBShell at Startup) REXXPL: RexXPL v2.011. Integrated XPL + REXX for XyWrite running under OS/2. RXXPL201.ZIP includes documentation and the required Rexx script (REXXPL.CMD). The XyShell must be installed
- REXXPL,R2X: RexXPL Evaluator v2.01
- R2,R2/?: Evaluate REXX expressions interactively, in Xy
SHEL*,SHEL: Shell to & Focus on DOS|Windows process(es), then return to Editor on termination. /D switch "d"etaches Editor from processes (no focus). E.g.
shel d:\path\GSview32.exe- TOUCH: Set DOS date and time stamps for the current file via Charles Dye’s TOUCH utility (updated link!)
- TOUCH2: Set DOS date and time stamps for the current file using RexxUtil.DLL v2.0+ (OS/2 only)
WINFS: Toggle between FullScreen VGA and Desktop Window. Requires GoXy.EXE
XyShell. XyShell is a powerful interface that allows you to shell to OS/2 and Windows from XyWrite, to run or switch to (and return to XyWrite from) OS/2 or Windows programs and objects. All required XyShell frames are integrated within XYWWWEB.U2; the “what’s it all about?” DOCumentation and several required DOS, OS/2, and Windows programs are contained in this ZIP. Some of the included files are listed below; others ("requires XyShell") are sprinkled throughout this webpage:
- CLIP: Copy_To|Paste_From the System Clipboard (Win32|OS/2)
- FSWIN: Toggle standard launch mode for Console files FullScreen <==> Window (WinNT|2K|XP only)
GO2: Shell to full screen, full memory DOS session in d:\dir of current file. Win32 requires KMD.EXE and FSW.EXE in DOS Path; OS/2 requires XyShell
- GO2DOS: Shell OS/2 to full screen, full memory DOS session in d:\dir of current file
GODOS: Start a FullScreen/FullMemory DOS session under OS/2 or Windows
GONB: Restore focus to NBWin Editor
GOXY: Restore focus to Xy4 Editor
- NBRET,NBSHELL: Restore focus to NBWin Editor using ProcID (execute "START CSCRIPT.EXE //nologo NBPID.VBS" to launch NB; run NBShell at Startup)
- NWS: Get National Weather Service [U.S.A.] Forecasts
- O2: Start OS/2 [DOS|WIN3x] process from XyWrite (XyShell)
- PASSOS2: Pass commands to OS/2 via dedicated key, e.g.
nn=XHJM,2,.,P,r,s,K,b,d,A,r,g,Q2,p,a,s,s,o,s,2,NO- PULLOS2,PULLOS2/,P2,P2/,P2T,P2T/: Import command output into XyWrite (OS/2 only)
- SETTIME: Auto-Calibrate System Time with U.S. Government Cesium Clock
- SW: Switch from XyWrite to already-running OS/2 [DOS|WIN3x] process
- TOUCH2: Set DOS date and time stamps for the current file
- W2: Start Win32 process from XyWrite
- WFF: Windows File Finder. Find files across all drives
- XFF: XyFileFinder. Find files in drive[s]:\[sub]directories
- XYGREP: Search filemask in [sub]directories for $tring
OS/2-Specific Programs
- FIND2: File finder that runs in the background, searches across drives and handles HPFS long filenames (RexXPL)
- MUC: Moronic UU|XXenCoder for XyWrite RexXPL v1.0
- MUD: Moronic UU|XX Decoder for XyWrite RexXPL v1.0
- Read|Write Win9x+|NT+ Installable File Systems under OS/2:
- FAT32 for Win95 OSR v2.x+|Win2K+. FAT32.IFS by Henk Kelder; updated [10/2003] version by Brian Smith and OS/2 Netlabs
- VFAT, Win95’s original FAT16 LongFileName kludge. Daniel Steiner
- Read|Write OS/2 HPFS under Win NT:
- PINBALL.SYS for NT v3.51[|4.0 (works in SP6)]. PINBALL is no longer supported|distributed by Microsoft (NT formerly used HPFS as its main alternative to FAT), but a patched version of PINBALL works with Win2K (be careful, esp. with large drives >8Gb!)
- RUNCMD: Execute DeFined text as OS/2 batch or REXX command
- Ray Gwynn’s SIO142.ZIP [superior replacement for OS/2’s COM.SYS serial driver]. Versions of SIO after v1.42 no longer reliably permit OS/2-DOS 'ECHO' commands to touch serial devices (Ray keeps saying he’ll make the fix, but...). SIO v1.42 allows DIAL.PM to work under DOS; set DIAL.PM’s DOS|OS/2 switch (S/G 09) to "O"S/2 if you use a newer version of SIO.
- VCD,WCD: XyWrite interface to [OS/2] Ventimiglia’s enhanced Change Directory command utility, and [Win32] Waterlander’s CD: CD directly to any 8.3 DIRectory, using subdir name or "hint". Command HELP VCD for URLs to these files
Printing (PostScript, Etc.)
ALLFILES: List of All Xy3+ and Xy4DOS|XyWin PRiNter Files, formerly available from TTG
- COPIES: Print Multiple Copies of Current Document|DeFined Block to PCL printer
- Updated Hewlett-Packard DeskJet PRiNter File. Enables all DeskJet 660C internal fonts in Portrait/Landscape. Designed for the 660C, but should yield superior results with other modern DeskJets too, compared to the standard XyQuest-issue DeskJet PRiNter file HPDJ560C.PRN
- PostScript facilities (generic, but developed using versions 5.50, 6.01, and current 6.50 of AFPL Ghostscript with graphic front-end GSView under both Win32 and OS/2). For a complete Ghostscript-based printing system, download also a basic XyWrite PRiNter file for Ghostscript (POSTGHST.PRN), customized PRN TemPLate, and font TeSTfile
- POSTWIDTH: Generate XyWrite WiDth Tables from PostScript AFM files
- PWDIR: Generate WiDth Tables (via POSTWIDTH) for whole DIRectory of .AFM Files. Batch processing
PDF2XY: Convert PDF file to editable plain text, then CAll it. Requires Ghostscript’s PSTOTXT3.EXE|DLL (and, under OS/2 only, XyShell)
- XY2PDF: Create Adobe (v1.2 compatible) PDF from a XyWrite file, then View it (Adobe Acrobat Distiller clone!) (requires ObjectREXX/XyShell/Ghostscript)
- PF2AFM: Generate Adobe Font Metrics file (.AFM) from PFA|PFB PostScript Font (requires ObjectREXX)
- POSTGHOST: View|Print Current file with GSView (requires ObjectREXX)
- PRINTENV: Envelope printing for Xy v4.0+|XyWin v4.11+
- SETPP: Use SETP to Load PRN file by consulting PP table if argument contains SETP# of PRNfile, or fully-qualified PRN filespec or unique Hint thereof
TYN: Print current file|DeFined text (optional specified SOURCEFILE,,PAGERANGE,O|E|P) to PCL|PS Network Printer. Use PCL *or* Postscript .PRN. Requires LPR.EXE (native to NT+, must be downloaded and located in %COMSPEC% folder under 9x)
TYP: Print file to ANY printer with Ghostscript. Superb results. USB, wireless, Firewire, newfangled WinPrinter, no XyWrite PRiNter file, whatever — if your printer works under Windows, XyWrite can print to it — Period.
- TYWIN: Print current file|DeFined text (or optional specified file) to Windows “Default Printer”. Requires RAWPRINT.EXE in Editor’s dir
Programming (XPL)
Arrays:
- ALLFUNCS: Write all valid XyWrite 3-byte functions
- ALLVAS: Put all valid VAs pertaining to current file (3+,Sig,4,Win) at EOF
- ARRAY3BYTE,A3B: Make 3-byte array
ARRAYNB: Create VAriable Array in NBWin
- ARRAYVADIR: Create VAriable Array within a directory. Creates (if valid) VA{1}{1},VA{1}{2},VA{1}{3}...VA{127}{127}
- ARRAYVA: Create VAriable Array. Creates (if valid)
«VA{1}{1}»,«VA{1}{2}»,«VA{1}{3}»...«VA{127}{127}»- ARRAY: CreateArray Demo. Creates (if valid) MDAA,MDAB,MDAC...MDZY,MDZZ
- FUNCARRAYMN: Save a compact array of all func mnemonics to S/G 50
- FUNCARRAY: Save an array of all funcs to S/G 50
- FUNCTABLE*: Generate a table of all funcs (S/G 50 Out)
- SORTDEMO-ALPHA: Template for an ALPHA sorter
- SORTDEMO-NUMERIC: Template for a NUMERIC sorter
Character Manipulation:- ADDSEP: Add one instance to all occurrences of specified character within $tring unless two identical source chars are contiguous (add only one instance). E.g.
' I'dreturnsI''d;e tweedle deereturnstweeedle deee- ALPHAMASK*: Rewrite string to conform to alpha mask
- CHAR2NUM: Character-to-Number|Number-to-Character conversion
- CHECK32-127: Search text for Hi|Low ASCII or 3-byters (cf. FINDHILO); optional numeric argument allows searching for one character outside the 32-127 range, even if embedded within 3-byte character
- CURSOR: Template to get Text|Header location of cursor, Insert|Overstrike state of cursor, position of cursor within CMline. Xy4|XyWin; fast
- FINDHILO: Find chars <Ascii-32|>Ascii-127 in a file. Ignore Ascii-9|10|13
- GETDE1: Get Discretionary_lineEnding (soft <cr>, «VADE1») [S/G 50 Out]
- @LWR: (Common Resource) Lower Case function [S/G 50 In/Out], e.g. "@LWR HELLO" returns "hello"
- PARSESEP: Parse input $tring between two separators
- PUTCHAR: Put 1- or 3-byte form of any character into Text or on the CMline
- STRIP,STRIPS: Emulate Rexx "STRIP" command. Strip spaces [STRIPS=all punctuation etc] from left and right ends of $tring
- TABLEOF256CHARS,MASC*: (Common Resource) Put complete 1-byte Ascii charset 0-255 in S/G 628, for use in XPL
- XYCHAR: Produce any Xy char by number or description, e.g. "XYCHAR 518" or "XYCHAR iota small"
Code Manipulation:- ADD2U2,ADD2??: Add DeFined frame to the currently loaded U2 file, or to any currently loaded Help () file(DG|HL|MN|U1-U9). ADD2??/BF adds frame at Bottom_of_File
- AVAIL: Identify unused (available) S/G numbers
- BC2BX: Change next-following "BC ...XC " to "BX ...Q2 "
- BX2BC: Change next-following "BX ...Q2 " to "BC ...XC "
- BX.TXT: Tutorial on func BX ("Blind eXecute"), used in XPL PMs and KBD-file macros to execute commands without erasing the CMline (fast alternative to BC...XC)
- CMFUNC: Put function on CMline in true form
- CMNT: Comment line (/*...*/) in REXX code. Un-Comment using switch " /NV".
- DELDI: Delete “Document Information” («VAIO»=1) in file permanently
- F3,F3/,F1,F1/: Find 3- or 1-byte characters. Operates from cursor to End_of_File, or within DF block
- FISH*: Fish out (and, optionally, RUN) oft-used bits of XPL code, formatting, or text (user modification required)
- FUNCTEST*: Test for valid 2-char function (formerly FTEST)
Output in S/G 50; «SV50,1»=legal func; «SV50,0»=not a func
FuncTest/NV suppresses PRompt on EXitGETSHIFTS*,GETSHIFTS,SCANSHIFTS,TESTKEYS: Get current KBD file scan codes for shifting states when you hit any key. Report ShiftingKey Name and Value, Base CharNumber, Key Name
- KBD>XPL: Convert KBD code to XPL code (DeFined KBD code only)
- KCODE,KC: Convert XPL macros to KeyBoarD-file code (cf. UNKCODE)
- NUM2MNEM: Convert numeric MoDes to mnemonic MoDes (NUMbers-2-MNEMonics), e.g. convert «MD9» to «MDUL» (or the current numeric value of «MDUL», as determined by «VA*UL»)
- PARENS2Q2: Change next-following "BN|BX|JM (...)" to "BX ...Q2 " or "JM ...Q2 "
- PFUN: Insert real 3-byte function, either in Text or on CMline
- PFUNC: A slicker PFUN command, with support for multiple funcs, backspace editing, and real (3-byte) funcs on CMline
- PSEUDO*: Convert XPL into plain-text pseudo code
- REJUMP: Try 3 times to JuMP to specified «CP», then quit & return to parent routine (avoid hangs in routines if cursor can’t be positioned at precise location)
- RELABEL,RELB: Rename XPL flow-control LaBel & Go_Label names with ordered alphabetic sequence of names (maximum 702 LaBels); check for several (some fatal) LaBeling errors
- RENUMBER: Consecutively Re-Number/Re-Order/Re-Locate Extended Save/Gets [Text Macros] [[0]0]01-1999 in an XPL PrograM
- RK: Enhanced Func RK (Record|View Keystrokes). Replaces func RK in KBD file
- RKOK: Save|Append|Edit|Fix|Load|eXecute|Clear Recorded_Keystrokes. Fix bugs in Record_Keystrokes, examine edit and run macros; everything you need to restore func RK to functionality
- RM|TW: (Common Resource) Prepare RM (XyWrite) or TW (NotaBene) ABsolute|EMbedded|DeFault|FOrmat_label|RaW|STyle|VAriable command
- RUNCODE,RUNCYD: Run XPL code from disk, directory, or screen
- RUNEM,RUNEM*,DELEM: Run|Delete embedded XPL code in current file
- RXSEMICOLON: Replace carriage returns with ";" and STRIP Rexx commands
- SIZ: Change "@SIZ(«ISnnnn»)" to "«VA|nnnn»"
- SUBTEST: Convert repetitive code segments into SUbroutines
- TYFUNC: Execute functions by typing their 2-character mnemonic names
- UNKCODE: Convert keyboard-file code to XPL (cf. KCODE)
- XMACRO,XMACRO/,XM,XM/,XM\,KB,KB/,KB\: Execute complex editing commands and XPL statements from command line or keyboard file. Restores .KBD file programming — a III+ amenity — to Xy4|XyWin!
- XMCODE: Convert DeFined XPL to XMACRO code
- XPL2TXT: Convert XPL code into printer-ready text
- XPL>KBD: Convert XPL code to raw .KBD code (converts entire window)
CoMmand and PRompt Line:- ADDTOOL,DELTOOL: Add|delete command to|from toolbar PRompt
- CMFUNC: Put function on CMline in true form
- CMLINE: Put CMline into S/G 616. Subset of Stack code, which faithfully captures the CMline and loads it into S/G 616 for later use. More meticulous/accurate CMline capture than «IS00» or «VA$CM». Employ in .KBD file thus: "
nn=NOJM,2,.,c,m,l,i,n,e,Q2"; call as a child process from other PrograMs in form "...JM 2.cmlineQ2 ...". N.B.: CMLINE.PM is now freestanding (it no longer requires that Stack be installed) Put CMline into S/G 616. Based on STACK.PM v3.3 for XyWrite IV|XyWin|NBWin- DAY: Show current time|weekday|date on PRompt line (LONG version, cf. WEEKDAY)
- DIR1: Display DIRectory information for current file in PRompt
- AE*,EXPAND*: "Auto-Expand" VAriable statements, Save/Get contents, and user-created abbreviations for use on the CMline
- FINITO: Save the Stack, then Quit (For users of STACK.PM Only)
- FN2CM: Put Current Filename in Text or on Command Line
- GETCMINPUT: (Common Resource) Put user CMline input into S/G 50
- NV: Put|Remove "/NV" on CMline
- PFUN: Insert real 3-byte function, either in Text or on CMline
- PFUNC: A slicker PFUN command, with support for multiple funcs, backspace editing, and real (3-byte) funcs on CMline
- PROMPT: Issue status-line PRompts from command line or keyboard file
- PRSCMLINE: Pass CMline "framename[ argument[,arg...]]<Helpkey>" to U2. Primary interface between direct keyed input and U2
- PRSEXECM: Execute CMline as command or U2 .framename. Replacement for func XC: 67=NOXH[$S]JM(,2,.,P,r,s,E,x,e,C,M,)
- Stack (v3.2b, LastRev.1/18/04, Revised for Windows 6/9/99) — complete ZIP package for XyWrite IV|XyWin|NBWin. The classic command history utility, with numerous extra features. Many XyWriters use Stack more than any other program. This version operates from your .DLG file
- $S,$E,STACK.INT,STACK Stack v3.3 for U2. This version operates from your .U2 file, and is designed for unusual KBD assignments
- GETSTACKERR: Translate STACK.PM Exit Codes
- STACK: Save the Stack to "MY.STK" in Editor’s directory
- STACKAUX: AUXiliary stack handler program for STACK.PM. Additional/enhanced Stack functions
STACKBOX: View and manage the command history via a Windows-style list box. Add-on for STACK.PM
- STACKDEL: Batch-delete short and/or long items from the command history. Short commands are more likely to be retyped than popped from the Stack; lengthy ones often are special-purpose tools with a limited shelf life. STACKDEL lets you prune commands that are less than, equal to, or greater than specified lengths. The payoff is a memory dividend and a leaner, more useful command history. Add-on for STACK.PM
- TICKER,TICKER/*: Display a ticker-style scrolling status-line message [DOS only]
- TOOLBAR*,TB,TB??,TB??#: Use CMline or PRompt for multiple commands
- WEEKDAY: Display current weekday|date|time on PRompt line
Encode/Decode:- DEC: Generic decode command Automatically detects the type of encoding (Base64, Quoted-Printable or XPLCODE) and decodes accordingly
- ENC: Generic encode command One-command access to three common encoding types: Base64, Quoted-Printable or XPLCODE. The default is XPLCODE, our own higly readable, XPL-friendly encoding system for E-mail
- BASE64*,BASE64: Fast! Base64 Encode|Decode for Win32. Uses John Walker’s freeware utility BASE64.EXE
- B64D*: Base64 Decode
- B64E*: Base64 Encode
- DECODE: XPLDCODE.PM v2.0b Native XPL DeCODE for E-mail
- ENCODE: XPLNCODE.PM v2.0c Native XPL eNCODE for E-mail
- QPD*: Quoted-Printable Decode
- QPE*: Quoted-Printable Encode
- XMUC: Moronic Native XPL UuenCode
- XMUD: Moronic Native XPL UuDecode
- XMXC: Moronic Native XPL XxenCode
- XMXD: Moronic Native XPL XxDecode
Functions:- ALLFUNCS: Write all valid XyWrite 3-byte functions
- CMFUNC: Put function on CMline in true form
- FNSE: SEarch forth-and-back for function
- FUNCARRAY: Save an array of all funcs to S/G 50
- FUNCARRAYMN: Save a compact array of all func mnemonics to S/G 50
- FUNCTIONS Table of functions (with current «VA_func» assignments, i.e. the actual key in KBD file to which function is assigned, if any). Command: TABLE FUNCTIONS
- FUNCTABLE*: Generate a table of all funcs (S/G 50 Out)
- FUNCTEST*: Test for valid 2-char function (formerly FTEST)
Output in S/G 50; «SV50,1»=legal func; «SV50,0»=not a func
FuncTest/NV suppresses PRompt on EXit- KEYSTROKES: List current .KBD assignments for functions
- PFUN: Insert real 3-byte function, either in Text or on CMline
- PFUNC: A slicker PFUN command, with support for multiple funcs, backspace editing, and real (3-byte) funcs on CMline
- TYFUNC: Execute functions by typing their 2-character mnemonic names
- UNKCODE: Convert keyboard-file code to XPL (cf. KCODE)
Help Frames:- *: TRAPNAME traps nonexistent framenames in any Help file, e.g. U2. This frame must be the last frame, at the end of the Help file. Don’t use in U2 with Command Override|Customization (it can’t coexist)!
- CALLHLIST,CHL: CAll HLIST result files
- FLIST: List Help frames called in any XPL file (fast!)
- HELP,LINK,BACK: Locate help frame, or search for topic, in XYWWWEB.INF, with safety net for non-existent frame|search_$tring. Also execute XyperLink, and then (optionally) jump BACK
- HF: Put Help Frame template
- HLISTPATH: Path for HLIST result files
- HLIST: Generate a ready-to-run directory of framenames in any Help file. Indispensable
- LOADAS: Load current file as a Help file of any type (DG|HL|U1-U9). Convenient for testing Help routines
- LOADFRM: Load frame from supplemental (unloaded) U2 file
- LOADHELP,LH: SAve and LOAD Edited (Altered) Help file (DG|HL|MN|U#). Critical for editing U2 under Xy4-DOS and NBWin
- NABFRM*: Help frame locator
- NXF: Go to next (NXF) or previous (NXF B[ACK]) frame in Help file
- SAVEHLIST,SHL: SAve HLIST results to disk
- SETUV*: Assist user to set User Variable(s) in XyWWWeb.U2
- SORTFRAMES: Sort Help frames; locate duplicate frames
- USEANY,DG,HL,U#: Pass arguments to and run frames in any loaded Help file (syntax: framename[ arg[,arg...]])
- USERVARBACKUP,UVB: Backup User-Variables in Help File. Automatically maintain your personal User Variable settings when you update XYWWWEB.U2 versions
- USERVARRESTORE,UVR: Restore User-Variables in Help File
Information+:- BALPAIRSOFNT: Check for balanced pairs of «NT1» and «NT0»
- CASG: Call contents of any Save/Get (a/k/a text macro) into an editing screen
- CHKSEQ: Check sequence and usage of numerical Save/Gets in XPL programs
- DOEND: Check for Balanced DO|SELECT...END pairs in Rexx scripts
- ERRCODE,ERR: Recall most recent error code|Obtain error message associated with any numerical code|Search error messages that contain a specified string|List all status messages
- F3,F3/,F1,F1/: Find 3- or 1-byte characters. Operates from cursor to End_of_File, or within DF block
- FUNCTEST*: Test for valid 2-char function (formerly FTEST)
Output in S/G 50; «SV50,1»=legal func; «SV50,0»=not a func
FuncTest/NV suppresses PRompt on EXit- HILITELB: View LaBels|Go_Labels in PMs in Colors
- IFENDIF,IFEI: Check for Balanced «IF...«EI» pairs in XPL PMs, with option to display structured (indented) listing of conditional nests. An extremely useful programmer’s tool
- ITER*: ITERATE.PM Time multiple iterations of DeFined XPL code|Test speed of alternative coding methods
- KEYCODE: Press any key and get its Key number («VA$KC»)
- L3: List all "non-printable" Ascii (0-31|128-255) and 3-byte characters in file or DF block
- LISTSAVS: Table all current initialized permanent Save/Gets #|@|&
- SAVMACROS: Create a single plain-text XPL file, ready for direct inclusion in U2, from all @0-@9,@A-@Z ("ordinary Save/Get") Macros in memory. Eliminate memory-hog LDSGT files with no behavioral change!
- POS: Put current CursorPosition on CMline, for later JuMP (return) to «CP». Handy little utility
- SCAN*: Press any key and get its SCan code («VA$SC»)
- SGDIAG: Save/Get [Macro] Diagnostics (enhancement of DLG frame “MacroDiag”)
- SHOW3: Show underlying characters of 3-byte string
- SK: Enhanced func SK to show one S/G in range 0-9|A-Z or 100-1999
- SPECIALLISTS: List internal system "?xx" variables: AG AR AS BO CA CD DB DC DR DZ FO FN FR GR IG JR MA MT PC PP PR SB SD SG SK SP SS ST SZ WI WP (normally accessible only via DLG K-frames)
- SPCLLST: Get one internal system "?xx" variable
- SYNTAX: Check syntax and guillemet balance of current file
- TLOOPS: Timed-loop benchmark tests for Xy4|XyWin
- TRUE*,EXIST*: Test truth of XPL statement or EXIST statement on CMline
- USURP,USURPB: Identify smallest "ordinary" Save/Get available for use by the currently-executing XPL routine. Identifies an uninitialized or empty Save/Get if available (S/G 50 out).
- V3,V1: View 1-byte components of any 3-byte character, or obtain Ascii number of 1-byte character, under cursor
- XRAY: Report runtime content of Save/Gets. A sophisticated program debugging tool (Cf. XPOLL)
- XPOLL: XRAY variant that lists contents of Save/Gets after a program runs. Works without modification of subject code
- SHOWSG01: Display contents of Save/Get 01
Save/Get Manipulation:- CLEARSGTS: Clear Save/Gets specified Individually and/or in Ranges, with optional eXclusions [S/G 50 In]
- DECLARESGTS,DECLSGTS: Declare (Initialize) Save/Gets specified Individually and/or in Ranges, with optional eXclusions [S/G 50 In]
- GETPATH: (Common Resource) Put "d:\path" of directory|filespec|VAriable in S/G 50
- GETSVGET,GETSV: Reveal the content of a Save/Get
- GRABDFVA: Grab default value from loaded SETTINGS file
- GT,PV,SU,SV,SX: Execute XPL commands GT|PV|SU|SV|SX from CMline
- HIDE:*,AUTOHIDE: "Hide" S/G contents in S/G 739. Prevent child processes from overwriting specified Save/Gets. AUTOHIDE automatically HIDEs Initialized Save/Gets in Transient Ranges 01-49,51-99
- UNHIDE: Restore hidden S/G values (LIFO)
- HIDEDEMO: Demo for HIDE|UNHIDE frames
- CACHE:*,UNCACHE:*: "Cache" or Retrieve S/G contents to|from disk (helpers for HIDE/UNHIDE; prevents Out-of-Memory)
- CANCEL: Terminate MeNu frame if hit Escape key
- HILITE: View S/G numbers in PMs in Reverse_video
- LDNB: Emulate LDPM in NBWin XPL (syntax: filename,S/G)
- LDPMDEF,LDF: LDPM DeFine blocks to a key or "ampersand" Save/Get
- MAKE3BYTER,M3: Generate any conceivable 3-byte char. A companion program to PUTCHAR
- MSG:*: "Make Save/Gets" concatenation tool
- NAME2NUMBER: Translate Named to Numbered Save/Gets. Write your programs with named Save/Gets, e.g.
«SVgreeting,Hello», then automatically translate discursive names to executable numeric form, e.g.«SV01,Hello»- NIL: NoOp frame, useful for reducing size of Save/Get memory buffer, esp. “Special” [internal] S/Gs *26, *27, *29
- RANGE: Create table of Save/Gets [and eXclusions], specified Individually and/or in Ranges (nnn,nnn-nnn,...), with optional eXclusions (...,Xnnn,Xnnn-nnn,...) [S/G 50 In/Out]
- REGDATA*: Fetch Data Spec (User Variable) from XYWWWEB.REG, the new XyWWWeb REGistry file (v114+)
- REGEDIT*: Edit | View | Check integrity of XYWWWEB.REG. Also jumps from U2 to the REG
SEELDSGT: Format LDSGT library|current @0-9,A-Z S/Gs for MErging into U2. Usage: SEELDSGT [[d:\path\]SGTFILE]
- STORESGT: Store|Restore Save/Get Contents to|from Disk