Google
 

Trailing-Edge - PDP-10 Archives - BB-4160E-BM - sort-doc/srt4b.rnd
There are no other files named srt4b.rnd in the archive.
.VARIABLE TWENTY 2 1
\\
.LM0;.RM70;.F;.J;.FLAG CAP;.SP1;.TS5
<SRT4B.DOC -- ^CHANGES FROM <SORT <V4(302) TO <V4B(435).
.BR
^SEP 1979
.FG30
^^COPYRIGHT (C) 1979 BY
.BR
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
.B2
THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
TRANSFERRED.
.B1
THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.
.B1
DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL\\.
.AUTOPARAGRAPH			!PARAGRAPHS START WITH A LEADING SPACE
.T <SRT4B.DOC
.PARAGRAPH 0, 1, 1		!SET NORMAL PARAGRAPHING
.AUTOPARAGRAPH			!PARAGRAPHS START WITH A SPACE
.TAB STOPS 9, 17, 25, 33, 41, 49, 57, 63, 69  !USUAL TTY TABBING
.PG.LM0.RM70.SP1.F.J
<SRT4B.DOC -- ^CHANGES FROM <SORT <V4(302) TO <V4B(435).
.B3.LM0.RM70
1.0##<SUMMARY
.BLANK
1.1##^FUNCTIONS
 <SORT IS THE HIGH PERFORMANCE SORT/MERGE PACKAGE FOR THE
<DEC
.NOSPACE
.IF TWENTY
<SYSTEM-20
.ELSE TWENTY
SYSTEM-10
.ENDIF TWENTY
.NOSPACE
\. <SORT MAY BE RUN AS A STAND-ALONE
SORT/MERGE, OR EMBEDDED IN A <COBOL OR <FORTRAN PROGRAM.
 ^THIS RELEASE, <SORT V4^B(435), CONTAINS ALL PUBLISHED EDITS UP TO AND INCLUDING EDIT 435 AND FULLY REPLACES <SORT V4 (RELEASED WITH <COBOL-68 V12) AND <SORT V4^A (RELEASED WITH <COBOL-74 V12).
.B2
1.2##^MONITOR
 <SORT RUNS UNDER ALL SUPPORTED MONITORS, AND HAS BEEN TESTED UNDER
.IF TWENTY
RELEASE 3^A
.ELSE TWENTY
6.03^A AND 7.00. ^IT HAS NOT BEEN TESTED ON A <KA-10 CPU
.ENDIF TWENTY
.NOSPACE
\.
 ^SEE SECTION 4 FOR DETAILS OF HOW TO REBUILD <SORT.
.B2
1.3##^SOFTWARE ^DEPENDENCIES
.IF TWENTY
 <SORT V4^B REQUIRES PRE-RELEASE 4 VERSIONS OF <MONSYM.UNV, <MACSYM.UNV AND, FOR <COBOL, <MACREL.REL. ^THESE FILES ARE INCLUDED ON THE TAPE.
.ENDIF TWENTY
 ^THE STAND-ALONE SORT, <SORT.EXE,
REQUIRES THAT THE <FORTRAN
OBJECT TIME SYSTEM, <FOROTS.EXE, BE ON <SYS:, IF
FLOATING POINT <ASCII KEYS ARE TO BE USED.
 ^THE INTERNAL <COBOL-68 <SORT REQUIRES VERSION 12^A OF THE <COBOL-68
OBJECT TIME SYSTEM, <LIBOL.REL
.IF TWENTY
AND <LIBO12.EXE
.ENDIF TWENTY
, TO RESIDE ON <SYS:.
 ^THE INTERNAL <COBOL-74 <SORT REQUIRES VERSION 12^A OF THE <COBOL-74
OBJECT TIME SYSTEM, <C74LIB.REL
.IF TWENTY
AND <C74O12.EXE
.ENDIF TWENTY
, TO RESIDE ON <SYS:.
 ^THE INTERNAL <FORTRAN <SORT REQUIRES THE <FORTRAN
LIBRARY, <FORLIB.REL, AND THE OBJECT TIME SYSTEM, <FOROTS.EXE,
TO RESIDE ON <SYS:.
.B2
1.4##^RELEVANT ^DOCUMENTATION
 <SORT IS DOCUMENTED IN THE FOLLOWING MANUALS:
