26 routines modified to uncouple Fileman from Kernel and allow Standalone Fileman.
Changes:
NO.: 14525                              VERSION: 22.2
  TAG: passim                           ROUTINE NAME OR GLOBAL REF: DINIT24
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: OS DD changed to remove reliance on ^%ZOSF
  DOCUMENTATION NEEDED: YES
  DOCUMENTATION NOTES: %ZOSF references in manual need to be removed
  NEW VERSION: <22.2>
 LONG DESCRIPTION:
 New nodes added for ^DD("OS", file .7 (MUMPS OPERATING SYSTEM)

 Field Number    Location        FIELD NAME      Field Name      Description
 9       RM      RIGHT MARGIN    Right margin    Sets the $I width to X characte
rs. If X=0, then the line in set to no wrap.
 10      UCICHECK        CHECK EXISTENCE OF UCI  Check existence of UCI  Returns
 Y'="" if X is a valid UCI name.
 11      EOFF    ECHO OFF        Echo off        Turn off echo to the $I device.
 12      EON     ECHO ON Echo on Turn on echo to the $I device.
 21      TRMOFF  TURN OFF READ TERMINATORS       Turn off read terminators
 Resets terminators to normal.
 22      TRMON   TURN ON READ TERMINATORS        Turn on read terminators
 Turns on all controls as terminators.
 23      TRMRD   GET READ TERMINATOR     Get read terminator     Returns in Y wh
at terminated the last READ.
 31      NO-TYPE-AHEAD   DISABLE TYPE AHEAD BUFFERING    Disable type ahead buff
ering    Turn off the TYPE-AHEAD for the device $I.
 32      TYPE-AHEAD      ENABLE TYPE AHEAD BUFFERING     Enable type ahead buffe
ring     Allow TYPE-AHEAD for the device $I.
 2620    DEL     DELETE ROUTINE  Delete routine  Delete the routine named in X f
rom the UCI.
 2621    LOAD    LOAD ROUTINE INTO ARRAY Load routine into array Load routine X
into @(DIE_"XCNP,0)".
 2622    RSEL    SELECT ROUTINES Select routines Returns the user's selection of
 routines in ^UTILITY($J,"routine name").
  EXPLANATION FOR TEST SITES: Check DD(.7,"GL","RM",*)

NO.: 14526                              VERSION: 22.2
  TAG: passim                           ROUTINE NAME OR GLOBAL REF: DINIT21
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Data to support OS file extension to remove reliance on ^%ZOSF
  RELATED CHANGE NUMBERS: 14525         DOCUMENTATION NEEDED: YES
  DOCUMENTATION NOTES: Documentation needs to say that %ZOSF isn't needed anymor
e.                                      NEW VERSION: <22.2>

NO.: 14527                              VERSION: 22.2
  TAG: DD                               ROUTINE NAME OR GLOBAL REF: DINIT21
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Moved S DINITOSX to DD from line above
  DOCUMENTATION NEEDED: NO              NEW VERSION: <22.2>
 LONG DESCRIPTION:
 So that it would get set even if Fileman OS file doesn't exist yet. Fixes
 the fact that ^DD("ROU") does not get set in a virgin installation when
 doing DINIT for the first time. That part happens in DINIT6.
  EXPLANATION FOR TEST SITES: See next
 DETAILED TESTING INSTRUCTIONS:
 On a virgin fileman installation that is brand new, run ^DINIT, and check
 for the existence of ^DD("ROU"). If it is present, then the fix worked.

NO.: 14528                              VERSION: 22.2
  TAG: passim                           ROUTINE NAME OR GLOBAL REF: DINVGTM
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: OS specific functions for GT.M/VMS. New routine.
  DOCUMENTATION NEEDED: NO              NEW VERSION: <22.2>

NO.: 14529                              VERSION: 22.2
  TAG: passim                           ROUTINE NAME OR GLOBAL REF: DINVGUX
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: OS specific functions for GT.M/UNIX. New routine.
  DOCUMENTATION NEEDED: NO              NEW VERSION: <22.2>

NO.: 14530                              VERSION: 22.2
  TAG: FRWD+23                          ROUTINE NAME OR GLOBAL REF: DDBRAHTJ
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Replaced %ZOSF("RM") with DD("OS",DISYS,"RM")
  RELATED CHANGE NUMBERS: 14525,14526   DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>                   EXPLANATION FOR TEST SITES: see below
 DETAILED TESTING INSTRUCTIONS:
 Run this:
 D WP^DDBR(.84,"9202,",4,"A")

 Ensure that there are no errors.
 Thanks to Michael Ogi

NO.: 14531                              VERSION: 22.2
  TAG: BRN+18                           ROUTINE NAME OR GLOBAL REF: DDBRP
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Calls RM node on OS file rather than %ZOSF
  RELATED CHANGE NUMBERS: 14525,14526   DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 DETAILED TESTING INSTRUCTIONS:
 While in browser, invoke help using F1-H.

 Success: No errors.

NO.: 14532                              VERSION: 22.2
  TAG: QUEUED+5-7                       ROUTINE NAME OR GLOBAL REF: DDBRP
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Removed goto and added hang.  DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 LONG DESCRIPTION:
 If not done, causes an infinite loop on Standalone Fileman. Has no effect
 on Fileman that has access to the full ^%ZIS.
  EXPLANATION FOR TEST SITES: see below
 DETAILED TESTING INSTRUCTIONS:
 In virgin fileman, in browser, press F1-F1-F1-H.

 Success: No infinite loop in virgin fileman.

NO.: 14533                              VERSION: 22.2
  TAG: DEVICEff                         ROUTINE NAME OR GLOBAL REF: DDBRP
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Keep DINAKED and restore it before each call to DIALOG
  DOCUMENTATION NEEDED: NO              NEW VERSION: <22.2>
 LONG DESCRIPTION:
 References to ^(0) node of %ZTSK in standalone fileman fail in ^DIALOG if
 LGR is %ZTSK. Behavior verfied on GT.M/Linux and Cache 2010/OS X.
 DETAILED TESTING INSTRUCTIONS:
 F1-F1-F1-H in the browser.

 Success: No errors.

NO.: 14534                              VERSION: 22.2
  TAG: QUEUED+17                        ROUTINE NAME OR GLOBAL REF: DDBRP
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Calls RM node on OS file rather than %ZOSF
  RELATED CHANGE NUMBERS: 14525-26      DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 DETAILED TESTING INSTRUCTIONS:
 F1-H on browser to invoke help.
 F1-H-H-H to print help

 Success: No errors when going back to the browser after printing.

NO.: 14535                              VERSION: 22.2
  TAG: DRff                             ROUTINE NAME OR GLOBAL REF: DDBRU
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Get DISYS and invoke RSEL from the OS file.
  RELATED CHANGE NUMBERS: 14525-14526   DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>                   EXPLANATION FOR TEST SITES: see below
 DETAILED TESTING INSTRUCTIONS:
 Run DD^DDBRU to test. Select any set of routines using (such as DIFROM*)
 and then hit enter. Exit using CTRL-E.

NO.: 14536                              VERSION: 22.2
  TAG: EDITff                           ROUTINE NAME OR GLOBAL REF: DDBRU
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Change ref from %ZOSF to OS file
  RELATED CHANGE NUMBERS: 14525-6       DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 LONG DESCRIPTION:
 <  X ^DD("OS",DISYS,"RSEL") Q:$O(^UTILITY($J,""))']""
 ---
 >  X ^%ZOSF("RSEL") Q:$O(^UTILITY($J,""))']""
 68,69c68,69
 <  I $G(DDBRTN)]"" S X=DDBRTN X ^DD("OS",^DD("OS"),18) I '$T W !,DDBRTN," Inval
id",!
 <  X ^DD("OS",^DD("OS"),"EON")
 ---
 >  I $G(DDBRTN)]"" S X=DDBRTN X ^%ZOSF("TEST") I '$T W !,DDBRTN," Invalid",!
 >  X ^%ZOSF("EON")
 72c72
 <  S X=DDBRTN X ^DD("OS",^DD("OS"),18)
 ---
 >  S X=DDBRTN X ^%ZOSF("TEST")
 84c84
 <  X ^DD("OS",^DD("OS"),"EON")
 ---
 >  X ^%ZOSF("EON")
 122c122
 <  S (IOM,X)=80 X ^DD("OS",^DD("OS"),"RM")
 ---
 >  S (IOM,X)=80 X ^%ZOSF("RM")
 125c125
 <  S (IOM,X)=132 X ^DD("OS",^DD("OS"),"RM")
 ---
 >  S (IOM,X)=132 X ^%ZOSF("RM")
  EXPLANATION FOR TEST SITES: see below
 DETAILED TESTING INSTRUCTIONS:
 D RTNEDIT^DDBRU, select existing routine (cannot create a new routine),
 edit, and then save. Run again to verify that modifications have been
 saved.

 Success: Modifications saved.

