1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4001
+                                                            4001
+                                                            4001
                                                       Date: Sept 20, 1977 
                                                     Person: Engle
-Component:  TIME  (360/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     When subroutine is used on a 360 and the print option is 
     specified, "SPRINT CALL USES ILLEGAL PARAMETERS" results. 
-Source changes expressed in old update (*UPDATE) form,
+______________
                based on D4.0 sequence id.
 
 
     %AFTER TIME0620 
              SR    R15,R15 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4001 
     /COPY "TOFSOVLY" 
     /COPY COUNT=3 
              SR    R15,R15 
     /END 
-Comments:
+________
 
 
     Corrects incorrect value for modifiers address in SPRINT 
     parameter list when run on a 360. 
      
     Note: Object for TIME on the restore tape has been changed. 
           Source, updated as per above, is in MTS:TIME on the 
           restore-tape pack. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4002
+                                                            4002
+                                                            4002
                                                       Date: Sept 22, 1977 
                                                     Person: Alexander
-Component:  MTS  (42/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Local time limit expiring just when user program was entering 
     CMD subroutine was not handled properly. 
-Source changes expressed in old update (*UPDATE) form,
+______________
                based on D4.0 sequence id.
 
 
     %AFTER MTS00742 
              MVI   CLSCMDID+1,MTSFLG    for local time limit 
     *                                   at entry to CMD 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4002 
     /COPY "NXTSEG" 
     /COPY COUNT=4 
              MVI   CLSCMDID+1,MTSFLG    for local time limit 
     *                                   at entry to CMD 
     /END 
-Comments:
+________
 
 
     REP cards for this are in the *IPL... files on the 
     restore-tape pack. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4003
+                                                            4003
+                                                            4003
                                                       Date: Sept 22, 1977 
                                                     Person: Helffrich
-Component:  TABLES(DECKGEN)  (004/5)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Corrects bug in generation of the CHANNELS table for selector 
     sub-channels. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4003 
     /COPY "TABSEL" 
     /COPY COUNT=3 
     TABSE5   DS    0H 
     /COPY "TABSE4" 
     /EDIT "TABSE1" = "TABSE5" 
     /END 
-Comments:
+________
 
 
     This correction is in the restore-tape pack files 
     MTS:DCKPCHR.S and MTS:DCKPCHR.O, and the ipl files *IPL... 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4004
+                                                            4004
+                                                            4004
                                                       Date: Sept 22, 1977 
                                                     Person: Helffrich
-Component:  TABLES(DECKGEN)  (004/5)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Corrects generation of BLKMPX table, for both 360s and 370s. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4004 
     /COPY "TABSIO1" 
     /COPY BLANKS "ESDEF BLKMPX,R2" 
     /SKIP COUNT=2 
     /COPY "TABBLK1" 
     /DELETE BLANKS "TM    3(RA),1" 
              TM    3(RA),8            SEL SUB? 
     /DELETE BLANKS "BZ    TABBLK2" 
              BO    TABBLK2            YES 
     /END 
-Comments:
+________
 
 
     This correction is in the restore-tape pack files 
     MTS:DCKPCHR.S and MTS:DCKPCHR.O, and the ipl files *IPL... 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4005
+                                                            4005
+                                                            4005
                                                       Date: Sept 22, 1977 
                                                     Person: Helffrich
-Component:  TABLES(DECKGEN)  (004/5)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fixes bug in allocation of TERMBFRS. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4005 
     /COPY "TABGNJT" 
     /COPY BLANKS "ESDEF TERMBFRS,R2" 
     /DELETE BLANKS "LA    R1,2(R2,R2)" 
              LA    R1,0(R8,R8)        PAST 'BUFUSE' 
     /DELETE BLANKS "BCTR  R0,0" 
     /SKIP COUNT=1 
     /END 
-Comments:
+________
 
 
     This correction is in the restore-tape pack files 
     MTS:DCKPCHR.S and MTS:DCKPCHR.O, and the ipl files *IPL... 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4006
+                                                            4006
+                                                            4006
                                                       Date: Oct 5, 1977 
                                                     Person: Tiffany
-Component:  *APC(NEW_EXPLAIN)  (496/5)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If the user attempts "EXPLAIN COMPARE", he gets 
     more than just the description of the COMPARE 
     command. 
-Source changes expressed in edit commands form,
+______________
                based on D4.0 source.
 
 
     EDIT ETC:APCEXP 
     SCAN 'COMPARE' 
     CHANGE '6M'6' 
     STOP 
-Comments:
+________
 
 
     The offensive letter "M" after a line number 
     for the description of the COMPARE command is 
     removed. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4007
+                                                            4007
+                                                            4007
                                                       Date: Oct 07, 1977 
                                                     Person: Lift
-Component:  PLOT SYSTEM(PALPHA)  (615/7)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Corrects bug in PALPHA which prevented loading of alphabets 
     from user files. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4007 
     /COPY BEFORE "PALIB7" 
     PALIB7   L     3,0(,1)            SAVE CONTROL BLOCK ADDRESS 
     /EDIT "PALIB7" = "      " 
     /DELETE      "         L     3,CPACON" 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4008
+                                                            4008
+                                                            4008
                                                       Date: Oct 07, 1977 
                                                     Person: Lift
-Component:  PLOT SYSTEM(PALPHA)  (615/7)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Corrects bug in PSMLEN which prevented it from working for 
     characters sets with grid size > 16. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4008 
     /COPY BEFORE "         LA    7,PLCHARC" 
     /SKIP C=4 
     /COPY BEFORE "PLCHARA" 
     /COPY C=2 
     /SKIP C=1 
     /COPY BEFORE "PLCHARD" 
     /SKIP C=3 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4009
+                                                            4009
+                                                            4009
                                                       Date: Oct 07, 1977 
                                                     Person: Alexander
-Component:  MTS  (42/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     The changes specified in Change Form 4002 were incorrect 
     in that they not only fixed the problem described, they 
     also "fixed" a great many other things too.  REMOVE THE 
     CHANGES SPECIFIED BY 4002 and then apply the change here. 
-Source changes expressed in old update (*UPDATE) form,
+______________
                based on D4.0 sequence id.
 
 
     %AFTER MTS04618 
              MVI   CLSCMDID+1,MTSFLG 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4009 
     /COPY 'OKEDONE ' 
              MVI   CLSCMDID+1,MTSFLG 
     /END 
-Comments:
+________
 
 
     Don't forget to REMOVE THE INSERTION SPECIFIED in 4002. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4010
+                                                            4010
+                                                            4010
                                                       Date: Oct 10, 1977 
                                                     Person: Sherry
-Component:  UMLOAD  (001/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Corrects bug discovered by RPI to round length on END 
     card to nearest doubleword. 
-Source changes expressed in old update (*UPDATE) form,
+______________
                based on D4.0 sequence id.
 
 
     %DELETE UMLD1827 
     ENDCF3   LA    R2,7(,R2)          ROUND UP LENGTH TO 
              N     R2,=X'FFFFFFF8'     NEAREST DOUBLEWORD. 
              ST    R2,ESDLEN          CSECT FINALLY HAS A LENGTH 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4010 
     /DELETE "ENDCF3   ST    R2,ESDLEN" 
     ENDCF3   LA    R2,7(,R2)          ROUND UP LENGTH TO 
              N     R2,=X'FFFFFFF8'     NEAREST DOUBLEWORD. 
              ST    R2,ESDLEN          CSECT FINALLY HAS A LENGTH 
     /END 
-Comments:
+________
 
 
     This bug caused some TXT cards (in OS-generated modules) 
     to be rejected with the message "ILLEGAL TXT CARD LENGTH 
     DETECTED" 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4011
+                                                            4011
+                                                            4011
                                                       Date: Oct 11, 1977 
                                                     Person: Lift
-Component:  PLOT SYSTEM(CBDSECT)  (615/8)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Changes alphabet names from 8c to 16c. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4011 
     /DELETE   "CBNAME" 
     CBNAME   DS    CL16               ALPHABET NAME 
     /END 
-Comments:
+________
 
 
     This correction is to the dsect, so PSYM (615/6) and 
     PALPHA (615/7) must be reassembled. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4012
+                                                            4012
+                                                            4012
                                                       Date: Oct 12, 1977 
                                                     Person: Lift
-Component:  PLOT SYSTEM(PALPHA)  (615/7)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Changes (with #4011) alphabet names from 8c to 16c. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4012 
     /COPY "PALPHA1" 
     /DELETE BLANKS "CLC   0(8,2)" 
              CLC   0(9,2),=C'STANDARD ' IS IT DEFAULT ONE? 
     /COPY BEFORE "         L     15,=V(PSYMSW1)" 
     /COPY COUNT=3 
     /EDIT "9" = "17" 
     /COPY BEFORE "PALIB1" 
     /COPY COUNT=4 
     /DELETE BLANKS "MVC   DWORD(8)" 
              MVC   DWORD(16),=CL16' ' PAD CALLER'S NAME TO 16C 
     /COPY "PALIB8" 
     /DELETE BLANKS "L     1,4(,2)" 
     /SKIP COUNT=1 
     /EDIT "CPA" = "CDI" 
     /EDIT "READ" = "READBFR" 
     /DELETE BLANKS "L     3,4(,2)" 
              L     3,CDIREAD 
     /DELETE BLANKS "LA    4,12" 
              LA    4,20               ENTRY: 16C NAME, F LINE# 
     /COPY BEFORE "PALIB4" 
     /EDIT "0(8,3),DWORD " = "0(16,3),DWORD" 
     /COPY BEFORE "PALIB6" 
     /EDIT "1,8(,3) " = "1,16(,3)" 
     /COPY "CPAREAD" 
     CDIREAD  DC    A(0,LPABUF,MODF,LNUM,PAFDUB)  FOR READBFR 
     /DELETE "DWORD" 
     DWORD    DS    2D 
     /COPY "DEFALPHA" 
     /COPY COUNT=3 
              DC    C'        ' 
     /END 
-Comments:
+________
 
 
     Note #4011 should be applied before this one. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4013
+                                                            4013
+                                                            4013
                                                       Date: Oct 11, 1977 
                                                     Person: Alexander
-Component:  TABLES(DECKGEN)  (004/5)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fixes generation of reverse pathfinding tables in cases 
     where the first control unit on a channel has a high 
     address. Formerly clobbered the tables generated. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4013 
     /COPY 'TABGL11 ' 
     /DELETE NEXT 'SR' NEXT 'R9,R9' 
              LA    R9,16                  USE MINIMUM VALUE 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4014
+                                                            4014
+                                                            4014
                                                       Date: OCT 12, 1977 
                                                     Person: Salisbury
-Component:  SDS(EDITOR)  (600/010)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Corrects bug in adding PL/I external variables 
     to symbol table. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4014 
     /COPY "DATADVS" 
     /COPY COUNT=1 
     /SKIP COUNT=2 
     /END 
-Comments:
+________
 
 
     Deletes test for external entry in SDS editor 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4015
+                                                            4015
+                                                            4015
                                                       Date: OCT 12, 1977 
                                                     Person: Salisbury
-Component:  SDS(IOC)  (600/006)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Corrects bug in handling variables@T=I on 360/67 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4015 
     /COPY "SUEX" 
     /DELETE BLANKS "L     GR4,0(REALADD)" 
              LOAD  GR4,0(REALADD),4    GET OPCODE AND MASK 
     /END 
-Comments:
+________
 
 
     Changes load instr to LOAD macro call. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4016
+                                                            4016
+                                                            4016
                                                       Date: OCT 12, 1977 
                                                     Person: Salisbury
-Component:  SDS(IOC)  (600/006)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Scans for blank or comma ending binary input data 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4016 
     /COPY "BINCONV1" 
     /COPY COUNT=2 
              CLI   0(WA),C' ' 
              BE    BINEXIT 
              CLI   0(WA),C',' 
              BE    BINEXIT 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4017
+                                                            4017
+                                                            4017
                                                       Date: OCT 12, 1977 
                                                     Person: Salisbury
-Component:  SDS(CLSSOU)  (600/001)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Allows multiple A-type and B-type constants within 
     a single input item 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4017 
     /COPY BEFORE "INAIP" 
     INAIP    CLI   0(WA),C'''' 
              BNE   INACHK2 
     INACHK1  LA    WA,1(WA) 
              B     INACHK3 
     INACHK2  CLI   0(WA),C',' 
              BE    INACHK1 
     INACHK3  CLI   0(WA),C' ' 
              BNE   INACHK4 
              LA    WA,1(WA) 
              B     INACHK3 
     /EDIT "INAIP  " = "INACHK4" 
     /DELETE BLANKS "LA    WA,1(WA)" 
     /DELETE BLANKS "SR    GR15,GR15" 
     /EDIT "INPUFOC" = "INFTFC3" 
     /COPY BEFORE "INBIP" 
     INBIP    CLI   0(WA),C'''' 
              BNE   INBCHK2 
     INBCHK1  LA    WA,1(WA) 
              B     INBCHK3 
     INBCHK2  CLI   0(WA),C',' 
              BE    INBCHK1 
     INBCHK3  CLI   0(WA),C' ' 
              BNE   INBCHK4 
              LA    WA,1(WA) 
              B     INBCHK3 
     INBCHK4  BCTR  WA,0 
     /EDIT "INBIP" = "     " 
     /COPY COUNT=2 
     /EDIT "INPUFOC" = "INFTFC3" 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4018
+                                                            4018
+                                                            4018
                                                       Date: Oct 22, 1977 
                                                     Person: Lift
-Component:  PLOT SYSTEM(ETC:PLOTALPHA)  (615/9)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Changes alphabet names to 16C and introduces aliases for 
     some names. 
-Source changes expressed in edit commands form,
+______________
                based on D4.0 source.
 
 
     ED ETC:PLOTALPHA 
     DE 1.001 1.999 OK 
     A 1 #TN#TN        # 
     A 2 
     A 1 #HELVETIC#HELVETIC        # 
     A 3 
     A 1 #GOTHICEN#GOTHICEN        # 
     A 4 
     A 1 #ROMANTX#ROMANTX        # 
     A 5 
     A 1 #ITALICTX#ITALICTX        # 
     A 6 
     A 1 #GREEKCS#GREEKCS        # 
     A 7 
     A 1 #ITALICCS#ITALICCS        # 
     A 8 
     A 1 #ROMANCS#ROMANCS        # 
     A 9 
     A 1 #ROMANDX#ROMANDX        # 
     A 10 
     A 1 #GREEKSX#GREEKSX        # 
     A 11 
     A 1 #ROMANSX#ROMANSX        # 
     A 12 
     A 1 #SCRIPTSX#SCRIPTSX        # 
     A 13 
     A 1 #GOTHICGE#GOTHICGE        # 
     A 14 
     A 1 #GOTHICIT#GOTHICIT        # 
     A 15 
     A 1 #SCRIPTCX#SCRIPTCX        # 
     A 16 
     A 1 #ROMANCX#ROMANCX        # 
     A 17 
     A 1 #ITALICCX#ITALICCX        # 
     A 18 
     A 1 #GREEKCX#GREEKCX        # 
     A 19 
     A 1 #CYRILLCX#CYRILLCX        # 
     A 20 
     A 1 #ROMANCAR#ROMANCAR        # 
     A 21 
     A 1 #GREEKCAR#GREEKCAR        # 
     A 22 
     A 1 #HIRAGANA#HIRAGANA        # 
     A 23 
     A 1 #KATAKANA#KATAKANA        # 
     A 24 
     A 1 #KANJI1#KANJI1        # 
     A 25 
     A 1 #KANJI2#KANJI2        # 
     A 26 
     A 1 #KANJI3#KANJI3        # 
     A 27 
     A 1 #KANJI4#KANJI4        # 
     A 28 
     A 1 #KANJI5#KANJI5        # 
     A 29 
     COPY 1 TO 100 
     CONC 100 LEN=20 
     DE 100 
     DE 121 127 OK 
     A 101 #HELVETIC   #HELVETICA.1# 
     A 102 #GOTHICEN      #GOTHIC.ENGLISH# 
     A 103 #ROMANTX#ROMAN.3# 
     A 104 #ITALICTX#ITALIC.3# 
     A 105 #GREEKCS #GREEK.2A# 
     A 106 #ITALICCS #ITALIC.2A# 
     A 107 #ROMANCS #ROMAN.2A# 
     A 108 #ROMANDX   #SANSERIF.2# 
     A 109 #GREEKSX#GREEK.1# 
     A 110 #ROMANSX   #SANSERIF.1# 
     A 111 #SCRIPTSX#SCRIPT.1# 
     A 112 #GOTHICGE      #GOTHIC.FRAKTUR# 
     A 113 #GOTHICIT      #GOTHIC.ITALIAN# 
     A 114 #SCRIPTCX#SCRIPT.2# 
     A 115 #ROMANCX#ROMAN.2# 
     A 116 #ITALICCX#ITALIC.2# 
     A 117 #GREEKCX#GREEK.2# 
     A 118 #CYRILLCX  #CYRILLIC.2# 
     A 119 #ROMANCAR     #SANSERIF.CART# 
     A 120 #GREEKCAR  #GREEK.CART# 
     CONC 100 120 
     MOVE 100 120 TO 1.001 
     CONC 1 1.999 
     DE 100 *L OK 
     DE 1.001 1.999 OK 
     STOP 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4019
+                                                            4019
+                                                            4019
                                                       Date: Oct 18,1977 
                                                     Person: FRONCZAK
-Component:  CALC(CLS)  (585/001)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Corrects the bug of not properly (re)initializing ATTNTRP 
     upon (re)entry to the CALC CLS. 
-Source changes expressed in old update (*UPDATE) form,
+______________
                based on D4.0 sequence id.
 
 
     %AFTER CALC0230 
              MVI   INTSAVE,0          DAMNED RESET!!! 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4019 
     /COPY '*   SOME INIT' 
     /COPY C=2 
              MVI   INTSAVE,0          DAMNED RESET!!! 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4020
+                                                            4020
+                                                            4020
                                                       Date: November 1, 1977 
                                                     Person: Salisbury
-Component:  SDS(SDSCLSSOU)  (600/001)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Corrects bug in the processing of call tracing when the 
     call is from a low-core address. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4020 
     /COPY BEFORE "IBPTCHK2" 
     IBPTERR6 SET   TRCNORET,18       SET NO RETURN FLAG 
              B     IBPTERR 
     IBPTCHK2 CLI   BREAKTYP,BRKRET   RETURN BREAKPOINT? 
              BE    IBPTERR6          DON'T SET 
     /EDIT "IBPTCHK2" = "        " 
     /COPY "IBPTSIM" 
     /COPY COUNT=1 
              CLI   BREAKTYP,BRKRET   RETURN BREAKPOINT? 
              BE    IBPTERR6          DON'T SET 
     /COPY "OPERCALL" 
     /COPY COUNT=7 
              RESET TRCNORET,18       RESET NO RETURN FLAG 
     /COPY BEFORE "OPERCAL4" 
     OPERCAL4 TOF   TRCNORET,OPERCAL5,18  NO RETURN FLAG? 
              BRT   ' (NO TRACING OF RETURN)' 
     /EDIT "OPERCAL4" = "OPERCAL5" 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4021
+                                                            4021
+                                                            4021
                                                       Date: November 1, 1977 
                                                     Person: Salisbury
-Component:  SDS(SDSCLISOU)  (600/004)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Part of correction described in #4020 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4021 
     /COPY BEFORE "CSNODO" 
     /EDIT "SMODE10" = "SMODE10+SPRED" 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4022
+                                                            4022
+                                                            4022
                                                       Date: November 1, 1977 
                                                     Person: Salisbury
-Component:  SDS(SDSPSECT)  (600/013)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Part of correction described in #4020 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4022 
     /COPY "TRCCALL" 
     TRCNORET EQU   X'08'     1 -> NO TRACE OF RETURN 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4023
+                                                            4023
+                                                            4023
                                                       Date: November 3, 1977 
                                                     Person: Engle
-Component:  ACCOUNTING(GETFILE)  (104/88)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If a call on GDINFO3 produces a wait to open and that wait is 
     interrupted, GDINFO3 does not open the file but still returns 
     with a return code of zero.  This change locks the file around 
     the call on GDINFO3 and thus, by eliminating the possibility 
     of a wait to open, insures that the file will be opened. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B  C4023 
     /D LEN(72) "GTFL0046" 
              ST    R0,FDUB 
              LA    R1,=A(FDUB,F1,FM1) 
     LOCK     L     R15,=V(LOCK) 
              BASR  R14,R15            LOCK FILE TO AVOID WAIT TO OPEN 
              C     R15,=F'20' 
              BE    LOCK               WAIT TO LOCK INTERRUPTED 
              LTR   R1,R15 
              BNZ   RETURN             ERROR 
     /COP LEN(72) "GTFL0055" 
              LA    R1,=A(FDUB) 
              L     R15,=V(UNLK) 
              BASR  R14,R15            UNLOCK FILE 
              LTR   R15,R15 
              BNZ   RETURN             ERROR 
     /COP LEN(72) "GTFL0069" 
     FDUB     DS    A 
     FM1      DC    F'-1' 
     F1       DC    F'1' 
     /EN 
-Comments:
+________
 
 
     This error allowed the user to interrupt the wait to open 
     produced by GDINFO3 for *ACCOUNTINGn.  The file, 
     consequently, was not opened; and when READ attempted to do 
     an implicit open, an attention interrupt would cause the 
     wait to open to be interrupted with a sideways exit, 
     leaving *ACCOUNTING locked. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4024
+                                                            4024
+                                                            4024
                                                       Date: Nov 11,1977 
                                                     Person: Helffrich
-Component:  GATE  (4000/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Corrects bug causing MODECHG bit to be on if user supplies 
     bad GR13 value for gated routine. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4024 
     /COPY "BADGR13 " 
              NI    SWSP1,OFF-MODECHG  didn't get around to changing 
     /END C4024 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4025
+                                                            4025
+                                                            4025
                                                       Date: Nov 11,1977 
                                                     Person: Helffrich
-Component:  GATE  (4000/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fixes GUINFUPD entry in GATE. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4025 
     /DELETE "GUINFUPD " 
     GUINFUPD PORT  SAVE,CLASS=3 
     /END C4025 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4026
+                                                            4026
+                                                            4026
                                                       Date: November 16, 1977 
                                                     Person: Salisbury
-Component:  SDS(SDSCLISOU)  (600/004)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Change MODIFY command such that users may not modify 
     system storage by specifying operands in the form (GRx)+yyy 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4026 
     /COPY BEFORE "MODBLOC8" 
     MODBLOC8 BAL   LINK,PREDFCHK    CHECK PREDEFINED SYMBOL 
     /EDIT "MODBLOC8" = "        " 
     /COPY BEFORE "MODEXIT" 
     MODERR12 COMMENT 'INVALID DISPLACEMENT FOR PREDEFINED SYMBOL.' 
              B      NNEWCARD 
     MODERR13 COMMENT 'INVALID LENGTH FOR PREDEFINED SYMBOL.' 
              B      NNEWCARD 
     /COPY "UNDOMOV" 
     * 
     *     CHECK PREDEFINED SYMBOL FOR REASONABLE MODIFICATION 
     * 
     PREDFCHK TOF    SPRED,0(LINK),3   PREDEFINED SYMBOL? 
              ST     GR0,CLILINK2      SAVE REGISTER 
              CLC    SSYMBOL(2),=C'GR' GENERAL REGISTER? 
              BE     PREDF2 
              LA     GR0,8             SET PSW OR FR LENGTH 
     PREDF1   S      GR0,CDISP 
              BNH    MODERR12          DISPLACEMENT TOO BIG 
              BCTR   GR0,0 
              CR     WC,GR0 
              BH     MODERR13          LENGTH TOO BIG 
              L      GR0,CLILINK2      RESTORE REGISTER 
              BR     LINK 
     PREDF2   LA     GR0,4             SET GR LENGTH 
              B      PREDF1 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4027
+                                                            4027
+                                                            4027
                                                       Date: November 18, 1977 
                                                     Person: MTA
-Component:  PDP  (044/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     The PDP gets an ILDN error when it retries after a fatal 
     I/O error on a paging disk (rather than a drum). 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4027 
     /COPY 'UCRETRY2' 
     /COPY C=2 
              L     0,DRUMLDN            GET JUST THE LDN 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4028
+                                                            4028
+                                                            4028
                                                       Date: November 23, 1977 
                                                     Person: Engle
-Component:  *INDEX  (580/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If an entry attribute begins with a double colon, designating 
     a text colon instead of a sub-heading, and no sub-heading 
     (single) colons appear in the entry attribute, the result is 
     as though the entry attribute began with a triple colon. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4028 
     /D LEN(72) "INDX0402" 
              IF SUBSTR(NAME,N+1,1)=':' THEN DO; 
     /COP LEN(72) "INDX0406" 
     /S LEN(72) "INDX0408" 
              ELSE DO; 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4029
+                                                            4029
+                                                            4029
                                                       Date: November 23, 1977 
                                                     Person: Engle
-Component:  *INDEX  (580/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If 4 or more consecutive colons appear in an entry attribute 
     to designate 2 or more consecutive text colons, the multiple 
     text colons are condensed to a single colon. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4029 
     /D LEN(72) "INDX0167" 
           FF = INDEX(SUBSTR(WORDD,NN+LENGTH(SUB)),CHAR); 
           IF FF=0 THEN NN=0; 
           ELSE NN=NN+FF+LENGTH(SUB)-1; 
     /COP LEN(72) "INDX0472" 
     /S LEN(72) "INDX0479" 
              CALL SUBS(LINE, '/', '/Z'); 
     /EN 
-Comments:
+________
 
 
     The change at INDX0473-INDX0479 does not correct an error, 
     but was made possible by the error correction at INDX0167. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4030
+                                                            4030
+                                                            4030
                                                       Date: November 28, 1977 
                                                     Person: Engle
-Component:  *INDEX  (580/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If a level N subheading is given and the headings for the N-1 
     and N-2 levels are not given separately with location 
     attributes, only the N and N-1 level headings are printed. 
     E.g., if "1 A" and "2 A:B:C:D" are entered and entries for A:B 
     and A:B:C are not given, the headings A, C, and D will print, 
     but the heading B will not print. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4030 
     /D LEN(72) "INDX0400" 
     HEAD: N=INDEX(NAME,':'); 
     /D LEN(72) "INDX0412" 
                 F=LENGTH(PRESENT)-1; 
                 IF SUBSTR(PRESENT, 1, F)=SUBSTR(FORMER, 1, F) THEN N= 
                 INDEX(NAME, ':'); 
                 ELSE N=0; 
     /COP LEN(72) "INDX0414" 
     /S LEN(72) "INDX0416" 
           F=LENGTH(PRESENT)-1; 
           IF SUBSTR(PRESENT,1,F) = SUBSTR(FORMER,1,F) THEN 
     /D LEN(72) "INDX0418" 
              FORMER=SUBSTR(PRESENT,1,F); 
     /D LEN(72) "INDX0441" 
           CALL SUBS(NAME, '::', ':'); 
     /COP LEN(72) "INDX0523" 
     /S LEN(72) "INDX0525" 
              GO TO HEAD; 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4031
+                                                            4031
+                                                            4031
                                                       Date: Nov 28, 1977 
                                                     Person: Lift
-Component:  PLOT SYSTEM(PLTBGN)  (615/3)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Corrects PLTBGN bug occuring when PLTSIZ used or incorrect 
     argument given to PLTBGN 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN 
     /COPY BEFORE BLANKS "BO    PBGN1" 
     /EDIT "PBGN1" = "PBGN7" 
     /COPY BEFORE BLANKS "LA    10,PBGN5" 
     /EDIT "     " = "PBGN7" 
     /DELETE BLANKS "L     2,YWIDTH" 
              LE    0,YWIDTH 
              DE    0,USCALE 
              STE   0,PACKING 
              L     2,PACKING 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4032
+                                                            4032
+                                                            4032
                                                       Date: Dec 2, 1977 
                                                     Person: Lift
-Component:  PLOT SYSTEM(PSYM)  (615/6)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Corrects bug in doing carriage returns while using 
     relative coordinates 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN 
     /COPY BEFORE BLANKS "ST    4,XMARGIN" 
     /BUFFER MARGINS 
     /EDIT "       " = "PSINIT3" 
     /COPY COUNT=1 
     /BUFFER END 
     /COPY BEFORE BLANKS "BZ    PSINIT2" 
     /EDIT "PSINIT2" = "PSINIT3" 
     /COPY ".CCP5" 
     /INCLUDE MARGINS 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4033
+                                                            4033
+                                                            4033
                                                       Date: Dec 12, 1977 
                                                     Person: Lift
-Component:  PLOT SYSTEM(PALPHA)  (615/7)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Allows a little more space after "1" in the standard alphabet. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN 
     /COPY "DEFCHAR" 
     /COPY BEFORE "         DC    X'06636F4D080B3D5F9FBDBA3433B30E0B'" 
     /EDIT "06" = "07" 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4034
+                                                            4034
+                                                            4034
                                                       Date: Dec 12, 1977 
                                                     Person: Lift
-Component:  PLOT SYSTEM(CCASM)  (615/4)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Establishes synonyms PWIND for PRSTER, PONWIN for PONRST, 
     and POFWIN for POFRST.  Next V11 will use the new names 
     in place of the old. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN 
     /COPY "#PRASTR  CSECT" 
     /COPY BEFORE BLANKS "ENTRY PRSTER" 
     /EDIT "PRSTER      " = "PWIND,PRSTER" 
     /COPY BEFORE "PRSTER" 
     /EDIT "PRSTER" = "PWIND " 
     PRSTER   EQU   PWIND 
     /COPY BEFORE BLANKS "ENTRY POFRST" 
     /EDIT "POFRST       " = "POFWIN,POFRST" 
     /COPY BEFORE "POFRST" 
     /EDIT "POFRST" = "POFWIN" 
     POFRST   EQU   POFWIN 
     /COPY BEFORE BLANKS "ENTRY PONRST" 
     /EDIT "PONRST" = "PONWIN,PONRST" 
     /COPY BEFORE "PONRST" 
     /EDIT "PONRST" = "PONWIN" 
     PONRST   EQU   PONWIN 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4035
+                                                            4035
+                                                            4035
                                                       Date: Dec 13, 1977 
                                                     Person: Helffrich
-Component:  MTS  (42/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Change of the job number encoding in internal scratch file names. 
     If job number goes over 9999, the first digit goes to A, B, C, 
     etc.  Base 33, sort of. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN SFWRAP 
     /.     SFWRAP -- Fix up scratch file numbering scheme so won't wrap 
     /.               after job # 10000 
     /COPY NEXT "CVD" NEXT "SCA,SCRATCH2" NEXT "SAVE JOB NUMBER" 
     /COPY C=1 
              SRDA  SCA,32 
              D     SCA,=F'1000'      IF JOB # > 1000, MAKE FIRST 
              IC    SCA,BASE36(SCB)      DIGIT DO A, B, C, ... 
              STC   SCA,SCRFNAME+4       STUNT 
     /COPY "STPARS " 
     BASE36   DC    C'0123456789ABCDEFGHIJKLMNOPQRSTUVWQQSV' 
     /DELETE NEXT "USING" NEXT "*,GR10" 
              USING INLOOPX,GR10       This section is self-addressable 
     /COPY END 
     /END SFWRAP 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4036
+                                                            4036
+                                                            4036
                                                       Date: Dec 13, 1977 
                                                     Person: Helffrich
-Component:  MTS  (42/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Make allocation/deallocation of FDUBs less subject to error 
     if SYGNOF branched to by GETSPACE/FREESPAC.  Makes system less 
     suceptible to LOADT usecounts going negative. 
     NOTE: This change requires change #4037 to be applied at the 
     same time. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN ROBUST1 
     /.     ROBUST1 -- Make fdub allocation/decallocation more robust 
     /.                on a busy system with lots of people hanging up 
     /.                in the middle of the signoff procedure. 
     /COPY "CFDCHAIN " 
     /COPY C=5 
     /INCLUDE CFDMOVE 
     /COPY "CFDNON " 
     /BUFFER CFDMOVE 
     /COPY C=4 
              LR    SCA,GR1 
     /COPY C=3 
              LR    GR1,SCA 
     /EDIT "SCA" = "GR1" 
     /COPY C=2 
     /BUFFER END 
     /COPY END 
     /END ROBUST1 
-Comments:
+________
 
 
     This is part 1 of a two-change-form change. See also #4037. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4037
+                                                            4037
+                                                            4037
                                                       Date: Dec 13, 1977 
                                                     Person: Helffrich
-Component:  FSUB  (635/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Make allocation/deallocation of FDUBs less subject to error 
     if SYGNOF branched to by GETSPACE/FREESPAC.  Makes system less 
     suceptible to LOADT usecounts going negative. 
     NOTE: This change requires change #4036 to be applied at the 
     same time. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN ROBUST1 
     /.     ROBUST1:: To make GIVEBACK a bit more fail-safe in the 
     /.               giving back of FDUBs. 
     /COPY BEFORE "*" BLANKS "FDGET" 
     /EDIT "." = "," 
     *                          IN MTS (IF YOU ARE NOT ONE OF THE HAPPY 
     *                          FEW WHO ALREADY KNOWS THIS.) 
     /COPY TAB(72) "FSUB0498" 
     /EDIT "BER" = "BZR" 
     /COPY "GVBULNE" 
     /COPY COUNT=1 
              LTR   SCA,SCA            FCB still there? (Could happen if 
              BZ    GVBFDB             jumped out of middle of SYGNOF) 
     /DELETE BLANKS "BNP   GVBGRFF" 
              BP    GVBFDB             -> somebody still using FCB 
              XC    FDUBLN,FDUBLN      not any more for this FDUB 
              B     GVBGRFF 
     /COPY "GVBFDB " 
     /SKIP COUNT=17 
     * 
              L     SCB,FDUBNAM        get backpointer to pointer 
              LTR   SCB,SCB 
              BZ    *+16               -> none 
              XC    0(4,SCB),0(SCB)    pointer 
              XC    FDUBNAM,FDUBNAM    and backpointer 
     * 
              BAL   GR14,UNCHFDUB      unchain FDUB 
     * 
              L     GR1,FDUBNAME       release name if any 
              LTR   GR1,GR1 
              BZ    *+14 
              XC    FDUBNAME,FDUBNAME 
              BAL   GR14,HIABYMH 
     * 
              L     GR1,FDUBERM        release error message if any 
              LTR   GR1,GR1 
              BZ    *+14 
              XC    FDUBERM,FDUBERM 
              BAL   GR14,HIABYMH 
     * 
              L     GR1,FDUBERXS       release I/O error suspension 
              LTR   GR1,GR1            block, if any 
              BZ    *+14 
              XC    FDUBERXS,FDUBERXS 
              BAL   GR14,HIABYMH 
     * 
     /COPY "GVBGRFCB" 
     /COPY BLANKS "L     GR1,FCBMXLBA" 
              XC    FCBMXLBA,FCBMXLBA  make sure it gets lost 
     /END ROBUST1 
-Comments:
+________
 
 
     This is the second of a two-changeform change.  See also #4036. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4038
+                                                            4038
+                                                            4038
                                                       Date: Dec 13, 1977 
                                                     Person: Ogden
-Component:  CMDS  (636/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Rewrite of SIGNONM job program. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN SMNEW 
     /.     SMNEW -- New SIGNONM 
     /COPY BEFORE "SIGNONM " 
     /DELETE "SIGNONM " 
     /SKIP COUNT=8 
              EJECT 
     *        SIGNONM  --  Job program to read a line from the console 
     *                     which becomes a message printed out at 
     *                     signon for MTS users. 
              SPACE 3 
     SIGNONM  DC    A(*+8,0) 
              USING *,15 
              LA    1,SIGONMS+2 
              SVC   READ 
              BZ    *-2                BACK AGAIN IF CANCELLED 
     * 
              AR    1,0                end of message+1 
              AH    0,=H'1'            include CC character in length 
     SIGNONM1 BCTR  1,0                trim off blanks 
              CLI   0(1),C' ' 
              BNE   *+8 
              BCT   0,SIGNONM1         -> loop de loop 
     * 
              STC   0,SIGONMS          resultant length, maybe zero 
              SVC   EXIT               -> back to the womb 
     SIGONMS  DC    AL1(0),101C' '     length, text 
     /COPY END 
     /END SMNEW 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4039
+                                                            4039
+                                                            4039
                                                       Date: Dec 13, 1977 
                                                     Person: Helffrich
-Component:  CMDS  (636/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fix bug in D4.0 causing explicit concatenation of files to 
     be opened with the program key *MTS.RUN rather than *MTS.ETC.RUN 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN RUNPKEY 
     /.     RUNPKEY  --  Fixes bug causing program key to not be set 
     /.                  to *MTS.ETC.RUN when FDName concatenation is 
     /.                  run 
     /COPY "STDNEWF2 " 
     /COPY COUNT=3 
              NI    SWS17,255-DFPID    don't default program key 
     * 
              TM    SWS2,DBGCMSW 
              BO    STDDFPID           -> $DEBUGging today 
              L     SCA,FDUBCH 
              LTR   SCA,SCA 
              BNZ   STDETCPK           -> exp.concatenation, set to .ETC. 
              TM    FDUBSWS2,FDUBBLN+FDUBELN+FDUBMOD 
              BNZ   STDETCPK           -> beginning #, ending # or mods 
              TM    FDUBS,FDUBINC 
              BO    STDETCPK           -> explicit increment 
              TM    SWS4,NOUNLD 
              BO    STDETCPK           -> UNLOAD=OFF 
              CLI   SHFSEP,C':' 
              BE    STDOPEN            -> no changed SHFSEP 
              SPACE 
     STDETCPK L     SCA,CLSPTR+MTSFLG*4 
              MVC   CLSPID-CLSAREA(12,SCA),=CL12'*MTS.ETC.RUN' 
     STDDFPID OI    SWS17,DFPID        flag something weird happened 
     /COPY C=1 
     /ED "       " = "STDOPEN" 
     /COPY "STHOPEOK " 
     /COPY COUNT=10 
              TM    SWS17,DFPID 
              BO    STH04               -> see if PROT status needs change 
     /SKIP COUNT=14 
     /DELETE "STH04 " 
     /SKIP C=4 
     STH04    DS    0H 
     /COPY BEFORE "STEXP21 " 
     /ED "STEXP21" = "       " 
     /END RUNPKEY 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4040
+                                                            4040
+                                                            4040
                                                       Date: Dec 13, 1977 
                                                     Person: Helffrich
-Component:  CMDS  (636/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fixes MTS SNARKing if user signs on with a  ridiculously low 
     global time limit. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN T=.001 
     /.     T=.001 -- Fixes snark if user says '$SIG xxxx T=.001' 
     /.            -- by setting lowest time limit to .003, naturally 
     /COPY BEFORE "SIGPAST " 
              L     GR15,GLOBCPUT       check time limit, if given 
              C     GR15,=A(100*768/10)   must be > .1 
              BNL   SIGPAST 
              BXLE  GR15,GR15,SIGPAST   and nonzero 
              MVC   GLOBCPUT,=A(100*768/10) 
     /END T=.001 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4041
+                                                            4041
+                                                            4041
                                                       Date: Dec 13, 1977 
                                                     Person: Helffrich
-Component:  CMDS  (636/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fix bug causing EXEC cls to not return to cls which invoked 
     it, but rather always the MTS cls. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN EXECRET 
     /.     EXECRET -- Fix so that any CLS which calls the EXEC CLS 
     /.                gets returned to when the EXEC CLS returns. 
     /COPY "SYSLAB2 " 
     /COPY C=5 
     /EDIT "       " = "SYSLAB3" 
     /COPY "RETLAB " 
     /COPY BEFORE NEXT "B" NEXT "SYSLAB2" 
     /EDIT "SYSLAB2" = "SYSLAB3" 
     /DELETE NEXT "B" NEXT "CKDUMP" 
     /INCLUDE CKDUMP 
     /COPY BEFORE "MTSCLAB2 " 
     MTSCLAB2 OI   SWS19,RUNTOFDA      disable RUNTOF setting CLSCMDID cuz  * 
                                       we already did it (==KLUDGE) 
     /EDIT "MTSCLAB2" = "        " 
     /COPY "MTSCMVC " 
     /SKIP C=1 
     /BUFFER CKDUMP 
     /EDIT "CKDUMP" = "      " 
     /COPY C=5 
     /BUFFER END 
     /COPY "RUNTOF " 
     /COPY C=3 
              TM    SWS19,RUNTOFDA 
              BO    RUNTOF1            -> this means don't touch CLSCMDID 
              CLI   CLSCURB,EXECFLG 
              BNE   RUNTOF1            -> EXEC wasn't previous, CLSCMDID    * 
                                          already set 
              L     SCA,CLSPTR+EXECFLG*4 
              LTR   SCA,SCA 
              BZ    RUNTOF1            -> no EXEC CLS 
              MVC   CLSCMDID,CLSCRID-CLSAREA(SCA)   set up EXEC CLS invoker 
     RUNTOF1  NI    SWS19,255-RUNTOFDA reset -- only a one-shot deal 
     /END EXECRET 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4042
+                                                            4042
+                                                            4042
                                                       Date: Dec 13, 1977 
                                                     Person: Helffrich
-Component:  CMDS  (636/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fix bug causing scratch files not to be destroyed if SCRFCHAR=* 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN SFCBUG 
     /.     SFCBUG -- Fix bug causing scratch files not being destroyed 
     /.               if SCRFCHAR=* 
     /COPY "GROD " 
     /COPY BEFORE NEXT "LA" NEXT "GR1,DSFDL" 
              MVI   FNIASF,C'-'        a nice, safe scratch file char 
     /END SFCBUG 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4043
+                                                            4043
+                                                            4043
                                                       Date: Dec 13, 1977 
                                                     Person: Helffrich
-Component:  DSRS  (637/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fix bug in PEEL when @MAXLEN@PEEL modifier combination used. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN PEELBUG 
     /.     PEELBUG -- Fix bug in PEEL causing unexpected movement of 
     /.                stuff in segment 5 if high order byte of address 
     /.                has garbage in it. 
     /COPY "PEEL " 
     /COPY C=8 
              LA    SCC,0(,SCC) 
     /COPY END 
     /END PEELBUG 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4044
+                                                            4044
+                                                            4044
                                                       Date: Dec 13, 1977 
                                                     Person: Helffrich
-Component:  DSRS  (637/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fix another @MAXLEN@PEEL combination bug. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN PEELBUG2 
     /.     PEELBUG2 -- Fix another bug in peel if empty file read from 
     /.                 with @PEEL@MAXLEN set.  Caused a reference to 
     /.                 page 0 in PEEL. 
     /COPY "PEEL " 
     /EDIT "BE" = "BZ" 
     /COPY NEXT "LA" NEXT "GR2,0(GR1,SCC)" 
              LR    GR3,SCC             save location of line 
              LTR   GR2,GR2 
              BZ    PEEL1               -> no input buffer 
     /COPY C=3 
     /SKIP C=1 
     /COPY C=3 
     /EDIT "     " = "PEEL1" 
     /END PEELBUG2 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4045
+                                                            4045
+                                                            4045
                                                       Date: Dec 13, 1977 
                                                     Person: Helffrich
-Component:  DSRI  (639/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Make sure user input area is blanked following implicit 
     concatenation to another file.  Wipes out fragment of 
     $CONTINUE WITH xxxx left in input buffer. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN AREABLNK 
     /.     AREABLNK :: to make sure user's input area is blanked from 
     /.                 end of text to end of area if explicit concat. 
     /.                 or $ENDFILE read resulted in end-of-file. 
     /.                 Previously, this condition resulted in $ENDFILE 
     /.                 or the tail end of the $CONTINUE WITH ... to be 
     /.                 left in the buffer. 
     /COPY MAXCOUNT=1200 "GIOSIQU" 
     /DELETE BLANKS "BE    PSFXFE" 
              BE    ISENDFIL           -> give EOF 
     /DELETE BLANKS "BE    PSFXFE" 
     /SKIP COUNT=1 
              BNE   GIOSIQC 
     ISENDFIL BAL   GR14,BLANKIT       blank rest of input region 
              B     PSFXFE 
     * 
     /COPY "GIOSIQV" 
     /COPY COUNT=1 
     /SKIP BLANKS "EX" NEXT "SCB,GIOSMVC" 
     /COPY BLANKS "LR    GR3,SCA" 
              BAL   GR14,BLANKIT       blank rest of input region 
     /COPY "GIOSIQBB" 
     /SKIP COUNT=4 
     /EDIT "0(SCA),FDUBNOEC " = "FDUBMTB,FDUBNOEC" 
     /COPY TAB(72) "DSRI1343" 
              EJECT 
     *        BLANKIT  --  Subroutine to blank out what we read for 
     *                     possible implicit concatenation or endfile. 
     * 
     *            Clobbers SCRATCH. 
     *            Assumes GR13 points to original savearea at call 
              SPACE 3 
     BLANKIT  STM   SCA,SCD,SCRATCH 
              L     SCA,24(,GR13)      get original GR1 
              LM    SCA,SCB,0(SCA)     A(reg,len) 
              LH    SCB,0(,SCB)        get length 
              LA    SCC,0(SCA,SCB)     end of input region 
     * 
              XR    SCD,SCD            select either X'00' or C' ' to 
              CLI   0(SCC),0           wipe out buffer with 
              BPI   OPND,*+8           -> edge of world, use x'00' 
              BE    *+8 
              LA    SCD,C' ' 
     * 
              AIF   (&S370).MVCL 
              STC   SCD,0(,SCA)        propagate this 
              S     SCB,=F'2' 
              BM    BLANKRET           -> nothing much to do 
     BLANKNXT S     SCB,=F'256' 
              BM    BLANKLST 
              MVC   1(256,SCA),0(SCA)  propagate fill character 
              LA    SCA,256(,SCA) 
              B     BLANKNXT 
     BLANKMVC MVC   1(0,SCA),0(SCA) 
     BLANKLST EX    SCB,BLANKMVC       fill last portion 
              AGO   .NOMVCL 
     .MVCL    SLL    SCD,24            fill character 
              MVCL   SCA,SCC           zap the easy way 
     .NOMVCL  ANOP 
     BLANKRET LM     SCA,SCD,SCRATCH 
              BR     GR14 
     /COPY END 
     /END AREABLNK 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4046
+                                                            4046
+                                                            4046
                                                       Date: Dec 13, 1977 
                                                     Person: Helffrich
-Component:  DSRI  (639/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fix bug in D4.0 MTS causing PGNT if SETIOERR subroutine returns 
     and original parameter list of output subroutine did not have 
     a line number parameter. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN IOERSFL 
     /.            :: Fix to save FAKELIST across I/O error subroutine 
     /.               calls. 
     /COPY "EXNOGATE" 
     /SKIP   COUNT=1 
              XR    GR14,GR14          assume not using fakelist; identifed 
              ST    GR14,4+DSRISFL     by zero address of length HW 
              LA    GR14,FAKELIST 
              CR    GR14,SCB 
              BNE   UIOENOFL           -> not using fakelist 
              MVC   DSRISFL(7*4),FAKELIST save fakelist here 
     /EDIT "        " = "UIOENOFL" 
     /COPY BEFORE "UIOEB1" 
     /SKIP COUNT=4 
     * 
     UIOEB1   L     GR2,24(,GR13)      assume using user's parameters 
              L     GR14,4+DSRISFL     but check if fakelist was really 
              LTR   GR14,GR14          used 
              BZ    UIOEB2             -> no, user's parameters 
              MVC   FAKELIST(7*4),DSRISFL 
              LA    GR2,FAKELIST 
     UIOEB2   XC    FDUBERXS,FDUBERXS  free DIRISUSP 
              BAL   GR14,HIABYMH       after covering tracks 
              LR    GR1,GR2            restore parameter list pointer 
     /END IOERSFL 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4046.1
+                                                            4046.1
+                                                            4046.1
                                                       Date: Dec 13, 1977 
                                                     Person: Helffrich
-Component:  TIMT  (539/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Just a cleanup of some things. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN CLEANUP1 
     /.     CLEANUP1:: Just a few diddlie things 
     /COPY "SWSNOLD" 
     /COPY COUNT=3 
     /SKIP COUNT=2 
              JOBTBL N=1,R=GR12 
     /COPY "NOTCAND" 
     /SKIP COUNT=2 
              JOBTBL N=1,R=GR4 
     /END CLEANUP1 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4047
+                                                            4047
+                                                            4047
                                                       Date: Dec 13, 1977 
                                                     Person: Helffrich
-Component:  GATE  (4000/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Remove TRANTB from gate 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN REMTTB 
     /.     REMTTB -- Remove "TRANTB" from GATE 
     /DELETE "TRANTB" NEXT "PORT" 
     /COPY END 
     /END REMTTB 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4048
+                                                            4048
+                                                            4048
                                                       Date: Dec 13, 1977 
                                                     Person: Helffrich
-Component:  USUB  (638/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fix bug causing subversion of LSS-imposed time limit if 
     SETLCL called to reset timer interrupt. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN LCLTBUG 
     /.     LCLTBUG -- Fixes bug which lets users subvert LSS if their 
     /.                program sets a small local time limit. 
     /COPY BEFORE "SETLRS " 
     SETLRS   TM    SWS8,LSSBIT       LSS=on for this user? 
              BO    SETLRC4           -> yes, then can't cancel LSS limit 
     /EDIT "SETLRS" = "      " 
     /COPY END 
     /END LCLTBUG 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4049
+                                                            4049
+                                                            4049
                                                       Date: Dec 16, 1977 
                                                     Person: Sherry
-Component:  *WATFIV(INOUT) -- UPDATE  (483/001)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fix bug in INOUT to properly diagnose syntax errors in 
     I/O statements with NAMELIST specified. 
-Source changes expressed in edit commands form,
+______________
                based on D4.0 source.
 
 
     EDIT WAT5.SGEN 
     COMMENT -- Edit update to INOUT assembly -- 
     INSERT 58033 
     %AFTER '08610000'  ; INOUT BUGFIX 
              IF    (IOBJBIT,ON,X'08'),IERSXA No list for NAMELIST 
     $ENDFILE 
     STOP 
-Comments:
+________
 
 
     I/O statements of the form: 
           READ(5,DATA) X,Y,Z 
     were not flagged as syntax errors if DATA was a NAMELIST 
     variable (no list is allowed). 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4050
+                                                            4050
+                                                            4050
                                                       Date: Dec 16, 1977 
                                                     Person: Sherry
-Component:  *WATFIV(STARTB) -- UPDATE  (483/001)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fix bug in STARTB to detect illegal subscript for variable 
     dimension of dummy array in subroutines. 
-Source changes expressed in edit commands form,
+______________
                based on D4.0 source.
 
 
     EDIT WAT5.SGEN 
     COMMENT -- Edit update to STARTB assembly -- 
     COMMENT -- (near sequence id '10180000') -- 
     INSERT 77077 
              LA    R6,0(,R6)   Clear top byte of address 
     $ENDFILE 
     STOP 
-Comments:
+________
 
 
     This corrects a bug n the following situations: 
           SUBROUTINE X( A, N) 
           DIMENSION A(N) 
           A(20) = 0. 
     If N=20 and A is dimensioned as A(10) in the calling 
     program, the reference to A(20) will now be flagged as 
     an error. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4051
+                                                            4051
+                                                            4051
                                                       Date: December 16, 1977 
                                                     Person: Engle
-Component:  GRJLDT/GRJLTM SUBRS (GRJLDT)  (519/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Check for and produce a return code of 4 if "digits" in the 
     argument would produce a data exception. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4051 
     /S LEN(72) "GJDT0002" 
     GJDT     TITLE 'S-TYPE CALLING INTERFACE FOR GRGJULDT--C. F. ENGLE--16 1 
                    DEC 77' 
     /COP LEN(72) "GJDT0005" 
              PACK  DOUBLE(2),0(2,1)   CHECK FOR POTENTIAL DATA EXCEPTIONS 
              PACK  DOUBLE+2(2),3(2,1) 
              PACK  DOUBLE+4(2),6(2,1) 
              LA    15,4 
              CP    DOUBLE(2),DOUBLE+2(2) 
              BPI   OPND,EXIT 
              CP    DOUBLE(2),DOUBLE+4(2) 
              BPI   OPND,EXIT 
     /D LEN(72) "GJDT0009" 
              SR    15,15 
     EXIT     L     13,SAVE+4 
     /D LEN(72) "GJDT0011" 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4052
+                                                            4052
+                                                            4052
                                                       Date: December 16, 1977 
                                                     Person: Engle
-Component:  GRJLDT/GRJLTM SUBRS (GRJLTM)  (519/3)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Check for and produce a return code of 4 if "digits" in the 
     argument would produce a data exception. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4052 
     /D LEN(72) "GJTM0002" 
                    DEC 77' 
     /COP LEN(72) "GJTM0005" 
              PACK  QUAD(2),0(2,1)     CHECK FOR POTENTIAL DATA EXCEPTIONS 
              PACK  QUAD+2(2),3(2,1) 
              PACK  QUAD+4(2),6(2,1) 
              PACK  QUAD+6(2),8(2,1) 
              PACK  QUAD+8(2),11(2,1) 
              PACK  QUAD+10(2),14(2,1) 
              LA    15,4 
              CP    QUAD(2),QUAD+2(2) 
              BPI   OPND,EXIT 
              CP    QUAD+4(2),QUAD+6(2) 
              BPI   OPND,EXIT 
              CP    QUAD+8(2),QUAD+10(2) 
              BPI   OPND,EXIT 
     /D LEN(72) "GJTM0009" 
              SR    15,15 
     EXIT     L     13,SAVE+4 
     /D LEN(72) "GJTM0011" 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4053
+                                                            4053
+                                                            4053
                                                       Date: December 16, 1977 
                                                     Person: Engle
-Component:  GROSDT  (520/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Check for and produce a return code of 4 if "digits" in the 
     first argument would produce a data exception. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4053 
     /D LEN(72) "GODT0001" 
     GODT     TITLE 'GREGORIAN TO OS DATE CONVERSION--C. F. ENGLE--16 DEC 771 
     /COP LEN(72) "GODT0008" 
              PACK  DOUBLE(2),0(2,1)   CHECK FOR POTENTIAL DATA EXCEPTIONS 
              PACK  DOUBLE+2(2),3(2,1) 
              PACK  DOUBLE+4(2),6(2,1) 
              LA    15,4 
              CP    DOUBLE(2),DOUBLE+2(2) 
              BPI   OPND,EXIT 
              CP    DOUBLE(2),DOUBLE+4(2) 
              BPI   OPND,EXIT 
     /D LEN(72) "GODT0025" 
              SR    15,15 
     EXIT     L     13,SAVE+4 
     /D LEN(72) "GODT0027" 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4054
+                                                            4054
+                                                            4054
                                                       Date: 20 December, 1977 
                                                     Person: Lift
-Component:  PLOT SYSTEM(ASM)  (615/4)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fixes a bug which occurred when both optional arguments were 
     omitted. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4054 
     /COPY "PNUMBR" 
     /COPY "         LA    8,=F'0'" 
              SR    9,9 
     /DELETE "         SR    9,9" 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4055
+                                                            4055
+                                                            4055
                                                       Date: Dec 22, 1977 
                                                     Person: Boettner
-Component:  FILESTATUS  (529/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     The SUMMARY option failed to print summary items for several 
     things, including the number of files, last-changed date, 
     and file information items if a catalog scan was the last 
     thing done.  Also if a catalog scan was followed by a single 
     file and file information was requested (as in: 
          $FILESTATUS (AARD?,VARK) SIZE       for example) 
     then file information printed for the single file was really 
     the information for the last file in the catalog scan. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4055 
     /COPY BEFORE BLANKS 'XC    SCATINFO' 
     /EDIT '10' = '12' 
     /COPY  BLANKS 'XC    SFILINFO' 
              MVC   SCATINFO+CIONID-CIDSECT(4),=CL32' '    ZAP THESE, 
              MVC   SCATINFO+CIVOL-CIDSECT(8),=CL32' '     HAVING NO MEANING 
              MVC   SCATINFO+CIPKEY-CIDSECT(12),=CL32' '   FOR SUMMARIZATION 
     /COPY 'FILOOPE' 
     /DELETE BLANKS 'BE    BX' 
              BE    BXCAT 
     /COPY BEFORE 'BX' 
     BXCAT    MVC   FILINFO,SAVFILI   RESTORE THIS, DONE WITH SCAN 
     /DELETE  BLANKS 'MVC   CATINFO' 
              MVC   CATINFO+8(12*4),SCATINFO+8 
     /COPY 'NAMES2' 
     /COPY BLANKS 'MVI' 
              CVD   GR6,DBLWD 
              ED    0(4,GR1),DBLWD+6 
              A     GR1,CBWID 
              XR    GR15,GR15 
              BR    GR14 
     /END 
-Source changes expressed in old update (*UPDATE) form,
+______________
                based on D4.0 sequence id.
 
 
     %DELETE FSTA0241 
              XC    SCATINFO(12*4),SCATINFO 
     %AFTER FSTA0242 
              MVC   SCATINFO+CIONID-CIDSECT(4),=CL32' '    ZAP THESE, 
              MVC   SCATINFO+CIVOL-CIDSECT(8),=CL32' '     HAVING NO MEANING 
              MVC   SCATINFO+CIPKEY-CIDSECT(12),=CL32' '   FOR SUMMARIZATION 
     %DELETE FSTA0781 
              BE    BXCAT 
     %AFTER FSTA0790 
     BXCAT    MVC   FILINFO,SAVFILI   RESTORE THIS, DONE WITH SCAN 
     %DELETE  FSTA0798 
              MVC   CATINFO+8(12*4),SCATINFO+8 
     %AFTER FSTA1584 
              CVD   GR6,DBLWD 
              ED    0(4,GR1),DBLWD+6 
              A     GR1,CBWID 
              XR    GR15,GR15 
              BR    GR14 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4056
+                                                            4056
+                                                            4056
                                                       Date: January 6, 1978 
                                                     Person: Engle
-Component:  BILLING (BILLING)  (500/4)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If a checkpoint is written after all records with type numbers 
     greater than or equal to 1 have been processed, i.e., at most, 
     only project records (type 0) remain in the input stream after 
     the checkpoint is written, a VB record with null data (record 
     length including record descriptor length equals 4) is written 
     to file REPORT.  This null data record causes an error when 
     processed by BILPRNT (500/7) for ALL, RUN, or CHARGE. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4056 
     /D LEN(72) 'BILL0593' 
                      PUT FILE(REPORT) EDIT(TVCODE, '-') (COL(1), 2 A); 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4057
+                                                            4057
+                                                            4057
                                                       Date: January 6, 1978 
                                                     Person: Engle
-Component:  ACCOUNTING CLS (ACCMXMAT)  (631/6)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Last line printed by STATUS PROJECT produced high order 
     truncation when the number of signon ID's in the project was 
     greater than 999. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4057 
     /COP LEN(72) 'AMXM0802' 
     /S LEN(72) 'AMXM0804' 
              MVC   CNTMSG+16(6),=X'402020202120' 
              ED    CNTMSG+16(6),DOUBLE+5 
     /COP LEN(72) 'AMXM0808' 
     /S LEN(72) 'AMXM0810' 
              MVC   CNTMSG+34(6),=X'402020202120' 
              ED    CNTMSG+34(6),DOUBLE+5 
     /COP LEN(72) 'AMXM0812' 
     /S LEN(72) 'AMXM0814' 
              MVC   CNTMSG+47(6),=X'402020202120' 
              ED    CNTMSG+47(6),DOUBLE+5 
     /COP LEN(72) 'AMXM2207' 
     /S LEN(72) 'AMXM2209' 
     CNTMSG   DC    C' NOCHANGE ON FOR       AND OFF FOR       OF THE       1 
                    PROJECT ID''S' 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4058
+                                                            4058
+                                                            4058
                                                       Date: Jan 19, 1978 
                                                     Person: Tiffany
-Component:  UNLINKER  (562/001)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Prevents generation of junk RLD from an overlay module. 
     Occurs only when OS linkage editor doesn't reset bit 7 
     of flag field in last RLD data for ENTAB. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4058 
     /SKIP COUNT=1 
     UNLK     TITLE 'ROUTINE TO PUNCH OS LOAD MODULES FOR MTS (AN198)' 
     /COPY "RLDP    " 
     /COPY COUNT=1 
              MVI   RLDSW,0            RESET RLDSW. 
     /COPY SPAN(" ") "END" SPAN(" ") "UNLK" 
     /SKIP SPAN(" ") "EJECT" 
     /END 
-Comments:
+________
 
 
     The switch is reset at start. 
     Extra source records at end are also removed. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4059
+                                                            4059
+                                                            4059
                                                       Date: January 20, 1978 
                                                     Person: Engle
-Component:  GRJLDT/GRJLTM SUBRS (GRJLDT)  (519/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Return a value of zero if the return code is nonzero. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4059 
     /S BEFORE LEN(72) 'GJDT0003' 
     GJDT     TITLE 'S-TYPE CALLING INTERFACE FOR GRGJULDT--C. F. ENGLE--19 1 
                    JAN 78' 
     /COP LEN(72) 'GJDT0005' 
     /COP C=3 
              SR    0,0 
     /EN 
-Comments:
+________
 
 
     Assumes that change number 4051 has been applied. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4060
+                                                            4060
+                                                            4060
                                                       Date: January 20, 1978 
                                                     Person: Engle
-Component:  GRJLDT/GRJLTM SUBRS (GRJLTM)  (519/3)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Return a value of zero if the return code is nonzero. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4060 
     /S BEFORE LEN(72) 'GJTM0003' 
     GJTM     TITLE 'S-TYPE CALLING INTERFACE FOR GRGJULTM--C. F. ENGLE--19 1 
                    JAN 78' 
     /COP LEN(72) 'GJTM0005' 
     /COP C=6 
              SR    0,0 
     /COP LEN(72) 'GJTM0008' 
     /COP C=1 
              LR    0,1 
     /D LEN(72) 'GJTM0012' 
     /EN 
-Comments:
+________
 
 
     Assumes that change number 4052 has been applied. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4061
+                                                            4061
+                                                            4061
                                                       Date: January 20, 1978 
                                                     Person: Engle
-Component:  GROSDT  (520/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Return values consisting of all blanks if the return code is 
     nonzero. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4061 
     /S BEFORE LEN(72) 'GODT0002' 
     GODT     TITLE 'GREGORIAN TO OS DATE CONVERSION--C. F. ENGLE--19 JAN 781 
     /COP LEN(72) 'GODT0006' 
     /S LEN(72) 'GODT0008' 
              MVC   0(8,3),=CL8' '     BLANKS 
     /COP BEFORE LEN(72) 'GODT0009' 
              MVC   3(2,3),6(1)        YEAR 
     /D LEN(72) 'GODT0023' 
              SR    15,15 
     EXIT     MVC   DOUBLE,0(3) 
     /COP LEN(72) 'GODT0024' 
     /S C=2 
              L     13,SAVE+4 
     /EN 
-Comments:
+________
 
 
     Assumes that change number 4053 has been applied. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4062
+                                                            4062
+                                                            4062
                                                       Date: January 20, 1978 
                                                     Person: Engle
-Component:  OSGRDT  (523/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Check for and produce a return code of 4 and values consisting 
     of all blanks if "digits" in the first argument would produce 
     a data exception. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4062 
     /D LEN(72) 'OGDT0001' 
     OGDT     TITLE 'OS TO GREGORIAN DATE CONVERSION--C. F. ENGLE--19 JAN 781 
     /D LEN(72) 'OGDT0007' 
              PACK  0(2,3),3(2,1)      CHECK FOR POTENTIAL DATA EXCEPTIONS 
              PACK  2(2,3),5(3,1) 
              MVC   DOUBLE,=CL8' ' 
              LA    15,4 
              CP    0(2,3),2(2,3) 
              BPI   OPND,EXIT 
              ZAP   DOUBLE,2(2,3)      GET DAYS 
     /D LEN(72) 'OGDT0020' 
              SR    15,15 
     EXIT     MVC   0(8,3),DOUBLE 
     /D LEN(72) 'OGDT0024' 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4063
+                                                            4063
+                                                            4063
                                                       Date: Jan 23, 1978 
                                                     Person: Tiffany
-Component:  APC  (0496/003)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If the synchronization mode is on, the printout 
     ignores the PRCOL option. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4063 
     /COPY "PRNTBOTH" 
     /COPY SPAN(" ") "IF" SPAN(" ") "R3,NZ" 
                S     R2,=F'12'        MAKE ROOM FOR LINE NUMBER 
                A     R2,PRCOL         ACCOUNT FOR PRCOL 
                S     R3,PRCOL         SET LENGTH=LENGTH-PRCOL+1 
                A     R3,=F'1' 
                IF    NEG              IF NEGATIVE, ZERO LENGTH 
                  SR    R3,R3 
                  S     R2,PRCOL 
                  A     R2,=F'1' 
                ENDIF 
     /DELETE SPAN(" ") "S" SPAN(" ") "R2,=F'11'" 
     /COPY SPAN(" ") "IF" SPAN(" ") "R5,NZ" 
                S     R4,=F'12'        MAKE ROOM FOR LINE NUMBER 
                A     R4,PRCOL         ACCOUNT FOR PRCOL 
                S     R5,PRCOL         SET LENGTH=LENGTH-PRCOL+1 
                A     R5,=F'1' 
                IF    NEG              IF NEGATIVE, ZERO LENGTH 
                  SR    R5,R5 
                  S     R4,PRCOL 
                  A     R4,=F'1' 
                ENDIF 
     /DELETE SPAN(" ") "S" SPAN(" ") "R4,=F'11'" 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4064
+                                                            4064
+                                                            4064
                                                       Date: Jan 23,1978 
                                                     Person: MTA
-Component:  RAMROD(SERVICE MODULE)  (1019/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Any system with a record longer than 256 bytes (for example a 
     CSI record) won't load properly. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4064 
     /COPY 'TMLOOP ' 
     /COPY NEXT 'A ' 
              A     R7,=F'256'         UPDATE TO ADDRESS ALSO 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4065
+                                                            4065
+                                                            4065
                                                       Date: Jan 23, 1978 
                                                     Person: MTA
-Component:  *FAKEOS(UPDATES)  (545/5)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     OPEN blows up if the number of buffers requested is not odd (i.e 
     if it is a multiple of 2). 
-Source changes expressed in old update (*UPDATE) form,
+______________
                based on D4.0 sequence id.
 
 
     %DELETE FAKB4096 
     %DELETE FAKB4102 
     *NUMBER OF BUFFERS WANTED IN GR0 AND LENGTH OF EACH IN GR1 
     %DELETE FAKB4108 
              MH    R1,DOUBLE          TOTAL LENGTH OF ALL BUFFERS 
-Comments:
+________
 
 
     These updates should be merged into 545/5 in the appropriate place. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4066
+                                                            4066
+                                                            4066
                                                       Date: Jan 23, 1978 
                                                     Person: MTA
-Component:  *FAKEOS(BDAM SIMULATOR)  (545/7)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Every BDAM I/O operation allocates X'90' bytes for an IOB which 
     is never released or reused. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4066 
     /COPY 'DAWAIT ' 
     /COPY NEXT 'STC ' 
     /BUFFER CHAIN 
     /SKIP '* CAM ' 
     /COPY BEFORE NEXT 'SR ' NEXT 'RF,RF ' 
     /SKIP C=1 
     /BUFFER END 
     /COPY 'DACHKSYN ' 
     /COPY C=1 
              MVI   IOBDAVLI,0         RELEASE IOB 
     /COPY BEFORE 'DACLRIOB ' 
     /EDIT F=1 REM = 
     /COPY NEXT 'ST ' NEXT 'R4,' 
     /INCLUDE CHAIN 
              MVI   IOBDAVLI,255       MARK IT IN USE 
     /EDIT F=1 = 'DACLRIOB' 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4067
+                                                            4067
+                                                            4067
                                                       Date: Jan 24, 1978 
                                                     Person: Sherry
-Component:  UMLOAD  (001/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fix the relocation factor of CM with non-zero origin (as produced 
     by the OS Linkage Editor) - it's not the same as the value. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4067 
     /COPY "ESDDEF92 TM" 
     /COPY COUNT=1 
              TM    SETESD+ESDST1D,COMBT  IF ESD ITEM = CM, COMPUTE NEW 
              BO    ESDDEF8                 RELFAC IN CASE NONZERO ORIGIN 
     /END 
-Comments:
+________
 
 
     This bug caused A-type adcons referencing non-zero origin CMs 
     to be improperly relocated (inter-module references). 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4068
+                                                            4068
+                                                            4068
                                                       Date: Jan 24, 1978 
                                                     Person: Sherry
-Component:  UMLOAD  (001/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fix to properly relocate V-con reference to CM with non-zero 
     origin from csect defined within same module as csect declaring 
     CM as produced by the OS linkage editor (intra-module reference). 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4068 
     /COPY "RLDSA3   OI" 
     /COPY COUNT=6 
              TM    RBFLGS+3,X'10'     A V-CON REFERENCE? 
              BO    RLDSA4             NO NEED TO RELOCATE NOW 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4069
+                                                            4069
+                                                            4069
                                                       Date: Jan 24, 1978 
                                                     Person: Sherry
-Component:  LLXU  (354/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fix bug to free input fdub when loading empty file with the 
     noprompt and return on error bits set. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4069 
     /COPY "XRUNIT   L" 
     /COPY BEFORE BLANKS "BO    XLERRET" 
     /EDIT "XLERRET" = "XLERROR" 
     /END 
-Comments:
+________
 
 
     This caused the file to be locked so other users could not 
     access it while the calling program was still loaded. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4070
+                                                            4070
+                                                            4070
                                                       Date: Jan 30, 1978 
                                                     Person: Tiffany
-Component:  APC  (0496/003)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     To correct line number for sequential files when scanning 
     backwards. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4070 
     /DELETE "NOSCAN0 " 
     NOSCAN0  IF    IOMOD+1,O,X'20',TM BACKWARDS? 
                NI    IOMOD+1,NOT-X'20' 
                NI    IOSWS,NOT-EOFSW 
              ENDIF 
     /COPY SPAN(" ") "BM" SPAN(" ") "READBSR " 
              IF    IOSWS,O,EOFSW,TM   ENDFILE? 
                TM    IOMOD+1,X'20'    BACKWARDS? 
                BZ    READSEQ3         NO, QUICK RETURN 
                NI    IOSWS,NOT-EOFSW  RESET SWITCH 
              ENDIF 
     /SKIP COUNT=2 
     /COPY BEFORE SPAN(" ") "BE" SPAN(" ") "READSEQ2" 
     /EDIT "SEQ2" = "SEQ6" 
     /COPY BEFORE SPAN(" ") "L" SPAN(" ") "R1,RDSAVE" 
                L     R1,=F'1000'      SET INCREMENT 
                TM    IOMOD+1,X'20'    IF BACKWARDS, 
                BZ    *+6              NEGATE IT. 
                LNR   R1,R1 
                A     R1,RDSAVE        UPDATE LINE NUMBER 
     /SKIP COUNT=2 
     /COPY BEFORE "READSEQ2" 
     READSEQ6 IF    IOMOD+1,O,X'20',TM IF BACKWARDS 
                XC    IOLNR,IOLNR      SET LNR=0.0 
              ELSE 
     /COPY BEFORE "READSEQ5" 
              ENDIF 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4071
+                                                            4071
+                                                            4071
                                                       Date: Feb 3, 1978 
                                                     Person: Boettner
-Component:  FILESTATUS COMMAND  (0529/001)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     To correct one of the corrections in Change Form 4055.  The 
     MVC instruction with label BXCAT that was inserted just 
     before the line with label BX should be executed only if 
     SPCBIT is on, since otherwise SAVFILI does not have a valid 
     value.  This caused various strange behaviors, including 
     pgnts.  The following change assumes that Change 4055 
     has already been applied. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4071 
     /COPY BEFORE 'BXCAT' 
     BXCAT    TM    SWS3,SPCBIT 
              BZ    BX 
     /EDIT 'BXCAT' = '     ' 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4072
+                                                            4072
+                                                            4072
                                                       Date: February 6, 1978 
                                                     Person: Engle
-Component:  ACCOUNTING (STATUS)  (104/11)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Exceeding a global time limit in conversational mode or a 
     local time limit in batch or conversational mode while the 
     accounting file is locked will leave the file locked until the 
     program is unloaded.  This change causes the program to 
     terminate without locking the file if either of these limits 
     leaves too little remaining time. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4072 
     /D LEN(72) 'STAT0001' 
     STAT     TITLE 'ACCOUNTING STATUS FOR MTS USER--C. F. ENGLE--6 FEB 78' 
     /COP LEN(72) 'STAT0133' 
              MACRO 
     &NAME    GUINFO    &ITEM,&LOC 
     .********************************************************************** 
     .*                                                                    * 
     .*       ITEM  THE LOCATION SPECIFYING THE GUINFO ITEM TO BE OBTAINED.* 
     .*       LOC   THE LOCATION INTO WHICH THE GUINFO ITEM WILL BE PLACED.* 
     .*                                                                    * 
     .********************************************************************** 
     &NAME    LA    R1,=A(&ITEM,&LOC) 
              L     R15,=V(GUINFO) 
              BALR  R14,R15 
              LTR   R15,R15 
              BNZ   GUINFERR 
              MEND 
              SPACE 5 
     /COP LEN(72) 'STAT0158' 
     GETELT   EQU   38                 SVC DEFINITION 
              SPACE 5 
     /D LEN(72) 'STAT0168' 
     /S LEN(72) 'STAT0173' 
              GUINFO    SIGNONID,ID    GET USER SIGNON ID 
     /D LEN(72) 'STAT0182' 
              GUINFO    LOCCPUT,DOUBLE 
              GUINFO BATCHMD,DOUBLE+4 
              C     R6,DOUBLE+4 
              BNE   CKLCLTM            BATCH, NO GLOBAL TIME LIMIT PROBLEM 
              GUINFO    GLOBCPUT,DOUBLE+4 
              L     R2,DOUBLE+4 
              LTR   R2,R2 
              BZ    CKLCLTM            NO GLOBAL TIME LIMIT 
              GUINFO    GLOBTTN,DOUBLE+4    GLOBAL TIME LIMIT BASE 
              A     R2,DOUBLE+4 
              C     R6,DOUBLE 
              BNE   LCLBASE            LOCAL TIME LIMIT 
              B     GETREQTM 
              SPACE 5 
     CKLCLTM  C     R6,DOUBLE 
              BE    GETACC             NO LOCAL TIME LIMIT 
              L     R2,=X'7FFFFFFF'    MAXIMUM FOR GLOBAL TIME LIMIT 
     LCLBASE  GUINFO    LOCTTN,DOUBLE+4     LOCAL TIME LIMIT BASE 
              L     R3,DOUBLE 
              A     R3,DOUBLE+4 
              CR    R2,R3 
              BNH   GETREQTM           GLOBAL LIMIT BEFORE LOCAL LIMIT 
              LR    R2,R3              USE LOCAL TIME LIMIT 
     GETREQTM L     R3,=F'-7680'       -0.1 CPU SEC NEEDED TO READ ACC REC 
              L     R15,=V(CNFGINFO) 
              USING CNFGINFD,R15 
              CLC   CIMODEL,=X'0470' 
              BE    CKREMTM            470V/6 
              SLA   R3,1               MINUS CPU TIME NEEDED FOR 370/168 
              CLC   CIMODEL,=X'0168' 
              BE    CKREMTM            370/168 
              DROP  R15 
              MH    R3,=H'6'           MINUS CPU TIME NEEDED FOR 360/67 
     CKREMTM  AR    R3,R2 
              SVC   GETELT             CURRENT CPU TIME 
              SR    R3,R0 
              SR    R3,R1              REMAINING CPU TIME MINUS TIME NEEDED 
              BM    NOTIME             INSUFFICIENT CPU TIME TO READ ACC REC 
     GETACC   L     R0,SAVE+4 
     /D LEN(72) 'STAT0255' 
     /S LEN(72) 'STAT0258' 
              GUINFO    BATCHMD,DOUBLE 
              C     R6,DOUBLE 
              BE    NOFULL             NOT BATCH, ABBREVIATED OUTPUT 
     /COP LEN(72) 'STAT0267' 
     GUINFERR LA    R1,=A(GUINFMSG,H13,0)   GUINFO ERROR 
              B     READERR 
              SPACE 5 
     /COP LEN(72) 'STAT0275' 
     NOTIME   LA    R1,=A(NOTIMMSG,H44,0)   INSUFFICIENT CPU TIME 
              B     READERR 
              SPACE 5 
     /COP LEN(72) 'STAT0692' 
     BATCHMD  DC    F'10' 
     /COP LEN(72) 'STAT0695' 
     GLOBCPUT DC    F'78' 
     GLOBTTN  DC    F'94' 
     /COP LEN(72) 'STAT0701' 
     LOCCPUT  DC    F'86' 
     LOCTTN   DC    F'96' 
     /COP LEN(72) 'STAT0703' 
     SIGNONID DC    F'2' 
     /COP LEN(72) 'STAT0710' 
     H44      DC    H'44' 
     /COP LEN(72) 'STAT0720' 
     GUINFMSG DC    C' GUINFO ERROR' 
     /COP LEN(72) 'STAT0723' 
     NOTIMMSG DC    C' THE LOCAL OR GLOBAL TIME LIMIT IS TOO SMALL' 
     /COP LEN(72) 'STAT0740' 
     *********************************************************************** 
     *                                                                     * 
     *        MACHINE CONFIGURATION TABLE                                  * 
     *                                                                     * 
     *********************************************************************** 
              SPACE 5 
              COPY  *CNFGINFODSECT 
              EJECT 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4073
+                                                            4073
+                                                            4073
                                                       Date: FEBRUARY 7, 1978 
                                                     Person: MTA
-Component:  MSG ROUTINE  (1023/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     A CALL item after a false IF test causes an infinite loop. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4073 
     /COPY 'L1SKP ' 
     /COPY C=4 
              CLI   0(MSGLOC),CALL@     CALL THIS TO GET LENGTH 
              BE    L1B 
     /COPY BEFORE 'CALLC ' 
     CALLC    TM    SWX,@SKIP          ARE WE SKIPPING? 
              BO    CALLSKP            YES 
     /EDIT FIELD=1 'CALLC' = 
     /COPY 'CALLQ ' 
     /COPY NEXT 'B ' 
     CALLSKP  LA    MSGLOC,4(0,R6)     SET RESUME POINT 
              B     LOOP               AND CONTINUE 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4074
+                                                            4074
+                                                            4074
                                                       Date: FEB 15, 1978 
                                                     Person: Sherry
-Component:  *WATFIV(ACCT) -- UPDATE  (483/001)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Change the /COMPILE card scanner to recognize abbreviations 
     for some job options and also to allow commas or blanks as 
     delimiters. 
-Source changes expressed in edit commands form,
+______________
                based on D4.0 source.
 
 
     EDIT WAT5.SGEN 
     COMMENT -- Edit update to ACCT assembly -- 
     INSERT 2090 
     %DELETE '01250000' '01270000' 
              LR    R2,R1              SAVE CURRENT POINTER 
     BLOOP    IF        (ZR1,EQ,C';'),BANALDON        END OF PARAMETERS 
              CLI   ZR1,C' ' 
              BNE   *+12 
              LA    R1,ZR1+1           SKIP THE BLANK 
              B     BLOOP              CONTINUE 
              CLI   ZR1,C','           SKIP ALL COMMAS 
              BNE   BCHKDEL 
     BLOOP3   LA        R1,ZR1+1            R1=R1+1; 
              B     BLOOP              TRY SOME MORE 
     BCHKDEL  CR    R1,R2              ANY DELIMITERS? 
              BE    BANALERR           NO, SO IT'S AN ERROR 
     $ENDFILE 
     INSERT 2092 
     %BEFORE  '01840000' 
              BE    *+22 
              CLC   =C'T=',ZR1              "T="? 
     %BEFORE  '01850000' 
              LA    R1,ZR1+1                SKIP THE "T" 
              B     *+8 
     $ENDFILE 
     INSERT 2116 
     %BEFORE  '02030000' 
              BE    *+22 
              CLC   =C'P=',ZR1              "P="? 
     %BEFORE  '02040000' 
              LA    R1,ZR1+1                SKIP THE "P" 
              B     *+8 
     %BEFORE  '02360000' 
              BE    *+22 
              CLC   =C'L=',ZR1              "L="? 
     %BEFORE  '02370000' 
              LA    R1,ZR1+1                SKIP THE "L" 
              B     *+8 
     $ENDFILE 
     INSERT 2128 
              BE    *+20 
              CLI   ZR1,C'S'                "S"? 
     $ENDFILE 
     INSERT 2129 
              LA    R1,ZR1+1                SKIP THE "S" 
              B     *+8 
     $ENDFILE 
-Comments:
+________
 
 
     Allowable abbreviations are T for TIME, P for PAGES, 
     L for LINES and S for SOURCE. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4075
+                                                            4075
+                                                            4075
                                                       Date: FEB 15, 1978 
                                                     Person: Sherry
-Component:  *WATFIV(SCAN) -- UPDATE  (483/001)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Change the control card scanner to detect illegal control cards 
     and print a warning message. 
-Source changes expressed in edit commands form,
+______________
                based on D4.0 source.
 
 
     EDIT WAT5.SGEN 
     COMMENT -- Edit update to SCAN assembly -- 
     INSERT 71014 
     %AFTER '02014000' 
              SPRIN XCARD1,90          PRINT OFFENDING CARD 
              MVI   XCARD2,0           SO ERROR WON'T PRINT LAST BUFFER 
              ERROR (WARN,JB,2),DONE   "UNRECOGNIZED CONTROL CARD" 
     $ENDFILE 
     COMMENT -- Edit update to ERRTEXTS assembly to add new message 
     INSERT 44001 
     %AFTER '02790000' 
              EMESSAGE   JB,2,'UNRECOGNIZABLE CONTROL CARD.' 
     $ENDFILE 
     COMMENT -- Edit update to STARTA section to add new switch. 
     INSERT 76052 
     %AFTER '09351500' 
     XJOBSW   DC    X'00'              ON IF $JOB CARD READ 
     $ENDFILE 
     COMMENT -- Edit update to MAIN assembly -- 
     INSERT 61042 
     %DELETE '02690000' 
              BE    MAIN15             YES, START THE JOB 
              CLI   XJOBSW,0           READ A $JOB CARD YET? 
              BE    MAIN10C            NO, SO COMPLAIN 
              EX    R0,COPENTRY        AN $ENTRY CARD? 
              BNE   MAIN10             NO, IGNORE IT 
              MVI   XJOBSW,0           NO $JOB CARD YET 
              B     MAIN10 
     MAIN10C  CLI   XSRCPTR,0          BATCH? 
              BNE   MAIN10P            YES, PRINT THE CARD 
              CLI   XITZFILE,0         SCARDS A FILE? 
              BE    MAIN10             NO, SO IGNORE IT 
     MAIN10P  SPRIN XCARD1,90          ECHO CONTROL CARD 
              SERCOM 'YOU MUST ENTER A "&CONTROL&NEWJOB" CARD FIRST' 
              B     MAIN10             TRY AGAIN 
     $ENDFILE 
     INSERT 61044 
              MVI   XJOBSW,B'10000000' REMEMBER A $JOB CARD WAS READ 
     $ENDFILE 
     COMMENT -- Edit ERRTABLE macro to add new message type -- 
     INSERT 43000 
     %INPUT *S* 43    ;43              ERRTABLE 
     %OUTPUT WAT5.FUNMAC(1000) 
     %AFTER '03090000' 
              ERRDEFN JB2 
     %AFTER FILEMARK 
     %CLOSE *S* 
     %CLOSE WAT5.FUNMAC(1000) 
     $CONTINUE WITH *DUMMY* 
     $ENDFILE 
-Comments:
+________
 
 
     The macro ERRTABLE must be regenerated and placed in the 
     appropriate macro library (WAT5.FUNMAC); the copy sections 
     ERRTEXTS and STARTA must be regenerated; and the modules 
     ERROR, SCAN and MAIN must be regenerated and assembled to 
     effect this change. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4076
+                                                            4076
+                                                            4076
                                                       Date: FEB 15, 1978 
                                                     Person: Sherry
-Component:  *WATFIV(INOUT) -- UPDATE  (483/001)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fix the error message issued when more than 256 constants 
     appear in a DATA statement (WATFIV restriction). 
-Source changes expressed in edit commands form,
+______________
                based on D4.0 source.
 
 
     EDIT WAT5.SGEN 
     COMMENT -- Edit update to INOUT assembly -- 
     %AFTER '06020000'  ; BUGFIX 
               MVI   IOBJBIT,X'00'     INITIALIZE SWITCH 
     %AFTER '07830000' ;  BUGFIX 
               C     R4,=F'255'        MORE THAN 255 CONSTANTS? 
               BNH   ISETLEN           NO, OK 
               MVI   ZR3+1,255         SET MAX COUNT 
               ERROR (NOAC,DA,A),ITUFF  "MORE THAN 255 CONSTANTS" 
     ISETLEN   DS    0H 
     $ENDFILE 
     COMMENT -- Edit update to ERRTEXTS copy section -- 
     INSERT 44001 
     %AFTER '00980000' 
              EMESSAGE   DA,A,'MORE THAN 255 CONSTANTS IN DATA STATEMENT' 
     $ENDFILE 
     COMMENT -- Edit ERRTABLE macro to add new message type -- 
     INSERT 43003 
     %BEFORE '03140000' 
              ERRDEFN DAA 
     $ENDFILE 
-Comments:
+________
 
 
     Previously the message "MORE VARIABLES THAN CONSTANTS" was 
     printed because only one byte is used to save the number of 
     constants in the object code. This change requires that the 
     macro ERRTABLE, the copy section ERRTEXTS, the module ERROR, 
     and the module INOUT be regenerated. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4077
+                                                            4077
+                                                            4077
                                                       Date: Feb 20, 1978 
                                                     Person: Sherry
-Component:  LLXU  (354/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fix bug to not unload run-only program when it loads a null 
     program with noprompt and return on error bits set. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4077 
     /COPY "XLERROR  L" 
     /COPY BEFORE BLANKS "BAL   GR2,XLCLEAN" 
     /EDIT "       " = "XLERRCL" 
     /COPY "XRUNIT   L" 
     /COPY BEFORE BLANKS "BO    XLERROR" 
     /EDIT "XLERROR" = "XLERRCL" 
     /END 
-Comments:
+________
 
 
     Note: this bug was introduced by the bugfix of change #4069. 
     The "B XLERROR" should have been "B XLERROR+8". 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4078
+                                                            4078
+                                                            4078
                                                       Date: Mar 25, 1978 
                                                     Person: OGDEN
-Component:  OPERATOR JOB  (634/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Provides support for the 3286 log printer, which is just 
     treated like a 3284. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4078 
     /COPY "GETNUP " 
     /COPY COUNT=9 
              CLC   =C'3286',RDLNAM(R2) 
              BE    IS3284              WELL ALMOST ANYWAY 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4079
+                                                            4079
+                                                            4079
                                                       Date: Mar 25, 1978 
                                                     Person: OGDEN
-Component:  OPERATOR JOB  (634/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fixes several bugs in the log printer Unit Check routines. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4079 
     /COPY BEFORE "SVCSKIP " 
     /EDIT "31" = "13" 
     /COPY "TRYNUDVS " 
     /COPY COUNT=16 
     /EDIT "SWS" = "SWS2" 
     /COPY "SAMPTR " 
     /COPY COUNT=6 
     /EDIT "SWS" = "SWS2" 
     /COPY "UCPTR " 
     /COPY COUNT=11 
     /EDIT "+OC" = "" 
     /COPY "WAITRTN " 
     /COPY COUNT=12 
     /EDIT "SWS" = "SWS2" 
     /END 
-Comments:
+________
 
 
     The D4.1 version will contain a "cleaner" fix for 
     the 1403 support. 
     I'm sorry it took me so long to get these 
     written up on a change form. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4080
+                                                            4080
+                                                            4080
                                                       Date: Mar 25, 1978 
                                                     Person: OGDEN
-Component:  OPERATOR JOB  (634/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fix the register setup so the SVC TIMERCNCL will work. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4080 
     /COPY "WRITNOW " 
     /COPY COUNT=3 
     /EDIT "R3" = "R0" 
     /END 
-Comments:
+________
 
 
     My thanks to the folks from UBC for finding this. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4081
+                                                            4081
+                                                            4081
                                                       Date: Mar 25, 1978 
                                                     Person: OGDEN
-Component:  OPERATOR JOB  (634/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     A fix so both digits of the month (mm-dd-yy) will print 
     on the console log. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4081 
     /COPY "DLTIME " 
     /SKIP COUNT=1 
               DC    X'21000800',AL1(0,0,0,0,0) 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4082
+                                                            4082
+                                                            4082
                                                       Date: MARCH 31, 1978 
                                                     Person: Sherry
-Component:  *WATFIV(FORMCONV) -- UPDATE  (483/001)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fix E and D-type output format conversion for zero valued variables. 
-Source changes expressed in edit commands form,
+______________
                based on D4.0 source.
 
 
     EDIT WAT5.SGEN 
     COMMENT -- Edit update to FORMCONV assembly -- 
     INSERT 50110 
     %AFTER '13070000' 
              BAL   R8,SPZERO          CHECK IF VARIABLE IS ZERO 
     %AFTER '13100000'     ; ADD NEW SUBROUTINE 
              SPACE 
     SPZERO   L     R1,STR1            POINT TO VARIABLE 
              LE    0,0(,R1)           NOW IN FR0 
              LTER  0,0                IS IT ZERO? 
              BNZR  R8                 NO, JUST RETURN 
              B     ISZERO             YES 
     DPZERO   L     R1,STR1            POINTER TO VARIABLE 
              LD    0,0(,R1)           PICK UP REAL*8 VARIABLE 
              LTDR  0,0                IS IT ZERO? 
              BNZR  R8                 NO, RETURN 
     ISZERO   LR    R3,R4              BUFFER POINTER TO EXPONENT 
              SR    R3,R7              - POINTER TO DECIMAL POINT 
              SH    R3,=H'3'           = NUMBER OF 0'S TO BLANK 
              BM    ISZEROR            NEGATIVE -> RETURN 
              MVI   2(R7),C' '         BLANK OUT FRACTION 
              BZ    ISZEROR            ONLY ONE EXTRA 0 
              BCTR  R3,0               IBM LENGTH 
              EX    R3,BLKFRAC         BLANK OUT EXTRA ZEROS IN FRACTION 
     ISZEROR  LA    R4,4(,R4)          UPDATE BUFFER POINTER 
              B     SUPCLEAN           RETURN 
     BLKFRAC  MVC   3(0,R7),2(R7) 
     %AFTER  '13250000' 
              BAL   R8,DPZERO          CHECK FOR VAR = 0.0 
     $ENDFILE 
-Comments:
+________
 
 
     Previously FORMCONV would print zero valued variables with 
     formats like E13.5 as "0.00000E-01", now just "0.0" will 
     be printed for all E and D-type formats as FTN does. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4083
+                                                            4083
+                                                            4083
                                                       Date: April 12, 1978 
                                                     Person: Helffrich
-Component:  OPEN  (428/14)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     When the RENAMEIT subroutine was called to rename a file from 
     one catalog to another, and the LASTCHG and CREDATE stuff was 
     supplied, the LASTCHG and CREDATE were exchanged. 
-Source changes expressed in old update (*UPDATE) form,
+______________
                based on D4.0 sequence id.
 
 
     %BEFORE  'OPEN1587' 
     *           16+CRECAT,80+CREFD,12+SDMLIKE,12+SDWRITE,12+FDWRITE 
     %DELETE  'OPEN1587' 
     %BEFORE  'OPEN2093' 
              MVC   CFDPAR+56+4(22-4,RD),4(R2) RE-FORMAT PARAMETERS 
              MVC   CFDPAR+56(2,RD),2(R2)      SO THAT CREFD GETS THEM 
              MVC   CFDPAR+56+2(2,RD),0(R2)    RIGHT 
              LA    R2,CFDPAR+56(,RD)          POINT TO NEW ONES 
     %BEFORE  'OPEN2111' 
              LA    RD,CFDPAR+56+24(,RD) 
     %DELETE  'OPEN2111' 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4084
+                                                            4084
+                                                            4084
                                                       Date: April 12, 1978 
                                                     Person: Helffrich
-Component:  OPEN  (428/14)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     This decreases the number of references to the catalog to 
     update the LASTCHG date and the FSAVEIT bit in the catalog 
     when a file is changed. 
-Source changes expressed in old update (*UPDATE) form,
+______________
                based on D4.0 sequence id.
 
 
     %BEFORE  'OPEN0285' 
              TM    FDFODT(R5),FSAVEIT 
              BZ    *+8                -> FSAVEIT bit not on 
              OI    FCBFLG(R2),FDCHNG  will, remember this then 
     %BEFORE  'OPEN0286' 
              MVC   FCBOLCD(2,R2),FDLCHNG(R5) last change date at open 
     %BEFORE  'OPEN0287' 
              MVC   FCBFDLOC(6,R2),BCBPA(R8)  SAVE FDLOC FOR CLOSE 
     %DELETE  'OPEN0287' 
     %BEFORE  'OPEN0574' 
              MVC   R1NAB(4,R7),FCBLNAB(R8)  #AVAIL ENTRIES 
     %DELETE  'OPEN0574' 
     %BEFORE  'OPEN0614' 
              BZ    CLOSD3X            -> no, check if additional refs 
              TM    FCBFLG(R8),FDCHNG  FSAVEIT in FD set yet? 
              BZ    CLOSR1             -> no, do it right away 
     * 
              SVC   TIME               see if last change date needs 
              D     R0,=F'60000000'    updating from value at open 
              XR    R0,R0 
              D     R0,=A(24*60)       mumbo jumbo 
              LA    R0,1(,R1) 
              L     R1,R1LOC(,RD)      restore this 
              CH    R0,FCBOLCD(,R8)    see if has changed 
              BH    CLOSR1             -> yup, have to update 
     * 
     CLOSD3X  LH    R9,FCBREFC(,R8)    any new refrences to FCB besides 
              BXLE  R9,R9,CLOSR20      this open?  -> no 
              SPACE 2 
     *        Going to read and maybe write file descriptor, now 
              SPACE 
     CLOSR1   LR    R6,R8              KEEP FCB LOC AROUND 
              SR    R7,R7              THIS MARKS A KEEPIT & INUSE BUFFER 
     %DELETE  'OPEN0614' 'OPEN0619' 
     %BEFORE  'OPEN0624' 
              BO    *+6                DONT EVEN THINK ABOUT USING THIS ONE 
     %DELETE  'OPEN0624' 
     %BEFORE  'OPEN0666' 
     * 
              LH    R4,FCBREFC(,R6)    FIRST CHECK ADDITIONAL REFERENCES 
              LTR   R4,R4 
              BNZ   CLOSR5             -> FOUND SOME FLEAS 
     * 
              CH    R2,FDLCHNG(,R5)    IF LAST CHANGE DATE ISN'T LATER, WE 
              BH    CLOSR6             CAN SKIP WRITE ENTIRELY 
              TM    FCBFLG(R6),FDCHNG    UNLESS 
              BZ    CLOSR6                 FSAVEIT IN FD NOT SET 
     * 
              LA    R0,LDN             SKIP  WRITE  JUST FREE DRIVE 
     %DELETE  'OPEN0666' 'OPEN0675' 
     %BEFORE  'OPEN0689' 
              OI    FCBFLG(R6),FDCHNG      AND DON'T DO IT AGAIN 
     CLOSR7   MVC   FCBOLCD(2,R6),FDLCHNG(R5)  ANYWAY, UPDATE WHILE HERE 
              LA    R8,0(,R8) 
     %DELETE  'OPEN0689' 
     %AFTER    FILEMARK 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4085
+                                                            4085
+                                                            4085
                                                       Date: April 12, 1978 
                                                     Person: Helffrich
-Component:  RWSEQ  (428/17)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fix bug in D4.0 READS causing write pointer in sequential file 
     to not be updated properly on a backwards read. 
-Source changes expressed in old update (*UPDATE) form,
+______________
                based on D4.0 sequence id.
 
 
     %BEFORE  'RWSE0349' 
              CLC   0(4,R2),FCBSRPW(RE)  check write pointer < read 
              BH    RSSKIPCK           -> yes 
     %DELETE  'RWSE0349' 'RWSE0350' 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4086
+                                                            4086
+                                                            4086
                                                       Date: May 5, 1978 
                                                     Person: Engle
-Component:  RCALL/ADROF SUBRS  (357/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Updates the source to agree with the object (357/2) in D4.0 by 
     including the entry point IADROF and zeroing the high order 
     byte of the value returned by ADROF (IADROF). 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4086 
     /D LEN(72) 'RCAL0072' 
              ENTRY IADROF 
     IADROF   EQU   * 
              L     1,0(0,1)           PICK UP THE ADDRESS FROM THE P LIST 
              LA    0,0(0,1)           ZERO THE HIGH ORDER BYTE 
     /EN 
-Comments:
+________
 
 
     The same source appears to have been distributed starting 
     with D2.0; the object changed sometime between D2.0 and 
     D3.0. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4087
+                                                            4087
+                                                            4087
                                                       Date: May 16, 1978 
                                                     Person: Engle
-Component:  ACCOUNTING (ACCPRINT)  (104/5)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Remove the external symbol LINCOUNT from this module so that 
     it can be placed in an independent module, and include the 
     provision that a new page is generated if LINCOUNT contains 
     zero. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4087 
     /S LEN(72) 'APRT0002' 
     APRT     TITLE 'MTS ACCOUNTING RECORD PRINT PROGRAM--C. F. ENGLE--15 MA1' 
                    Y 78' 
     /D LEN(72) 'APRT0193' 
     /D LEN(72) 'APRT0245' 
     CKINIT   L     R4,=V(LINCOUNT)    GET LINE COUNT 
              L     R4,0(,R4) 
              LTR   R4,R4 
              BZ    INIT               LINE COUNT IS ZERO 
              CLI   INITIAL,0 
     /D LEN(72) 'APRT0247' 
     INIT     SR    R4,R4              INITIALIZE GR4 FOR LINE COUNT 
     /D LEN(72) 'APRT0334' 
              L     R2,=V(LINCOUNT) 
              ST    R4,0(,R2)          SAVE LINE COUNT 
     /D LEN(72) 'APRT0340' 
     /S LEN(72) 'APRT0341' 
     CONTINUE CH    R4,=H'50' 
     /D LEN(72) 'APRT0376' 
     /EN 
-Comments:
+________
 
 
     Changes 4087, 4088, and 4090 through 4094 should be 
     implemented simultaneously. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4088
+                                                            4088
+                                                            4088
                                                       Date: May 16, 1978 
                                                     Person: Engle
-Component:  ACCOUNTING (ACCLSTPR)  (104/72)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Remove the external symbol LINCOUNT from this module so that 
     it can be placed in an independent module, and include the 
     provision that a new page is generated if LINCOUNT contains 
     zero. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4088 
     /D LEN(72) 'ALPR0002' 
                    15 MAY 78' 
     /D LEN(72) 'ALPR0195' 
     /D LEN(72) 'ALPR0243' 
     CKINIT   L     R4,=V(LINCOUNT)    GET LINE COUNT 
              L     R4,0(,R4) 
              LTR   R4,R4 
              BZ    INIT               LINE COUNT IS ZERO 
              CLI   INITIAL,0 
     /D LEN(72) 'ALPR0245' 
     INIT     MVI   INITIAL,X'FF' 
     /D LEN(72) 'ALPR0297' 
              L     R2,=V(LINCOUNT) 
              ST    R4,0(,R2)          SAVE LINE COUNT 
     /D LEN(72) 'ALPR0302' 
     /S LEN(72) 'ALPR0303' 
     CONTINUE CH    R4,=H'57' 
     /D LEN(72) 'ALPR0320' 
     /EN 
-Comments:
+________
 
 
     Changes 4087, 4088, and 4090 through 4094 should be 
     implemented simultaneously. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4089
+                                                            4089
+                                                            4089
                                                       Date: May 16, 1978 
                                                     Person: Engle
-Component:  ACCOUNTING (ACPRJPRT)  (104/32)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Reverse the printing of the no high priority flags so that the 
     indication is printed when the flag is off rather than on. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4089 
     /D LEN(72) 'APPR0001' 
     /S LEN(72) 'APPR0002' 
     APPR     TITLE 'MTS PROJECT RECORD PRINT PROGRAM--C. F. ENGLE--15 MAY 71 
                    8' 
     /D LEN(72) 'APPR0262' 
                    MAXFLAGS+2,40,NONRMT,MAXFLAGS+2,-20,HITRM               3 
     /D LEN(72) 'APPR0264' 
                    MAXFLAGS+2,-4,HIBAT 
     /D LEN(72) 'APPR0288' 
                    MAXFLAGS+2,40,NONRMT,MAXFLAGS+2,-20,HITRM,              3 
     /D LEN(72) 'APPR0290' 
                    MAXFLAGS+2,-4,HIBAT 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4090
+                                                            4090
+                                                            4090
                                                       Date: May 16, 1978 
                                                     Person: Engle
-Component:  ACCOUNTING (ACPRJPRT)  (104/32)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Remove the external symbol LINCOUNT from this module so that 
     it can be placed in an independent module, and include the 
     provision that a new page is generated if LINCOUNT contains 
     zero. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4090 
     /D LEN(72) 'APPR0195' 
     /COP LEN(72) 'APPR0224' 
              L     R4,=V(LINCOUNT)    GET LINE COUNT 
              L     R4,0(,R4) 
              LTR   R4,R4 
              BZ    INIT               LINE COUNT IS ZERO 
     /D LEN(72) 'APPR0227' 
     INIT     SR    R4,R4              INITIALIZE GR4 FOR LINE COUNT 
     /D LEN(72) 'APPR0298' 
              L     R2,=V(LINCOUNT) 
              ST    R4,0(,R2)          SAVE LINE COUNT 
     /D LEN(72) 'APPR0304' 
     /S LEN(72) 'APPR0305' 
     CONTINUE CH    R4,=H'55' 
     /D LEN(72) 'APPR0332' 
     /EN 
-Comments:
+________
 
 
     Changes 4087, 4088, and 4090 through 4094 should be 
     implemented simultaneously. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4091
+                                                            4091
+                                                            4091
                                                       Date: May 16, 1978 
                                                     Person: Engle
-Component:  ACCOUNTING (LINCOUNT)  (104)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Place the external symbol LINCOUNT in an independent module. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on no previous  source.
 
 
     /B C4091 
     LCNT     TITLE 'STORAGE FOR THE EXTERNAL SYMBOL LINCOUNT--C. F. ENGLE--1 
                    15 MAY 78' 
     LINCOUNT START 
              DS    F 
              END 
     /EN 
-Comments:
+________
 
 
     The object module should be placed in ACC:ACCLIB (104/31). 
     Since the symbol LINCOUNT is no longer a duplicate symbol 
     in the library nor loaded by reference to another symbol in 
     the same module, the previous practice of removing it from 
     the library directory when ACCLIB is generated must be 
     abandoned. 
      
     Changes 4087, 4088, and 4090 through 4094 should be 
     implemented simultaneously. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4092
+                                                            4092
+                                                            4092
                                                       Date: May 16, 1978 
                                                     Person: Engle
-Component:  ACCOUNTING (ACCMAINT)  (104/15)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Change instructions referencing the data in LINCOUNT from 
     halfword operations to fullword operations. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4092 
     /COP LEN(72) 'AMAT0745' 
     /E 'LH'='L ' 
     /COP LEN(72) 'AMAT0747' 
     /E 'STH'='ST ' 
     /COP LEN(72) 'AMAT0852' 
     /E 'LH'='L ' 
     /COP LEN(72) 'AMAT0854' 
     /E 'STH'='ST ' 
     /COP LEN(72) 'AMAT0946' 
     /E 'LH'='L ' 
     /COP LEN(72) 'AMAT0948' 
     /E 'STH'='ST ' 
     /EN 
-Comments:
+________
 
 
     Changes 4087, 4088, and 4090 through 4094 should be 
     implemented simultaneously. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4093
+                                                            4093
+                                                            4093
                                                       Date: May 16, 1978 
                                                     Person: Engle
-Component:  ACCOUNTING (ACCPRJMT)  (104/29)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Change instructions referencing the data in LINCOUNT from 
     halfword operations to fullword operations. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4093 
     /COP LEN(72) 'APMT0417' 
     /E 'LH'='L ' 
     /COP LEN(72) 'APMT0419' 
     /E 'STH'='ST ' 
     /COP LEN(72) 'APMT0492' 
     /E 'LH'='L ' 
     /COP LEN(72) 'APMT0494' 
     /E 'STH'='ST ' 
     /EN 
-Comments:
+________
 
 
     Changes 4087, 4088, and 4090 through 4094 should be 
     implemented simultaneously. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4094
+                                                            4094
+                                                            4094
                                                       Date: May 16, 1978 
                                                     Person: Engle
-Component:  ACCOUNTING (ACONSIST)  (104/40)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Change instructions referencing the data in LINCOUNT from 
     halfword operations to fullword operations. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4094 
     /COP LEN(72) 'ACNS0013' 
     /E 'LH'='L ' 
     /COP LEN(72) 'ACNS0015' 
     /E 'STH'='ST ' 
     /EN 
-Comments:
+________
 
 
     Changes 4087, 4088, and 4090 through 4094 should be 
     implemented simultaneously. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4095
+                                                            4095
+                                                            4095
                                                       Date: May 25, 1978 
                                                     Person: Engle
-Component:  SORT (*SORT)  (303/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     An addressing exception occurs at ISPAC14(10), IMOD2, or 
     possibly other locations with certain rare, and difficult to 
     describe, combinations of maximum record length, maximum block 
     length, record format, and estimated number of records. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 and D4.1  source.
 
 
     /B C4095 
     /COP 'ISPAC8' 
     /D LEN(9) 'LA    R0,0(R8,R3)' TAB(34) '+BUFFER REQ' 
              LR    R0,R3              R0 <- L(RSA+TREE+4) 
              AR    R0,R8              L(BUFFER REQ+RSA+TREE+4) 
     /EN 
-Comments:
+________
 
 
     Two manifestations of the error which this corrects can be 
     produced by: 
      
          $RUN *SORT PAR=I=,,360 R=91000 
      
     and 
      
          $RUN *SORT PAR=I=,,360 R=91500 
      
     To determine the location of the interrupt, include the DPI 
     parameter, e.g., 
      
          $RUN *SORT PAR=I=,,360 R=91000,DP 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4096
+                                                            4096
+                                                            4096
                                                       Date: May 26, 1978 
                                                     Person: Tiffany
-Component:  *MACUTIL  (738/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     The PUNCH command is ignored by *MACUTIL if the modifiers 
     are specified.  The following update fixes this bug. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /BEGIN C4096 
     /COPY 'RENULHTE' 
     /COPY BEFORE BLANKS "KWSET" 
     /EDIT "LCLRHT" = "PUNRHT" 
     /END 
-Comments:
+________
 
 
     The KWSET macro before "PUNLHT" should specify 
     RHTABLE=PUNRHT instead of RHTABLE=LCLRHT. 
     Otherwise, KWSCAN will give a bad return code, 
     forcing *MACUTIL to ignore PUNCH command completely. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4097
+                                                            4097
+                                                            4097
                                                       Date: 30 May, 1978 
                                                     Person: Lift
-Component:  PLOT SYSTEM  (615/7)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     PSMLEN was treating sub- and super-script characters 
     x'09' and x'38' as regular characters.  This fixes 
     that bug. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /BEGIN 
     /COPY "PSMLEN" 
     /COPY BEFORE "PLCHAR" 
     /EDIT "2F" = "38" 
     /COPY COUNT=1 
              BZ    PLCHARF 
              CLI   0(3),X'2F' 
     /EDIT "L " = "NZ" 
     /COPY COUNT=1 
     /EDIT "       " = "PLCHARF" 
     /COPY "PLCHAR4" 
              BZ    PLCHARD            JUST SOME CHARACTER 
     /SKIP COUNT=1 
              CLI   0(3),X'09' 
              BNZ   PLCHAR1 
     /COPY COUNT=1 
     /EDIT "       " = "PLCHARD" 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4098
+                                                            4098
+                                                            4098
                                                       Date: June 1, 1978 
                                                     Person: Engle
-Component:  ACCOUNTING (DIRECTRY)  (104/44)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If DIRCLOSE is called before the directory is opened, an error 
     in unlocking the file is mistakenly detected. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4098 
     /D LEN(72) 'DIR00003' 
     DIR      TITLE 'DIRECTORY ASSISTANCE PROGRAMS--C. F. ENGLE--1 JUN 78' 
     /COP LEN(72) 'DIR00488' 
              L     R15,FDUBPTR 
              LTR   R15,R15 
              BZ    CLSEXIT            DIRECTORY IS NOT OPEN 
     /EN 
-Comments:
+________
 
 
     This error occurred when the first command given to 
     ACCMAINT was DPN and there was no directory record, and 
     hence no ID's, for the project. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4099
+                                                            4099
+                                                            4099
                                                       Date: June 28, 1978 
                                                     Person: Tiffany
-Component:  *TEXT360 (PPR1)  (138/6)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Page numbers were left out in the table of contents if the 
     margin is nonzero, as specified by the last +MARGIN+ in 
     the TEXT360 input. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN C4099 
     /COPY BLANKS "LASTPAG:" 
     /COPY BEFORE BLANKS "BETA" 
     /EDIT "+" = "-" 
     /END 
-Comments:
+________
 
 
     This sign change fixes the IBM bug that has been 
     there for years!! 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4100
+                                                            4100
+                                                            4100
                                                       Date: AUG 14, 1978 
                                                     Person: OGDEN
-Component:  CONSIO  (634/003)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     The version of CONSIO sent out with D4.1 was the same as 
     sent out with D4.0, but it shouldn't have been.  The 
     following changes will bring the D4.0 or D4.1 source 
     up to the present. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN D4.1-CONSIO 
     CONSIO   TITLE 'SUBROUTINE TO DO STAND-ALONE I/O TO 1052 OR 3066' 
     * 
     *   REQUIRES 2=COPY:SETPARM AND 3=COPY:MISC.MACROS 
     * 
     *   LAST CHANGED DEC. '77 BY JCO 
     *     TO USE CONSDSCT MACRO FROM COPY:MISC.MACROS 
     *   AND AGAIN IN APRIL '78 BY MTA 
     *     SO IT WILL WORK WHEN THERE IS NO 1052, 3215 OR 3066 CONSOLE 
     *     AND TO ALLOW THE RETURN OF NULL LINES 
              SPACE 2 
     /SKIP COUNT=1 
     /COPY COUNT=3 
              AIF   (&S370).NO360 
              INSTSET S370=NO,M67=YES 
     .NO360   ANOP 
              SPACE 3 
     /COPY COUNT=100 
              NI    CONSFLG,ALL-CONSLINT-CONSNOSQ  RESET LOST INT FLAG 
     /SKIP COUNT=1 
     /COPY COUNT=15 
              TM    CONSFLG,CONSBKUP       HAVE WE BEEN USING 1052 
     /SKIP COUNT=1 
     /COPY COUNT=2 
              CLC   =H'-1',0(R2)       IS THERE A BACK UP CONSOLE 
              BE    *+12               NO - DON'T TRY TO USE ONE THEN 
     /COPY COUNT=2 
              OI    CONSFLG,CONSCALL         SIGNAL FOR OPERATOR JOB 
     /SKIP COUNT=1 
     /COPY COUNT=31 
              CH    R1,=H'-1'          IS THERE A BACK UP CONSOLE? 
              BE    NOBAKUP            NOPE 
     /COPY COUNT=3 
              LH    R1,CONSPATH            DEVICE ADDRESS 
     /SKIP COUNT=1 
     /COPY COUNT=28 
     CONSEXIT TM    CONSFLG,CONSLINT        ANY LOST INTERRUPTS? 
     /SKIP COUNT=1 
     /COPY COUNT=24 
              LH    R1,CONSPATH            DEVICE ADDRESS 
     /SKIP COUNT=1 
     /COPY COUNT=12 
              L     R1,CSW             CHECK FOR A NULL LINE 
              LA    R1,0(0,R1)         ADDR OF LAST CCW + 8 
              LA    R2,CONSRCCW+8      POINT TO SECOND CCW 
              CR    R1,R2              DID WE GET TO IT 
              BH    *+8                YES 
              LH    R0,6(0,R3)         NO - SET RESID CNT TO INIT CNT 
     /COPY COUNT=33 
     USE1052  OI    CONSFLG,CONSBKUP       TEMPORARILY USING OLD STUFF 
     /SKIP COUNT=1 
     /COPY COUNT=56 
     ATTNWAIT OI    CONSFLG,CONSNOSQ        DON'T Q INTS FOR THIS DEV 
     /SKIP COUNT=1 
     /COPY COUNT=11 
              CH    R1,CONSPATH            MIGHT WE HAVE TO HDV 
     /SKIP COUNT=1 
     /COPY COUNT=32 
     CONSGO   OI    CONSFLG,CONSNOSQ        DON'T QUEUE STATUS FOR THIS DEV 
     /SKIP COUNT=1 
     /COPY COUNT=33 
     RING     TM    CONSFLG,CONSBKUP       ARE WE USING THE 3270? 
              BNZ   RING2              NO, FORCE OUR WAY THROUGH 
              CH    R1,CONSPATH            IS IT THE 1052 CAUSING TROUBLE? 
     /SKIP COUNT=3 
     /COPY COUNT=25 
     QUECHK   TM    CONSFLG,CONSNOSQ        Q STATUS FOR ALL DEV? 
     /SKIP COUNT=1 
     /COPY COUNT=10 
              OI    CONSFLG,CONSLINT        REMEMBER 
     /SKIP COUNT=1 
     /COPY COUNT=32 
     EXTINT   TM    CONSFLG,CONSBKUP       ALREADY USING BACKUP? 
     /SKIP COUNT=1 
     /COPY COUNT=8 
     CONSCOMM DS    0F 
     .NOOJ2   ANOP 
              CONSDSCT  TYPE=CSECT 
     *         SPACE 
     /SKIP COUNT=17 
     /COPY COUNT=60 
     /END 
-Comments:
+________
 
 
     The above update lines produce three changes: 
     1) Allow null lines to be returned. 
     2) Allow CONSIO to work even where where isn't a 
        a "backup" console. 
     3) Move the DSECT CONSDSCT into the macro library 
        COPY:MISC.MACROS, changing a few symbol names 
        along the way. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4101
+                                                            4101
+                                                            4101
                                                       Date: Aug 22, 1978 
                                                     Person: MTA
-Component:  ASMH Macro Update  (737/20)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Several mistakes in the update for the ASMH macro library resulted 
     from trying to simultaneously update both the macro library and its 
     update. The fixes are as follows 
-Source changes expressed in edit commands form,
+______________
                based on Dist 4.1  source.
 
 
     MOVE 103.3 103.6 112 
     MOVE 1 TO 1 
     INSERT 1 '/OPTIONS CHANGE_CODE=(73-80,REPLACE)' 
     CHANGE 4035 'SYSCCID'SYSLINE' 
     INSERT 2011.7 '/SKIP C=1' 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4102
+                                                            4102
+                                                            4102
                                                       Date: August 31, 1978 
                                                     Person: Engle
-Component:  *INDEX  (580/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If a location attribute (page number) contains a number which 
     is followed by a period, and the period is not followed by a 
     numeric digit, an infinite loop results.  For example, any of 
     the following will produce a loop: 
          24. Term 
          24.X Term 
          24..8 Term 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /B C4102 
     /COP LEN(72) 'INDX0322' 
                       ELSE DO; 
                          FNLPG=FNLPG||'.'; 
                          ATTRT=ATTRT||'.'; 
                          PAGEE=SUBSTR(PAGEE, 2); 
                       END; 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4103
+                                                            4103
+                                                            4103
                                                       Date: September 5, 1978 
                                                     Person: Alexander
-Component:  CONFIG  (046/2)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     When calculating the length of the preloaded part of shared VM, CONFIG 
     fails to take account of the 8 bytes occupied by the ENDSEG2 CSECT. This 
     means that if ENDSEG2 falls on a page boundary, it is effectively 
     discarded by CONFIG. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /BEGIN C4103 
     /COPY '.SX10 ' 
     /COPY NEXT 'L ' 
              LA    GR4,8(0,GR4)       PLUS 8 FOR ENDSEG2 ITSELF 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4104
+                                                            4104
+                                                            4104
                                                       Date: September 27, 1978 
                                                     Person: Engle
-Component:  ACCOUNTING (ACCFLATN)  (104/103)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     This subroutine was inadvertently left out of D4.1.  This 
     updates it to the D4.1 level. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B 
     /C Change C4104 - Change codes cannot be added to GOM programs 
     /COP C=2 
     /S C=3 
                P'N ACTSW, ATTNSV(17), ATTNSW, EXPTM, STAFSW 
                B'N ACTSW, ATTNSW, STAFSW 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4105
+                                                            4105
+                                                            4105
                                                       Date: September 27, 1978 
                                                     Person: Engle
-Component:  ACCOUNTING (ACCFLATN)  (104/103)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If an attention interrupt is entered twice, the second one 
     will produce a program interrupt at a location which is twice 
     the address of ATTN. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B 
     /C Change C4105 - Change codes cannot be added to GOM programs 
     /D TAB(16) 'ATTNTRP' 
                ATTNTRP.(R0=ATTN, R1=.LOC. ATTNSV) 
     /EN 
-Comments:
+________
 
 
     The current version of GOM produces two RLD items when a 
     function contains a function name constant referring to the 
     function itself.  The solution to this is to refer to the 
     function with a function name variable having the name of 
     the function instead of with a function name constant. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4106
+                                                            4106
+                                                            4106
                                                       Date: September 27, 1978 
                                                     Person: Engle
-Component:  ACCOUNTING (FILUPDAT)  (104/58)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Eliminate updating of the accounting record fields if the last 
     time the cumulative sums were updated is greater than or equal 
     to the time to which the file charges are being updated. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /B C4106 
     /D TAB(72) 'FLUP0002' 
                    NGLE--11 JUL 78' 
     /COP TAB(72) 'FLUP0184' 
              CL    5,ACCTAF 
              BNH   NEXT 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4107
+                                                            4107
+                                                            4107
                                                       Date: September 27, 1978 
                                                     Person: Sherry
-Component:  *SYMBOLS  (0096/001)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     This fix is required because *LIBRARY was changed from a 
     sequential file to a line file. Consequently, *SYMBOLS 
     must now process DIR records in line files. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /BEGIN C4107 
     /COPY "SCANDIR " 
              MVC   DIRTYPEF,LBA+9     SAVE FILE TYPE FLAG 
     /COPY BLANKS "CALL  FREESPAC" 
     /COPY COUNT=1 
              TM    DIRTYPEF,X'01'     IS THE LIBRARY A LINE FILE? 
              BO    LINELIB            YES, DON'T POINT (IT'S IMPOLITE) 
     /COPY BLANKS "B     LBREAD" 
     LINELIB  L     R1,PDIRPTR         LINE NUMBER OF ENDJUNK 
              BCTR  R1,0               POINT BEFORE 
              ST    R1,LBN             THIS IS THE LINE TO READ 
              MVC   LBM,=X'10060002'   @EC,@IC,@SP,@I 
              CALL  READ,LBREADP       THIS DOES THE "POINT" 
              XC    LBM,LBM            RESET MODIFIERS 
              B     LBREAD             CONTINUE 
     /COPY "LBL " 
     DIRTYPEF DS    XL1 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4108
+                                                            4108
+                                                            4108
                                                       Date: October 9, 1978 
                                                     Person: Engle
-Component:  SORT (SORT PGM, SORT PGM PH 1, SORT PGM PH 2)  (303/1,24,28)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If the sequence (SE) collating type is used, if more than one 
     output data set is specified in the control statement and SORT 
     changes to a new output data set, and if no intermediate files 
     are needed by SORT, then SORT terminates with a program 
     interrupt. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1 and RDIST15  source.
 
 
     /B C4108 
     /D TAB(72) 'SORT1441' 
              CLI   CURINP+1,1         REAL EOF? 
     /D TAB(72) 'SORT1460' 
              MVI   CURINP+1,1         MARK REAL SEQUENCE EOF 
     /D TAB(72) 'SORT1468' 
              CLI   CURINP+1,1         REAL EOF? 
     /EN 
-Comments:
+________
 
 
     This condition may be produced as follows: 
      
          $RUN *SORT PAR=S=CH,A,1,7,SE I=*SOURCE* O=-1(,2),,,,-2 R=10 
           LINE A 
           LINE B 
           LINE C 
           LINE D 
           LINE E 
          $ENDFILE 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4109
+                                                            4109
+                                                            4109
                                                       Date: October 9, 1978 
                                                     Person: Engle
-Component:  SORT (SORT PGM, SORT PGM PH 1, SORT PGM PH 2)  (303/1,24,28)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If the delete (DEL) parameter and more than one output data 
     set are specified in the control statement, and if SORT 
     changes to a new output data set, then the first record after 
     the change will be treated as not equal to the following 
     record regardless of its actual relationship. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1 and RDIST15  source.
 
 
     /B C4109 
     /COP TAB(72) 'SORT1596' 
              L     R1,AREC            A(NEXT OUTPUT REC) FOR DELETE OPTION 
     /EN 
-Comments:
+________
 
 
     This condition may be produced as follows: 
      
          $R *SORT PAR=S=CH,A,2,4,SE I=*SOURCE* O=-1(,2),,,,-2 DEL=LAST 
           LINE A 
           LINE B 
           LINE C 
           LINE D 
           LINE E 
          $ENDFILE 
      
     " LINE C" will be erroneously deleted. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4110
+                                                            4110
+                                                            4110
                                                       Date: October 12, 1978 
                                                     Person: MTA
-Component:  *REDUCE2  (556/3)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     One line in the RDIST15 version of REDUCE2 is longer than 72 
     characters. Unfortunately it is a comment line and the semi-colon 
     is lost causing the next line to be ignored.  This has disastrous 
     results (e.g., i**2 is 0). 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on RDIST15  source.
 
 
     /BEGIN C4110 
     /. FIX A LINE THAT GOT TOO LONG SOMEHOW IN SUBS2F* 
     /COPY 'SYMBOLIC PROCEDURE SUBS2F!* U;' 
     /COPY C=2 
     /EDIT HOLD 'SUBSTITUTION' = 'SUBST' 
     /EDIT 'OCCUR' = 'OCCURS;' 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4111
+                                                            4111
+                                                            4111
                                                       Date: October 27, 1978 
                                                     Person: Tiffany
-Component:  *UNLINKER  (562/2)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     This fixes a program interrupt in routine BLKRTN of *UNLINKER 
     when the user is trying to input an IEHMOVE data set with 
     parameter LIST,DUMP. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0  source.
 
 
     /BEGIN C4111 
     /. Get rid of a bad branch in the BXLE instruction. 
     /COPY 'XDUMP1 ' 
     /COPY BEFORE NEXT 'BXLE' 
     /EDIT 'DUMP2 ' = 'XDUMP2' 
     /END 
-Comments:
+________
 
 
      This affects also the program *IEHMOVE (component #291). 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4112
+                                                            4112
+                                                            4112
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  MTS  (42/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. FIXLNR - Fix things so MTS line numbers bigger than 999999.999 
     /.          or smaller than -99999.999 print as eight hex digits 
     /.          with primes on either side, like the editor does. 
     /.          I don't like this fix much, but it is better than 
     /.          just printing as much of the number as will fit and 
     /.          we don't really want to change the format of the 
     /.          output produced by the $LIST command. 
     /BEGIN FIXLNR 
     /COPY 'WHAF ' 
     /COPY C=2 
     /EDIT 'PUTDEC' = 'PUTLNR' 
     /COPY 'AFREDINC ' 
     /COPY NEXT 'B' NEXT 'CONFIRM' 
              B     PUTLNR 
     /COPY 'POUT ' 
     /COPY NEXT 'EJECT' 
     *              PUTLNR  --  SUBROUTINE TO PUT OUT DECIMAL LINE 
     *                          NUMBER IN LINE IMAGE READY TO PRINT. 
     *                          IF THE NUMBER IS TOO BIG TO FIT IN 
     *                          10 COLUMNS THEN IT IS PRINTED IN HEX. 
     * 
     *                          ENTRY - SDC CONTAINS THE FW VALUE 
     *                                  SCC CONTAINS LOCN OF WHERE 
     *                                  THE 12 CHAR. RESULT IS TO GO 
     * 
     *                          RESULT HAS THE FORM BDDDDDD.DDDB IF 
     *                          THE VALUE IS BIGGER THAN 999999.999 OR 
     *                          LESS THAN -99999.999, OTHERWISE 
     *                          IT HAS THE FORM B'HHHHHHHH'B 
     * 
     *             CLOBBERS GR1 
              SPACE 3 
     PUTLNR   C     SCD,=F'999999999'   TOO BIG? 
              BH    PUTBIG 
              C     SCD,=F'-99999999'   TOO SMALL? 
              BNL   PUTDEC 
     *  TOO BIG OR TOO SMALL SO PUT IT OUT IN HEX 
     PUTBIG   LA    SCC,2(,SCC)         WHERE TO PUT HEX. NBR. 
              LR    GR1,GR14            SAVE THIS 
              BAL   GR14,PUTHEX 
              S     SCC,=F'2'           BACK THE WAY IT WAS 
              MVC   0(2,SCC),=C' ''' 
              MVC   10(2,SCC),=C''' ' 
              LR    GR14,GR1            RESORE THIS 
              BR    GR14                RETURN 
              EJECT 
     /END FIXLNR 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4113
+                                                            4113
+                                                            4113
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  MTS  (42/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. FIXDEC - Fit PUTDEC so that attempts to convert number bigger 
     /.          than 999999.999 or smaller than -99999.999 cause a 
     /.          string of asterisks to be output instead 
     /BEGIN FIXDEC 
     /COPY BEFORE 'PUTDEC ' 
     PUTDEC   C     SCD,=F'999999999'   TOO BIG? 
              BH    PUTSTARS 
              C     SCD,=F'-99999999'   TOO SMALL? 
              BL    PUTSTARS 
     /EDIT 'PUTDEC' = '      ' 
     /COPY BEFORE '* ' 
              SPACE 
     PUTSTARS MVC   0(12,SCC),=C' ********** '  OH WELL 
              BR    GR14 
     /END FIXDEC 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4114
+                                                            4114
+                                                            4114
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS  (42/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. TRIMNOW  -  In theory it is on longer necessary to write 
     /.             @-TRIM @PEEL from OUT.  This change tests that 
     /.             theory.  It was necessary to WRITE @TRIM @PEEL 
     /.             before to keep FAKELIST from being reused, but 
     /.             now that DSRI doesn't use FAKELIST anymore .... 
     /BEGIN TRIMNOW 
     /COPY 'OUT ' 
     /COPY C=1 
     /SKIP C=1 
              SR    SCC,SCC             START WITH MODS ALL DEFAULT 
     /COPY 'OUTMATN ' 
     /COPY C=1 
     /SKIP C=1 
              SR    SCC,SCC             MODS ARE ZERO TO START 
     /COPY 'OUTM ' 
     /COPY C=1 
     /EDIT '48' = '00' 
     /COPY 'OUTBNATN ' 
     /COPY C=1 
     /EDIT '48' = '00' 
     /COPY 'OUTB ' 
     /COPY C=1 
     /SKIP C=1 
              SR    SCC,SCC             ZERO MODS 
     /COPY 'OUTMC ' 
     /COPY C=1 
     /EDIT '68' = '20' 
     /END TRIMNOW 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4115
+                                                            4115
+                                                            4115
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  MTS  (42/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     This eliminates the message, "THERE IS NO ACTIVE FILE TO PUT 
     THAT IN" if the hapless user types a line number on the front 
     of his input line. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. KILLAFD  - Push the use of *AFD* in to the back ground a 
     /.            little more and someday it may die a natural death. 
     /BEGIN KILLAFD 
     /COPY BEFORE 'NWHAF2 ' 
     /SKIP C=1 
     /COPY C=1 
     /SKIP C=2 
             B      INLOOP 
     /SKIP C=2 
     /COPY 'INC89 ' 
     /COPY C=5 
              BZ    INC8                IF NOT THEN DON'T PEEL 
     /SKIP BEFORE 'INC88 ' 
     /EDIT 'INC88' = '     ' 
     /END KILLAFD 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4116
+                                                            4116
+                                                            4116
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS  (42/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. LFRRAX - KILL OFF THE SET LFR OPTION 
     /BEGIN LFRAX 
     /COPY 'INLP45 ' 
     /COPY C=3 
     /SKIP C=8 
     /END LFRAX 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4117
+                                                            4117
+                                                            4117
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS  (42/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================ 
     /. FIXHADDD - GET ZHADDDA TO USE THE STACK 
     /BEGIN FIXHADDD 
     /COPY 'MTS ' 
     /COPY BEFORE NEXT 'ENTRY' NEXT 'ATTNNGCK,ZHADDDA,CHKSPEL' 
     /EDIT ',ZHADDDA' = '' 
     /COPY 'OUTMA ' 
     /SKIP C=1 
                    RSECT(NULLRCT),LINKAGE-TYPE(MTS) 
     /COPY 'HIABYMHA ' 
     /COPY C=1 
     ZHADDDA  ROUTINE ENTRY,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(2,0)) 
     CFDUBA   ROUTINE ENTRY,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,1)),       @ 
                    RSECT(NULLRCT)                   ***ADAPTOR*** 
     /COPY 'ZTRCHL ' 
     /COPY C=3 
     /SKIP C=3 
              RICALL ZHADDDA(A(1),(SCD)) 
     /COPY 'HIABYMHA ' 
     /COPY C=2 
              SPACE 5 
     CFDUBA   RAENTER  ,               CFDUB ADAPTOR 
              BAL  GR14,CFDUB 
              REXIT VALUE()            FDUB IN GR0 ALREADY 
     /COPY 'OPERAN3 ' 
     /COPY '* ' 
     /COPY C=3 
     /SKIP C=1 
     /COPY C=2 
     *          GR1 = FDUB TO BE HELD 
     /SKIP C=5 
              SPACE 2 
     ZHARCT   RSECT 
     ZHAMSG   DS    CL19                FOR "*...* NNNNNN RELEASED" MSG 
              REND 
              SPACE 3 
     ZHADDDA  RENTER ,                  ZILCH TO HOLD *...* 
     /COPY C=1 
              LR    SCD,GR1 
     /COPY NEXT 'LPR' NEXT 'GR0,SCD' 
     /SKIP  C=3 
              RCALL CFDUBA(,A(5),(SCD))  COPY FDUB ONTO CHAIN 5 
     /COPY C=6 
     /EDIT 'SCSSVA' = 'ZHAMSG' 
     /EDIT 'SCSSVA' = 'ZHAMSG' 
     /EDIT 'SCSSVA' = 'ZHAMSG' 
     /SKIP C=6 
              RCALL OUTMA(A(19),A(ZHAMSG)) 
              DROP  SCC,SCD 
     ZHADRET  REXIT 
     /END FIXHADDD 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4118
+                                                            4118
+                                                            4118
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS  (42/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     This implements the suggestion by UQV to make SIGMCD macro 
     expand its buffer size dependent on RATELEN. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. SIGMCD - If that macro is going to reference RATELEN then 
     /.          this better become part of "THEDSECT" 
     /BEGIN SIGMCD 
     /COPY 'FTV ' 
     /COPY BEFORE NEXT 'COPY' NEXT 'COPY:RATEVEC' 
     /SKIP C=2 
     /END SIGMCD 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4119
+                                                            4119
+                                                            4119
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS  (42/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     This is a "temporary" UM change to set a mousetrap for some 
     dumps which have shown this up recently. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. FREEDSCT - DON'T LET THE MTS DSECT GET AWAY 
     /BEGIN FREEDSCT 
     /COPY 'HIABYMH ' 
              LA    GR2,0(GR1)          DON'T GIVE AWAY THE MTS DSECT! 
              CR    GR2,GR4 
              BL    HIABWIOK 
              LA    GR0,LASTDSCT-DSCT(,GR4) 
              CR    GR2,GR0 
              BNL   HIABWIOK 
              BAL   GR2,GMABPDIE        OOPS 
     HIABWIOK DS    0H                  HERE IS A BUFFER WHICH IS OK TO FREE 
     /END FREEDSCT 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4120
+                                                            4120
+                                                            4120
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  MTS  (42/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. ARLCHK - Accounting record length check to prevent unexpectedly 
     /.          long accounting records from clobbering the DSECT, or 
     /.          prevent long records from being written out. 
     /BEGIN ARLCHK 
     /COPY 'GETACR4 ' 
     /COPY C=6 
              CH    GR1,=Y(LACCR-11)   TOO LONG? 
              BH    GARERR             YES - ERROR 
     /COPY BEFORE 'GETACR7 ' 
     GETACR7  CH    GR1,=Y(LACCR)      TOO LONG? 
              BH    GARERR             YES - ERROR 
     /EDIT 'GETACR7' = '       ' 
     /COPY 'RWFXIT2 ' 
     /COPY C=5 
              SPACE 
     GARERR   LA    GR0,LGAREMSG       WARN OPERATOR 
              LA    GR1,GAREMSG 
              SVC   WRITE 
              B     OOPS               GO SNARK 
              SPACE 
     GAREMSG  DC    C'ACCOUNTING RECORD TOO LONG IN GETACCR' 
     LGAREMSG EQU   *-GAREMSG 
     /COPY 'PUTACRL ' 
     /COPY C=2 
              BPI   OPND,PARERR        MISSING OR CLOBERED TERMINATOR 
     /COPY C=4 
              CH    SCB,=Y(LACCR)      TOO BIG? 
              BH    PARERR             OH WELL 
     /COPY C=2 
              SPACE 
     PARERR   LA    GR0,LPAREMSG       WARN OPERATOR 
              LA    GR1,PAREMSG 
              SVC   WRITE 
              B     OOPS               GO SNARK 
              SPACE 
     PAREMSG  DC    C'ACCOUNTING RECORD TOO LONG IN PUTACCR' 
     LPAREMSG EQU   *-PAREMSG 
     /END ARLCHK 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4121
+                                                            4121
+                                                            4121
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS  (42/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  REPLINN -- Replace LINNBRN subroutine with NEWMTS routine, 
     /.             LINENBR, which always returns. 
     /BEGIN REPLINN 
     /COPY NEXT "ENTRY" NEXT "WTPLG" 
              ENTRY MINLIN,MAXLIN      MIN/MAX INTERNAL FILE LINE NUMBERS 
     /COPY C=1 
     *        NEWMTS ROUTINE DECLARATIONS 
              SPACE 
     /COPY C=1 
     LINENBR  ROUTINE EXTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,3)) 
              SPACE 2 
     /COPY "CFDUBA " 
     /COPY C=1 
     GIVEBACA ROUTINE ENTRY,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(1,0)),       * 
                    RSECT(NULLRCT)                   ***ADAPTOR*** 
     PABOSFTA ROUTINE ENTRY,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(2,2)),       * 
                    RSECT(NULLRCT)                   ***ADAPTOR*** 
     /COPY "INLOOP " 
     /DELETE NEXT "B" NEXT "LINNBR" 
              BAL   GR2,OOPS ***A DISABLING BLOW TO LINNBR CALLS*** 
     /DELETE NEXT "B" NEXT "LINNBRN" 
              BAL   GR2,OOPS ***A DISABLING BLOW TO LINNBRN CALLS*** 
     /DELETE "LINNBRN " 
     /SKIP NEXT "EJECT" 
     LINNBR   STM   GR1,GR2,LNRSA      SAVE REGS HERE FOR THE NONCE 
              LA    GR1,0(,SCC)        COPY OVER POINTER 
              LR    SCC,GR14           SAVE RETURN 
              LR    GR2,SCD            COPY FDUB 
              TM    SWS10,GETLNRSW 
              BO    *+8                -> SEZ FDUB IS IN SCD 
              L     GR2,AFD               OTHERWISE, USE AFD 
              OI    SWS8,NONUM         NO NUMBER 
              RICALL LINENBR(A(4095),,)     CALL THE GOOD GUYS 
              LR    GR0,GR2            COPY LINE NUMBER RETURNED 
              LR    GR14,SCC           RE-PLANT RETURN POINT 
              LR    SCC,GR1                     AND SCAN POINTER 
              B     *+4(GR15)          TEST RC 
              B     *+12               -> LOOKS GOOD 
              B     LINNRC0            -> NOTHING THERE, RC=0 VALUE=0 
              B     LINNMSG            -> DID SOMETHING BAD 
     * 
              NI    SWS8,255-NONUM     GOT A NUMBER 
              CLC   LNS,0(SCC)         TERMINATED BY LNS? 
              BNE   LINNRC0            -> NO 
              LA    SCC,1(,SCC)        EAT IT UP 
              SPACE 
     LINNRC0  XR    GR15,GR15          GIVE RC=0 
     LINNRET  LM    GR1,GR2,LNRSA      LOAD UP FOR BLAST OFF 
              BR    GR14 
              SPACE 
     LINNRC4  LA    GR15,4             GIVE RC=4 
              B     LINNRET 
              SPACE 
     LINNMSG  BCT   GR0,LINNMSG2       -> MUST HAVE BEEN CODE 2 
     LINNMSG1 FMSG  116,NXTSEG         TOO MANY DIGITS TO LEFT OF DEC. 
     LINNMSG2 FMSG  115,NXTSEG         TOO MANY DIGITS TO RIGHT OF DEC. 
              EJECT 
     /COPY "FMSGGAL " 
     /SKIP C=2 
              RICALL LINENBR(A(33*4-2),A(SCSSVA+2),(SCA)) 
              LTR    GR15,GR15 
              BNZ    FMSGOUCH          -> SOMEBODY BLEW SOMETHING 
     /EDIT F=3 "0" = "GR2" 
     /DELETE "LNRMF " 
     /COPY "CFDUBA " 
     /COPY NEXT "REXIT" 
              SPACE 5 
     GIVEBACA RAENTER ,                GIVEBACK ADAPTOR 
              GIVEBACK ,               MACRO DOES DIRTY WORK 
              REXIT  , 
              SPACE 5 
     PABOSFTA RAENTER ,                PABOSFTC ADAPTOR 
              BAL   GR14,PABOSFTC 
              REXIT VALUE(,)           VALUES SET UP ALREADY 
     /COPY "DSRDISPV " 
     /COPY BEFORE "DTBLOFFS " 
              DC    V(LINENBRE)        DSR ENTRY TO LINENBR 
     /END REPLINN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4122
+                                                            4122
+                                                            4122
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  MTS  (42/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  NEWPW  --  Implement new password setting changes.  Here, only 
     /.             thing that is done is to set password changed bit 
     /.             in accounting record when record is written out. 
     /BEGIN NEWPW 
     /COPY "TSA " 
     /DELETE NEXT "BH" NEXT "*+10" 
              BH    *+14 
              NI    ACCSWS2,255-ACCPWCC PW NO LONGER SET BY COMP. CNTR. 
     /END NEWPW 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4123
+                                                            4123
+                                                            4123
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS  (42/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  FMSGCMSG  --  Define NEWMTS type routines FMSG and CMSG which 
     /.                called when FMSG and CMSG macros are expanded in 
     /.                a NEWMTS type routine. 
     /BEGIN FMSGCMSG 
     /COPY "DEQIT " 
     FMSGSUB  ROUTINE ENTRY,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(2,0)),       * 
                    RSECT(NULLRCT) 
     CMSGSUB  ROUTINE ENTRY,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,0)),       * 
                    RSECT(NULLRCT) 
     /DELETE NEXT "EJECT" 
     /COPY BEFORE "*" NEXT "CHKSPEL" 
     *        FMSGSUB -- FMSG CALLER INVOKED BY USAGE OF FMSG MACRO IN 
     *                   NEWMTS ENVIRONMENT. 
     * 
     *          NEWMTS R(2,0) CALLING SEQUENCE 
     *            GR0 - OPTIONS BITS: 
     *                    BIT 31 1 - TRANSFER TO INLOOP WHEN DONE 
     *                           0 - RETURN WHEN DONE 
     *                    BIT 30 1 - WRITE ON SINK 
     *                           0 - NO WRITE ON SINK 
     *                    BIT 29 1 - WRITE ON MSINK 
     *                           0 - NO WRITE ON MSINK 
     *            GR1 - ERROR MESSAGE NUMBER 
     *            RC=0 ALWAYS 
              SPACE 2 
     FMSGSUB  RAENTER ,                ADAPTOR ROUTINE FOR NOW 
              LA    2,OUTB             ASSUME BOTH SINK/MSINK 
              TM    NULR0+3,X'06' 
              BO    FMSGCALL           -> RIGHT 
              LA    2,OUTM             ASSUME MSINK ONLY 
              TM    NULR0+3,X'04' 
              BO    FMSGCALL           -> RIGHT 
              LA    2,OUT              MUST BE JUST SINK 
     FMSGCALL LA    1,NULR1+2          POINT AT MESSAGE NUMBER 
              BAL   0,FMSG             DO DIRTY WORK 
              TM    NULR0+3,X'01' 
              BO    INLOOP             -> SIDEWAYS BRANCH REQUESTED 
              REXIT ,                  RETURN PROPERLY 
              SPACE 5 
     *        CMSGSUB -- CMSG CALLER INVOKED BY USAGE OF CMSG MACRO IN 
     *                   NEWMTS ENVIRONMENT. 
     * 
     *          NEWMTS R(3,0) CALLING SEQUENCE 
     *            GR0 - OPTIONS BITS: 
     *                    BIT 31 1 - TRANSFER TO INLOOP WHEN DONE 
     *                           0 - RETURN WHEN DONE 
     *                    BIT 30 1 - WRITE ON SINK 
     *                           0 - NO WRITE ON SINK 
     *                    BIT 29 1 - WRITE ON MSINK 
     *                           0 - NO WRITE ON MSINK 
     *            GR1 - ERROR MESSAGE LENGTH 
     *            GR2 - ERROR MESSAGE TEXT POINTER 
     *            RC=0 ALWAYS 
              SPACE 2 
     CMSGSUB  RAENTER ,                ADAPTOR ROUTINE FOR NOW 
              LR    0,GR1              COPY LENGTH 
              LR    1,GR2              COPY TEXT ADDRESS 
              LA    2,OUTB             ASSUME OUT ON BOTH 
              TM    NULR0+3,X'06' 
              BO    CMSGCALL           -> RIGHT 
              LA    2,OUTM             ASSUME OUT ON JUST MSINK 
              TM    NULR0+3,X'04' 
              BO    CMSGCALL           -> RIGHT 
              LA    2,OUT              JUST OUT ON SINK 
     CMSGCALL BALR  2,2                CALL ROUTINE 
              TM    NULR0+3,X'01' 
              BO    INLOOP             -> REQUESTED SIDEWAYS BRANCH 
              REXIT ,                  THAT'S ALL 
              EJECT 
     /END FMSGCMSG 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4124
+                                                            4124
+                                                            4124
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS  (42/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  GIGO  --  Add GETOUTTC and change GETINTC to simplify 
     /.            temporary dynamic loading of components. 
     /BEGIN GIGO 
     /DELETE "INLP44 " 
     /SKIP "INLP45 " 
              BAL   GR14,GETOUTTC      GET RID OF LFTC COMPONENTS 
     /COPY NEXT "B " NEXT "PUTLNR" 
              B     GETOUTTC 
     /COPY BEFORE "GETINTC " 
     GETINTC  LR    GR1,GR0            GETINTC CONDITIONAL -- DOES NOT 
              BCTR  GR1,0              INCREMENT USECOUNT IF ALREADY 
              MH    GR1,=Y(LDTSIZE)    LOADED 
              A     GR1,LDTLOCN 
              L     GR15,LDTLOC-LOADTDCT(,GR1) 
              LTR   GR15,GR15 
              BNZR  GR14               -> ALREADY LOADED, RETURN 
     /EDIT "GETINTC" = "       " 
     /COPY BEFORE "GETOUT " 
     GETOUTTC LH    GR1,LFTCC          GETOUT FOR LFTC COMPONENTS 
              SH    GR1,=H'1'          ANY LEFT? 
              BMR   GR14               -> NO, RETURN 
              STH   GR1,LFTCC          NEW COUNT 
              XR    GR0,GR0 
              IC    GR0,LFTC(GR1)      GET GETIN INDEX 
              LR    GR15,GR14          SAVE RETURN 
              BAL   GR14,GETOUT        RID OURSELVES OF IT 
              LR    GR14,GR15          RESET RETURN 
              B     GETOUTTC           -> PERFORM TILL ALL UNLOADED 
              SPACE 2 
     /COPY BEFORE NEXT "LA" NEXT "GR1,18*4" 
     /EDIT F=3 "18*4" = "18*4+4" 
     /COPY C=2 
              ST    GR15,18*4(,GR13)   SAVE GR15 
     /COPY NEXT "CALL" NEXT "STORSCAN" 
              L     GR15,18*4(,GR13)   RESTORE GR15 
     /END GIGO 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4125
+                                                            4125
+                                                            4125
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS  (42/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  CFDUB  --  Fix problem in CFDUB which left instruction window 
     /.             during which branch to DSROFF could have caused use 
     /.             counts, etc., to be left inconsistent when fdub freed. 
     /.             This bug is responsible for the balance of the 
     /.             LOADT usecount negative snarks. 
     /BEGIN CFDUB 
     /COPY "CFDUB " 
     /COPY NEXT "BAL" NEXT "GR14,GMABP" 
     /EDIT F=3 "4" = "FDUBAL" 
     /DELETE "CFDCHAIN " 
     /SKIP C=4 
     CFDCHAIN DS    0H                 NOW COPY OVER ALL NON-CRITICAL FDUB  * 
                                       FIELDS, AND UPDATE CRITICAL ONES IN AN 
                                       ORDER WHICH WILL ENSURE CONSISTENCY  * 
                                       IF INTERRUPTED. 
              MVC   4+FDUBS-FDBDCT(FDUBLN-FDUBS,GR1),FDUBS-FDBDCT(SCD) 
     *                                 SKIP FDUBLN 
              MVC   4+FDUBBL-FDBDCT(FDUBSBR-FDUBBL,GR1),FDUBBL-FDBDCT(SCD) 
     *                                 SKIP FDUBSBR 
              MVC   4+FDUBSCR-FDBDCT(FDUBNAM-FDUBSCR,GR1),FDUBSCR-FDBDCT(SCDX 
                    ) 
     *                                 SKIP FDUBNAM 
              MVC   4+FDUBDS-FDBDCT(FDUBCH-FDUBDS,GR1),FDUBDS-FDBDCT(SCD) 
     *                                 SKIP FDUBCH 
              MVC   4+FDUBTYPE-FDBDCT(FDUBIX-FDUBTYPE,GR1),FDUBTYPE-FDBDCT(SX 
                    CD) 
     *                                 SKIP FDUBIX 
              MVC   4+FDUBSWS-FDBDCT(FDUBNAME-FDUBSWS,GR1),FDUBSWS-FDBDCT(SCX 
                    D) 
     *                                 SKIP FDUBNAME, FDUBERM 
              MVC   4+FDUBSWS2-FDBDCT(FDUBERXS-FDUBSWS2,GR1),FDUBSWS2-FDBDCTX 
                    (SCD) 
     *                                 SKIP FDUBERXS 
              MVC   4+FDUBSWS3-FDBDCT(FDUBL-(FDUBSWS3-FDBDCT),GR1),FDUBSWS3-X 
                    FDBDCT(SCD) 
     /COPY NEXT "LR" NEXT "GR1,SCA" 
              MVC   4+FDUBIX-FDBDCT(1,GR1),FDUBIX-FDBDCT(SCD) 
     /COPY "CFDNOSBR " 
     /EDIT F=3 "+4(1)" = "(SCD)" 
     /EDIT F=3 "4(GR1)" = "FDUBS-FDBDCT(SCD)" 
     /COPY NEXT "USING" 
              OI    4+FDUBS-FDBDCT(GR1),FDUBNO 
     /COPY NEXT "STH" 
              LA    SCB,FCBDSCT-FCBHDR(,SCA)   BACK TO REAL FCB 
              ST    SCB,4+FDUBLN-FDBDCT(,GR1)  NOW STUFF FCB POINTER 
     /EDIT F=3 "+4(GR1)" = "(SCD)" 
     /COPY NEXT "STH" 
              NI    4+FDUBS-FDBDCT(GR1),255-FDUBNO 
     /COPY BEFORE NEXT "XC" NEXT "0(4,GR1),0(GR1)" 
     /EDIT F=3 "4" = "FDUBAL" 
     /COPY "CFDWD " 
              LA    SCB,1 
     /EDIT F=2 "L" = "AH" 
     /SKIP C=1 
              STH   SCB,DEVTBLU(SCA)   UPDATE USE COUNT 
              MVC   4+FDUBLN-FDBDCT(4,GR1),FDUBLN-FDBDCT(SCD)  PLANT LDN 
              OI    4+FDUBS-FDBDCT(GR1),FDUBNO 
     /EDIT F=3 "+4(GR1)" = "(SCD)" 
     /SKIP BEFORE NEXT "B " NEXT "CFDCPY" 
              BO    CFDCPY             -> NO, SKIP REMAINDER 
              LA    SCB,1              INCREMENT OPEN COUNT 
              AH    SCB,2+DEVTBLU(SCA) 
              STH   SCB,2+DEVTBLU(SCA) 
              NI    4+FDUBS-FDBDCT(GR1),255-FDUBNO 
     /END CFDUB 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4126
+                                                            4126
+                                                            4126
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS  (42/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  MERITBUG  --  Fix bug in TSA which skips generation of STOP 
     /.                command to Merit batch if user didn't get signed 
     /.                on. 
     /BEGIN MERITBUG 
     /COPY "TSANSO " 
     /COPY NEXT "L" NEXT "GR15,=V(HASP3B)" 
              BALR  GR14,GR15 
     /END MERITBUG 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4127
+                                                            4127
+                                                            4127
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS  (42/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  DSRDISPV  --  Remove vestigial entries in DSRDISPV formerly used 
     /.                only by CMDSTAT when it was non-MTS component. 
     /BEGIN DSRDISPV 
     /COPY "DSRDISPV " 
     /DELETE NEXT "DC" NEXT "F'-1'" 
     /DELETE NEXT "DC" NEXT "A(CLSCURR-DSCT)" 
     /END DSRDISPV 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4128
+                                                            4128
+                                                            4128
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS  (42/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  INCONT  --  Fix bug in IN which does not properly handle case 
     /.              when null continuation line is entered. 
     /BEGIN INCONT 
     /COPY "IN " 
     /COPY "INC9 " 
     /DELETE NEXT "C" NEXT "GR0,=F'1'" 
     /SKIP C=1 
              N     GR0,=F'1'          SEE IF NOTIFICATION GIVEN 
              BNZ   INSWITCH           -> NOPE 
     /COPY C=2 
     /INCLUDE INCLC 
     /DELETE NEXT "LTR" NEXT "SCB,SCB" 
     /SKIP C=1 
     /BUFFER INCLC 
     /COPY C=2 
     /BUFFER END 
     /COPY MAXCOUNT=5 NEXT "A" NEXT "SCB,INREGL" 
              C     SCB,INREGL 
              BE    INCONT             -> NULL LINE, DONE WITH CONTINUATION 
     /END INCONT 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4129
+                                                            4129
+                                                            4129
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  MTS  (42/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. LSSGOOF - FIX THINGS SO THAT MTS CHECKS THE RIGHT BYTE IN THE 
     /.           COMMAND TABLE ENTRY WHEN IT CHECKS TO SEE IF THE 
     /.           COMMAND SHOULD BE ALLOWED DURING LSS EVEN IF IT IS 
     /.           NORMALLY PROHIBITED. 
     /BEGIN LSSGOOF 
     /COPY BEFORE 'INLPCDT ' 
     /EDIT '10(GR15)' = 'CMDFLAGS' 
     /END LSSGOOF 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4130
+                                                            4130
+                                                            4130
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS  (42/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  NOPW  --  Implement mechanism whereby DSR may request that a 
     /.            signon not require a PW. 
     /BEGIN NOPW 
     /COPY NEXT "ENTRY MINLIN" 
              EXTRN WFOPER,WFDISK 
     /COPY "INITNPW " 
     /EDIT "        " = "INITNPW2" 
     /COPY "INITOPER " 
     /EDIT F=3 "INITNPW" = "INITNPW2" 
     /COPY BEFORE "OPERTV " 
     /EDIT "OPERANSU,SCSBF2" = "OPERANSU,WFOPER" 
     /COPY BEFORE "DISKTV " 
     /EDIT "SCSBF2,GVBGRF" = "WFDISK,GVBGRF" 
     /COPY "INC9 " 
     /DELETE NEXT "N " 
     /SKIP C=1 
              STC   GR0,SCRATCH2+4     EASIER TO TEST BITS IN MEMORY 
              TM    SCRATCH2+4,X'04' 
              BZ    *+8 
              OI    SWS7,NOPWN2        DSR SAID NO PW NEEDED 
              TM    SCRATCH2+4,X'01' 
              BO    INSWITCH           -> SOURCE CHANGED 
     /END NOPW 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4131
+                                                            4131
+                                                            4131
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  FSUB  (635/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. GVBFUNNY - THIS FIX SHOULD HELP THOSE CASES WHERE GIVEBACK 
     /.            TAKES AN UNEXPECTED SIDEWAYS EXIT AND THEN LATER 
     /.            COMES BACK AND TRIES TO RERELEASE THE SPACE IT 
     /.            HAS ALREADY FREED. 
     /BEGIN GVBFUNNY 
     /COPY 'GVBNOSUB ' 
     /COPY C=1 
     /EDIT 'GVBGRD4' = '       ' 
     /COPY C=3 
              ST    SCC,DEVTBLC(SCA) 
     /COPY C=1 
     /EDIT 'GVBGRD4' = 'GVBNOSUB' 
     /END GVBFUNNY 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4132
+                                                            4132
+                                                            4132
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  FSUB  (635/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  FMSGCMSG  --  Define NEWMTS type routines FMSG and CMSG for 
     /.                use by FMSG and CMSG macros when being expanded 
     /.                in NEWMTS type routine. 
     /BEGIN FMSGCMSG 
     /COPY "DEQIT " 
     FMSGSUB  ROUTINE EXTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(2,0)) 
     CMSGSUB  ROUTINE EXTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,0)) 
     /END FMSGCMSG 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4133
+                                                            4133
+                                                            4133
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  FSUB  (635/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  REPLINN  --  Replace usage of LINNBRN in the system with new 
     /.               subroutine LINENBR which always returns. 
     /.               Also:  Rewrite SFFPL so is NEWMTS type routine, 
     /.                      and fix bug causing lower case modifiers 
     /.                      not to be recognized; 
     /.                      Rewrite GETLNR so that it is type NEWMTS 
     /.                      routine and dosen't use LINNBRN; 
     /.                      Make adaptor routine for HOPENIT called 
     /.                      OPENIT; 
     /.                      Add external entry for DSRs to use to call 
     /.                      LINENBR, LINENBRE. 
     /BEGIN REPLINN 
     /COPY BEFORE NEXT "ENTRY" NEXT "FDGET2," 
     /EDIT F=3 "GETLNR," = "" 
     /COPY BEFORE "DEQIT " 
              ENTRY LINENBRE           LINENBR FOR DSRS TO CALL 
     OPENIT   ROUTINE ENTRY,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(2,0)),       * 
                    RSECT(NULLRCT) 
     LINENBR  ROUTINE ENTRY,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,3)) 
     /COPY "HIABYMHA " 
     PABOSFTA ROUTINE EXTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(2,2)) 
     GIVEBACA ROUTINE EXTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(1,0)) 
     CFDUBA   ROUTINE EXTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,1)) 
              SPACE 5 
     *        INTERNAL ROUTINE DECLARATIONS 
              SPACE 
     SFFPL    ROUTINE INTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,2)) 
     GETFLLNR ROUTINE INTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,3)) 
     /DELETE "MFDU44A " 
     /SKIP NEXT "LR" NEXT "SCA,SCC" 
     MFDU44A  XR    GR0,GR0            FIGURE WHETHER TO HAVE SFFPL 
              TM    SWS3,GTFDBIT       GENERATE MESSAGES OR NOT 
              BO    *+8 
              LA    GR0,1              OK, GENERATE MESSAGES 
              RICALL SFFPL(,FDGNXCHR,(SCC)) FILE PARAMETERS AND LIMITS 
     * 
              LR    GR15,SCD           IMPLANT GETFD/FDGET RETURN CODE 
     * 
              LR    GR0,GR1            NOW FIND END OF FDNAME TEXT 
              XR    GR14,GR14          PARENTHESIS LEVEL COUNTER 
     /EDIT "SCC" = "GR1" 
     /COPY C=2 
     /EDIT "SCC" = "GR1" 
     /COPY C=1 
     /EDIT F=3 "GR1,GR1" = "GR14,GR14" 
     /COPY C=1 
     /EDIT "SCC" = "GR1" 
     /COPY C=1 
     /EDIT "SCC" = "GR1" 
     /COPY C=1 
     /EDIT "SCC" = "GR1" 
     /COPY C=1 
     /EDIT F=3 "GR1,1(,GR1" = "GR14,1(,GR14" 
     /EDIT "SCC" = "GR1" 
     /COPY C=1 
     /EDIT F=3 "GR1" = "GR14" 
     /EDIT F=3 "GR1,GR1" = "GR14,GR14" 
     /COPY C=1 
     /EDIT F=3 "GR1,GR1" = "GR14,GR14" 
     /EDIT "SCC,1(,SCC" = "GR1,1(,GR1" 
     /DELETE MAXCOUNT=10 "FDGEND " 
     FDGEND   ST    GR1,FDGNXCHR       SAVE POSITION FOR RAINY DAY 
              CR    GR0,GR1 
     /DELETE MAXCOUNT=20 "FDGOK " 
              DROP  SCC 
     * 
              USING FDBDCT,SCD 
     FDGOK    LR    SCD,SCC            NOW CONSTRUCT FDUBNAME FIELD 
              L     SCC,FDGNXCHR       BAD WEATHER ALREADY 
     /SKIP C=1 
     /COPY "*" NEXT "SFFPL" NEXT "--" 
     /COPY C=1 
     /SKIP NEXT "USING FDBDCT,SCD" 
     *          NEWMTS R(3,2) CALLING SEQUENCE: 
     *             GR0 - SWITCHES:  BIT 31 = 0 NO ERROR MESSAGES 
     *                                     = 1 PRINT ERROR MESSAGES 
     *             GR1 - POINTER TO AREA TO SCAN FOR PARAMETERS AND 
     *                   LIMITS, UPDATED TO POINT TO FIRST UNSCANNED 
     *                   CHARACTER ON RETURN 
     *             GR2 - FDUB 
              SPACE 2 
     SFFRCT   RSECT 
     SFFREG   DS    8A                 UC CONVERSION REGION AND SCRATCH 
     SFFSWS   DS    X                  SWITCHES: 
     SFFMSG   EQU   X'01'                1 = GENERATE ERROR MESSAGES 
     SFFNOT   EQU   X'02'                1 = NEGATE SENSE OF MODIFIER 
              REND 
              SPACE 2 
     SFFPL    RENTER ,                 SCAN FOR FILE PARAMETERS AND LIMITS 
              LR    SCD,GR2            COPY OVER FDUB 
              STC   GR0,SFFSWS         INITIALIZE SWITCHES 
              NI    SFFSWS,SFFMSG      JUST THIS BIT, PLEASE 
              SPACE 
              USING FDBDCT,SCD 
     SFFLOOP  DS    0H                 LOOK FOR SOMETHING STARTING WITH     * 
                                       "(" OR "@" 
     /EDIT "SCC" = "GR1" 
     /EDIT F=3 "0(GR14)" = "SFFPLRET" 
     /COPY C=1 
     /EDIT "SCC" = "GR1" 
     /SKIP C=2 
              BNE   SFFPLRET           -> TH-TH-THAT'S ALL, FOLKS 
              SPACE 2 
     *        PARSE OFF A PARAMETER 
              SPACE 
     /EDIT F=3 "SCC,1(0,SCC)" = "GR1,1(,GR1)" 
     /COPY C=1 
     /SKIP C=1 
              LR    SCC,GR1            SAVE FIRST CHAR 
     /COPY "SFFEND " 
     /EDIT F=3 "SWS9" = "SFFSWS" 
     /COPY C=5 
     /EDIT F=3 "SWS9" = "SFFSWS" 
     /COPY C=2 
              CH    1,*+10             TRUNCATE AT 32 CHARS 
              BNH   *+8 
              LA    1,31 
              EX    1,SFFMVC           MVC   SFFREG(0),0(SCC) 
     /COPY BEFORE NEXT "TM" NEXT "SWS9" 
     /EDIT F=3 "SWS9" = "SFFSWS" 
     /DELETE NEXT "B" NEXT "SFFSFDG" 
              LR    GR1,SCC            MOVE OVER SCAN POINTER 
              B     SFFLOOP            -> LOOK FOR MORE STUFF 
     /COPY BEFORE NEXT "LA" NEXT "SCC" 
     /EDIT F=3 "SCC" = "GR1" 
     /DELETE NEXT "TM" NEXT "SWS3" 
     /SKIP C=1 
              TM    SFFSWS,SFFMSG 
              BZ    SFFLOOP            -> DON'T GENERATE MESSAGES 
     /EDIT F=3 "SFFSFDG" = "SFFLOOP" 
     /COPY BEFORE "SFFCLC " 
     /EDIT F=3 "0(0,SCC)" = "SFFREG(0)" 
     SFFMVC   MVC   SFFREG(0),0(SCC) 
     /SKIP C=4 
     /SKIP C=5 
              SPACE 2 
     *        PARSE OFF A LIMIT, THAT IS A LINE NUMBER RANGE 
              SPACE 1 
     SFFIFL   DS    0H 
     /DELETE NEXT "L" NEXT "SCA,MAXLIN" 
              L     SCA,=V(MAXLIN) 
              L     SCA,0(,SCA) 
     /DELETE  NEXT "LA" NEXT "SCC,1(SCC)" 
              LA    GR1,1(,GR1) 
     /SKIP C=2 
              BAL   GR2,SFGLN          GET STARTING LINE NUMBER 
     /COPY C=1 
              B     *+8                -> GOT IT, IN GR0 
              B     SFFLOOP            -> THAT'S IT, NO MORE LINE NUMBERS 
     /COPY BEFORE "SFFISP " 
     /EDIT "SCA" = "GR2" 
     /EDIT F=3 "12" = "20" 
              B     *+8                -> GOT LAST, IN GR0 
              B     SFFLOOP            -> NO MORE LINE NUMBERS 
     /COPY BEFORE NEXT "BAL" NEXT "SCA" 
     /EDIT "SCA" = "GR2" 
     /EDIT "12" = "20" 
              B     *+8                -> GOT INCREMENT, IN GR0 
              B     SFFLOOP            -> NO MORE LINE NUMBERS 
     /COPY C=2 
     /EDIT "SCC" = "GR1" 
     /SKIP C=2 
              BE    SFFRBNC            -> OK, AT END, END OF LINE NUMBERS 
              OI    FDUBS,FDUBBAD      MARK BAD 
              CLI   0(GR1),C',' 
              BNE   SFFLOOP            -> IF NOT A COMMA, ASSUME SFGLN PARKED 
                                          GR1 AT A GOOD CHAR TO RESTART 
              TM    SFFSWS,SFFMSG 
              BZ    SFFLEAT            -> NO MESSAGE 
              CMSG  'TOO MANY NUMBERS GIVEN FOR LINE NUMBER RANGE.',* 
     SFFLEAT  BAL   GR2,SFFADV         LOOK FOR END OF RANGE 
              B     SFFLOOP            -> FOUND END OF FDNAME 
              CLI   0(GR1),C')'        END? 
              BE    SFFRBNC            -> YES, ADVANCE PAST 
              LA    GR1,1(,GR1) 
              B     SFFLEAT            -> NO, CONTINUE UNTIL SOMETHING FOUND 
     /SKIP "SFGLN " 
              SPACE 2 
     *        SFGLN  --  GET A LINE NUMBER. 
     * 
     *           CALLED VIA BAL GR2,SFGLN WITH: 
     *              GR1 - CHARACTER POINTER, ADVANCED TO FIRST UNSCANNED 
     *                    CHARACTER ON RETURN. 
     *              SCD - FDUB POINTER 
     * 
     *           RETURNS TO 0(GR2) IF NULL SPECIFICATION (DEFAULT) 
     *                      4(GR2) IF NUMBER FOUND, NUMBER IN GR0 
     *                      8(GR2) IF END OF LIMIT SPECIFICATION 
     * 
     *           CLOBBERS GR0,GR1,GR14,GR15 
              SPACE 
     SFGLN    LA    GR0,8              ASSUME END RETURN 
              CLI   0(GR1),C')'        ARE WE AT END 
              BE    SFGLN2             -> YES 
     /SKIP C=1 
              XR    GR0,GR0            ASSUME NULL RETURN 
     /EDIT "SCC" = "GR1" 
              BE    SFGLN2             -> NULL SPECIFICATION IT IS 
     /SKIP C=4 
              STM   GR1,GR2,SFFREG     SAVE POINTER, RETURN HERE A MINIT 
              RCALL LINENBR(A(255),,(SCD)),EXIT=(,SFGLNER) GET NUMBER 
     /EDIT "SCC" = "GR1" 
     /COPY C=1 
     /EDIT "SCC" = "GR1" 
     /EDIT F=3 "SFDLER" = "SFGLNER" 
     /EDIT "SCC,1(0,SCC)" = "GR1,1(,GR1)" 
     /SKIP C=2 
     SFGLNC   LR    GR0,GR2            COPY RETURNED LINE NUMBER OR ZERO 
              L     GR2,SFFREG+4       OUR RETURN POINT 
     /SKIP C=1 
              L     GR15,=V(MAXLIN) 
              C     GR0,0(,GR15)       CHECK LINE NUMBER AGAINST LIMITS 
     /EDIT F=3 "SFFRBAD" = "SFGLNER" 
     /SKIP C=1 
              L     GR15,=V(MINLIN) 
              C     GR0,0(,GR15) 
     /EDIT F=3 "SFFRBAD" = "SFGLNER" 
     /DELETE NEXT "B" NEXT "4(" 
              B     4(,GR2)            RETURN A LINE NUMBER 
     * 
     SFGLNER  OI    FDUBS,FDUBBAD      DON'T USE FDUB 
              L     GR1,SFFREG         RESTORE POINTER TO INPUT 
     SFGLNER1 BAL   GR2,SFFADV         LOOK FOR INTERESTING CHARACTER 
              B     SFFMSG1            -> OFF END OF FDNAME, GIVE MESSAGE 
              CLI   0(GR1),C'+' 
              BNE   SFFMSG2            -> OK, INTERESTING ENOUGH 
              LA    GR1,1(,GR1) 
              B     SFGLNER1           -> ASSUME + IS ARITHMETIC HERE 
     SFFMSG2  L     GR2,SFFREG+4       RESTORE RETURN POINT 
              CLI   0(GR1),C',' 
              BNE   *+8                -> DON'T MOVE PAST NON-COMMA 
              LA    GR1,1(,GR1) 
              TM    SFFSWS,SFFMSG 
              BZR   GR2                -> NO MESSAGE, NULL RETURN 
              CMSG  'INVALID LINE NUMBER.',0(,GR2) 
     SFFMSG1  L     GR2,SFFREG+4       RESTORE RETURN 
              TM    SFFSWS,SFFMSG 
              BZ    8(,GR2)            -> NO MESSAGE, END RETURN 
              CMSG  'INVALID LINE NUMBER OR LINE NUMBER DELIMITER.',8(,GR2) 
     /SKIP "SFGLN2 " 
     /SKIP C=1 
     SFGLN2   LA    GR1,1(,GR1)        SKIP COMMA 
     SFGLN3   ALR   GR2,GR0            ADJUST RETURN POINT 
              BR    GR2                -> RETURN 
              SPACE 2 
     *        SFFADV  --  ADVANCE TO NEXT INTERESTING CHARACTER IN 
     *                    FILE LIMIT SPECIFICATION. 
     * 
     *           CALLED VIA BAL GR2,SFFADV WITH 
     *              GR1 -- TEXT POINTER, UPDATED 
     * 
     *           RETURNS TO 0(GR2) IF PGNT, BLANK, OR X'FF' FOUND 
     *                      4(GR2) IF ZERO LEVEL COMMA, PLUS, OR RIGHT PAREN 
     * 
     *           CLOBBERS GR0 
              SPACE 
     SFFADV   XR    GR0,GR0            NESTING LEVEL COUNTR 
     SFFADVLP CLI   0(GR1),C' '        CHECK FOR END 
              BPI   OPND,0(GR2)        -> UNLESS RUDELY INTERRUPTED 
              BER   GR2                -> FOUND END 
              CLI   0(GR1),X'FF' 
              BER   GR2                -> FOUND END 
              LTR   GR0,GR0 
              BNZ   SFFADVIP           -> SKIP + , TEST IF INSIDE (...) 
              CLI   0(GR1),C'+' 
              BE    4(,GR2)            -> GOT + 
              CLI   0(GR1),C',' 
              BE    4(,GR2)            -> GOT , 
     SFFADVIP CLI   0(GR1),C'(' 
              BNE   *+8 
              AH    GR0,=H'1'          UP ONE LEVEL 
              CLI   0(GR1),C')' 
              BNE   *+12 
              SH    GR0,=H'1'          DOWN A LEVEL 
              BM    4(,GR2)            -> THIS IS OF INTEREST AT ZERO LEVEL 
              LA    GR1,1(,GR1) 
              B     SFFADVLP           -> NEXT CHARACTER OF INTEREST 
              SPACE 2 
     SFFRBNC  LA    GR1,1(,GR1)        ADVANCE TO NEXT CHARACTER 
              B     SFFLOOP            -> AND BACK TO TOP 
              SPACE 2 
     SFFPLRET RRETURN VALUE(,)         REGS SET UP FOR RETURN 
     /COPY C=1 
     /EDIT F=3 "GR10," = "" 
              REND 
              EJECT 
     *        LINENBR  --  PARSE A LINE NUMBER FROM AN INPUT STRING. 
     * 
     *          NEWMTS R(3,3) TYPE CALLING SEQUENCE 
     *             GR0 - LENGTH OF INPUT STRING, UPDATED ON RETURN 
     *             GR1 - INPUT STRING, UPDATED ON RETURN 
     *             GR2 - FDUB (FOR EVALUATION OF *F ETC) OR ZERO, 
     *                   LINE NUMBER VALUE ON RETURN 
     * 
     *             RC=0  LINE NUMBER FOUND, GR0 & GR1 UPDATED, GR2 IS 
     *                   VALUE 
     *             RC=4  LINE NUMBER NOT FOUND, GR2 IS ZERO 
     *             RC=8  SYNTAX ERROR, GR0 HAS ERROR CODE AND GR1 
     *                   ERROR MESSAGE IN FORM HALFWORD LENGTH FOLLOWED 
     *                   BY ERROR MESSAGE TEXT. 
     *                   ERROR CODES:  1 = TOO MANY DIGITS BEFORE DECIMAL 
     *                                 2 = TOO MANY DIGITS AFTER DECIMAL 
              SPACE 2 
     *        LINENBRE IS OS-R TYPE CALLABLE VERSION FOR DSRS TO USE. 
     *          PARAMETERS/RETURNS IDENTICAL TO LINENBR. 
              SPACE 2 
     LINRCT   RSECT 
     LINFL    DS    F                  VALUE RETURNED BY GETFLLNR 
     LINSWS   DS    X                  SWITCHES: 
     LINSIGN  EQU   X'80'                 - SIGN FOUND 
     LINPER   EQU   X'40'                 . FOUND 
     LINDIGIT EQU   X'20'                 DIGIT FOUND 
     LINGFL   EQU   X'10'                 GETFLLNR FOUND SOMETHING 
              REND 
              SPACE 2 
     LINENBRE BEGIN 1,N=2              EXTERNAL ENTRY TO THIS 
              RICALL LINENBR(,,)       CALL REAL MCCOY 
              EXIT  *,RESTORE=3        RETURN WITH RC FROM LINENBR 
              SPACE 2 
     LINENBR  RENTER ,                 FLASHY NEW ROUTINE CODED HERE 
              LR    GR5,GR1            COPY INPUT ADDRESS 
              LR    GR9,GR2            COPY FDUB 
              LTR   GR0,GR0 
              BNP   LINRET4            -> NO INPUT TEXT 
              LTR   GR1,GR1 
              BZ    LINRET4            -> NO INPUT TEXT 
     * 
              NI    LINSWS,255-LINSIGN-LINPER-LINDIGIT-LINGFL 
              RCALL GETFLLNR(,,)       TRY FOR *F OR ITS ILK 
              ST    GR2,LINFL          SAVE VALUE 
              CR    GR1,GR5            TAKE ANYTHING? 
              BE    *+4+4+2            -> NO 
              OI    LINSWS,LINGFL      REMEMBER 
              LR    GR5,GR1            REMEMBER POINTER, TOO 
     * 
              XR    GR6,GR6            NOW GO AFTER SIGN/NUMBER 
              XR    GR2,GR2            NUMBER BUILT IN GR2 
              LA    GR3,7              MAX 6 INTEGRAL DIGITS 
              CLI   0(GR1),C'-' 
              BE    LINMINUS           -> EAT 'EM UP 
              CLI   0(GR1),C'+' 
              BE    LINLOOP            -> EAT THIS TOO 
              TM    LINSWS,LINGFL 
              BO    LINRET             -> GOT *F OR SOMETHING, SKIP REST 
              B     LINLOOP1           -> JUMP INTO LOOP 
     * 
     * 
     LINMINUS OI    LINSWS,LINSIGN     REMEMBER 
     LINLOOP  LA    GR1,1(,GR1)        ADVANCE SCAN POINTER 
              BCT   GR0,*+8 
              B     LINRET             -> COUNT EXHAUSTED 
     LINLOOP1 TM    LINSWS,LINPER 
              BO    LINNOPER           -> ALREADY GOT DOT, NOT AGAIN 
              CLI   0(GR1),C'.' 
              BNE   LINNOPER 
              LA    GR3,4              MAX 3 FRACTIONAL DIGITS 
              OI    LINSWS,LINPER 
              B     LINLOOP 
     LINNOPER CLI   0(GR1),C'0' 
              BL    LINRET 
              CLI   0(GR1),C'9' 
              BH    LINRET 
              OI    LINSWS,LINDIGIT    REMEMBER A DIGIT 
              IC    GR6,0(,GR1)        DECODE DIGIT 
              N     GR6,=X'0000000F' 
              MH    GR2,=H'10'         SHIFT NUMBER 
              AR    GR2,GR6            ADD IN DIGIT 
              BCT   GR3,LINLOOP        -> WILL BRANCH IF NOT TOO MANY DIGITS 
     * 
              TM    LINSWS,LINPER 
              BO    LINDRDP            -> TOO MANY DIGITS TO RIGHT 
              LA    GR1,L'ECM1 
              LA    GR2,ECM1 
              LA    GR3,1 
              B     LINERR             -> GENERATE MESSAGE & RETURN 
     LINDRDP  LA    GR1,L'ECM2 
              LA    GR2,ECM2 
              LA    GR3,2 
              B     LINERR 
              SPACE 
     LINRET   TM    LINSWS,LINGFL+LINDIGIT 
              BZ    LINRET4            -> RC4 IF NO *F OR DIGITS 
              TM    LINSWS,LINDIGIT 
              BO    *+4+2              NO NUMERIC PORTION, POINT BACK AT 
              LR    GR1,GR5            WHAT GETFLLNR ATE UP THROUGH 
              TM    LINSWS,LINPER 
              BO    *+4+4              -> GOT A FRACTIONAL PART 
              LA    GR3,4              NO FRACTION, PRIME COUNT 
              BCTR  GR3,0              NOW 3-(NUMBER FRACTIONAL DIGITS) 
              SLL   GR3,1              *2 
              MH    GR2,=H'1,10,100,1000'(GR3)  SHIFT PROPER AMOUNT 
              TM    LINSWS,LINSIGN 
              BZ    *+4+2 
              LCR   GR2,GR2            NEGATE 
              A     GR2,LINFL          ADD IN CONTRIBUTION BY GETFLLNR 
              L     GR0,LINR1          COMPUTE LENGTH USED 
              SR    GR0,GR1            (GR0 COUNT UNRELIABLE IF E.G. "*F+") 
              A     GR0,LINR0 
              RRETURN VALUE(,,),RC(0) 
              SPACE 
     LINERR   LR    GR5,GR1            GENERATE ERROR MESSAGE AND GIVE 
              LA    GR1,2(,GR1)        RC=8 
              RCALL PABOSFTA(,)        GET STORAGE FOR ERROR MESSAGE 
              BCTR  GR5,0 
              EX    GR5,LINERRMV       MVC   2(0,GR1),0(GR2) 
              LA    GR5,3(,GR5) 
              STH   GR5,0(,GR1) 
              RRETURN VALUE((GR3),,),RC(8) 
     LINERRMV MVC   2(0,GR1),0(GR2) 
              SPACE 
     LINRET4  RRETURN VALUE(LINR0,LINR1,A(0)),RC(4) 
              SPACE 2 
     ECM1     DC    C'NUMBER HAS TOO MANY DIGITS BEFORE DECIMAL POINT.' 
     ECM2     DC    C'NUMBER HAS TOO MANY DIGITS AFTER DECIMAL POINT.' 
              SPACE 
              REND 
              EJECT 
     /SKIP NEXT "USING FDBDCT,SCD" 
     *        GETFLLNR  --  GET FIRST OR LAST LINE NUMBER.  EVALUATE 
     *                      "*F", "*L", "FIRST", "LAST", "MIN", OR "MAX" 
     *                      AS A LINE NUMBER. 
     * 
     *          NEWMTS R(3,3) CALLING SEQUENCE: 
     *            GR0 - LENGTH OF INPUT STRING, UPDATED ON RETURN 
     *            GR1 - ADDRESS OF INPUT STRING, UPDATED ON RETURN 
     *            GR2 - FDUB OR ZERO, VALUE ON RETURN OR ZERO IF NO 
     *                  VALUE OR CAN'T BE EVALUATED (ZERO FDUB, NO 
     *                  ACCESS TO FILE TO READ FIRST/LAST LINE #, ETC.) 
     * 
     *            RC=0  IF FOUND SOMETHING INTERESTING 
     *              =4  IF NOTHING FOUND OF INTEREST 
              SPACE 2 
     GETRCT   RSECT SA=NO 
     GETFLSCR DS    XL(READLSS)        SCRATCH FOR READF/READL CALL 
     GETSA    RSA   ,                  SAVEAREA 
     GETFLPAR DS    2A                 READF/READL PARAMETERS 
              REND 
              SPACE 2 
     GETFLLNR RENTER ,                 GET FIRST/LAST LINE NUMBER 
              CH    GR0,=H'2'          CHECK FOR TOO SHORT 
              BL    GETRC4             -> NO NUMBER 
              LR    GR3,GR0            MOVE MAX 5, MIN NUMBER GIVEN 
              CH    GR3,*+10           CHARACTERS INTO SCRATCH AREA 
              BNH   *+8 
              LA    GR3,5 
              BCTR  GR3,0 
              EX    GR3,GETFLMVC       MVC   GETFLSCR(0),0(GR1) 
              L     GR15,=V(CASECONV) 
              TR    GETFLSCR(5),0(GR15) 
              LR    GR9,GR2            COPY FDUB 
              MVI   GETFLPAR,0         FLAG READF CALL 
              CH    GR0,=H'2' 
              BE    GET2CHAR           -> 2 CHARACTERS ONLY 
              CH    GR0,=H'4' 
              BL    GET3CHAR           -> 3 CHARACTERS 
              BE    GET4CHAR           -> 4 CHARACTERS 
              LA    GR3,5              MUST BE 5 OR MORE 
              CLC   =C'FIRST',GETFLSCR 
              BE    GETFLOPE           -> EVALUATE 'FIRST' 
     GET4CHAR LA    GR3,4              TRYING FOR 4 CHARACTER MATCH NOW 
              CLC   =C'LAST',GETFLSCR 
              BNE   GET3CHAR           -> NO, TRY 3 
              MVI   GETFLPAR,4         FLAG READL CALL 
              B     GETFLOPE           -> EVALUATE 'LAST' 
     GET3CHAR LA    GR3,3              TRYING FOR 3 CHARACTER MATCH NOW 
              L     GR2,=V(MINLIN) 
              L     GR2,0(,GR2) 
              CLC   =C'MIN',GETFLSCR 
              BE    GETFLRC0           -> GOT 'MIN' 
              L     GR2,=V(MAXLIN) 
              L     GR2,0(,GR2) 
              CLC   =C'MAX',GETFLSCR 
              BE    GETFLRC0           -> GOT 'MAX' 
     GET2CHAR LA    GR3,2              TRYING FOR 2 CHARACTER MATCH NOW 
              CLC   =C'*F',GETFLSCR 
              BE    GETFLOPE           -> EVALUATE '*F' 
              CLC   =C'*L',GETFLSCR 
              BNE   GETRC4             -> DIDN'T FIND ANYTING 
              MVI   GETFLPAR,4         FLAG READL CALL 
              SPACE 
              USING FDBDCT,GR9         OK, GOING TO USE FDUB 
     GETFLOPE XR    GR2,GR2            ZERO VALUE FOR NOW 
              LTR   GR9,GR9 
              BZ    GETFLNF            -> NO FDUB 
     /COPY C=1 
     /EDIT F=3 "GETLNR5" = "GETFLNF" 
     /COPY C=1 
     /SKIP C=1 
     /COPY C=2 
     /EDIT F=3 "GETLNR5" = "GETFLNF" 
     /SKIP BEFORE NEXT "NI" NEXT "FDUBSWS" 
              LR    GR5,GR0            PROTECT ACROSS CFDUBA CALL 
              LR    GR6,GR1 
              RCALL CFDUBA(A(1),A(3),(GR9))  COPY FDUB ONTO CHAIN 3 
              LR    GR9,GR0            LODGE NEW FDUB 
     /EDIT F=3 "-FDBDCT(SCD)" = "" 
     /EDIT F=3 "-FDBDCT(SCD)" = "" 
     /SKIP C=5 
              RCALL OPENIT(A(0),(GR9)) OPEN FDUB IN NORMAL FASHION 
     /COPY C=1 
     /EDIT F=3 "GETLNRER" = "GETFLGVB" 
              IC    GR15,GETFLPAR 
              L     GR15,=V(READF,READL)(GR15)   ROUTINE TO CALL 
     /EDIT F=3 "-FDBDCT(,GR1)" = "" 
     /SKIP C=1 
     /EDIT F=3 "GR1" = "GR2" 
     /SKIP C=6 
              STM   GR1,GR2,GETFLPAR   PARAMETERS TO READF/READL 
              LA    GR1,GETFLPAR 
              XR    GR2,GR2 
     /COPY C=2 
     /SKIP NEXT "B" NEXT "GETLNR5A" 
              BNZ   *+4+2 
              LR    GR2,GR1            COPY OVER RETURNED LINE # 
     GETFLGVB RCALL GIVEBACA((GR9))    GIVE BACK COPIED FDUB 
              LR    GR0,GR5            COPY BACK COUNT 
              LR    GR1,GR6            AND POINTER 
              SPACE 
     GETFLNF  DS    0H 
     GETFLRC0 AR    GR1,GR3            ECHE POINTER 
              SR    GR0,GR3            BACK DOWN COUNT 
              RRETURN VALUE(,,),RC(0) 
     GETFLMVC MVC   GETFLSCR(0),0(GR1) 
              SPACE 
     GETRC4   RRETURN VALUE(GETR0,GETR1,A(0)),RC(4) 
              SPACE 
              DROP  GR9 
     LASTJBA2 DC    V(LASTJOB) 
              REND 
     /SKIP MAXCOUNT=20 NEXT "DS" NEXT "0H" 
     /SKIP C=1 
              EJECT 
     *        OPENIT -- OPEN A FDUB ACCORDING TO SPECIFIED OPTIONS. 
     * 
     *          NEWMTS R(2,0) CALLING SEQUENCE 
     *            GR0 - OPTIONS SWITCHES: 
     *                     BIT 31 - 1=DON'T ALTER LOCKING STATUS 
     *                              0=OK TO ALTER 
     *                     BIT 30 - 1=MAKE SEQUENTIAL (IN THIRD SENSE) 
     *                              0=DON'T FORCE SEQUENTIAL 
     *                     BIT 29 - 1=OPEN EVEN IF NO ACCESS************ 
     *                              0=DON'T OPEN IF IMPROPER ACCESS***** 
     *                              *******NOT YET IMPLEMENTED********** 
     *            GR1 - FDUB 
     *            RC=0 - FILE HAS BEEN OPENED IF NECESSARY 
     *              =4 - FILE DOES NOT EXIST 
     *              =8 - ERROR IN OPEN OR ILLEGAL DEVICE TYPE 
     *              =12- NO ACCESS 
     *              =16- CAN'T WAIT: DEADLOCK 
     *              =20- WAIT TO OPEN INTERRUPTED 
              SPACE 2 
     OPENIT   RAENTER ,                ADAPTOR ROUTINE FOR NOW 
              LR    SCD,GR1            FDUB FOR HOPENIT 
              L     GR15,=A(HOPENIT) 
              LTR   GR0,GR0 
              BZ    OPENIT1            -> NORMAL FLAVOR 
              L     GR15,=A(HOPENLK) 
              SRA   GR0,1 
              BZ    OPENIT1            -> DON'T ALTER LOCKING 
              L     GR15,=A(SEQFILE)   MAKE SEQUENTIAL THEN 
     OPENIT1  BALR  GR14,GR15 
              RRETURN RC() 
              REND 
              EJECT 
     /COPY "WRITEBUF " 
     /DELETE "*" NEXT "USES" NEXT "GR2," 
     *        USES  GR0,GR2,SCA,SCB,SCC,SCD 
     /COPY "RENUMP " 
     /DELETE NEXT "OI" NEXT "SWS10" 
     /DELETE NEXT "LR" NEXT "SCD,GR0" 
     /COPY NEXT "ST" NEXT "SCC,9*4(,GR1)" 
              LR    SCD,GR1 
     /EDIT "GR2,GR2" = "SCC,SCC" 
     /EDIT "SCA" = "GR1" 
     /COPY C=1 
              LR    GR0,SCB 
     /EDIT "SCA" = "GR1" 
     /COPY C=1 
     /EDIT "SCA" = "GR1" 
     /COPY C=1 
     /SKIP C=2 
              RICALL LINENBR(,,5*4(,SCD))  PROCESS FIRST OR NEW             * 
                                           FIRST LINE NUMBER 
     /COPY C=2 
     /SKIP C=4 
              ST    GR2,6*4(SCC,SCD)   PLANT EITHER FIRST OR NEW FIRST 
     /EDIT "SCA" = "GR1" 
     /COPY C=1 
     /EDIT "SCA" = "GR1" 
     /COPY C=1 
              LR    SCA,GR1            COPY OVER FOR NEXPAR CALL 
              LR    SCB,GR0 
     /COPY C=1 
              LR    GR0,SCB            COPY REMAINING COUNT 
     /EDIT "SCA" = "GR1" 
     /COPY MAXCOUNT=10 BEFORE "RNBP6 " 
     /EDIT "SCA" = "GR1" 
     /COPY C=1 
     /EDIT "SCA" = "GR1" 
     /COPY C=1 
     /EDIT "SCA,1(,SCA)" = "GR1,1(,GR1)" 
     /EDIT "SCB" = "GR0" 
     /EDIT "SCA" = "GR1" 
     /COPY C=1 
              LR    SCA,GR1            COPY FOR NEXPAR CALL 
              LR    SCB,GR0 
     /COPY C=1 
              LR    GR0,SCB 
     /EDIT "SCA" = "GR1" 
     /COPY C=1 
     /EDIT "SCA" = "GR1" 
     /DELETE "RNBP5 " 
     /SKIP C=1 
     RNBP5    RICALL LINENBR(,,5*4(,SCD)) 
     /COPY C=2 
     /SKIP NEXT "LR" NEXT "SCA,SCC" 
              ST    GR2,7*4(SCC,SCD)   PLANT EITHER NEW LAST OR INCR. 
     /EDIT "SCA" = "GR1" 
     /COPY C=1 
              LR    SCA,GR1            HERE WE GO AGAIN, SHUFFLING FEET 
              LR    SCB,GR0            FOR NEXPAR 
     /COPY C=1 
              LR    GR0,SCB 
     /EDIT "SCA" = "GR1" 
     /COPY MAXCOUNT=10 BEFORE "RNBP7 " 
     /EDIT "SCA" = "GR1" 
     /COPY C=1 
     /SKIP C=1 
     RNBP3    LTR   SCC,SCC            SEE IF ALREADY HAVE 'TO' 
              BNZ   RNBPERR            -> YES, NOT AGAIN 
              LA    GR1,2(,GR1) 
     /EDIT "SCB" = "GR0" 
     /EDIT "SCB" = "GR0" 
     /EDIT "SCA" = "GR1" 
     /COPY C=1 
              LR    SCA,GR1            SHUFFLE, SHUFFLE NEXPAR 
              LR    SCB,GR0 
     /COPY C=1 
              LR    GR0,SCB 
     /EDIT "SCA" = "GR1" 
     /COPY MAXCOUNT=10 BEFORE "RNBP8 " 
     /EDIT "GR2,GR2" = "SCC,SCC" 
     /SKIP C=3 
              LA    SCC,8 
              BZ    RNBPAGN            -> BACK TO PROCESS NEW FIRST, INCR. 
              B     RNBPERR            -> TRIED TO GIVE TOO MANY PARAMETERS 
     /COPY BEFORE "RNBP2 " 
     /EDIT "GR1" = "SCD" 
     /COPY C=1 
     /SKIP C=2 
              RICALL LINENBR(A(5),A(=C'FIRST'),5*4(,SCD))  GET *F VALUE 
     /COPY C=2 
     /EDIT "GR0,6*4(,GR1" = "GR2,6*4(,SCD" 
     /EDIT "GR1" = "SCD" 
     /COPY C=1 
     /SKIP C=2 
              RICALL LINENBR(A(4),A(=C'LAST'),5*4(,SCD)) GET *L VALUE 
     /COPY C=2 
     /EDIT HOLD "GR0" = "GR2" 
     /EDIT "GR1" = "SCD" 
     /DELETE "RNBPOUT" 
     RNBPOUT  LR    GR1,SCD            GIVE BACK PARAMETER REGION 
     /END REPLINN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4134
+                                                            4134
+                                                            4134
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. LENFIX - The following change prevents an MTS program 
     /.          interrupt after Len Harding enters first 
     /.               $START PRINT=TN 
     /.          followed by a response of NO when prompted by 
     /.          KWSCAN to see if he might allow SPRINT for PRINT. 
     /.          Why he wanted to say $START PRINT=TN in the first 
     /.          place is anyones guess. 
     /BEGIN LENFIX 
     /COPY 'RLDFDN ' 
              C     GR13,KWSAVE 
              BE    2(,GR5)             ILLEGAL FROM START OR RESTART 
     /END LENFIX 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4135
+                                                            4135
+                                                            4135
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. FIXDUMPS - Make sure that GR13 points to a valid save area, 
     /.            even when there are no extra pars to go with the 
     /.            DUMP command and the user hasn't $SET ERRORDUMP=ON 
     /BEGIN FIXDUMPS 
     /COPY 'JOBD89 ' 
     /COPY NEXT 'IC' 
              L     GR13,KWSAVE         USED IT BEFORE, MIGHT AS WELL AGAIN 
     /END FIXDUMPS 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4136
+                                                            4136
+                                                            4136
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. LYSTPFX - This fixes a minor bug introduced when long prefixes 
     /.           were added.  No one noticed for months! 
     /BEGIN LYSTPFX 
     /COPY 'LYSTFOD ' 
     /COPY NEXT 'LR' NEXT '13,1' 
              LA    GR0,MTSFLG 
              LA    GR1,LYSTPFX 
              BAL   GR14,SAVPFX         SET PFX TO ">" AND SAVE OLD ONE 
              ST    GR1,4(,GR13)        IN THE SA BACK POINTER (WHERE ELSE?) 
     /COPY BEFORE 'LYSTGO ' 
     /SKIP BEFORE 'LYSTLLP ' 
     /COPY BEFORE 'LYSTEF2' 
     /EDIT 'LYSTEF2' = '       ' 
     /COPY 'CKLYST ' 
     /COPY C=2 
     /EDIT 'LYSTGO' = 'LYSTLLP' 
     /END LYSTPFX 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4137
+                                                            4137
+                                                            4137
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================ 
     /. FIXLNR - So the $LIST command will do something "reasonable" 
     /.          when it tries to list lines with line numbers that 
     /.          are bigger than 999999.999 or smaller than -99999.999 
     /BEGIN FIXLNR 
     /COPY 'LYSTOK ' 
     /COPY BEFORE NEXT 'BAL' 
     /EDIT 'PUTDEC' = 'PUTLNR' 
     /END FIXLNR 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4138
+                                                            4138
+                                                            4138
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================ 
     /.  FDNJUNK - FIX THINGS SO THAT LINE RANGES AND I/O MODIFIERS 
     /.            on FDnames cause an error when given where they 
     /.            don't make sense, for example: $EMPTY file(5,10). 
     /BEGIN FDNJUNK 
     /COPY 'KREANL3 ' 
     /COPY NEXT 'LR' NEXT 'SCA,GR0' 
              TM    FDUBSWS2-FDBDCT(SCA),FDUBBLN+FDUBELN+FDUBMOD 
              BNZ   KREFP               FOUND JUNK AT END OF FDNAME 
              TM    FDUBS-FDBDCT(SCA),FDUBINC 
              BNZ   KREFP               OTHER JUNK AT END OF FDNAME 
     /COPY 'CREME ' 
     /COPY C=2 
     * 
     KREFP    FMSG  168                 JUNK AT END OF FDNAME 
              SPACE 3 
              DS    0H 
     /COPY 'CLOBBER' 
     /COPY C=6 
              L     GR1,FDGNXCHR        GET NEXT CHARACTER 
              CLI   0(GR1),C'@' 
              BPI   OPND,CLOBASK        -> OK, I GUESS (HOPE) 
              BE    CLOBFP              OOPS, JUNK AT END OF NAME 
              CLI   0(GR1),C'(' 
              BE    CLOBFP              MORE JUNK 
     CLOBASK  DS    0H 
     /COPY 'DAFDF ' 
     CLOBFP   FMSG  168                 JUNK AT END OF FILE NAME 
     /COPY 'MT ' 
     /COPY C=6 
              TM    FDUBS-FDBDCT(SCD),FDUBINC       INCREMENT? 
              BNZ   MTFP 
              TM    FDUBSWS2-FDBDCT(SCD),FDUBBLN+FDUBELN+FDUBMOD 
              BNZ   MTFP 
     /COPY 'MTBP ' 
     MTFP     FMSG  168                 JUNK AT END OF FDNAME 
     /COPY 'TRUNK ' 
     /COPY C=6 
              TM    FDUBS-FDBDCT(SCD),FDUBINC       INCREMENT? 
              BNZ   TRUNKFP 
              TM    FDUBSWS2-FDBDCT(SCD),FDUBBLN+FDUBELN+FDUBMOD 
              BNZ   TRUNKFP 
     /COPY 'TRCMP ' 
     TRUNKFP  FMSG  168                 JUNK AT END OF FDNAME 
     /COPY 'LOCH ' 
     /COPY C=5 
              LR    GR1,GR0 
              TM    FDUBS-FDBDCT(GR1),FDUBINC       INCREMENT? 
              BNZ   LOCHFP 
              TM    FDUBSWS2-FDBDCT(GR1),FDUBBLN+FDUBELN+FDUBMOD 
              BNZ   LOCHFP 
     /COPY 'LOCHMP ' 
     LOCHFP   FMSG  168                 JUNK AT END OF FILENAME 
     /COPY 'UNLOCH2 ' 
              TM    FDUBS-FDBDCT(SCC),FDUBINC       INCREMENT? 
              BNZ   UNLFP 
              TM    FDUBSWS2-FDBDCT(SCC),FDUBBLN+FDUBELN+FDUBMOD 
              BNZ   UNLFP 
     /COPY 'UNLOCHMP ' 
     UNLFP    FMSG  168                 JUNK AT END OF FDNAME 
     /COPY 'LSTAT3 ' 
     /COPY C=5 
              L     GR1,FDGNXCHR        GET NEXT CHARACTER 
              CLI   0(GR1),C'@' 
              BPI   OPND,LSTAT4         -> OK, I GUESS (HOPE) 
              BE    LSTFP               OOPS, JUNK AT END OF NAME 
              CLI   0(GR1),C'(' 
              BE    LSTFP               MORE JUNK 
     /COPY 'LSTBP ' 
     LSTFP    FMSG  168                 JUNK AT END OF FILE NAME 
     /COPY 'CNTRLCMD ' 
     /COPY C=10 
              TM    FDUBS-FDBDCT(SCA),FDUBINC 
              BNZ   CCMFP 
              TM    FDUBSWS2-FDBDCT(SCA),FDUBBLN+FDUBELN+FDUBMOD 
              BNZ   CCMFP 
     /COPY 'CCMDERR1 ' 
     * 
     CCMFP    FMSG  168                 JUNK AT END OF FDNAME 
     /END FDNJUNK 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4139
+                                                            4139
+                                                            4139
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. CLEANPWM - Clean up calls to PWM 
     /BEGIN CLEANPWM 
     /COPY 'SYGCPW ' 
     /COPY C=5 
     /SKIP C=2 
     /COPY 'STPWX ' 
     /COPY C=1 
     /SKIP C=2 
     /COPY 'CANGO ' 
     /COPY C=6 
     /SKIP C=2 
     /COPY C=2 
              LA    GR2,CANACR 
     /END CLEANPWM 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4140
+                                                            4140
+                                                            4140
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. ADDPWCON - Add $SET PWCONFIRM=ON to force user to enter old 
     /.            PW before the new PW may be changed.  Only applies 
     /.            to terminal users and can only be set ON 
     /BEGIN ADDPWCON 
     /COPY BEFORE 'SETLHTL ' 
              KWTEL PWCONFIRM,ONOFF,STPWCX-SETEXT 
     /COPY BEFORE 'STEXPFX ' 
     STPWCX   NI    SWS19,255-PWCONF              $SET PWCONFIRM=ON 
              BAL   GR5,*+4                       $SET PWCONFIRM=OFF 
              TM    SWS19,PWCONF 
              BOR   GR5                           IS ALREADY OFF 
              FMSG  170,*                         CAN'T SET OFF 
              BR    GR5 
              SPACE 
     /END ADDPWCON 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4141
+                                                            4141
+                                                            4141
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. CLEANSET - CLEAN UP THE SET COMMAND A LITTLE 
     /BEGIN CLEANSET 
     /COPY 'SETTE ' 
     /COPY C=4 
              LA    R13,SETSA1          SA TO KEEP KWSCAN HAPPY 
     /COPY C=7 
     /SKIP C=1 
              L     SCB,=V(RHTABLE)     5. RHT LOCN. 
     /COPY C=10 
     /EDIT  "X'17'" = "X'37'" 
     /EDIT 'PROMPT,' = 'PROMPT, UC' 
     /END CLEANSET 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4142
+                                                            4142
+                                                            4142
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ============================================================= 
     /. LFRAX - DELETE THE $SET LFR OPTION, I'LL BET YOU DIDN'T EVEN KNOW 
     /.         IT WAS THERE! 
     /BEGIN LRFAX 
     /COPY 'SYGNOTSA ' 
     /COPY BEFORE NEXT 'MVI' NEXT 'SWS,LFRBIT+' 
     /EDIT HOLD 'LFRBIT+' = '' 
     /EDIT 'LFR=OFF' = '' 
     /COPY 'RALPHA ' 
     /SKIP C=4 
     /COPY 'SETLHT ' 
     /COPY C=1 
     /SKIP C=1 
     /COPY BEFORE 'STLFRX ' 
     /SKIP C=3 
     /END LFRAX 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4143
+                                                            4143
+                                                            4143
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. =============================================================== 
     /. CANBATCH - ALLOW PASSWORD TO BE GIVEN IN BATCH ON CARD FOLLOWING 
     /.            $CANCEL COMMAND IF ID=XXXX GIVEN ON COMMAND ITSELF. 
     /BEGIN CANBATCH 
     /COPY 'CANCMD ' 
     /COPY '* ' 
     /COPY BEFORE NEXT 'BAL' NEXT 'GR14,GUSER' 
     /EDIT 'GUSER' = 'GUSEREOF' 
              LTR   GR15,GR15 
              BNZ   CANIPW 
     /END CANBATCH 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4144
+                                                            4144
+                                                            4144
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. NEWPW - ALLOW  $SET  PW= WITHOUT ANY RHS 
     /BEGIN NEWPW 
     /COPY 'SINTNB ' 
     /COPY C=3 
     /EDIT "0" = "PWCONF" 
     /COPY BEFORE 'STPWX ' 
     /SKIP 'STMPW ' 
     STPWX    BAL   GR5,STPW1          $SET PW=SOMETHING 
              BAL   GR5,STPW2          $SET PW=NOTHING OR SIMPLY $SET PW 
              SPACE 2 
     *  THIS CODE IS EXECUTED WHEN THE USER GIVES THE PW= OR 
     *  PASSWORD= COMMAND WITH SOMETHING ON THE RIGHT HAND SIDE. 
     * 
     *  KWSCAN SETS UP THE REGISTERS: 
     *     GR1 -> THE IBM LENGTH OF THE NEW PASSWORD 
     *     GR2 -> ADDRESS OF THE NEW PASSWORD 
     *     GR4 -> MTS DSECT 
     *     GR5 -> LINK REGISTER 
     *     GR10-> LOCAL BASE 
     *     GR11 AND GR12 -> COMBASE 
     *     GR13-> ADDRESS OF THE SET COMMAND'S DSECT 
              SPACE 
     STPW1    DS    0H 
              LR    SCD,GR13           ADDRESS OF OUR DSECT 
              USING SETKWD,SCD 
              LA    GR13,SETSA2        A STANDARD SAVE AREA 
              MVC   SETPW1,=CL12' '    BLANK SETPW1 
              LA    GR3,SETPW1        WHERE TO MOVE THE PW FROM THE SET CMD. 
              EX    GR1,STPWMVC        GR1 IS IBM LENGTH PROVIDED BY KWSCAN 
              BAL   SCC,STOPWC      DO OLD PWCONFIRM PROCESSING IF NECESSARY 
     * SOMEDAY THIS CODE WILL CAUSE TERMINAL USERS WHO ENTER THEIR 
     * PASSWORDS ON THE $SET CMD. TO REENTER IT AGAIN JUST TO BE SAFE. 
     *         TM    SWS2,BATCHM        IS IT BATCH? 
     *         BO    STPW1B             IF SO SKIP THE CONFIRMATION 
     *         BAL   SCC,STGETPW        BETTER READ A LINE 
     *         LA    GR3,SETPW2         THE 2ND PASSWORD IS UP NEXT 
     *         BAL   SCC,STMOVPW        MOVE THE PW INTO SETPW2 
     *         CLC   SETPW1,SETPW2      DO THEY MATCH? 
     *         BE    STPW1B             YES 
     *         FMSG  184,STPWXIT,TYPE=M  1ST & 2ND NEW PASSWORDS DON'T MATCH 
     STPW1B   BAL   SCC,STNPW          ENCODE AND SET THE NEW PASSWORD 
              BAL   GR14,ECHOTST2      DID USER SEE THE $SET COMMAND? 
              B     STPW1C             NO, SO GO WARN HIM/HER 
     * THIS TOO WILL BE EXECUTED SOMEDAY 
     *         FMSG  185,*              SAW CMD., BUT IT IS A BAD PRACTICE 
              B     STPWXIT            EXIT 
     STPW1C   FMSG  162,*,TYPE=M       PASSWORD HAS BEEN CHANGED 
     STPWXIT  LR    GR13,SCD           PUT THIS BACK THE WAY WE FOUND IT 
              BR    GR5                RETURN 
              SPACE 
              DROP  SCD 
              SPACE 
     STPWMVC  MVC   0(0,GR3),0(GR2)    EXECUTED 
              SPACE 2 
     *  THIS CODE IS EXECUTED WHEN THE USER GIVES THE PW= OR 
     *  PASSWORD= COMMAND WITH NOTHING ON THE RIGHT HAND SIDE. 
     * 
     *  KWSCAN SETS UP THE REGISTERS: 
     *     GR4 -> MTS DSECT 
     *     GR5 -> LINK REGISTER 
     *     GR10-> LOCAL BASE 
     *     GR11 AND GR12 -> COMBASE 
     *     GR13-> ADDRESS OF THE SET COMMAND'S DSECT 
              SPACE 
     STPW2    DS    0H 
              LR    SCD,GR13           ADDRESS OF OUR DSECT 
              USING SETKWD,SCD 
              LA    GR13,SETSA2        A STANDARD SAVE AREA 
              BAL   SCC,STOPWC      DO OLD PWCONFIRM PROCESSING IF NECESSARY 
              TM    SWS2,BATCHM        BATCH? 
              BO    STPW2A             YES, THEN SKIP PROMPT 
              FMSG  187,*,TYPE=M       ENTER NEW USER PASSWORD. 
     STPW2A   BAL   SCC,STGETPW     BLANK INPUT AND READ A LINE FROM MSOURCE 
              LA    GR3,SETPW1         WE ARE DEALING WITH THE FIRST PW 
              BAL   SCC,STMOVPW        MOVE THE PW INTO SETPW1 
              CLC   SETPW1,=CL12' '    DID WE GET ONE 
              BNE   STPW2B 
              FMSG  188,STPWXIT,TYPE=M  PW TOO SHORT (IE. NULL) 
     STPW2B   BAL   SCC,STSKIPW        SKIP TO NEXT PW ON LINE, IF ANY 
              B     STPW2C             GOT ONE 
              TM    SWS2,BATCHM        2ND PW NOT ON SAME LINE, IS IT BATCH? 
              BO    STPW2F             IF SO SKIP THE CONFIRMATION 
              FMSG  190,*,TYPE=M 
              BAL   SCC,STGETPW        BETTER READ A LINE 
     STPW2C   LA    GR3,SETPW2         THE 2ND PASSWORD IS UP NEXT 
              BAL   SCC,STMOVPW        MOVE THE PW INTO SETPW2 
              CLC   SETPW1,SETPW2      DO THEY MATCH? 
              BE    STPW2E             YES 
     STPW2D   FMSG  184,STPWXIT,TYPE=M 1ST AND 2ND NEW PASSWORDS DON'T MATCH 
     STPW2E   BAL   SCC,STSKIPW        CHECK FOR JUNK AT END OF LINE 
              B     STPW2D             FOUND JUNK 
     STPW2F   BAL   SCC,STNPW          ENCODE AND SET THE NEW PASSWORD 
              B     STPWXIT            EXIT 
              SPACE 2 
     *  CALLS CONTROL TO BLANK MSOURCE, READS A LINE AND RETURNS 
     *  WITH THE LENGTH+1 IN GR0 AND A POINTER TO THE TEXT IN GR2 
              SPACE 
     STGETPW  DS    0H 
              CALL  CONTROL,(STBLANK,STBLEN,MSOURCE),VL,                    @ 
                    MF=(E,STCTLPAR),LIT=YES       BLANK THE INPUT LINE 
              BAL   GR14,GUSEREOF 
              LTR   GR15,GR15          CHECK RC 
              BZ    STGETPWA 
     STPWNC   FMSG  191,STPWXIT,TYPE=M  PW NOT CHANGED - EXIT 
     STGETPWA LH    GR2,0(,GR1)        GET THE LENGTH 
              LA    GR0,1(,GR2)        ADD ONE 
              LA    GR2,2(,GR1)        ADDRESS OF TEXT 
              BR    SCC                RETURN 
              SPACE 
     STBLANK  DC    C'BLANK=12 ' 
     STBLEN   DC    Y(L'STBLANK) 
              SPACE 2 
     *  CALLED TO MOVE THE PW INTO THE REGION POINTED TO BY GR3 
     *  ON ENTRY GR2 POINTES TO START OF TEXT, GR0 HAS REMAINING 
     *  LENGTH PLUS ONE.  ON EXIT GR0 AND GR2 ARE UPDATED. 
              SPACE 
     STMOVPW  DS    0H 
              MVC   0(12,GR3),=CL12' ' A FEW BLANKS TO START 
              LR    SCA,GR2            MAKE AN EXTRA COPY 
     STMOVPWA CLI   0(SCA),C' '        A BLANK? 
              BE    STMOVPWB 
              CLI   0(SCA),C','        A COMMA? 
              BE    STMOVPWB 
              LA    SCA,1(,SCA)        NEXT CHAR. 
              BCT   GR0,STMOVPWA       THIS CAN'T FAIL 
              B     STPWNC             BUT JUST IN CASE 
     STMOVPWB LR    GR1,SCA            ANOTHER COPY 
              SR    GR1,GR2            THIS GIVES THE LENGTH 
              CH    GR1,=H'12'         TOO BIG? 
              BNH   STMOVPWC           NO 
              FMSG  197,STPWXIT,TYPE=M  PW TOO LONG 
     STMOVPWC LTR   GR1,GR1            NULL PW? 
              BZR   SCC                YUP, RETURN BLANKS 
              BCTR  GR1,0              IBM LENGTH 
              EX    GR1,STPWMVC        MOVE IT TO 0(GR3) 
              LR    GR2,SCA            NEW TEXT POINTER 
              BR    SCC                RETURN 
              SPACE 2 
     *  CALLED TO SCAN FOR A 2ND PW ON A LINE, RETURNS 0(SCC) 
     *  IF A 2ND PW IS FOUND AND 4(SCC) IF NOT.  GR2 CONTAINS 
     *  A POINTER TO THE REMAINING TEXT AND GR0 THE LENGTH ON ENTRY. 
     *  GR0 AND GR2 ARE UPDATED ON EXIT. 
              SPACE 
     STSKIPW  DS    0H 
              CLI   0(GR2),C' '        SKIP OVER BLANKS 
              BE    STSKIPWA 
              CLI   0(GR2),C','        SKIP OVER COMMAS 
              BNER  SCC                NOT BLANK OR COMMA RETURN 
     STSKIPWA LA    GR2,1(,GR2)        ON TO NEXT 
              BCT   GR0,STSKIPW        LOOP 
              B     4(,SCC)            OOPS, RAN OUT OF LINE 
              SPACE 2 
     *  CALLED TO ENCODE AND SET THE NEW PW, USES THE PW TEXT 
     *  FROM SETPW1 
              SPACE 
     STNPW    DS    0H 
              MVC   SCRATCH2(12),SETPW1 GET THE NEW PW 
              LR    GR3,SCC 
              BAL   GR14,PWM           ENCODE IT 
              MVC   SAVEPW(4),SCRATCH2 SAVE IT FOR LATER 
              SVC   BINTIME 
              D     GR0,=F'60000000'   TIME IN MINS. 
              ST    GR1,SAVEPW+4       SAVE THIS TOO 
              BR    GR3                RETURN ADDRESS WAS MOVED HERE 
              SPACE 2 
     *  CALLED TO DO OLD PW CONFIRMATION IF REQUESTED BY USER 
     *  AND OPERATING IN TERMINAL MODE. 
              SPACE 
     STOPWC   DS    0H 
              TM    SWS19,PWCONF       USER REQUEST THIS? 
              BOR   SCC                ON=OFF IS THIS MIXED UP WORLD 
              TM    SWS2,BATCHM        IF BATCH 
              BOR   SCC                THEN RETURN 
              FMSG  192,*,TYPE=M       ENTER OLD USER PASSWORD 
              LR    GR3,SCC            SAVE THIS HERE FOR NOW 
              BAL   SCC,STGETPW 
              LR    GR15,GR3           AND NOW HERE 
              LA    GR3,SCRATCH2       WHERE WE WANT THE PW TO BE 
              BAL   SCC,STMOVPW        MOVE IT 
              BAL   SCC,STSKIPW        CHECK FOR JUNK AT END OF LINE 
              B     STOPWCA            FOUND JUNK 
              BAL   GR14,PWM           ENCODE IT, CLOBBERS SCA, SCB, SCC 
              CLC   ACCPW,SCRATCH2     CHECK IT 
              BER   GR15               THIS IS WHERE WE HIDE THE LINK 
              CLC   SAVEPW(4),SCRATCH2 A 2ND CHANGE 
              BER   GR15 
     STOPWCA  FMSG  193,STPWXIT,TYPE=M PASSWORD INCORRECT - RETURN 
              SPACE 
              DROP  SCD 
              SPACE 3 
     /END NEWPW 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4145
+                                                            4145
+                                                            4145
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. SIGMCD  - MOVE COPY:RATEVEC INTO THEDSECT TO KEEP  SIGMCD HAPPY 
     /BEGIN SIGMCD 
     /COPY "UNLTCH " 
     /COPY "* " 
     /COPY C=3 
     /SKIP C=1 
     /COPY C=4 
     /SKIP C=1 
     /END SIGMCD 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4146
+                                                            4146
+                                                            4146
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. SIGBATCH  - GIVE THE USER ONLY ONE CHANCE TO ENTER A SIGNON 
     /.             COMMAND IN BATCH. 
     /BEGIN SIGBATCH 
     /COPY 'SYGNE ' 
     /COPY C=4 
     /EDIT HOLD '7' = '6' 
     /EDIT 'SIGNOFF' = 'SIGNOF' 
     /COPY 'SYGNUNA ' 
              TM    SWS2,BATCHM 
              BO    SYGNOFNL            ONE CHANCE IN BATCH! 
     /END SIGBATCH 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4147
+                                                            4147
+                                                            4147
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  SIGNOFF -- Make parsing of $SIGNOFF parameters (LONG, SHORT, $) 
     /.             done by KWSCAN. 
     /.             Change prompted by UBC change to MTS 
     /BEGIN SIGNOFF 
     /COPY "SYGNOFC " 
     /SKIP BEFORE NEXT "B " NEXT "SYGNOF" 
              L     GR0,INREGP         SEE IF ANY PARAMETERS 
              LTR   GR0,GR0 
              BZ    SYGNOF             -> NONE 
     * 
              LA    GR1,INREG          COMPUTE REMAINDER OF INPUT 
              S     GR1,INREGP 
              A     GR1,INREGL 
              STH   GR1,SCRATCH        TO PASS TO KWSCAN 
              L     GR2,INREGP         TEXT POINTER TO KWSCAN 
              XR    GR3,GR3            SPELLING CORRECTION BITS 
              IC    GR3,SPELCOR 
              SLL   GR3,14 
              LA    GR3,7(,GR3)        + PRINT, PROMPT, MULTIPLE 
              ST    GR3,SCRATCH+4      SWITCHES 
              L     GR13,KWSAVE 
              CALL  KWSCAN,(=Y(SIGOFLTL),SIGOFLT,SIGOFEXT,(GR2),SIGOFRHT,SCRX 
                    ATCH,SCRATCH+4,0),MF=(E,SCRATCH+8) 
              LTR   GR15,GR15 
              BNZ   INLOOP             -> ABORT IF BAD RC 
     * 
              TM    SWS2,BATCHM 
              BZ    SYGNOF             -> DO WHAT USER SAID IF TERMINAL 
              MVI   SYGTYPE,0          OTHERWISE FORCE LONG SIGNOFF 
     /COPY ".S370M3 " 
              SPACE 3 
     *        SIGNOFF EXECUTE TABLE 
              SPACE 1 
     SIGOFEXT DS    0H 
     SIGOFSHO MVI   SYGTYPE,1          SHORT 
     SIGOF$   MVI   SYGTYPE,2          $ 
     SIGOFLON MVI   SYGTYPE,0          LONG 
              SPACE 3 
     /SKIP C=1 
     /COPY C=1 
     /SKIP C=1 
              SPACE 1 
     /COPY "LSOL " 
              SPACE 3 
     SIGOFLT  DC    AL1(SIGOFRHT-SIGOFRHT,0,0)   $SIGNOFF LEFT-HAND TABLE 
     SIGOFLTL EQU   *-SIGOFLT 
              SPACE 2 
     SIGOFRHT DC    AL1(20,SIGOFSHO-SIGOFEXT,6,1),C'SHORT' 
              DC    AL1(1,SIGOF$-SIGOFEXT,1),C'$' 
              DC    AL1(20,SIGOFLON-SIGOFEXT,5,1),C'LONG' 
              DC    X'FF' 
     /END SIGNOFF 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4148
+                                                            4148
+                                                            4148
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  REPLINN  --  Replace all usages of LINNBR in the system with 
     /.               calls to LINENBR, which never makes sideways 
     /.               branch. 
     /BEGIN REPLINN 
     /COPY "DELSFT " 
     LINENBR  ROUTINE EXTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,3)) 
     /COPY "NUMBB " 
     /EDIT "SCC" = "GR1" 
     /EDIT "SCC,SCC" = "GR1,GR1" 
     /COPY C=1 
     /EDIT "SCC" = "GR1" 
     /COPY C=1 
     /EDIT "SCC" = "GR1" 
     /DELETE NEXT "BAL" NEXT "GR14,LINNBRN" 
              RICALL LINENBR(A(255),,AFD)   TRY FOR STARTINGNUMBER 
     /COPY BEFORE NEXT "C" NEXT "GR0," 
     /EDIT F=3 "0" = "2" 
     /COPY C=1 
     /EDIT F=3 "0" = "2" 
     /DELETE NEXT "LR" 
     /EDIT "SCC" = "GR1" 
     /COPY C=1 
     /EDIT "SCC" = "GR1" 
     /COPY C=1 
     /EDIT HOLD "SCC" = "GR1" 
     /EDIT "SCC" = "GR1" 
     NUMFSP   LR    SCC,GR2             COPY BEGINNING LINE NUMBER 
     /SKIP C=1 
              RICALL LINENBR(A(255),,AFD)   TRY FOR INCREMENT 
     /COPY BEFORE NEXT "C" NEXT "GR0," 
     /EDIT "GR0" = "GR2" 
     /COPY C=1 
     /EDIT "GR0" = "GR2" 
     /COPY C=1 
     /EDIT "SCC" = "GR1" 
     /COPY C=1 
     /BUFFER NUMSSP 
     /DELETE "NUMSSP " 
     NUMOK    LTR   SCA,GR1            CHECK FOR EXTRA PARAM 
              BZ    *+8                -> NONE, SKIP NEXPARB CALL 
     /COPY C=2 
     /BUFFER END 
     /EDIT HOLD "      " = "NUMSSP" 
     /EDIT "GR0" = "GR2" 
     /EDIT "SCD" = "SCC" 
     /INCLUDE NUMSSP 
     /EDIT F=1 "NUMOK" = "" 
     /COPY "NUMSTD " 
              LR    GR2,SCC            DEFINE INCREMENT, TOO 
     /SKIP NEXT "B" NEXT "NUMOK" 
              B     NUMSSP 
     /COPY BEFORE "NUMSTD1 " 
     /EDIT "SCD" = "GR2" 
     /COPY BEFORE "NUMSTD2 " 
     NUMSTD2  LR    SCC,GR2            COPY OVER STARTINGNUMBER 
     /EDIT HOLD "NUMSTD2" = "       " 
     /EDIT F=3 "0" = "GR2" 
     /COPY BEFORE "NUMCFB " 
     /EDIT "SCC" = "GR1" 
     /COPY C=1 
     /EDIT "SCC" = "GR1" 
     /COPY C=3 
     /EDIT "SCC" = "GR1" 
     /EDIT "SCA" = "GR1" 
     /COPY C=1 
     /EDIT "SCA" = "GR1" 
     /COPY C=1 
     /EDIT "SCC" = "GR1" 
     /COPY C=3 
     /EDIT "SCC" = "GR1" 
     /END REPLINN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4149
+                                                            4149
+                                                            4149
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  UBCFRBUG -- Fix bug in altering and displaying FRS.  Fixed by 
     /.              UBC update, included here. 
     /BEGIN UBCFRBUG 
     /COPY "DYSPLB20 " 
     /DELETE NEXT "SLL" NEXT "SCA,3" 
              SLL   SCA,2              (FRS ARE ALREADY MULTIPLES OF 2) 
     /COPY "ALTC2 " 
     /DELETE NEXT "SLL" NEXT "SCD,3" 
              SLL   SCD,2              (FRS ARE ALREADY MULTIPLES OF 2) 
     /END UBCFRBUG 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4150
+                                                            4150
+                                                            4150
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  GIGO  --  Install GETINTCC and GETOUTTC subroutines in MTS. 
     /.            Make changes in signoff procedure to use them. 
     /BEGIN GIGO 
     /COPY "GROD " 
     /DELETE NEXT "L" NEXT "GR15,ASETKEY" 
     /SKIP NEXT "XC" NEXT "ASETFSAV" 
     /DELETE NEXT "SR" NEXT "GR3,GR3" 
     /COPY BEFORE NEXT "BZ" NEXT "SYGNODES" 
     /EDIT F=3 "DES" = "DET" 
     /DELETE "SYGTPI " 
     /SKIP C=1 
     /EDIT "      " = "SYGTPI" 
     /EDIT F=3 "GETIN" = "GETINTC" 
     /SKIP C=1 
     /EDIT "SYGDHP" = "      " 
     /DELETE "SYGNODES " 
     /SKIP BEFORE "SYGNODET " 
     /COPY "SINTNB " 
     /COPY NEXT "STH" NEXT "SCA,CLSCMDID" 
              BAL   GR14,GETOUTTC      THROW AWAY LFTC JUNK NOW 
     /COPY "DYSPLA2 " 
     /SKIP NEXT "BNZ " 
     /COPY "DDA5 " 
     /DELETE NEXT "XC" NEXT "ADYSSUB" 
     /END GIGO 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4151
+                                                            4151
+                                                            4151
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  STOP  --  Make change to DSROFF and ERRRTN so that signoffs will 
     /.            be forced even if in a gated subroutine.  This means 
     /.            that tasks waiting in the DSR during a call to READ 
     /.            from a user subroutine will stop, rather than 
     /.            having to be blasted or some similar violent act. 
     /BEGIN STOP 
     /COPY "DSROFF " 
     /DELETE NEXT "TM" NEXT "SWSP1,GATED" 
     /SKIP C=1 
     /COPY "ERRRTN " 
     /COPY "ERROFF " 
     /DELETE NEXT "TM" NEXT "SWSP1,GATED" 
     /SKIP C=1 
     /END STOP 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4152
+                                                            4152
+                                                            4152
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  NOPW  --  Define mechanism whereby DSR may request that a signon 
     /.            not require a password. 
     /BEGIN NOPW 
     /COPY "SIGPAST " 
     /DELETE NEXT "TM" NEXT "SWS7" 
     /SKIP C=1 
              TM    SWS7,NOPWN+NOPWN2  PASSWORD NEEDED? 
              BNZ   SYGNPW             -> NO PW IF BNCH OR DSR REQUESTED 
     /COPY "SYGNOFX " 
     /DELETE NEXT "CLI" NEXT "JOBTYPE" 
     /SKIP BEFORE "SYGNOTF " 
     /DELETE "STARMVC " 
     /SKIP C=1 
     /END NOPW 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4153
+                                                            4153
+                                                            4153
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  CMDS  (636/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  UNLFIX  --  Fix a couple of potential problems in UNLI/UNLC 
     /.              which could cause buffer release snarks if user hangs 
     /.              up at critical moment. 
     /BEGIN UNLFIX 
     /COPY "UNLCF " 
     /COPY NEXT "BALR " 
              L     GR1,CLSPTR+EXECFLG*4 
              XC    CLSUDP-CLSAREA(4,GR1),CLSUDP-CLSAREA(GR1)               * 
                                       ZERO POINTER TO USER CLS EXTENSION 
     /COPY "UNLNOUND " 
     /COPY BEFORE NEXT "BZ" 
     /EDIT F=3 "8" = "12" 
              ST    SCA,CLSPGNSA       ZERO POINTER BEFORE HIABYMH 
     /DELETE NEXT "ST" NEXT "SCA" 
     /COPY BEFORE NEXT "BZ" 
     /EDIT F=3 "8" = "12" 
              ST    SCA,CLSATNSA       ZERO POINTER BEFORE HIABYMH 
     /DELETE NEXT "ST" NEXT "SCA" 
     /DELETE NEXT "ST" NEXT "SCA,CLSUDP" 
     /END UNLFIX 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4154
+                                                            4154
+                                                            4154
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  DSRI  (639/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. CHKMODS  -  GET DSRI TO CHECK THE MODIFIER WORD IN A 
     /.             more controlled way then getting a PGNT behind 
     /.             the GATE. 
     /BEGIN CHKMODS 
     /COPY 'GIOIO ' 
     /COPY C=5 
              BPI   OPND,GIOBP 
     /COPY C=2 
              C     GR1,0(SCC)  NOT REALLY A COMPARE, JUST CHECKING ADDR. 
              BPI   OPND,GIOBP 
     /END CHKMODS 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4155
+                                                            4155
+                                                            4155
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  DSRI  (639/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. FIXLNR  -  Change to deal with line numbers bigger than 
     /.            999999.999 or smaller than -99999.999. 
     /BEGIN FIXLNR 
     /COPY 'GIOSIJ2 ' 
     /COPY C=3 
     /EDIT  'PUTDEC' = 'PUTLNR' 
     /END FIXLNR 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4156
+                                                            4156
+                                                            4156
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  DSRI  (639/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. CONJUNK - Check for junk at the end of $CONTINUE WITH lines. 
     /BEGIN CONJUNK 
     /COPY 'GIOSIQC ' 
     /COPY C=3 
     /EDIT "=F'16'" = "=A(L'CONTW)" 
     /COPY C=2 
     /EDIT "(15)" = "(L'CONTW)" 
     /COPY C=1 
     /EDIT "(15)" = "(L'CONTW)" 
     /EDIT "(15)" = "" 
     /COPY C=1 
     /SKIP BEFORE 'GIOSIQBB ' 
              CH    SCC,=H'16'          IF IT ISN'T THIS LONG THEN 
              BL    GIOICGBG            IT IS WRONG 
              CLI   14(SCA),C' '        AND IF THIS ISN'T A BLANK 
              BNE   GIOICGBG            THAT IS AN ERROR TOO 
              LA    SCA,L'CONTW(,SCA)   ADVANCE PAST THIS 
              LR    SCB,SCC             LENGTH 
              SH    SCB,=Y(L'CONTW)     REMAINING LENGTH 
              BAL   GR14,NEXPAR         FIND NEXT PAR - FDNAME I HOPE 
              BZ    GIOICGBG            NO FDNAME, ERROR 
              LR    SCC,SCA             SAVE POINTER TO FDNAME 
              LR    GR15,SCB            SAVE REMAINING LENGTH FOR MVCL 
              BAL   GR14,NEXPAR         FIND ANYTHING ELSE 
              BZ    GIOICP              NOPE, CAN'T BE RETURN THEN 
              CH    SCB,=H'6'           LONG ENOUGH FOR "RETURN" 
              BL    GIOICGBG            NOPE, JUNK AT END 
              MVC   SCRATCH(6),0(SCA)   MOVE TO SAFE PLACE 
              L     GR14,=V(CASECONV) 
              TR    SCRATCH(6),0(GR14)  TO UPPER CASE 
              CLC   =C'RETURN',SCRATCH  SOMETHING WE LIKE? 
              BNE   GIOICGBG            NO, GARBAGE AT END 
              CH    SCB,=H'6'           ANYTHING MORE? 
              BE    GIOICRET            NO, THEN GO FLAG IT 
              CLI   6(SCA),C' '         MUST BE A BLANK OR ELSE 
              BNE   GIOICGBG            NOT BLANK, TRASH 
              BAL   GR14,NEXPAR         ANYTHING MORE? 
              BNZ   GIOICGBG            YUP, JUNK 
     GIOICRET SR    GR3,GR3             FLAG, NO "RETURN" 
              B     GIOFDG 
              SPACE 
     GIOICP   LA    GR3,1               FLAG "RETURN" 
              LA    SCA,0(SCC,GR15)     SCA=FDNAME+REM-LENGTH 
              CLI   0(SCA),C' '         A BLANK AFTER FDNAME? 
              BPI   OPND,GIOICP1        NOT A BLANK I GUESS 
              BE    GIOFDG              YES, WHAT LUCK 
     GIOICP1  LR    GR0,SCC             POINTER TO FDNAME 
              LR    GR14,SCC            POINTER TO FDNAME FOR MVCL 
              BCTR  GR0,0               LESS ONE FOR MVCL 
              LR    SCC,GR0             FDGET WILL WANT THIS LATER 
              LR    GR1,GR15            GR15 HAS THE REMAINING LENGTH 
              MVCL  GR0,GR14            MOVE IT ALL DOWN BY ONE 
              BCTR  SCA,0 
              MVI   0(SCA),C' '         AND ADD A BLANK AT THE END 
     GIOFDG   C     SCD,MSOURCE         ATTEMPT TO CHANGE MSOURCE? 
              BE    GIOCCMS             YUP, CAN'T ALLOW THAT 
              BAL   GR14,FDGET          GET FDUB - SCC HAS POINTER TO FDNAME 
              BAL   GR14,BLANKIT        CLEAN UP THE MESS 
              B     GIOREPT 
              SPACE 2 
     GIOCCMS  FMSG  82,ERRSAV,TYPE=M        CAN'T CHANGE MSOURCE 
              SPACE 2 
     GIOICGBG FMSG  169,*,TYPE=M       INVALID  $CONTINUE WITH 
              TM    SWS2,BATCHM        BATCH? 
              BO    GIOICGB1           ALWAYS IN BATCH 
              LR    SCA,SCD 
              L     SCB,MSOURCE 
              BAL   GR14,CLFDUB        $C...W READ FROM MSOURCE? 
              BE    ERRSAV 
     GIOICGB1 LA    GR1,256            A PLACE TO PUT THE FDNAME 
              BAL   GR14,PABOSFTC 
              LR    SCA,GR1            SAVE THIS FOR LATER 
              L     SCB,FDUBNAME 
              LH    SCC,0(,SCB)        HW LENGTH OF THE FDNAME 
              BCTR  SCC,0              IBM LENGTH OF THE FDNAME 
              EX    SCC,GIONMVC 
              LA    SCB,1(SCA,SCC)     ONE PAST END OF FDNAME 
              MVI   0(SCB),C' '        DELIM FOR MSG ROUTINE 
              LA    SCB,FDUBCL         ADDRESS OF CURRENT LINE# 
              FMSG  183,*,TYPE=M       INVALID $CONTINUE WITH ... 
              LR    GR1,SCA 
              BAL   GR14,TABOSFTC      CLEAN UP 
              B     ERRSAV             GET THE HELL OUT 
              SPACE 
     GIONMVC  MVC   0(0,SCA),2(SCB)    EXECUTED TO MOVE EXTERNAL FDNAME 
              EJECT 
     /COPY BEFORE 'CONTW ' 
     /EDIT "WITH " = "WITH" 
     /END CONJUNK 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4157
+                                                            4157
+                                                            4157
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  DSRI  (639/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. MOVEMAKE - MOVE THE MAKE MACRO FROM COPY:MTS.MACROS TO DSRI 
     /BEGIN MOVEMAKE 
     /COPY C=1 
              MACRO 
              MAKE  &NAME,&LABEL= 
              DC    CL8'&NAME' 
              USING *,GR15 
              AIF   (T'&LABEL EQ 'O').L1 
     &LABEL   SAVE  (14,12),T 
              ENTRY &LABEL 
              AGO   .L2 
     .L1      ANOP 
     &NAME    SAVE  (14,12),T 
              ENTRY &NAME 
     .L2      ANOP 
              AIF   ('&NAME' EQ 'READ' OR '&NAME' EQ 'WRITE').L3 
              SR    SCA,SCA 
              LA    SCC,&NAME.I*4 
     .L4      L     GR5,LGIOSP2 
              BR    GR5 
              DROP  GR15 
              SPACE 5 
              AGO   .END 
     .L3      L     SCB,16(1) 
              AIF   ('&NAME' EQ 'READ').L5 
              LA    SCA,8 
              AGO   .L4 
     .L5      LA    SCA,4 
              AGO   .L4 
     .END     MEND 
     /SKIP C=1 
              SPACE 5 
     /COPY NEXT 'SETPARM' 
     /SKIP C=1 
              EJECT 
     /COPY 'CALLNOHO ' 
     /COPY C=8 
     /SKIP C=1 
              SPACE 
     /END MAKEMOVE 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4158
+                                                            4158
+                                                            4158
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  DSRI  (639/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. GOODMSGS - FIX THE DSRI MESSAGE "... CALL USES ILLEGAL PARS..." 
     /.            UP TO SAY JUST WHAT IS WRONG 
     /BEGIN GOODMSGS 
     /COPY NEXT 'MAKE' 
              DS    0H                 START ON A HALFWORD TO BE SAFE 
     /COPY NEXT "DC" NEXT "CL8'&NAME'" 
              DC    CL4'    '          TO GIVE THE MSG ROUTINES A DELIM. 
     /COPY '.L3 ' 
              BPI   OPND,GIOERR1 
     /COPY 'GIOSPP ' 
     /EDIT 'GIOBPNF' = 'GIOERR3' 
     /COPY 'GIOSPOO ' 
     /EDIT 'GIOBP' = 'GIOERR4' 
     /COPY BEFORE NEXT 'BPI' NEXT 'OPND,GIOBP' 
     /EDIT 'GIOBP' = 'GIOERR4' 
     /COPY 'GIONOTO ' 
     /EDIT 'GIOZFDB' = 'GIOERR5' 
     /COPY 'GIORDWR ' 
     /EDIT 'GIOBPNF' = 'GIOERR6' 
     /COPY 'GIORW5 ' 
     /COPY C=1 
     /EDIT 'GIOBPNF' = 'GIOERR6' 
     /COPY BEFORE NEXT 'BNZ' NEXT 'GIOBPNF' 
     /EDIT 'GIOBPNF' = 'GIOERR12' 
     /COPY 'GIOBTCH ' 
     /COPY C=1 
     /EDIT 'LR ' = 'LTR' 
              BZ    GIOSAV 
     /COPY 'GIOIO ' 
     /COPY C=1 
     /EDIT 'GIOBP' = 'GIOERR2' 
     /COPY C=3 
     /EDIT 'GIOBP' = 'GIOERR2' 
     /COPY C=3 
     /EDIT 'GIOBP' = 'GIOERR7' 
     /COPY BEFORE 'GIOCKLN ' 
     /SKIP C=1 
     GIOCKLN  CLI   12+1(GR1),USERSEG*16  CHECK LINE# 
              BPI   OPND,GIOERR2          BAD PAR 
              BL    GIOERR8               MUST BE ABOVE SYS. SEGMENT 
     /COPY C=2 
     /SKIP C=2 
              CLI   0+1(GR1),USERSEG*16   CHECK BUFFER 
              BL    GIOERR9 
              CLI   4+1(GR1),USERSEG*16   CHECK LENGTH 
              BL    GIOERR10 
     /COPY C=1 
     /EDIT 'GIOBP' = 'GIOERR10' 
     /COPY C=3 
     /EDIT 'GIOSLE' = 'GIOERR11' 
     /COPY C=2 
     /EDIT 'GIOBP' = 'GIOERR9' 
     /COPY 'GIONIC ' 
     /EDIT 'GIOBP' = 'GIOERR2' 
     /COPY BEFORE NEXT 'BPI' 
     /EDIT 'GIOBP' = 'GIOERR7' 
     /COPY 'GIOSIS ' 
     /COPY C=10 
     /EDIT 'GIOBP' = 'GIOERR10' 
     /COPY 'GIOSIS3A ' 
              BPI   OPND,GIOERR2 
     /COPY C=1 
     /EDIT 'GIOBP' = 'GIOERR8' 
     /COPY 'GIOSIS2 ' 
     /COPY C=6 
     /EDIT 'GIOBP' = 'GIOERR10' 
     /COPY 'GIOSIZ3 ' 
     /COPY C=1 
     /EDIT 'GIOBP' = 'GIOERR8' 
     /COPY 'GIOSII2 ' 
     /COPY C=1 
     /EDIT 'GIOBP' = 'GIOERR8' 
     /COPY BEFORE 'GIOSLE ' 
     /SKIP 'GIOBPM' 
              EJECT 
     *   IF YOU GET TO THIS PART OF THE CODE IT MEANS THAT ONE OR 
     *   MORE OF THE PARAMETERS TO THE I/O CALL WERE BAD, AND WE 
     *   NEED TO PRODUCE AN ERROR MESSAGE AND EXIT.  MOST OF THE 
     *   DIRTY WORK IS LEFT TO THE MSG ROUTINES WHICH ARE CALLED 
     *   BY FMSG. 
              SPACE  2 
              PUSH  USING 
              DROP 
              SPACE 
     GIOERR1  BALR  GR5,0               NEED A GOOD LOCAL BASE 
              USING *,GR5 
              L     GR5,LGIOSP          JUST LIKE EVERONE ELSE 
              DROP  GR5 
              USING GIOSP,GR5 
              L     GR10,LGIOSP+4 
              USING GIOSP+4096,GR10 
              HWIMB 1,N=7 
              USING DSCT,GR4 
              LM    GR11,GR12,COMBASE 
              DROP 
              POP   USING               BACK TO NORMAL 
              SR    SCD,SCD             NO FDUB 
              SR    GR2,GR2             NO SWITCHES TO START 
              LA    GR14,0(GR14)        COME THROUGH THE GATE? 
              C     GR14,=V(GATEOUT) 
              BE    *+8                 YES 
              LA    GR2,FDUBNOG         NO - FLAG IT FOR LATER 
              CHKPAR NOTIFY=GIOERR2     TURN OFF MODE CHANGE IF NEC. 
              O     GR2,=A(FDUBPRC)     REMEMBER 
              SPACE 
     GIOERR2  TM    0(GR1),0 
              BPI   OPND,GIOERR2A 
              BAL   GR1,GIOERR 
              FMSG  172,GIOBTCH,TYPE=M  PART OF PAR LIST ISN'T ADDR. 
              SPACE 
     GIOERR2A BAL   GR1,GIOERR 
              FMSG  173,GIOBTCH,TYPE=M  ALL OF PAR LIST ISN'T ADDR. 
              SPACE 
     GIOERR3  LR    SCD,GR2 
     GIOERR4  BAL   GR1,GIOERR 
              FMSG  174,GIOBTCH,TYPE=M  INVLAID FDNAME POINTER 
              SPACE 
     GIOERR5  BAL   GR1,GIOERR 
              FMSG  175,GIOBTCH,TYPE=M  INVALID FDUB 
              SPACE 
     GIOERR6  LR    SCD,GR2 
              BAL   GR1,GIOERR 
              FMSG  176,GIOBTCH,TYPE=M  UNIT PAR IS NOT ADDR. 
              SPACE 
     GIOERR7  BAL   GR1,GIOERR 
              FMSG  177,GIOBTCH,TYPE=M  MODS NOT ADDRESSABLE 
              SPACE 
     GIOERR8  BAL   GR1,GIOERR 
              FMSG  178,GIOBTCH,TYPE=M  LINE# NOT ADDRESSABLE 
              SPACE 
     GIOERR9  BAL   GR1,GIOERR 
              FMSG  179,GIOBTCH,TYPE=M  I/O BUFFER IS NOT ADDRESSABLE 
              SPACE 
     GIOERR10 BAL   GR1,GIOERR 
              FMSG  180,GIOBTCH,TYPE=M  LENGTH IS NOT ADDRESSABLE 
              SPACE 
     GIOERR11 BAL   GR1,GIOERR 
              FMSG  181,GIOBTCH,TYPE=M  OUTPUT CALL USES NEG. LENGTH 
              SPACE 
     GIOERR12 BAL   GR1,GIOERR 
              FMSG  182,GIOBTCH,TYPE=M  UNIT PAR. IS INVALID 
              SPACE 2 
     *  THIS ROUTINE IS CALLED ON GR1, IT SETS SCA TO POINT AT THE 
     *  CALLER'S GR14 ADDRESS AND SCB TO POINT AT THE NAME OF THE 
     *  CALLED ROUTINE. 
              SPACE 
     GIOERR   LA    SCB,=C'I/O '                A NAME TO USE IF NO OTHER 
              L     SCA,16(,GR13)               SEARCH FOR A BETTER NAME 
              LA    SCA,0(,SCA) 
              CL    SCA,=A(GIOENTRY) 
              BL    GIOERRA                     TOO LOW 
              CL    SCA,LGIOSP 
              BNL   GIOERRA                     TOO HIGH 
              SL    SCA,=F'12'                  BACK UP TO NAME 
              LR    SCB,SCA                     ADDRESS OF NAME TO USE 
     GIOERRA  DS    0H 
              LA    SCA,12(,GR13)               CALLER'S GR14 IN SA 
              L     SCD,0(,SCA) 
              LA    SCD,0(,SCD)                 CLEAN IT 
              C     SCD,=V(GATEOUT)             IS THE GATE IN THE WAY? 
              BNE   GIOERRB 
              LA    SCA,GATER14 
     GIOERRB  BR    GR1                         BACK WE GO 
     /END GOODMSGS 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4159
+                                                            4159
+                                                            4159
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  DSRI  (639/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================ 
     /.  EOFJUNK  --  Check for junk following $ENDFILE card. 
     /BEGIN EOFJUNK 
     /COPY "GIOSIQU " 
              CH    SCC,=Y(L'EOF)      LONG ENOUGH FOR $ENDFILE? 
              BL    GIOSIQC            -> NO WAY, JOSE 
     /COPY C=1 
     /EDIT F=3 "8" = "L'EOF" 
     /COPY C=1 
     /EDIT F=3 "8" = "L'EOF" 
     /EDIT F=3 "=C'$ENDFILE'" = "EOF" 
     /COPY BEFORE "ISENDFIL " 
              B     GIOSIQUE           -> OK, GOT-UM ENDFILE 
              SPACE 
     ISENDFIL LR    SCB,SCC            COPY OVER COUNT FOR NEXPAR 
              SH    SCB,=Y(L'EOF) 
              BNP   GIOSIQUE           -> NOTHING LEFT, OK ENDFILE 
              AH    SCA,=Y(L'EOF) 
              CLI   0(SCA),C' ' 
              BNE   GIOEOFBG           -> NOT A BLANK AT END, BUM ONE 
              BAL   GR14,NEXPAR 
              BNZ   GIOEOFBG           -> EXTRA STUFF, BUM ONE 
     /EDIT "ISENDFIL" = "GIOSIQUE" 
     /COPY BEFORE "GIOICGBG" 
     GIOEOFBG FMSG  37,GIO##BG,TYPE=M  INVALID $ENDFILE ... 
     /COPY C=1 
     /EDIT "       " = "GIO##BG" 
     /COPY "BINEOF " 
     EOF      DC    C'$ENDFILE' 
     /END EOFJUNK 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4160
+                                                            4160
+                                                            4160
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  DSRI  (639/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================ 
     /.  NOPW  --  Define mechanism whereby DSR may request that no 
     /.            password is needed for this signon. 
     /BEGIN NOPW 
     /COPY "GIONTFY " 
     /SKIP BEFORE NEXT "BR" NEXT "14" 
              LA    GR0,1              REGULAR-TYPE NOTIFY 
              CLI   FDBDSRSW,2         DID DSR SAY NO PASSWORD, TOO? 
              BNE   *+8 
              LA    GR0,4+1            INCLUDE IRREGULAR ONE FROM DSR 
              L     14,12(,13) 
              LM    1,12,24(13) 
              XR    15,15 
     /COPY "GIOSIRA " 
     /COPY NEXT "SR" 
              CLI   FDBDSRSW,2 
              BNE   *+8                -> NO NO PASSWORD NOTIFICATION 
              LA    SCB,4 
     /END NOPW 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4161
+                                                            4161
+                                                            4161
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  DSRS  (637/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. FIXHADDD - FIX THIS TO USE THE STACK (AND NOT LOOP) 
     /BEGIN FIXHADDD 
     /COPY 'DSRS ' 
     /COPY NEXT 'ENTRY' NEXT 'PCHCLOS,PTRCLOS' 
     /COPY C=1 
     ZHADDDA  ROUTINE EXTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(2,0)) 
              SPACE 5 
     /COPY 'HCTHOLD ' 
     /COPY C=3 
     /SKIP C=5 
              RICALL ZHADDDA(,HCTLDR)  GO HOLD IT 
     /END FIXHADDD 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4162
+                                                            4162
+                                                            4162
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  DSRS  (637/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  REPLINN -- Replace calls to LINNBRN in system with calls to 
     /.             new routine LINENBR which never takes the sidewasy 
     /.             branch. 
     /BEGIN REPLINN 
     /COPY "ZHADDDA " 
     LINENBR ROUTINE EXTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,3)) 
     /COPY "PEEL " 
     /COPY NEXT "LR" NEXT "SCC,SCB" 
     /EDIT "SCC" = "GR1" 
     /EDIT "GR1" = "SCC" 
     /EDIT "GR1,0(,GR1)" = "GR0,0(,SCC)" 
     /SKIP C=2 
              LA    GR3,0(,GR1)        CLEAN AND COPY 
     /SKIP BEFORE "PEEL1 " 
              STM   GR14,GR15,PEELSAV  I WISH I DIDN'T HAVE TO DO THIS 
              RICALL LINENBR(,,(SCD))  TRY FOR A LINE NUMBER 
              SRA   GR15,3             CHECK FOR RC=8 
              LM    GR14,GR15,PEELSAV 
              BNZ   PEELERR            -> ERROR MESSAGE RETURNED 
              LTR   GR0,GR0 
              BNP   PEEL1              -> NO TEXT LEFT 
              CLC   LNS,0(GR1) 
              BNE   PEEL1              -> LNS DIDN'T END LINE NUMBER 
              LA    GR1,1(,GR1)        EAT UP LNS 
              BCTR  GR0,0 
     /EDIT "GR2" = "SCC" 
     /EDIT "GR0,0(,GR2)" = "GR2,0(,SCC)" 
     /SKIP C=2 
     /COPY C=1 
     /EDIT "GR1" = "GR0" 
     /SKIP C=2 
              LA    GR2,0(,GR1)        COPY AND CLEAN WHERE TO MOVE TO 
              LR    GR1,GR0            COUNT OF BYTES TO MOVE 
              CR    GR2,GR3 
              BE    PLMAX              -> SKIP MOVE IF SAME ADDRESS 
     /COPY NEXT "LH" NEXT "GR1,0(,SCC)" 
     /SKIP C=2 
              B     PLMOVIT            WILL RETURN THRU GR14 
              SPACE 
     PEELERR  LH    GR0,0(,GR1)        GET ERROR MESSAGE LENGTH 
              LA    GR1,2(,GR1)        AND ADDRESS 
              BAL   GR2,OUTM           PRINT ON MSINK ONLY, I GUESS 
              B     INLOOP             -> TAKE THE BIG SIDEWAYS BRANCH 
     /END REPLINN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4163
+                                                            4163
+                                                            4163
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  DSRS  (637/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  NOPW  --  Define mechanism whereby DSR may request that signon 
     /.            not require password. 
     /BEGIN NOPW 
     /COPY NEXT "ENTRY PCHCLOS" 
              ENTRY WFOPER,WFDISK 
     /COPY "GFRDR " 
     /DELETE NEXT "BAL" NEXT "SCD,INITJUNK" 
              L     SCD,=A(INITJUNK)   INVOKE THIS GRUBBY LITTLE ROUTINE 
              BALR  SCD,SCD 
     /COPY "GFRRTY " 
     /COPY NEXT "EJECT" 
     *        WFOPER -- WAITFOR FOR OPERATORS CONSOLE 
              SPACE 5 
              USING WFOPER,GR10 
     WFOPER   LR    GR10,GR15          ESTABLISH BASE 
              LR    GR1,GR0            COPY FDUB 
     * 
              L     GR1,FDUBLN-FDBDCT(,GR1) GET OPER FCB 
              S     GR1,=A(FCBDSCT-FCBHDR)  BACK OFF TO PREFIX 
              OI    FCBSWS2-FCBHDR(GR1),FCBWFWLO FLAG WAITFOR LAST OP 
     * 
              LM    14,12,12(13)       RESTORE 
              XR    15,15              WHATEVER THIS MEANS 
              BR    14                 -> RETURN 
              EJECT 
     /COPY "GFOPER " 
     /DELETE NEXT "LR" NEXT "SCD,0" 
              LR    SCA,1              PRESERVE GR1 ACROSS SVC READ 
     * 
     /COPY C=1 
              LR    SCD,0              IMPLANT FDUB 
     /SKIP C=1 
              L     GR1,FDUBLN         OPER FCB 
              S     GR1,=A(FCBDSCT-FCBHDR)  BACK OFF TO PREFIX 
              TM    FCBSWS2-FCBHDR(GR1),FCBWFWLO 
              BZ    *+12               -> WAITFOR WASN'T LAST OP 
              NI    FCBSWS2-FCBHDR(GR1),255-FCBWFWLO  NOW IT ISN'T ANY MORE 
              MVI   FDBDSRSW,2         TELL POSTFIX TO NOTIFY NO PW NEEDED 
     * 
     /COPY C=1 
     /EDIT "16" = "12" 
     /SKIP C=1 
     /EDIT F=3 "FCBLINK-FCBDSCT+4" = "FCBOPBUF-FCBHDR" 
     /COPY NEXT "EJECT" 
     *        WFDISK  --  WAITFOR FOR DISK DSR. 
     * 
     *                    THIS GETS USED WHEN *-FILE JOBS ARE STARTED 
              SPACE 5 
              USING WFDISK,GR10 
     WFDISK   LR    GR10,GR15          ESTABLISH BASE 
              LR    GR9,GR0            ESTABLISH FDUB 
     * 
              L     GR2,FDUBNAME-FDBDCT(,GR9)  PUT NAME OF *-FILE WE ARE 
              LH    GR3,0(,GR2)                INTO JOB TABLE FOR SSRTN 
              CH    GR3,*+10                   TO NICELY DISPLAY 
              BNH   *+8 
              LA    GR3,5              MAX OF 5 CHARS, PLEASE 
              BCTR  GR3,0 
              L     GR1,LOCPARR 
              SVC   PROOFF 
              MVC   13(5,GR1),=5C' '   PAD WITH BLANKS 
              EX    GR3,WFDISKMV       MVC   13(0,GR1),2(GR2) 
              SVC   PROTON 
     * 
              L     GR1,FDUBLN-FDBDCT(,GR9)    NOW FLAG WAITFOR WAS LAST 
              S     GR1,=A(FCBDSCT-FCBHDR)     OPERATION 
              OI    FCBSWS2-FCBHDR(GR1),FCBWFWLO 
     * 
              LM    14,12,12(13)       RETURN 
              XR    15,15              WHATEVER THIS MEANS 
              BR    14 
              SPACE 2 
     WFDISKMV MVC   13(0,GR1),2(GR2) 
              EJECT 
     /COPY "GFDRET " 
              L     GR1,FDUBLN         NOW SET UP INSTRUCTIONS TO POSTFIX 
              S     GR1,=A(FCBDSCT-FCBHDR) 
              TM    FCBSWS2-FCBHDR(GR1),FCBWFWLO 
              BZ    *+12               -> NOT FIRST OP AFTER WAITFOR 
              NI    FCBSWS2-FCBHDR(GR1),255-FCBWFWLO 
              MVI   FDBDSRSW,2         TELL POSTFIX NO PASSWORD NEEDED 
     /COPY "PLMOVITM " 
     /COPY NEXT "DROP" 
              LTORG                    THIS PROVED TO BE NECESSARY 
     /DELETE "WOOPER " 
     WOOPER   DS    0H                 WRITE ON OPER 
     /COPY "WOPTR " 
     /DELETE NEXT "BAL" NEXT "SCD,INITJUNK" 
              L     SCD,=A(INITJUNK) 
              BALR  SCD,SCD            CALL THIS BASELESS ROUTINE 
     /COPY "WOPCH " 
     /DELETE NEXT "BAL" NEXT "SCD,INITJUNK" 
              L     SCD,=A(INITJUNK) 
              BALR  SCD,SCD            CALL THIS BASELESS ROUTINE 
     /COPY "LWOPTR " 
     /COPY BEFORE NEXT "EJECT" 
     /BUFFER INITJUNK 
     /COPY NEXT "SPACE" 
              PUSH  USING 
              DROP  ,                  NOTA BENE 
              USING DSCT,GR4           NOTA BENE 
              SPACE 2 
     /COPY BEFORE NEXT "EJECT" 
              SPACE 2 
              POP   USING 
     /BUFFER END 
     /DELETE "WODISK " 
     WODISK   DS    0H                 WRITE ON DISK 
     /COPY "WODWCM " 
     /COPY BEFORE NEXT "EJECT" 
     /INCLUDE INITJUNK 
     /END NOPW 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4164
+                                                            4164
+                                                            4164
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  RSF  (578/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. SIGMCD  - RATEVEC HAS MOVED INTO "THEDSECT" 
     /BEGIN SIGMCD 
     /COPY 'LASTJBA5 ' 
     /COPY C=3 
     /SKIP C=1 
     /COPY C=3 
     /SKIP C=1 
     /END SIGMCD 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4165
+                                                            4165
+                                                            4165
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  RSF  (578/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  GIGO  --  Install GETINTCC and GETOUTTC subroutines in MTS. 
     /.            Change code to load SETKEY, SETFSAV, SETFPRIV by 
     /.            using GETINTCC. 
     /BEGIN GIGO 
     /COPY "FCSETPK " 
     /DELETE NEXT "L" NEXT "GR15,ASETKEY" 
     /SKIP "FCSETPK1 " 
              LA    GR0,SKEYIX         LOAD SETKEY 
              BAL   GR14,GETINTC 
              LA    GR1,FCTLPL         PARAMETER LIST 
     /COPY "FCTPR " 
     /SKIP "FCTPR1 " 
              LR    GR3,GR2            PROTECT PARLIST PTR 
              LA    GR0,SPRVIX         LOAD SETFPRIV 
              BAL   GR14,GETINTC 
              LR    GR1,GR3 
     /COPY "FCTSSB " 
     /SKIP "FCTSSB1 " 
              LR    GR3,GR2            PROTECT PARLIST PTR 
              LA    GR0,SSBIX          LOAD SETFSAV 
              BAL   GR14,GETINTC 
              LR    GR1,GR3 
     /END GIGO 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4166
+                                                            4166
+                                                            4166
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  TIMNTRP  (539/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /.  SWSTATE  --  This fixes a bug which is evidenced by having the 
     /.               wrong CLS area user extension in the job table if 
     /.               the SWSTATE process gets interrupted at a critical 
     /.               spot. 
     /BEGIN SWSTATE 
     /COPY "SWSDONE " 
     /BUFFER TWOMVCS 
     /COPY C=2 
     /BUFFER END 
     /EDIT F=3 "GR11" = "GR11,L=SCRATCH" 
     /INCLUDE JBTBLUPD 
     /INCLUDE TWOMVCS 
     /COPY "SWSNOLD " 
     /COPY C=2 
     /BUFFER JBTBLUPD 
     /EDIT F=3 "GR11" = "GR14" 
     /EDIT F=3 "GR12" = "GR15" 
     /COPY C=1 
     /EDIT HOLD "GR11" = "GR14" 
     /EDIT "GR12" = "GR15" 
     /COPY NEXT "SVC" NEXT "PROTON" 
     /BUFFER END 
     /END SWSTATE 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4167
+                                                            4167
+                                                            4167
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  CMDSTAT  (531/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /.  DSRDISPV  --  Remove CMDSTAT usage of DSRDISPV, as it is now a 
     /.                true MTS component. 
     /BEGIN DSRDISPV 
     /DELETE "NOPW " 
     /SKIP NEXT "LA" NEXT "GR1,1(GR4,GR2)" 
     /EDIT HOLD "    " = "NOPW" 
     /EDIT F=3 "0(GR1)" = "CLSCURB" 
     /END DSRDISPV 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4168
+                                                            4168
+                                                            4168
                                                       Date: Oct 31, 1978 
                                                     Person: Sherry
-Component:  LLXU  (354/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ERRRTN - update to have LLXU read @ERRRTN and @NOPROMPT if 
     /. called with NOPROMPT and ERRRTN bits set. 
     /. Note: LLXNTMOD must be defined in LXDCT as DS XL1 before this 
     /. update will work. The "spare" byte following LLXSW1 can be used 
     /. for this. 
     /BEGIN ERRRTN 
     /COPY "XLNIE " 
     /COPY BLANKS "XC" BLANKS "LLXUSSA," 
              MVI   LLXNTMOD,X'80'     SET @NOTIFY MODIFIER FOR LLXINP 
     /COPY "XLNBL2 " 
              TM    XLSWS+3,ERRTNBT+NOPRMTBT CALLER WANTS FULL CONTROL? 
              BNO   *+8                NOPE 
              OI    LLXNTMOD,X'44'     YES, READ @ERRRTN AND @NOPROMPT 
     /COPY "LLXINP " 
     /DELETE BLANKS "OI" BLANKS "LLXINMOD" 
              OC    LLXINMOD(1),LLXNTMOD SET @NOTIFY AND POSSIBLY @ERRRTN 
     /COPY BEFORE "LLXINCK " 
     LLXINCK  LTR   SCD,GR0            IO OPERATION COMPLETED? 
              BZ    LLXINSDS           YES, ONTO SDS 
              N     SCD,=F'2'          ERROR OPENING NEW FDUB? 
              BZ    LLXINFY            NO, CHECK FOR NOTIFY 
              LA    GR15,8             YES, GIVE UMLOAD AN IO ERROR RETURN 
              B     LLXINRET 
     /EDIT "CK" = "FY"  ;* CHANGE THE LABEL 
     /COPY "LLXRETI "   ;* POSITION TO USER INPUT ROUTINE INTERCEPT 
     /DELETE BLANKS "C" BLANKS "GR0" 
     /SKIP COUNT=1 
              LTR   GR0,GR0            IO OPERATION COMPLETED? 
              BNZ   LLXUXIT            NO, A NOTIFICATION OR ERROR 
     /END ERRRTN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4169
+                                                            4169
+                                                            4169
                                                       Date: Oct 31, 1978 
                                                     Person: Sherry
-Component:  LLXU  (354/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. RUNONLY - update to return to caller if ERRRTN bit is set on call 
     /. to LLXU even is program is "RUN ONLY". 
     /BEGIN RUNONLY 
     /COPY BEFORE "XLPFDN " 
     /EDIT "XLDEFPID" = "XLDEFPKY" 
     /COPY BEFORE "XLPIGN " 
     /EDIT "XLDEFPID" = "XLDEFPKY" 
     /COPY BEFORE "XLDEFPID " 
     XLDEFPID TM    XLSWS+3,ERRTNBT    ERROR RETURN REQUESTED? 
              BOR   GR14               YES, SO DON'T UNLOAD PGM 
     /EDIT "XLDEFPID" = "XLDEFPKY"  ;* CHANGE THE NAME 
     /END RUNONLY 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4170
+                                                            4170
+                                                            4170
                                                       Date: Oct 31, 1978 
                                                     Person: Sherry
-Component:  LLXU  (354/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. LSW - update to return the correct loader status word when 
     /. calling the error exit supplied on the call to LINK or XCTL. 
     /BEGIN LSW 
     /COPY "XLERRCL " ;* AFTER XLERROR 
     /COPY COUNT=1 
              ST    SCD,LSW            RESTORE ERROR LSW FOR EXIT RTN 
     /COPY "XLERRET3 " 
     /COPY BEFORE BLANKS "MVC " 
     /EDIT "(," = "(4,"   ;*  RETURN ALL 4 BYTES!! 
     /END LSW 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4171
+                                                            4171
+                                                            4171
                                                       Date: Oct 31, 1978 
                                                     Person: Sherry
-Component:  LLXU  (354/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. FIXPFX - update to restore previous prefix before calling user 
     /. error exit routine after bad LINK or XCTL. 
     /BEGIN FIXPFX 
     /COPY BEFORE "XLERRET1 " 
     /BUFFER LOADTEST 
     /EDIT FIELD=1 "XLERRET1" =     ;* REMOVE LABEL FIELD 
     /COPY BEFORE "XLERRET2 " 
     /BUFFER END 
     /EDIT "RET2" = "RET1" ;* CHANGE LABEL 
     /COPY BLANKS "DROP  GR15" 
     /INCLUDE LOADTEST ;* MOVE SOME CODE 
     /COPY BEFORE BLANKS "LR" BLANKS "GR1" 
     /EDIT FIELD=1 = "XLERRET2"   ;*  ADD A NEW LABEL 
     /END FIXPFX 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4172
+                                                            4172
+                                                            4172
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  MTS.MACROS  (344/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /. ================================================================= 
     /. FIXLNR - Make FIXLNR one of the commonly addressable subs. 
     /BEGIN FIXLNR 
     /COPY '*MACRO ' NEXT 'CLSAREA' 
     /COPY 'CLSAREAL ' 
     /SKIP C=1 
              EJECT 
     /COPY '*MACRO ' NEXT 'MTSTV' 
     /COPY 'CONFIRM ' 
     PUTLNR   B     0 
     /END FIXLNR 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4173
+                                                            4173
+                                                            4173
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  MTS.MACROS  (344/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /. ================================================================= 
     /.  SIGMCD  --  FIX UP SIGMCD MACRO SO USES SYMBOLIC RATE VECCTOR 
     /.              LENGTH. 
     /BEGIN SIGMCD 
     /COPY "*MACRO" NEXT "THEDSECT" 
     /COPY C=2 
              SPACE 2 
              COPY  COPY:RATEVEC 
     /COPY "*MACRO" NEXT "SIGMCD" 
     /COPY BEFORE "SIGMRVEC" 
     /EDIT F=3 "20" = "(RATELEN/2)" 
     /END SIGMCD 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4174
+                                                            4174
+                                                            4174
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  MTS.MACROS  (344/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /. ================================================================= 
     /. ADDPWCON  -  Add $SET PWCONFIRM=ON option 
     /BEGIN ADDPWCON 
     /COPY '*MACRO ' NEXT 'DSCT' 
     /COPY 'EOFISOK' 
     PWCONF   EQU   X'08'               1->OFF 0->ON REQUIRE OLD PW 
     /END ADDPWCON 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4175
+                                                            4175
+                                                            4175
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  MTS.MACROS  (344/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /. ================================================================= 
     /. ADDPWARN  - Add warnings if (1) the PW is one that was set by 
     /.             the computing center rather than the user or (2) 
     /.             if the password has been changed in a 'long' time. 
     /.  Note: COPY:ACCFORMAT should really be a MACRO and then this 
     /.        would work! 
     /.  /BEGIN ADDPWARN 
     /.  /COPY '*MACRO ' NEXT 'DSCT' 
     /.  /COPY 'ACCDCT ' 
     /.  /COPY '*' NEXT '14' 
     /.  *                                      15 - PW SET BY CC 
     /.  /COPY 'ACCPUSE ' 
     /.  ACCPWCC  EQU   X'01'               PW SET BY COMPUTING CENTER 
     /.  /END ADDPWARN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4176
+                                                            4176
+                                                            4176
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  MTS.MACROS  (344/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /. ================================================================= 
     /. PWNORHS - Allow PW with no right hand side 
     /BEGIN PWNORHS 
     /COPY '*MACRO ' NEXT 'SETKWD' 
     /COPY 'SETKWD ' 
     SETSA1   DS    18F                 A SAVE AREA FOR KWSCAN 
     SETSA2   DS    18F                 A SAVE AREA FOR CONTROL, ... 
     SETPW1   DS    CL12                COPY OF 1st USER PW 
     SETPW2   DS    CL12                COPY OF 2nd USER PW 
     STCTLPAR DS    3A                  PAR LIST TO CALL CONTROL 
     /COPY '*MACRO ' NEXT 'RHTABLE' 
     /COPY BEFORE 'PWRHT ' 
     /SKIP C=1 
     PWRHT    DC    AL1(3,0,2,1,12) .   PW=something (1=>n<=12) 
              DC    AL1(3,4,1,0)        PW=nothing 
              DC    AL1(7,4,0)          PW all by itself 
     /END PWNORHS 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4177
+                                                            4177
+                                                            4177
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  MTS.MACROS  (344/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /. ================================================================= 
     /. MOVEMAKE - MOVE THE MAKE MACRO OUT OF COPY:MTS.MACROS AND INTO 
     /.            DSRI THE ONE AND ONLY PLACE IT IS USED. 
     /BEGIN MOVEMAKE 
     /COPY BEFORE '*MACRO ' NEXT 'MAKE' 
     /SKIP NEXT 'MEND' 
     /END MOVEMAKE 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4178
+                                                            4178
+                                                            4178
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  MTS.MACROS  (344/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /. ================================================================= 
     /.  LFRAX - KILL OFF THE SET LFR OPTION 
     /BEGIN LFRAX 
     /COPY BEFORE 'LFRBIT ' 
     /SKIP C=1 
     * X'40' IS CURRENTLY UNUSED, WAS LFRBIT 
     /COPY BEFORE  'LFRRUN ' 
     /SKIP C=1 
     * X'04' IS CURRENTLY UNUSED, WAS LFRRUN 
     /END  LFRAX 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4179
+                                                            4179
+                                                            4179
                                                       Date: Oct 31, 1978 
                                                     Person: Sherry
-Component:  MTS.MACROS  (344/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /.  ================================================================ 
     /. LXDCT - Add a new item ("LLXNTMOD") to LXDCT. 
     /BEGIN LXDCT 
     /COPY "*MACRO" NEXT "LXDCT" 
     /DELETE BLANKS "DS" BLANKS "X" SPAN(' .') "SPARE" 
     LLXNTMOD DS    X                  @NOTIFY, @ERRRTN AND @NOPROMPT MODS 
     /END LXDCT 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4180
+                                                            4180
+                                                            4180
                                                       Date: Oct 31, 1978 
                                                     Person: Sherry
-Component:  MTS.MACROS  (344/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /.  ================================================================ 
     /. LSWORD - Add a new bit definition for "IOERRBT". 
     /BEGIN LSWORD 
     /COPY "*MACRO" NEXT "LSWORD" 
     /DELETE "*" BLANKS "X'08'" ;* NO LONGER SPARE 
     IOERRBT  EQU   X'08'              ON IF IO ERROR FROM INPUT ROUTINE 
     /END LSWORD 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4181
+                                                            4181
+                                                            4181
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS.MACROS  (344/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /. ================================================================= 
     /. FMSGCMSG  --  Make FMSG and CMSG macros call NEWMTS type routines 
     /.               FMSGSUB and CMSGSUB when they are expanded in a 
     /.               NEWMTS type routine. 
     /BEGIN FMSGCMSG 
     /COPY "*MACRO" NEXT "CMSG" 
     /COPY NEXT "GBLA" NEXT "&CNT" 
              GBLA  &CURNON            NONZERO IF IN NEWMTS ENVIRONMENT 
              LCLA  &J,&K 
     /COPY C=1 
              AIF   (&CURNON NE 0).NEWMTS 
     /DELETE NEXT "MEND" 
              MEXIT 
     .* 
     .* 
     .NEWMTS  ANOP 
     &J       SETA  K'&MSG             ROUND LENGTH TO NEXT HALFWORD 
     &K       SETA  (&J+1)/2*2 
     &CNT     SETA  &CNT+&K-&J         ADJUST FOR ROUNDING 
              AIF   ('&LBL' NE '').RET 
     &J       SETA  1                  SET INLOOP OPTION 
     .RET     AIF   ('&TYPE' EQ 'B').BOTH,                                  * 
                    ('&TYPE' EQ 'M').MSINK,                                 * 
                    ('&TYPE' EQ 'S').SINK 
              MNOTE 4,'ILLEGAL CMSG TYPE' 
     .BOTH    ANOP 
     &J       SETA  &J+4+2 
              AGO   .L6 
     .MSINK   ANOP 
     &J       SETA  &J+4 
              AGO   .L6 
     .SINK    ANOP 
     &J       SETA  &J+2 
     .L6      AIF   ('&SL' EQ '').L6SKIP 
     &SL      DS    0H 
     .L6SKIP  AIF   ('&LBL' EQ '').RCALL 
              STM   GR14,GR2,0(GR12)   SAVE REGISTERS ON STACK 
              LA    GR12,5*4(,GR12)    COVER THEM OVER 
     .RCALL   RCALL CMSGSUB(A(&J),A(&K),A(G&SYSNDX)) 
              AIF   ('&LBL' EQ '').L8 
              LA    GR15,5*4 
              SR    GR12,GR15 
              LM    GR14,GR2,0(GR12)   RESTORE REGISTERS 
              AIF   ('&LBL' NE '*').L7 
              B     *+4+&K 
              AGO   .L8 
     .L7      B     &LBL 
     .L8      ANOP 
     G&SYSNDX DC    CL&K&MSG 
              MEND 
     /COPY "*MACRO" NEXT "FMSG" 
     /COPY C=2 
              GBLA  &CURNON            NONZERO IF IN NEWMTS ENVIRONMENT 
              LCLA  &J 
              AIF   (&CURNON NE 0).NEWMTS 
     /DELETE NEXT "MEND" 
              MEXIT 
     .* 
     .* 
     .NEWMTS  AIF   ('&LBL' NE '').RET 
     &J       SETA  1                  SET INLOOP OPTION 
     .RET     AIF   ('&TYPE' EQ 'B').BOTH,                                  * 
                    ('&TYPE' EQ 'M').MSINK,                                 * 
                    ('&TYPE' EQ 'S').SINK 
              MNOTE 4,'ILLEGAL FMSG TYPE' 
     .BOTH    ANOP 
     &J       SETA  &J+4+2 
              AGO   .L6 
     .MSINK   ANOP 
     &J       SETA  &J+4 
              AGO   .L6 
     .SINK    ANOP 
     &J       SETA  &J+2 
     .L6      AIF   ('&SL' EQ '').L6SKIP 
     &SL      DS    0H 
     .L6SKIP  AIF   ('&LBL' EQ '').RCALL 
              STM   GR14,GR1,0(GR12)   SAVE REGISTERS ON STACK 
              LA    GR12,4*4(,GR12)    COVER THEM OVER 
     .RCALL   RCALL FMSGSUB(A(&J),A(&LNR)) 
              AIF   ('&LBL' EQ '').MEND 
              LA    GR15,4*4 
              SR    GR12,GR15 
              LM    GR14,GR1,0(GR12)   RESTORE REGISTERS 
              AIF   ('&LBL' EQ '*').MEND 
              B     &LBL 
     .MEND    MEND 
     /END FMSGCMSG 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4182
+                                                            4182
+                                                            4182
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS.MACROS  (344/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /.  ================================================================ 
     /.  REPLINN -- Replace LINNBRN subroutine with LINENBR subroutine 
     /.             coded a la new MTS.  Make changes to DSCT macro to 
     /.             reflect this. 
     /BEGIN REPLINN 
     /COPY "*MACRO" NEXT "DSCT" 
     /DELETE "SFFGR14 " 
     /DELETE "SFFNOT " 
     *        EQU   4                  UNUSED - WAS SFFNOT 
     /DELETE "LNRN " 
     *        EQU   X'80'              UNUSED - WAS LNRN 
     /COPY BEFORE "SDSINVSA " 
     PEELSAV  DS    2A                 PEEL SAVE AREA 
     /COPY "*MACRO" NEXT "MTSTV" 
     /DELETE "LINNBR " 
              B     0                  UNUSED -- WAS LINNBR 
     /DELETE "LINNBRN " 
              B     0                  UNUSED -- WAS LINNBRN 
     /END REPLINN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4183
+                                                            4183
+                                                            4183
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS.MACROS  (344/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /. ================================================================= 
     /.  GIGO  --  Add GETOUTTC and GETINTCC subroutines to MTS. 
     /BEGIN GIGO 
     /COPY "*MACRO" NEXT "DSCT" 
     /DELETE "ASETKEY " 
     /DELETE "ASETPRIV " 
     /DELETE "ASETFSAV " 
     /COPY "*MACRO" NEXT "MTSTV" 
     /COPY "PUTLNR " 
     GETOUTTC B     0 
     /END GIGO 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4184
+                                                            4184
+                                                            4184
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS.MACROS  (344/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /. ================================================================= 
     /.  CLEANUP1 -- Clean out MTSTV entry for CHKSER 
     /BEGIN CLEANUP1 
     /COPY "*MACRO" NEXT "MTSTV" 
     /DELETE "CHKSER " 
              B     0                  UNUSED -- WAS CHKSER 
     /END CLEANUP1 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4185
+                                                            4185
+                                                            4185
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS.MACROS  (344/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /. ================================================================= 
     /.  CMNDBUG  --  Fix bug in CMND macro which causes wrong CMDSTAT 
     /.               type to be picked up for the R abbreviation for 
     /.               the RUN command. 
     /BEGIN CMNDBUG 
     /COPY "*MACRO" NEXT "CMND" 
     /DELETE "&T" NEXT "SETC" NEXT "'&CMDCT'" 
     &T       SETC  '&T'.'    '        derive CMDSTAT type from command name 
              AIF   ('&CMDCT' EQ '').GOTCT 
     &T       SETC  '&CMDCT'.'    '    unless one explicitly given 
     .GOTCT   ANOP 
     /END CMNDBUG 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4186
+                                                            4186
+                                                            4186
                                                       Date: Oct 31, 1978 
                                                     Person: Helffrich
-Component:  MTS.MACROS  (344/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /. ================================================================= 
     /.  NOPW  --  Define mechanism whereby DSR may request that signon 
     /.            not require password. 
     /BEGIN NOPW 
     /COPY "*MACRO" NEXT "FCBDSCT" 
     /DELETE " " NEXT "DS" NEXT "H" 
              DS    X                  UNUSED 
     FCBSWS2  DS    X                  ANOTHER SWITCH BYTE 
     FCBWFWLO EQU   X'80'              WAITFOR WAS LAST OP (ONLY SET/USED BY* 
                                       SOME DSRS) 
     /COPY "BNCHLNG " 
              SPACE 3 
              ORG   FCBLINK+4          FCB FOR OPER DSR 
     FCBOPBUF DS    CL100              INPUT REGION FOR SVC READ 
     OPERLNG  EQU   *-FCBHDR 
     /COPY "*MACRO" NEXT "DSCT" 
     /COPY "SWS7 " 
     /DELETE "*" 
     NOPWN2   EQU   4                  NO PW NEEDED BECAUSE DSR SAID SO 
     /COPY "*MACRO" NEXT "MTSCTAB" 
     /COPY "FTYPTBL " 
     /EDIT F=3 "FCBLINK-FCBHDR+4+100" = "OPERLNG" 
     /END NOPW 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4187
+                                                            4187
+                                                            4187
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  RATENBR  (651/10)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. HSLINE  - The powers that be have changed the name of PRIVATE 
     /.           LINES to HIGH SPEED LINES so we need to change the 
     /.           code as well. 
     /BEGIN HSLINE 
     /COPY BEFORE 'RPRIVL ' 
     /EDIT 'RPRIVL' = 'RHSLINE' 
     /COPY 'NOTBATCH ' 
     /COPY BEFORE NEXT 'BE' NEXT 'TSTPVT' 
     /SKIP C=1 
              BE    TSTHSL              YES - MAY BE A HIGH SPEED LINE 
     /COPY BEFORE 'TSTPVT ' 
     /EDIT HOLD 'TSTPVT' = 'TSTHSL' 
     /EDIT ' PVT LINE' = ' HS LINE' 
     /COPY C=1 
     /EDIT HOLD 'RPRIVL' = 'RHSLINE' 
     /EDIT 'PRIVATE LINES' = 'HIGH SPEED LINES' 
     /EDIT HOLD "=C'PRIVATE LINE,'" = "=C'HIGH SPEED LINE,'" 
     /EDIT '13' = '16' 
     /EDIT '13' = '16' 
     /END HSLINE 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4188
+                                                            4188
+                                                            4188
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  RATENBR  (651/10)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. SIGMCD - RATEVEC has moved into "THEDSECT" 
     /BEGIN SIGMCD 
     /COPY 'ENGLE ' 
     /COPY C=4 
     /SKIP C=1 
     /COPY C=4 
     /SKIP C=1 
     /END SIGMCD 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4189
+                                                            4189
+                                                            4189
                                                       Date: Oct 31, 1978 
                                                     Person: Ogden
-Component:  USUB  (638/1)
+_________   
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /. ================================================================= 
     /. FREEDSCT - DON'T ALLOW ANYONE TO FREE THE MTS DSECT 
     /BEGIN FREEDSCT 
     /COPY 'FSBASE ' 
              LA    GR15,0(,GR1)       DON'T LET GO OF THE MTS DSECT 
              CR    GR15,GR4 
              BL    FSD0               BELOW DSECT IS OK (SORT OF) 
              LA    GR14,LASTDSCT-DSCT(,GR4) 
              CR    GR15,GR14          BEYONE DSECT? 
              BL    FSMTD              NO, CAUGHT ONE 
     FSD0     DS    0H                 SAFE SO FAR 
     /COPY 'FSCHK ' 
     /COPY C=1 
     /EDIT '     ' = 'FSMTD' 
     /END FREEDSCT 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4190
+                                                            4190
+                                                            4190
                                                       Date: NOV. 9, 1978 
                                                     Person: Ogden
-Component:  CONSIO  (634/3)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     The version of CONSIO sent out on the RD15 tape (you remember the 
     code should have gone out on D4.1, but by mistake the D4.0 
     version was sent instead) contains a bug (now, aren't you 
     glad we didn't send out the right version the first time). 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on RD15  source.
 
 
     /BEGIN FIXREAD 
     /.  FIXREAD  -  This deck fixes a bug that was introduced 
     /.              when CONSIO was changed to allow the 
     /.              return of NULL lines. 
     /COPY 'CHKATN ' 
     /COPY NEXT 'LA' NEXT 'R0,CONSWCCW' 
              LH   R1,CONSPATH       DON'T TRUST TO FATE 
     /END FIXREAD 
-Comments:
+________
 
 
     It took a long time for this bug to surface here at UM. 
     Depending on where CONSIO was loaded and what devices 
     were attached to what channels input requests directed 
     through CONSIO would or wouldn't work. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4191
+                                                            4191
+                                                            4191
                                                       Date: NOV. 13, 1978 
                                                     Person: Sherry
-Component:  LLXU  (354/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     This update fixes a bug inadvertently introduced by the 
     XLCLEAN update of RD15 - a DROP GR10 statement was deleted 
     when the XLCLEAN subroutine was moved to become self-addressable. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on RD15  source.
 
 
     /BEGIN DROP10 
     /COPY "FGRC2" 
     /COPY NEXT "BR    GR14" 
              SPACE 
              DROP  GR10 
     /END DROP10 
-Comments:
+________
 
 
     This bug manifested itself in GBSTOR near XLEIB(10) where 
     the maximum storage index number (MSIN) was reset to garbage 
     because GR10 instead of SCB was assembled as the base register 
     in the statement: 
               L     SCD,GR14LSAV+4(GR1) 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4192
+                                                            4192
+                                                            4192
                                                       Date: NOV. 13, 1978 
                                                     Person: OGDEN
-Component:  TASKSTAT  (647/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     THIS UPDATE FIXES A BUG IN THE RD15 VERSION OF TASKSTAT. 
     THE ERROR SHOULD ONLY OCCUR IN THOSE SYSTEMS RUNNING UBC 
     INTERTASK. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on RD15  source.
 
 
     /BEGIN R3TOR2 
     /.   R3TOR2  -  Fix TASKSTAT so that TSTATE values are 
     /.              always stored off of R2 rahter than incorrectly 
     /.              off of R3. 
     /COPY 'TRYITBSY ' 
     /COPY C=1 
     /EDIT 'R3' = 'R2' 
     /COPY 'TRYITRDY ' 
     /COPY C=1 
     /EDIT 'R3' = 'R2' 
     /END R3TOR2 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4193
+                                                            4193
+                                                            4193
                                                       Date: November 20, 1978 
                                                     Person: Engle
-Component:  SORT (SORT PGM PH 2)  (303/28)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     "Terminated" is spelled with an extra "t" in a warning message. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on RDIST15  source.
 
 
     /B 4193 
     /COP 'WARNMSG' 
     /S C=1 
                    ment is not terminated by the' 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4194
+                                                            4194
+                                                            4194
                                                       Date: November 28, 1978 
                                                     Person: Tiffany
-Component:  *FTNTIDY  (727/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     The following fixes the PAUSE problem for *FTNTIDY. 
     Thanks from John Stevens for reporting. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /BEGIN *PAUSE* 
     /COPY 'QUOTE ' 
     /COPY COUNT=1 
              CLC   =C'PAUSE',STACK  If PAUSE statement 
              BE    OPEXIT   then don't turn SKIPPING off. 
     /END *PAUSE* 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4195
+                                                            4195
+                                                            4195
                                                       Date: January 12, 1978 
                                                     Person: Tiffany
-Component:  *FTNTIDY  (727/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     The following fixes *FTNTIDY to treat 100 of the READ 
     statement in the example below as a label instead of an 
     ordinary number. 
             READ (IU'(INDEX),100) X 
      100    FORMAT (F10.2) 
             END 
     Thanks from Gavin Eadie for reporting. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /BEGIN *READ* 
     /COPY "INCR1 " 
     /COPY BEFORE NEXT "BNE" NEXT "INCR2" 
     /EDIT "2" = "3" ;                Change INCR2 to INCR3 
     /COPY BEFORE "INCR2 " 
     /BUFFER INCR2 ;                  Move INCR2 code to just before INCR4 
     /COPY BEFORE NEXT "BNE" NEXT "INCR3" ; Change all references in 
     /EDIT "3" = "4" ;                the code from INCR3 to INCR4. 
     /COPY BEFORE NEXT "BZ" NEXT "INCR3" 
     /EDIT "3" = "4" 
     /COPY BEFORE NEXT "BNZ" NEXT "INCR3" 
     /EDIT "3" = "4" 
     /COPY BEFORE "INCR3 " 
     /BUFFER END 
     /COPY BEFORE NEXT "BZ" NEXT "INCR4" 
     /EDIT "4" = "2" ;                Change all references in the INCR3 
     /COPY BEFORE NEXT "BP" NEXT "INCR4" ; code from "INCR4" to "INCR2". 
     /EDIT "4" = "2" 
     /COPY BEFORE "INCR4 " 
     /INCLUDE INCR2 ;                 Include INCR2 code here. 
     /END *READ* 
-Comments:
+________
 
 
     After a call to CLEAN from IOEXP, the return should be 
     made with the stack pointer at the comma in the example 
     above instead of the first right parenthesis. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4196
+                                                            4196
+                                                            4196
                                                       Date: April 9, 1979 
                                                     Person: Tiffany
-Component:  *FTNTIDY  (727/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     When LBLXREF option is in effect, *FTNTIDY actually 
     not only produces the label dictionary but also the 
     variable dictionary. The following CDUPDATE will 
     prevent printing the variable dictionary. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.2  source.
 
 
     /BEGIN LBLXREF 
     /COPY "PRINLST " 
     /COPY NEXT "BAL" NEXT "R10,PRINT" 
     /DELETE NEXT "ENDIF" 
     /COPY BEFORE NEXT "LA" NEXT "R2,NLIST-8" 
              ENDIF 
     /END LBLXREF 
-Comments:
+________
 
 
     The ENDIF macro is moved forward to just before printing 
     the label dictionary, so that *FTNTIDY will not print 
     the variable dictionary when LBLXREF is in effect. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4197
+                                                            4197
+                                                            4197
                                                       Date: April 24, 1979 
                                                     Person: Engle
-Component:  SORT (SORT PGM)  (303/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     A spurious output record is generated if the first input 
     record is an end-of-file and a particular half-word of 
     acquired storage (via GETSPACE) contains a value greater than 
     four. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.2  source.
 
 
     /B C4198; CORRECT ERROR CAUSING ZERO INPUT RECORDS TO PRODUCE A SPURIOUS 
     /C        OUTPUT RECORD 
     /COP TAB(72) 'SORT1505' 
              BC    4,*+8              NULL RECORD? 
              STH   R3,0(0,R2)         YES, ZERO LENGTH FOR FLUSH 
     /EN 
-Comments:
+________
 
 
     It is hard to produce this error.  If the acquired storage 
     contains X'81's, it will not occur.  The following 
     sequence produced it at U of M on April 23 and April 24 
     from an IBM 3278, but it might not work at another time or 
     place.  (The same sequence except for using DEBUG instead 
     of RUN did not produce the error.) 
      
          $R *SORT PAR=I=*DUMMY* R=10 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4198
+                                                            4198
+                                                            4198
                                                       Date: April 25, 1979 
                                                     Person: Fronczak
-Component:  VTRX  (681/002)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     This update fixes a bug inadvertently introduced by 
     disallowing the VOTRAX user's being able to refer to any 
     file via %DEF, %VOC, and %MVO device commands before 
     signing on MTS. This security change also disallowed 
     the use of the Touch-Tone code #4 to reference the 
     system text-definition file *ARUDEF. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.2  source.
 
 
     /BEGIN D4.2.1 
     /COPY BEFORE "OPENFILE CLC" 
     OPENFILE CLC   =C'*ARUDEF ',0(1)   SKIP TEST FOR SYS TXT DEF FILE. 
              BE    OPNF1 
              TM    CTRLWHER,2          USER SIGNED ON YET? 
              BNOR  R14                 NO, NO FILE ACCESS ALLOWED. 
     OPNF1    ST    R14,OPENSAV 
     /SKIP "R14,OPENSAV" 
     /END D4.2.1 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4199
+                                                            4199
+                                                            4199
                                                       Date: April 26, 1979 
                                                     Person: Engle
-Component:  ACCOUNTING (ACCFLINF)  (104/116)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If the date is given in the PAR field as mm/dd/yy instead of 
     DATE=mm/dd/yy, it is rejected as invalid. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /B ; C4200 CORRECT ERROR MAKING PAR=MM/DD/YY INVALID. 
     /D TAB(21) '(2)' 
                C'T PARLHT(22)=4@BR, 0@BR, 0@BR 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4200
+                                                            4200
+                                                            4200
                                                       Date: April 26, 1979 
                                                     Person: Engle
-Component:  ACCOUNTING (ACCFLINF)  (104/116)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Add the END parameter to the SORT control statement. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /B ; C4201 ADD THE END PARAMETER TO THE SORT CONTROL STATEMENT. 
     /D TAB(16) 'SORT' 
                     SORT.("=,D,,4,,,5,8 I=*,F,* O=**,FB,,* R=* E ", FDUB, 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4201
+                                                            4201
+                                                            4201
                                                       Date: May 9, 1979 
                                                     Person: Ogden
-Component:  TASKSTAT SUBR  (647)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fix TASKSTAT so it won't PGNT if it looks for an SVC in 
     fetch protected VM. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.2  source.
 
 
     /COPY "CHKSVC " 
     /COPY C=1 
         BPI  OPND,ASSWAYT 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4202
+                                                            4202
+                                                            4202
                                                       Date: May 11, 1979 
                                                     Person: Engle
-Component:  SORT (SORT PGM)  (303/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     A warning that the control statement is not terminated by the 
     END parameter followed by a program interrupt is produced if 
     the control statement is read via GUSER and the end of a line 
     occurs after a type, aspect, or location parameter which is 
     immediately followed by a comma. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.2  source.
 
 
     /B C4202; CORRECT ERROR CAUSING A SPURIOUS MISSING END PARAMETER WARNING 
     /C        MESSAGE AND PROGRAM INTERRUPT IF THE CONTROL STATEMENT IS SPLIT 
     /C        BETWEEN TWO LINES READ VIA GUSER AFTER THE TYPE, ASPECT, OR, LOCATION 
     /C        PARAMETERS. 
     /D TAB(72) 'SORT0547' 
     /S TAB(72) 'SORT0548' 
     .WARN4   BC    8,*+10 
              L     R6,AWARN 
              BR    R6                 FORGET THE REQUEST 
     /EN 
-Comments:
+________
 
 
     This occurs only in the version of *SORT which produces a 
     warning message if the control statement is not terminated 
     by the END parameter.  The following produces the error: 
      
          $RUN *SORT SCARDS=*SOURCE* 
          S=CH, 
          A,1,4 
          INPUT LINE ONE 
          INPUT LINE TWO 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4203
+                                                            4203
+                                                            4203
                                                       Date: May 23, 1979 
                                                     Person: Engle
-Component:  ACCOUNTING (STATUS)  (104/14)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If SIGNONS@REMAINING or an equivalent expression with the 
     attribute explicitly specified is contained in the PAR field 
     and the maximum number of concurrent signons is four or zero 
     (unlimited), the number of remaining signons is printed as 
     unlimited or negative, respectively. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /B C4203; CORRECT INDICATION THAT REMAINING NUMBER OF SIGNONS IS UNLIMITED 
     /COM      OR NEGATIVE WHEN MAXIMUM NUMBER IS 4 OR 0, RESPECTIVELY, AND 
     /COM      @REMAINING OR ITS EQUIVALENT IS EXPLICITLY GIVEN WITH SIGNONS 
     /COM      PARAMETER 
     /D TAB(72) 'STAT0643' 
              CH    R6,ACCMSIG 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4204
+                                                            4204
+                                                            4204
                                                       Date: May 29, 1979 
                                                     Person: Engle
-Component:  ACCOUNTING (STATUS)  (104/14)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If the cumulative disk storage is greater than 85899345 page- 
     hours or the cumulative paper tape punched is greater than 
     21474836 inches, the wrong values are printed. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.1  source.
 
 
     /B C4204; CORRECT ERROR WHEN CONVERSION TO CHARACTERS DOES A MULTIPLY BEFORE A 
     /COM      DIVIDE AND THE PRODUCT IS GREATER THAN 31 BITS. 
     /S BEFORE TAB(72) 'STAT0002' 
     STAT     TITLE 'ACCOUNTING STATUS FOR MTS USER--C. F. ENGLE--29 MAY 79' 
     /D TAB(72) 'STAT0038' 
              AIF   ('&DIV' NE '').MULT     CHECK FOR DIVISOR 
              LPR   R3,R3              POSITIVE VALUE NEEDED FOR ROUNDING 
     .MULT    M     R2,=F'&MULT' 
              AIF   ('&DIV' NE '').RND      CHECK FOR DIVISOR 
     /COP TAB(72) 'STAT0041' 
     .RND     ANOP 
     /D TAB(72) 'STAT0043' 
     /S TAB(72) 'STAT0044' 
              AL    R3,=F'&T'          ROUND FOR DIVISION 
              AIF   ('&MULT' EQ '').DIV     CHECK FOR MULTIPLYING FACTOR 
              BC    12,*+8 
              A     R2,=F'1' 
     .DIV     D     R2,=F'&DIV' 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4205
+                                                            4205
+                                                            4205
                                                       Date: July 2, 1979 
                                                     Person: Fronczak
-Component:  BASIC  (508/024)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     This update fixes a bug for the RENUMBER command which 
     caused problems when a statement for the form 
       IF YY="string", THEN line# was encountered. The line#'s 
     left-most digit was prefixed to the new line# under the 
     renumbering. E.g., IF YY="Y", THEN 100 would become 
       IF YY="Y", THEN 1300 if line 100 became 300 under the 
     renumbering. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.2  source.
 
 
     /BEGIN D4.2.1 
     /COPY  "PTRF6    LA    3,3(,3)" 
     /DELETE "B     PTRF2" 
              B     PTRF0               RETURN TO MAIN SCAN 
     /END D4.2.1 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4206
+                                                            4206
+                                                            4206
                                                       Date: July 5, 1979 
                                                     Person: Engle
-Component:  *INDEX  (580/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If any special characters other than #-/?:*;|,.()%=+!"'<>&$ 
     appear in the page attribute, an infinite loop results. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.2  source.
 
 
     /B C4206; ELIMINATE INFINITE LOOP WHEN LOCATION ATTRIBUTE CONTAINS A 
     /C        CHARACTER NOT LISTED IN "SYMBOL;" E.G., _ OR @ 
     /D TAB(72) 'INDX0145' 
     /D TAB(72) 'INDX0179' 
     /D TAB(72) 'INDX0361' 
                 Y = INDEX(TRANSLATE(PAGEE, (11)'0', ' '||NOS), '0'); 
     /EN 
-Comments:
+________
 
 
     The following input will produce the infinite loop: 
      
     First_Page Error#example 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4207
+                                                            4207
+                                                            4207
                                                       Date: August 13,1979 
                                                     Person: Tiffany
-Component:  COMPARE  (746/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Wrong line numbers get printed on blocks. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on RD16  source.
 
 
     /BEGIN BADLNRS 
     /COPY "MARKBLK " 
     /COPY "*" NEXT "In blocking mode, we back up" 
     /COPY BEFORE NEXT "SR" NEXT "BLKCNT,BLKCNT" 
              MVC   OLDBLK1,LISTLNR-LIST(OLD)    Set last old line nr. 
              MVC   NEWBLK1,LISTLNR-LIST(NEW)    And last new line nr. 
              INVOKE GETBLK               Insert line numbers. 
              SR    R0,R0                 Restore register 0. 
     /COPY "*" NEXT "Here lines in both files" 
     /COPY NEXT "ENDIF" 
     /COPY NEXT "ENDIF" 
              MVC   OLDBLK0,LISTLNR-LIST(OLD)    Set first old line nr. 
              MVC   NEWBLK0,LISTLNR-LIST(NEW)    and first new line nr. 
     /COPY "PRTFILES" 
     /DELETE NEXT "INVOKE" NEXT "GETBLK" 
     /END BADLNRS 
-Comments:
+________
 
 
     To get proper line numbers, GETBLK should be invoked 
     from MARKBLK instead of PRTFILES. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4208
+                                                            4208
+                                                            4208
                                                       Date: August 13,1979 
                                                     Person: Tiffany
-Component:  COMPARE  (746/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     PRTFILES get mixed up when it encounters two different blocks 
     on both units.  In that case, it uses the block on unit 0. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on RD16  source.
 
 
     /BEGIN BADBLKS 
     /COPY "PRTFILES" 
     /COPY NEXT "SET" NEXT "BLOCKING,ON" 
              LH    R14,LISTBLK#-LIST(0,OLD) 
              LH    R15,LISTBLK#-LIST(0,NEW) 
              IF    (R14,ZERO),AND,(R15,ZERO) 
     /INCLUDE HELP 
     /DELETE NEXT "IF" 
              ELSEIF (R15,ZERO),OR,((R14,NZ),AND,(R14,LT,R15,CR)) 
     /DELETE NEXT "ELSEIF" 
              ELSE 
     /DELETE NEXT "ELSE " 
     /BUFFER HELP 
     /COPY NEXT "ERROR" 
     /BUFFER END 
     /END BADBLKS 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4209
+                                                            4209
+                                                            4209
                                                       Date: August 27,1979 
                                                     Person: Boettner
-Component:  FILESTATUS  (529)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Too many sharing descriptors (would you believe it took 15 
     lines on 3270 to print) can cause program interrupt on ALL 
     (full-access-maybe category) output. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on RD16  source.
 
 
     /BEGIN FAMFIX 
     /COPY "FACCESSS" 
     /COPY  NEXT "ST" NEXT "GR6,FAMAX" 
              L     GR6,EOBREG 
              CLI   OUTFORM,COLS 
              BE    *+8 
              ST    GR6,FAMAX 
     /COPY "ACCUPNL " 
     /COPY C=2 
              C     GR1,FAMAX 
              BH    ACCWUPS 
     /COPY NEXT "ST" NEXT "TEMPGR1S" 
     /COPY C=1 
              C     GR1,FAMAX 
              BH    ACCWUPS 
     /COPY "ACCLFO " 
     /COPY C=2 
              C     GR1,FAMAX 
              BH    ACCWUPS 
     /COPY "ACCUPN22 " 
     /COPY NEXT "BNH" NEXT "ACCNMAY" 
     ACCNMAZ  DS    0H 
     /COPY "ACCAD " 
     /COPY C=2 
     ACCWUPS  C     GR2,=A(FACCESMC) 
              BE    ACCNMAZ 
              S     GR1,=F'11' 
              MVC   0(11,GR1),=C'*truncated*' 
              A     GR1,=F'11' 
              B     ACCAD 
     /END FAMFIX 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4210
+                                                            4210
+                                                            4210
                                                       Date: September 5,1979 
                                                     Person: Boettner
-Component:  FILESTATUS  (529)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Alas would you believe that change #4209, while fixing the 
     problem, did not give the desired behavior in all cases. 
     This change, to be applied after #4209, allows FULLACCESS 
     info to exceed the column width (if column output) if it is 
     the last column of information.  And if it can't, instead of 
     saying "*truncated*" it will give just ACCESS with flag. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on RD16  source.
 
 
     /BEGIN FAMFIX2 
     /COPY "FACCESSS" 
     /COPY  BEFORE NEXT "L" NEXT "GR6,SIOA" 
              C     GR2,=A(FACCESMC) 
              BE    ACFAMNB      IF FAM, STAY IN COLS 
              L     GR14,CBSSAV+4 
              LA    GR14,8(,GR14) 
              C     GR14,NXTCBS  is this the last column? 
              BNE   *+8 
              ST    GR6,FAMAX   if so go to end of page. 
     ACFAMNB  DS    0H 
     /DELETE "ACIVS " 
     ACIVS    ST    GR1,FASTAR   SAVE LOCATION OF POTENTIAL * 
              C     GR2,=A(FACCESSC)  WANT FULL CRAP? 
     /COPY C=1 
     /SKIP C=1 
     /DELETE  "ACCNMAZ " 
     ACCWUPS  DS    0H 
     /COPY "ACCAD " 
     /DELETE "ACCWUPS " 
     /SKIP C=5 
     /END FAMFIX2 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4211
+                                                            4211
+                                                            4211
                                                       Date: September 20,1979 
                                                     Person: Tiffany
-Component:  MACUTIL  (738/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     *MACUTIL blew up on a PGNT 4. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.2  source.
 
 
     /BEGIN KILPGNT4 
     /COPY "WTONEMAC" 
     /COPY  BEFORE NEXT "IF" NEXT "MCFSTLNR-MACDSCT(R6)" 
     /EDIT F=3 "MCFSTLNR-MACDSCT(R6),EQ,TOKENLNR" = "TOKENLNR,EQ,MCFSTLNR-MACDSCT(R6)" 
     /END KILPGNT4 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4212
+                                                            4212
+                                                            4212
                                                       Date: December 4, 1979 
                                                     Person: Tiffany
-Component:  COMPARE  (746/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     *COMPARE printed unexplicable block numbers, etc. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.2C  source.
 
 
     /BEGIN BLOCK# 
     /COPY "MARKBLK " 
     /COPY NEXT "INVOKE DECIDE" 
              L     BLKCNT,BLK#     Restore block count register. 
     /END BLOCK# 
-Comments:
+________
 
 
     The register BLKCNT (R2) at the call to DECIDE was clobbered 
     and needs to be restored after the call.  This explains 
     the unexpected results of the COMPARE program. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4213
+                                                            4213
+                                                            4213
                                                       Date: January 11, 1980 
                                                     Person: Tiffany
-Component:  PL1 COMPILER  (163/10)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     *PL1 blew up when using a large virtual memory file with 
     MACRO option on. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.2C  source.
 
 
     /BEGIN VMFILE 
     /COPY "VMWRITE " 
     /COPY BEFORE NEXT "MVC" NEXT "4(0,R1),ZEROS" 
     /EDIT F=3 "4(0" = "0(4" 
     /END VMFILE 
-Comments:
+________
 
 
     The next VM file pointer was not zeroed.  The contents was 
     X'1000'; so *PL1 started to read the UMLOAD which it 
     shouldn't. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4214
+                                                            4214
+                                                            4214
                                                       Date: February 7, 1980 
                                                     Person: Tiffany
-Component:  PL1 COMPILER  (163/9)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     *PL1 grabbed tons of virtual memory storage with MACRO option 
     enabled for the second time in batch compilation. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.2C  source.
 
 
     /BEGIN VMFILE 
     /COPY "TIOX " 
     /COPY BEFORE NEXT "MVI" NEXT "DCBDEVT,DCB_VMFILE" 
     /BUFFER MVI 
     /COPY COUNT=1 
     /BUFFER END 
     /COPY NEXT "IF" NEXT "DCBDSGVM.DCBDSRG2" 
     /INCLUDE MVI 
     /END VMFILE 
-Comments:
+________
 
 
     The VM file should always be a VM file.  The RD4.2C PL/I(F) 
     compiler may be patched in the csect OPEN# in the file *PL1 
     as follows: 
           $RUN *OBJUTIL 0=*PL1 
           CSECT OPEN# 
           DISPLAY 1EA@T=I 
           COMMENT SHOULD BE I'B 0C65C' 
           MODIFY 1EA I'B 0CEA6' 
           MODIFY EA6 I'MVI 06B04A,B 0C65C' 
           STOP 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4215
+                                                            4215
+                                                            4215
                                                       Date: April 17, 1980 
                                                     Person: Engle
-Component:  ACCOUNTING(ACCKILL)  (104/141)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Extend region for accounting record to 256 bytes, correct 
     maximum length of operator's name from 26 to 256 bytes, and 
     change the log file from ACCLOGFL to PASWRDFL. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /B ; 800416 CORRECT LENGTH OF SPACE FOR ACCOUNTING RECORD TO 256 BYTES; 
     /C          CORRECT MAXIMUM LENGTH FOR OPERATOR'S NAME FROM 26 TO 256 
     /C          CHARACTERS; AND CHANGE FILE FOR LOG FROM THE ONE DEFINED 
     /C          BY THE EXTERNAL SYMBOL ACCLOGFL TO THE ONE DEFINED BY THE 
     /C          EXTERNAL SYMBOL PASWRDFL. 
     /D SPAN(' ') "P'N" 
                P'N(ACCREC) RECORD(22), D1, ACCCSIG, D2(19), ACCPW, ACCPWT, 
     +          D3(17) 
     /D SPAN(' ') 'RD.' 
                     RD.(OPER, OPLEN, 256)->RC 
     /D SPAN(' ') 'LOG.' 
                LOG.(((PASWRDFL.) .AS. P'R) .IND. C'R, 0@BI, 5, "AKIL ", 4, 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4216
+                                                            4216
+                                                            4216
                                                       Date: April 21, 1980 
                                                     Person: Engle
-Component:  ACCOUNTING(ACCKILL)  (104/141)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Wrong length is used for padding signon ID's. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /B ; C4216 CORRECT USE OF WRONG LENGTH FOR PADDING ID'S. 
     /D SPAN(' ') "S'R IDLEN" 
     /S ' ' 
     /D SPAN(' ') 'IN' 
                     IN(IDLEN...)=" .$."(IDLEN...3) 
     /EN 
-Comments:
+________
 
 
     The program actually worked with the error because IDLEN 
     was declared SHORT INTEGER and happened to immediately 
     precede LEN, which is also SHORT INTEGER, in storage.  When 
     the program stored the value in what was supposed to be a 
     full word, the value of LEN, which was used, was actually 
     set correctly.  The value of IDLEN was wrong (zero), but it 
     did not matter since IDLEN was not subsequently referenced. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4217
+                                                            4217
+                                                            4217
                                                       Date: April 23,1980 
                                                     Person: Fronczak
-Component:  *BASIC  (508/020)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Fixed LEXSYM addressing PGNT bug due to reference to 
     maximum string length in unneeded XC instruction which 
     was needed before string constants were compactified. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /BEGIN UMAFTD4.3LEX 
     /. ================================================================= 
     /. 
     /.    UPDATE UMAFTD4.3LEX (Module LEX) 
     /. 
     /.    1.  Fix LEXSYM putting string constant PGNT. 
     /. 
     /.    APPLIES TO: D4.3 Dist. 
     /. 
     /.    CODED:      April 23, 1980 
     /.    AUTHORS:    Edward J. Fronczak (UM) 
     /. 
     /. ================================================================= 
     /COPY "LEXSYM" NEXT "CSECT" 
     /COPY "PUTSCON " 
     /DELETE NEXT "XC" NEXT "0(STRNGLEN,R3)" 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4218
+                                                            4218
+                                                            4218
                                                       Date: May 7, 1980 
                                                     Person: Alexander
-Component:  *ASMH  (737/24)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Program interrupt because the condition code is not being set 
     by the macro generator in certain cases, causing mainline 
     pass 1 to call it again after it thinks it is done. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /BEGIN MENDBUG 
     /. NOT SETTING THE CONDITION CODE PROPERLY WHEN EXITING THE GENERATOR 
     /. IN CERTAIN OBSCURE CASES. 
     /COPY LEN(72) 'IEV1R' 
     /COPY 'MENDX2 ' 
     /COPY NEXT 'NI ' 
              CR    R1,R1                    SET CC TO ZERO 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4219
+                                                            4219
+                                                            4219
                                                       Date: May 7, 1980 
                                                     Person: Alexander
-Component:  *ASMH  (737/24)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     The listing formatting subroutine has several bugs because 
     I changed the impiled length of one of its scratch words. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /BEGIN HFMFWD 
     /. FIX THE BUGS INTRODUCED WHEN I CHANGED THE IMPLIED LENGTH OF HFMFWD 
     /. FROM 4 TO 5.  THE ERROR MESSAGE NUMBER IN "IEVXXX" IS OFF BY A FACTOR 
     /. OF 10. 
     /COPY LEN(72) 'IEV25' 
     /COPY 'HFMCA0 ' 
     /COPY NEXT 'CVD ' 
     /EDIT F=3 'HFMFWD' = 'HFMFWD(4)' 
     /EDIT F=3 'HFMFWD' = 'HFMFWD(4)' 
     /COPY 'HFM521 ' 
     /DELETE NEXT 'MVC ' 
     /SKIP C=1 
              ICM   R2,15,1(R9)              GET IT INTO A REGISTER 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4220
+                                                            4220
+                                                            4220
                                                       Date: May 7, 1980 
                                                     Person: Alexander
-Component:  PRINTDUMP/ITDUMP subr  (400/18)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Changes required due to the differences between the original 
     UBC and the current format of the Node Control Block (NCB). 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /BEGIN _FORMAT 
     /. CHANGES FOR THE NEW FORMAT OF THE NODE CONTROL BLOCK 
     /COPY 'ITDMPNOD ' 
     /DELETE NEXT 'XC ' 
     /DELETE '*' 
     /SKIP NEXT 'MVC ' 
     /Copy before NEXT "FRAZE ' Task:" 
     /EDIT 'ITYTASK' = 'NODTASK#' 
     /COPY ARB 'NODCNT' 
     /EDIT '+1,LEN=3' = ',LEN=1' 
     /DELETE 'ITYTASK ' 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4221
+                                                            4221
+                                                            4221
                                                       Date: May 7, 1980 
                                                     Person: Alexander
-Component:  PRINTDUMP/MAIN update  (400/2)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Make the SUPER CHECK command properly mark the TRANS 
     save areas.  Must skip any one whose index is a multiple 
     of 256 (plus or minus one). 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /BEGIN BUG2 
     /. TRY AGAIN TO FIX THE BUG IN MARKING THE TRANS SCRATCH AREAS. 
     /COPY 'TRNPTRLP ' 
     /COPY C=1 
     /EDIT F=3 '01' = 'FF' 
     /END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4222
+                                                            4222
+                                                            4222
                                                       Date: May 7, 1980 
                                                     Person: Engle
-Component:  SORT(SORT PGM)  (303/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Records may be lost when ARL is specified and the input 
     contains records which collate equivalently. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on RD4.2C and D4.3  source.
 
 
     /B C4222;  CORRECT LOSS OF RECORDS WHEN USING ARL WITH SOME COMBINATIONS 
     /C         OF RECORDS WHICH COLLATE EQUIVALENTLY. 
     /COP 'IMOD2' 
     /D SPAN(' ') 'BC' 
              BC    8,IMOD14           NO 
     /D SPAN(' ') 'BC' 
              BC    8,IMOD14           YES 
     /COP 'IMOD4' 
     /D SPAN(' ') 'CLC' 
              CLC   CURINP+4(1),DCBBP-DCB(R5) 
     /D SPAN(' ') 'STM' 
     /S SPAN(' ') 'MVI' 
              LA    R1,1               INDICATE NOT FIRST SEQUENCE 
              SLA   R1,16 
     /D SPAN(' ') 'B' 
              TM    FSEQ,MSEQ          SEQUENCE TYPE? 
              BC    8,IMOD12           NO 
              L     R15,0(0,R11)       YES, BLOCK 1ST REC IN TREE TO PREVENT 
              SRL   R15,3                SAME REC # AS NEXT OUTPUT REC 
              SLA   R15,2              D(FIRST NODE) 
              AR    R15,R11            A(NODE) 
              ST    R2,0(0,R15) 
              MVI   0(R15),X'FF'       MARK IT NULL 
              B     IMOD10 
     /COP 'IMOD8' 
     /D SPAN(' ') 'A' 
     IMOD10   LA    R1,1(0,R1)         INCREMENT RECORD NUMBER 
     IMOD12   A     R2,AVGRL 
     /D SPAN(' ') 'BC' 
              BC    8,IMOD14           NO 
     /D SPAN(' ') 'LA' 
     /S 'IMOD10' 
     IMOD14   STH   R1,2(0,R2) 
     /D NEXT 'RECORD' 
     /S '*EXIT' 
     *        RECORD LENGTH IS NOT TO BE UPDATED, TOTRL=X'C0' IF INCREMENT 
     *        IS TO BE FORCED. 
     *EXIT:   R2=A(NEXT SPACE), R14, R15-VOLATILE, TOTRL=XL.2'00' 
     /COP 'NXTARL' 
     /D SPAN(' ') 'BCR' 
     /S SPAN(' ') 'LH' 
              BC    8,*+10             NO 
              TM    TOTRL,X'40'        YES, INCREMENT ANYWAY? 
              BCR   8,R10              NO, RETURN 
              LH    R15,0(0,R2)        INCREMENT TO NEXT RECORD AREA 
     /COP 'NXTARL2' 
     /D NEXT NEXT '8,*+8' 
              BC    8,*+12             NO 
     /COP SPAN(' ') 'STM' 
              MVI   TOTRL,0 
     /COP 'OREC' 
     /COP SPAN(' ') 'MVI' 
              MVI   TOTRL,X'C0'        FORCE ARL LEN INCRE. IF SE & NOT EOF 
     /D NEXT NEXT 'FSEQ' 
              MVI   TOTRL,0            YES, DO NOT FORCE LEN INCREMENT 
              TM    FSEQ,MSEQ+MARL     SEQUENCE TYPE OR AVG REC LEN? 
     /D NEXT NEXT '7,IREC20' 
              BC    7,OREC2            NO 
     /COP 'OREC1' 
     /D SPAN(' ') 'BC' 
              BC    8,*+12 
     /COP SPAN(' ') 'OI' 
              B     *+8 
              MVI   TOTRL,0            NO, DO NOT FORCE ARL LEN INCREMENT 
     /D SPAN(' ') 'BC' 
              BC    7,OREC2            NO 
     /EN 
-Comments:
+________
 
 
     The following sequence may be used to demonstrate the error: 
      
     $RUN *SORT PAR=S=CH,A,1,1 I=*SOURCE*,F,12 O=*SINK*@CC R=10 ARL=1 
     A 
     A 
     A 
     A 
     A 
     A 
     $ENDFILE 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4223
+                                                            4223
+                                                            4223
                                                       Date: May 7, 1980 
                                                     Person: Engle
-Component:  SORT(SORT PGM)  (303/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     A program interrupt occurs if the last output data set is a 
     virtual data set and that data set becomes filled so that 
     an additional output data set is needed. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.2, RD4.2C, and D4.3  source.
 
 
     /B C4223;  ELIMINATE PROGRAM INTERRUPT WHEN LAST OUTPUT DATA SET IS A 
     /C         VIRTUAL DATA SET AND ANOTHER DATA SET IS NEEDED. 
     /COP 'ORECX' 
     /D NEXT NEXT '8,OREC7' 
              BC    8,OREC9            A PURGED VIRTUAL DSET... 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4224
+                                                            4224
+                                                            4224
                                                       Date: May 12, 1980 
                                                     Person: Tiffany
-Component:  MACUTIL  (738/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     When a macro is added to a one-macro library, that macro 
     replaced the first macro in the library because *MACUTIL 
     thought it was an empty macro library. 
     The following will correctly append the macro to the end 
     of the macro library, consisting of just one macro. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.2, RD4.2C, and D4.3  source.
 
 
     /BEGIN NOTEMPTY 
     /DELETE "BUILDEOF " 
     BUILDEOF L     R15,MACHEAD        Null MACchain? 
              IF    R15,ZERO           Oh yes. 
     /END NOTEMPTY 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4225
+                                                            4225
+                                                            4225
                                                       Date: May 20, 1980 
                                                     Person: Sherry
-Component:  OBJUTIL (ROUTINES)  (721/12)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If OBJUTIL is run in no command mode and the first object 
     record in the file attached to SCARDS ends in a "-" sign, 
     then OBJUTIL mistakenly takes the card as a continued 
     command and enters its command mode. This update fixes this 
     bug and also changes a couple of FLAG expressions to use 
     the new syntax used by the macros in NEW:SYSMAC. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /BEGIN FIXCONT 
     /COPY "CHKFYLE " 
     /COPY BEFORE  BLANKS "IF    GDCONCAT.GDSWS" 
     /EDIT "." = ":" 
     /COPY BEFORE BLANKS "IF    GDEXINCR.GDSWS" 
     /EDIT "." = ":" 
     /COPY "RDCMD " 
     * 
     * Local storage: 
     * 
              STACK 
     RDFLGS   FLAGS FIRSTIME           On if first time this is called 
              ENDSTACK 
      
              CLEAR BRKLEN,RDFLGS      No chars yet; zero flags 
     /SKIP COUNT=1 
     /COPY COUNT=6 
              IF    FRSTCMD 
                SET   FIRSTIME         First call to RCMD 
              ENDIF 
     /DELETE BLANKS "IF    $R2,NE,'-'" 
     * 
     *          Don't check for continuation character the first time 
     *          RDCMD is called since at this point we don't know if 
     *          SCARDS is assigned to a command or object file. 
     * 
                IF    (FIRSTIME),OR,($R2,NE,'-') 
                  EXITDO ,             Not continuation 
     /SKIP COUNT=1 
     /COPY "SETEDIT " 
     /COPY BEFORE BLANKS "IF    GDOUTOK.GDSWS" 
     /EDIT "." = ":" 
     /COPY BEFORE BLANKS "IF    GDEXELN.GDSWS2" 
     /EDIT "." = ":" 
     /END FIXCONT 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4226
+                                                            4226
+                                                            4226
                                                       Date: May 20, 1980 
                                                     Person: Sherry
-Component:  OBJUTIL(COMMANDS)  (721/2)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     This update fixes a bug in the interaction of the SCAN and 
     CSECT commands. If a SCAN is issued for the active section, 
     followed by a CSECT command to change active sections, then 
     a SCAN with no parameters (to continue the previous scan) 
     results in the wrong relative addresses being used. This may 
     result in a program interrupt or an incorrect error message. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /BEGIN SCANFIX 
     /COPY "CSECMD " 
     /COPY BEFORE BLANKS "RETURN RC=(R15)" 
     * 
     * If there was a previous scan command, set the new scan start 
     * and end addresses to this new control section so that a 
     * subsequent SCAN command with no parameters works properly. 
     * 
              L     R0,SCANLEN 
              IF    R0,NM 
                L     R0,CSBEGIN 
                ST    R0,SCANBEG       Scan origin 
                L     R0,CSEND 
                DECR  R0 
                ST    R0,SCANEND       Scan terminator 
              ENDIF 
     /COPY "SCANOLD " 
     /DELETE BLANKS "INCR  R0" 
     /COPY "*" BLANKS "Scan successful" 
     /COPY COUNT=1 
                  ST    R4,OFFSET          For PRTADDR 
                  INCR  R4                 Set address for next scan 
                  ST    R4,SCANBEG 
     /SKIP COUNT=2 
     /END SCANFIX 
-Comments:
+________
 
 
     This update changes the SCAN command to search the entire new 
     control section if no parameters were specified, after a previous 
     CSECT command. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4227
+                                                            4227
+                                                            4227
                                                       Date: July 2, 1980 
                                                     Person: Sherry
-Component:  OBJUTIL(WRITING)  (721/9)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     This update fixes a bug in the APPEND routine which may cause 
     a program interrupt if it tries to print the error message 
     that the module being added won't fit in the edit file. The 
     bug is a result of omitting a length specification for the 
     MVC instruction "MVC TOKEN,OMNAME". 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /BEGIN APPFIX 
     /COPY "APPEND " 
     /COPY BLANKS "IF" BLANKS "FAKEOF" 
     /COPY BLANKS "IF" BLANKS "R1,GE,R0" 
     /EDIT "TOKEN," = "TOKEN(8)," 
     /END APPFIX 
-Comments:
+________
 
 
     The OBJUTIL command to patch csect WRITING is: 
         MOD WRITING+21C I'MVC 07 BA0C 9008' 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4228
+                                                            4228
+                                                            4228
                                                       Date: July 25, 1980 
                                                     Person: Tiffany
-Component:  *FTNTIDY  (727/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     This update fixes a bug in the FTNTIDY in a special case. 
     An infinite loop may occur if the last line is not an END 
     card and is less than 9 characters long.  This causes 
     *FTNTIDY to produce an infinity of END cards in the 
     virtual file. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /BEGIN FTNEND 
     /COPY "SETRSW " 
     /COPY BLANKS "STH" BLANKS "R15,CLEN" 
                LA    R15,CARD+8   Prevent infinity by setting 
                ST    R15,SCNEND   SCNEND to correct last char. 
     /END FTNEND 
-Comments:
+________
 
 
     The OBJUTIL commands to patch the D4.3 object are: 
         PATCH FTNTIDY 
         57C4  47F080B0   To patch area. 
         20B0  41F084A2,50F082DC,47F09238 
     To check, issue the following: 
         $RUN *FTNTIDY T=1 SPUNCH=-Q SPRINT=-P 
               CALL ZAP 
              END 
         $ENDFILE 
     Notice the END card incorrectly starts at column 6. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4229
+                                                            4229
+                                                            4229
                                                       Date: July 28, 1980 
                                                     Person: Engle
-Component:  ACCOUNTING CLS(ACCMXMAT)  (631/8)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Implement check for maximum values which are greater than 
     32767 and which are to be stored in a half word (specifically, 
     file space maximums). 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /B C4229; CHECK FOR OVERFLOWS WHEN CHANGING HALF WORD MAXIMUMS. 
     /D SPAN(' ') 'F.' 
                    F. ENGLE--28 JUL 80' 
     /D TAB(72) 'AMXM0074' 
              AGO   .CKOVFLO 
     /COP TAB(72) 'AMXM0081' 
     .CKOVFLO AIF   ('&LEN' NE 'H').TOTINC 
              C     R10,=F'32767'      COMPARE NEW MAXIMUM WITH HALF WORD   1 
                                       MAXIMUM VALUE 
              BH    ARITHOF            OVERFLOW 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4230
+                                                            4230
+                                                            4230
                                                       Date: July 29, 1980 
                                                     Person: Engle
-Component:  ACCOUNTING(ACCFLCHG)  (104/88)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If the unaccumulated file charges exceed $71.5827, a smaller 
     value will be printed due to high order truncation. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4230; CORRECT ERROR CAUSED BY TRUNCATION OF HIGH-ORDER 32 BITS 
     /C        AFTER MULTIPLYING FILE CHARGE PER HOUR TIMES NUMBER OF 
     /C        MINUTES SINCE LAST FILE CHARGE UPDATE. 
     /D TAB(72) 'AFLC0001' 
     /S TAB(72) 'AFLC0002' 
     AFLC     TITLE 'MTS FILE CHARGE ACCOUNTING INFORMATION--C. F. ENGLE-29 1 
                    JUL 80' 
     /D TAB(72) 'AFLC0088' 
     /S TAB(72) 'AFLC0089' 
              ALR   R3,R1              TOTAL FILE CHARGE SINCE LAST 
              BC    12,*+8             ACCUMULATION 
              A     R2,=F'1' 
     /D TAB(72) 'AFLC0091' 
     /S TAB(72) 'AFLC0093' 
              AL    R3,=F'3000'        CONVERT TO DOLLARS*10000 
              BC    12,*+8 
              A     R2,=F'1' 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4231
+                                                            4231
+                                                            4231
                                                       Date: August 14, 1980 
                                                     Person: Engle
-Component:  ACCOUNTING (AIOIF)  (104/)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     The following subroutine was inadvertently omitted from 
     distribution D4.3.  It is called by ACCKILL (104/141). 
      
     AIOI     TITLE 'R-TYPE INTERFACE FOR ACCOUNTING I/O ROUTINES--C. F. ENG1 
                    LE--29 FEB 80' 
     *        ON ENTRY, GR0 CONTAINS THE ADDRESS OF THE ACCOUNTING I/O 
     *        ROUTINE TO BE CALLED.  OTHER PARAMETERS ARE AS SPECIFIED FOR 
     *        THE I/O ROUTINE. 
              SPACE 5 
     AIO      START 
              REQU  TYPE=DEC 
              SPACE 5 
              LR    R15,R0 
              L     R0,4(,R13) 
              BR    R15 
              END 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4232
+                                                            4232
+                                                            4232
                                                       Date: September 5, 1980 
                                                     Person: Engle
-Component:  ACCOUNTING (ACCFLUPD)  (104/79)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If ACCFLUPD is called to update the cumulative charge in the 
     accounting record and the increment is greater than $35.7913, 
     a smaller amount will be added (or subtracted) due to high 
     order truncation. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.0 source.
 
 
     /B C4232; CORRECT ERROR CAUSED BY TRUNCATION OF HIGH-ORDER 32 BITS 
     /C        AFTER MULTIPLYING CUMULATIVE PAGE-HOURS OF FILE SPACE 
     /C        SINCE LAST FILE CHARGE UPDATE TIMES FILE CHARGE PER PAGE- 
     /C        HOUR. 
     /D TAB(72) 'AFLU0002' 
                    GLE--5 SEP 80' 
     /D TAB(72) 'AFLU0141' 
              SR    R0,R0              ZERO DISK STORAGE CHARGES 
     /D TAB(72) 'AFLU0143' 
              BNE   HVDSKSPC           UPDATE TIME IS EXPIRATION TIME 
     /D TAB(72) 'AFLU0154' 
     /D TAB(72) 'AFLU0158' 
     HVDSKSPC LR    R2,R4              UPDATE TIME 
     /COP TAB(72) 'AFLU0160' 
              SR    R1,R1              ZERO DATA CELL STORAGE CHARGES 
     /D TAB(72) 'AFLU0162' 
              BNE   HVDCSPC            UPDATE TIME IS EXPIRATION TIME 
     /D TAB(72) 'AFLU0173' 
     /S TAB(72) 'AFLU0174' 
     /D TAB(72) 'AFLU0177' 
     HVDCSPC  LH    R3,2(,R6)          DATA CELL RATE 
              MR    R2,R1              CHARGE FOR DATA CELL SPACE 
              LH    R1,0(,R6)          DISK RATE 
     /D TAB(72) 'AFLU0180' 
     HVDSKSPC LH    R1,0(,R6)          DISK RATE 
     /D TAB(72) 'AFLU0182' 
              MR    R0,R0              CHARGE FOR DISK SPACE 
              AIF   (NOT &DC).DC5 
              ALR   R1,R3 
              BC    12,*+8 
              A     R0,=F'1' 
              AR    R0,R2              TOTAL FILE STORAGE CHARGES 
     .DC5     ANOP 
              AL    R1,=F'3000' 
              BC    12,*+8 
              A     R0,=F'1' 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4233
+                                                            4233
+                                                            4233
                                                       Date: October 1, 1980 
                                                     Person: Sherry
-Component:  OBJUTIL(OPTIMIZE)  (721/11)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     This update fixes a bug in the OPTRLD routine in OPTIMIZE 
     which caused a bad RLD item to be created if the last RLD 
     item on an input card had the "same next pointers" bit set. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /BEGIN RLDFIX 
     /COPY "OPTRLD3 " 
     /COPY BLANKS "SR" BLANKS "R9,R7" 
     /COPY COUNT=1 
              BNP   OPTRLD8            No more data 
     /COPY BLANKS "BO" BLANKS "OPTRLD5" 
     /DELETE BLANKS "LTR   R9,R9" 
     /EDIT "BP" = "B " 
     /DELETE BLANKS "B" BLANKS "OPTRLD8" 
     /END RLDFIX 
-Comments:
+________
 
 
     This problem showed up with object decks produced by 
     the *EXPL compiler, in the .GLOBAL. section emitted 
     if a global character variable was initialized. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4234
+                                                            4234
+                                                            4234
                                                       Date: October 18, 1980 
                                                     Person: Engle
-Component:  $ACCOUNTING CLS(NEW ACCMXMAT)  (631/17)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     KWSCAN could go beyond end of right hand table for special 
     command (SET) keywords because of improper length parameter; 
     if the accounting files were locked, they were not unlocked 
     before printing the error messages involving undefined and 
     circular definitions of defined signon ID ranges; and if the 
     warning that the specified sigfile might not be permitted 
     properly was printed, a message was always printed that the 
     sigfile did not exist even if it did exist. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on RD4.3A  source.
 
 
     /B C4234; CORRECT LENGTH OF SPECIAL-COMMAND KEYWORD RIGHT-HAND TABLE; 
     /C        UNLOCK THE ACCOUNTING FILE BEFORE PRINTING MESSAGES FOR 
     /C        UNDEFINED DEFINED-SIGNON-ID-RANGES OR DEFINED-SIGNON-ID-RANGE 
     /C        CIRCULAR DEFINITIONS; AND SUPPRESS MESSAGE THAT SIGFILE DOES 
     /C        NOT EXIST IF IT DOES EXIST BUT IS NOT PERMITTED. 
     /D SPAN(' ') 'F.' 
                    F. ENGLE--18 OCT 80' 
     /D 'RDNODEF' 
     /S SPAN(' ') 'LA' 
     RDNODEF  LA    R2,IDGRPNAM 
              CLI   ACCOPNSW,0 
              BE    RDNDMSG            FILE IS CLOSED 
              L     R0,SAVE+4 
              BAS   R14,CLOSEACC       CLOSE *ACCOUNTING 
     RDNDMSG  L     R0,ERRFDUB 
     /D 'RDGRPLP' 
     /S SPAN(' ') 'LA' 
     RDGRPLP  LA    R2,IDGRPNAM 
              CLI   ACCOPNSW,0 
              BE    RDGLMSG            FILE IS CLOSED 
              L     R0,SAVE+4 
              BAS   R14,CLOSEACC       CLOSE *ACCOUNTING 
     RDGLMSG  L     R0,ERRFDUB 
     /COP 'SIGFWARN' 
     /COP SPAN(' ') 'not' 
     /I CHECKFIL 
              BNE   SIGFTERM           IT DOES 
     /COP SPAN(' ') 'IO' 
     /BU CHECKFIL 
     /COP SPAN(' ') 'C' 
     /BU END 
     /COP 'KWSPTAB' 
     /D NEXT NEXT 'AL2(KWSPNOLS' 
              DC    AL2(KWSPNOLS-KWRHT,KWSPRHS-KWEXTAB),AL1(0) 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4235
+                                                            4235
+                                                            4235
                                                       Date: November 6, 1980 
                                                     Person: Tiffany
-Component:  *FTNTIDY(OBJECT)  (727/9)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     The object of *FTNTIDY does not properly tidy the assigned 
     GO TO statements like: 
               GO TO ASSIGN,(200,300,400) 
     The source in FTNTIDY.S (MAIN) is correct, but the patch was 
     applied to the wrong location and got absorbed in *FTNTIDY 
     by *OBJUTIL (with REPSAVE=OFF as default). 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on RD4.3A  source.
 
 
     None. 
-Comments:
+________
 
 
     #$RUN *OBJUTIL 0=*FTNTIDY 
     *CSECT FTNTIDY 
     *DISPLAY 1A98...1A9C@T=I 
      1A98...1A9C 
      001A98  'I'  BAL  A0 C B90 
      001A9C  'I'  LA   E0 C B90 
     *MODIFY 1A98@T=I 'LA E0CB90,BAL F0BE82' 
     *STOP 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4236
+                                                            4236
+                                                            4236
                                                       Date: November 6, 1980 
                                                     Person: Engle
-Component:  *INDEX  (580)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Page numbers with values of i*256+123, where i=0, 1, 2, ..., 
     were listed before other numbers. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /B C4236; CORRECT THE ERROR CAUSING NUMBERS WITH VALUES OF I*256+123, 
     /C        I=0, 1, ..., TO PRINT BEFORE OTHER NUMBERS. 
     /COP TAB(72) 'INDX0362' 
                    CALL BLANK(PAGEE); 
     /D TAB(72) 'INDX0369' 
                    WORDT=SUBSTR(PAGEE, 1, Y-1); 
                    CALL BLANK(WORDT); 
                    ATTRT=ATTRT||WORDT; 
     /D TAB(72) 'INDX0400' 
     /EN 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4237
+                                                            4237
+                                                            4237
                                                       Date: November 13, 1980 
                                                     Person: Sherry
-Component:  MOUNT COMMAND(READREQ)  (101/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Since the mount subroutine is now gated, MTS will not give control 
     to the MOUNT CLS attention exit in the event of an attention. To 
     get around this, the routine READREQ must call GUINFO to test the 
     "ATNBIT" to see if a read from SOURCE was interrupted. Without 
     this check, mount ignores (actually doesn't get) attentions on 
     a prompt for replacement of an erroneous mount request on a call 
     to the mount subroutine. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on RD4.3A  source.
 
 
     /BEGIN GATEATTN 
     /COPY "READREQ  RENTER" 
     /COPY BEFORE BLANKS "IF" BLANKS "ATTN" 
                IF    MNTSUBR 
     * 
     *            If #MOUNT was called from the MOUNT subroutine, we are 
     *            behind the gate. In this case we must call GUINFO to 
     *            check for attentions, since MTS won't take our trap. 
     * 
                  RCALL GUINFO(A(=CL8'ATNBIT'),A(RDATTN)),PARLOC=RDLIST 
                  L     R0,RDATTN 
                  IF    R0,NZ          Attention pending? 
                    SET   ATTN         Yes 
                    SR    R0,R0        Reset the bit since 
                    ST    R0,RDATTN     we will process the attn 
                    RCALL CUINFO(A(=CL8'ATNBIT'),A(RDATTN)),PARLOC=RDLIST 
                  ENDIF 
                ENDIF 
      
     /COPY "RDLNR " 
     RDATTN   DS    F                  1 -> attention pending 
     /END GATEATTN 
-Comments:
+________
 
 
     Note that an attention during the operator wait will still be 
     detected from the return code from READ from OPER, regardless 
     of whether mount is behind the gate. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4238
+                                                            4238
+                                                            4238
                                                       Date: November 13, 1980 
                                                     Person: Sherry
-Component:  MOUNT COMMAND  (101/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Update to change the name of the entry point MOUNT to MOUNTSUB. 
     This must be done since the name MOUNT is now defined as an entry 
     in the CLS transfer vector too. To get the MOUNT CLS/subroutine 
     to load properly with the IPLCS option, also punch a couple of 
     loader records. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on RD4.3A  source.
 
 
     /BEGIN MOUNTSUB 
     /COPY BLANKS "PUNCH ' COM MOUNTCMD" 
              PUNCH ' OPT WXLCS=ON'    To resolve an adcon in the GATE 
     * 
     *        Emit an alias record defining the entry point MOUNTSUB 
     *        as the MOUNT subroutine. This must be done because the 
     *        name MOUNT is also defined in the transfer vector CLSTV. 
     * 
              PUNCH ' ALI  MOUNTSUB  MOUNT' 
     /COPY BEFORE "MOUNT " 
     /EDIT F=1 "MOUNT" = "MOUNTSUB" 
     /COPY C=1 
     /COPY BEFORE "MOUNT " BLANKS "RBEGIN" 
     /EDIT F=1 "MOUNT" = "MOUNTSUB" 
     /COPY BEFORE BLANKS "USING MOUNT" 
     /EDIT  "MOUNT" = "MOUNTSUB" 
     /COPY BEFORE BLANKS "REND  MOUNT" 
     /EDIT  "MOUNT" = "MOUNTSUB" 
     /END MOUNTSUB 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4239
+                                                            4239
+                                                            4239
                                                       Date: December 18, 1980 
                                                     Person: Tiffany
-Component:  *FTNTIDY/SWAPLBL  (727/4)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     When encountering a statement like "DO 10 H=1,10", *FTNTIDY 
     thinks there is a Hollerith constant and results in either of 
     two conditions: 
            (1)   An addressing interrupt in SWAPLBL or 
            (2)   A bad statement like   DO  1'' = 1, 10 
     This update fixes so that *FTNTIDY will never recognize 
     Hollerith constants in DO statements. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on RD4.3A  source.
 
 
     /Begin DONOHOL 
     /Copy "LETTER " 
     /Delete blanks "IF" blanks "$R1,EQ,'H'" 
              IF    ($R1,EQ,'H'),AND,      Test for a possible Hollerith.    + 
                    (STMTTYPE,NE,#DO,CLI)  DO 10 H=1,10 is tricky. 
     /End DONOHOL 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4240
+                                                            4240
+                                                            4240
                                                       Date: January 6, 1981 
                                                     Person: Sherry
-Component:  OBJUTIL(READSUBR)  (721/6)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     This update fixes a couple of bugs in CSI record processing. 
     The update to CSIREAD zeros the link pointer of a CSI record 
     in case it's the last record in the file. Also a bug in CSITXT 
     that causes an error from MSG when the CSI text is missing is fixed. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /BEGIN CSIFIX 
     /COPY "CSIREAD " 
     /COPY BLANKS "STH" BLANKS "R2,CARDLEN" 
              CLEAR CARDNXT 
     /COPY "CSITXT " 
     /COPY BLANKS "IF" BLANKS "R15,NZ" 
                L     R2,CARDPTR 
     /END CSIFIX 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4241
+                                                            4241
+                                                            4241
                                                       Date: January 9, 1981 
                                                     Person: Tiffany
-Component:  PL1 COMPILER(ROUT)  (163/10)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     When MACRO option is in effect, PL1 compiler may not put out 
     the last record at the end of the macro phase.  This happens 
     only if the last record is the first record of a block in 
     the virtual memory file, formatted FB(4000,80).  This update 
     will force the CLOSE# routine to put out the last record. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /BEGIN PUTLAST 
     /COPY "PUTLOC  " 
     /COPY BLANKS "BALR" BLANKS "R14,R15" 
              SET   DCB_PUT,ON   Restore flag reset by DCBEOB. 
     /END PUTLAST 
-Comments:
+________
 
 
     Before assembling, be sure the flag separators in the 
     have been changed from "." to ":", e.g. DCBRECFR.DCBRECFM 
     to DCBRECFR:DCBRECFM.  This may be required by *SYSMAC 
     macros. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4242
+                                                            4242
+                                                            4242
                                                       Date: January 14, 1981 
                                                     Person: Sherry
-Component:  OBJUTIL(READSUBR)  (721/6)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     This update fixes the way the continuation pointer is followed for 
     DIR records in a line file. The  way the read modifier bits were set 
     previously caused the @IC bit to be set erroneously after a call 
     to INCLUDE. This would cause problems if the edit file contained 
     any $CONTINUE WITH records - in particular it could result in 
     OBJUTIL changing an external file if it did a write to the line 
     in the edit file containing the $CW record. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /BEGIN DIRFIX 
     /COPY "RDOBJC " 
     /DELETE BLANKS "NC" BLANKS "INMOD(4),=X'FFF6FFFE'" 
     /SKIP COUNT=1 
                    L     R2,INMOD         Save current modifier bits 
                    MVC   INMOD(4),POINTMOD   @MAXLEN,@EC,@IC,@SP,@I 
     /COPY COUNT=1 
     /SKIP COUNT=1 
                    ST    R2,INMOD         Restore proper modifiers 
     /COPY BEFORE "ENDSKEL " 
     POINTMOD MTSMODS (@MAXLEN,@EC,@IC,@SP,@I) 
     /END DIRFIX 
-Comments:
+________
 
 
     This problem would show up only in command mode after including 
     object modules from a line file library via an "slist" specification, 
     if the edit file contained a $CONTINUE WITH record as its last line. 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4243
+                                                            4243
+                                                            4243
                                                       Date: January 14, 1981 
                                                     Person: Sherry
-Component:  OBJUTIL(WRITING)  (721/9)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     This update fixes a bug in SAVEJUNK that would lead to program 
     interrupts or FREESPAC punts from DELVMF in the event of an 
     I/O error attempting to delete endjunk records. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /BEGIN JUNKFIX 
     /COPY "SAVEJUNK " 
     /COPY BLANKS "SR" BLANKS "R8,R8" BLANKS "VMfile empty" 
              ST    R8,VMFILPTR         Clear root pointer 
     /END JUNKFIX 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4244
+                                                            4244
+                                                            4244
                                                       Date: January 14, 1981 
                                                     Person: Sherry
-Component:  OBJUTIL  (721/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     This update fixes a bug in the OBJUTIL main program. After 
     a command processor returns, the flag RDCARD must be reset 
     so the next call to RDCMD actually reads a new command, 
     instead of using the previous one. This bit will be set 
     only if some abnormal situation occured at a lower level, 
     e.g., an I/O error writing the edit file. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /BEGIN CMDFIX 
     /COPY "CMDPREQ " 
     /COPY BLANKS "BALR  R14,R15" BLANKS "Hop to it" 
              CLEAR RDCARD 
     /END CMDFIX 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4245
+                                                            4245
+                                                            4245
                                                       Date: January 16, 1981 
                                                     Person: Engle
-Component:  SORT (SORT PGM)  (303/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If ARL is specified and no intermediate files are used, errors 
     may occur if either the output records are format F and 
     intermediate files were created (0* intermediate files) or the 
     output records are modified by SORTE3 at a point beyond the 
     end of the record passed to SORTE3, regardless of the maximum 
     record lengths specified in the control statement (0 or 0* 
     intermediate files).  No error is detected if SORTE3 sets a 
     length greater than any maximum record length specified in the 
     control statement.  If ARL is specified with a small value and 
     REC is also specified with a small value, a long input record 
     may produce a loop.  Also, the calculations used to estimate 
     the number of intermediate files to be needed are slightly 
     inaccurate. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /B C4245; ELIMINATE ERRORS WHEN ARL IS SPECIFIED, NO INTERMEDIATE 
     /C        FILES ARE USED, AND EITHER OUTPUT RECORDS ARE FORMAT F AND 
     /C        INTERMEDIATE FILES WERE CREATED OR OUTPUT RECORD LENGTHS ARE 
     /C        EXTENDED USING SORTE3; CHECK FOR EXCESSIVE OUTPUT RECORD 
     /C        LENGTHS SET BY SORTE3; AND ELIMINATE A LOOP WHEN SMALL 
     /C        VALUES ARE SPECIFIED FOR BOTH THE ARL AND REC PARAMETERS AND 
     /C        AN INPUT RECORD REQUIRES A MUCH LONGER LENGTH IN THE RECORD 
     /C        SAVE AREA. 
     /D TAB(72) 'SORT0858' 
     /COP TAB(72) 'SORT0860' 
              L     R8,SFBL            R8 <- SF BUF LEN 
     /D TAB(72) 'SORT0886' 
              C     R3,MAXRL           BE SURE THERE IS ROOM FOR AT LEAST 
              BC    10,*+8               2 MAXIMUM LENGTH RECORDS IF ARL 
              L     R3,MAXRL 
              AR    R3,R9              +MRL+8 
     /D TAB(72) 'SORT0892' 
     /S TAB(72) 'SORT0893' 
              BC    8,*+6              YES 
              AR    R1,R9              NO, ADD MRL+8 FOR EVEN NODE 
     /D TAB(72) 'SORT0933' 
     /S TAB(72) 'SORT0935' 
              M     R10,MAXRL          (# RECS/S.F.)*(MRL + 4) 
     /D TAB(72) 'SORT0937' 
              LA    R11,1(0,R11)       SF CREATE SIZE 
     /COP TAB(72) 'SORT0947' 
              C     R1,MAXRL           SPACE FOR A MAXIMUM LENGTH ARL REC? 
              BC    10,*+8             YES 
              L     R1,MAXRL           NO, USE MRL+4 
     /D TAB(72) 'SORT1007' 
              BC    8,ISPAC26          NO 
     /D TAB(72) 'SORT1009' 
              MVC   ARLMNINC,MAXCXTNT  MIN INCREMENT FOR ARL RECS IN RSA 
              L     R14,AODCBL         A(OUTPUT DCB LIST) 
              USING DCB,R14 
              CLI   DCBT+1,MDSTF       TYPE F OUTPUT RECORDS? 
              BC    7,ISPAC22          NO 
              LH    R14,DCBMRL         YES 
              DROP  R14 
              LA    R14,4(0,R14) 
              C     R14,ARLMNINC       OUTPUT REC LEN LARGER THAN INCREMENT? 
              BC    12,ISPAC22         NO 
              ST    R14,ARLMNINC       USE OUTPUT REC LEN FOR ARL INCREMENT 
     ISPAC22  C     R15,ETAB2          EXIT SORTE1 ENABLED? 
              BC    7,ISPAC24          YES 
              CLC   ETAB2(LETAB2-4),ETAB2+4 EXITS E2 THROUGH E4 ENABLED? 
              BC    7,ISPAC24          YES 
              CLC   ETAB2(VSORTE9-VSORTE5),VSORTE5    EXITS E5 - E8 ENABLED? 
              BC    8,ISPAC26          NO EXITS ENABLED 
     ISPAC24  MVC   ARLMNINC,MAXRL     MIN INC TO ALLOW FOR PADDING, ETC. 
     ISPAC26  L     R12,VSORTE3S 
     /D TAB(72) 'SORT1443' 
     /S TAB(72) 'SORT1452' 
              C     R15,ARLMNINC       MINIMUM INCREMENT LONGER THAN REC? 
     /D TAB(72) 'SORT1454' 
     /S TAB(72) 'SORT1456' 
              L     R15,ARLMNINC       YES, USE MINIMUM INCREMENT LENGTH 
     /COP TAB(72) 'SORT1648' 
     /COP SPAN(' ') 'BC' 
              MVC   ARLMNINC,MAXCXTNT  YES, MIN ARL INCRE IS MAX COMP EXTENT 
     /D TAB(72) 'SORT1860' 
     /S TAB(72) 'SORT1861' 
              AH    R15,0(0,R2)        CHECK L(REC) 
              BC    12,IREC0           IF <= 0, FORGET THE CALL 
              C     R15,MAXRL 
              BC    2,RERR28           LENGTH EXCESSIVE 
     /COP TAB(72) 'SORT2316' 
     RERR28   LA    R13,MSGE28-MSGE27(0,R13) 
     /COP TAB(72) 'SORT2432' 
     ARLMNINC DS    F                  MINIMUM ARL INCREMENT 
     /COP TAB(72) 'SORT3953' 
     MSGE28   EQU   128                OUTPUT LENGTH EXCEEDED MAXRL 
     /EN 
-Comments:
+________
 
 
     An error with F format output records may be demonstrated 
     using the following sequence: 
      
     $RUN *SORT PAR=S=CH,A,2,1 I=*SOURCE* O=*SINK*,F,20 ARL=60 
      1 
      2 
      3 
     $ENDFILE 
      
     The loop may be demonstrated by the following sequence: 
      
     $RUN *SORT T=1 PAR=S=CH,A,2,1 I=*SOURCE* O=*SINK* ARL=2 R=4 
      1 
      2 
      3 THIS IS A LONG INPUT LINE TO SHOW THE PROBLEM THAT A LONG LINE WILL CAUSE 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4246
+                                                            4246
+                                                            4246
                                                       Date: January 16, 1981 
                                                     Person: Engle
-Component:  SORT (MESSAGES and *SORTLM)  (303/11,303/15)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     Add error message for excessive output record length. 
-Source changes expressed in edit commands form,
+______________
                based on D4.3  source.
 
 
     I 128   '  1281    A SORT output record length has been set to a value which exceeds the' 
     I 128.1 '          maximum record length specified in your control statement.' 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4247
+                                                            4247
+                                                            4247
                                                       Date: February 12, 1981 
                                                     Person: Tiffany
-Component:  *FTNTIDY(MAIN)  (727/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     *FTNTIDY goes into a loop or into an addressing interrupt 
     when processing FORTRAN DEBUG statements such as: 
               DEBUG UNIT(9),TRACE,INIT(QQSV) 
     This problem was brought to my attention by an assembly 
     warning. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on RD4.3A  source.
 
 
     /BEGIN FIXDEBUG 
     /COPY "RDEBU " 
     /COPY BEFORE BLANKS "ENDDO" BLANKS "LT" 
     /EDIT F=3 "LT" = "WHILE=LT" 
     /END FIXDEBUG 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4248
+                                                            4248
+                                                            4248
                                                       Date: February 12, 1981 
                                                     Person: Tiffany
-Component:  *FTNTIDY(MAIN)  (727/1)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     The source of *FTNTIDY was not correct in spite of the 
     MTS change form #4235.  A line was moved instead of 
     copied.  The following update will correct the source. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on RD4.3A  source.
 
 
     /BEGIN FIX#4235 
     /COPY "RGOTO " 
     /COPY BLANKS "ELSE" 
     /COPY BEFORE BLANKS "BAL" BLANKS "R15,CLEAN" 
                LA    R14,INSERT_LABEL Point to label dictionary. 
     /END FIX#4235 
1MTS CHANGE FORM
+MTS CHANGE FORM
+MTS CHANGE FORM
                                                 Change Nbr: 4249
+                                                            4249
+                                                            4249
                                                       Date: March 6, 1981 
                                                     Person: Engle
-Component:  SORT (SORT2/3/4 SUBR)  (303/6)
+_________   
-Reason for change (in case of error correction, erroneous behavior noticed
+_________________
                    and conditions in which it occurs)
 
 
     If the signed decimal (SD) collating type is used, an error 
     caused by the combination of collating types and the number of 
     I/O data sets is erroneously always detected. 
-Source changes expressed in new update (UBCUPDATE) form,
+______________
                based on D4.3  source.
 
 
     /B C4249; CORRECT ERROR CAUSING AN EXCEEDED CAPACITY 
     /C        ERROR WHEN SIGNED DECIMAL (SD) COLLATING TYPE IS SPECIFIED. 
     /D TAB(72) 'SRT21376' 
              CLI   2(R8),X'DF' 
     /EN 