.IF TWENTY
.B;<DECSYSTEM-20 ^USER'S ^GUIDE, <AA-4179B-TM
.BR;<DECSYSTEM-20 <SORT/MERGE ^USER'S ^GUIDE, <AA-4186C-TM
.BR;<COBOL-68 ^LANGUAGE ^REFERENCE ^MANUAL, <AA-5057A-TK
.BR;<COBOL-74 ^LANGUAGE ^MANUAL, <AA-5059A-TK
.BR;<FORTRAN ^REFERENCE ^MANUAL, <AA-4158B-TM
.BR;^THESE MAY BE FOUND IN ^SOFTWARE ^NOTEBOOKS 1, 7, 8, AND 9.
.ELSE TWENTY
.B;<DEC<SYSTEM-10 <SORT/MERGE ^USER'S ^GUIDE, <AA-0997D-TB
.BR;<COBOL-68 ^LANGUAGE ^REFERENCE ^MANUAL, <AA-5057A-TK
.BR;<COBOL-74 ^LANGUAGE ^MANUAL, <AA-5059A-TK
.BR;<DEC<SYSTEM-10 <FORTRAN ^PROGRAMMER'S ^REFERENCE ^MANUAL, <AA-0944E-TB
 ^THESE MAY BE FOUND IN ^SOFTWARE ^NOTEBOOKS 8, 9, 10, AND 11.
.ENDIF TWENTY
.PG.B3
2.0##<EXTERNAL <CHANGES
.B 1
^NONE.
.B 2
3.0##<KNOWN <BUGS <AND <DEFICIENCIES
 ^AS OF ^SEP-79, THE FOLLOWING DEFICIENCIES ARE KNOWN:
.LM+9.P-4,1
1.##^THERE ARE FUNDAMENTAL PROBLEMS WITH STAND ALONE <SORT USING MAGTAPE FOR  OUTPUT ESPECIALLY WITH BLOCKED FILES AND TAPE LABELS.
^THE PROBLEMS MANIFEST THEMSELVES, WHEN THE USER ATTEMPTS TO READ BACK THE TAPE, AS TRUNCATED, MISSING, UNREADABLE, INCORRECTLY BLOCKED RECORDS, OR INCORRECT HEADER AND TRAILER RECORDS.
^THE SOLUTION OF THESE PROBLEMS WILL TAKE EXTENSIVE DEVELOPMENT TIME AND IS BEING WORKED ON, HOWEVER IT WAS FELT THAT <SORT <4B CONTAINED SUFFICIENT BUG FIXES THAT IT WAS WORTH SHIPPING NOW RATHER THAN DELAYING FOR AN INDEFINITE LENGTH OF TIME. ^IN GENERAL <COBOL <SORT WORKS WITH MAGTAPE  OUTPUT, AND STAND ALONE <SORT WORKS IF THE OUTPUT SENT TO <DSK.
 2.##^IF MORE THAN 262,143 (2**18-1) RECORDS IN THE INPUT FILE ALL HAVE IDENTICAL
KEYS (WHICH IS UNLIKELY), <SORT<'S INTERNAL SEQUENCE NUMBER OVERFLOWS.
^THIS CAUSES THE SORT TO BECOME UNSTABLE; I.E., THE OUTPUT DATA IS
SORTED CORRECTLY BUT THE RECORDS WITH IDENTICAL KEYS MAY NOT BE IN THE SAME
ORDER AS THEY WERE IN THE INPUT FILE.  ^IN PREVIOUS VERSIONS OF <SORT
THIS SIMPLY HAPPENED WITHOUT ANY WARNING.  ^VERSION 4 NOW PRINTS A
WARNING MESSAGE IF THIS OCCURS AND CONTINUES SORTING.
 3.##^STAND ALONE <SORT GIVES THE WRONG RESULT WHEN SORTING <EBCDIC FILES ON <COMP-3 KEYS. <COBOL <SORT HOWEVER WORKS CORRECTLY.##*(1)
.IF TWENTY
 4.##^STAND ALONE <SORT WILL GIVE THE <?SRTJFO ERROR WHEN SORTING A <SIXBIT FILE WHOSE OUTPUT IS AN UNBLOCKED DISK FILE WITH NO EXTRACTED KEYS (I.E. <COMP-3, <COBOL NUMERIC) AND WHERE EXACTLY ONE TEMP FILE IS GENERATED. ^THE ERROR OCCURS WHEN SORT TRIES TO RENAME THE TEMP FILE TO THE OUTPUT FILE. ^THIS PROBLEM CAN USUALLY BE CIRCUMVENTED BY RUNNING IN MORE OR LESS MEMORY BY USING </LEAVES. ^THE <COBOL <SORT WORKS CORRECTLY SINCE THIS CASE NEVER OCCURS.##*(1)