NO.: 14537                              VERSION: 22.2
  TAG: EN+1                             ROUTINE NAME OR GLOBAL REF: DDBR
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Don't check to see if terminal is supported. Assume it is in this day
and age.                                DOCUMENTATION NEEDED: YES
  DOCUMENTATION NOTES: No special set-up is required to use browser, unlike in o
lder versions.                          NEW VERSION: <22.2>
 LONG DESCRIPTION:
 This test called out to kernel files, making it impossible to run on
 virgin fileman. In addition, most terminals today (2012) support this
 functionality, so the check is not necessary.
 DETAILED TESTING INSTRUCTIONS:
 Run ^DDBR, choose Package File, Description field, LR package.
 Also can invoke from broswer menu option in Fileman menu.

NO.: 14538                              VERSION: 22.2
  TAG: INIT+6                           ROUTINE NAME OR GLOBAL REF: DDBR
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Clear entire screen before starting browser.
  DOCUMENTATION NEEDED: NO              NEW VERSION: <22.2>
 DETAILED TESTING INSTRUCTIONS:
 In a terminal which doesn't have VISTA started yet, keep hitting enter to
 fill the whole screen. Then run ^DDBR and see if any of the text at the
 bottom beyond the 24th line is lying around when using the browser.

NO.: 14539                              VERSION: 22.2
  TAG: DDBMAP                           ROUTINE NAME OR GLOBAL REF: DDBRGE
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Added CTRL-E as an alternative to quit the browser
  DOCUMENTATION NEEDED: YES
  DOCUMENTATION NOTES: Documentation for browser needs to say that CTRL-E for ex
