KCOMPARE
kcompare.html : this text
kc.abs : manual (see below, also contained in KC.KEX)
kc.kex : replaces original KCOMPARE.KEX
kc.bat : replaces original KCOMPARE.BAT, uses SETLINES
kc.cmd : replaces original KCOMPARE.CMD
kcompare.exe : replaces original FCOMPARE.EXE, see below
kcompare.zip : original archive distributed 1992 by Mansfield with FCOMPARE.C
KC.KEX
usage: [macro] KC fileid1 [fileid2]
example: KC =:=\=.bak
purpose: KC is a fast split screen file compare macro based on
an idea by Nico Mak.
KC uses 3 temporarily redefined keys for navigation:
?NEXT key goes to begin of next difference (or eof)
?PREV key goes to begin of prev. difference (or top)
?LAST key goes to the end of the current difference
screens: Kedit 5.0 and KC.KEX support split screens. KC shows
the compared files in the first two logical screens,
forcing SET SCREEN 1 SPLIT if there is only 1 screen.
Use e.g. SET SCREEN SIZE 10 SPLIT to edit a 3rd file.
profile: KC.KEX can be used as profile in a OS/2 or DOS script
and then executes the default profile DEFPROFile.1(),
e.g. KC.BAT: kedit "%1" "%2" (PROFile KC.KEX)
bugs: KCOMPARE.EXE cannot handle "long" lines correctly :-(
see also: KHELP SCREEN, KHELP WIDTH, KHELP DEFPROF
requires: Kedit 5.0 and KCOMPARE.EXE (Frank Ellermann, 2001)
User set EDITV variables (KC.KEY.EXIT resets all changed keys):
KC.KEY.NEXT default: "PLUS" , executes 'macro KC ?NEXT'
KC.KEY.PREV default: "MINUS", executes 'macro KC ?PREV'
KC.KEY.LAST default: "STAR" , executes 'macro KC ?LAST'
KC.KEY.EXIT default: "SLASH", executes 'macro KC ?EXIT'
Internal EDITV variables (KC.KEY.EXIT removes these variables):
KC.FILE.1 first compared file
KC.FILE.2 second compared file, default: current file
KC.POINT current difference (0, 1 ... KC.0, KC.0 + 1)
KC.0 number of differences
KC.1 ... KC.n number of lines added, deleted, or changed
History
1.0 (August, 1991) by Nico Mak
1.1 (September, 1991) by Nico Mak
changed KC_SYNC_KEY to KC_END_KEY, reworded !end message
2.0 (October, 1998) by Frank Ellermann
renamed KCOMPARE to KC (both KC.BAT and KC.KEX) again (?)
removed KC_SPLT_KEY, usually another split key is defined
renamed all KC_* to KC.* (and KC_END_KEY to KC.KEY.LAST)
added a KC.KEY.EXIT resetting all KC.KEYs to saved values
corrected KC.KEY.LAST behaviour for KC.POINT > KC.0 (EOF)
2.1 (November, 1998)
dito KC.KEY.LAST at KC.POINT = 0 corrected, now shows info
split all messages between both windows (one message line)
force FCOMPARE.EXE read access SHARING DENYWRITE DENYWRITE
2.2 (February, 2001)
replaced FCOMPARE.EXE by KCOMPARE.EXE for three reasons:
1: there is another FCOMPARE.C in Bob Stout's C snippets
2: there is another FCOMPARE.EXE in my NORTON DOS tools
3: Nico Mak did not enable LFNS (long file name support)
KCOMPARE.EXE is still the original (1991) bound (DOS, OS/2)
FCOMPARE.EXE, but I used MARKEXE LFNS KCOMPARE.EXE and a
hex. editor (of course KEDIT :-) to replace four strings
FCOMPARE by KCOMPARE in the binary... (usage message etc.)
2.3 (June, 2001)
support blanks in HPFS paths and especially HPFS file names
support screen layouts with more than 2 logical screens
Bug: Lines longer than 256 (?) characters are counted as 2 lines
by KCOMPARE.EXE (i.e. patched FCOMPARE.EXE), so if you use
KC to compare OS/2 CONFIG.SYS files, a difference in PATH
is shown erroneously one line below PATH, a difference in
LIBPATH is shown erroneously two lines below LIBPATH (or
vice versa), and all following differences are shown two
lines too late - assuming that only PATH and LIBPATH are
longer than 256 but still shorter than 512 characters. :-(
KEXX / REXX scripts.
Last update: 27 Apr 2003 10:37 by F.Ellermann