.FN 5
.B 1
---------------
.BR
\\*(1)##
^UNTESTED PATCHES EXIST FOR THESE PROBLEMS. ^THEY WILL BE PUBLISHED AFTER VERSION 4^B IS RELEASED WHEN THEY HAVE HAD MORE TESTING.
.END FOOTNOTE
 5.##^STAND ALONE <SORT DOES NOT RECOVER CORRECTLY FROM ENCOUNTERING A SHORT RECORD LAST RECORD WHEN THE INPUT IS FROM MAGNETIC TAPE. ^THIS IS A PROBLEM WITH THE <DUMPI <JSYS WHICH IS FIXED BY <SIRUS <PCO <20-MONITO-118 AND WILL BE IN ^RELEASE 4.
.ELSE TWENTY
.FN 5
.B 1
---------------
.BR
\\*(1)##
^AN UNTESTED PATCH EXIST FOR THIS PROBLEM. ^IT WILL BE PUBLISHED AFTER VERSION 4^B IS RELEASED WHEN IT HAS HAD MORE TESTING.
.END FOOTNOTE
 4.##<SORT MAY GIVE THE MESSAGE:
.LM+5.B;<%SRTNCS ^NOT ENOUGH CORE SPECIFIED
.B.LM-5;WHEN NO </CORE SWITCH OR <MEMORY <SIZE CLAUSE
WAS GIVEN. ^THE SORT SHOULD PROCEED NORMALLY, HOWEVER.
.LM -9
.PG
.LM +9
 5.##^THOUGH <FORTRAN <SORT'<S CALLING SEQUENCE IS SIMILAR TO
STAND-ALONE <SORT'<S, THE FOLLOWING DIFFERENCES ARE KNOWN:
.LM+9
 1.##^CONTINUATION LINES (IN INDIRECT FILES) ARE NOT ALLOWED.
 2.##^INDIRECT FILES MUST BE ON <DSK_:
IN THE USER'S DEFAULT PATH.
 3.##^FILE EXTENSIONS MUST BE TYPED EXPLICITLY.
 4.##^SWITCHES MUST ALWAYS FOLLOW FILE SPECIFICATIONS TO WHICH THEY
APPLY.
.LM-9
 6.##^ON ^V^M SYSTEMS, <COBOL <SORT DESTROYS PAGES LEFT
AROUND BY <MCS, <VMDDT, AND THE PAGE FAULT HANDLER WHEN IT
REDUCES CORE AFTER A SORT. ^THE PAGE FAULT HANDLER IS NOT
AFFECTED TOO MUCH, HOWEVER, SINCE IT WILL BE BROUGHT IN AGAIN IF
TOTALLY WIPED OUT.
 7.##<SORT AND <COBOL OVERLAYS DO NOT ALWAYS WORK TOGETHER CORRECTLY.
.ENDIF TWENTY
.LM-9
.PG
4.0##<INSTALLATION <INSTRUCTIONS
.B2
4.1##^CONTENTS OF THE <SORT ^DISTRIBUTION ^TAPE.
.P
^FOR DETAILS OF THE COMBINED <COBOL/SORT TAPE SEE <COBOL.INS.
.B 1
^THE <SORT DISTRIBUTION TAPE IS WRITTEN IN 
.IF TWENTY
<DUMPER 
.ELSE TWENTY
<BACKUP <INTERCHANGE 
.ENDIF TWENTY
FORMAT AND CONTAINS THE COMPLETE <SORT/MERGE SYSTEM.
^THERE ARE 
.IF TWENTY
FOUR 
.ELSE TWENTY
FIVE 
.ENDIF TWENTY
SAVE SETS.
.B 1
^THE SAVE SETS ARE:
.B 1
	1.##<SORT-DOCUMENTATION
.BR
.IF TWENTY
	2.##<SORT-BINARY
.BR
	3.##<SORT-SOURCE
.BR
	4.##<SORT-BUILD
.ELSE TWENTY
	2.##<SORT-SOURCE
.BR
	3.##<SORT-KL-BUILD
.BR
	4.##<SORT-KI-BUILD
.BR
	5.##<SORT-KA-BUILD
.ENDIF TWENTY
.B 1
^THE <SORT-DOCUMENTATION SAVE SET CONTAINS THE FOLLOWING FILES:
.B 1
.NOFILL
.IF TWENTY
	<SORT.BD    -- DIRECTORY OF <SORT-BINARY SAVE SET