it is now supported                     NEW VERSION: <22.2>
 DETAILED TESTING INSTRUCTIONS:
 In the browser, type CTRL-E to quit.

 Success: Quit the browser. Failure: nothing happens.

NO.: 14540                              VERSION: 22.2
  TAG: CLOSE+3ff                        ROUTINE NAME OR GLOBAL REF: DDBRZIS
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Removed variable DDBROS and %ZOSF reference as it is not used.
  DOCUMENTATION NEEDED: NO              NEW VERSION: <22.2>
  EXPLANATION FOR TEST SITES: see below.
 DETAILED TESTING INSTRUCTIONS:
 To test this, you need to invoke the browser from the device menu. On
 Cache systems, this is already in the FOIA, but here it is anyways:
 (Make sure to change $I if your system isn't VMS).

 NAME: BROWSER CACHE/NT                  $I: USER$:[TEMP]DDBR.TXT
   ASK DEVICE: YES                       ASK PARAMETERS: NO
   SIGN-ON/SYSTEM DEVICE: NO             QUEUING: NOT ALLOWED
   LOCATION OF TERMINAL: HFS/CRT         LOCAL SYNONYM: P-BROWSER
   ASK HOST FILE: NO                     ASK HFS I/O OPERATION: NO
   OPEN PARAMETERS: "NWS"                POST-CLOSE EXECUTE: D POST^DDBRZIS
   SUBTYPE: P-BROWSER
   TYPE: HOST FILE SERVER

 GT.M/Unix
 NAME: BROWSER GTM/UNIX                  $I: /tmp/DDBR.txt
   ASK PARAMETERS: NO                    SIGN-ON/SYSTEM DEVICE: NO
   QUEUING: NOT ALLOWED
   LOCATION OF TERMINAL: Text Browser Utility
   ASK HOST FILE: NO                     ASK HFS I/O OPERATION: NO
   OPEN COUNT: 3                         MARGIN WIDTH: 80
   PAGE LENGTH: 65500                    CLOSE PARAMETERS: delete
   OPEN PARAMETERS: newversion           POST-CLOSE EXECUTE: D POST^DDBRZIS
   SUBTYPE: P-BROWSER                    TYPE: HOST FILE SERVER

 Success: No errors when browser device is selected from device file.

NO.: 14541                              VERSION: 22.2
  TAG: +156                             ROUTINE NAME OR GLOBAL REF: DINIT00P
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Changed help text to add CTRL-E as alternate for quit.
  RELATED CHANGE NUMBERS: 14539         DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
  EXPLANATION FOR TEST SITES: F1-H should now mention CTRL-E in browser.
 DETAILED TESTING INSTRUCTIONS:
 Invoke browser.
 Type F1-H.
 Look for how to Quit.

 Should find text saying that CTRL-E quits the browser.

NO.: 14542                              VERSION: 22.2
  TAG: +79                              ROUTINE NAME OR GLOBAL REF: DINIT00S
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Changed help text to add CTRL-E as alternate for quit.
  RELATED CHANGE NUMBERS: 14539         DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
  EXPLANATION FOR TEST SITES: F1-H should now mention CTRL-E in browser.
 DETAILED TESTING INSTRUCTIONS:
 D WP^DDBR(.84,"9202,",4,"A")
 F1-H to invoke help.

 Look for CTRL-E for quitting.

NO.: 14543                              VERSION: 22.2
  TAG: INIT+17                          ROUTINE NAME OR GLOBAL REF: DDGLIB0
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Use DDGLZOSF variable instead of direct %ZOSF calls.
  RELATED CHANGE NUMBERS: 14544         DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 DETAILED TESTING INSTRUCTIONS:
 Make a new style index.

 Success: no crashes.

NO.: 14544                              VERSION: 22.2
  TAG: SET+5-7                          ROUTINE NAME OR GLOBAL REF: DDGLIB0
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Screen handling codes now pulled from OS file rather than %ZOSF
  RELATED CHANGE NUMBERS: 14525-6,14543
  DOCUMENTATION NEEDED: NO              NEW VERSION: <22.2>
 DETAILED TESTING INSTRUCTIONS:
 Make a new style index.

 Success: no crashes.

NO.: 14545                              VERSION: 22.2
  TAG: KILL+10,KILL+12                  ROUTINE NAME OR GLOBAL REF: DDGLIB0
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Use DDGLZOSF variable instead of direct %ZOSF calls.
  RELATED CHANGE NUMBERS: 14544         DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 DETAILED TESTING INSTRUCTIONS:
 Make a new style index.

 Success: no crashes.

NO.: 14546                              VERSION: 22.2
  TAG: DEVICE+21                        ROUTINE NAME OR GLOBAL REF: DDGLIBH
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Removed G DEVICE; added Hang  DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 LONG DESCRIPTION:
 These are fixes for standalone fileman. Printing over there previously
 caused an infinite loop leading to a stack overflow.
 DETAILED TESTING INSTRUCTIONS:
 On Standalone Fileman, on a screenman form, F1-H, then P.

 Success: No crash.

NO.: 14547                              VERSION: 22.2
  TAG: PT+13                            ROUTINE NAME OR GLOBAL REF: DDBLIBH
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Use DDGLZOSF variable instead of direct %ZOSF ref
  RELATED CHANGE NUMBERS: 14544         DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 DETAILED TESTING INSTRUCTIONS:
 On a screenman form, F1-H, then P.

 Success: No crash.

NO.: 14548                              VERSION: 22.2
  TAG: DEVICE+33                        ROUTINE NAME OR GLOBAL REF: DDGLIBH
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Use DDGLZOSF variable instead of direct %ZOSF ref
  RELATED CHANGE NUMBERS: 14544         DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 DETAILED TESTING INSTRUCTIONS:
 On a screenman form, F1-H, then P.
 This line gets hit post print.

 Success: No crash.

NO.: 14549                              VERSION: 22.2
  TAG: D+17,D+19                        ROUTINE NAME OR GLOBAL REF: DDS6
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Use DDGLZOSF variable instead of direct %ZOSF ref
  RELATED CHANGE NUMBERS: 14544         DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 DETAILED TESTING INSTRUCTIONS:
 On the screen for making new style cross references, second page, make an
 xref that has two fields, and then delete one. This will invoke this code.

 Success: no crash.

NO.: 14550                              VERSION: 22.2
  TAG: SC+4,MORE+5,MORE+6,QQ            ROUTINE NAME OR GLOBAL REF: DDSU
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Use DDGLZOSF variable instead of direct %ZOSF ref
  RELATED CHANGE NUMBERS: 14544         DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 DETAILED TESTING INSTRUCTIONS:
 On any screenman form, asking for help using ? invokes this code. Parts
 of it get invoked at longer helps.

 Success: no crashes.

NO.: 14551                              VERSION: 22.2
  TAG: E+1,DDW+6                        ROUTINE NAME OR GLOBAL REF: DIBTED
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Screen handling codes now pulled from OS file rather than %ZOSF
  RELATED CHANGE NUMBERS: 14525-14526   DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 DETAILED TESTING INSTRUCTIONS:
 Use Template Edit or directly invoke ^DIBTED.

NO.: 14552                              VERSION: 22.2
  TAG: E+1,DDW+4                        ROUTINE NAME OR GLOBAL REF: DIETED
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Screen handling codes now pulled from OS file rather than %ZOSF
  RELATED CHANGE NUMBERS: 14525-6       DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 DETAILED TESTING INSTRUCTIONS:
 Use Template Edit (Input Templates) or directly invoke ^DIETED.

NO.: 14553                              VERSION: 22.2
  TAG: E+1,DDW+5                        ROUTINE NAME OR GLOBAL REF: DIPTED
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Screen handling codes now pulled from OS file rather than %ZOSF
  RELATED CHANGE NUMBERS: 14525-6       DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 DETAILED TESTING INSTRUCTIONS:
 Use Template Edit (Print Templates) or directly invoke ^DIPTED.

 Success: No crashes.

NO.: 14554                              VERSION: 22.2
  TAG: EN1+1-2                          ROUTINE NAME OR GLOBAL REF: DIEZ
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Cosmetic change               NEW VERSION: <22.2>
 DETAILED TESTING INSTRUCTIONS:
 Run ^DIEZ and complete without a crash.

NO.: 14555                              VERSION: 22.2
  TAG: UNC+11,DELETROU+3                ROUTINE NAME OR GLOBAL REF: DIEZ
  DATE CHANGED: NOV 30,2012             PROGRAMMER: SAM HABIEL
  CHANGE: Changed %ZOSF("DEL") reference to use MUMPS OS file instead
  RELATED CHANGE NUMBERS: 14525-6       DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 LONG DESCRIPTION:
 Each call is surrounded by a $G so that if it isn't there it will be a
 no-op.
 DETAILED TESTING INSTRUCTIONS:
 Run ^DIEZ to compile an existing Input Template.

 Verify that the routines are generated.

 Use the input template in Enter/Edit.

 Uncompile the input template by running ^DIEZ again on the same template.

 Verify that the routines have been deleted.

NO.: 14556                              VERSION: 22.2
  TAG: EN1+1-2,ENC+1-4                  ROUTINE NAME OR GLOBAL REF: DIOZ
  DATE CHANGED: DEC 1,2012              PROGRAMMER: SAM HABIEL
  CHANGE: Cosmetic changes              DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 LONG DESCRIPTION:
 <  D OS^DII:'$D(DISYS) I $G(^DD("OS",DISYS,"ZS"))="" W
 $C(7),!,$$EZBLD^DIALOG(820) Q
 ---
 >  ; NB: next 2 lines same in ENC. Need to make shared.
 >  D OS^DII:'$D(DISYS)
 >  I $G(^DD("OS",DISYS,"ZS"))="" D BLD^DIALOG(820) G QSV
 27c28,30
 <  D OS^DII:'$D(DISYS) I $G(^DD("OS",DISYS,"ZS"))="" D BLD^DIALOG(820) G
 QSV
 ---
 >  ; NB: next 2 lines same in EN. Need to make shared.
 >  D OS^DII:'$D(DISYS)
 >  I $G(^DD("OS",DISYS,"ZS"))="" D BLD^DIALOG(820) G QSV
 DETAILED TESTING INSTRUCTIONS:
 Make sure that ^DIOZ runs when executed to completion, then use a print
 using a sort template compiled using ^DIOZ.

NO.: 14557                              VERSION: 22.2
  TAG: R1+1                             ROUTINE NAME OR GLOBAL REF: DIOZ
  DATE CHANGED: DEC 1,2012              PROGRAMMER: SAM HABIEL
  CHANGE: Use Mumps OS file rather than %ZOSF to delete a routine
  RELATED CHANGE NUMBERS: 14525-6       DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 LONG DESCRIPTION:
 <  I $G(^%ZOSF("DEL"))]"" S X="DISZ"_$E("000",1,(4-$L(DRN)))_DRN X
 ^%ZOSF("DEL")
 ---
 >  S X="DISZ"_$E("000",1,(4-$L(DRN)))_DRN X $G(^DD("OS",DISYS,"DEL"))
 DETAILED TESTING INSTRUCTIONS:
 Create a sort template

 Ask for it to be compiled using ^DIOZ

 Run the print.

 Type ZED in GT.M to check the last created routine to see if it is there
 any more. In Cache, not sure how you would do this.

 The routine name produced is DISZnnnn.

NO.: 14558                              VERSION: 22.2
  TAG: SETUP+2,LOAD,SAVEff              ROUTINE NAME OR GLOBAL REF: DIFROM7
  DATE CHANGED: DEC 1,2012              PROGRAMMER: SAM HABIEL
  CHANGE: Use Mumps OS file rather than %ZOSF to load and save routines
  RELATED CHANGE NUMBERS: 14525-6       DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 LONG DESCRIPTION:
 >  D:'$D(DISYS) OS^DII
 25c25
 < LOAD(X,DIF,XCNP) X ^%ZOSF("LOAD")
 ---
 > LOAD(X,DIF,XCNP) X ^DD("OS",DISYS,"LOAD")
 27c27,31
 < SAVE(X,DIE,XCN) X ^%ZOSF("SAVE")
 ---
 > SAVE(X,DIE,XCN) ; VEN/SMH - Modified save code to work on Standalone
 Fileman
 >  K ^UTILITY($J,0)
 >  N I S I=0 F  S I=$O(^TMP($J,I)) Q:'I  S ^UTILITY($J,0,I)=^TMP($J,I,0)
 >  X ^DD("OS",DISYS,"ZS")
  EXPLANATION FOR TEST SITES: see below
 DETAILED TESTING INSTRUCTIONS:
 Create a fictional package in the package file, and give it some files.

 Create INIT routines for that package using DIFROM. This exercises the
 LOAD and SAVE code that was modified. Check the routines to make sure
 they all printed out.

 On a destination VISTA system, configure it to be a VA.GOV domain and a
 production account. Since we don't want anything going out, set
 FORUM.VA.GOV domain to queue messages (FLAG Q) rather than send them
 (FLAG S).

 Install the INITs.

 Check the queue for domain FORUM.VA.GOV. You should find a new message
 there. Of course, you need to make sure that the message is the correct
 one. Contact me (Sam) for more details.