.ENDIF TWENTY
	<SORT.SD    -- DIRECTORY OF <SORT-SOURCE SAVE SET
.IF TWENTY
	<SORT.RD    -- DIRECTORY OF <SORT-BUILD SAVE SET
.ELSE TWENTY
	<SORT.KLD   -- DIRECTORY OF <SORT-KL-BUILD SAVE SET
	<SORT.KID   -- DIRECTORY OF <SORT-KI-BUILD SAVE SET
	<SORT.KAD   -- DIRECTORY OF <SORT-KA-BUILD SAVE SET
	<SORT.HLP   -- THE <HELP FILE FOR <SORT
.ENDIF TWENTY
	<SRT4B.BWR  -- THE ^BEWARE FILE FOR <SORT 4^B
	<SRT4B.DOC  -- THE ^DOC FILE FOR <SORT 4^B
.B 1
.FILL
.IF TWENTY
^THE <SORT-BINARY SAVE SET CONTAINS THE FILES REQUIRED TO RUN <SORT.
^THESE FILES ARE NORMALLY KEPT ON <SYS:.
.B 1
.ENDIF TWENTY
^THE <SORT-SOURCE SAVE SET CONTAINS ALL THE SOURCE FILES REQUIRED TO BUILD <SORT.
.B 1
^THE 
.IF TWENTY
<SORT-BUILD SAVE SET CONTAINS 
.ELSE TWENTY
<SORT-K*-BUILD SAVE SETS CONTAIN 
.ENDIF TWENTY
THE ^REL, ^LOG, <UNV FILES ETC. FROM THE FINAL BUILD.
.IF TWENTY
.B 2
.ELSE TWENTY
.PAGE
.ENDIF TWENTY
4.2##^INSTRUCTIONS FOR ^LOADING AND ^INSTALLING <SORT
.P
^MOUNT THE <SORT OR <COBOL/SORT TAPE ON LOGICAL <MTA0_: AND TYPE THE FOLLOWING COMMANDS:
.IF TWENTY
.B;^^DUMPER
.BR;TAPE MTA0:
.BR;REWIND
.BR;DENSITY 1600-BPI
.BR;SKIP 1
.BR;RESTORE _<*>SORT.EXE (TO) _<SUBSYS>*.*.-1,
.BR;_<*>SORT.HLP (TO) _<SUBSYS>*.*.-1
.BR;REWIND\\
.ELSE TWENTY
.B;^^R BACKUP
.BR;TAPE MTA0:
.BR;REWIND
.BR;DENSITY 1600-BPI
.BR;RESTORE SORT.HLP
.BR;REWIND
.BR;SKIP 2	!FOR <KL-10
.BR;SKIP 3	!FOR <KI-10
.BR;SKIP 4	!FOR <KA-10
.BR;RESTORE SORT.EXE
.BR;REWIND
\\
.B 1
^THEN COPY <SORT.EXE TO <SYS: (OR <NEW:) AND <SORT.HLP TO <HLP:.
.ENDIF TWENTY
.IFN TWENTY
.B 2
.ELSE TWENTY
.PAGE
.ENDIF TWENTY
4.3##^INSTRUCTIONS FOR ^BUILDING <SORT
 ^FULL BUILDING INSTRUCTIONS FOR <SORT CAN BE FOUND IN <SORT.CTL.
.IF TWENTY
 ^TO SIMPLIFY THE BUILD PROCESS, ALL LOGICAL NAMES REQUIRED HAVE BEEN PLACED IN A FILE CALLED <SORT.CMD. ^THE USER SHOULD EXAMINE THIS FILE AND MAKE APPROPRIATE CHANGES. ^THE <SORT COMMAND FILE <SORT.CTL DOES A <TAKE OF <SORT.CMD TO SET UP THE LOGICAL NAME ENVIRONMENT.
.ELSE TWENTY
 ^TO SIMPLIFY THE BUILD PROCESS ALL LOGICAL NAMES REQUIRED HAVE BEEN PLACED IN A FILE. ^IF <MIC WERE SUPPORTED AND WORKED UNDER <BATCH THEN THEY WOULD BE IN A <MIC FILE <SORT.MIC. ^HOWEVER, THIS IS NOT TRUE SO THEY ARE IN A FILE CALLED <SORT.TEC. ^IF <BLDSRT.CTL IS <SUBMITTED AND THE FILE <SORT.TEC EXISTS THEN <BLDSRT RUNS <TECO TO MODIFY <SORT.CTL BY THE CONTENTS OF <SORT.TEC TO PRODUCE A NEW CONTROL FILE <SORT.CTM WHICH IT THEN <SUBMIT<S, OTHERWISE IT JUST <SUBMIT<S <SORT.CTL. ^THE USER SHOULD EXAMINE THE FILE <SORT.TEC AND MAKE APPROPRIATE CHANGES.