NO.: 14559                              VERSION: 22.2
  TAG: ASKXR+2                          ROUTINE NAME OR GLOBAL REF: DIKCBLD
  DATE CHANGED: DEC 1,2012              PROGRAMMER: SAM HABIEL
  CHANGE: Cosmetic change to printed text
  NEW VERSION: <22.2>
 LONG DESCRIPTION:
 <  S DDS1="CROSS-REFERENCE FROM" D W^DICRW Q:Y<0 ""
 ---
 >  S DDS1="CROSS-REFERENCE FROM: " D W^DICRW Q:Y<0 ""
 DETAILED TESTING INSTRUCTIONS:
 Run ^DIKCBLD. Make sure it looks "nice" with a colon when you are asked
 for the file from which to choose a cross reference.

NO.: 14560                              VERSION: 22.2
  TAG: ASKRTN+12                        ROUTINE NAME OR GLOBAL REF: DIKCBLD
  DATE CHANGED: DEC 1,2012              PROGRAMMER: SAM HABIEL
  CHANGE: Replace call to ^%ZOSF("TEST") with a $TEXT.
  DOCUMENTATION NEEDED: NO              NEW VERSION: <22.2>
 LONG DESCRIPTION:
 <  . X ^%ZOSF("TEST") E  Q
 ---
 >  . Q:$T(^@X)=""  ; routine doesn't exist; overwrite okay. VEN/SMH
 DETAILED TESTING INSTRUCTIONS:
 Run the option, create a routine. Run it again, choose the same routine
 name. Success: Prompt for overwriting this routine.

NO.: 14561                              VERSION: 22.2
  TAG: ZIS+1                            ROUTINE NAME OR GLOBAL REF: DIP3
  DATE CHANGED: DEC 1,2012              PROGRAMMER: SAM HABIEL
  CHANGE: Changed %ZOSF("RM") to Mumps OS reference
  RELATED CHANGE NUMBERS: 14525-6       NEW VERSION: <22.2>
 LONG DESCRIPTION:
 <  I $G(DDXP)=4 S
 IOM=DDXPIOM,IOSL=$S(IOSL<DDXPIOSL:DDXPIOSL,1:IOSL),X=$S(IOM<255:IOM,1:0)
 X ^%ZOSF("RM")
 ---
 >  I $G(DDXP)=4 S
 IOM=DDXPIOM,IOSL=$S(IOSL<DDXPIOSL:DDXPIOSL,1:IOSL),X=$S(IOM<255:IOM,1:0)
 X ^DD("OS",DISYS,"RM")
 DETAILED TESTING INSTRUCTIONS:
 I couldn't find how to invoke this code, which is involved in export.

 My brief testing was as follows:

 S $ET="B"
 S DDXP=4,DDXPIOM=132,DDXPIOSL=32,IOM=88,IOSL=23 D ZIS+1^DIP3.

 You should crash at FREE^DIP3.

 Show the device characteristics in GT.M using ZSHOW "D".

 The width of the device should be 132.