.ENDIF TWENTY
 ^TO GENERATE STAND-ALONE <SORT, LOAD ALL OF THE <SORT-SOURCE SAVE SET 
.IF TWENTY
INTO <SORT-SOURCE:, LOAD 
.ELSE TWENTY
AND 
.ENDIF TWENTY
<SORT.CTL AND <SORT.CMD FROM THE 
.IF TWENTY
<SORT-BUILD 
.ELSE TWENTY
APPROPRIATE <SORT-K*-BUILD 
.ENDIF TWENTY
SAVE SET INTO 
.IF TWENTY
<SORT-BUILD, MODIFY <SORT.CMD 
.ELSE TWENTY
YOUR DIRECTORY, MODIFY <SORT.TEC 
.ENDIF TWENTY
AND TYPE:
.IF TWENTY
.B.LM+5;^^SUBMIT SORT/TIME:0:30:00\\
.LM-5.B
^IF <LIBOL.REL, <LIBSHR.REL AND <FTDEFS.UNV ARE IN <COBOL-68-BUILD:,
.ELSE TWENTY
.B.LM+5;^^SUBMIT BLDSRT\\
.LM-5.B
^IF <LIBOL.REL AND <FTDEFS.UNV ARE IN YOUR DIRECTORY,
.ENDIF TWENTY
A <COBOL-68 <SORT WILL BE BUILT AND INSERTED INTO 
.IF TWENTY
<LIBO12.EXE AND 
.ENDIF TWENTY
<LIBOL.REL.
.B 1
.IF TWENTY
^IF <C74LIB.REL, <C74SHR.REL AND <FTDEFS.UNV ARE IN <COBOL-74-BUILD:,
.ELSE TWENTY
^IF <C74LIB.REL AND <FTDEFS.UNV ARE IN YOUR DIRECTORY,
.ENDIF TWENTY
A <COBOL-74 <SORT WILL BE BUILT AND INSERTED INTO 
.IF TWENTY
<C74O12.EXE AND 
.ENDIF TWENTY
<C74LIB.REL.
.B 1
^IF <FORLIB.REL IS IN 
.IF TWENTY
<SORT-BUILD:, 
.ELSE TWENTY
YOUR DIRECTORY, 
.ENDIF TWENTY
A <FORTRAN <SORT WILL BE BUILT AND INSERTED INTO <FORLIB.REL.
 ^TO BUILD ONLY A <COBOL-68 <SORT TYPE:
.B.LM+5;^^SUBMIT SORT/TIME:0:20:00/TAG:COBOL\\
.B.LM-5
 ^TO BUILD ONLY A <COBOL-74 <SORT TYPE:
.B.LM+5;^^SUBMIT SORT/TIME:0:20:00/TAG:CBL74\\
.B.LM-5
 ^TO BUILD ONLY A <FORTRAN <SORT TYPE:
.B.LM+5;^^SUBMIT SORT/TIME:0:20:00/TAG:FORTRA\\
.LM-5
 ^THE FOLLOWING TABLE CONTAINS THE ASSEMBLY SWITCHES, THEIR DEFAULT