NO.: 14562                              VERSION: 22.2
  TAG: WUCI+1                           ROUTINE NAME OR GLOBAL REF: DICTP0
  DATE CHANGED: DEC 1,2012              PROGRAMMER: SAM HABIEL
  CHANGE: Added support for GT.M/VMS    NEW VERSION: <22.2>
 LONG DESCRIPTION:
 <  N Y I ^DD("OS")=19 X "S Y=$ZGD" ;GTM GLOBAL DIRECTORY
 ---
 >  N Y I ^DD("OS")=19!(^DD("OS")=17) X "S Y=$ZGD" ;GTM GLOBAL DIRECTORY
 DETAILED TESTING INSTRUCTIONS:
 Test on VMS. Probably not going to happen :-(

NO.: 14563                              VERSION: 22.2
  TAG: UCI+4                            ROUTINE NAME OR GLOBAL REF: DITCP0
  DATE CHANGED: DEC 1,2012              PROGRAMMER: SAM HABIEL
  CHANGE: Call to OS^DII to get DISYS, then call to UCICHECK in OS file rather t
han %ZOSF                               RELATED CHANGE NUMBERS: 14525-6
  DOCUMENTATION NEEDED: NO              NEW VERSION: <22.2>
 LONG DESCRIPTION:
 <  Q:U[X  X ^%ZOSF("UCICHECK") Q:0[Y  S ^DOPT("DITCPUCI",DUZ)=X,DITCPUCI=X
 ---
 >  D:'$D(DISYS) OS^DII
 >  Q:U[X  X ^DD("OS",DISYS,"UCICHECK") Q:0[Y  S
 ^DOPT("DITCPUCI",DUZ)=X,DITCPUCI=X
 DETAILED TESTING INSTRUCTIONS:
 Run ^DITCP0 to completion. Should not crash.

NO.: 14564                              VERSION: 22.2
  TAG: X+1-2,A                          ROUTINE NAME OR GLOBAL REF: DIWE5
  DATE CHANGED: DEC 1,2012              PROGRAMMER: SAM HABIEL
  CHANGE: Change refs for %ZOSF to Mumps OS file.
  RELATED CHANGE NUMBERS: 14525-6       DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 LONG DESCRIPTION:
 <  I '$D(^%ZOSF("EON"))!'$D(^("EOFF")) W !,$$EZBLD^DIALOG(810),!! Q
 <  D  Q:X=""  S DIWL=X,(%,%B)="" X ^%ZOSF("EOFF")
 ---
 >  D:'$D(DISYS) OS^DII
 >  D  Q:X=""  S DIWL=X,(%,%B)="" X ^DD("OS",DISYS,"EOFF")
 29c29
 < A R X#245:30 E  I '$L(X) D S:$L(%B) X ^%ZOSF("EON") W
 !!,$$EZBLD^DIALOG(8157),! Q
 ---
 > A R X#245:30 E  I '$L(X) D S:$L(%B) X ^DD("OS",DISYS,"EON") W
 !!,$$EZBLD^DIALOG(8157),! Q
 DETAILED TESTING INSTRUCTIONS:
 I couldn't find where this code was invoked from. It seems to be paste
 acceptance code/document upload code.

 Here's how I tested it:
 S DWLC=0,DIC="^CATDOG(1," D X^DIWE5

 Type away and hit enter, type enter, etc until you feel tired.

 Then wait for 30 seconds.

 It will finish.

 Zwrite ^CATDOG(1,*)
Thanks to Geky for this bug:
It is not possible to select CAPTION field type, when defining a field in
a ScreenMan page, if DUZ("LANG")=12. When I define DUZ("LANG")=1 works ok.

George Timson changed routine DIR to fix this.
$$UP^DILIBF is now i18n capable; now uses language file.

Change:
NO.: 14567                              VERSION: 22.2
  TAG: UP                               ROUTINE NAME OR GLOBAL REF: DILIBF
  REPORTER: GEKY                        DATE CHANGED: DEC 1,2012
  PROGRAMMER: SAM HABIEL
  CHANGE: UP now uses Language file if DUZ("LANG") is in the ST. Otherwise, it d
oes an english uppercasing              DOCUMENTATION NEEDED: NO
  NEW VERSION: <22.2>
 LONG DESCRIPTION:
 <  I X?.UNP Q X
 <  N A,L,B,C S C=""
 <  F A=1:1:$L(X) S L=$E(X,A),B=$C($A(L)-32) S
 C=C_$S(L'?1L:L,B?1L:"Z",1:B) ;$C(255) matches lower-case, and so does
 $C(255-32), so lamely return "Z"
 <  Q C
 ---
 >  I $G(DUZ("LANG")) Q $$OUT^DIALOGU(X,"UC")
 >  E  Q $TR(X,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
 DETAILED TESTING INSTRUCTIONS:

 dev>S DUZ("LANG")=2     ; German

Type <Enter> to continue or '^' to exit:
 dev>W $$UP^DILIBF("abc{}")      ; Notice the braces change to brackets.
 ABC[]
 dev>S DUZ("LANG")=1     ; English

 dev>W $$UP^DILIBF("abc{}")      ; Braces stay the same
 ABC{}
 dev>K DUZ("LANG")               ; No language. Default code.

 dev>W $$UP^DILIBF("abc{}")      ; Braces say the same
 ABC{}

This commit also includes George Timson's change for the how File numbers get resolved from global names.