VALUE, LOCATION AND INTENDED USE.
.LM+2.B.TS13,22,33
^^ASSEMBLY	DEFAULT	DEFINED	USE WHEN SWITCH HAS\\
.BR;^^SWITCH	VALUE	IN MODULE	A NONZERO VALUE\\
.BR;------------------------------------------------------------------
.BR;<FTOPS20	
.NOSPACE
.IF TWENTY
1
.ELSE TWENTY
0
.ENDIF TWENTY
.NOSPACE
\	<SRTPRM	^BUILD <SORT FOR A <DECSYSTEM-20
.BR;<FTKL10	
.NOSPACE
.IF TWENTY
1
.ELSE TWENTY
0
.ENDIF TWENTY
.NOSPACE
\	<SRTPRM	^USE ^K^L INSTRUCTIONS (<BIS ETC.)
.BR;<FTKI10	
.NOSPACE
.IF TWENTY
1
.ELSE TWENTY
0
.ENDIF TWENTY
.NOSPACE
\	<SRTPRM	^USE ^K^I INSTRUCTIONS (<DMOVE ETC.)
.BR;<FTCOL	1	<SRTPRM	^ALLOW ALTERNATE COLLATING SEQUENCE
.BR;<FTDEBUG	0	<SRTPRM	^DEBUGGING AIDS AND ADDITIONAL INFO
.BR;<FTCOBOL	1	<SRTCBL	^BUILD <SORT FOR <COBOL
.IFN TWENTY
.BR;<FTFORTRAN	0	<SRTCBL	^BUILDING <COBOL, SO TURN OFF <FORTRAN
.BR;<FTFORTRAN	1	<SRTFOR	^BUILD <SORT FOR <FORTRAN
.BR;<FTCOBOL	0	<SRTFOR	^BUILDING <FORTRAN, SO TURN OFF <COBOL
.ENDIF TWENTY
.B3.LM0
.PG
5.0##<INTERNAL <CHANGES
.B 1
^THE SOURCES OF <SORT CONSIST OF:
.B 1
<SRTVER.MAC##^AN OPTIONAL FILE CONTAINING FEATURE TEST SWITCH SETTINGS.
.BR
<SRTPRM.MAC##^THE COMMON PARAMETER DEFINITIONS
.BR
<SRTSTA.MAC##^THE COMMON STAND-ALONE CODE
.BR
.IF TWENTY
<SRTCMD.MAC##^THE <DECSYSTEM-20 COMMAND SCANNER
.BR
<SRTJSS.MAC##<DECSYSTEM-20 SPECIFIC CODE
.BR
<SRTCER.MAC##^STANDARD ERROR MESSAGE ROUTINES
.ELSE TWENTY
.BR
<SRTSCN.MAC##^THE INTERFACE TO <SCAN
.BR
<SRTUUO.MAC##<DEC<SYSTEM-10 SPECIFIC CODE
.ENDIF TWENTY
.BR
<SRTCMP.MAC##^THE COMPARISON GENERATOR
.BR
<SORT.MAC####^THE COMMON ALGORITHMS
.B 1
^IN ADDITION THE <COBOL <SORT HAS:
.BR
<SRTCBL.MAC##^THE INTERFACE FOR <COBOL
.B 1
AND THE <FORTRAN <SORT HAS:
.BR
.IF TWENTY
<FORSRT.MAC##^THE <FORTRAN INTERFACE TO THE STAND-ALONE <SORT.
.ELSE TWENTY
<SRTFOR.MAC##^THE <FORTRAN INTERFACE.
.BR
<SRTCER.MAC##^STANDARD ERROR MESSAGE ROUTINES
.ENDIF TWENTY
.B 2
 ^THE FOLLOWING EDITS WERE MADE TO <SORT AS A RESULT OF BUGS FOUND:
.LM+5.TS5
.B.I-5;300	^DEVELOPMENT OF VERSION 4.
.B;.I-5;301	^Allow input and output to have different blocking factors.
.B;.I-5;302	^Fix bugs found from second field test tape.
.B 1;.I -5;303	^Fix compares of two character <EBCDIC alphanumeric keys in the middle of a word.
.B 1;.I -5;304	^Fix <?SRTRIE errors on <EBCDIC fixed-length files.
.B 1;.I -5;305	^ON <TOPS-20 FIX BLOCKING FACTOR PROBLEMS.
.B 1;.I -5;306	^On <TOPS-10 <binary sort, <MAXKEY not BEING set up caused divide by 0.
.B 1;.I -5;307	^Double precision unsigned comparison routine fixes.
.B 1;.I -5;310	^Var. length file with random line terminators fix.
.B 1;.I -5;311	^Fix <SIXBIT <alphanumeric compares of 6 chars starting on a word boundary.
.B 1;.I -5;312	^Fix performance bug when sorting blocked files.
.B 1;.I -5;313	^Fix <?SRTRBP errors during merge phase of a sort.
.B 1;.I -5;314	^Re-insert line that got lost out of edit 305.
.B 1;.I -5;315	^Fix definition of <RETSKP to fix undefined <RSKP labels.
.B 1;.I -5;316	^Fix various bad output files and ^ill. ^mem. ^refs. in ^FORTRAN ^binary files.
.B 1;.I -5;317	^Clear junk in buffer header word of OPEN block.
.B 1;.I -5;320	^Clean up <FUNCT. after <SORT (<FSLOC.).
.B 1;.I -5;321	^Fix further blocking factor problems on <TOPS-20, when blocks are huge.
.B 1;.I -5;322	<SIXBIT, word boundary, six charACTER length sign compare fix.
.B 1;.I -5;323	^Fix loop when <SORT has exactly enough memory but thinks it doesn't.
.B 1;.I -5;324	<SIXBIT blocked file  (generates only one temp file)  <I/O error.
.B 1;.I -5;325	<TOPS-20, <ASCII MERGE loop  and <SIXBIT nulls  fix.
.B 1;.I -5;326	<TOPS-20  Allow multiple input files in <SORT.
.B 1;.I -5;327	^Fix <merge<s when one or more input files are null, or more than <MAXTMP files.
.B 1;.I -5;330	<FORTRAN <SORT <BINARY </COMP and non-^^COMP\\ fix.
.B 1;.I -5;331	^Edit 327 broke <sorts., Make <RETRN. still return if not a <merge.
.B 1;.I -5;332	^EDIT 322 broke <SORT for <SIXBIT <alphanumeric files SORTED on MORE THAN 1 <KEY.
.B 1;.I -5;333	^Default </LABELS: to <STANDARD as documented on <TOPS-20.
.B 1;.I -5;334	^Fix expanding memory too much when <LOGIN/CORE:<n is used (e.g., <batch).
.B 1;.I -5;335	^Use new form of <JSYS <names, <NAME%, to solve global symbol conflicts.
.B 1;.I -5;336	^Clean up <TOPS-20 command scanner - remove noise words from switches and </RMS.
.B 1;.I -5;337	^Really fix sorts back after edits 327 and 331.
.B 1;.I -5;340	^Fix </COLLATE loop on <KA and <KI.
.B 1;.I -5;341	<ASCII records <.EQ. </RECORD error message.
.B 1;.I -5;342	<SIXBIT unblocked files which create only one <.TMP  fix.
.B 1;.I -5;343	<S/A <SORT problem with <GETTAB return of 0.
.B 1;.I -5;344	<TOPS-20 <SIXBIT blocked file can lose records.
.B 1;.I -5;345	<MERGE problems closing out file too soon - EDITS 327 331 337
.B 1;.I -5;346	<S/A <SORT problems with multiple command lines, Restore <.JBFF.
.B 1;.I -5;347	^Fix <FORTRAN command scanner to process </SWITCH:^N correctly.
.B 1;.I -5;350	^Fix <FORTRAN command scanner to process <DEV:/TEMP correctly.
.B 1;.I -5;351	^Fix errors with </SUPRES, </FATAL, </ERROR, </LEAVES, </FORMAT.
.B 1;.I -5;352	^Fix <FORTRAN<'s problems with <SFD<s and <PPN<s.
.B 1;.I -5;353	^Fix <TOPS-10 labeled tapes, </REWIND, and <I/O error messages.
.B 1;.I -5;354	^Fix <COBOL <merge when called from non-resident <COBOL overlay.
.B 1;.I -5;355	^On <TOPS-10 scan </COLLATE:FILE:file-spec correctly (allow <SFD<s, etc.).
.B 1;.I -5;356	^In <COBOL <SORT clear low segment data incase second call.
.B 1;.I -5;357	^On <TOPS-20 print more information on certain fatal errors.
.B 1;.I -5;360	^On <TOPS-20 convert <DATE <UUO to <ODCNV% <JSYS.
.B 1;.I -5;361	^ON <TOPS-20 Allocate <KEY extraction and compare space in high segment.
.B 1;.I -5;362	^Make <SRTRNI message fatal.
.B 1;.I -5;363	^Make </SUPPRESS:INFORMATION suppress final messages from <S/A <SORT. 
.B 1;.I -5;364	^Fix more <FORTRAN <SORT ^ill ^mem ^ref problems.
.B 1;.I -5;365	^Merge development work for <SORT V4^A into maintenance sources.
.B 1;.I -5;366	^On <TOPS-20, write last word if it is the first word in a buffer.
.B 1;.I -5;367	<EBCDIC variable length fix for <SRTRTI.
.B 1;.I -5;370	^Fix truncated records if extracted keys and temp files are necessary.
.B 1;.I -5;371	^Make sure output buffers are cleared before output starts.
.B 1;.I -5;372	^On <TOPS-20, fix </BLOCKED:<n to default properly.
.B 1;.I -5;373	^Add debugging facility for the structure macros, and fix bugs it finds.
.B 1;.I -5;374	^On <TOPS-10, improve error messages <SRTIRE and <SRTOWE for temporary files.
.B 1;.I -5;375	^On <TOPS-20, fix looping with multiple </KEY:<s, broken by 372.
.B 1;.I -5;376 ^On <TOPS-20, properly reinitialize on a new line to prevent <PDL overflows, etc.
.B 1;.I -5;377 ^On <TOPS-20, fix <?SRTOPN errors on multiple commands after edit 376.
.B 1;.I -5;400 ^On <TOPS-20, fix truncation of <SIXBIT files after edit 366.
.B 1;.I -5;401 ^On <TOPS-20, fix <?SRTCCN errors when using magtapes.
.B 1;.I -5;402 ^Skip non-existent records in <FORTRAN RANDOM files instead of issuing <?SRTFCI.
.B 1;.I -5;403 ^Fix <EBCDIC alphanumeric comparisons similar to </KEY:8:2 and </KEY:8:4.
.B 1;.I -5;404 ^Fix <TOPS-10 <SRTMUF errors when <ASSIGN <ALL <DSK, etc. is used.
.B 1;.I -5;405 ^Fix <TOPS-20 <?SRTNEC for large files bug.
.B 1;.I -5;406 ^Fix ILL MEM REF or inability to generate tape labels caused by clobbering <X.DVCH in <STOPB.
.B 1;.I -5;407 ^Bad sorts for unblocked tape files ON <TOPS-10. ^Wrong <recsize.
.B 1;.I -5;410 ^Wrong record size from <Fortran binary sorts with </NUMERIC.
.B 1;.I -5;411 ^Fix <LOOKUP error mESSAGE loop when <CCL ENTRY and COMMAND fails.
.B 1;.I -5;412 ^Non specified commands default to <ASCII. ^GIVE WARNING Message when found otherwise.
.B 1;.I -5;413 <FORTRAN-10 problem with multiple key SORTs - <SRTCGC mESSAGE.
.B 1;.I -5;414 ^Fix further problems after edit 353 with end-of-tape processing.
.B 1;.I -5;415 <COBOL <SORT Address check when one <.TMP file is created. 
.B 1;.I -5;416 </LEAVES causes nUMBER of records to be reported, not nUNBER leaves in tree.
.B 1;.I -5;417 ^RecORD truncATION message wrong. ^It reports characters not records.
.B 1;.I -5;420 <SORT-20 gives <?SRTAWP when outputting fix SIXBIT to tape.
.B 1;.I -5;421 ^FIX <SORT-20 NOT TO allow </ALIGN/BINARY.
.B 1;.I -5;422 <SORT-20 now allows </DENSITY:6250
.B 1;.I -5;423 <SIXBIT SORTs that create only one <.TMP file have output truncated.
.B 1;.I -5;424 <TOPS-10 will not allow a unit to be temp device (<DSKN0:)
.B 1;.I -5;425 ^Edit 411 neglected to delete the <TMPCOR file. ^Call <SCAN and delETE it.
.B 1;.I -5;426 ^Give error on <SORT-20 allowing more than one </SUPPRESS
.B 1;.I -5;427 ^Not all data was zeroed at new command (e.g. </LEAVES) on -20.
.B 1;.I -5;430 ^A typo in edit 400 causes an ILL MEM REF to occur. ^Edit 366 is also needed.
.B 1;.I -5;431 <SORT calculates incorrect info for <FOROTS <DECODE arg block on </FORMAT.
.B 1;.I -5;432 <SORT-10 does not allow a lowercase arg for </FORMAT, ERROR <?SRTFSA occurs.
.B 1;.I -5;433 <COBOL <SORT's comparison routINE write ENABLES  hi-seg pg on <TOPS-20. ^Make <TOPS-10 code compatable.
.B 1;.I -5;434 ^Fix multi-reel tape problem with <EOT on <TOPS-10.
.B 1;.I -5;435 ^Fix a <TOPS-20 <SIXBIT bLOCk bug; rewrite some code efficiently; cleanup spelling; REDO table OF contents for <v4B.
.B 1;.LM-5
.IF TWENTY
 ^THE FOLLOWING EDITS WERE MADE TO <FORSRT.MAC:
.B 1;.LM +5;.I -5;##1	^MAKE SURE DATA PAGES CONTAIN ZERO BEFORE CALLING <SORT.
.B 1;.I -5;##2	^Use new <JSYS <name format, <NAME%, to avoid symbol name conflicts.
.B 1;.L -5;##3	^Allocate <KEY extraction and compare space in high segment.
.B 1;.I -5;##4	^Add test for <execute-only in ^Release 4.
.ENDIF TWENTY
.B 3;.LM 0
6.0##<SUGGESTIONS
 ^NONE.
.B 3
[^END OF <SRT4B.DOC]