DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ D T

⟦0d2a9ca4a⟧ TextFile

    Length: 1560993 (0x17d1a1)
    Types: TextFile
    Names: »DIFF_LONG_FORM«

Derivation

└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00
    └─ ⟦0c20f784e⟧ »DATA« 
        └─⟦1abbe589f⟧ 
            └─⟦this⟧ 

TextFile

15:29:59 --- ------------------------------------------------------------
15:29:59 --- Diff(!X11.X_Library.Rev5_6_2_Working.Units,!X11.X_Library.
15:30:00 ... Rev6_0_0_Working.Units).
15:31:22 ::: [Diff("!X11.X_Library.Rev5_6_2_Working.Units.[??,~??.@_Log,~??.
15:31:22 ... Aaa_Load_@,~??.Documentation.??,~??.Ship_To.??,~??'c(Library,
15:31:22 ... Binary)]","!X11.X_Library.Rev6_0_0_Working.Units.[??,~??.@_Log,
15:31:22 ... ~??.Aaa_Load_@,~??.Documentation.??,~??.Ship_To.??,~??'c(Library,
15:31:22 ... Binary)]",TRUE);].
15:31:22 --- Resolve Old_Files.
15:33:08 --- Resolve New_Files.
15:34:47 --- Compare Old_Files to New_Files.
15:34:47 !!! Only in !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.
15:34:47 !!! .FOREIGN.CDF_HPUX_68K.CDF_LOAD_VIEW_SWITCH_FILE.
15:34:47 !!! Only in !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.
15:34:47 !!! .FOREIGN.CDF_HPUX_68K.XLBMT_ASSEMBLER.
15:34:47 !!! Only in !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.
15:34:47 !!! .FOREIGN.TELEGEN2_UNIX_68K.XLBMT_FUNCTION_68K_UNIX_S.
15:34:47 !!! Only in !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.
15:34:47 !!! .FOREIGN.TELEGEN2_UNIX_68K.XLBMT_GET_A4_68K_UNIX_S.
15:34:49 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:34:49 ... UNITS.FOREIGN.TELEGEN2_UNIX_68K.
15:34:49 ... XLBMT_INOUT_INVOKE_68K_UNIX_S'V(1)", "!X11.X_LIBRARY.
15:34:49 ... REV6_0_0_WORKING.UNITS.FOREIGN.TELEGEN2_UNIX_68K.
15:34:49 ... XLBMT_INOUT_INVOKE_68K_UNIX_S'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.FOREIGN.TELEGEN2_UNIX_68K.XLBMT_INOUT_INVOKE_68K_UNIX_S
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.FOREIGN.TELEGEN2_UNIX_68K.XLBMT_INOUT_INVOKE_68K_UNIX_S
* Insert after 1
2 |
2 |------------------------------------------------------------------------------
2 |-- Copyright 1990 - 1991 by Rational, Santa Clara, California.
2 |--
2 |--                  All Rights Reserved.
2 |--
2 |-- Permission to use, copy, modify, and distribute this software and its
2 |-- documentation for any purpose and without fee is hereby granted,
2 |-- provided that the above copyright notice(s) appear in all copies and that
2 |-- both that copyright notice(s) and this permission notice appear in
2 |-- supporting documentation, and that the name of Rational not be used in
2 |-- advertising or publicity pertaining to distribution of the software
2 |-- without specific, written prior permission.
2 |--
2 |-- Rational disclaims all warranties with regard to this software, including
2 |-- all implied warranties of merchantability and fitness, in no event shall
2 |-- Rational be liable for any special, indirect or consequential damages or
2 |-- any damages whatsoever resulting from loss of use, data or profits, whether
2 |-- in an action of contract, negligence or other tortious action, arising out
2 |-- of or in connection with the use or performance of this software.
2 |------------------------------------------------------------------------------

* Delete 14..16
1 |                                     First_Argument'Address )
1 |       Xlbmt_InOut_Invoke_Function ( Function'Address,
1 |                                     Function_A4,

* Delete 18..19
1 |
1 | Note: Must have at least 1 argument!

* Insert after 48
2         movl    a0,a6@(8)               | Save so we don't recompute later

* Insert after 52
2         cmpl    a0,a1
2         jge     L17

* Insert after 56
2 L17:

* Change 70
1         movl    a6@(8),a0               | Get address of 1st argument.
-----
2         movl    a6@(8),a0               | Get adjusted address of 1st argument.

* Delete 73..79
1 
1 |---Sometimes the end of the list is not on a 32 bit boundary.  Adjust our
1 |   starting address to have the same offset; we know we are pasing words.
1 
1         movl    a1,d0                   | Get our ending address
1         andl    #3,d0                   | Keep the bottom 2 bits
1         addl    d0,a0                   | Add that offset to the starting addr

* Insert after 83
2         cmpl    a0,a1
2         jge     L19

* Insert after 87
2 L19:

* Delete 92..248
1         moveml  sp@+,#0x1300
1         unlk    a6
1         rts
1 
1 |==============================================================================
1 |==============================================================================
1 
1         .globl  _Xlbmt_InOut_Invoke_Function
1 _Xlbmt_InOut_Invoke_Function:
1 
1 |---Standard Ada prologue
1 
1         link    a6,#-4
1         moveml  #0x00C8,sp@-
1         movl    sp,a6@(-4)
1 
1 |---Get our caller's A6.  Then we can get his saved SP.  His SP minus our
1 |   A6 gives us 8+4*<number of arguments>.  We expect 3 arguments but
1 |   certain return types cause us to end up with 4 arguments.
1 
1         movl    a6@,a1                  | Get caller's A6
1         movl    a1@(-4),a0              | Get caller's saved SP
1         subl    a6,a0                   | Get difference
1         cmpl    #20,a0                  | Do we have 3?
1         jne     L40                     | No, we have an extra argument.
1 
1 |---Sometimes the argument list is not on a 32 bit boundary.  Adjust our
1 |   argument address to be on a 32 bit boundary.
1 
1         addl    #2,a6@(8)               | Add 2 to the address
1         andl    #-4,a6@(8)              | Modulo-4; 32 bit boundary
1 
1 |---Get address of the first argument in a0, then get address of 1st location
1 |   past the last argument in a1.
1 
1         movl    a6@(8),a0               | Get address of 1st argument
1         addql   #8,a1                   | Get addr of last word in Nth argument
1 
1 |---Sometimes the end of the list is not on a 32 bit boundary.  Adjust our
1 |   starting address to have the same offset; we know we are pasing words.
1 
1         movl    a1,d0                   | Get our ending address
1         andl    #3,d0                   | Keep the bottom 2 bits
1         addl    d0,a0                   | Add that offset to the starting addr
1 
1 |---Push our arguments onto the stack again so that we can call the subprogram
1 |   and he can access them.  Loop until a0==a1.
1 
1 L36:
1         movl    a0@-,sp@-
1         cmpl    a0,a1
1         jlt     L36
1 
1 |---Set A4 for our subroutine and then call him.  A routine with all IN
1 |   parameters will pop them all off himself.  Check the SP when he gets back.
1 
1         movl    a6@(12),a4
1         movl    a6@(16),a0
1         jsr     a0@
1         cmpl    a6@(-4),sp              | Check stack; Ada pops-IN parameters
1         jeq     L39
1 
1 |---Get address of the first argument in a0, then get address of 1st location
1 |   past the last argument in a1.
1 
1         movl    a6@(8),a0               | Get address of 1st argument.
1         movl    a6@,a1                  | Get caller's A6 register.
1         addql   #8,a1                   | Get addr of last word in Nth argument
1 
1 |---Sometimes the end of the list is not on a 32 bit boundary.  Adjust our
1 |   starting address to have the same offset; we know we are pasing words.
1 
1         movl    a1,d0                   | Get our ending address
1         andl    #3,d0                   | Keep the bottom 2 bits
1         addl    d0,a0                   | Add that offset to the starting addr
1 
1 |---Pop his arguments into our arguments again so that we can return the
1 |   results.  Loop until a0==a1.
1 
1 L38:
1         movl    sp@+,a1@+
1         cmpl    a0,a1
1         jlt     L38
1 
1 |---Standard Ada epilogue
1 
1 L39:
1         moveml  sp@+,#0x1300
1         unlk    a6
1         rts
1 
1 |---Come here when we have 4 arguments instead of 3.
1 
1 L40:
1 
1 |---Sometimes the argument list is not on a 32 bit boundary.  Adjust our
1 |   argument address to be on a 32 bit boundary.
1 
1         addl    #2,a6@(12)               | Add 2 to the address
1         andl    #-4,a6@(12)              | Modulo-4; 32 bit boundary
1 
1 |---Get address of the first argument in a0, then get address of 1st location
1 |   past the last argument in a1.
1 
1         movl    a6@(12),a0              | Get address of 1st argument
1         addl   #12,a1                   | Get addr of last word in Nth argument
1 
1 |---Sometimes the end of the list is not on a 32 bit boundary.  Adjust our
1 |   starting address to have the same offset; we know we are pasing words.
1 
1         movl    a1,d0                   | Get our ending address
1         andl    #3,d0                   | Keep the bottom 2 bits
1         addl    d0,a0                   | Add that offset to the starting addr
1 
1 |---Push our arguments onto the stack again so that we can call the subprogram
1 |   and he can access them.  Loop until a0==a1.
1 
1 L46:
1         movl    a0@-,sp@-
1         cmpl    a0,a1
1         jlt     L46
1         movl    a6@(8),sp@-             | Push that extra argument.
1 
1 |---Set A4 for our subroutine and then call him.  A routine with all IN
1 |   parameters will pop them all off himself.  Check the SP when he gets back.
1 
1         movl    a6@(16),a4
1         movl    a6@(20),a0
1         jsr     a0@
1         cmpl    a6@(-4),sp              | Check stack; Ada pops-IN parameters
1         jeq     L50
1 
1 |---Get address of the first argument in a0, then get address of 1st location
1 |   past the last argument in a1.
1 
1         movl    a6@(12),a0              | Get address of 1st argument.
1         movl    a6@,a1                  | Get caller's A6 register.
1         addql   #8,a1                   | Get addr of last word in Nth argument
1 
1 |---Sometimes the end of the list is not on a 32 bit boundary.  Adjust our
1 |   starting address to have the same offset; we know we are pasing words.
1 
1         movl    a1,d0                   | Get our ending address
1         andl    #3,d0                   | Keep the bottom 2 bits
1         addl    d0,a0                   | Add that offset to the starting addr
1 
1 |---Pop his arguments into our arguments again so that we can return the
1 |   results.  Loop until a0==a1.
1 
1 L48:
1         movl    sp@+,a1@+
1         cmpl    a0,a1
1         jlt     L48
1 
1 |---Standard Ada epilogue
1 
1 L50:
15:34:51 ::: [end of File_Utilities.Difference].
15:34:51 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:34:51 ... UNITS.FOREIGN.TELEGEN2_UNIX_68K.XLBMT_IN_INVOKE_68K_UNIX_S'V(1)", 
15:34:51 ... "!X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.FOREIGN.TELEGEN2_UNIX_68K.
15:34:51 ... XLBMT_IN_INVOKE_68K_UNIX_S'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.FOREIGN.TELEGEN2_UNIX_68K.XLBMT_IN_INVOKE_68K_UNIX_S
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.FOREIGN.TELEGEN2_UNIX_68K.XLBMT_IN_INVOKE_68K_UNIX_S
* Insert after 1
2 |
2 |------------------------------------------------------------------------------
2 |-- Copyright 1990 - 1991 by Rational, Santa Clara, California.
2 |--
2 |--                  All Rights Reserved.
2 |--
2 |-- Permission to use, copy, modify, and distribute this software and its
2 |-- documentation for any purpose and without fee is hereby granted,
2 |-- provided that the above copyright notice(s) appear in all copies and that
2 |-- both that copyright notice(s) and this permission notice appear in
2 |-- supporting documentation, and that the name of Rational not be used in
2 |-- advertising or publicity pertaining to distribution of the software
2 |-- without specific, written prior permission.
2 |--
2 |-- Rational disclaims all warranties with regard to this software, including
2 |-- all implied warranties of merchantability and fitness, in no event shall
2 |-- Rational be liable for any special, indirect or consequential damages or
2 |-- any damages whatsoever resulting from loss of use, data or profits, whether
2 |-- in an action of contract, negligence or other tortious action, arising out
2 |-- of or in connection with the use or performance of this software.
2 |------------------------------------------------------------------------------

* Delete 15..17
1 |                                  First_Argument'Address )
1 |       Xlbmt_In_Invoke_Function ( Function'Address,
1 |                                  Function_A4,

* Delete 24..25
1         .globl  _Xlbmt_In_Invoke_Function
1 _Xlbmt_In_Invoke_Function:

* Insert after 55
2         cmpl    a0,a1
2         jge     L17

* Change 59
1         jne     L16
-----
2         jlt     L16
2 L17:

* Change 62
1 |   parameters will pop them all off himself.  Check the SP when he gets back.
-----
2 |   parameters will pop them all off himself.
15:34:52 ::: [end of File_Utilities.Difference].
15:34:52 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:34:52 ... UNITS.FOREIGN.TELEGEN2_UNIX_68K.XLBMT_LOGICAL_16_68K_UNIX_S'V(1)",
15:34:52 ...  "!X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.FOREIGN.TELEGEN2_UNIX_68K.
15:34:52 ... XLBMT_LOGICAL_16_68K_UNIX_S'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.FOREIGN.TELEGEN2_UNIX_68K.XLBMT_LOGICAL_16_68K_UNIX_S
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.FOREIGN.TELEGEN2_UNIX_68K.XLBMT_LOGICAL_16_68K_UNIX_S
* Insert after 1
2 |
2 |------------------------------------------------------------------------------
2 |-- Copyright 1990 - 1991 by Rational, Santa Clara, California.
2 |--
2 |--                  All Rights Reserved.
2 |--
2 |-- Permission to use, copy, modify, and distribute this software and its
2 |-- documentation for any purpose and without fee is hereby granted,
2 |-- provided that the above copyright notice(s) appear in all copies and that
2 |-- both that copyright notice(s) and this permission notice appear in
2 |-- supporting documentation, and that the name of Rational not be used in
2 |-- advertising or publicity pertaining to distribution of the software
2 |-- without specific, written prior permission.
2 |--
2 |-- Rational disclaims all warranties with regard to this software, including
2 |-- all implied warranties of merchantability and fitness, in no event shall
2 |-- Rational be liable for any special, indirect or consequential damages or
2 |-- any damages whatsoever resulting from loss of use, data or profits, whether
2 |-- in an action of contract, negligence or other tortious action, arising out
2 |-- of or in connection with the use or performance of this software.
2 |------------------------------------------------------------------------------
15:34:53 ::: [end of File_Utilities.Difference].
15:34:53 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:34:53 ... UNITS.FOREIGN.TELEGEN2_UNIX_68K.XLBMT_LOGICAL_32_68K_UNIX_S'V(1)",
15:34:53 ...  "!X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.FOREIGN.TELEGEN2_UNIX_68K.
15:34:54 ... XLBMT_LOGICAL_32_68K_UNIX_S'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.FOREIGN.TELEGEN2_UNIX_68K.XLBMT_LOGICAL_32_68K_UNIX_S
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.FOREIGN.TELEGEN2_UNIX_68K.XLBMT_LOGICAL_32_68K_UNIX_S
* Insert after 1
2 |
2 |------------------------------------------------------------------------------
2 |-- Copyright 1990 - 1991 by Rational, Santa Clara, California.
2 |--
2 |--                  All Rights Reserved.
2 |--
2 |-- Permission to use, copy, modify, and distribute this software and its
2 |-- documentation for any purpose and without fee is hereby granted,
2 |-- provided that the above copyright notice(s) appear in all copies and that
2 |-- both that copyright notice(s) and this permission notice appear in
2 |-- supporting documentation, and that the name of Rational not be used in
2 |-- advertising or publicity pertaining to distribution of the software
2 |-- without specific, written prior permission.
2 |--
2 |-- Rational disclaims all warranties with regard to this software, including
2 |-- all implied warranties of merchantability and fitness, in no event shall
2 |-- Rational be liable for any special, indirect or consequential damages or
2 |-- any damages whatsoever resulting from loss of use, data or profits, whether
2 |-- in an action of contract, negligence or other tortious action, arising out
2 |-- of or in connection with the use or performance of this software.
2 |------------------------------------------------------------------------------
15:34:54 ::: [end of File_Utilities.Difference].
15:34:54 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:34:54 ... UNITS.FOREIGN.TELEGEN2_UNIX_68K.XLBMT_LOGICAL_8_68K_UNIX_S'V(1)", 
15:34:54 ... "!X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.FOREIGN.TELEGEN2_UNIX_68K.
15:34:54 ... XLBMT_LOGICAL_8_68K_UNIX_S'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.FOREIGN.TELEGEN2_UNIX_68K.XLBMT_LOGICAL_8_68K_UNIX_S
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.FOREIGN.TELEGEN2_UNIX_68K.XLBMT_LOGICAL_8_68K_UNIX_S
* Insert after 1
2 |
2 |------------------------------------------------------------------------------
2 |-- Copyright 1990 - 1991 by Rational, Santa Clara, California.
2 |--
2 |--                  All Rights Reserved.
2 |--
2 |-- Permission to use, copy, modify, and distribute this software and its
2 |-- documentation for any purpose and without fee is hereby granted,
2 |-- provided that the above copyright notice(s) appear in all copies and that
2 |-- both that copyright notice(s) and this permission notice appear in
2 |-- supporting documentation, and that the name of Rational not be used in
2 |-- advertising or publicity pertaining to distribution of the software
2 |-- without specific, written prior permission.
2 |--
2 |-- Rational disclaims all warranties with regard to this software, including
2 |-- all implied warranties of merchantability and fitness, in no event shall
2 |-- Rational be liable for any special, indirect or consequential damages or
2 |-- any damages whatsoever resulting from loss of use, data or profits, whether
2 |-- in an action of contract, negligence or other tortious action, arising out
2 |-- of or in connection with the use or performance of this software.
2 |------------------------------------------------------------------------------
15:34:56 ::: [end of File_Utilities.Difference].
15:34:56 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:34:56 ... UNITS.FOREIGN.TELEGEN2_UNIX_68K.XLBMT_MEM_COPY_68K_UNIX_S'V(1)", 
15:34:56 ... "!X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.FOREIGN.TELEGEN2_UNIX_68K.
15:34:56 ... XLBMT_MEM_COPY_68K_UNIX_S'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.FOREIGN.TELEGEN2_UNIX_68K.XLBMT_MEM_COPY_68K_UNIX_S
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.FOREIGN.TELEGEN2_UNIX_68K.XLBMT_MEM_COPY_68K_UNIX_S
* Insert after 1
2 |
2 |------------------------------------------------------------------------------
2 |-- Copyright 1990 - 1991 by Rational, Santa Clara, California.
2 |--
2 |--                  All Rights Reserved.
2 |--
2 |-- Permission to use, copy, modify, and distribute this software and its
2 |-- documentation for any purpose and without fee is hereby granted,
2 |-- provided that the above copyright notice(s) appear in all copies and that
2 |-- both that copyright notice(s) and this permission notice appear in
2 |-- supporting documentation, and that the name of Rational not be used in
2 |-- advertising or publicity pertaining to distribution of the software
2 |-- without specific, written prior permission.
2 |--
2 |-- Rational disclaims all warranties with regard to this software, including
2 |-- all implied warranties of merchantability and fitness, in no event shall
2 |-- Rational be liable for any special, indirect or consequential damages or
2 |-- any damages whatsoever resulting from loss of use, data or profits, whether
2 |-- in an action of contract, negligence or other tortious action, arising out
2 |-- of or in connection with the use or performance of this software.
2 |------------------------------------------------------------------------------
15:34:57 ::: [end of File_Utilities.Difference].
15:34:57 !!! Only in !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.
15:34:57 !!! .FOREIGN.TELEGEN2_UNIX_68K.XLBMT_STRING_FUNCTION_68K_UNIX_S.
15:34:59 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:34:59 ... UNITS.IMD_PROCS.XLBMP_DEBUGGER'BODY'V(5)", "!X11.X_LIBRARY.
15:34:59 ... REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_DEBUGGER'BODY'V(1)", "", 
15:34:59 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_PROCS.XLBMP_DEBUGGER'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_DEBUGGER'BODY
* Insert after 0
2 --/ if R1000 or Cdf_Hpux then
2 with Debug_Tools;
2 --/ end if;

* Delete 2
1 with Debug_Tools;  

* Change 29..30
1 with Xlbt_Rm2;  
1 use Xlbt_Rm2;  
-----
2 with Xlbt_Rm;  
2 use Xlbt_Rm;  

* Change 52
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 72
1 --/ if R1000 then
-----
2 --/ if R1000 or Cdf_Hpux then

* Change 1061
1 --/ end if;   -- R1000
-----
2 --/ end if;   -- R1000 or Cdf_Hpux

* Change 1070
1 --/ if R1000 then
-----
2 --/ if R1000 or Cdf_Hpux then

* Change 1130..1131
1 --/ else -- not R1000
1 --//         null;
-----
2 --/ else -- not (R1000 or Cdf_Hpux)
2 --//    null;
15:35:06 ::: [end of File_Utilities.Difference].
15:35:07 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:35:07 ... UNITS.IMD_PROCS.XLBMP_DEBUGGER'SPEC'V(5)", "!X11.X_LIBRARY.
15:35:07 ... REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_DEBUGGER'SPEC'V(1)", "", 
15:35:07 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_PROCS.XLBMP_DEBUGGER'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_DEBUGGER'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:35:07 ::: [end of File_Utilities.Difference].
15:35:08 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:35:08 ... UNITS.IMD_PROCS.XLBMP_DEBUGGER.
15:35:08 ... CHECK_MACHINE_ASSUMPTIONS'BODY'V(4)", "!X11.X_LIBRARY.
15:35:08 ... REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_DEBUGGER.
15:35:08 ... CHECK_MACHINE_ASSUMPTIONS'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_PROCS.XLBMP_DEBUGGER.CHECK_MACHINE_ASSUMPTIONS'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_DEBUGGER.CHECK_MACHINE_ASSUMPTIONS'BODY
* Delete 47..48
1 
1 separate (Xlbmp_Debugger)

* Insert after 49
2 separate (Xlbmp_Debugger)  

* Insert after 50
2 ------------------------------------------------------------------------------
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
2 --
2 --                  All Rights Reserved.
2 --
2 -- Permission to use, copy, modify, and distribute this software and its
2 -- documentation for any purpose and without fee is hereby granted,
2 -- provided that the above copyright notice(s) appear in all copies and that
2 -- both that copyright notice(s) and this permission notice appear in
2 -- supporting documentation, and that the name of Rational not be used in
2 -- advertising or publicity pertaining to distribution of the software
2 -- without specific, written prior permission.
2 --
2 -- Rational disclaims all warranties with regard to this software, including
2 -- all implied warranties of merchantability and fitness, in no event shall
2 -- Rational be liable for any special, indirect or consequential damages or
2 -- any damages whatsoever resulting from loss of use, data or profits, whether
2 -- in an action of contract, negligence or other tortious action, arising out
2 -- of or in connection with the use or performance of this software.

* Change 1264
1     if Positive'Size < S_Long'Size then  
-----
2     if Positive'Size < S_Long'Size - 1 then  
15:35:14 ::: [end of File_Utilities.Difference].
15:35:15 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:35:15 ... UNITS.IMD_PROCS.XLBMP_ENVIRONMENT'BODY'V(4)", "!X11.X_LIBRARY.
15:35:15 ... REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_ENVIRONMENT'BODY'V(1)", "",
15:35:15 ...  TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_PROCS.XLBMP_ENVIRONMENT'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_ENVIRONMENT'BODY
* Insert after 5
2 --/ elsif Cdf_Hpux then
2 --// with C_Library_Interface;
2 --// with System;
2 --// with Unix_Base_Types;

* Insert after 7
2 --// with Unchecked_Conversion;
2 --// with Unix_Implementation_Types;
2 --// with Unix_Types;

* Insert after 14
2 
2 --/ if Record_Rep_Clauses then
2 --// with Xlbmt_Parameters;
2 --// use Xlbmt_Parameters;
2 --/ end if;

* Change 22
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 45..46
1     function X_Env_Concat_Dir_File (Dir  : String;  
1                                     File : String) return String is
-----
2     function X_Env_Concat_Dir_File (Dir  : X_String;  
2                                     File : X_String) return X_String is

* Change 73
1 --//        return need_something_here;
-----
2 --//        return Need_Something_Here;

* Change 80
1                 (Var : String) return X_String_Pointer is
-----
2                 (Var : X_String) return X_String_Pointer is

* Change 97
1                & Var;  
-----
2                & To_String (Var);  

* Insert after 141
2 --/ elsif Cdf_Hpux then
2 --//
2 --//     begin
2 --//         declare
2 --//             V : constant X_String := Var & Nul;
2 --//         begin
2 --//             return new X_String'(To_X_String
2 --//                                     (Unix_Base_Types.To_String
2 --//                                         (C_Library_Interface.Shell.Getenv
2 --//                                             (Unix_Base_Types.To_Char_Ptr
2 --//                                                 (V (V'First)'Address)))));
2 --//         exception
2 --//             when Constraint_Error =>
2 --//                 ----Getenv raises this when the variable does not exist.
2 --//                 return None_X_String_Pointer;
2 --//         end;
2 --//

* Change 147
1 --//             return new X_String'(To_X_String (Ui_Environment.Getenv (Var)));
-----
2 --//             return new X_String'(To_X_String (Ui_Environment.Getenv (
2 --//                                            To_String (Var))));

* Change 158
1 --//         return need_something_here;
-----
2 --//         return Need_Something_Here;

* Change 165
1     function X_Env_Get_Host_Name return String is
-----
2     function X_Env_Get_Host_Name return X_String is

* Change 169
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Cdf_Hpux then
2 --//         function Get_Host_Name
2 --//                     (Name : System.Address; Namelen : S_Long) return S_Long;
2 --//         pragma Interface (C, Get_Host_Name);
2 --//         pragma Import_Function (Internal        => Get_Host_Name,
2 --//                                 External        => "_gethostname",
2 --//                                 Parameter_Types => (System.Address, S_Long),
2 --//                                 Mechanism       => (Value, Value),
2 --//                                 Result_Type     => S_Long);
2 --//
2 --//         Buffer : X_String (1 .. 256);
2 --//
2 --//
2 --/ elsif TeleGen2 and then Unix then

* Change 175
1 --//         Buffer : String (1 .. 256);
-----
2 --//         Buffer : X_String (1 .. 256);

* Change 182
1         return Transport_Name.Local_Host_Name ("TCP/IP");
-----
2         return To_X_String (Transport_Name.Local_Host_Name ("TCP/IP"));

* Insert after 183
2 --/ elsif Cdf_Hpux then
2 --//
2 --//         if Get_Host_Name (Buffer (Buffer'First)'Address, Buffer'Length) < 0 then
2 --//             return "";
2 --//         end if;
2 --//         for I in Buffer'Range loop
2 --//             if Buffer (I) = Nul then
2 --//                 return Buffer (Buffer'First .. I - 1);
2 --//             end if;
2 --//         end loop;
2 --//         return Buffer;
2 --//

* Change 190
1 --//             if Buffer (I) = Ascii.Nul then
-----
2 --//             if Buffer (I) = Nul then

* Change 197
1 --//         return need_something_here;
-----
2 --//         return Need_Something_Here;

* Change 206
1     function X_Env_Get_Home_Dir return String is
-----
2     function X_Env_Get_Home_Dir return X_String is

* Insert after 212
2 --/ if R1000 then
2 

* Delete 214..215
1 
1 --/ if R1000 then

* Change 217..218
1         return  
1            System_Utilities.Home_Library (User => System_Utilities.User_Name);
-----
2         return To_X_String (System_Utilities.Home_Library  
2                                (System_Utilities.User_Name));

* Insert after 219
2 --/ elsif Cdf_Hpux then
2 --//     begin
2 --//         return To_X_String (Unix_Base_Types.To_String
2 --//                                (C_Library_Interface.Shell.Getenv
2 --//                                    (Unix_Base_Types.To_Char_Ptr
2 --//                                        ("HOME" & Ascii.Nul))));
2 --//

* Insert after 220
2 --//
2 --//         use Unix_Implementation_Types;
2 --//         use Unix_Types;
2 --//         subtype Integer_32 is Unix_Types.Integer_32;
2 --//
2 --//         type Passwd_Struct is
2 --//             record
2 --//                 Pw_Name    : C_String_Pointer;
2 --//                 Pw_Passwd  : C_String_Pointer;
2 --//                 Pw_Uid     : Integer_32;
2 --//                 Pw_Gid     : Integer_32;
2 --//                 Pw_Quota   : Integer_32;
2 --//                 Pw_Comment : C_String_Pointer;
2 --//                 Pw_Gecos   : C_String_Pointer;
2 --//                 Pw_Dir     : C_String_Pointer;
2 --//                 Pw_Shell   : C_String_Pointer;
2 --//             end record;
2 --//
2 --//         for Passwd_Struct use
2 --//             record
2 --//                 Pw_Name    at 0 * X_Word range X_Word0a .. X_Word0b;
2 --//                 Pw_Passwd  at 1 * X_Word range X_Word0a .. X_Word0b;
2 --//                 Pw_Uid     at 2 * X_Word range X_Word0a .. X_Word0b;
2 --//                 Pw_Gid     at 3 * X_Word range X_Word0a .. X_Word0b;
2 --//                 Pw_Quota   at 4 * X_Word range X_Word0a .. X_Word0b;
2 --//                 Pw_Comment at 5 * X_Word range X_Word0a .. X_Word0b;
2 --//                 Pw_Gecos   at 6 * X_Word range X_Word0a .. X_Word0b;
2 --//                 Pw_Dir     at 7 * X_Word range X_Word0a .. X_Word0b;
2 --//                 Pw_Shell   at 8 * X_Word range X_Word0a .. X_Word0b;
2 --//             end record;
2 --//
2 --//         type Passwd is access Passwd_Struct;
2 --//
2 --//         function Get_Env (Name : C_String_Pointer) return C_String_Pointer;
2 --//         pragma Interface (Unix, Get_Env);
2 --//         pragma Linkname (Get_Env, "getenv");
2 --//
2 --//         function Get_Pw_Nam (Name : C_String_Pointer) return Passwd;
2 --//         pragma Interface (Unix, Get_Pw_Nam);
2 --//         pragma Linkname (Get_Pw_Nam, "getpwnam");
2 --//
2 --//         function Get_Pw_Uid (Uid : Integer_32) return Passwd;
2 --//         pragma Interface (Unix, Get_Pw_Uid);
2 --//         pragma Linkname (Get_Pw_Uid, "getpwuid");
2 --//
2 --//         function Get_Uid return Integer_32;
2 --//         pragma Interface (Unix, Get_Uid);
2 --//         pragma Linkname (Get_Uid, "getuid");
2 --//
2 --//         function Cvt is new Unchecked_Conversion (Passwd, Integer_32);
2 --//
2 --// begin
2 --//
2 --// ----First we try the easy way; check the HOME environment variable.
2 --// --  If it is defined (not null) and if it has a non-zero length then return
2 --// --  the contents of that string as our result.
2 --//
2 --//         declare
2 --//             Home : C_String_Pointer;
2 --//         begin
2 --//             Home := Get_Env (Ada_String_To_C_String_Pointer ("HOME"));
2 --//             if Home /= Null_C_String_Pointer then
2 --//                 declare
2 --//                     Home_Str : constant String :=
2 --//                        C_String_Pointer_To_Ada_String (Home);
2 --//                 begin
2 --//                     if Home_Str'Length > 0 then
2 --//                         return To_X_String (Home_Str);
2 --//                     end if;
2 --//                 end;
2 --//             end if;
2 --//         end;
2 --//
2 --// ----The HOME variable is not useable.  See if the USER variable is useable.
2 --// --  If it is then we try getting the system's user information.
2 --//
2 --//         declare
2 --//             User : C_String_Pointer;
2 --//             Pw   : Passwd;
2 --//         begin
2 --//             User := Get_Env (Ada_String_To_C_String_Pointer ("USER"));
2 --//             if User /= Null_C_String_Pointer then
2 --//                 Pw := Get_Pw_Nam (User);
2 --//                 if Cvt (Pw) = 0 then
2 --//                     Pw := Get_Pw_Uid (Get_Uid);
2 --//                 end if;
2 --//             else
2 --//                 Pw := Get_Pw_Uid (Get_Uid);
2 --//             end if;
2 --//
2 --// ----Unix NULL is a 0 so compare the result of our queries to 0.  If we got
2 --// --  something then return the directory name.  If not then return "".

* Change 222
1 --//         return Ui_Environment.Getenv ("HOME");
-----
2 --//             if Cvt (Pw) = 0 then
2 --//                 return "";
2 --//             else
2 --//                 return To_X_String
2 --//                            (C_String_Pointer_To_Ada_String (Pw.Pw_Dir));
2 --//             end if;
2 --//         end;

* Change 225
1 --//         return need_something_else;
-----
2 --//         return Need_Something_Else;
15:35:17 ::: [end of File_Utilities.Difference].
15:35:18 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:35:18 ... UNITS.IMD_PROCS.XLBMP_ENVIRONMENT'SPEC'V(5)", "!X11.X_LIBRARY.
15:35:18 ... REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_ENVIRONMENT'SPEC'V(1)", "",
15:35:18 ...  TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_PROCS.XLBMP_ENVIRONMENT'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_ENVIRONMENT'SPEC
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 34..35
1     function X_Env_Concat_Dir_File (Dir  : String;  
1                                     File : String) return String;
-----
2     function X_Env_Concat_Dir_File (Dir  : X_String;  
2                                     File : X_String) return X_String;

* Change 53
1                 (Var : String) return X_String_Pointer;
-----
2                 (Var : X_String) return X_String_Pointer;

* Change 64
1     function X_Env_Get_Home_Dir return String;
-----
2     function X_Env_Get_Home_Dir return X_String;

* Change 72
1     function X_Env_Get_Host_Name return String;
-----
2     function X_Env_Get_Host_Name return X_String;
15:35:19 ::: [end of File_Utilities.Difference].
15:35:21 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:35:21 ... UNITS.IMD_PROCS.XLBMP_GENERIC_CONVERTERS'BODY'V(5)", "!X11.
15:35:21 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.
15:35:21 ... XLBMP_GENERIC_CONVERTERS'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_PROCS.XLBMP_GENERIC_CONVERTERS'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_GENERIC_CONVERTERS'BODY
* Change 3..4
1 --/ else
1 --/   if TeleGen2 and then Unix then
-----
2 --/ elsif Cdf_Hpux then
2 --// with Unchecked_Conversion;
2 --/ elsif TeleGen2 and then Unix then

* Delete 6
1 --/   end if;

* Change 19
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 58..59
1     begin  
1         Raw := To_Raw (Orig);  
-----
2     begin
2 
2         Raw := To_Raw (Orig);
2 

* Delete 66..67
1 --//         Length : constant S_Natural :=
1 --//            (Original'Size + X_Raw_Data'Size - 1) / X_Raw_Data'Size;

* Change 69
1 --//         if Length /= Raw'Length then
-----
2 --//
2 --/ if DEBUG then
2 --//         if Original'Size / X_Raw_Data'Size /= Raw'Length then

* Change 71
1 --//         elsif Length > 0 then
-----
2 --//         end if;
2 --/ end if;
2 --//         if Raw'Length > 0 then

* Change 85..86
1 --//                                     A.A'Address,
1 --//                                     Length);
-----
2 --//                                     A.A'Address, Raw'Length);

* Change 89..91
1 --//                 Xlbmt_Mem_Copy (Raw (Raw'First)'Address,
1 --//                                 Orig'Address,
1 --//                                 Length);
-----
2 --//                 Xlbmt_Mem_Copy (Raw (Raw'First)'Address, Orig'Address,
2 --//                                 Raw'Length);

* Insert after 93
2 --//

* Change 99
1 --// --  it may not work for you.
-----
2 --// --  it may not work for you.  Do not modify this code.  Copy it into
2 --// --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --// --  some targets.

* Change 103..105
1 --//         Length : constant S_Natural :=
1 --//            (Original'Size + X_Raw_Data'Size - 1) / X_Raw_Data'Size;
1 --//         subtype Rdt is X_Raw_Data_Array (1 .. Length);
-----
2 --//         subtype Rdt is X_Raw_Data_Array (Raw'Range);

* Insert after 107
2 --//
2 --/ if DEBUG then
2 --//         if Original'Size / X_Raw_Data'Size /= Raw'Length then
2 --//             raise Constraint_Error;
2 --//         end if;
2 --/ end if;

* Insert after 108
2 --//

* Delete 132..133
1 --//         Length : constant S_Natural :=
1 --//            (Original'Size + X_Raw_Data'Size - 1) / X_Raw_Data'Size;

* Change 135
1 --//         if Length /= Raw'Length then
-----
2 --//
2 --/ if DEBUG then
2 --//         if Original'Size / X_Raw_Data'Size /= Raw'Length then

* Change 137..140
1 --//         elsif Length > 0 then
1 --//             Xlbmt_Mem_Copy (Raw (Raw'First)'Address,
1 --//                             Orig'Address,
1 --//                             Length);
-----
2 --//         end if;
2 --/ end if;
2 --//         if Raw'Length > 0 then
2 --//             Xlbmt_Mem_Copy (Raw (Raw'First)'Address, Orig'Address,
2 --//                             Raw'Length);

* Insert after 141
2 --//

* Change 147
1 --// --  it may not work for you.
-----
2 --// --  it may not work for you.  Do not modify this code.  Copy it into
2 --// --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --// --  some targets.

* Change 151..153
1 --//         Length : constant S_Natural :=
1 --//            (Original'Size + X_Raw_Data'Size - 1) / X_Raw_Data'Size;
1 --//         subtype Rdt is X_Raw_Data_Array (1 .. Length);
-----
2 --//         subtype Rdt is X_Raw_Data_Array (Raw'Range);

* Insert after 155
2 --//
2 --/ if DEBUG then
2 --//         if Original'Size / X_Raw_Data'Size /= Raw'Length then
2 --//             raise Constraint_Error;
2 --//         end if;
2 --/ end if;

* Insert after 156
2 --//

* Change 174
1     begin  
-----
2     begin
2 
2 --/ if DEBUG then
2         if Orig'Length * Original'Size / X_Raw_Data'Size /= Raw'Length then  
2             raise Constraint_Error;  
2         end if;
2 --/ end if;

* Change 177..179
1         elsif Raw'Length /= 0 then  
1             raise Constraint_Error;  
1         end if;  
-----
2         end if;
2 

* Delete 186..188
1 --//         Length : constant S_Natural :=
1 --//            (Orig'Length * Original'Size + X_Raw_Data'Size - 1) /
1 --//               X_Raw_Data'Size;

* Change 190
1 --//         if Raw'Length /= Length then
-----
2 --//
2 --/ if DEBUG then
2 --//         if Orig'Length * Original'Size / X_Raw_Data'Size /= Raw'Length then

* Change 192
1 --//         elsif Length > 0 then
-----
2 --//         end if;
2 --/ end if;
2 --//         if Orig'Length > 0 then

* Change 194..195
1 --//                             Orig (Orig'First)'Address,
1 --//                             Length);
-----
2 --//                             Orig (Orig'First)'Address, Raw'Length);

* Insert after 196
2 --//

* Change 202
1 --// --  it may not work for you.
-----
2 --// --  it may not work for you.  Do not modify this code.  Copy it into
2 --// --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --// --  some targets.

* Change 206..209
1 --//         Length : constant S_Natural :=
1 --//            (Orig'Length * Original'Size + X_Raw_Data'Size - 1) /
1 --//               X_Raw_Data'Size;
1 --//         subtype Rdt is X_Raw_Data_Array (1 .. Length);
-----
2 --//         subtype Rdt is X_Raw_Data_Array (Raw'Range);

* Insert after 213
2 --//
2 --/ if DEBUG then
2 --//         if Orig'Length * Original'Size / X_Raw_Data'Size /= Raw'Length then
2 --//             raise Constraint_Error;
2 --//         end if;
2 --/ end if;

* Insert after 214
2 --//

* Change 234..235
1     begin  
1         if Orig'Length (1) > 0 and Orig'Length (2) > 0 then  
-----
2     begin
2 
2 --/ if DEBUG then
2         if Orig'Length (1) * Orig'Length (2) *  
2            Original'Size / X_Raw_Data'Size /= Raw'Length then  
2             raise Constraint_Error;  
2         end if;
2 --/ end if;
2         if Raw'Length /= 0 then  

* Change 237..239
1         elsif Raw'Length /= 0 then  
1             raise Constraint_Error;  
1         end if;  
-----
2         end if;
2 

* Change 244..245
1 --//     procedure Convert_2d_Array_To_Raw
1 --//                  (Raw : out X_Raw_Data_Array; Orig : Original_Array) is
-----
2 --//     procedure Convert_2d_Array_To_Raw (Raw  : out X_Raw_Data_Array;
2 --//                                        Orig :     Original_Array) is

* Delete 247..249
1 --//         Length : constant S_Natural :=
1 --//            (Orig'Length (1) * Orig'Length (2) * Original'Size +
1 --//             X_Raw_Data'Size - 1) / X_Raw_Data'Size;

* Change 251
1 --//         if Raw'Length /= Length then
-----
2 --//
2 --/ if DEBUG then
2 --//         if Orig'Length (1) * Orig'Length (2) *
2 --//            Original'Size / X_Raw_Data'Size /= Raw'Length then

* Change 253..256
1 --//         elsif Length > 0 then
1 --//             Xlbmt_Mem_Copy (Raw (Raw'First)'Address,
1 --//                             Orig (Orig'First (1), Orig'First (2))'Address,
1 --//                             Length);
-----
2 --//         end if;
2 --/ end if;
2 --//         if Raw'Length /= 0 then
2 --//             Xlbmt_Mem_Copy
2 --//                (Raw (Raw'First)'Address,
2 --//                 Orig (Orig'First (1), Orig'First (2))'Address, Raw'Length);

* Insert after 257
2 --//

* Change 263
1 --// --  it may not work for you.
-----
2 --// --  it may not work for you.  Do not modify this code.  Copy it into
2 --// --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --// --  some targets.

* Change 268..272
1 --//         Length : constant S_Natural :=
1 --//            (Orig'Length (1) * Orig'Length (2) * Original'Size +
1 --//             X_Raw_Data'Size - 1) /
1 --//            X_Raw_Data'Size;
1 --//         subtype Rdt is X_Raw_Data_Array (1 .. Length);
-----
2 --//         subtype Rdt is X_Raw_Data_Array (Raw'Range);

* Insert after 276
2 --//
2 --/ if DEBUG then
2 --//         if Orig'Length (1) * Orig'Length (2) *
2 --//            Original'Size / X_Raw_Data'Size /= Raw'Length then
2 --//             raise Constraint_Error;
2 --//         end if;
2 --/ end if;

* Insert after 277
2 --//

* Change 284
1 --// --  it may not work for you.
-----
2 --// --  it may not work for you.  Do not modify this code.  Copy it into
2 --// --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --// --  some targets.

* Change 289..293
1 --//         Length : constant S_Natural :=
1 --//            (Orig'Length (1) * Orig'Length (2) * Original'Size +
1 --//             X_Raw_Data'Size - 1) /
1 --//            X_Raw_Data'Size;
1 --//         subtype Rdt     is X_Raw_Data_Array (1 .. Length);
-----
2 --//         subtype Rdt     is X_Raw_Data_Array (Raw'Range);

* Insert after 298
2 --//
2 --/ if DEBUG then
2 --//         if Orig'Length (1) * Orig'Length (2) *
2 --//            Original'Size / X_Raw_Data'Size /= Raw'Length then
2 --//             raise Constraint_Error;
2 --//         end if;
2 --/ end if;

* Insert after 304
2 --//

* Change 316..319
1     procedure Convert_Raw_To_Discrete (Orig : out Original;  
1                                        Raw  :     X_Raw_Data_Array) is  
1         Length : constant S_Natural :=  
1            (Original'Size + X_Raw_Data'Size - 1) / X_Raw_Data'Size;  
-----
2     procedure Convert_Raw_To_Discrete  
2                  (Orig : out Original; Raw : X_Raw_Data_Array) is  

* Change 322..323
1     begin  
1         if Length /= Raw'Length then  
-----
2     begin
2 
2 --/ if DEBUG then
2         if Original'Size / X_Raw_Data'Size /= Raw'Length then  

* Change 325..327
1         else  
1             Orig := From_Raw (Raw);  
1         end if;  
-----
2         end if;
2 --/ end if;
2         Orig := From_Raw (Raw);
2 

* Delete 334..335
1 --//         Length : constant S_Natural :=
1 --//            (Original'Size + X_Raw_Data'Size - 1) / X_Raw_Data'Size;

* Change 337
1 --//         if Length /= Raw'Length then
-----
2 --//
2 --/ if DEBUG then
2 --//         if Original'Size / X_Raw_Data'Size /= Raw'Length then

* Change 339
1 --//         elsif Original'Size < 32 then
-----
2 --//         end if;
2 --/ end if;
2 --//         if Original'Size < 32 then

* Change 350..352
1 --//                 Xlbmt_Mem_Copy (A.A'Address,
1 --//                                 Raw (Raw'First)'Address,
1 --//                                 Length);
-----
2 --//                 Xlbmt_Mem_Copy
2 --//                    (A.A'Address, Raw (Raw'First)'Address, Raw'Length);

* Change 356..358
1 --//             Xlbmt_Mem_Copy (Orig'Address,
1 --//                             Raw (Raw'First)'Address,
1 --//                             Length);
-----
2 --//             Xlbmt_Mem_Copy (Orig'Address, Raw (Raw'First)'Address, Raw'Length);

* Insert after 359
2 --//

* Change 365
1 --// --  it may not work for you.
-----
2 --// --  it may not work for you.  Do not modify this code.  Copy it into
2 --// --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --// --  some targets.

* Change 369..371
1 --//         Length : constant S_Natural :=
1 --//            (Original'Size + X_Raw_Data'Size - 1) / X_Raw_Data'Size;
1 --//         subtype Rdt is X_Raw_Data_Array (1 .. Length);
-----
2 --//         subtype Rdt is X_Raw_Data_Array (Raw'Range);

* Change 374
1 --//         if Length /= Raw'Length then
-----
2 --//
2 --/ if DEBUG then
2 --//         if Original'Size / X_Raw_Data'Size /= Raw'Length then

* Delete 376..377
1 --//         else
1 --//             Orig := From_Raw (Raw);

* Insert after 378
2 --/ end if;
2 --//         Orig := From_Raw (Raw);
2 --//

* Delete 392..393
1         Length : constant S_Natural :=  
1            (Original'Size + X_Raw_Data'Size - 1) / X_Raw_Data'Size;  

* Change 396..397
1     begin  
1         if Length /= Raw'Length then  
-----
2     begin
2 
2 --/ if DEBUG then
2         if Original'Size / X_Raw_Data'Size /= Raw'Length then  

* Change 399..401
1         else  
1             Orig := From_Raw (Raw);  
1         end if;  
-----
2         end if;
2 --/ end if;
2         Orig := From_Raw (Raw);
2 

* Delete 408..409
1 --//         Length : constant S_Natural :=
1 --//            (Original'Size + X_Raw_Data'Size - 1) / X_Raw_Data'Size;

* Change 411
1 --//         if Length /= Raw'Length then
-----
2 --//
2 --/ if DEBUG then
2 --//         if Original'Size / X_Raw_Data'Size /= Raw'Length then

* Change 413..416
1 --//         elsif Length > 0 then
1 --//             Xlbmt_Mem_Copy (Orig'Address,
1 --//                             Raw (Raw'First)'Address,
1 --//                             Length);
-----
2 --//         end if;
2 --/ end if;
2 --//         if Raw'Length > 0 then
2 --//             Xlbmt_Mem_Copy (Orig'Address, Raw (Raw'First)'Address, Raw'Length);

* Insert after 417
2 --//

* Change 423
1 --// --  it may not work for you.
-----
2 --// --  it may not work for you.  Do not modify this code.  Copy it into
2 --// --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --// --  some targets.

* Change 427..429
1 --//         Length : constant S_Natural :=
1 --//            (Original'Size + X_Raw_Data'Size - 1) / X_Raw_Data'Size;
1 --//         subtype Rdt is X_Raw_Data_Array (1 .. Length);
-----
2 --//         subtype Rdt is X_Raw_Data_Array (Raw'Range);

* Insert after 431
2 --//
2 --/ if DEBUG then
2 --//         if Original'Size / X_Raw_Data'Size /= Raw'Length then
2 --//             raise Constraint_Error;
2 --//         end if;
2 --/ end if;

* Insert after 432
2 --//

* Delete 446
1         Length : constant S_Natural := Raw'Length;  

* Change 451..452
1         if Length * X_Raw_Data'Size /= Orig'Length * Original'Size then  
1             raise Constraint_Error;
-----
2 --/ if DEBUG then
2         if Raw'Length /= Orig'Length * Original'Size / X_Raw_Data'Size then  
2             raise Constraint_Error;  
2         end if;
2 --/ end if;

* Change 459
1         elsif Length > 0 then  
-----
2         if Raw'Length > 0 then  

* Change 473..475
1 --//     procedure Convert_Raw_To_Array (Orig : out Original_Array;
1 --//                                     Raw  :     X_Raw_Data_Array) is
1 --//         Length : constant S_Natural := Raw'Length;
-----
2 --//     procedure Convert_Raw_To_Array
2 --//                  (Orig : out Original_Array; Raw : X_Raw_Data_Array) is

* Change 478
1 --//         if Length * X_Raw_Data'Size /= Orig'Length * Original'Size then
-----
2 --/ if DEBUG then
2 --//         if Raw'Length /= Orig'Length * Original'Size / X_Raw_Data'Size then

* Change 480
1 --//         elsif Length > 0 then
-----
2 --//         end if;
2 --/ end if;
2 --//         if Raw'Length > 0 then

* Change 482..483
1 --//                             Raw (Raw'First)'Address,
1 --//                             Length);
-----
2 --//                             Raw (Raw'First)'Address, Raw'Length);

* Change 491
1 --// --  it may not work for you.
-----
2 --// --  it may not work for you.  Do not modify this code.  Copy it into
2 --// --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --// --  some targets.

* Delete 495
1 --//         Length : constant S_Natural := Raw'Length;

* Change 500
1 --//         if Length * X_Raw_Data'Size /= Orig'Length * Original'Size then
-----
2 --/ if DEBUG then
2 --//         if Raw'Length /= Orig'Length * Original'Size / X_Raw_Data'Size then

* Insert after 501
2 --//         end if;
2 --/ end if;

* Change 508
1 --//         elsif Length > 0 then
-----
2 --//         if Raw'Length > 0 then

* Change 510
1 --//                 type Rdt is new X_Raw_Data_Array (1 .. Raw'Length);
-----
2 --//                 type Rdt is new X_Raw_Data_Array (Raw'Range);

* Change 530..532
1     procedure Convert_Raw_To_2d_Array  
1                  (Orig : out Original_Array;  
1                   Raw  :     X_Raw_Data_Array) is  
-----
2     procedure Convert_Raw_To_2d_Array (Orig : out Original_Array;  
2                                        Raw  :     X_Raw_Data_Array) is  

* Change 537..539
1         if Orig'Length (1) * Orig'Length (2) * Original'Size /=  
1            Raw'Length * X_Raw_Data'Size then  
1             raise Constraint_Error;
-----
2 --/ if DEBUG then
2         if Raw'Length /= Orig'Length (1) * Orig'Length (2) *  
2                             Original'Size / X_Raw_Data'Size then  
2             raise Constraint_Error;  
2         end if;
2 --/ end if;

* Change 546
1         elsif Raw'Length > 0 then  
-----
2         if Raw'Length > 0 then  

* Change 560..562
1 --//     procedure Convert_Raw_To_2d_Array (Orig : out Original_Array;
1 --//                                        Raw  :     X_Raw_Data_Array) is
1 --//         Length : constant S_Natural := Raw'Length;
-----
2 --//     procedure Convert_Raw_To_2d_Array
2 --//                  (Orig : out Original_Array; Raw : X_Raw_Data_Array) is

* Change 565..566
1 --//         if Length * X_Raw_Data'Size /=
1 --//            Orig'Length (1) * Orig'Length (2) * Original'Size then
-----
2 --/ if DEBUG then
2 --//         if Raw'Length /= Orig'Length (1) * Orig'Length (2) *
2 --//                              Original'Size / X_Raw_Data'Size then

* Change 568
1 --//         elsif Length > 0 then
-----
2 --//         end if;
2 --/ end if;
2 --//         if Raw'Length > 0 then

* Change 570..571
1 --//                             Raw (Raw'First)'Address,
1 --//                             Length);
-----
2 --//                             Raw (Raw'First)'Address, Raw'Length);

* Change 580
1 --// --  it may not work for you.
-----
2 --// --  it may not work for you.  Do not modify this code.  Copy it into
2 --// --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --// --  some targets.

* Insert after 584
2 --//
2 --// ----Check size constraints.
2 --//
2 --/ if DEBUG then
2 --//         if Raw'Length /= Orig'Length (1) * Orig'Length (2) *
2 --//                            Original'Size / X_Raw_Data'Size then
2 --//             raise Constraint_Error;
2 --//         end if;
2 --/ end if;

* Change 588
1 --//         if Orig'Length (1) = 0 then
-----
2 --//         if Raw'Length = 0 then

* Delete 598..599
1 --//                 Len : S_Natural := Orig'Length (1) * Orig'Length (2) *
1 --//                                       (Original'Size / X_Raw_Data'Size);

* Change 601
1 --//                 subtype Rdt is X_Raw_Data_Array (1 .. Len);
-----
2 --//                 subtype Rdt is X_Raw_Data_Array (Raw'Range);

* Change 614
1 --// --  it may not work for you.
-----
2 --// --  it may not work for you.  Do not modify this code.  Copy it into
2 --// --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --// --  some targets.

* Insert after 618
2 --//
2 --// ----Check size constraints.
2 --//
2 --/ if DEBUG then
2 --//         if Raw'Length /= Orig'Length (1) * Orig'Length (2) *
2 --//                            Original'Size / X_Raw_Data'Size then
2 --//             raise Constraint_Error;
2 --//         end if;
2 --/ end if;

* Change 622
1 --//         if Orig'Length (1) = 0 then
-----
2 --//         if Raw'Length = 0 then

* Delete 632..633
1 --//                 Len : S_Natural := Orig'Length (1) * Orig'Length (2) *
1 --//                                       (Original'Size / X_Raw_Data'Size);
15:35:24 ::: [end of File_Utilities.Difference].
15:35:26 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:35:26 ... UNITS.IMD_PROCS.XLBMP_GENERIC_CONVERTERS'SPEC'V(5)", "!X11.
15:35:26 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.
15:35:26 ... XLBMP_GENERIC_CONVERTERS'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_PROCS.XLBMP_GENERIC_CONVERTERS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_GENERIC_CONVERTERS'SPEC
* Change 11
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:35:26 ::: [end of File_Utilities.Difference].
15:35:29 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:35:29 ... UNITS.IMD_PROCS.XLBMP_GET'BODY'V(5)", "!X11.X_LIBRARY.
15:35:29 ... REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_GET'BODY'V(1)", "", TRUE, 
15:35:29 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_PROCS.XLBMP_GET'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_GET'BODY
* Change 51
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 188..195
1 --//             if Display.Input.Data (Rec_Next) < 0 then
1 --//                 Client_Sent := True;
1 --//                 Event_Code  := X_Event_Code'Val
1 --//                                   ((Display.Input.Data (Rec_Next) + 127) + 1);
1 --//             else
1 --//                 Client_Sent := False;
1 --//                 Event_Code  := X_Event_Code'Val (Display.Input.Data (Rec_Next));
1 --//             end if;
-----
2 --//            if Display.Input.Data (Rec_Next) < 0 then
2 --//                Client_Sent := True;
2 --//                Event_Code  := X_Event_Code'Val
2 --//                                  ((Display.Input.Data (Rec_Next) + 127) + 1);
2 --//            else
2 --//                Client_Sent := False;
2 --//                Event_Code  := X_Event_Code'Val (Display.Input.Data (Rec_Next));
2 --//            end if;

* Insert after 443
2                             raise X_Network_Io_Error;  

* Delete 445
1                         raise X_Network_Io_Error;  
15:35:34 ::: [end of File_Utilities.Difference].
15:35:36 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:35:36 ... UNITS.IMD_PROCS.XLBMP_GET'SPEC'V(5)", "!X11.X_LIBRARY.
15:35:36 ... REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_GET'SPEC'V(1)", "", TRUE, 
15:35:36 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_PROCS.XLBMP_GET'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_GET'SPEC
* Change 16
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:35:38 ::: [end of File_Utilities.Difference].
15:35:40 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:35:40 ... UNITS.IMD_PROCS.XLBMP_INTERNAL'BODY'V(4)", "!X11.X_LIBRARY.
15:35:40 ... REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_INTERNAL'BODY'V(3)", "", 
15:35:40 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_PROCS.XLBMP_INTERNAL'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_INTERNAL'BODY
* Insert after 4
2 --/ elsif Cdf_Hpux then
2 --// with C_Library_Interface;
2 --// with System_Interface;
2 --// with Unix_Base_Types;

* Insert after 23
2 with Xlbt_Request;
2 use Xlbt_Request;

* Change 60
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 263..264
1                     end;  
1                     raise X_Network_Io_Error;
-----
2                         raise X_Network_Io_Error;
2                     end;

* Change 443..444
1                     end;  
1                     raise X_Network_Io_Error;
-----
2                         raise X_Network_Io_Error;
2                     end;

* Change 514
1         if not Display.Last_Request.Empty then  
-----
2         if Display.Last_Request.Kind /= Invalid_Request then  

* Change 750..751
1                     end;  
1                     raise X_Network_Io_Error;
-----
2                         raise X_Network_Io_Error;
2                     end;

* Change 800..802
1         Fd       : Connection_Id;  
1         Fd_Error : Status_Code;  
1         Socket   : S_Natural := X_Tcp_Port + S_Natural (Display_Num);  
-----
2 --/ if R1000_Xlib_Only then
2 --//         Fd       : Connection_Id;
2 --/ else
2         Fd      : Transport.Connection_Id;  
2         Fd_Conn : Connection_Id;
2 --/ end if;
2         Fd_Error     : Status_Code;  
2         Socket       : S_Natural := X_Tcp_Port + S_Natural (Display_Num);  
2         Host_Address : X_Network_Host_Address;  

* Delete 807..811
1         declare  
1             Network_Id : constant Transport_Defs.Network_Name :=  
1                Transport_Name.Host_To_Network_Name (To_String (Host));  
1             Host_Num   : constant Host_Id                     :=  
1                Transport_Name.Host_To_Host_Id (To_String (Host));  

* Insert after 812
2             declare  
2                 Network_Id : constant Transport_Defs.Network_Name :=  
2                    Transport_Name.Host_To_Network_Name (To_String (Host));  
2                 Host_Num   : constant Host_Id                     :=  
2                    Transport_Name.Host_To_Host_Id (To_String (Host));  
2             begin

* Change 817..824
1             if Network_Id /= "TCP/IP" then  
1                 Err (Error,  
1                      X_Get_Error_String  
1                         ("XlibError", "OnlyTCPIP",  
1                          "Only TCP/IP is currently supported."));  
1                 Status := Failed;  
1                 return;  
1             end if;
-----
2                 if Network_Id /= "TCP/IP" then  
2                     Err (Error,  
2                          X_Get_Error_String  
2                             ("XlibError", "OnlyTCPIP",  
2                              "Only TCP/IP is currently supported."));  
2                     Status := Failed;  
2                     return;  
2                 end if;

* Change 828..835
1             Transport.Open (Fd, Fd_Error, Network_Id);  
1             if Fd_Error /= Ok then  
1                 Err (Error, X_Get_Error_String ("XlibError", "TOpenFailed",  
1                                                 "Transport.Open call failed:") &  
1                             ' ' & To_X_String (Image (Fd_Error)));  
1                 Status := Failed;  
1                 return;  
1             end if;
-----
2                 Transport.Open (Fd, Fd_Error, Network_Id);  
2                 if Fd_Error /= Ok then  
2                     Err (Error, X_Get_Error_String
2                                    ("XlibError", "TOpenFailed",  
2                                     "Transport.Open call failed:") &  
2                                 ' ' & To_X_String (Image (Fd_Error)));  
2                     Status := Failed;  
2                     return;  
2                 end if;

* Change 839..850
1             Transport.Connect (Fd, Fd_Error, Host_Num,  
1                                (0 => X_Raw_Data ((Socket / 2 ** 8) rem 2 ** 8),  
1                                 1 => X_Raw_Data (Socket rem 2 ** 8)));  
1             if Fd_Error /= Ok then  
1                 Transport.Close (Fd);  
1                 Err (Error, X_Get_Error_String  
1                                ("XlibError", "TConnectFailed",  
1                                 "Transport.Connect call failed:") &  
1                             ' ' & To_X_String (Image (Fd_Error)));  
1                 Status := Failed;  
1                 return;  
1             end if;
-----
2                 Transport.Connect
2                    (Fd, Fd_Error, Host_Num,  
2                     (0 => X_Raw_Data ((Socket / 2 ** 8) rem 2 ** 8),  
2                      1 => X_Raw_Data (Socket rem 2 ** 8)));  
2                 if Fd_Error /= Ok then  
2                     Transport.Close (Fd);  
2                     Err (Error, X_Get_Error_String  
2                                    ("XlibError", "TConnectFailed",  
2                                     "Transport.Connect call failed:") &  
2                                 ' ' & To_X_String (Image (Fd_Error)));  
2                     Status := Failed;  
2                     return;  
2                 end if;

* Change 854..857
1             Host_Addr  := new Host_Id'(Host_Num);  
1             Connection := Fd;  
1             Status     := Successful;  
1             return;
-----
2                 Host_Address := new Host_Id'(Host_Num);
2 --/ if R1000_Xlib_Only then
2 --//             Connection := Fd;
2 --/ else
2                 Fd_Conn            := new Connection_Id_Rec;  
2                 Fd_Conn.Connection := Fd;  
2                 Fd_Conn.Reader.Initialize (Fd_Conn);  
2                 Connection := Fd_Conn;
2 --/ end if;
2                 Host_Addr := Host_Address;  
2                 Status    := Successful;  
2                 return;

* Insert after 858
2             end;

* Change 869..870
1                 Transport.Disconnect (Fd);  
1                 Transport.Close (Fd);  
-----
2                 Free_X_Network_Host_Address (Host_Address);
2 --/ if R1000_Xlib_Only then
2 --//                 Transport.Disconnect (Fd);
2 --//                 Transport.Close (Fd);
2 --/ else
2                 abort Fd_Conn.Reader;  
2                 Transport.Disconnect (Fd_Conn.Connection);  
2                 Transport.Close (Fd_Conn.Connection);  
2                 Free_Connection_Id (Fd_Conn);
2 --/ end if;

* Change 880
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Unix then

* Change 882..888
1 --//     procedure Make_Host_Connection
1 --//                  (Host        :        X_String;
1 --//                   Display_Num :        U_Char;
1 --//                   Connection  : in out Connection_Id;
1 --//                   Host_Addr   : out    X_Network_Host_Address;
1 --//                   Status      : out    X_Status;
1 --//                   Error       : in out X_Error_String) is
-----
2 --//     procedure Make_Host_Connection (Host        :        X_String;
2 --//                                     Display_Num :        U_Char;
2 --//                                     Connection  : in out Connection_Id;
2 --//                                     Host_Addr   : out    X_Network_Host_Address;
2 --//                                     Status      : out    X_Status;
2 --//                                     Error       : in out X_Error_String) is

* Change 897
1 --//                            To_String (Host) & Ascii.Nul;
-----
2 --//            To_String (Host) & Ascii.Nul;

* Change 918..919
1 --//             Make_Host_Connection( Host        =>
1 --//                                        To_X_String (X_Env_Get_Host_Name),
-----
2 --//             Make_Host_Connection (Host        => X_Env_Get_Host_Name,

* Change 924
1 --//                                   Error       => Error );
-----
2 --//                                   Error       => Error);

* Change 931..933
1 --//                            ("XlibError", "UnknownHost",
1 --//                             Unknown_Host)
1 --//                          & ' ' & Host);
-----
2 --//                            ("XlibError", "UnknownHost", Unknown_Host) &
2 --//                         ' ' & Host);

* Change 951..955
1 --//             Err (Error,
1 --//                  X_Get_Error_String ("XlibError", "CannotSocket",
1 --//                                      "Cannot allocate network socket:") &
1 --//                  ' ' & To_X_String (Error_Messages.Sys_Error_Message
1 --//                                           (Error_Messages.Errno)));
-----
2 --//             Err (Error, X_Get_Error_String ("XlibError", "CannotSocket",
2 --//                                             "Cannot allocate network socket:") &
2 --//                         ' ' & To_X_String
2 --/ if Cdf_Hpux then
2 --//                                  (Unix_Base_Types.To_String
2 --//                                      (C_Library_Interface.Error.Strerror
2 --//                                          (System_Interface.Error.Errno))));
2 --/ elsif TeleGen2 and then Unix then
2 --//                                  (Error_Messages.Sys_Error_Message
2 --//                                      (Error_Messages.Errno)));
2 --/ else
2 --//                                  (Need_Errno_String));
2 --/ end if;

* Change 964..968
1 --//             Err (Error, X_Get_Error_String( "XlibError", "ConnectFailed",
1 --//                                             "System Connect call failed:")
1 --//                         & ' ' &
1 --//                         To_X_String (Error_Messages.Sys_Error_Message
1 --//                                           (Error_Messages.Errno)));
-----
2 --//             Err (Error, X_Get_Error_String ("XlibError", "ConnectFailed",
2 --//                                             "System Connect call failed:") &
2 --//                         ' ' & To_X_String
2 --/ if Cdf_Hpux then
2 --//                                  (Unix_Base_Types.To_String
2 --//                                      (C_Library_Interface.Error.Strerror
2 --//                                          (System_Interface.Error.Errno))));
2 --/ elsif TeleGen2 and then Unix then
2 --//                                  (Error_Messages.Sys_Error_Message
2 --//                                      (Error_Messages.Errno)));
2 --/ else
2 --//                                  (Need_Errno_String));
2 --/ end if;

* Change 1027
1         Current    : S_Natural;                -- Used in string searching
-----
2         Current    : S_Long;                   -- Used in string searching

* Change 1029..1030
1         Fd         : Connection_Id;          -- Network connection
1 --/ if TeleGen2 and then Unix then
-----
2         Fd         : Connection_Id;            -- Network connection
2 --/ if Cdf_Hpux then
2 --//         Void : S_Long;
2 --/ elsif TeleGen2 and then Unix then

* Change 1178..1179
1                     Host : constant X_String :=  
1                        To_X_String (X_Env_Get_Host_Name);  
-----
2                     Host : constant X_String := X_Env_Get_Host_Name;  

* Change 1224..1226
1 --/ if R1000 then
1                 Transport.Disconnect (Fd);  
1                 Transport.Close (Fd);
-----
2 --/ if R1000 and R1000_Xlib_Only then
2 --//                 Transport.Disconnect (Fd);
2 --//                 Transport.Close (Fd);
2 --/ elsif R1000 and not R1000_Xlib_Only then
2                 abort Fd.Reader;  
2                 Transport.Disconnect (Fd.Connection);  
2                 Transport.Close (Fd.Connection);  
2                 Free_Connection_Id (Fd);

* Change 1228
1 --//                Void := Close (Fd);
-----
2 --//                 Void := Close (Fd);

* Change 1242
1                  (Connection : X_Network_Connection) is
-----
2                  (Connection : in out X_Network_Connection) is

* Change 1246
1 --/ if R1000 then
-----
2 --/ if R1000 and R1000_Xlib_Only then
2 --//     begin
2 --//
2 --//         Transport.Disconnect (Connection.Fd);
2 --//         Transport.Close (Connection.Fd);
2 --/ elsif R1000 and not R1000_Xlib_Only then

* Change 1249..1250
1         Transport.Disconnect (Connection.Fd);  
1         Transport.Close (Connection.Fd);
-----
2         if Connection.Fd /= null then  
2             abort Connection.Fd.Reader;  
2             Transport.Disconnect (Connection.Fd.Connection);  
2             Transport.Close (Connection.Fd.Connection);  
2             Free_Connection_Id (Connection.Fd);  
2         end if;

* Change 1252
1 --//        Void : S_Long;
-----
2 --//         Void : S_Long;

* Change 1255
1 --//        Void := Close (Connection.Fd);
-----
2 --//         Void := Close (Connection.Fd);
15:35:48 ::: [end of File_Utilities.Difference].
15:35:50 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:35:50 ... UNITS.IMD_PROCS.XLBMP_INTERNAL'SPEC'V(5)", "!X11.X_LIBRARY.
15:35:50 ... REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_INTERNAL'SPEC'V(1)", "", 
15:35:50 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_PROCS.XLBMP_INTERNAL'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_INTERNAL'SPEC
* Change 23
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 113
1     procedure Internal_X_Disconnect_Display (Connection : X_Network_Connection);
-----
2     procedure Internal_X_Disconnect_Display  
2                  (Connection : in out X_Network_Connection);
15:35:51 ::: [end of File_Utilities.Difference].
15:35:52 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:35:52 ... UNITS.IMD_PROCS.XLBMP_NETWORK_INTERFACE'BODY'V(4)", "!X11.
15:35:52 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.
15:35:52 ... XLBMP_NETWORK_INTERFACE'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_PROCS.XLBMP_NETWORK_INTERFACE'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_NETWORK_INTERFACE'BODY
* Insert after 2
2 --/ elsif Cdf_Hpux then
2 --// with System_Interface;

* Change 12
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Cdf_Hpux then
2 --// with Xlbmt_Transport_Defs;
2 --// use Xlbmt_Transport_Defs;
2 --/ elsif TeleGen2 and then Unix then

* Change 23
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 41
2 
2 --/ if Cdf_Hpux then
2 --//     use System_Interface.Error;     -- Eintr and friends
2 --/ end if;

* Change 57
1 --/ if R1000 then
-----
2 --/ if R1000 and R1000_Xlib_Only then
2 --//
2 --//     begin
2 --//
2 --//         Transport.Receive (Connection => Connection,
2 --//                            Status     => Status,
2 --//                            Data       => Data,
2 --//                            Count      => Count,
2 --//                            Max_Wait   => 0.0);
2 --//
2 --//
2 --/ elsif R1000 and not R1000_Xlib_Only then

* Change 61..65
1         Transport.Receive (Connection => Connection,  
1                            Status     => Status,  
1                            Data       => Data,  
1                            Count      => Count,  
1                            Max_Wait   => 0.0);
-----
2         select  
2             Connection.Reader.Receive_Maybe (Status => Status,  
2                                              Data   => Data,  
2                                              Count  => Count);  
2         else  
2             Status := Timed_Out;  
2             Count  := 0;  
2         end select;

* Change 68
1 --/ elsif TeleGen2 and then Unix then
-----
2 --/ elsif Unix then

* Insert after 72
2 --//        Lstatus : Status_Code;

* Change 99
1 --//            Status := Get_Errno;
-----
2 --//            Lstatus := Get_Errno;
2 --//            if Lstatus = Eintr then
2 --//                Status := Timed_Out;
2 --//            else
2 --//                Status := Lstatus;
2 --//            end if;

* Insert after 110
2 
2 --
2 --/ if R1000 and not R1000_Xlib_Only then
2 
2     procedure Receive_Queue (Connection :        Connection_Id;  
2                              Status     : out    Status_Code;  
2                              Data       : in out X_Raw_Data_Array;  
2                              Count      : out    X_Raw_Data_Index;  
2                              Notify     :        Notify_Complete) is
2 ------------------------------------------------------------------------------
2 --  Connection  - Specifies the connection to use for reading
2 --  Status      - Receives the final status of the operation
2 --  Data        - Receives the data
2 --  Count       - Receives the length of the data
2 --  Notify      - Specifies the notification task to use
2 --
2 -- Called when we are ready to receive something from the network connection
2 -- but we won't be upset if there isn't anything to receive.
2 ------------------------------------------------------------------------------
2     begin
2 
2         Connection.Reader.Receive_Queue (Status => Status,  
2                                          Data   => Data,  
2                                          Count  => Count,  
2                                          Notify => Notify);
2 
2     end Receive_Queue;
2 
2 --/ end if;

* Change 113
1 --/ if R1000 then
-----
2 --/ if R1000 and R1000_Xlib_Only then
2 --//
2 --//     procedure Receive_Must (Connection :        Connection_Id;
2 --//                             Status     : out    Status_Code;
2 --//                             Data       : in out X_Raw_Data_Array;
2 --//                             Count      : out    X_Raw_Data_Index) is
2 --// ------------------------------------------------------------------------------
2 --// --  Connection  - Specifies the connection to use for reading
2 --// --  Status      - Receives the final status of the operation
2 --// --  Data        - Receives the data
2 --// --  Count       - Receives the length of the data
2 --// --
2 --// -- Called when we are ready to receive some specific number of bytes from the
2 --// -- network connection and we will wait forever if necessary in order to get
2 --// -- exactly that many bytes.
2 --// ------------------------------------------------------------------------------
2 --//         Need_Count : constant X_Raw_Data_Index := Data'Length;
2 --//         Tmp_Status : Transport_Defs.Status_Code;
2 --//         Tmp_Count  : X_Raw_Data_Index;
2 --//         Total      : X_Raw_Data_Index;
2 --//         First      : X_Raw_Data_Index;
2 --//     begin
2 --//
2 --// ----Do an initial receive.  See if we get what we wanted without further
2 --// --  effort.
2 --//
2 --//         Transport.Receive (Connection => Connection,
2 --//                            Status     => Tmp_Status,
2 --//                            Data       => Data,
2 --//                            Count      => Tmp_Count,
2 --//                            Max_Wait   => Duration'Last);
2 --//
2 --// ----If we got it then return it all to the caller.
2 --//
2 --//         if Tmp_Count = Need_Count or else
2 --//            Tmp_Status /= Transport_Defs.Ok then
2 --//             Status := Tmp_Status;
2 --//             Count  := Tmp_Count;
2 --//             return;
2 --//         end if;
2 --//
2 --// ----Set up to loop until we get what we wanted.
2 --//
2 --//         Total := Tmp_Count;
2 --//         First := Data'First + Tmp_Count;
2 --//         loop
2 --//
2 --// ----Receive what we can this time.
2 --//
2 --//             Transport.Receive (Connection => Connection,
2 --//                                Status     => Tmp_Status,
2 --//                                Data       => Data (First .. Data'Last),
2 --//                                Count      => Tmp_Count,
2 --//                                Max_Wait   => Duration'Last);
2 --//
2 --// ----If we got all we asked for then return to the caller.
2 --//
2 --//             Total := Total + Tmp_Count;
2 --//             if Total = Need_Count or else
2 --//                Tmp_Status /= Transport_Defs.Ok then
2 --//                 Status := Tmp_Status;
2 --//                 Count  := Total;
2 --//                 return;
2 --//             end if;
2 --//
2 --// ----Record what we got and continue trying.
2 --//
2 --//             First := First + Tmp_Count;
2 --//         end loop;
2 --//
2 --//     end Receive_Must;
2 --//
2 --/ elsif R1000 and not R1000_Xlib_Only then

* Delete 129..133
1         Need_Count : constant X_Raw_Data_Index := Data'Length;  
1         Tmp_Status : Transport_Defs.Status_Code;  
1         Tmp_Count  : X_Raw_Data_Index;  
1         Total      : X_Raw_Data_Index;  
1         First      : X_Raw_Data_Index;  

* Delete 135..178
1 
1 ----Do an initial receive.  See if we get what we wanted without further
1 --  effort.
1 
1         Transport.Receive (Connection => Connection,  
1                            Status     => Tmp_Status,  
1                            Data       => Data,  
1                            Count      => Tmp_Count,  
1                            Max_Wait   => Duration'Last);
1 
1 ----If we got it then return it all to the caller.
1 
1         if Tmp_Count = Need_Count or else  
1            Tmp_Status /= Transport_Defs.Ok then  
1             Status := Tmp_Status;  
1             Count  := Tmp_Count;  
1             return;  
1         end if;
1 
1 ----Set up to loop until we get what we wanted.
1 
1         Total := Tmp_Count;  
1         First := Data'First + Tmp_Count;  
1         loop
1 
1 ----Receive what we can this time.
1 
1             Transport.Receive (Connection => Connection,  
1                                Status     => Tmp_Status,  
1                                Data       => Data (First .. Data'Last),  
1                                Count      => Tmp_Count,  
1                                Max_Wait   => Duration'Last);
1 
1 ----If we got all we asked for then return to the caller.
1 
1             Total := Total + Tmp_Count;  
1             if Total = Need_Count or else  
1                Tmp_Status /= Transport_Defs.Ok then  
1                 Status := Tmp_Status;  
1                 Count  := Total;  
1                 return;  
1             end if;
1 
1 ----Record what we got and continue trying.

* Change 180..181
1             First := First + Tmp_Count;  
1         end loop;
-----
2         Connection.Reader.Receive_Must (Status => Status,  
2                                         Data   => Data,  
2                                         Count  => Count);

* Change 188
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Unix then

* Change 244
1 --//                Get_Errno /= Status_Code (Error_Messages.Eintr) then
-----
2 --//                Get_Errno /= Eintr then

* Change 292
1 --/ if R1000 then
-----
2 --/ if R1000 and R1000_Xlib_Only then
2 --//
2 --//     begin
2 --//
2 --//         Transport.Transmit (Connection => Connection,
2 --//                             Status     => Status,
2 --//                             Data       => Data,
2 --//                             Count      => Count,
2 --//                             Max_Wait   => 0.25,
2 --//                             More       => False);
2 --//
2 --/ elsif R1000 and not R1000_Xlib_Only then

* Change 296
1         Transport.Transmit (Connection => Connection,  
-----
2         Transport.Transmit (Connection => Connection.Connection,  

* Change 303
1 --/ elsif TeleGen2 and then Unix then
-----
2 --/ elsif Unix then

* Change 305
1 --//        Result : S_Long;
-----
2 --//        Result  : S_Long;
2 --//        Lstatus : Status_Code;

* Change 308..315
1 --//        Result := Write (Connection, Data (Data'First)'Address, Data'Length);
1 --//        if Result = -1 then
1 --//            Count  := 0;
1 --//            Status := Get_Errno;
1 --//        else
1 --//            Count  := X_Raw_Data_Index (Result);
1 --//            Status := Ok;
1 --//        end if;
-----
2 --//         loop
2 --//             Result := Write (Connection,
2 --//                              Data (Data'First)'Address,
2 --//                              Data'Length);
2 --//             if Result = -1 then
2 --//                 Lstatus := Get_Errno;
2 --//                 if Lstatus /= Eintr then
2 --//                     Count  := 0;
2 --//                     Status := Lstatus;
2 --//                     return;
2 --//                 end if;
2 --//             else
2 --//                 Count  := X_Raw_Data_Index (Result);
2 --//                 Status := Ok;
2 --//                 return;
2 --//             end if;
2 --//         end loop;
15:35:55 ::: [end of File_Utilities.Difference].
15:35:56 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:35:56 ... UNITS.IMD_PROCS.XLBMP_NETWORK_INTERFACE'SPEC'V(5)", "!X11.
15:35:56 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.
15:35:56 ... XLBMP_NETWORK_INTERFACE'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_PROCS.XLBMP_NETWORK_INTERFACE'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_NETWORK_INTERFACE'SPEC
* Change 15
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Delete 39..40
1 
1 --/ if R1000 or else (TeleGen2 and then Unix) then

* Insert after 69
2 ------------------------------------------------------------------------------
2 
2 --/ if R1000 and not R1000_Xlib_Only then
2 
2     procedure Receive_Queue (Connection :        Connection_Id;  
2                              Status     : out    Status_Code;  
2                              Data       : in out X_Raw_Data_Array;  
2                              Count      : out    X_Raw_Data_Index;  
2                              Notify     :        Notify_Complete);
2 ------------------------------------------------------------------------------
2 --  Connection  - Specifies the connection to use for reading
2 --  Status      - Receives the final status of the operation
2 --  Data        - Receives the data
2 --  Count       - Receives the length of the data
2 --                  isn't any available
2 --  Notify      - Specifies the completion task to use when queuing a read
2 --
2 -- This interface is for the use of the Xt library.  Applications should not
2 -- use it unless they are very very very certain that they understand it
2 -- and they are very very very certain that their use will not bother Xt's
2 -- use of it for a given connection.
2 --
2 -- Called when we are ready to receive something from the network connection
2 -- but we won't be upset if there isn't anything to receive.  In addition,
2 -- we tell the Connection_Reader task to queue a read and to let us know
2 -- via the Notify_Complete task when the read has occured.

* Change 72
1 --/ end if;
-----
2 --/ end if; -- not R1000_Xlib_Only

* Delete 78..79
1 
1 --/ if R1000 or else (TeleGen2 and then Unix) then

* Delete 95..96
1 
1 --/ end if;
15:35:57 ::: [end of File_Utilities.Difference].
15:35:59 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:35:59 ... UNITS.IMD_PROCS.XLBMP_PUT'BODY'V(5)", "!X11.X_LIBRARY.
15:35:59 ... REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_PUT'BODY'V(1)", "", TRUE, 
15:35:59 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_PROCS.XLBMP_PUT'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_PUT'BODY
* Insert after 6
2 with Xlbt_Request;
2 use Xlbt_Request;

* Change 23
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 64
2 
2 --/ if DEBUG then

* Insert after 70
2 
2 --/ end if;

* Change 75
1         if not Display.Last_Request.Empty then  
-----
2         if Display.Last_Request.Kind /= Invalid_Request then  

* Change 142
1         if not Display.Last_Request.Empty then  
-----
2         if Display.Last_Request.Kind /= Invalid_Request then  

* Insert after 383
2 
2 --/ if DEBUG then

* Insert after 389
2 
2 --/ end if;

* Insert after 774
2 
2 --
2     procedure Reserve_Request_Large_1d (Display     :     X_Display;  
2                                         Max_Spaces  :     S_Natural;
2                                         Req         :     Request;  
2                                         D           :     Original_Array;
2                                         Reservation : out X_Raw_Data_Index;  
2                                         Spaces_Left : out S_Natural) is
2 ------------------------------------------------------------------------------
2 -- For Poly X_Request's with one dimensional array arguments only.
2 -- Do not use this for ordinary private types or for arrays of "small" types.
2 --
2 -- Called in an attempt to a) reserve space for a request record and b) to
2 -- begin placing the array data into the output buffer.  Allocates space in
2 -- the Display.Output buffer for the request and then allocates space in the
2 -- buffer for the array data.  The array data is copied into the buffer.  The
2 -- request is not copied.  Use the Place_Reserved_Request generic to do that.
2 -- This is for the use of the various Poly requests where adjacent requests may
2 -- be joined together to form a smaller number of longer requests.
2 --
2 -- Returns the reserved position for the request and the maximum number of
2 -- further array elements that can be placed into the buffer.
2 --
2 -- If you get a Constraint_Error when elaborating this generic then you have
2 -- tried to instantiate it with a type whose 'Size is not N*32.
2 --
2 -- Put data into the buffer going to a particular display.  All X requests
2 -- are always a multiple of 32 bits (4 bytes) in length.  If the data
2 -- does not fit into the buffer then the buffer is flushed first.
2 -- Display.Last_Req is not set; that is up to the caller.
2 --  Original        - this is the type of data that needs to be sent
2 --  Index           - this is the index type for the array type
2 --  Original_Array  - this is the array type
2 --  Request         - this is the type of data that needs to be sent
2 --  To_Raw          - converts the data to X_Raw_Data
2 --  To_Raw          - converts the data to X_Raw_Data
2 --  Request_Size    - all X protocol requests are 4*N bytes long, this value
2 --                    corresponds to the number of X_Raw_Data items required
2 --                    to represent the Request
2 --  Multiple_Of_32  - causes Constraint_Error if Request is of an inappropriate
2 --                    'Size
2 --  Original_Size   - all X protocol requests are 4*N bytes long, this value
2 --                    corresponds to the number of X_Raw_Data items required
2 --                    to represent a single Original item
2 --  Original_Multiple_Of_32  - causes Constraint_Error if Original is of an
2 --                    inappropriate 'Size
2 --  Display         - display to receive the request
2 --  Req             - the X_Request to send
2 ------------------------------------------------------------------------------
2         Total_Size : S_Natural := S_Natural (Original_Size) * D'Length;  
2         Last_Byte  : X_Raw_Data_Index;  
2         Next       : S_Long;  
2         Incr       : S_Long;  
2     begin
2 
2 ----If this fails then the previous request left the buffer on a non-word
2 --  boundary.  That would mean that we are harboring a bug somewhere.
2 --  We only reserve requests that fit into the buffer.
2 
2 --/ if DEBUG then
2 
2         if Request_Size rem 4 /= 0 then  
2             raise X_Library_Confusion;  
2         elsif Display.Output.Used rem 4 /= 0 then  
2             raise X_Library_Confusion;  
2         elsif Max_Spaces <= D'Length then
2             raise X_Library_Confusion;
2         end if;
2 
2 --/ end if;
2 
2 ----If there is a request in the Display.Last_Req buffer then he must be flushed
2 --  before we can be placed.
2 
2         if Display.Last_Request.Kind /= Invalid_Request then  
2             Internal_X_Flush_Last_Request (Display);  
2         end if;
2 
2 ----If this request will fit into the buffer then shove it in and return.
2 
2         if Total_Size <= S_Long (Display.Output.Data'Last  
2                                   - Display.Output.Used  
2                                   - Request_Size) then
2 
2 ----Calculate the last byte that will be used.  Then calculate the number
2 --  of spaces that remain in the buffer for new array elements.
2 
2             Last_Byte   := Display.Output.Used + Request_Size +
2                               X_Raw_Data_Index (Total_Size);  
2             Incr        := S_Long (Display.Output.Data'Last -
2                                    Last_Byte / Original_Size);
2             Incr        := Min (Max_Spaces - D'Length, Incr);
2             Spaces_Left := Incr;
2 
2 ----If there are no more spaces left then shove the request into the buffer.
2 
2             if Incr = 0 then
2                 To_Raw
2                    (Display.Output.Data (Display.Output.Used + 1 ..
2                                             Display.Output.Used + Request_Size),  
2                     Req);
2                 Reservation := 0;
2             else
2                 Reservation := Display.Output.Used + 1;
2             end if;
2 
2 ----Copy the array into the buffer.
2 
2             To_Raw (Display.Output.Data  
2                        (Display.Output.Used + Request_Size + 1 .. Last_Byte),  
2                     D);  
2             Display.Output.Used := Last_Byte;  
2             return;
2         end if;
2 
2 ----This request will not fit in the buffer space available; flush the buffer.
2 
2         Internal_X_Flush_Display (Display);
2 
2 ----If this request will fit into the buffer now (usual case) then just do that.
2 
2         if Total_Size <= S_Long (Display.Output.Data'Last - Request_Size) then
2 
2 ----Calculate the last byte that will be used.  Then calculate the number
2 --  of spaces that remain in the buffer for new array elements.
2 
2             Last_Byte   := Request_Size + X_Raw_Data_Index (Total_Size);  
2             Incr        := S_Long (Display.Output.Data'Last -
2                                    Last_Byte / Original_Size);
2             Incr        := Min (Max_Spaces - D'Length, Incr);
2             Spaces_Left := Incr;
2 
2 ----If there are no more spaces left then shove the request into the buffer.
2 
2             if Incr = 0 then
2                 To_Raw (Display.Output.Data (1 .. Request_Size),  
2                         Req);
2                 Reservation := 0;
2             else
2                 Reservation := Display.Output.Used + 1;
2             end if;
2 
2 ----Copy the array into the buffer.
2 
2             To_Raw (Display.Output.Data (Request_Size + 1 .. Last_Byte),  
2                     D);  
2             Display.Output.Used := Last_Byte;  
2             return;
2         end if;
2 
2 ----The caller is shipping something very large.  Put out the request and we
2 --  will follow it with the array elements.
2 
2         Reservation := 0;
2         Spaces_Left := 0;
2         To_Raw (Display.Output.Data (1 .. Request_Size),  
2                 Req);
2 
2 ----Put out the array elements a few at a time.
2 
2         Next      := S_Long (D'First);  
2         Incr      := S_Long ((Display.Input.Data'Last - Request_Size) /  
2                              Original_Size);  
2         Last_Byte := Original_Size * X_Raw_Data_Index (Incr);
2 
2 ----Put out the first few elements.
2 
2         To_Raw (Display.Output.Data (Request_Size + 1 .. Last_Byte),  
2                 D (Index (Next) .. Index (Next + Incr - 1)));  
2         Display.Output.Used := Last_Byte;  
2         Internal_X_Flush_Display (Display);  
2         Next := Next + Incr;
2 
2 ----Prepare to put out full size chunks.
2 
2         Incr      := S_Long (Display.Input.Data'Last / Original_Size);
2         Last_Byte := Original_Size * X_Raw_Data_Index (Incr);
2 
2 ----First we write them as complete Display.Input.Data buffer-fulls at a time.
2 
2         while S_Long (D'Last) - Next >= Incr loop  
2             To_Raw (Display.Output.Data (1 .. Last_Byte),  
2                     D (Index (Next) .. Index (Next + Incr - 1)));  
2             Display.Output.Used := Last_Byte;  
2             Internal_X_Flush_Display (Display);  
2             Next := Next + Incr;  
2         end loop;
2 
2 ----Finally we write whatever is left to write.
2 
2         if Next <= S_Long (D'Last) then  
2             Last_Byte := Original_Size * X_Raw_Data_Index  
2                                             (S_Long (D'Last) - Next + 1);  
2             To_Raw (Display.Output.Data (1 .. Last_Byte),  
2                     D (Index (Next) .. D'Last));  
2             Display.Output.Used := Last_Byte;  
2         end if;
2 
2     end Reserve_Request_Large_1d;
2 
2 --
2     procedure Place_Reserved_Request (Display     : X_Display;  
2                                       Req         : Request;  
2                                       Reservation : X_Raw_Data_Index) is
2 ------------------------------------------------------------------------------
2 -- For X_Request's only.  Do not use this for ordinary private types.
2 --
2 -- If you get a Constraint_Error when elaborating this generic then you have
2 -- tried to instantiate it with a type whose 'Size is not N*32.
2 --
2 -- Put data into a reserved place within the buffer going to a particular
2 -- display.  All X requests are always a multiple of 32 bits (4 bytes) in
2 -- length.  Display.Last_Req is not set; that is up to the caller.
2 --  Request         - this is the type of data that needs to be sent
2 --  To_Raw          - converts the data to X_Raw_Data
2 --  Request_Size    - all X protocol requests are 4*N bytes long, this value
2 --                    corresponds to the number of X_Raw_Data items required
2 --                    to represent the Request
2 --  Multiple_Of_32  - causes Constraint_Error if Request is of an inappropriate
2 --                    'Size
2 --  Display         - display to receive the request
2 --  Req             - the X_Request to send
2 ------------------------------------------------------------------------------
2         Last_Byte : X_Raw_Data_Index;  
2     begin
2 
2 ----If this fails then the previous request left the buffer on a non-word
2 --  boundary.  That would mean that we are harboring a bug somewhere.
2 
2 --/ if DEBUG then
2 
2         if Request_Size rem 4 /= 0 then  
2             raise X_Library_Confusion;  
2         elsif Display.Output.Used rem 4 /= 0 then  
2             raise X_Library_Confusion;  
2         end if;
2 
2 --/ end if;
2 
2 ----Put the data into the buffer.
2 
2         To_Raw  
2            (Display.Output.Data (Reservation .. Reservation + Request_Size - 1),  
2             Req);  
2         begin  
2             Display.Request := Display.Request + 1;  
2         exception  
2             when Constraint_Error =>  
2                 Display.Request := (Display.Request - 16#7F00_0000#) + 1;  
2                 Display.Last_Request_Read :=  
2                    Display.Last_Request_Read - 16#7F00_0000#;  
2         end;
2 
2     end Place_Reserved_Request;
15:36:05 ::: [end of File_Utilities.Difference].
15:36:07 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:36:07 ... UNITS.IMD_PROCS.XLBMP_PUT'SPEC'V(5)", "!X11.X_LIBRARY.
15:36:07 ... REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_PUT'SPEC'V(1)", "", TRUE, 
15:36:07 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_PROCS.XLBMP_PUT'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_PROCS.XLBMP_PUT'SPEC
* Change 15
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 302
2 ------------------------------------------------------------------------------
2 
2     generic  
2         type Request        is private;  
2         type Original       is private;  
2         type Index          is range <>;  
2         type Original_Array is array (Index range <>) of Original;  
2         with procedure To_Raw (Raw : out X_Raw_Data_Array;  
2                                D   :     Request);  
2         with procedure To_Raw (Raw : out X_Raw_Data_Array;  
2                                D   :     Original_Array);  
2         Request_Size            : in X_Raw_Data_Index := Request'Size / 8;  
2         Multiple_Of_32          : in Only_Zero        := Request'Size rem 32;  
2         Original_Size           : in X_Raw_Data_Index := Original'Size / 8;  
2         Original_Multiple_Of_32 : in Only_Zero        := Original'Size rem 32;  
2     procedure Reserve_Request_Large_1d (Display     :     X_Display;  
2                                         Max_Spaces  :     S_Natural;
2                                         Req         :     Request;  
2                                         D           :     Original_Array;
2                                         Reservation : out X_Raw_Data_Index;  
2                                         Spaces_Left : out S_Natural);
2 ------------------------------------------------------------------------------
2 -- For Poly X_Request's with one dimensional array arguments only.
2 -- Do not use this for ordinary private types or for arrays of "small" types.
2 --
2 -- Called in an attempt to
2 --  a) reserve space for a request record and
2 --  b) to begin placing the array data into the output buffer.
2 -- Allocates space in the Display.Output buffer for the request and then
2 -- allocates space in the buffer for the array data.  The array data is
2 -- copied into the buffer.  The request is not copied unless
2 --  a) the request plus the array exactly fill up the buffer
2 --  b) the request plus the array are larger than the buffer.
2 -- If Spaces_Left = 0 when this returns then the request and the array are
2 -- both in the buffer and no further array elements can be added to the
2 -- request.  If Spaces_left > 0 then use Put_large_Data_1d to add new array
2 -- elements (up to Spaces_Left) and finally use the Place_Reserved_Request
2 -- generic to place the request when you are all done.
2 --
2 -- This is for the use of the various Poly requests where adjacent requests may
2 -- be joined together to form a smaller number of longer requests.
2 --
2 -- Returns the reserved position for the request and the maximum number of
2 -- further array elements that can be placed into the buffer.
2 --
2 -- If you get a Constraint_Error when elaborating this generic then you have
2 -- tried to instantiate it with a type whose 'Size is not N*32.
2 --
2 -- Put data into the buffer going to a particular display.  All X requests
2 -- are always a multiple of 32 bits (4 bytes) in length.  If the data
2 -- does not fit into the buffer then the buffer is flushed first.
2 -- Display.Last_Req is not set; that is up to the caller.
2 --  Original        - this is the type of data that needs to be sent
2 --  Index           - this is the index type for the array type
2 --  Original_Array  - this is the array type
2 --  Request         - this is the type of data that needs to be sent
2 --  To_Raw          - converts the data to X_Raw_Data
2 --  To_Raw          - converts the data to X_Raw_Data
2 --  Request_Size    - all X protocol requests are 4*N bytes long, this value
2 --                    corresponds to the number of X_Raw_Data items required
2 --                    to represent the Request
2 --  Multiple_Of_32  - causes Constraint_Error if Request is of an inappropriate
2 --                    'Size
2 --  Original_Size   - all X protocol requests are 4*N bytes long, this value
2 --                    corresponds to the number of X_Raw_Data items required
2 --                    to represent a single Original item
2 --  Original_Multiple_Of_32  - causes Constraint_Error if Original is of an
2 --                    inappropriate 'Size
2 --  Display         - display to receive the request
2 --  Req             - the X_Request to send
2 ------------------------------------------------------------------------------
2 
2     generic  
2         type Request is private;  
2         with procedure To_Raw (Raw : out X_Raw_Data_Array;  
2                                Req :     Request);  
2         Request_Size   : in X_Raw_Data_Index := Request'Size / 8;  
2         Multiple_Of_32 : in Only_Zero        := Request'Size rem 32;  
2     procedure Place_Reserved_Request (Display     : X_Display;  
2                                       Req         : Request;  
2                                       Reservation : X_Raw_Data_Index);
2 ------------------------------------------------------------------------------
2 -- For X_Request's only.  Do not use this for ordinary private types.
2 --
2 -- If you get a Constraint_Error when elaborating this generic then you have
2 -- tried to instantiate it with a type whose 'Size is not N*32.
2 --
2 -- Put data into a reserved place within the buffer going to a particular
2 -- display.  All X requests are always a multiple of 32 bits (4 bytes) in
2 -- length.  Display.Last_Req is not set; that is up to the caller.
2 --  Request         - this is the type of data that needs to be sent
2 --  To_Raw          - converts the data to X_Raw_Data
2 --  Request_Size    - all X protocol requests are 4*N bytes long, this value
2 --                    corresponds to the number of X_Raw_Data items required
2 --                    to represent the Request
2 --  Multiple_Of_32  - causes Constraint_Error if Request is of an inappropriate
2 --                    'Size
2 --  Display         - display to receive the request
2 --  Req             - the X_Request to send
15:36:10 ::: [end of File_Utilities.Difference].
15:36:12 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:36:12 ... UNITS.IMD_TYPES.XLBMT_NETWORK_TYPES'BODY'V(5)", "!X11.X_LIBRARY.
15:36:12 ... REV6_0_0_WORKING.UNITS.IMD_TYPES.XLBMT_NETWORK_TYPES'BODY'V(1)", 
15:36:12 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_TYPES.XLBMT_NETWORK_TYPES'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_TYPES.XLBMT_NETWORK_TYPES'BODY
* Insert after 0
2 --/ if R1000 then
2 with Transport;  
2 with Transport_Defs;
2 --/ end if;
2 

* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 35
2 
2 --/ end if;
2 
2 --
2 --/ if R1000 and not R1000_Xlib_Only then
2 
2     task body Notify_Complete_Task is
2 ------------------------------------------------------------------------------
2 -- Simple bistable flag with multitask interlocking.  Only the Xt reader will
2 -- ever call Set_Not_Done or Wait_For_Done.  Only Connection_Readers will
2 -- ever call Set_Done.
2 --
2 --  - when Xt wants to read from its display(s) it will call Read_Queue
2 --      on each one and will call Set_Not_Done when the first one comes
2 --      back with status Pending_Read_Wait
2 --  - when Xt has called Read_Queue on each display it will call Wait_For_Done
2 --      which will only rendezvous when some display has read something
2 --  - Connection_Readers attempt to do a read; when that fails they change
2 --      their state to Pending_Read_Wait and leave the rendezvous (Xt then
2 --      continues); the readers then wait forever for a read to complete;
2 --      when it completes they set their state to Pending_Read_Done and then
2 --      call Set_Done; this ordering guarantees that Xt doesn't have to call
2 --      Set_Not_Done before Read_Queue and that no read completion will get
2 --      lost if Xt does Set_Not_Done and *then* checks the state; Xt will
2 --      shortly call Wait_For_Done which would then complete.
2 ------------------------------------------------------------------------------
2         Flag : Boolean := False;
2     begin
2 
2 ----Loop forever.
2 
2         loop
2 
2 ----If the flag is not set then only calls to set/reset it are accepted.
2 
2             select
2                 accept Set_Not_Done do
2                     Flag := False;          -- Called to reset flag
2                 end Set_Not_Done;
2             or
2                 accept Set_Done do
2                     Flag := True;           -- Called to set flag
2                 end Set_Done;
2             or
2                 terminate;
2             end select;
2 
2 ----If the flag is set then all calls are allowed.
2 
2             while Flag loop
2                 select
2                     accept Set_Not_Done do
2                         Flag := False;      -- Called to reset flag
2                     end Set_Not_Done;
2                 or
2                     accept Set_Done do
2                         Flag := True;       -- Called to set flag
2                     end Set_Done;
2                 or
2                     accept Wait_For_Done do
2                         Flag := False;      -- Called to wait for set flag
2                     end Wait_For_Done;      -- There is only one wait'er.
2                 or
2                     terminate;
2                 end select;
2             end loop;
2         end loop;
2 
2     end Notify_Complete_Task;
2 
2 --/ end if;
2 
2 --
2 --/ if R1000 and not R1000_Xlib_Only then
2 
2     task body Connection_Reader is
2 ------------------------------------------------------------------------------
2 -- Reader task for all Xlib connections.  The Xlib will only call the
2 -- Maybe or the Must entries.  The Xt calls the Queue entry when it would like
2 -- to read but doesn't want to wait if there is nothing ready.  A Queue'd
2 -- read will exit the Select and then do a read that blocks until we get
2 -- something.  It then uses the Notify_Task to tell Xt that it has done
2 -- something.
2 ------------------------------------------------------------------------------
2         Our_Connection : Connection_Id;
2         Notify_Task    : Notify_Complete;
2         Queue_Count    : X_Raw_Data_Index := 0;
2         Queue_Buffer   : X_Raw_Data_Array (1 .. 1);
2         Tmp_Count      : X_Raw_Data_Index;
2         Tmp_Status     : Status_Code;
2     begin
2 
2 ----Wait for our initialize call.  We don't really exist until we get it.
2 
2         select
2             accept Initialize (Connection : Connection_Id) do
2                 Our_Connection       := Connection;
2                 Our_Connection.State := Pending_Read_None;
2             end Initialize;
2         or
2             terminate;
2         end select;
2 
2 ----Loop until we get aborted or until the program exits.
2 
2         loop
2             while Notify_Task = None_Notify_Complete loop
2 
2 ------------------------------------------------------------------------------
2 -- Receive_Mabe entry - try a read; if it fails then just return
2 ------------------------------------------------------------------------------
2 
2                 select
2                     accept Receive_Maybe (Status : out    Status_Code;
2                                           Data   : in out X_Raw_Data_Array;
2                                           Count  : out    X_Raw_Data_Index) do
2 
2                         if Queue_Count > 0 then
2                             Data (Data'First) := Queue_Buffer (1);
2                             Queue_Count       := 0;
2                             Transport.Receive
2                                (Connection => Our_Connection.Connection,
2                                 Status => Status,
2                                 Data => Data (Data'First + 1 .. Data'Last),
2                                 Count => Tmp_Count,
2                                 Max_Wait => 0.0);
2                             Count := Tmp_Count + 1;
2                             return;
2                         else
2                             Transport.Receive
2                                (Connection => Our_Connection.Connection,
2                                 Status     => Status,
2                                 Data       => Data,
2                                 Count      => Count,
2                                 Max_Wait   => 0.0);
2                             return;
2                         end if;
2 
2                     end Receive_Maybe;
2 
2 ------------------------------------------------------------------------------
2 -- Receive_Queue entry - try to read; if that fails then queue a read
2 ------------------------------------------------------------------------------
2 
2                 or
2                     accept Receive_Queue (Status : out    Status_Code;
2                                           Data   : in out X_Raw_Data_Array;
2                                           Count  : out    X_Raw_Data_Index;
2                                           Notify :        Notify_Complete) do
2 
2                         if Queue_Count > 0 then
2                             Data (Data'First) := Queue_Buffer (1);
2                             Queue_Count       := 0;
2                             Transport.Receive
2                                (Connection => Our_Connection.Connection,
2                                 Status => Status,
2                                 Data => Data (Data'First + 1 .. Data'Last),
2                                 Count => Tmp_Count,
2                                 Max_Wait => 0.0);
2                             Count := Tmp_Count + 1;
2                             return;
2                         else
2                             Transport.Receive
2                                (Connection => Our_Connection.Connection,
2                                 Status     => Tmp_Status,
2                                 Data       => Data,
2                                 Count      => Tmp_Count,
2                                 Max_Wait   => 0.0);
2 
2                             Status := Tmp_Status;
2                             Count  := Tmp_Count;
2                             if Tmp_Count > 0 or else
2                                (Tmp_Status /= Transport_Defs.Ok and then
2                                 Tmp_Status /= Transport_Defs.Timed_Out) then
2                                 return;
2                             end if;
2 
2                             Notify_Task          := Notify;
2                             Our_Connection.State := Pending_Read_Wait;
2                         end if;
2 
2                     end Receive_Queue;
2 
2 ------------------------------------------------------------------------------
2 -- Receive_Must entry - we do not return until we get what we came for
2 ------------------------------------------------------------------------------
2 
2                 or
2                     accept Receive_Must (Status : out    Status_Code;
2                                          Data   : in out X_Raw_Data_Array;
2                                          Count  : out    X_Raw_Data_Index) do
2                         declare
2                             Need_Count : constant X_Raw_Data_Index :=
2                                Data'Length;
2                             Total      : X_Raw_Data_Index;
2                         begin
2 
2                             Tmp_Status := Transport_Defs.Ok;
2                             if Queue_Count > 0 then
2                                 Data (Data'First) := Queue_Buffer (1);
2                                 Queue_Count       := 0;
2                                 Total             := 1;
2                             else
2                                 Total := 0;
2                             end if;
2 
2 ----If we got all we asked for then return to the caller.
2 
2                             loop
2                                 if Total = Need_Count or else
2                                    Tmp_Status /= Transport_Defs.Ok then
2                                     Status := Tmp_Status;
2                                     Count  := Total;
2                                     return;
2                                 end if;
2 
2 ----Receive what we can this time.
2 
2                                 Transport.Receive
2                                    (Connection => Our_Connection.Connection,
2                                     Status     => Tmp_Status,
2                                     Data       => Data (Data'First + Total ..
2                                                            Data'Last),
2                                     Count      => Tmp_Count,
2                                     Max_Wait   => Duration'Last);
2                                 Total := Total + Tmp_Count;
2                             end loop;
2 
2                         end;
2                     end Receive_Must;
2 
2 ------------------------------------------------------------------------------
2 -- Terminate if necessary.
2 ------------------------------------------------------------------------------
2 
2                 or
2                     terminate;
2                 end select;
2             end loop;
2 
2 ----Do an initial receive.  See if we get what we wanted without further
2 --  effort.
2 
2             Transport.Receive (Connection => Our_Connection.Connection,
2                                Status     => Tmp_Status,
2                                Data       => Queue_Buffer,
2                                Count      => Queue_Count,
2                                Max_Wait   => Duration'Last);
2 
2 ----If we got it then return it all to the caller.  Set our state first and
2 --  then call the notify task afterwards.  Xt always checks the state first
2 --  and then does a rendezvous if it can't do anything else.  (Saves a trifle
2 --  of time.)
2 
2             Our_Connection.State := Pending_Read_Done;
2             Notify_Task.Set_Done;
2             if Tmp_Status /= Transport_Defs.Ok then
2                 Queue_Count := 0;
2             end if;
2             Notify_Task := None_Notify_Complete;
2         end loop;
2 
2     end Connection_Reader;
2 
2 --/ end if;

* Insert after 37
2 --/ if Multitask_Locking then

* Change 85
1 --//         Heap_Free_X_Mutex (M);
-----
2 --//        Heap_Free_X_Mutex (M);

* Change 103..107
1 --//         if Mutex.Flop = 0 then
1 --//             Mutex.Flop := 1;
1 --//         else
1 --//             raise X_Library_Confusion;
1 --//         end if;
-----
2 --//        if Mutex.Flop = 0 then
2 --//            Mutex.Flop := 1;
2 --//        else
2 --//            raise X_Library_Confusion;
2 --//        end if;

* Change 119..123
1 --//         if Mutex.Flop = 1 then
1 --//             Mutex.Flop := 0;
1 --//         else
1 --//             raise X_Library_Confusion;
1 --//         end if;
-----
2 --//        if Mutex.Flop = 1 then
2 --//            Mutex.Flop := 0;
2 --//        else
2 --//            raise X_Library_Confusion;
2 --//        end if;

* Change 131
1 --/ if Unix then
-----
2 --/ if cdf_Hpux then
2 --//
2 --//     function Get_Errno return Status_Code is
2 --//         use System_Interface.Error;
2 --//         Err : Unix_Base_Types.Int := Errno;
2 --//     begin
2 --//
2 --//         if Err = Etimedout then
2 --//             return Status_Code (Ewouldblock);
2 --//         else
2 --//             return Status_Code (Err);
2 --//         end if;
2 --//
2 --//     end Get_Errno;
2 --//
2 --/ elsif TeleGen2 and then Unix then

* Change 146
1 --/ end if; -- Unix
-----
2 --/ end if;
15:36:14 ::: [end of File_Utilities.Difference].
15:36:15 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:36:15 ... UNITS.IMD_TYPES.XLBMT_NETWORK_TYPES'SPEC'V(5)", "!X11.X_LIBRARY.
15:36:15 ... REV6_0_0_WORKING.UNITS.IMD_TYPES.XLBMT_NETWORK_TYPES'SPEC'V(1)", 
15:36:15 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_TYPES.XLBMT_NETWORK_TYPES'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_TYPES.XLBMT_NETWORK_TYPES'SPEC
* Insert after 5
2 --/ elsif Cdf_Hpux then
2 --// with System_Interface;
2 --// with Unix_Base_Types;

* Change 21
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Delete 39..43
1 ------------------------------------------------------------------------------
1 
1 --
1 ------------------------------------------------------------------------------
1 -- System Dependent Types

* Delete 45..101
1 
1 --/ if R1000 then
1 
1     subtype Connection_Id is Transport.Connection_Id;  
1     subtype Host_Id       is Transport_Defs.Host_Id;  
1     subtype Status_Code   is Transport_Defs.Status_Code;
1 
1     None_Connection_Id : constant Connection_Id := Transport.Null_Connection_Id;
1 
1     function "=" (A, B : Connection_Id) return Boolean renames Transport."=";  
1     function "=" (A, B : Host_Id) return Boolean renames Transport_Defs."=";  
1     function "=" (A, B : Status_Code) return Boolean renames Transport_Defs."=";
1 
1     function Image (Code : Status_Code) return String;
1 
1     Ok             : constant Status_Code := Transport_Defs.Ok;  
1     Timed_Out      : constant Status_Code := Transport_Defs.Timed_Out;  
1     No_Free_Memory : constant Status_Code := Transport_Defs.No_Free_Memory;
1 
1 --/ elsif TeleGen2 and then Unix then
1 --//
1 --// ------------------------------------------------------------------------------
1 --// -- Connection_Id - socket number
1 --// ------------------------------------------------------------------------------
1 --//
1 --//     type Connection_Id is new S_Long;
1 --//
1 --//     None_Connection_Id : constant Connection_Id := 0;
1 --//
1 --// ------------------------------------------------------------------------------
1 --// -- Host_Id - An encoding of a network host address
1 --// ------------------------------------------------------------------------------
1 --//
1 --//     type Host_Id is new S_Long;
1 --//
1 --// ------------------------------------------------------------------------------
1 --// -- Status_Code - An encoding of the outcome of a Transport operation.
1 --// --
1 --// --  Ok              - it worked
1 --// --  Timed_Out       - it has a time-limit and that limit expired
1 --// --  Error           - nonspecific error
1 --// ------------------------------------------------------------------------------
1 --//
1 --//     type Status_Code is new Error_Messages.Errors;
1 --//
1 --//     function Image (Code : Status_Code) return String;
1 --//     function Get_Errno                  return Status_Code;
1 --//
1 --//     Ok             : constant Status_Code := Enoerror;
1 --//     Timed_Out      : constant Status_Code := Ewouldblock;
1 --//     No_Free_Memory : constant Status_Code := Enomem;
1 --//
1 --/ else
1 --//
1 --//     Need : Something_Here;
1 --//
1 --/ end if;

* Insert after 166
2 
2 --
2 ------------------------------------------------------------------------------
2 -- System Dependent Networking Types
2 ------------------------------------------------------------------------------
2 
2 --/ if R1000 and R1000_Xlib_Only then
2 --//
2 --//     subtype Connection_Id is Transport.Connection_Id;
2 --//     subtype Host_Id       is Transport_Defs.Host_Id;
2 --//     subtype Status_Code   is Transport_Defs.Status_Code;
2 --//
2 --//     None_Connection_Id : constant Connection_Id := Transport.Null_Connection_Id;
2 --//
2 --//     function "=" (A, B : Connection_Id) return Boolean renames Transport."=";
2 --//     function "=" (A, B : Host_Id) return Boolean renames Transport_Defs."=";
2 --//     function "=" (A, B : Status_Code) return Boolean renames Transport_Defs."=";
2 --//
2 --//     function Image (Code : Status_Code) return String;
2 --//
2 --//     Ok             : constant Status_Code := Transport_Defs.Ok;
2 --//     Timed_Out      : constant Status_Code := Transport_Defs.Timed_Out;
2 --//     No_Free_Memory : constant Status_Code := Transport_Defs.No_Free_Memory;
2 --//
2 --/ elsif R1000 and not R1000_Xlib_Only then
2 
2     subtype Host_Id     is Transport_Defs.Host_Id;  
2     subtype Status_Code is Transport_Defs.Status_Code;
2 
2     function "=" (A, B : Transport.Connection_Id) return Boolean  
2         renames Transport."=";  
2     function "=" (A, B : Host_Id) return Boolean renames Transport_Defs."=";  
2     function "=" (A, B : Status_Code) return Boolean renames Transport_Defs."=";
2 
2     function Image (Code : Status_Code) return String;
2 
2     Ok             : constant Status_Code := Transport_Defs.Ok;  
2     Timed_Out      : constant Status_Code := Transport_Defs.Timed_Out;  
2     No_Free_Memory : constant Status_Code := Transport_Defs.No_Free_Memory;
2 
2     task type Notify_Complete_Task is  
2         entry Set_Not_Done;             -- Called to reset flag
2         entry Set_Done;                 -- Called to set flag
2         entry Wait_For_Done;            -- Called to wait for set flag
2     end Notify_Complete_Task;
2 
2     type Notify_Complete is access Notify_Complete_Task;
2 
2     pragma Enable_Deallocation (Notify_Complete);
2 
2     None_Notify_Complete : constant Notify_Complete := null;
2 
2     type Connection_State is (Pending_Read_None,  
2                               Pending_Read_Wait,  
2                               Pending_Read_Done);
2 
2     type Connection_Id_Rec;  
2     type Connection_Id is access Connection_Id_Rec;
2 
2     task type Connection_Reader is  
2         entry Initialize    (Connection : Connection_Id);  
2         entry Receive_Maybe (Status : out    Status_Code;  
2                              Data   : in out X_Raw_Data_Array;  
2                              Count  : out    X_Raw_Data_Index);  
2         entry Receive_Queue (Status : out    Status_Code;  
2                              Data   : in out X_Raw_Data_Array;  
2                              Count  : out    X_Raw_Data_Index;  
2                              Notify :        Notify_Complete);  
2         entry Receive_Must  (Status : out    Status_Code;  
2                              Data   : in out X_Raw_Data_Array;  
2                              Count  : out    X_Raw_Data_Index);  
2     end Connection_Reader;
2 
2     type Connection_Id_Rec is  
2         record  
2             Connection : Transport.Connection_Id :=  
2                Transport.Null_Connection_Id;  
2             State      : Connection_State        := Pending_Read_None;  
2             Reader     : Connection_Reader;  
2         end record;
2 
2     pragma Enable_Deallocation (Connection_Id);
2 
2     None_Connection_Id : constant Connection_Id := null;
2 
2     procedure Free_Connection_Id is  
2        new Unchecked_Deallocation (Connection_Id_Rec,  
2                                    Connection_Id);
2 
2 --/ elsif Cdf_Hpux then
2 --//
2 --// ------------------------------------------------------------------------------
2 --// -- Connection_Id - socket number
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     type Connection_Id is new S_Long;
2 --//
2 --//     None_Connection_Id : constant Connection_Id := 0;
2 --//
2 --// ------------------------------------------------------------------------------
2 --// -- Host_Id - An encoding of a network host address
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     type Host_Id is new S_Long;
2 --//
2 --// ------------------------------------------------------------------------------
2 --// -- Status_Code - An encoding of the outcome of a Transport operation.
2 --// --
2 --// --  Ok              - it worked
2 --// --  Timed_Out       - it has a time-limit and that limit expired
2 --// --  Error           - nonspecific error
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     subtype Status_Code is Unix_Base_Types.Int;
2 --//
2 --//     function Image (Code : Status_Code) return String;
2 --//     function Get_Errno                  return Status_Code;
2 --//
2 --//     Ok             : constant Status_Code := 0;
2 --//     Timed_Out      : constant Status_Code := System_Interface.Error.Ewouldblock;
2 --//     No_Free_Memory : constant Status_Code := System_Interface.Error.Enomem;
2 --//
2 --/ elsif TeleGen2 and then Unix then
2 --//
2 --// ------------------------------------------------------------------------------
2 --// -- Connection_Id - socket number
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     type Connection_Id is new S_Long;
2 --//
2 --//     None_Connection_Id : constant Connection_Id := 0;
2 --//
2 --// ------------------------------------------------------------------------------
2 --// -- Host_Id - An encoding of a network host address
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     type Host_Id is new S_Long;
2 --//
2 --// ------------------------------------------------------------------------------
2 --// -- Status_Code - An encoding of the outcome of a Transport operation.
2 --// --
2 --// --  Ok              - it worked
2 --// --  Timed_Out       - it has a time-limit and that limit expired
2 --// --  Error           - nonspecific error
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     type Status_Code is new Error_Messages.Errors;
2 --//
2 --//     function Image (Code : Status_Code) return String;
2 --//     function Get_Errno                  return Status_Code;
2 --//
2 --//     Ok             : constant Status_Code := Enoerror;
2 --//     Timed_Out      : constant Status_Code := Ewouldblock;
2 --//     No_Free_Memory : constant Status_Code := Enomem;
2 --//
2 --/ else
2 --//
2 --//     Need : Something_Here;
2 --//
2 --/ end if;

* Change 185..188
1 --//     type X_Mutex_Rec is
1 --//         record
1 --//             Flop : S_Natural range 0 .. 1 := 0;
1 --//         end record;
-----
2 --//    type X_Mutex_Rec is
2 --//        record
2 --//            Flop : S_Natural range 0 .. 1 := 0;
2 --//        end record;
15:36:17 ::: [end of File_Utilities.Difference].
15:36:18 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:36:18 ... UNITS.IMD_TYPES.XLBMT_NUMERIC_TYPES'BODY'V(4)", "!X11.X_LIBRARY.
15:36:18 ... REV6_0_0_WORKING.UNITS.IMD_TYPES.XLBMT_NUMERIC_TYPES'BODY'V(1)", 
15:36:18 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_TYPES.XLBMT_NUMERIC_TYPES'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_TYPES.XLBMT_NUMERIC_TYPES'BODY
* Insert after 3
2 --/ elsif Cdf_Hpux then
2 --// with Generic_Bit_Operations;

* Change 15
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 97
2 --/ elsif Cdf_Hpux then
2 --//     package Bit_Operations is
2 --//        new Generic_Bit_Operations (Thirty_Two_Bits_Signed);
2 --//
2 --//     function "and" (A : Thirty_Two_Bits_Signed;
2 --//                     B : Thirty_Two_Bits_Signed) return Thirty_Two_Bits_Signed is
2 --//     begin
2 --//         return Bit_Operations.Logical_And (A, B);
2 --//     end "and";
2 --//
2 --//     function "or" (A : Thirty_Two_Bits_Signed;
2 --//                    B : Thirty_Two_Bits_Signed) return Thirty_Two_Bits_Signed is
2 --//     begin
2 --//         return Bit_Operations.Logical_Or (A, B);
2 --//     end "or";
2 --//
2 --//     function "xor" (A : Thirty_Two_Bits_Signed;
2 --//                     B : Thirty_Two_Bits_Signed) return Thirty_Two_Bits_Signed is
2 --//     begin
2 --//         return Bit_Operations.Logical_Xor (A, B);
2 --//     end "xor";
2 --//
2 --//     function "not" (A : Thirty_Two_Bits_Signed) return Thirty_Two_Bits_Signed is
2 --//     begin
2 --//         return Bit_Operations.Logical_Not (A);
2 --//
2 --//     end "not";
2 --//
2 --//     function Shift (A : Thirty_Two_Bits_Signed;
2 --//                     B : Integer) return Thirty_Two_Bits_Signed is
2 --//     begin
2 --//         if abs B >= 32 then
2 --//             return 0;
2 --//         end if;
2 --//
2 --//         return Bit_Operations.Logical_Shift (A, B);
2 --//     end Shift;
2 --//

* Insert after 208
2 --/ elsif Cdf_Hpux then
2 --//     package Bit_Ops_16 is new Generic_Bit_Operations (Sixteen_Bits_Unsigned);
2 --//
2 --//     function "and" (A : Sixteen_Bits_Unsigned;
2 --//                     B : Sixteen_Bits_Unsigned) return Sixteen_Bits_Unsigned is
2 --//     begin
2 --//         return Bit_Ops_16.Logical_And (A, B);
2 --//     end "and";
2 --//
2 --//     function "or" (A : Sixteen_Bits_Unsigned;
2 --//                    B : Sixteen_Bits_Unsigned) return Sixteen_Bits_Unsigned is
2 --//     begin
2 --//         return Bit_Ops_16.Logical_Or (A, B);
2 --//     end "or";
2 --//
2 --//     function "xor" (A : Sixteen_Bits_Unsigned;
2 --//                     B : Sixteen_Bits_Unsigned) return Sixteen_Bits_Unsigned is
2 --//     begin
2 --//         return Bit_Ops_16.Logical_Xor (A, B);
2 --//     end "xor";
2 --//
2 --//     function "not" (A : Sixteen_Bits_Unsigned) return Sixteen_Bits_Unsigned is
2 --//     begin
2 --//         return Bit_Ops_16.Logical_Not (A);
2 --//     end "not";
2 --//
2 --//     function Shift (A : Sixteen_Bits_Unsigned;
2 --//                     B : Integer) return Sixteen_Bits_Unsigned is
2 --//     begin
2 --//         return Bit_Ops_16.Logical_Shift (A, B);
2 --//     end Shift;
2 --//

* Insert after 318
2 --/ elsif Cdf_Hpux then
2 --//     package Bit_Ops_8 is new Generic_Bit_Operations (Eight_Bits_Unsigned);
2 --//
2 --//     function "and" (A : Eight_Bits_Unsigned;
2 --//                     B : Eight_Bits_Unsigned) return Eight_Bits_Unsigned is
2 --//     begin
2 --//         return Bit_Ops_8.Logical_And (A, B);
2 --//     end "and";
2 --//
2 --//     function "or" (A : Eight_Bits_Unsigned;
2 --//                    B : Eight_Bits_Unsigned) return Eight_Bits_Unsigned is
2 --//     begin
2 --//         return Bit_Ops_8.Logical_Or (A, B);
2 --//     end "or";
2 --//
2 --//     function "xor" (A : Eight_Bits_Unsigned;
2 --//                     B : Eight_Bits_Unsigned) return Eight_Bits_Unsigned is
2 --//     begin
2 --//         return Bit_Ops_8.Logical_Xor (A, B);
2 --//     end "xor";
2 --//
2 --//     function "not" (A : Eight_Bits_Unsigned) return Eight_Bits_Unsigned is
2 --//     begin
2 --//         return Bit_Ops_8.Logical_Not (A);
2 --//     end "not";
2 --//
2 --//     function Shift (A : Eight_Bits_Unsigned;
2 --//                     B : Integer) return Eight_Bits_Unsigned is
2 --//     begin
2 --//         return Bit_Ops_8.Logical_Shift (A, B);
2 --//     end Shift;
2 --//
15:36:21 ::: [end of File_Utilities.Difference].
15:36:22 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:36:22 ... UNITS.IMD_TYPES.XLBMT_NUMERIC_TYPES'SPEC'V(5)", "!X11.X_LIBRARY.
15:36:22 ... REV6_0_0_WORKING.UNITS.IMD_TYPES.XLBMT_NUMERIC_TYPES'SPEC'V(1)", 
15:36:22 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_TYPES.XLBMT_NUMERIC_TYPES'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_TYPES.XLBMT_NUMERIC_TYPES'SPEC
* Change 7
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 47
1 --//     pragma Pack (Thirty_Two_Bits_Signed);
-----
2     --// pragma Pack (Thirty_Two_Bits_Signed);
15:36:25 ::: [end of File_Utilities.Difference].
15:36:26 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:36:26 ... UNITS.IMD_TYPES.XLBMT_PARAMETERS'SPEC'V(5)", "!X11.X_LIBRARY.
15:36:26 ... REV6_0_0_WORKING.UNITS.IMD_TYPES.XLBMT_PARAMETERS'SPEC'V(1)", "", 
15:36:26 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_TYPES.XLBMT_PARAMETERS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_TYPES.XLBMT_PARAMETERS'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 72
1 --/ elsif TeleGen2 and then Unix then
-----
2 --/ elsif Cdf_Hpux then

* Change 90..91
1 --//     X_Error_Database : constant String :=
1 --//        "/usr/lib/X11/ada/X_Error_Db";
-----
2 --//     X_Error_Database : constant String := "/usr/lib/X11/ada/X_Error_Db";

* Change 101..102
1 --//     X_Key_Sym_Db_File : constant String :=
1 --//        "/usr/lib/X11/ada/X_Key_Sym_Db";
-----
2 --//     X_Key_Sym_Db_File : constant String := "/usr/lib/X11/ada/X_Key_Sym_Db";

* Insert after 110
2 --//
2 --/ elsif TeleGen2 and then Unix then
2 --//
2 --//    X_Output_Buffer_Size : constant := 4096;
2 --//    -- Maximum X output buffer size; in bytes.  Our code assumes that this
2 --//    -- is always a multiple of 4 and greater than 256+32.  You can make it
2 --//    -- as big as you want as long as it is <= 16K.  16K is the minimum
2 --//    -- guaranteed size.  All servers will accepts a minimum of 16K.
2 --//    -- If you make it > 16K then it will not work for some servers.
2 --//
2 --//    X_Input_Buffer_Size : constant := 1024;
2 --//    -- Maximum X input buffer size; in bytes.  Our code assumes that this
2 --//    -- is a multiple of 4 and it must be at least 32.  You can make it as
2 --//    -- big as you want.  Larger values work better when "large" replies are
2 --//    -- expected.
2 --//
2 --//    X_Max_Q_Free : constant := 100;
2 --//    -- Maximum number of free events on a single display queue.
2 --//
2 --//    X_Error_Database : constant String :=
2 --//                            "/usr/lib/X11/ada/X_Error_Db";
2 --//
2 --//    X_Option_File : constant String := ".Xdefaults";
2 --//    -- Name of user default resources file in his home directory.
2 --//
2 --//    X_Environment_File : constant String := ".Xdefaults_";
2 --//    -- First part of the name of a per-host user default resources file
2 --//    -- in his home directory.  E.g. if current host is Bozo then the
2 --//    -- file is "~Somebody/.Xdefaults_Bozo".
2 --//
2 --//    X_Key_Sym_Db_File : constant String :=
2 --//                            "/usr/lib/X11/ada/X_Key_Sym_Db";
2 --//    -- File containing a list of site-specific key symbol resources.
2 --//    -- Each line of the file consists of "name : code".  Where code is
2 --//    -- a hex number, e.g. "NewKey : FA32".
2 --//    -- Comments and blank lines may be included.  Comments lines have '!' as
2 --//    -- the first non-blank character.
2 --//
2 --//    X_Var_Xenvironment : constant String := "XENVIRONMENT";
2 --//    ----Environment variable called "XENVIRONMENT" on Unix.

* Change 114..119
1 --//     X_Output_Buffer_Size : constant := 4096;
1 --//     -- Maximum X output buffer size; in bytes.  Our code assumes that this
1 --//     -- is always a multiple of 4 and greater than 256+32.  You can make it
1 --//     -- as big as you want as long as it is <= 16K.  16K is the minimum
1 --//     -- guaranteed size.  All servers will accepts a minimum of 16K.
1 --//     -- If you make it > 16K then it will not work for some servers.
-----
2 --//    X_Output_Buffer_Size : constant := 4096;
2 --//    -- Maximum X output buffer size; in bytes.  Our code assumes that this
2 --//    -- is always a multiple of 4 and greater than 256+32.  You can make it
2 --//    -- as big as you want as long as it is <= 16K.  16K is the minimum
2 --//    -- guaranteed size.  All servers will accepts a minimum of 16K.
2 --//    -- If you make it > 16K then it will not work for some servers.

* Change 121..125
1 --//     X_Input_Buffer_Size : constant := 1024;
1 --//     -- Maximum X input buffer size; in bytes.  Our code assumes that this
1 --//     -- is a multiple of 4 and it must be at least 32.  You can make it as
1 --//     -- big as you want.  Larger values work better when "large" replies are
1 --//     -- expected.
-----
2 --//    X_Input_Buffer_Size : constant := 1024;
2 --//    -- Maximum X input buffer size; in bytes.  Our code assumes that this
2 --//    -- is a multiple of 4 and it must be at least 32.  You can make it as
2 --//    -- big as you want.  Larger values work better when "large" replies are
2 --//    -- expected.

* Change 127..128
1 --//     X_Max_Q_Free : constant := 100;
1 --//     -- Maximum number of free events on a single display queue.
-----
2 --//    X_Max_Q_Free : constant := 100;
2 --//    -- Maximum number of free events on a single display queue.

* Change 130
1 --//     X_Error_Database : constant String := "!Machine.X_Data.X_Error_Db";
-----
2 --//    X_Error_Database : constant String := "!Machine.X_Data.X_Error_Db";

* Change 132..133
1 --//     X_Option_File : constant String := "X11_defaults";
1 --//     -- Name of user default resources file in his home directory.
-----
2 --//    X_Option_File : constant String := "X11_defaults";
2 --//    -- Name of user default resources file in his home directory.

* Change 135..138
1 --//     X_Environment_File : constant String := "X11_defaults_";
1 --//     -- First part of the name of a per-host user default resources file
1 --//     -- in his home directory.  E.g. if current host is Bozo then the
1 --//     -- file is "!User.Somebody.X11_Defaults_Bozo".
-----
2 --//    X_Environment_File : constant String := "X11_defaults_";
2 --//    -- First part of the name of a per-host user default resources file
2 --//    -- in his home directory.  E.g. if current host is Bozo then the
2 --//    -- file is "!User.Somebody.X11_Defaults_Bozo".

* Change 140..145
1 --//     X_Key_Sym_Db_File : constant String := "!Machine.X_Data.X_Key_Sym_Db";
1 --//     -- File containing a list of site-specific key symbol resources.
1 --//     -- Each line of the file consists of "name : code".  Where code is
1 --//     -- a hex number, e.g. "NewKey : FA32".
1 --//     -- Comments and blank lines may be included.  Comments lines have '!' as
1 --//     -- the first non-blank character.
-----
2 --//    X_Key_Sym_Db_File : constant String := "!Machine.X_Data.X_Key_Sym_Db";
2 --//    -- File containing a list of site-specific key symbol resources.
2 --//    -- Each line of the file consists of "name : code".  Where code is
2 --//    -- a hex number, e.g. "NewKey : FA32".
2 --//    -- Comments and blank lines may be included.  Comments lines have '!' as
2 --//    -- the first non-blank character.

* Change 147..148
1 --//     X_Var_Xenvironment : constant String := "XENVIRONMENT";
1 --//     ----Environment variable called "XENVIRONMENT" on Unix.
-----
2 --//    X_Var_Xenvironment : constant String := "XENVIRONMENT";
2 --//    ----Environment variable called "XENVIRONMENT" on Unix.
15:36:29 ::: [end of File_Utilities.Difference].
15:36:31 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:36:31 ... UNITS.IMD_TYPES.XLBMT_TRANSPORT_DEFS'BODY'V(5)", "!X11.X_LIBRARY.
15:36:31 ... REV6_0_0_WORKING.UNITS.IMD_TYPES.XLBMT_TRANSPORT_DEFS'BODY'V(1)", 
15:36:31 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_TYPES.XLBMT_TRANSPORT_DEFS'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_TYPES.XLBMT_TRANSPORT_DEFS'BODY
* Change 20
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
15:36:32 ::: [end of File_Utilities.Difference].
15:36:33 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:36:33 ... UNITS.IMD_TYPES.XLBMT_TRANSPORT_DEFS'SPEC'V(5)", "!X11.X_LIBRARY.
15:36:33 ... REV6_0_0_WORKING.UNITS.IMD_TYPES.XLBMT_TRANSPORT_DEFS'SPEC'V(1)", 
15:36:33 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMD_TYPES.XLBMT_TRANSPORT_DEFS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMD_TYPES.XLBMT_TRANSPORT_DEFS'SPEC
* Change 1
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Cdf_Hpux then
2 --// with System;
2 --// with Unchecked_Conversion;
2 --// with Unix_Base_Types;
2 --/ elsif TeleGen2 and then Unix then

* Insert after 13
2 
2 --/ if Record_Rep_Clauses then
2 --// with Xlbmt_Parameters;
2 --// use Xlbmt_Parameters;
2 --/ end if;

* Change 21
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1991 - 1990 by Rational, Santa Clara, California.

* Insert after 44
2 
2 --/ if Cdf_Hpux then
2 --//     subtype C_String_Pointer is Unix_Base_Types.Char_Ptr;
2 --/ end if;

* Insert after 68
2 --//         end record;
2 --//
2 --/ if Record_Rep_Clauses then
2 --//
2 --//     for Socaddr_Element use
2 --//         record
2 --//             A at 0 * X_Word range X_Word0a .. X_Word0b;
2 --//             B at 1 * X_Word range X_Word0a .. X_Word0b;

* Insert after 69
2 --//
2 --/ end if;
2 --//

* Insert after 81
2 --//         end record;
2 --//
2 --/ if Record_Rep_Clauses then
2 --//
2 --//     for Hostent use
2 --//         record
2 --//             H_Name      at 0 * X_Word range X_Word0a .. X_Word0b;
2 --//             H_Aliases   at 1 * X_Word range X_Word0a .. X_Word0b;
2 --//             H_Addrtype  at 2 * X_Word range X_Word0a .. X_Word0b;
2 --//             H_Length    at 3 * X_Word range X_Word0a .. X_Word0b;
2 --//             H_Addr_List at 4 * X_Word range X_Word0a .. X_Word0b;

* Insert after 83
2 --/ end if;

* Insert after 110
2 --//         end record;
2 --//
2 --/ if Record_Rep_Clauses then
2 --//
2 --//     for Sockaddr_In use
2 --//         record
2 --//             Sin_Family at 0 * X_Word range X_Half0a .. X_Half0b;
2 --//             Sin_Port   at 0 * X_Word range X_Half1a .. X_Half1b;
2 --//             Sin_Addr   at 1 * X_Word range X_Word0a .. X_Word0b;
2 --//             Sin_Zero   at 2 * X_Word range 0 .. 63;

* Insert after 112
2 --/ end if;

* Insert after 151
2 --//         end record;
2 --//
2 --/ if Record_Rep_Clauses then
2 --//
2 --//     for Timeval use
2 --//         record
2 --//             Tv_Sec  at 0 * X_Word range X_Word0a .. X_Word0b;
2 --//             Tv_Usec at 1 * X_Word range X_Word0a .. X_Word0b;

* Insert after 152
2 --//
2 --/ end if;

* Insert after 173
2 --/ if Cdf_Hpux then
2 --//     pragma Import_Function (Internal        => Close,
2 --//                             External        => "__close",
2 --//                             Parameter_Types => (Connection_Id),
2 --//                             Mechanism       => (Value),
2 --//                             Result_Type     => S_Long);
2 --/ elsif TeleGen2 then
2 --//     pragma Linkname (Close, "close");
2 --/ else

* Insert after 174
2 --/ end if;

* Change 185
1 --//     pragma Linkname (Connect, "connect");
-----
2 --/ if Cdf_Hpux then
2 --//     pragma Import_Function
2 --//        (Internal        => Connect,
2 --//         External        => "_connect",
2 --//         Parameter_Types => (Connection_Id, System.Address, S_Long),
2 --//         Mechanism       => (Value, Value, Value),
2 --//         Result_Type     => S_Long);
2 --/ elsif TeleGen2 then
2 --//pragma Linkname (Connect, "connect");
2 --/ else
2 --//pragma Linkname (Connect, "connect");
2 --/ end if;

* Change 200
1 --//     pragma Linkname (Fcntl, "fcntl");
-----
2 --/ if Cdf_Hpux then
2 --//     pragma Import_Function (Internal        => Fcntl,
2 --//                             External        => "_fcntl",
2 --//                             Parameter_Types => (Connection_Id, S_Long, S_Long),
2 --//                             Mechanism       => (Value, Value, Value),
2 --//                             Result_Type     => S_Long);
2 --/ elsif TeleGen2 then
2 --//pragma Linkname (Fcntl, "fcntl");
2 --/ else
2 --//pragma Linkname (Fcntl, "fcntl");
2 --/ end if;

* Change 236
1 --//     pragma Linkname (Get_Host_By_Name, "gethostbyname");
-----
2 --/ if Cdf_Hpux then
2 --//     pragma Import_Function (Internal        => Get_Host_By_Name,
2 --//                             External        => "_gethostbyname",
2 --//                             Parameter_Types => (System.Address),
2 --//                             Mechanism       => (Value),
2 --//                             Result_Type     => Hostent_Pointer);
2 --/ elsif TeleGen2 then
2 --//pragma Linkname (Get_Host_By_Name, "gethostbyname");
2 --/ else
2 --//pragma Linkname (Get_Host_By_Name, "gethostbyname");
2 --/ end if;

* Change 247
1 --//     pragma Linkname (Inet_Addr, "inet_addr");
-----
2 --/ if Cdf_Hpux then
2 --//     pragma Import_Function (Internal        => Inet_Addr,
2 --//                             External        => "_inet_addr",
2 --//                             Parameter_Types => (System.Address),
2 --//                             Mechanism       => (Value),
2 --//                             Result_Type     => Host_Id);
2 --/ elsif TeleGen2 then
2 --//pragma Linkname (Inet_Addr, "inet_addr");
2 --/ else
2 --//pragma Linkname (Inet_Addr, "inet_addr");
2 --/ end if;

* Change 261
1 --//     pragma Linkname (Read, "read");
-----
2 --/ if Cdf_Hpux then
2 --//     pragma Import_Function
2 --//        (Internal        => Read,
2 --//         External        => "_read",
2 --//         Parameter_Types => (Connection_Id, System.Address, S_Long),
2 --//         Mechanism       => (Value, Value, Value),
2 --//         Result_Type     => S_Long);
2 --/ elsif TeleGen2 then
2 --//pragma Linkname (Read, "read");
2 --/ else
2 --//pragma Linkname (Read, "read");
2 --/ end if;

* Change 277
1 --//     pragma Linkname (Write, "write");
-----
2 --/ if Cdf_Hpux then
2 --//     pragma Import_Function
2 --//        (Internal        => Write,
2 --//         External        => "_write",
2 --//         Parameter_Types => (Connection_Id, System.Address, S_Long),
2 --//         Mechanism       => (Value, Value, Value),
2 --//         Result_Type     => S_Long);
2 --/ elsif TeleGen2 then
2 --//pragma Linkname (Write, "write");
2 --/ else
2 --//pragma Linkname (Write, "write");
2 --/ end if;

* Change 294
1 --//     pragma Linkname (Unix_Select, "select");
-----
2 --/ if Cdf_Hpux then
2 --//     pragma Import_Function
2 --//        (Internal        => Unix_Select,
2 --//         External        => "_select",
2 --//         Parameter_Types => (S_Long, System.Address, System.Address,
2 --//                             System.Address, System.Address),
2 --//         Mechanism       => (Value, Value, Value, Value, Value),
2 --//         Result_Type     => S_Long);
2 --/ elsif TeleGen2 then
2 --//pragma Linkname (Unix_Select, "select");
2 --/ else
2 --//pragma Linkname (Unix_Select, "select");
2 --/ end if;

* Change 311
1 --//     pragma Linkname (Socket, "socket");
-----
2 --/ if Cdf_Hpux then
2 --//     pragma Import_Function (Internal        => Socket,
2 --//                             External        => "_socket",
2 --//                             Parameter_Types => (S_Long, S_Long, S_Long),
2 --//                             Mechanism       => (Value, Value, Value),
2 --//                             Result_Type     => Connection_Id);
2 --/ elsif TeleGen2 then
2 --//pragma Linkname (Socket, "socket");
2 --/ else
2 --//pragma Linkname (Socket, "socket");
2 --/ end if;
15:36:37 ::: [end of File_Utilities.Difference].
15:36:38 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:36:38 ... UNITS.IMI_PROCS.XLBIP_BASE_CONVERTERS'BODY'V(5)", "!X11.X_LIBRARY.
15:36:38 ... REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_BASE_CONVERTERS'BODY'V(1)",
15:36:38 ...  "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_BASE_CONVERTERS'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_BASE_CONVERTERS'BODY
* Change 33
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:36:40 ::: [end of File_Utilities.Difference].
15:36:41 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:36:41 ... UNITS.IMI_PROCS.XLBIP_BASE_CONVERTERS'SPEC'V(5)", "!X11.X_LIBRARY.
15:36:41 ... REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_BASE_CONVERTERS'SPEC'V(1)",
15:36:41 ...  "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_BASE_CONVERTERS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_BASE_CONVERTERS'SPEC
* Change 29
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 59..60
1     procedure To_Raw is new Convert_Array_To_Raw  
1                                (X_Atom, S_Natural, X_Atom_Array);
-----
2     procedure To_Raw is new Convert_Array_To_Raw (X_Atom,  
2                                                   S_Natural,  
2                                                   X_Atom_Array);

* Change 81
1 --//                                     Telegen2_2d_Bug,
-----
2 --//                                     TeleGen2_2d_Bug,

* Change 128..129
1     procedure To_Raw is new Convert_Array_To_Raw  
1                                (X_Key_Code, S_Natural, X_Key_Code_Array);
-----
2     procedure To_Raw is new Convert_Array_To_Raw (X_Key_Code,  
2                                                   S_Natural,  
2                                                   X_Key_Code_Array);

* Change 200..201
1     procedure To_Raw is new Convert_Array_To_Raw  
1                                (X_Pixel, S_Natural, X_Pixel_Array);
-----
2     procedure To_Raw is new Convert_Array_To_Raw (X_Pixel,  
2                                                   S_Natural,  
2                                                   X_Pixel_Array);

* Change 264..265
1     procedure To_Raw is new Convert_Array_To_Raw  
1                                (X_Character16, S_Natural, X_String16);
-----
2     procedure To_Raw is new Convert_Array_To_Raw (X_Character16,  
2                                                   S_Natural,  
2                                                   X_String16);

* Change 309..310
1     procedure To_Raw is new Convert_Array_To_Raw  
1                                (U_Char, S_Natural, U_Char_Array);
-----
2     procedure To_Raw is new Convert_Array_To_Raw (U_Char,  
2                                                   S_Natural,  
2                                                   U_Char_Array);
15:36:44 ::: [end of File_Utilities.Difference].
15:36:46 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:36:46 ... UNITS.IMI_PROCS.XLBIP_DEFAULT_PROC_VARS'BODY'V(5)", "!X11.
15:36:46 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.
15:36:46 ... XLBIP_DEFAULT_PROC_VARS'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_DEFAULT_PROC_VARS'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_DEFAULT_PROC_VARS'BODY
* Change 46
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:36:48 ::: [end of File_Utilities.Difference].
15:36:49 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:36:49 ... UNITS.IMI_PROCS.XLBIP_DEFAULT_PROC_VARS'SPEC'V(5)", "!X11.
15:36:49 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.
15:36:49 ... XLBIP_DEFAULT_PROC_VARS'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_DEFAULT_PROC_VARS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_DEFAULT_PROC_VARS'SPEC
* Change 21
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:36:51 ::: [end of File_Utilities.Difference].
15:36:52 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:36:52 ... UNITS.IMI_PROCS.XLBIP_ERROR_CONVERTERS'SPEC'V(5)", "!X11.
15:36:52 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.
15:36:52 ... XLBIP_ERROR_CONVERTERS'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_ERROR_CONVERTERS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_ERROR_CONVERTERS'SPEC
* Change 13
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:36:53 ::: [end of File_Utilities.Difference].
15:36:55 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:36:55 ... UNITS.IMI_PROCS.XLBIP_EVENT_CONVERTERS'SPEC'V(5)", "!X11.
15:36:55 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.
15:36:55 ... XLBIP_EVENT_CONVERTERS'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_EVENT_CONVERTERS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_EVENT_CONVERTERS'SPEC
* Change 13
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:36:57 ::: [end of File_Utilities.Difference].
15:36:58 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:36:58 ... UNITS.IMI_PROCS.XLBIP_GET_REPLY'SPEC'V(5)", "!X11.X_LIBRARY.
15:36:58 ... REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_GET_REPLY'SPEC'V(1)", "", 
15:36:58 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_GET_REPLY'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_GET_REPLY'SPEC
* Change 45
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:37:00 ::: [end of File_Utilities.Difference].
15:37:02 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:37:02 ... UNITS.IMI_PROCS.XLBIP_GRAPHIC_CONVERTERS'SPEC'V(5)", "!X11.
15:37:02 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.
15:37:02 ... XLBIP_GRAPHIC_CONVERTERS'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_GRAPHIC_CONVERTERS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_GRAPHIC_CONVERTERS'SPEC
* Change 17
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 46..47
1     procedure To_Raw is new Convert_Array_To_Raw  
1                                (X_Arc, S_Natural, X_Arc_Array);
-----
2     procedure To_Raw is new Convert_Array_To_Raw (X_Arc,  
2                                                   S_Natural,  
2                                                   X_Arc_Array);

* Delete 51..56
1 
1     procedure To_Raw is new Convert_Array_To_Raw  
1                                (X_Point, S_Natural, X_Point_Array);
1 
1 --    procedure To_Raw is
1 --       new Convert_Private_To_Raw (X_Rectangle);

* Change 58..59
1     procedure To_Raw is new Convert_Array_To_Raw  
1                                (X_Rectangle, S_Natural, X_Rectangle_Array);
-----
2     procedure To_Raw is new Convert_Array_To_Raw (X_Point,  
2                                                   S_Natural,  
2                                                   X_Point_Array);
2 --
2     procedure To_Raw is  
2        new Convert_Private_To_Raw (X_Rectangle);

* Change 61..62
1 --    procedure To_Raw is
1 --       new Convert_Private_To_Raw (X_Segment);
-----
2     procedure To_Raw is new Convert_Array_To_Raw (X_Rectangle,  
2                                                   S_Natural,  
2                                                   X_Rectangle_Array);
2 --
2     procedure To_Raw is new Convert_Private_To_Raw (X_Segment);

* Change 64..65
1     procedure To_Raw is new Convert_Array_To_Raw  
1                                (X_Segment, S_Natural, X_Segment_Array);
-----
2     procedure To_Raw is new Convert_Array_To_Raw (X_Segment,  
2                                                   S_Natural,  
2                                                   X_Segment_Array);
15:37:03 ::: [end of File_Utilities.Difference].
15:37:04 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:37:04 ... UNITS.IMI_PROCS.XLBIP_IMAGE_INTERNAL'BODY'V(5)", "!X11.X_LIBRARY.
15:37:04 ... REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_IMAGE_INTERNAL'BODY'V(1)", 
15:37:04 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_IMAGE_INTERNAL'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_IMAGE_INTERNAL'BODY
* Change 31
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:37:12 ::: [end of File_Utilities.Difference].
15:37:13 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:37:13 ... UNITS.IMI_PROCS.XLBIP_IMAGE_INTERNAL'SPEC'V(5)", "!X11.X_LIBRARY.
15:37:13 ... REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_IMAGE_INTERNAL'SPEC'V(1)", 
15:37:13 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_IMAGE_INTERNAL'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_IMAGE_INTERNAL'SPEC
* Change 15
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:37:15 ::: [end of File_Utilities.Difference].
15:37:16 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:37:16 ... UNITS.IMI_PROCS.XLBIP_INTERNAL'BODY'V(5)", "!X11.X_LIBRARY.
15:37:16 ... REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_INTERNAL'BODY'V(1)", "", 
15:37:16 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_INTERNAL'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_INTERNAL'BODY
* Insert after 31
2 with Xlbt_Univ_Ptr;  
2 use Xlbt_Univ_Ptr;  

* Change 64
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 100..104
1 --//         if Display.Lock.Flop = 0 then
1 --//             Display.Lock.Flop := 1;
1 --//         else
1 --//             raise X_Library_Confusion;
1 --//         end if;
-----
2 --//        if Display.Lock.flop = 0 then
2 --//            Display.Lock.Flop := 1;
2 --//        else
2 --//            raise X_Library_Confusion;
2 --//        end if;

* Change 116..120
1 --//         if Display.Lock.Flop = 1 then
1 --//             Display.Lock.Flop := 0;
1 --//         else
1 --//             raise X_Library_Confusion;
1 --//         end if;
-----
2 --//        if Display.Lock.Flop = 1 then
2 --//            Display.Lock.Flop := 0;
2 --//        else
2 --//            raise X_Library_Confusion;
2 --//        end if;

* Delete 196
1         Display.Last_Request.Empty := True;  

* Change 203..231
1                 declare  
1                     Req : X_Fill_Poly_Request := Display.Last_Request.Fp_Req;  
1                     Elements : constant S_Natural := S_Natural (Req.Length);  
1                     Words : constant S_Natural :=  
1                        Elements * (X_Point'Size / 32);  
1                 begin  
1                     Req.Length := X_Fill_Poly_Request'Size / 32 +  
1                                      U_Short (Words);  
1                     Put_X_Fill_Poly_Request (Display,  
1                                              Req,  
1                                              4 * Words);  
1                     Put_X_Point_Array  
1                        (Display, Display.Last_Request.Fp_Ary (1 .. Elements));  
1                 end;
1 
1             when Poly_Arc =>  
1                 declare  
1                     Req : X_Poly_Arc_Request := Display.Last_Request.Pa_Req;  
1                     Elements : constant S_Natural := S_Natural (Req.Length);  
1                     Words : constant S_Natural := Elements * (X_Arc'Size / 32);  
1                 begin  
1                     Req.Length := X_Poly_Arc_Request'Size / 32 +  
1                                      U_Short (Words);  
1                     Put_X_Poly_Arc_Request (Display,  
1                                             Req,  
1                                             4 * Words);  
1                     Put_X_Arc_Array (Display, Display.Last_Request.Pa_Ary  
1                                                  (1 .. Elements));  
1                 end;
-----
2                 Put_X_Fill_Poly_Request  
2                    (Display     => Display,  
2                     Req         => Display.Last_Request.Fill_Poly_Req,  
2                     Reservation => Display.Last_Request.Request_Position);

* Change 234..247
1                 declare  
1                     Req : X_Poly_Fill_Arc_Request :=  
1                        Display.Last_Request.Fa_Req;  
1                     Elements : constant S_Natural := S_Natural (Req.Length);  
1                     Words : constant S_Natural := Elements * (X_Arc'Size / 32);  
1                 begin  
1                     Req.Length := X_Poly_Fill_Arc_Request'Size / 32 +  
1                                      U_Short (Words);  
1                     Put_X_Poly_Fill_Arc_Request (Display,  
1                                                  Req,  
1                                                  4 * Words);  
1                     Put_X_Arc_Array (Display, Display.Last_Request.Fa_Ary  
1                                                  (1 .. Elements));  
1                 end;
-----
2                 Put_X_Poly_Fill_Arc_Request  
2                    (Display     => Display,  
2                     Req         => Display.Last_Request.Poly_Fill_Arc_Req,  
2                     Reservation => Display.Last_Request.Request_Position);

* Change 250..263
1                 declare  
1                     Req : X_Poly_Line_Request := Display.Last_Request.Pl_Req;  
1                     Elements : constant S_Natural := S_Natural (Req.Length);  
1                     Words : constant S_Natural :=  
1                        Elements * (X_Point'Size / 32);  
1                 begin  
1                     Req.Length := X_Poly_Line_Request'Size / 32 +  
1                                      U_Short (Words);  
1                     Put_X_Poly_Line_Request (Display,  
1                                              Req,  
1                                              4 * Words);  
1                     Put_X_Point_Array  
1                        (Display, Display.Last_Request.Pl_Ary (1 .. Elements));  
1                 end;
-----
2                 Put_X_Poly_Line_Request  
2                    (Display     => Display,  
2                     Req         => Display.Last_Request.Poly_Line_Req,  
2                     Reservation => Display.Last_Request.Request_Position);

* Change 266..279
1                 declare  
1                     Req : X_Poly_Point_Request := Display.Last_Request.Pp_Req;  
1                     Elements : constant S_Natural := S_Natural (Req.Length);  
1                     Words : constant S_Natural :=  
1                        Elements * (X_Point'Size / 32);  
1                 begin  
1                     Req.Length := X_Poly_Point_Request'Size / 32 +  
1                                      U_Short (Words);  
1                     Put_X_Poly_Point_Request (Display,  
1                                               Req,  
1                                               4 * Words);  
1                     Put_X_Point_Array  
1                        (Display, Display.Last_Request.Pp_Ary (1 .. Elements));  
1                 end;
-----
2                 Put_X_Poly_Point_Request
2                    (Display     => Display,  
2                     Req         => Display.Last_Request.Poly_Point_Req,  
2                     Reservation => Display.Last_Request.Request_Position);

* Change 282..296
1                 declare  
1                     Req      : X_Poly_Rectangle_Request :=  
1                        Display.Last_Request.Pr_Req;  
1                     Elements : constant S_Natural := S_Natural (Req.Length);  
1                     Words    : constant S_Natural :=  
1                        Elements * (X_Rectangle'Size / 32);  
1                 begin  
1                     Req.Length := X_Poly_Rectangle_Request'Size / 32 +  
1                                      U_Short (Words);  
1                     Put_X_Poly_Rectangle_Request (Display,  
1                                                   Req,  
1                                                   4 * Words);  
1                     Put_X_Rectangle_Array  
1                        (Display, Display.Last_Request.Pr_Ary (1 .. Elements));  
1                 end;
-----
2                 Put_X_Poly_Rectangle_Request
2                    (Display     => Display,  
2                     Req         => Display.Last_Request.Poly_Rectangle_Req,  
2                     Reservation => Display.Last_Request.Request_Position);

* Change 299..313
1                 declare  
1                     Req      : X_Poly_Fill_Rectangle_Request :=  
1                        Display.Last_Request.Fr_Req;  
1                     Elements : constant S_Natural := S_Natural (Req.Length);  
1                     Words    : constant S_Natural :=  
1                        Elements * (X_Rectangle'Size / 32);  
1                 begin  
1                     Req.Length := X_Poly_Fill_Rectangle_Request'Size / 32 +  
1                                      U_Short (Words);  
1                     Put_X_Poly_Fill_Rectangle_Request (Display,  
1                                                        Req,  
1                                                        4 * Words);  
1                     Put_X_Rectangle_Array  
1                        (Display, Display.Last_Request.Fr_Ary (1 .. Elements));  
1                 end;
-----
2                 Put_X_Poly_Fill_Rectangle_Request
2                    (Display     => Display,  
2                     Req         => Display.Last_Request.Poly_Fill_Rectangle_Req,  
2                     Reservation => Display.Last_Request.Request_Position);

* Change 316..329
1                 declare  
1                     Req : X_Poly_Segment_Request := Display.Last_Request.Ps_Req;  
1                     Elements : constant S_Natural := S_Natural (Req.Length);  
1                     Words : constant S_Natural :=  
1                        Elements * (X_Segment'Size / 32);  
1                 begin  
1                     Req.Length := X_Poly_Segment_Request'Size / 32 +  
1                                      U_Short (Words);  
1                     Put_X_Poly_Segment_Request (Display,  
1                                                 Req,  
1                                                 4 * Words);  
1                     Put_X_Segment_Array  
1                        (Display, Display.Last_Request.Ps_Ary (1 .. Elements));  
1                 end;
-----
2                 Put_X_Poly_Segment_Request
2                    (Display     => Display,  
2                     Req         => Display.Last_Request.Poly_Segment_Req,  
2                     Reservation => Display.Last_Request.Request_Position);

* Change 349
1         Display.Last_Request := (Kind => Invalid_Request, Empty => True);
-----
2         Display.Last_Request.Kind := Invalid_Request;

* Change 429..430
1         if Display.Database /= None_X_Rm_Database then  
1             Free_X_Rm_Database (Display.Database);  
-----
2         if Display.Database /= None_X_Universal_Pointer then  
2             Univ_X_Rm_Database.Free_Both_X_Universal_Pointer (Display.Database);  

* Change 455..457
1         if Display.Contexts /= null then  
1             Free_X_Context_Hash_List (Display.Contexts);  
1         end if;
-----
2 --/ if OLD_CONTEXT_MANAGER then
2 --//         if Display.Contexts /= None_X_Universal_Pointer then
2 --//             Univ_X_Context_Hash_List.Free_Both_X_Universal_Pointer
2 --//                (Display.Contexts);
2 --//         end if;
2 --/ end if;

* Insert after 643
2                         raise X_Network_Io_Error;
15:37:22 ::: [end of File_Utilities.Difference].
15:37:23 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:37:23 ... UNITS.IMI_PROCS.XLBIP_INTERNAL'SPEC'V(5)", "!X11.X_LIBRARY.
15:37:23 ... REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_INTERNAL'SPEC'V(1)", "", 
15:37:23 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_INTERNAL'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_INTERNAL'SPEC
* Change 18
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:37:24 ::: [end of File_Utilities.Difference].
15:37:26 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:37:26 ... UNITS.IMI_PROCS.XLBIP_PUT_REQUEST'SPEC'V(5)", "!X11.X_LIBRARY.
15:37:26 ... REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_PUT_REQUEST'SPEC'V(1)", "",
15:37:26 ...  TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_PUT_REQUEST'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_PUT_REQUEST'SPEC
* Change 43
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 197
2 
2     procedure Put_X_Fill_Poly_Request is  
2        new Place_Reserved_Request (X_Fill_Poly_Request,  
2                                    To_Raw);
2 
2     procedure Reserve_X_Fill_Poly_Request is  
2        new Reserve_Request_Large_1d (X_Fill_Poly_Request,  
2                                      X_Point,  
2                                      S_Natural,  
2                                      X_Point_Array,  
2                                      To_Raw,  
2                                      To_Raw);

* Insert after 373
2 
2     procedure Put_X_Poly_Fill_Arc_Request is  
2        new Place_Reserved_Request (X_Poly_Fill_Arc_Request,  
2                                    To_Raw);
2 
2     procedure Reserve_X_Poly_Fill_Arc_Request is  
2        new Reserve_Request_Large_1d (X_Poly_Fill_Arc_Request,  
2                                      X_Arc,  
2                                      S_Natural,  
2                                      X_Arc_Array,  
2                                      To_Raw,  
2                                      To_Raw);

* Insert after 377
2 
2     procedure Put_X_Poly_Fill_Rectangle_Request is  
2        new Place_Reserved_Request (X_Poly_Fill_Rectangle_Request,  
2                                    To_Raw);
2 
2     procedure Reserve_X_Poly_Fill_Rectangle_Request is  
2        new Reserve_Request_Large_1d (X_Poly_Fill_Rectangle_Request,  
2                                      X_Rectangle,  
2                                      S_Natural,  
2                                      X_Rectangle_Array,  
2                                      To_Raw,  
2                                      To_Raw);

* Insert after 381
2 
2     procedure Put_X_Poly_Line_Request is  
2        new Place_Reserved_Request (X_Poly_Line_Request,  
2                                    To_Raw);
2 
2     procedure Reserve_X_Poly_Line_Request is  
2        new Reserve_Request_Large_1d (X_Poly_Line_Request,  
2                                      X_Point,  
2                                      S_Natural,  
2                                      X_Point_Array,  
2                                      To_Raw,  
2                                      To_Raw);

* Insert after 385
2 
2     procedure Put_X_Poly_Point_Request is  
2        new Place_Reserved_Request (X_Poly_Point_Request,  
2                                    To_Raw);
2 
2     procedure Reserve_X_Poly_Point_Request is  
2        new Reserve_Request_Large_1d (X_Poly_Point_Request,  
2                                      X_Point,  
2                                      S_Natural,  
2                                      X_Point_Array,  
2                                      To_Raw,  
2                                      To_Raw);

* Insert after 389
2 
2     procedure Put_X_Poly_Rectangle_Request is  
2        new Place_Reserved_Request (X_Poly_Rectangle_Request,  
2                                    To_Raw);
2 
2     procedure Reserve_X_Poly_Rectangle_Request is  
2        new Reserve_Request_Large_1d (X_Poly_Rectangle_Request,  
2                                      X_Rectangle,  
2                                      S_Natural,  
2                                      X_Rectangle_Array,  
2                                      To_Raw,  
2                                      To_Raw);

* Insert after 393
2 
2     procedure Put_X_Poly_Segment_Request is  
2        new Place_Reserved_Request (X_Poly_Segment_Request,  
2                                    To_Raw);
2 
2     procedure Reserve_X_Poly_Segment_Request is  
2        new Reserve_Request_Large_1d (X_Poly_Segment_Request,  
2                                      X_Segment,  
2                                      S_Natural,  
2                                      X_Segment_Array,  
2                                      To_Raw,  
2                                      To_Raw);

* Insert after 672
2 
2     procedure Put_X_Rectangle is  
2        new Put_Data_Private (X_Rectangle,  
2                              To_Raw);

* Insert after 678
2 
2     procedure Put_X_Segment is  
2        new Put_Data_Private (X_Segment,  
2                              To_Raw);

* Change 698
1 --
-----
2 
15:37:32 ::: [end of File_Utilities.Difference].
15:37:33 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:37:33 ... UNITS.IMI_PROCS.XLBIP_REPLY_CONVERTERS'SPEC'V(5)", "!X11.
15:37:33 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.
15:37:33 ... XLBIP_REPLY_CONVERTERS'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_REPLY_CONVERTERS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_REPLY_CONVERTERS'SPEC
* Change 15
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:37:35 ::: [end of File_Utilities.Difference].
15:37:36 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:37:36 ... UNITS.IMI_PROCS.XLBIP_REQUEST_CONVERTERS'SPEC'V(5)", "!X11.
15:37:36 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.
15:37:36 ... XLBIP_REQUEST_CONVERTERS'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_REQUEST_CONVERTERS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_REQUEST_CONVERTERS'SPEC
* Change 13
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:37:39 ::: [end of File_Utilities.Difference].
15:37:40 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:37:40 ... UNITS.IMI_PROCS.XLBIP_STRING_MAP_GENERIC'BODY'V(5)", "!X11.
15:37:40 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.
15:37:40 ... XLBIP_STRING_MAP_GENERIC'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_STRING_MAP_GENERIC'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_STRING_MAP_GENERIC'BODY
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 34
2 -- * 21-JAN-91 - /GEB/ Add the Find_Ptr, Insert_Ptr, and Key_Ptr routines.

* Change 40
1     type Elem_Rec (Length : Index) is  
-----
2     type Elem_Rec is  

* Change 45
1             Key  : String (1 .. Length);  
-----
2             Key  : String_Pointer;  

* Insert after 57
2 

* Insert after 58
2     procedure Free_String_Pointer is  
2        new Unchecked_Deallocation (String,  
2                                    String_Pointer);

* Change 206
1                     if El.Key = Key then  
-----
2                     if El.Key.all = Key then  

* Change 211
1                     if Equal (Key, El.Key) then  
-----
2                     if Equal (Key, El.Key.all) then  

* Insert after 268
2                     Free_String_Pointer (Elem1.Key);  

* Insert after 324
2 ------------------------------------------------------------------------------
2         H    : S_Long  := Hash (Key);  
2         Prev : Element;  
2         Elem : Element := M.Table (H rem S_Long (Hash_Size));  
2     begin
2 
2 ----Lookup the entry in the table with this hash value.
2 
2         Lookup (H, Key, Prev, Elem);  
2         if Elem /= null then  
2             Rt     := Elem.Rt;  
2             Status := True;  
2             return;  
2         end if;
2 
2 ----We did not find the Key in the map.
2 
2         Status := False;
2 
2     end Find;
2 
2 --
2     procedure Find (M      : in     Map;  
2                     Key    : in     String;  
2                     Ptr    : in out String_Pointer;  
2                     Rt     : in out Range_Type;  
2                     Status : out    Boolean) is
2 ------------------------------------------------------------------------------
2 --  M       - Specifies the map to use
2 --  Key     - Specifies the string value to use for the lookup
2 --  Ptr     - Receives the string pointer from the map or is unchanged
2 --  Rt      - Receives the Range_Type value from the map or is unchanged
2 --  Status  - Receives TRUE if the Key was found and FALSE if not
2 --
2 -- Called to perform a lookup within the map.  If the Key string is found
2 -- within the map then the associated Range_Type value is returned and
2 -- Status is set to TRUE.  If the Key string is not found then Status is
2 -- set to FALSE and the Rt parameter remains unchanged.  (Beware of
2 -- uninitialized locals being passed to Find; they will often be the cause
2 -- of Constraint_Errors.)  Do not free the Ptr value returned by a successful
2 -- lookup.  It is shared by the map and deallocating it will cause
2 -- unpredicatble program behavior.

* Insert after 335
2             Ptr    := Elem.Key;  

* Insert after 344
2 
2 
2 --
2     procedure Find_Ptr (M      : in     Map;  
2                         Key    : in out String_Pointer;  
2                         Rt     : in out Range_Type;  
2                         Status : out    Boolean) is
2 ------------------------------------------------------------------------------
2 --  M      - Specifies the map to use
2 --  Key    - Specifies the string value to use for the lookup
2 --  Rt     - Receives the Range_Type value from the map or is unchanged
2 --  Status - Receives TRUE if the Key was found and FALSE if not
2 --
2 -- Called to perform a lookup within the map.  If the Key string is found
2 -- within the map then the associated Range_Type value is returned and
2 -- Status is set to TRUE.  If the Key string is not found then Status is
2 -- set to FALSE and the Rt parameter remains unchanged.  (Beware of
2 -- uninitialized locals being passed to Find; they will often be the cause
2 -- of Constraint_Errors.)
2 ------------------------------------------------------------------------------
2         H    : S_Long  := Hash (Key.all);  
2         Prev : Element;  
2         Elem : Element := M.Table (H rem S_Long (Hash_Size));  
2     begin
2 
2 ----Lookup the entry in the table with this hash value.
2 
2         Lookup (H, Key.all, Prev, Elem);  
2         if Elem /= null then  
2             Rt     := Elem.Rt;  
2             Key    := Elem.Key;  
2             Status := True;  
2             return;  
2         end if;
2 
2 ----We did not find the Key in the map.
2 
2         Status := False;
2 
2     end Find_Ptr;

* Insert after 402
2                 return;  
2             else  
2                 raise Duplicate_Entry;  
2             end if;  
2         end if;
2 
2 ----Create a new map element and put it into the map.
2 
2         declare  
2             New_Elem : Elem_Rec;  
2         begin  
2             New_Elem.Hash := H;  
2             New_Elem.Key  := new String'(Key);  
2             New_Elem.Rt   := Rt;  
2             Elem          := new Elem_Rec'(New_Elem);  
2         end;  
2         H           := H rem S_Long (Hash_Size);  
2         Elem.Next   := M.Table (H);  
2         M.Table (H) := Elem;  
2         M.Count     := M.Count + 1;
2 
2 ----If not matching on case of characters then make the Key string upper case.
2 
2         if not Exact_Case_Match then  
2             for I in Elem.Key'Range loop  
2                 if Elem.Key (I) in  
2                    Character'Val (Standard.Character'Pos ('a')) ..  
2                       Character'Val (Standard.Character'Pos ('z')) then  
2                     Elem.Key (I) :=  
2                        Character'Val  
2                           (Character'Pos (Elem.Key (I)) -  
2                            (Standard.Character'Pos ('a') -  
2                             Standard.Character'Pos ('A')));  
2                 end if;  
2             end loop;  
2         end if;
2 
2     end Insert;
2 
2 --
2     procedure Insert_Ptr (M       : in Map;  
2                           Key     : in String_Pointer;  
2                           Rt      : in Range_Type;  
2                           Dups_Ok : in Boolean := False) is
2 ------------------------------------------------------------------------------
2 --  M       - Specifies the map to use
2 --  Key     - Specifies the string value to use for the insertion
2 --  Rt      - Specifies the Range_Type value to be placed into the map
2 --  Dups_Ok - Specifies TRUE if the new entry is allowed to replace an
2 --              existing entry.
2 --
2 -- Called to insert a new Range_Type value into the map.  If Dups_Ok => FALSE
2 -- then a pre-existing map entry with the same Key value will cause
2 -- Duplicate_Entry to be raised.
2 ------------------------------------------------------------------------------
2         H    : S_Long  := Hash (Key.all);  
2         Prev : Element;  
2         Elem : Element := M.Table (H rem S_Long (Hash_Size));  
2     begin
2 
2 ----Lookup the entry in the table with this hash value.  Replace any existing
2 --  entry if that is ok.
2 
2         Lookup (H, Key.all, Prev, Elem);  
2         if Elem /= null then  
2             if Dups_Ok then  
2                 Free_String_Pointer (Elem.Key);  
2                 Elem.Key := Key;  
2                 Elem.Rt  := Rt;  

* Change 412
1             New_Elem : Elem_Rec (Key'Length);  
-----
2             New_Elem : Elem_Rec;  

* Change 440
1     end Insert;
-----
2     end Insert_Ptr;

* Insert after 468
2             Free_String_Pointer (Elem.Key);  

* Insert after 517
2             Free_String_Pointer (Elem.Key);  

* Insert after 662
2 ------------------------------------------------------------------------------
2 --  I   - Specifies the iterator to check
2 --
2 -- Returns the string key associated with the current value of the
2 -- map iterator.  Raises Missing_Entry if Done(I) = TRUE.
2 ------------------------------------------------------------------------------
2     begin
2 
2         if I.Elem = null then  
2             raise Missing_Entry;  
2         end if;  
2         return I.Elem.Key.all;
2 
2     end Key;
2 
2 --
2     function Key_Ptr (I : in Iter) return String_Pointer is

* Change 676
1     end Key;
-----
2     end Key_Ptr;
15:37:47 ::: [end of File_Utilities.Difference].
15:37:48 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:37:48 ... UNITS.IMI_PROCS.XLBIP_STRING_MAP_GENERIC'SPEC'V(5)", "!X11.
15:37:48 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.
15:37:48 ... XLBIP_STRING_MAP_GENERIC'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_STRING_MAP_GENERIC'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_STRING_MAP_GENERIC'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 30..32
1     type Character is (<>);  
1     type Index     is range <>;  
1     type String    is array (Index range <>) of Character;
-----
2     type Character      is (<>);  
2     type Index          is range <>;  
2     type String         is array (Index range <>) of Character;  
2     type String_Pointer is access String;

* Insert after 131
2 ------------------------------------------------------------------------------
2 
2     procedure Find (M      : in     Map;  
2                     Key    : in     String;  
2                     Ptr    : in out String_Pointer;  
2                     Rt     : in out Range_Type;  
2                     Status : out    Boolean);
2 ------------------------------------------------------------------------------
2 --  M       - Specifies the map to use
2 --  Key     - Specifies the string value to use for the lookup
2 --  Ptr     - Receives the string pointer from the map or is unchanged
2 --  Rt      - Receives the Range_Type value from the map or is unchanged
2 --  Status  - Receives TRUE if the Key was found and FALSE if not
2 --
2 -- Called to perform a lookup within the map.  If the Key string is found
2 -- within the map then the associated Range_Type value is returned and
2 -- Status is set to TRUE.  If the Key string is not found then Status is
2 -- set to FALSE and the Rt parameter remains unchanged.  (Beware of
2 -- uninitialized locals being passed to Find; they will often be the cause
2 -- of Constraint_Errors.)  Do not free the Ptr value returned by a successful
2 -- lookup.  It is shared by the map and deallocating it will cause
2 -- unpredicatble program behavior.
2 ------------------------------------------------------------------------------
2 
2     procedure Find_Ptr (M      : in     Map;  
2                         Key    : in out String_Pointer;  
2                         Rt     : in out Range_Type;  
2                         Status : out    Boolean);
2 ------------------------------------------------------------------------------
2 --  M       - Specifies the map to use
2 --  Key     - Specifies the string value to use for the lookup
2 --  Rt      - Receives the Range_Type value from the map or is unchanged
2 --  Status  - Receives TRUE if the Key was found and FALSE if not
2 --
2 -- Called to perform a lookup within the map.  If the Key string is found
2 -- within the map then the associated Range_Type value and the String_Pointer
2 -- used by the map are returned and Status is set to TRUE.  If the Key string
2 -- is not found then Status is set to FALSE and the Key and Rt parameters
2 -- remain unchanged.  (Beware of uninitialized locals being passed to Find;
2 -- they will often be the cause of Constraint_Errors.)  Do not free the
2 -- Key value returned by a successful lookup.  It is shared by the map and
2 -- deallocating it will cause unpredicatble program behavior.

* Insert after 158
2 ------------------------------------------------------------------------------
2 
2     procedure Insert_Ptr (M       : in Map;  
2                           Key     : in String_Pointer;  
2                           Rt      : in Range_Type;  
2                           Dups_Ok : in Boolean := False);
2 ------------------------------------------------------------------------------
2 --  M       - Specifies the map to use
2 --  Key     - Specifies the string value to use for the insertion
2 --  Rt      - Specifies the Range_Type value to be placed into the map
2 --  Dups_Ok - Specifies TRUE if the new entry is allowed to replace an
2 --              existing entry.
2 --
2 -- Called to insert a new Range_Type value into the map.  If Dups_Ok => FALSE
2 -- then a pre-existing map entry with the same Key value will cause
2 -- Duplicate_Entry to be raised.  If there is no preexisting entry, then a new
2 -- entry is made and the Key value is stored into the map.  Note: This means
2 -- that the application must not free this string value or the program
2 -- will behave unpredicatably.

* Insert after 255
2 ------------------------------------------------------------------------------
2 
2     function Key_Ptr (I : in Iter) return String_Pointer;
2 ------------------------------------------------------------------------------
2 --  I   - Specifies the iterator to check
2 --
2 -- Returns the stored String_Pointer key associated with the current value of
2 -- the map iterator.  Raises Missing_Entry if Done(I) = TRUE.  This value
2 -- belongs to the map; do not deallocate it or the program will behave
2 -- unpredictably.

* Change 284
1     type Elem_Rec (Length : Index);  
-----
2     type Elem_Rec;  
15:37:52 ::: [end of File_Utilities.Difference].
15:37:54 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:37:54 ... UNITS.IMI_PROCS.XLBIP_WIRE_CONVERTERS'BODY'V(5)", "!X11.X_LIBRARY.
15:37:54 ... REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_WIRE_CONVERTERS'BODY'V(1)",
15:37:54 ...  "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_WIRE_CONVERTERS'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_WIRE_CONVERTERS'BODY
* Change 42
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 288
1                 Evx.Window := Evx.Selection_Clear.Window;  
-----
2                 Evx.Window := Evx.Selection_Clear.Owner;  
15:38:00 ::: [end of File_Utilities.Difference].
15:38:01 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:38:01 ... UNITS.IMI_PROCS.XLBIP_WIRE_CONVERTERS'SPEC'V(5)", "!X11.X_LIBRARY.
15:38:01 ... REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_WIRE_CONVERTERS'SPEC'V(1)",
15:38:01 ...  "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_PROCS.XLBIP_WIRE_CONVERTERS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_PROCS.XLBIP_WIRE_CONVERTERS'SPEC
* Change 22
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:38:02 ::: [end of File_Utilities.Difference].
15:38:04 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:38:04 ... UNITS.IMI_TYPES.XLBIT_HINT2'SPEC'V(5)", "!X11.X_LIBRARY.
15:38:04 ... REV6_0_0_WORKING.UNITS.IMI_TYPES.XLBIT_HINT2'SPEC'V(1)", "", TRUE,
15:38:04 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_TYPES.XLBIT_HINT2'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_TYPES.XLBIT_HINT2'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:38:04 ::: [end of File_Utilities.Difference].
15:38:06 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:38:06 ... UNITS.IMI_TYPES.XLBIT_HINT3'SPEC'V(5)", "!X11.X_LIBRARY.
15:38:06 ... REV6_0_0_WORKING.UNITS.IMI_TYPES.XLBIT_HINT3'SPEC'V(1)", "", TRUE,
15:38:06 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_TYPES.XLBIT_HINT3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_TYPES.XLBIT_HINT3'SPEC
* Change 17
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 95..96
1 --//     for X_Size_Hints_Protocol
1 --//          use
-----
2 --//     for X_Size_Hints_Protocol use
15:38:07 ::: [end of File_Utilities.Difference].
15:38:09 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:38:09 ... UNITS.IMI_TYPES.XLBIT_LIBRARY2'BODY'V(5)", "!X11.X_LIBRARY.
15:38:09 ... REV6_0_0_WORKING.UNITS.IMI_TYPES.XLBIT_LIBRARY2'BODY'V(1)", "", 
15:38:09 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_TYPES.XLBIT_LIBRARY2'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_TYPES.XLBIT_LIBRARY2'BODY
* Change 40
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:38:10 ::: [end of File_Utilities.Difference].
15:38:11 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:38:11 ... UNITS.IMI_TYPES.XLBIT_LIBRARY2'SPEC'V(5)", "!X11.X_LIBRARY.
15:38:11 ... REV6_0_0_WORKING.UNITS.IMI_TYPES.XLBIT_LIBRARY2'SPEC'V(1)", "", 
15:38:11 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_TYPES.XLBIT_LIBRARY2'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_TYPES.XLBIT_LIBRARY2'SPEC
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:38:12 ::: [end of File_Utilities.Difference].
15:38:14 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:38:14 ... UNITS.IMI_TYPES.XLBIT_LIBRARY3'BODY'V(4)", "!X11.X_LIBRARY.
15:38:14 ... REV6_0_0_WORKING.UNITS.IMI_TYPES.XLBIT_LIBRARY3'BODY'V(1)", "", 
15:38:14 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_TYPES.XLBIT_LIBRARY3'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_TYPES.XLBIT_LIBRARY3'BODY
* Change 32
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:38:19 ::: [end of File_Utilities.Difference].
15:38:21 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:38:21 ... UNITS.IMI_TYPES.XLBIT_LIBRARY3'SPEC'V(4)", "!X11.X_LIBRARY.
15:38:21 ... REV6_0_0_WORKING.UNITS.IMI_TYPES.XLBIT_LIBRARY3'SPEC'V(1)", "", 
15:38:21 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_TYPES.XLBIT_LIBRARY3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_TYPES.XLBIT_LIBRARY3'SPEC
* Change 17
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:38:24 ::: [end of File_Utilities.Difference].
15:38:26 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:38:26 ... UNITS.IMI_TYPES.XLBIT_LIBRARY4'SPEC'V(5)", "!X11.X_LIBRARY.
15:38:26 ... REV6_0_0_WORKING.UNITS.IMI_TYPES.XLBIT_LIBRARY4'SPEC'V(1)", "", 
15:38:26 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_TYPES.XLBIT_LIBRARY4'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_TYPES.XLBIT_LIBRARY4'SPEC
* Insert after 2
2 with Xlbt_Display3;  
2 use Xlbt_Display3;  

* Change 23
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 53
2                                      String_Pointer   => X_String_Pointer,  
15:38:27 ::: [end of File_Utilities.Difference].
15:38:29 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:38:29 ... UNITS.IMI_TYPES.XLBIT_UNUSED'SPEC'V(5)", "!X11.X_LIBRARY.
15:38:29 ... REV6_0_0_WORKING.UNITS.IMI_TYPES.XLBIT_UNUSED'SPEC'V(1)", "", 
15:38:29 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.IMI_TYPES.XLBIT_UNUSED'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.IMI_TYPES.XLBIT_UNUSED'SPEC
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:38:30 ::: [end of File_Utilities.Difference].
15:38:34 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:38:34 ... UNITS.MISC.FAKE_MAIN'BODY'V(1)", "!X11.X_LIBRARY.REV6_0_0_WORKING.
15:38:34 ... UNITS.MISC.FAKE_MAIN'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.MISC.FAKE_MAIN'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.MISC.FAKE_MAIN'BODY
* Change 1..159
1 with Xlib;
1 with Xlbmp_Debugger;
1 with Xlbmp_Environment;
1 with Xlbmp_Error_Log;
1 with Xlbmp_Generic_Converters;
1 with Xlbmp_Get;
1 with Xlbmp_Internal;
1 with Xlbmp_Network_Interface;
1 with Xlbmp_Put;
1 with Xlbmt_Network_Types;
1 with Xlbmt_Numeric_Types;
1 with Xlbmt_Parameters;
1 with Xlbmt_Transport_Defs;
1 with Xlbip_Base_Converters;
1 with Xlbip_Default_Proc_Vars;
1 with Xlbip_Error_Converters;
1 with Xlbip_Event_Converters;
1 with Xlbip_Get_Reply;
1 with Xlbip_Graphic_Converters;
1 with Xlbip_Image_Internal;
1 with Xlbip_Internal;
1 with Xlbip_Put_Request;
1 with Xlbip_Reply_Converters;
1 with Xlbip_Request_Converters;
1 with Xlbip_Wire_Converters;
1 with Xlbit_Hint2;
1 with Xlbit_Hint3;
1 with Xlbit_Library2;
1 with Xlbit_Library3;
1 with Xlbit_Unused;
1 with Xlbp_Proc_Var;
1 with Xlbp_U_Char_Converters;
1 with Xlbp_U_Char_Generics;
1 with Xlbt_Proc_Var;
1 with Xlbt_Univ_Ptr;
1 with Xlbp_Atom;
1 with Xlbp_Bitmap;
1 with Xlbp_Color;
1 with Xlbp_Context_Manager;
1 with Xlbp_Cursor;
1 with Xlbp_Cut_Buffer;
1 with Xlbp_Display;
1 with Xlbp_Error;
1 with Xlbp_Event;
1 with Xlbp_Extension;
1 with Xlbp_Font;
1 with Xlbp_Font_Names;
1 with Xlbp_Gc;
1 with Xlbp_Geometry;
1 with Xlbp_Grab;
1 with Xlbp_Graphics;
1 with Xlbp_Hint;
1 with Xlbp_Host;
1 with Xlbp_Image;
1 with Xlbp_Input_Focus;
1 with Xlbp_Key;
1 with Xlbp_Keyboard_Control;
1 with Xlbp_Keyboard_Encoding;
1 with Xlbp_Pixmap;
1 with Xlbp_Pointer_Control;
1 with Xlbp_Pointer_Motion;
1 with Xlbp_Region;
1 with Xlbp_Rm;
1 with Xlbp_Rm_Name;
1 with Xlbp_Rm_Quark;
1 with Xlbp_Screen_Saver;
1 with Xlbp_Selection;
1 with Xlbp_Sync;
1 with Xlbp_Text16;
1 with Xlbp_Text;
1 with Xlbp_Visual;
1 with Xlbp_Window;
1 with Xlbp_Window_Information;
1 with Xlbp_Window_Property;
1 with Xlbt_Arithmetic;
1 with Xlbt_Atom_Defs;
1 with Xlbt_Basic;
1 with Xlbt_Basic2;
1 with Xlbt_Basic3;
1 with Xlbt_Bitmap;
1 with Xlbt_Color;
1 with Xlbt_Context_Manager;
1 with Xlbt_Context_Manager2;
1 with Xlbt_Context_Manager3;
1 with Xlbt_Cursor_Font;
1 with Xlbt_Cut_Buffer;
1 with Xlbt_Display2;
1 with Xlbt_Display3;
1 with Xlbt_Error;
1 with Xlbt_Error3;
1 with Xlbt_Event;
1 with Xlbt_Event2;
1 with Xlbt_Event3;
1 with Xlbt_Exceptions;
1 with Xlbt_Extension;
1 with Xlbt_Extension2;
1 with Xlbt_Extension3;
1 with Xlbt_Extension4;
1 with Xlbt_Font;
1 with Xlbt_Font2;
1 with Xlbt_Font3;
1 with Xlbt_Gc;
1 with Xlbt_Gc2;
1 with Xlbt_Gc3;
1 with Xlbt_Geometry;
1 with Xlbt_Grab;
1 with Xlbt_Graphics;
1 with Xlbt_Graphics3;
1 with Xlbt_Hint;
1 with Xlbt_Hint3;
1 with Xlbt_Host;
1 with Xlbt_Host3;
1 with Xlbt_Image;
1 with Xlbt_Image2;
1 with Xlbt_Image3;
1 with Xlbt_Input_Focus;
1 with Xlbt_Key;
1 with Xlbt_Key2;
1 with Xlbt_Key3;
1 with Xlbt_Keyboard;
1 with Xlbt_Keyboard3;
1 with Xlbt_Key_Defs;
1 with Xlbt_Key_Defs_Apl;
1 with Xlbt_Key_Defs_Arabic;
1 with Xlbt_Key_Defs_Cyrillic;
1 with Xlbt_Key_Defs_Greek;
1 with Xlbt_Key_Defs_Hebrew;
1 with Xlbt_Key_Defs_Katakana;
1 with Xlbt_Key_Defs_Latin1;
1 with Xlbt_Key_Defs_Latin2;
1 with Xlbt_Key_Defs_Latin3;
1 with Xlbt_Key_Defs_Latin4;
1 with Xlbt_Key_Defs_Misc;
1 with Xlbt_Key_Defs_Publishing;
1 with Xlbt_Key_Defs_Special;
1 with Xlbt_Key_Defs_Technical;
1 with Xlbt_Misc;
1 with Xlbt_Pointer;
1 with Xlbt_Region;
1 with Xlbt_Region2;
1 with Xlbt_Region3;
1 with Xlbt_Reply;
1 with Xlbt_Reply3;
1 with Xlbt_Request;
1 with Xlbt_Request3;
1 with Xlbt_Rm;
1 with Xlbt_Rm2;
1 with Xlbt_Rm3;
1 with Xlbt_Screen_Saver;
1 with Xlbt_String7;
1 with Xlbt_String16;
1 with Xlbt_String;
1 with Xlbt_Text;
1 with Xlbt_Text3;
1 with Xlbt_Visual;
1 with Xlbt_Visual2;
1 with Xlbt_Visual3;
1 with Xlbt_Window;
1 with Xlbt_Window3;
-----
2 with Xlib;  
2 with Xlbmp_Debugger;  
2 with Xlbmp_Environment;  
2 with Xlbmp_Error_Log;  
2 with Xlbmp_Generic_Converters;  
2 with Xlbmp_Get;  
2 with Xlbmp_Internal;  
2 with Xlbmp_Network_Interface;  
2 with Xlbmp_Put;  
2 with Xlbmt_Network_Types;  
2 with Xlbmt_Numeric_Types;  
2 with Xlbmt_Parameters;  
2 with Xlbmt_Transport_Defs;  
2 with Xlbip_Base_Converters;  
2 with Xlbip_Default_Proc_Vars;  
2 with Xlbip_Error_Converters;  
2 with Xlbip_Event_Converters;  
2 with Xlbip_Get_Reply;  
2 with Xlbip_Graphic_Converters;  
2 with Xlbip_Image_Internal;  
2 with Xlbip_Internal;  
2 with Xlbip_Put_Request;  
2 with Xlbip_Reply_Converters;  
2 with Xlbip_Request_Converters;  
2 with Xlbip_Wire_Converters;  
2 with Xlbit_Hint2;  
2 with Xlbit_Hint3;  
2 with Xlbit_Library2;  
2 with Xlbit_Library3;  
2 with Xlbit_Unused;  
2 with Xlbp_Proc_Var;  
2 with Xlbp_U_Char_Converters;  
2 with Xlbp_U_Char_Generics;  
2 with Xlbt_Proc_Var;  
2 with Xlbt_Univ_Ptr;  
2 with Xlbp_Atom;  
2 with Xlbp_Bitmap;  
2 with Xlbp_Color;  
2 with Xlbp_Context_Manager;  
2 with Xlbp_Cursor;  
2 with Xlbp_Cut_Buffer;  
2 with Xlbp_Display;  
2 with Xlbp_Error;  
2 with Xlbp_Event;  
2 with Xlbp_Extension;  
2 with Xlbp_Font;  
2 with Xlbp_Font_Names;  
2 with Xlbp_Gc;  
2 with Xlbp_Geometry;  
2 with Xlbp_Grab;  
2 with Xlbp_Graphics;  
2 with Xlbp_Hint;  
2 with Xlbp_Host;  
2 with Xlbp_Image;  
2 with Xlbp_Input_Focus;  
2 with Xlbp_Key;  
2 with Xlbp_Keyboard_Control;  
2 with Xlbp_Keyboard_Encoding;  
2 with Xlbp_Pixmap;  
2 with Xlbp_Pointer_Control;  
2 with Xlbp_Pointer_Motion;  
2 with Xlbp_Region;  
2 with Xlbp_Rm;  
2 with Xlbp_Rm_Name;  
2 with Xlbp_Rm_Quark;  
2 with Xlbp_Screen_Saver;  
2 with Xlbp_Selection;  
2 with Xlbp_Sync;  
2 with Xlbp_Text16;  
2 with Xlbp_Text;  
2 with Xlbp_Visual;  
2 with Xlbp_Window;  
2 with Xlbp_Window_Information;  
2 with Xlbp_Window_Property;  
2 with Xlbt_Arithmetic;  
2 with Xlbt_Atom_Defs;  
2 with Xlbt_Basic;  
2 with Xlbt_Basic2;  
2 with Xlbt_Basic3;  
2 with Xlbt_Bitmap;  
2 with Xlbt_Color;  
2 with Xlbt_Context_Manager;  
2 with Xlbt_Context_Manager2;  
2 with Xlbt_Context_Manager3;  
2 with Xlbt_Cursor_Font;  
2 with Xlbt_Cut_Buffer;  
2 with Xlbt_Display2;  
2 with Xlbt_Display3;  
2 with Xlbt_Error;  
2 with Xlbt_Error3;  
2 with Xlbt_Event;  
2 with Xlbt_Event2;  
2 with Xlbt_Event3;  
2 with Xlbt_Exceptions;  
2 with Xlbt_Extension;  
2 with Xlbt_Extension2;  
2 with Xlbt_Extension3;  
2 with Xlbt_Extension4;  
2 with Xlbt_Font;  
2 with Xlbt_Font2;  
2 with Xlbt_Font3;  
2 with Xlbt_Gc;  
2 with Xlbt_Gc2;  
2 with Xlbt_Gc3;  
2 with Xlbt_Geometry;  
2 with Xlbt_Grab;  
2 with Xlbt_Graphics;  
2 with Xlbt_Graphics3;  
2 with Xlbt_Hint;  
2 with Xlbt_Hint3;  
2 with Xlbt_Host;  
2 with Xlbt_Host3;  
2 with Xlbt_Image;  
2 with Xlbt_Image2;  
2 with Xlbt_Image3;  
2 with Xlbt_Input_Focus;  
2 with Xlbt_Key;  
2 with Xlbt_Key2;  
2 with Xlbt_Key3;  
2 with Xlbt_Keyboard;  
2 with Xlbt_Keyboard3;  
2 with Xlbt_Key_Defs;  
2 with Xlbt_Key_Defs_Apl;  
2 with Xlbt_Key_Defs_Arabic;  
2 with Xlbt_Key_Defs_Cyrillic;  
2 with Xlbt_Key_Defs_Greek;  
2 with Xlbt_Key_Defs_Hebrew;  
2 with Xlbt_Key_Defs_Katakana;  
2 with Xlbt_Key_Defs_Latin1;  
2 with Xlbt_Key_Defs_Latin2;  
2 with Xlbt_Key_Defs_Latin3;  
2 with Xlbt_Key_Defs_Latin4;  
2 with Xlbt_Key_Defs_Misc;  
2 with Xlbt_Key_Defs_Publishing;  
2 with Xlbt_Key_Defs_Special;  
2 with Xlbt_Key_Defs_Technical;  
2 with Xlbt_Misc;  
2 with Xlbt_Pointer;  
2 with Xlbt_Region;  
2 with Xlbt_Region2;  
2 with Xlbt_Region3;  
2 with Xlbt_Reply;  
2 with Xlbt_Reply3;  
2 with Xlbt_Request;  
2 with Xlbt_Request3;  
2 with Xlbt_Rm;  
2 with Xlbt_Rm2;  
2 with Xlbt_Rm3;  
2 with Xlbt_Screen_Saver;  
2 with Xlbt_String7;  
2 with Xlbt_String16;  
2 with Xlbt_String;  
2 with Xlbt_Text;  
2 with Xlbt_Text3;  
2 with Xlbt_Visual;  
2 with Xlbt_Visual2;  
2 with Xlbt_Visual3;  
2 with Xlbt_Window;  
2 with Xlbt_Window3;  

* Change 164
1 procedure Fake_Main is
-----
2 procedure Fake_Main is  

* Insert after 169
2 --/ if Cdf_Hpux then
2 --// pragma Main;
2 --/ end if;
2 
15:38:35 ::: [end of File_Utilities.Difference].
15:38:38 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:38:38 ... UNITS.MISC.HELLO_WORLD'BODY'V(3)", "!X11.X_LIBRARY.
15:38:38 ... REV6_0_0_WORKING.UNITS.MISC.HELLO_WORLD'BODY'V(1)", "", TRUE, 
15:38:38 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.MISC.HELLO_WORLD'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.MISC.HELLO_WORLD'BODY
* Insert after 31
2 ------------------------------------------------------------------------------
2 -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
2 --
2 --                  All Rights Reserved.
2 --
2 -- Permission to use, copy, modify, and distribute this software and its
2 -- documentation for any purpose and without fee is hereby granted,
2 -- provided that the above copyright notice(s) appear in all copies and that
2 -- both that copyright notice(s) and this permission notice appear in
2 -- supporting documentation, and that the name of Rational not be used in
2 -- advertising or publicity pertaining to distribution of the software
2 -- without specific, written prior permission.
2 --
2 -- Rational disclaims all warranties with regard to this software, including
2 -- all implied warranties of merchantability and fitness, in no event shall
2 -- Rational be liable for any special, indirect or consequential damages or
2 -- any damages whatsoever resulting from loss of use, data or profits, whether
2 -- in an action of contract, negligence or other tortious action, arising out
2 -- of or in connection with the use or performance of this software.
2 ------------------------------------------------------------------------------
15:38:40 ::: [end of File_Utilities.Difference].
15:38:40 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:38:40 ... UNITS.MISC.HELLO_WORLD'SPEC'V(1)", "!X11.X_LIBRARY.
15:38:40 ... REV6_0_0_WORKING.UNITS.MISC.HELLO_WORLD'SPEC'V(1)", "", TRUE, 
15:38:40 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.MISC.HELLO_WORLD'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.MISC.HELLO_WORLD'SPEC
* Change 1
1 procedure Hello_World (Display : String := "");
-----
2 ------------------------------------------------------------------------------
2 -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
2 --
2 --                  All Rights Reserved.
2 --
2 -- Permission to use, copy, modify, and distribute this software and its
2 -- documentation for any purpose and without fee is hereby granted,
2 -- provided that the above copyright notice(s) appear in all copies and that
2 -- both that copyright notice(s) and this permission notice appear in
2 -- supporting documentation, and that the name of Rational not be used in
2 -- advertising or publicity pertaining to distribution of the software
2 -- without specific, written prior permission.
2 --
2 -- Rational disclaims all warranties with regard to this software, including
2 -- all implied warranties of merchantability and fitness, in no event shall
2 -- Rational be liable for any special, indirect or consequential damages or
2 -- any damages whatsoever resulting from loss of use, data or profits, whether
2 -- in an action of contract, negligence or other tortious action, arising out
2 -- of or in connection with the use or performance of this software.
2 ------------------------------------------------------------------------------
2 
2 procedure Hello_World (Display : String := "");  
15:38:41 ::: [end of File_Utilities.Difference].
15:38:43 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:38:43 ... UNITS.MISC.HELLO_WORLD_UNIX'BODY'V(4)", "!X11.X_LIBRARY.
15:38:43 ... REV6_0_0_WORKING.UNITS.MISC.HELLO_WORLD_UNIX'BODY'V(1)", "", TRUE,
15:38:43 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.MISC.HELLO_WORLD_UNIX'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.MISC.HELLO_WORLD_UNIX'BODY
* Change 1..61
1 with Process_Control;                   -- Unix process control; exit(n)
1 with Unix_Types;                        -- Unix types
1 --/ end if;
1 
1 with System;  
1 with Text_Io;  
1 use Text_Io;
1 
1 with Hello_World;
1 
1 with Xlbt_Arithmetic;  
1 use Xlbt_Arithmetic;  
1 with Xlbt_String;  
1 use Xlbt_String;
1 
1 with Xlbp_Display;  
1 use Xlbp_Display;
1 
1 procedure Hello_World_Unix is
1 ------------------------------------------------------------------------------
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
1 --
1 --                  All Rights Reserved.
1 --
1 -- Permission to use, copy, modify, and distribute this software and its
1 -- documentation for any purpose and without fee is hereby granted,
1 -- provided that the above copyright notice(s) appear in all copies and that
1 -- both that copyright notice(s) and this permission notice appear in
1 -- supporting documentation, and that the names of Rational not be used in
1 -- advertising or publicity pertaining to distribution of the software
1 -- without specific, written prior permission.
1 --
1 -- Rational disclaims all warranties with regard to this software, including
1 -- all implied warranties of merchantability and fitness, in no event shall
1 -- Rational be liable for any special, indirect or consequential damages or
1 -- any damages whatsoever resulting from loss of use, data or profits, whether
1 -- in an action of contract, negligence or other tortious action, arising out
1 -- of or in connection with the use or performance of this software.
1 ------------------------------------------------------------------------------
1 ------------------------------------------------------------------------------
1 -- Command line arguments:
1 --
1 --  -display <name> - Display   - Specifies the display to use for the game.
1 --
1 -- Run the Hello_World program.  Put up a window with a "star" in it.
1 ------------------------------------------------------------------------------
1 
1     Display : X_String_Pointer := new X_String'("");
1 
1     Argc    : Integer;  
1     Argvi   : Integer;  
1     Argv    : X_String (1 .. 1024);  
1     Argvlen : Integer;
1 
1 --
1 --/ if TeleGen2 and then Unix then
1     function Get_Argv (Position    : Integer;  
1                        Arg_Ptr     : System.Address;  
1                        Arg_Max_Len : Integer) return Integer;  
1     pragma Interface (C, Get_Argv);  
1     pragma Linkname (Get_Argv, "Xlbmt_Get_ArgV");
-----
2 --/ if R1000 then
2 with Text_Io;

* Change 63..65
1     function Get_Argc return Integer;  
1     pragma Interface (C, Get_Argc);  
1     pragma Linkname (Get_Argc, "Xlbmt_Get_ArgC");
-----
2 procedure Hello_World_Unix is  
2 begin  
2     Text_Io.Put_Line ("This procedure is only for Unix versions.");  
2 end Hello_World_Unix;

* Insert after 66
2 --/ else -- not R1000
2 --//
2 --//
2 --/ if Cdf_Hpux then
2 --// with Command_Line;
2 --// with System_Interface;
2 --/ elsif TeleGen2 and then Unix then
2 --// with Process_Control;                   -- Unix process control; exit(n)
2 --// with Unix_Types;                        -- Unix types
2 --/ else
2 --// with Something;
2 --/ end if;
2 --//
2 --// with System;
2 --// with Text_Io;
2 --// use Text_Io;
2 --//
2 --// with Hello_World;
2 --//
2 --// with Xlbt_Arithmetic;
2 --// use Xlbt_Arithmetic;
2 --// with Xlbt_String;
2 --// use Xlbt_String;
2 --//
2 --// with Xlbp_Display;
2 --// use Xlbp_Display;
2 --//
2 --// procedure Hello_World_Unix is
2 --// ------------------------------------------------------------------------------
2 --// -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
2 --// --
2 --// --                  All Rights Reserved.
2 --// --
2 --// -- Permission to use, copy, modify, and distribute this software and its
2 --// -- documentation for any purpose and without fee is hereby granted,
2 --// -- provided that the above copyright notice(s) appear in all copies and that
2 --// -- both that copyright notice(s) and this permission notice appear in
2 --// -- supporting documentation, and that the names of Rational not be used in
2 --// -- advertising or publicity pertaining to distribution of the software
2 --// -- without specific, written prior permission.
2 --// --
2 --// -- Rational disclaims all warranties with regard to this software, including
2 --// -- all implied warranties of merchantability and fitness, in no event shall
2 --// -- Rational be liable for any special, indirect or consequential damages or
2 --// -- any damages whatsoever resulting from loss of use, data or profits, whether
2 --// -- in an action of contract, negligence or other tortious action, arising out
2 --// -- of or in connection with the use or performance of this software.
2 --// ------------------------------------------------------------------------------
2 --// ------------------------------------------------------------------------------
2 --// -- Command line arguments:
2 --// --
2 --// --  -display <name> - Display   - Specifies the display to use for the game.
2 --// --
2 --// -- Run the Hello_World program.  Put up a window with a "star" in it.
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     Display : X_String_Pointer := new X_String'("");
2 --//
2 --//     Argc    : Integer;
2 --//     Argvi   : Integer;
2 --//
2 --/ if Cdf_Hpux then
2 --//     Argv : constant Command_Line.String_Ptr_Array := Command_Line.Arguments;
2 --/ elsif TeleGen2 and then Unix then
2 --//     Argv    : X_String (1 .. 1024);
2 --//     Argvlen : Integer;
2 --/ else
2 --//     Argv : Something;

* Change 68..75
1 
1 --
1 
1     procedure Usage (Result : Integer) is  
1     begin
1 
1         Put_Line ("Usage: hello-world [-display <display>]");  
1         Put_Line ("  -display <display>  - display to use");
-----
2 --//
2 --// --

* Change 77
1         Process_Control.Exit_Execution (Unix_Types.Integer_32 (Result));
-----
2 --//     function Get_Argv (Position    : Integer;
2 --//                        Arg_Ptr     : System.Address;
2 --//                        Arg_Max_Len : Integer) return Integer;
2 --//     pragma Interface (C, Get_Argv);
2 --//     pragma Linkname (Get_Argv, "Xlbmt_Get_ArgV");
2 --//
2 --//     function Get_Argc return Integer;
2 --//     pragma Interface (C, Get_Argc);
2 --//     pragma Linkname (Get_Argc, "Xlbmt_Get_ArgC");
2 --//
2 --/ end if;
2 --//
2 --// --
2 --//     procedure Usage (Result : Integer) is
2 --//     begin
2 --//
2 --//         Put_Line ("Usage: hello-world [-display <display>]");
2 --//         Put_Line ("  -display <display>  - display to use");
2 --/ if Cdf_Hpux then
2 --//         System_Interface.Process.Ext (Result);
2 --/ elsif TeleGen2 and then Unix then
2 --//         Process_Control.Exit_Execution (Unix_Types.Integer_32 (Result));
2 --/ else
2 --//         Something;

* Change 79..114
1 
1     end Usage;
1 
1 --
1 
1 begin
1 
1 ----Process the command line arguments.  Skip the 0'th argument, it is just
1 --  our command name.
1 
1     Argc  := Get_Argc;  
1     Argvi := 1;  
1     while Argvi < Argc loop  
1         Argvlen := Get_Argv (Argvi, Argv (Argv'First)'Address, Argv'Length);
1 
1         if Argv (1 .. S_Natural (Argvlen)) = "-display" and then  
1            Argvi + 1 < Argc then  
1             Argvlen := Get_Argv  
1                           (Argvi + 1, Argv (Argv'First)'Address, Argv'Length);  
1             Display := new X_String'(Argv (1 .. S_Natural (Argvlen)));  
1             Argvi   := Argvi + 2;
1 
1         elsif Argv (1 .. S_Natural (Argvlen)) = "-help" then  
1             Usage (0);
1 
1         else  
1             Put_Line ("Unrecognized command line option: {" &  
1                       To_String (Argv (1 .. S_Natural (Argvlen)) & "}"));  
1             Usage (1);  
1         end if;  
1     end loop;
1 
1 ----Create the output filename.
1 
1     Hello_World (To_String (X_Display_Name (Display.all)));
1 
-----
2 --//
2 --//     end Usage;
2 --//
2 --// --
2 --//     procedure Next_Arg is
2 --//     begin

* Change 116
1     Process_Control.Exit_Execution (0);      -- Program exit
-----
2 --//         Argvlen := Get_Argv (Argvi,
2 --//                              Argv (Argv'First)'Address,
2 --//                              Argv'Length);
2 --/ end if;
2 --//         Argvi   := Argvi + 1;
2 --//     end Next_Arg;
2 --//
2 --//     function This_Arg return X_String is
2 --//     begin
2 --/ if Cdf_Hpux then
2 --//         return To_X_String (Argv (Argvi - 1).all);
2 --/ elsif TeleGen2 and then Unix then
2 --//         return Argv (1 .. S_Natural (Argvlen));
2 --/ else
2 --//         return Something;
2 --/ end if;
2 --//     end This_Arg;
2 --//
2 --// --
2 --// begin
2 --//
2 --// ----Process the command line arguments.  Skip the 0'th argument, it is just
2 --// --  our command name.
2 --//
2 --/ if Cdf_Hpux then
2 --//     Argc := Command_Line.Argc;
2 --/ elsif TeleGen2 and then Unix then
2 --//     Argc := Get_Argc;
2 --/ else
2 --//     Argc := Something;
2 --/ end if;
2 --//     Argvi := 1;
2 --//     while Argvi < Argc loop
2 --//         Next_Arg;
2 --//
2 --//         if This_Arg = "-display"and then
2 --//            Argvi + 1 < Argc then
2 --//             Next_Arg;
2 --//             Display := new X_String'(Argv (1 .. S_Natural (Argvlen)));
2 --//             Argvi   := Argvi + 2;
2 --//
2 --//         elsif This_Arg = "-help" then
2 --//             Usage (0);
2 --//
2 --//         else
2 --//             Put_Line ("Unrecognized command line option: {" &
2 --//                       To_String (This_Arg) & "}");
2 --//             Usage (1);
2 --//         end if;
2 --//     end loop;
2 --//
2 --// ----Create the output filename.
2 --//
2 --//     Hello_World (To_String (X_Display_Name (Display.all)));
2 --//
2 --/ if Cdf_Hpux then
2 --//     System_Interface.Process.Ext (0);
2 --/ elsif TeleGen2 and then Unix then
2 --//     Process_Control.Exit_Execution (0);      -- Program exit
2 --/ else
2 --//     Something;
2 --/ end if;
2 --//
2 --// end Hello_World_Unix;
2 --/ if Cdf_Hpux then
2 --// pragma Main;

* Change 118..120
1 
1 end Hello_World_Unix;
1 
-----
2 --//
15:38:44 ::: [end of File_Utilities.Difference].
15:38:48 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:38:48 ... UNITS.MISC.XLIB'SPEC'V(5)", "!X11.X_LIBRARY.REV6_0_0_WORKING.
15:38:48 ... UNITS.MISC.XLIB'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.MISC.XLIB'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.MISC.XLIB'SPEC
* Change 6..7
1 with Xlbt_Color;  
1 with Xlbt_Context_Manager3;  
-----
2 with Xlbt_Color;
2 --/ if OLD_CONTEXT_MANAGER then
2 --// with Xlbt_Context_Manager;
2 --/ end if;

* Change 55..56
1 with Xlbp_Color;  
1 with Xlbp_Context_Manager;  
-----
2 with Xlbp_Color;
2 --/ if OLD_CONTEXT_MANAGER then
2 --// with Xlbp_Context_Manager;
2 --/ end if;

* Change 102
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1990 - 1991 by Rational, Santa Clara, California.

* Change 125..126
1     package C1 renames Xlbt_Color;  
1     package C2 renames Xlbt_Context_Manager3;  
-----
2     package C1 renames Xlbt_Color;
2 --/ if OLD_CONTEXT_MANAGER then
2 --//     package C2 renames Xlbt_Context_Manager;
2 --/ end if;

* Delete 780..784
1 
1 --
1 ------------------------------------------------------------------------------
1 -- Xlbt_Context_Manager - C2
1 ------------------------------------------------------------------------------

* Delete 786..787
1 ------------------------------------------------------------------------------
1 -- X_Associative_Returns

* Change 789..810
1 --      Xc_Success      - No error.
1 --      Xc_No_Mem       - Out of memory.
1 --      Xc_No_Ent       - No entry in table.
1 ------------------------------------------------------------------------------
1 
1     subtype X_Associative_Returns is C2.X_Associative_Returns;
1 
1     Xc_Success : constant X_Associative_Returns := C2.Xc_Success;  
1     Xc_No_Mem  : constant X_Associative_Returns := C2.Xc_No_Mem;  
1     Xc_No_Ent  : constant X_Associative_Returns := C2.Xc_No_Ent;
1 
1     function "=" (A, B : X_Associative_Returns) return Boolean renames C2."=";
1 
1 ------------------------------------------------------------------------------
1 -- X_Context
1 ------------------------------------------------------------------------------
1 
1     subtype X_Context is C2.X_Context;
1 
1     None_X_Context : X_Context renames C2.None_X_Context;
1 
1     function "=" (A, B : X_Context) return Boolean renames C2."=";
-----
2 --/ if OLD_CONTEXT_MANAGER then
2 --// ------------------------------------------------------------------------------
2 --// -- Xlbt_Context_Manager - D1
2 --// ------------------------------------------------------------------------------
2 --//
2 --// ------------------------------------------------------------------------------
2 --// -- X_Associative_Returns
2 --// --
2 --// --      Xc_Success      - No error.
2 --// --      Xc_No_Mem       - Out of memory.
2 --// --      Xc_No_Ent       - No entry in table.
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     subtype X_Associative_Returns is C2.X_Associative_Returns;
2 --//
2 --//     Xc_Success : constant X_Associative_Returns := C2.Xc_Success;
2 --//     Xc_No_Mem  : constant X_Associative_Returns := C2.Xc_No_Mem;
2 --//     Xc_No_Ent  : constant X_Associative_Returns := C2.Xc_No_Ent;
2 --//
2 --//     function "=" (A, B : X_Associative_Returns) return Boolean renames C2."=";
2 --//
2 --// ------------------------------------------------------------------------------
2 --// -- X_Context
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     subtype X_Context is C2.X_Context;
2 --//
2 --//     None_X_Context : X_Context renames C2.None_X_Context;
2 --//
2 --//     function "=" (A, B : X_Context) return Boolean renames C2."=";
2 --//
2 --/ end if;

* Change 1588
1     None_X_Parse_Value : X_Parse_Geometry_Flags renames G2.None_X_Parse_Value;
-----
2     None_X_Parse_Geometry_Flags : X_Parse_Geometry_Flags  
2         renames G2.None_X_Parse_Geometry_Flags;

* Delete 3077..3088
1 
1 
1 ------------------------------------------------------------------------------
1 -- X_Rm_Entry - Resource Database Entry
1 ------------------------------------------------------------------------------
1 
1     subtype X_Rm_Entry_Rec is R4.X_Rm_Entry_Rec;  
1     subtype X_Rm_Entry     is R4.X_Rm_Entry;
1 
1     function "=" (A, B : X_Rm_Entry) return Boolean renames R4."=";
1 
1     None_X_Rm_Entry : X_Rm_Entry renames R4.None_X_Rm_Entry;

* Change 3112..3119
1     Is_None                : constant Xrvk := R4.Is_None;  
1     Is_Boolean             : constant Xrvk := R4.Is_Boolean;  
1     Is_S_Long              : constant Xrvk := R4.Is_S_Long;  
1     Is_U_Char_List         : constant Xrvk := R4.Is_U_Char_List;  
1     Is_X_String7_Pointer   : constant Xrvk := R4.Is_X_String7_Pointer;  
1     Is_X_String_Pointer    : constant Xrvk := R4.Is_X_String_Pointer;  
1     Is_X_String16_Pointer  : constant Xrvk := R4.Is_X_String16_Pointer;  
1     Is_X_Universal_Pointer : constant Xrvk := R4.Is_X_Universal_Pointer;
-----
2     Is_None                   : constant Xrvk := R4.Is_None;  
2     Is_X_Rm_File_Type         : constant Xrvk := R4.Is_X_Rm_File_Type;  
2     Is_Boolean                : constant Xrvk := R4.Is_Boolean;  
2     Is_Float                  : constant Xrvk := R4.Is_Float;  
2     Is_U_Char_List            : constant Xrvk := R4.Is_U_Char_List;  
2     Is_U_Char                 : constant Xrvk := R4.Is_U_Char;  
2     Is_U_Short                : constant Xrvk := R4.Is_U_Short;  
2     Is_S_Char                 : constant Xrvk := R4.Is_S_Char;  
2     Is_S_Short                : constant Xrvk := R4.Is_S_Short;  
2     Is_S_Long                 : constant Xrvk := R4.Is_S_Long;  
2     Is_X_String7_Pointer      : constant Xrvk := R4.Is_X_String7_Pointer;  
2     Is_X_String_Pointer       : constant Xrvk := R4.Is_X_String_Pointer;  
2     Is_X_String16_Pointer     : constant Xrvk := R4.Is_X_String16_Pointer;  
2     Is_X_Universal_Pointer    : constant Xrvk := R4.Is_X_Universal_Pointer;  
2     Is_X_Atom                 : constant Xrvk := R4.Is_X_Atom;  
2     Is_X_Color                : constant Xrvk := R4.Is_X_Color;  
2     Is_X_Colormap             : constant Xrvk := R4.Is_X_Colormap;  
2     Is_X_Cursor               : constant Xrvk := R4.Is_X_Cursor;  
2     Is_X_Display              : constant Xrvk := R4.Is_X_Display;  
2     Is_X_Font                 : constant Xrvk := R4.Is_X_Font;  
2     Is_X_Font_Struct          : constant Xrvk := R4.Is_X_Font_Struct;  
2     Is_X_Initial_Window_State : constant Xrvk := R4.Is_X_Initial_Window_State;  
2     Is_X_Pixel                : constant Xrvk := R4.Is_X_Pixel;  
2     Is_X_Pixmap               : constant Xrvk := R4.Is_X_Pixmap;  
2     Is_X_Screen               : constant Xrvk := R4.Is_X_Screen;  
2     Is_X_Visual               : constant Xrvk := R4.Is_X_Visual;  
2     Is_X_Window               : constant Xrvk := R4.Is_X_Window;

* Change 4097..4126
1 ------------------------------------------------------------------------------
1 -- Xlbp_Context_Manager
1 ------------------------------------------------------------------------------
1 
1     function X_Delete_Context (Display : X_Display;  
1                                Window  : X_Window;  
1                                Context : X_Context) return X_Associative_Returns  
1         renames Xlbp_Context_Manager.X_Delete_Context;
1 
1     procedure X_Find_Context (Display :     X_Display;  
1                               Window  :     X_Window;  
1                               Context :     X_Context;  
1                               Data    : out X_Rm_Value;  
1                               Status  : out X_Associative_Returns)  
1         renames Xlbp_Context_Manager.X_Find_Context;
1 
1     function X_Save_Context (Display : X_Display;  
1                              Window  : X_Window;  
1                              Context : X_Context;  
1                              Data    : X_Rm_Value) return X_Associative_Returns  
1         renames Xlbp_Context_Manager.X_Save_Context;
1 
1     function X_String_To_Context (Name : X_String) return X_Context  
1         renames Xlbp_Context_Manager.X_String_To_Context;
1 
1     function X_Context_To_String (Context : X_Context) return X_String  
1         renames Xlbp_Context_Manager.X_Context_To_String;
1 
1     function X_Unique_Context return X_Context  
1         renames Xlbp_Context_Manager.X_Unique_Context;
-----
2 --/ if OLD_CONTEXT_MANAGER then
2 --// ------------------------------------------------------------------------------
2 --// -- Xlbp_Context_Manager
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     function X_Delete_Context (Display : X_Display;
2 --//                                Window  : X_Window;
2 --//                                Context : X_Context) return X_Associative_Returns
2 --//         renames Xlbp_Context_Manager.X_Delete_Context;
2 --//
2 --//     procedure X_Find_Context (Display :     X_Display;
2 --//                               Window  :     X_Window;
2 --//                               Context :     X_Context;
2 --//                               Data    : out X_Rm_Value;
2 --//                               Status  : out X_Associative_Returns)
2 --//         renames Xlbp_Context_Manager.X_Find_Context;
2 --//
2 --//     function X_Save_Context (Display : X_Display;
2 --//                              Window  : X_Window;
2 --//                              Context : X_Context;
2 --//                              Data    : X_Rm_Value) return X_Associative_Returns
2 --//         renames Xlbp_Context_Manager.X_Save_Context;
2 --//
2 --//     function X_String_To_Context (Name : X_String) return X_Context
2 --//         renames Xlbp_Context_Manager.X_String_To_Context;
2 --//
2 --//     function X_Context_To_String (Context : X_Context) return X_String
2 --//         renames Xlbp_Context_Manager.X_Context_To_String;
2 --//
2 --//     function X_Unique_Context return X_Context
2 --//         renames Xlbp_Context_Manager.X_Unique_Context;
2 --//
2 --/ end if;

* Delete 5655..5687
1 
1     function X_Rm_Entry_Value (Db_Entry : X_Rm_Entry) return X_Rm_Value  
1         renames Xlbp_Rm.X_Rm_Entry_Value;
1 
1     function X_Rm_Entry_Value  
1                 (Db_Entry       : X_Rm_Entry;  
1                  Representation : X_Rm_Representation) return X_Rm_Value  
1         renames Xlbp_Rm.X_Rm_Entry_Value;
1 
1     function X_Rm_Entry_Representation  
1                 (Db_Entry : X_Rm_Entry) return X_Rm_Representation  
1         renames Xlbp_Rm.X_Rm_Entry_Representation;
1 
1     function X_Rm_Entry_All_Representations  
1                 (Db_Entry : X_Rm_Entry) return X_Rm_Representation_List  
1         renames Xlbp_Rm.X_Rm_Entry_All_Representations;
1 
1     procedure X_Rm_Entry_Assign (Destination : X_Rm_Entry;  
1                                  Source      : X_Rm_Entry)  
1         renames Xlbp_Rm.X_Rm_Entry_Assign;
1 
1     procedure X_Rm_Entry_Assign (Destination    : X_Rm_Entry;  
1                                  Representation : X_Rm_Representation;  
1                                  Source         : X_Rm_Value;  
1                                  Db_Owner       : Boolean := True)  
1         renames Xlbp_Rm.X_Rm_Entry_Assign;
1 
1     procedure X_Rm_Entry_Add_Converted_Value  
1                  (Db_Entry       : X_Rm_Entry;  
1                   Representation : X_Rm_Representation;  
1                   Source         : X_Rm_Value;  
1                   Db_Owner       : Boolean := True)  
1         renames Xlbp_Rm.X_Rm_Entry_Add_Converted_Value;

* Change 5692..5695
1     procedure X_Rm_Get_Resource (Database :     X_Rm_Database;  
1                                  Name     :     X_String;  
1                                  Class    :     X_String;  
1                                  Db_Entry : out X_Rm_Entry)  
-----
2     procedure X_Rm_Get_Resource (Database       :     X_Rm_Database;  
2                                  Name           :     X_String;  
2                                  Class          :     X_String;  
2                                  Representation : out X_Rm_Representation;  
2                                  Value          : out X_Rm_Value)  

* Change 5698..5701
1     procedure X_Rm_Get_Resource (Database :     X_Rm_Database;  
1                                  Names    :     X_Rm_Name_Array;  
1                                  Classes  :     X_Rm_Class_Array;  
1                                  Db_Entry : out X_Rm_Entry)  
-----
2     procedure X_Rm_Get_Resource (Database       :     X_Rm_Database;  
2                                  Names          :     X_Rm_Name_Array;  
2                                  Classes        :     X_Rm_Class_Array;  
2                                  Representation : out X_Rm_Representation;  
2                                  Value          : out X_Rm_Value)  

* Change 5752..5755
1     procedure X_Rm_Get_Search_Resource (List     :     X_Rm_Search_List;  
1                                         Name     :     X_Rm_Name;  
1                                         Class    :     X_Rm_Class;  
1                                         Db_Entry : out X_Rm_Entry)  
-----
2     procedure X_Rm_Get_Search_Resource  
2                  (List           :     X_Rm_Search_List;  
2                   Name           :     X_Rm_Name;  
2                   Class          :     X_Rm_Class;  
2                   Representation : out X_Rm_Representation;  
2                   Value          : out X_Rm_Value)  

* Change 5784
1                                     Destination : in out X_Rm_Database;  
-----
2                                     Destination :        X_Rm_Database;  

* Change 5817
1     function X_Rm_String_To_Class (Name : X_String) return X_Rm_Class  
-----
2     function X_Rm_String_To_Class (Str      : X_String;  
2                                    Validate : Boolean := True) return X_Rm_Class  

* Change 5820
1     procedure X_Rm_String_To_Class_List (Name :     X_String;  
-----
2     procedure X_Rm_String_To_Class_List (Str  :     X_String;  

* Change 5825
1                  (Name     :     X_String;  
-----
2                  (Str      :     X_String;  

* Change 5836
1     function X_Rm_String_To_Name (Name : X_String) return X_Rm_Name  
-----
2     function X_Rm_String_To_Name (Str      : X_String;  
2                                   Validate : Boolean := True) return X_Rm_Name  

* Change 5839
1     procedure X_Rm_String_To_Name_List (Name :     X_String;  
-----
2     procedure X_Rm_String_To_Name_List (Str  :     X_String;  

* Change 5844
1                  (Name     :     X_String;  
-----
2                  (Str      :     X_String;  

* Change 5857
1     function X_Rm_String_To_Representation (Name : X_String)  
-----
2     function X_Rm_String_To_Representation (Str      : X_String;  
2                                             Validate : Boolean := True)  

* Change 5862
1                  (Name :     X_String;  
-----
2                  (Str  :     X_String;  

* Change 5867
1                  (Name     :     X_String;  
-----
2                  (Str      :     X_String;  
15:39:48 ::: [end of File_Utilities.Difference].
15:39:49 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:39:49 ... UNITS.MISC.X_ERROR_DB'V(1)", "!X11.X_LIBRARY.REV6_0_0_WORKING.
15:39:49 ... UNITS.MISC.X_ERROR_DB'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.MISC.X_ERROR_DB
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.MISC.X_ERROR_DB
* Delete 61..62
1 XrmWarning.BadKind.1       : Xrm; Resource line has bad format; missing ':'
1 XrmWarning.BadKind.2       : after name!rep!kind.  Line: {%1}

* Change 67..68
1 XrmWarning.BadRep.1        : Xrm; Bad resource representation: {%1}
1 XrmWarning.BadRep.2        : Line: {%2}
-----
2 XrmWarning.BadValue.1      : Xrm; Bad resource value: {%1}
2 XrmWarning.BadValue.2      : Line: {%2}
15:39:50 ::: [end of File_Utilities.Difference].
15:39:52 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:39:52 ... UNITS.PMD_PROCS.XLBP_PROC_VAR'SPEC'V(5)", "!X11.X_LIBRARY.
15:39:52 ... REV6_0_0_WORKING.UNITS.PMD_PROCS.XLBP_PROC_VAR'SPEC'V(1)", "", 
15:39:52 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMD_PROCS.XLBP_PROC_VAR'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMD_PROCS.XLBP_PROC_VAR'SPEC
* Change 41
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:39:54 ::: [end of File_Utilities.Difference].
15:39:55 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:39:55 ... UNITS.PMD_PROCS.XLBP_U_CHAR_CONVERTERS'BODY'V(5)", "!X11.
15:39:55 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.PMD_PROCS.
15:39:55 ... XLBP_U_CHAR_CONVERTERS'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMD_PROCS.XLBP_U_CHAR_CONVERTERS'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMD_PROCS.XLBP_U_CHAR_CONVERTERS'BODY
* Change 10
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
15:39:57 ::: [end of File_Utilities.Difference].
15:39:59 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:39:59 ... UNITS.PMD_PROCS.XLBP_U_CHAR_CONVERTERS'SPEC'V(5)", "!X11.
15:39:59 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.PMD_PROCS.
15:39:59 ... XLBP_U_CHAR_CONVERTERS'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMD_PROCS.XLBP_U_CHAR_CONVERTERS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMD_PROCS.XLBP_U_CHAR_CONVERTERS'SPEC
* Change 23
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
15:40:01 ::: [end of File_Utilities.Difference].
15:40:03 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:40:03 ... UNITS.PMD_PROCS.XLBP_U_CHAR_GENERICS'BODY'V(4)", "!X11.X_LIBRARY.
15:40:03 ... REV6_0_0_WORKING.UNITS.PMD_PROCS.XLBP_U_CHAR_GENERICS'BODY'V(1)", 
15:40:03 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMD_PROCS.XLBP_U_CHAR_GENERICS'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMD_PROCS.XLBP_U_CHAR_GENERICS'BODY
* Change 17
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1990 - 1991 by Rational, Santa Clara, California.

* Delete 54..55
1 --//         Length : constant S_Natural :=
1 --//            (Original'Size + U_Char'Size - 1) / U_Char'Size;

* Change 57
1 --//         if Length /= Uca'Length then
-----
2 --//
2 --/ if DEBUG then
2 --//         if Original'Size / U_Char'Size /= Uca'Length then

* Change 59
1 --//         elsif Length > 0 then
-----
2 --//         end if;
2 --/ end if;
2 --//         if Uca'Length > 0 then

* Change 73..74
1 --//                                     A.A'Address,
1 --//                                     Length);
-----
2 --//                                     A.A'Address, Uca'Length);

* Change 77..79
1 --//                 Xlbmt_Mem_Copy (Uca (Uca'First)'Address,
1 --//                                 Orig'Address,
1 --//                                 Length);
-----
2 --//                 Xlbmt_Mem_Copy (Uca (Uca'First)'Address, Orig'Address,
2 --//                                 Uca'Length);

* Insert after 81
2 --//

* Change 87
1 --  it may not work for you.  It works on an R1000.
-----
2 --  it may not work for you.    Do not modify this code.  Copy it into
2 --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --  some targets.

* Change 91..93
1         Length : constant S_Natural :=  
1            (Original'Size + U_Char'Size - 1) / U_Char'Size;  
1         subtype Rdt is U_Char_Array (1 .. Length);  
-----
2         subtype Rdt is U_Char_Array (Uca'Range);  

* Change 95..96
1     begin  
1         Uca := To_Uca (Orig);  
-----
2     begin
2 
2 --/ if DEBUG then
2         if Original'Size / U_Char'Size /= Uca'Length then  
2             raise Constraint_Error;  
2         end if;
2 --/ end if;
2         Uca := To_Uca (Orig);
2 

* Delete 110..111
1 --//         Length : constant S_Natural :=
1 --//            (Original'Size + U_Char'Size - 1) / U_Char'Size;

* Change 113
1 --//         if Length /= Uca'Length then
-----
2 --//
2 --/ if DEBUG then
2 --//         if Original'Size / U_Char'Size /= Uca'Length then

* Change 115..116
1 --//         elsif Length > 0 then
1 --//             Xlbmt_Mem_Copy (Uca (Uca'First)'Address, Orig'Address, Length);
-----
2 --//         end if;
2 --/ end if;
2 --//         if Uca'Length > 0 then
2 --//             Xlbmt_Mem_Copy (Uca (Uca'First)'Address, Orig'Address, Uca'Length);

* Insert after 117
2 --//

* Change 123
1 --  it may not work for you.  It works on an R1000.
-----
2 --  it may not work for you.  Do not modify this code.  Copy it into
2 --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --  some targets.

* Change 127..129
1         Length : constant S_Natural :=  
1            (Original'Size + U_Char'Size - 1) / U_Char'Size;  
1         subtype Rdt is U_Char_Array (1 .. Length);  
-----
2         subtype Rdt is U_Char_Array (Uca'Range);  

* Change 131..132
1     begin  
1         Uca := To_Uca (Orig);  
-----
2     begin
2 
2 --/ if DEBUG then
2         if Original'Size / U_Char'Size /= Uca'Length then  
2             raise Constraint_Error;  
2         end if;
2 --/ end if;
2         Uca := To_Uca (Orig);
2 

* Delete 146..147
1 --//         Length : constant S_Natural :=
1 --//            (Orig'Length * Original'Size + U_Char'Size - 1) / U_Char'Size;

* Change 149
1 --//         if Uca'Length /= Length then
-----
2 --//
2 --/ if DEBUG then
2 --//         if Orig'Length * Original'Size / U_Char'Size /= Uca'Length then

* Change 151
1 --//         elsif Length > 0 then
-----
2 --//         end if;
2 --/ end if;
2 --//         if Uca'Length > 0 then

* Change 153
1 --//                             Orig (Orig'First)'Address, Length);
-----
2 --//                             Orig (Orig'First)'Address, Uca'Length);

* Insert after 154
2 --//

* Change 160
1 --  it may not work for you.  It works on an R1000.
-----
2 --  it may not work for you.  Do not modify this code.  Copy it into
2 --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --  some targets.

* Change 164..166
1         Length : constant S_Natural :=  
1            (Orig'Length * Original'Size + U_Char'Size - 1) / U_Char'Size;  
1         subtype Rdt is U_Char_Array (1 .. Length);  
-----
2         subtype Rdt is U_Char_Array (Uca'Range);  

* Change 170..171
1     begin  
1         Uca := To_Uca (Oad);  
-----
2     begin
2 
2 --/ if DEBUG then
2         if Orig'Length * Original'Size / U_Char'Size /= Uca'Length then  
2             raise Constraint_Error;  
2         end if;
2 --/ end if;
2         Uca := To_Uca (Oad);
2 

* Delete 187..189
1 --//         Length : constant S_Natural :=
1 --//            (Orig'Length (1) * Orig'Length (2) * Original'Size +
1 --//             U_Char'Size - 1) / U_Char'Size;

* Change 191
1 --//         if Uca'Length /= Length then
-----
2 --//
2 --/ if DEBUG then
2 --//         if Orig'Length (1) * Orig'Length (2) * Original'Size / U_Char'Size /=
2 --//            Uca'Length then

* Change 193..196
1 --//         elsif Length > 0 then
1 --//             Xlbmt_Mem_Copy (Uca (Uca'First)'Address,
1 --//                             Orig (Orig'First (1), Orig'First (2))'Address,
1 --//                             Length);
-----
2 --//         end if;
2 --/ end if;
2 --//         if Uca'Length > 0 then
2 --//             Xlbmt_Mem_Copy
2 --//                (Uca (Uca'First)'Address,
2 --//                 Orig (Orig'First (1), Orig'First (2))'Address, Uca'Length);

* Change 203
1 --  it may not work for you.  It works on an R1000.
-----
2 --  it may not work for you.  Do not modify this code.  Copy it into
2 --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --  some targets.

* Change 207..210
1         Length : constant S_Natural :=  
1            (Orig'Length (1) * Orig'Length (2) * Original'Size +  
1             U_Char'Size - 1) / U_Char'Size;  
1         subtype Rdt is U_Char_Array (1 .. Length);  
-----
2         subtype Rdt is U_Char_Array (Uca'Range);  

* Change 214..215
1     begin  
1         Uca := To_Uca (Oad);  
-----
2     begin
2 
2 --/ if DEBUG then
2         if Orig'Length (1) * Orig'Length (2) * Original'Size / U_Char'Size /=  
2            Uca'Length then  
2             raise Constraint_Error;  
2         end if;
2 --/ end if;
2         Uca := To_Uca (Oad);
2 

* Change 223
1 --// --  it may not work for you.
-----
2 --// --  it may not work for you.  Do not modify this code.  Copy it into
2 --// --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --// --  some targets.

* Change 228..231
1 --//         Length : constant S_Natural :=
1 --//            (Orig'Length (1) * Orig'Length (2) * Original'Size +
1 --//             U_Char'Size - 1) / U_Char'Size;
1 --//         subtype Rdt     is U_Char_Array (1 .. Length);
-----
2 --//         subtype Rdt     is U_Char_Array (Uca'Range);

* Insert after 236
2 --//
2 --/ if DEBUG then
2 --//         if Orig'Length (1) * Orig'Length (2) * Original'Size / U_Char'Size /=
2 --//            Uca'Length then
2 --//             raise Constraint_Error;
2 --//         end if;
2 --/ end if;

* Insert after 242
2 --//

* Delete 256..257
1 --//         Length : constant S_Natural :=
1 --//            (Original'Size + U_Char'Size - 1) / U_Char'Size;

* Change 259
1 --//         if Length /= Uca'Length then
-----
2 --//
2 --/ if DEBUG then
2 --//         if Original'Size / U_Char'Size /= Uca'Length then

* Change 261
1 --//         elsif Original'Size < 32 then
-----
2 --//         end if;
2 --/ end if;
2 --//         if Original'Size < 32 then

* Change 272..274
1 --//                 Xlbmt_Mem_Copy (A.A'Address,
1 --//                                 Uca (Uca'First)'Address,
1 --//                                 Length);
-----
2 --//                 Xlbmt_Mem_Copy
2 --//                    (A.A'Address, Uca (Uca'First)'Address, Uca'Length);

* Change 277..278
1 --//         elsif Length > 0 then
1 --//             Xlbmt_Mem_Copy (Orig'Address, Uca (Uca'First)'Address, Length);
-----
2 --//         elsif Uca'Length > 0 then
2 --//             Xlbmt_Mem_Copy (Orig'Address, Uca (Uca'First)'Address, Uca'Length);

* Insert after 279
2 --//

* Change 285
1 --  it may not work for you.  It works on an R1000.
-----
2 --  it may not work for you.  Do not modify this code.  Copy it into
2 --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --  some targets.

* Delete 289..290
1         Length : constant S_Natural :=  
1            (Original'Size + U_Char'Size - 1) / U_Char'Size;  

* Change 294..295
1     begin  
1         if Length /= Uca'Length then  
-----
2     begin
2 
2 --/ if DEBUG then
2         if Original'Size / U_Char'Size /= Uca'Length then  

* Change 297..299
1         else  
1             Orig := From_Uca (Rda);  
1         end if;  
-----
2         end if;
2 --/ end if;
2         Orig := From_Uca (Rda);
2 

* Change 311..314
1 --//     procedure Convert_Uca_To_Private (Orig   : out Original;
1 --//                                       Uca :     U_Char_Array) is
1 --//         Length : constant S_Natural :=
1 --//            (Original'Size + U_Char'Size - 1) / U_Char'Size;
-----
2 --//     procedure Convert_Uca_To_Private (Orig : out Original;
2 --//                                       Uca  :     U_Char_Array) is

* Change 316
1 --//         if Length /= Uca'Length then
-----
2 --//
2 --/ if DEBUG then
2 --//         if Original'Size / U_Char'Size /= Uca'Length then

* Change 318..321
1 --//         elsif Length > 0 then
1 --//             Xlbmt_Mem_Copy (Orig'Address,
1 --//                             Uca (Uca'First)'Address,
1 --//                             Length);
-----
2 --//         end if;
2 --/ end if;
2 --//         if Uca'Length > 0 then
2 --//             Xlbmt_Mem_Copy (Orig'Address, Uca (Uca'First)'Address, Uca'Length);

* Insert after 322
2 --//

* Change 328
1 --  it may not work for you.  It works on an R1000.
-----
2 --  it may not work for you.  Do not modify this code.  Copy it into
2 --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --  some targets.

* Delete 332..333
1         Length : constant S_Natural :=  
1            (Original'Size + U_Char'Size - 1) / U_Char'Size;  

* Change 337..338
1     begin  
1         if Length /= Uca'Length then  
-----
2     begin
2 
2 --/ if DEBUG then
2         if Original'Size / U_Char'Size /= Uca'Length then  

* Change 340..342
1         else  
1             Orig := From_Uca (Rda);  
1         end if;  
-----
2         end if;
2 --/ end if;
2         Orig := From_Uca (Rda);
2 

* Delete 356
1 --//         Length : constant S_Natural := Uca'Length;

* Change 359
1 --//         if Length * U_Char'Size /= Orig'Length * Original'Size then
-----
2 --/ if DEBUG then
2 --//         if Uca'Length /= Orig'Length * Original'Size / U_Char'Size then

* Change 361
1 --//         elsif Length > 0 then
-----
2 --//         end if;
2 --/ end if;
2 --//         if Uca'Length > 0 then

* Change 363..364
1 --//                             Uca (Uca'First)'Address,
1 --//                             Length);
-----
2 --//                             Uca (Uca'First)'Address, Uca'Length);

* Change 372
1 --  it may not work for you.  It works on an R1000.
-----
2 --  it may not work for you.  Do not modify this code.  Copy it into
2 --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --  some targets.

* Delete 376..377
1         Length : constant S_Natural :=  
1            (Orig'Length * Original'Size + U_Char'Size - 1) / U_Char'Size;  

* Change 382..383
1         if Length /= Uca'Length then  
1             raise Constraint_Error;
-----
2 --/ if DEBUG then
2         if Uca'Length /= Orig'Length * Original'Size / U_Char'Size then  
2             raise Constraint_Error;  
2         end if;
2 --/ end if;

* Change 390
1         elsif Length > 0 then  
-----
2         if Orig'Length > 0 then  

* Delete 416
1 --//         Length : constant S_Natural := Uca'Length;

* Change 419..420
1 --//         if Length * U_Char'Size /=
1 --//            Orig'Length (1) * Orig'Length (2) * Original'Size then
-----
2 --/ if DEBUG then
2 --//         if Uca'Length /= Orig'Length (1) * Orig'Length (2) *
2 --//                             Original'Size / U_Char'Size then

* Change 422
1 --//         elsif Length > 0 then
-----
2 --//         end if;
2 --/ end if;
2 --//         if Uca'Length > 0 then

* Change 424..425
1 --//                             Uca (Uca'First)'Address,
1 --//                             Length);
-----
2 --//                             Uca (Uca'First)'Address, Uca'Length);

* Change 433
1 --  it may not work for you.  It works on an R1000
-----
2 --  it may not work for you.  Do not modify this code.  Copy it into
2 --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --  some targets.

* Delete 437..439
1         Length : constant S_Natural :=  
1            (Orig'Length (1) * Orig'Length (2) * Original'Size +  
1             U_Char'Size - 1) / U_Char'Size;  

* Change 444..445
1         if Length /= Uca'Length then  
1             raise Constraint_Error;
-----
2 --/ if DEBUG then
2         if Uca'Length /= Orig'Length (1) * Orig'Length (2) *  
2                             Original'Size / U_Char'Size then  
2             raise Constraint_Error;  
2         end if;
2 --/ end if;

* Change 452
1         elsif Length > 0 then  
-----
2         if Uca'Length /= 0 then  

* Change 470
1 --// --  it may not work for you.
-----
2 --// --  it may not work for you.  Do not modify this code.  Copy it into
2 --// --  a new ELSE arm aimed at your particular taget.  It *does* work for
2 --// --  some targets.

* Delete 474..476
1 --//        Length : constant S_Natural :=
1 --//           (Orig'Length (1) * Orig'Length (2) * Original'Size +
1 --//            U_Char'Size - 1) / U_Char'Size;

* Change 481
1 --//         if Length /= Uca'Length then
-----
2 --/ if DEBUG then
2 --//         if Uca'Length /= Orig'Length (1) * Orig'Length (2) *
2 --//                             Original'Size / U_Char'Size then

* Insert after 482
2 --//         end if;
2 --/ end if;

* Change 489
1 --//         elsif Length > 0 then
-----
2 --//         if Uca'Length /= 0 then

* Change 507
1 --//     end Convert_Uca_To_Array;
-----
2 --//     end Convert_Uca_To_2d_Array;
15:40:08 ::: [end of File_Utilities.Difference].
15:40:09 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:40:09 ... UNITS.PMD_PROCS.XLBP_U_CHAR_GENERICS'SPEC'V(5)", "!X11.X_LIBRARY.
15:40:09 ... REV6_0_0_WORKING.UNITS.PMD_PROCS.XLBP_U_CHAR_GENERICS'SPEC'V(1)", 
15:40:09 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMD_PROCS.XLBP_U_CHAR_GENERICS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMD_PROCS.XLBP_U_CHAR_GENERICS'SPEC
* Change 11
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
15:40:10 ::: [end of File_Utilities.Difference].
15:40:14 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:40:14 ... UNITS.PMD_TYPES.XLBT_PROC_VAR'BODY'V(5)", "!X11.X_LIBRARY.
15:40:14 ... REV6_0_0_WORKING.UNITS.PMD_TYPES.XLBT_PROC_VAR'BODY'V(1)", "", 
15:40:14 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMD_TYPES.XLBT_PROC_VAR'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMD_TYPES.XLBT_PROC_VAR'BODY
* Insert after 2
2 --/ elsif Cdf_Hpux then
2 --// with System;

* Change 27
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 79
2 --/ elsif Cdf_Hpux then
2 --//             Subprog : System.Address;
2 --//             A1      : System.Address;

* Change 82
1 --//             A4      : System.Address;
-----
2 --//             A4 : System.Address;

* Change 122..123
1        constant
1 
-----
2        constant  

* Change 148..149
1        constant
1 
-----
2        constant  

* Insert after 178
2 
2 --
2 --/ if Cdf_Hpux then
2 --//
2 --//     function New_Procedure_Data
2 --//                 (Sig     : X_Procedure_Signature;
2 --//                  Subprog : System.Address;
2 --//                  A1      : System.Address) return X_Procedure_Variable is
2 --// ------------------------------------------------------------------------------
2 --// -- Allocate storage for a new procedure variable.
2 --// ------------------------------------------------------------------------------
2 --//     begin
2 --//
2 --//         return new X_Procedure_Variable_Rec'
2 --//                       (Key  => Magic_Value,
2 --//                        Data => new X_Procedure_Data_Rec'(Key     => Magic_Value,
2 --//                                                          Sig     => Sig,
2 --//                                                          Subprog => Subprog,
2 --//                                                          A1      => A1));
2 --//
2 --//     end New_Procedure_Data;
2 --/ end if;

* Change 380
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Cdf_Hpux then

* Change 388..389
1 --//                                   A4      : System.Address;
1 --//                                   Arg1    : System.Address);
-----
2 --//                                   A1      : System.Address;
2 --//                                   Offset  : Integer);

* Change 391
1 --//         pragma Linkname (Invoke_Subprog, "_Xlbmt_InOut_Invoke_Procedure");
-----
2 --//         pragma Import_Procedure (Internal => Invoke_Subprog,
2 --//                                  External => "__Xlbmt_InOut_Invoke_Procedure",
2 --//                                  Parameter_Types => (System.Address,
2 --//                                                      System.Address, Integer),
2 --//                                  Mechanism => (Value, Value, Value));
2 --//
2 --//         function Get_A7 return Integer;
2 --//         pragma Interface (Assembly, Get_A7);
2 --//         pragma Import_Function (Internal        => Get_A7,
2 --//                                 External        => "__Xlbmt_Get_A7",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => Integer);
2 --//
2 --//         function Get_A1 return System.Address;
2 --//         pragma Interface (Assembly, Get_A1);
2 --//         pragma Import_Function (Internal        => Get_A1,
2 --//                                 External        => "__Xlbmt_Get_A1",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => System.Address);
2 --//
2 --//         procedure Call (Pvv : Pv; Data : in out Parm1) is
2 --//             Sp1, Sp2 : Integer;

* Change 393..395
1 --//         function Get_A4 return System.Address;
1 --//         pragma Interface (Assembly, Get_A4);
1 --//         pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
-----
2 --//             procedure Call (Data : in out Parm1) is
2 --//             begin
2 --//                 Sp2 := Get_A7;
2 --//             end Call;

* Delete 397..398
1 --//         procedure Call (Pvv  :        Pv;
1 --//                         Data : in out Parm1) is

* Change 400..401
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Change 406
1 --//             Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
-----
2 --//
2 --//             Sp1 := Get_A7;
2 --//             Call (Data);
2 --//             Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A1, Sp1 - Sp2);

* Change 412
1 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4);
-----
2 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A1);

* Change 423..424
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Insert after 456
2 --//
2 --/ end if;    -- Cdf_Hpux
2 
2 --
2 ------------------------------------------------------------------------------
2 -- Procedure with 1 In Out parameter.
2 ------------------------------------------------------------------------------
2 --/ if TeleGen2 and then Unix then
2 --//
2 --// package body Proc_Inout is
2 --//
2 --//    Signature : constant X_Procedure_Signature :=
2 --//       X_Unique_Procedure_Signature;
2 --//
2 --//    procedure Invoke_Subprog (Subprog : System.Address;
2 --//                              A4      : System.Address;
2 --//                              Arg1    : System.Address);
2 --//    pragma Interface (Assembly, Invoke_Subprog);
2 --//    pragma Linkname (Invoke_Subprog, "_Xlbmt_InOut_Invoke_Procedure");
2 --//
2 --//    function Get_A4 return System.Address;
2 --//    pragma Interface (Assembly, Get_A4);
2 --//    pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
2 --//
2 --//    procedure Call (Pvv  :        Pv;
2 --//                    Data : in out Parm1) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
2 --//    end Call;
2 --//
2 --//    function Value return Pv is
2 --//        Pvr : X_Procedure_Variable;
2 --//    begin
2 --//        Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4 );
2 --//        return Pv (Pvr);
2 --//    exception
2 --//        when others =>
2 --//            Heap_Free_X_Procedure_Data (Pvr.Data);
2 --//            Heap_Free_X_Procedure_Variable (Pvr);
2 --//            raise;
2 --//    end Value;
2 --//
2 --//    procedure Free (Pvv : in out Pv) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Free_X_Procedure_Variable (X_Procedure_Variable (Pvv));
2 --//    end Free;
2 --//
2 --//    function To_Pv (Pvv : X_Procedure_Variable) return Pv is
2 --//    begin
2 --//        if Pvv = None_X_Procedure_Variable then
2 --//            return None;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Pv (Pvv);
2 --//    end To_Pv;
2 --//
2 --//    function From_Pv (Pvv : Pv) return X_Procedure_Variable is
2 --//    begin
2 --//        if Pvv = None then
2 --//            return None_X_Procedure_Variable;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return X_Procedure_Variable (Pvv);
2 --//    end From_Pv;
2 --//
2 --// end Proc_Inout;

* Change 551
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Cdf_Hpux then

* Change 559..560
1 --//                                   A4      : System.Address;
1 --//                                   Arg1    : System.Address);
-----
2 --//                                   A1      : System.Address;
2 --//                                   Offset  : Integer);

* Change 562
1 --//         pragma Linkname (Invoke_Subprog, "_Xlbmt_In_Invoke_Procedure");
-----
2 --//         pragma Import_Procedure (Internal => Invoke_Subprog,
2 --//                                  External => "__Xlbmt_In_Invoke_Procedure",
2 --//                                  Parameter_Types => (System.Address,
2 --//                                                      System.Address, Integer),
2 --//                                  Mechanism => (Value, Value, Value));
2 --//
2 --//         function Get_A7 return Integer;
2 --//         pragma Interface (Assembly, Get_A7);
2 --//         pragma Import_Function (Internal        => Get_A7,
2 --//                                 External        => "__Xlbmt_Get_A7",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => Integer);
2 --//
2 --//         function Get_A1 return System.Address;
2 --//         pragma Interface (Assembly, Get_A1);
2 --//         pragma Import_Function (Internal        => Get_A1,
2 --//                                 External        => "__Xlbmt_Get_A1",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => System.Address);
2 --//
2 --//         procedure Call (Pvv : Pv; Data : in Parm1) is
2 --//             Sp1, Sp2 : Integer;

* Change 564..566
1 --//         function Get_A4 return System.Address;
1 --//         pragma Interface (Assembly, Get_A4);
1 --//         pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
-----
2 --//             procedure Call (Data : in Parm1) is
2 --//             begin
2 --//                 Sp2 := Get_A7;
2 --//             end Call;

* Delete 568..569
1 --//         procedure Call (Pvv  :    Pv;
1 --//                         Data : in Parm1) is

* Change 571..572
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Change 577
1 --//             Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
-----
2 --//
2 --//             Sp1 := Get_A7;
2 --//             Call (Data);
2 --//             Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A1, Sp1 - Sp2);

* Change 583
1 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4);
-----
2 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A1);

* Change 594..595
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Insert after 627
2 --//
2 --/ end if; -- Cdf_Hpux
2 
2 --
2 ------------------------------------------------------------------------------
2 -- Procedure with 1 In parameter.
2 ------------------------------------------------------------------------------
2 --/ if TeleGen2 and then Unix then
2 --//
2 --// package body Proc_In is
2 --//
2 --//    Signature : constant X_Procedure_Signature :=
2 --//       X_Unique_Procedure_Signature;
2 --//
2 --//    procedure Invoke_Subprog (Subprog : System.Address;
2 --//                              A4      : System.Address;
2 --//                              Arg1    : System.Address);
2 --//    pragma Interface (Assembly, Invoke_Subprog);
2 --//    pragma Linkname (Invoke_Subprog, "_Xlbmt_In_Invoke_Procedure");
2 --//
2 --//    function Get_A4 return System.Address;
2 --//    pragma Interface (Assembly, Get_A4);
2 --//    pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
2 --//
2 --//    procedure Call (Pvv  :    Pv;
2 --//                    Data : in Parm1) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
2 --//    end Call;
2 --//
2 --//    function Value return Pv is
2 --//        Pvr : X_Procedure_Variable;
2 --//    begin
2 --//        Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4 );
2 --//        return Pv (Pvr);
2 --//    exception
2 --//        when others =>
2 --//            Heap_Free_X_Procedure_Data (Pvr.Data);
2 --//            Heap_Free_X_Procedure_Variable (Pvr);
2 --//            raise;
2 --//    end Value;
2 --//
2 --//    procedure Free (Pvv : in out Pv) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Free_X_Procedure_Variable (X_Procedure_Variable (Pvv));
2 --//    end Free;
2 --//
2 --//    function To_Pv (Pvv : X_Procedure_Variable) return Pv is
2 --//    begin
2 --//        if Pvv = None_X_Procedure_Variable then
2 --//            return None;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Pv (Pvv);
2 --//    end To_Pv;
2 --//
2 --//    function From_Pv (Pvv : Pv) return X_Procedure_Variable is
2 --//    begin
2 --//        if Pvv = None then
2 --//            return None_X_Procedure_Variable;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return X_Procedure_Variable (Pvv);
2 --//    end From_Pv;
2 --//
2 --// end Proc_In;

* Change 724
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Cdf_Hpux then

* Change 732..733
1 --//                                   A4      : System.Address;
1 --//                                   Arg1    : System.Address);
-----
2 --//                                   A1      : System.Address;
2 --//                                   Offset  : Integer);

* Change 735
1 --//         pragma Linkname (Invoke_Subprog, "_Xlbmt_In_Invoke_Procedure");
-----
2 --//         pragma Import_Procedure (Internal => Invoke_Subprog,
2 --//                                  External => "__Xlbmt_In_Invoke_Procedure",
2 --//                                  Parameter_Types => (System.Address,
2 --//                                                      System.Address, Integer),
2 --//                                  Mechanism => (Value, Value, Value));
2 --//
2 --//         function Get_A7 return Integer;
2 --//         pragma Interface (Assembly, Get_A7);
2 --//         pragma Import_Function (Internal        => Get_A7,
2 --//                                 External        => "__Xlbmt_Get_A7",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => Integer);
2 --//
2 --//         function Get_A1 return System.Address;
2 --//         pragma Interface (Assembly, Get_A1);
2 --//         pragma Import_Function (Internal        => Get_A1,
2 --//                                 External        => "__Xlbmt_Get_A1",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => System.Address);
2 --//
2 --//         procedure Call (Pvv : Pv; Data1 : in Parm1; Data2 : in Parm2) is
2 --//             Sp1, Sp2 : Integer;

* Change 737..739
1 --//         function Get_A4 return System.Address;
1 --//         pragma Interface (Assembly, Get_A4);
1 --//         pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
-----
2 --//             procedure Call (Data1 : in Parm1;
2 --//                             Data2 : in Parm2) is
2 --//             begin
2 --//                 Sp2 := Get_A7;
2 --//             end Call;

* Delete 741..743
1 --//         procedure Call (Pvv   :    Pv;
1 --//                         Data1 : in Parm1;
1 --//                         Data2 : in Parm2) is

* Change 745..746
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Change 751
1 --//             Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
-----
2 --//
2 --//             Sp1 := Get_A7;
2 --//             Call (Data1, Data2);
2 --//             Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A1, Sp1 - Sp2);

* Change 757
1 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4);
-----
2 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A1);

* Change 768..769
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Insert after 801
2 --//
2 --/ end if; -- Cdf_Hpux
2 
2 --
2 ------------------------------------------------------------------------------
2 -- Procedure with 2 In parameters.
2 ------------------------------------------------------------------------------
2 --/ if TeleGen2 and then Unix then
2 --//
2 --// package body Proc_In_In is
2 --//
2 --//    Signature : constant X_Procedure_Signature :=
2 --//       X_Unique_Procedure_Signature;
2 --//
2 --//    procedure Invoke_Subprog (Subprog : System.Address;
2 --//                              A4      : System.Address;
2 --//                              Arg1    : System.Address);
2 --//    pragma Interface (Assembly, Invoke_Subprog);
2 --//    pragma Linkname (Invoke_Subprog, "_Xlbmt_In_Invoke_Procedure");
2 --//
2 --//    function Get_A4 return System.Address;
2 --//    pragma Interface (Assembly, Get_A4);
2 --//    pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
2 --//
2 --//    procedure Call (Pvv   :    Pv;
2 --//                    Data1 : in Parm1;
2 --//                    Data2 : in Parm2) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
2 --//    end Call;
2 --//
2 --//    function Value return Pv is
2 --//        Pvr : X_Procedure_Variable;
2 --//    begin
2 --//        Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4 );
2 --//        return Pv (Pvr);
2 --//    exception
2 --//        when others =>
2 --//            Heap_Free_X_Procedure_Data (Pvr.Data);
2 --//            Heap_Free_X_Procedure_Variable (Pvr);
2 --//            raise;
2 --//    end Value;
2 --//
2 --//    procedure Free (Pvv : in out Pv) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Free_X_Procedure_Variable (X_Procedure_Variable (Pvv));
2 --//    end Free;
2 --//
2 --//    function To_Pv (Pvv : X_Procedure_Variable) return Pv is
2 --//    begin
2 --//        if Pvv = None_X_Procedure_Variable then
2 --//            return None;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Pv (Pvv);
2 --//    end To_Pv;
2 --//
2 --//    function From_Pv (Pvv : Pv) return X_Procedure_Variable is
2 --//    begin
2 --//        if Pvv = None then
2 --//            return None_X_Procedure_Variable;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return X_Procedure_Variable (Pvv);
2 --//    end From_Pv;
2 --//
2 --// end Proc_In_In;

* Change 899
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Cdf_Hpux then

* Change 907..908
1 --//                                   A4      : System.Address;
1 --//                                   Arg1    : System.Address);
-----
2 --//                                   A1      : System.Address;
2 --//                                   Offset  : Integer);

* Change 910
1 --//         pragma Linkname (Invoke_Subprog, "_Xlbmt_In_Invoke_Procedure");
-----
2 --//         pragma Import_Procedure (Internal => Invoke_Subprog,
2 --//                                  External => "__Xlbmt_In_Invoke_Procedure",
2 --//                                  Parameter_Types => (System.Address,
2 --//                                                      System.Address, Integer),
2 --//                                  Mechanism => (Value, Value, Value));
2 --//
2 --//         function Get_A7 return Integer;
2 --//         pragma Interface (Assembly, Get_A7);
2 --//         pragma Import_Function (Internal        => Get_A7,
2 --//                                 External        => "__Xlbmt_Get_A7",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => Integer);

* Change 912..914
1 --//         function Get_A4 return System.Address;
1 --//         pragma Interface (Assembly, Get_A4);
1 --//         pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
-----
2 --//         function Get_A1 return System.Address;
2 --//         pragma Interface (Assembly, Get_A1);
2 --//         pragma Import_Function (Internal        => Get_A1,
2 --//                                 External        => "__Xlbmt_Get_A1",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => System.Address);

* Insert after 919
2 --//             Sp1, Sp2 : Integer;
2 --//
2 --//             procedure Call (Data1 : in Parm1;
2 --//                             Data2 : in Parm2;
2 --//                             Data3 : in Parm3) is
2 --//             begin
2 --//                 Sp2 := Get_A7;
2 --//             end Call;
2 --//

* Change 921..922
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Change 927
1 --//             Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
-----
2 --//
2 --//             Sp1 := Get_A7;
2 --//             Call (Data1, Data2, Data3);
2 --//             Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A1, Sp1 - Sp2);

* Change 933
1 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4);
-----
2 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A1);

* Change 944..945
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Insert after 977
2 --//
2 --/ end if; -- Cdf_Hpux
2 
2 --
2 ------------------------------------------------------------------------------
2 -- Procedure with 3 In parameters.
2 ------------------------------------------------------------------------------
2 --/ if TeleGen2 and then Unix then
2 --//
2 --// package body Proc_In_In_In is
2 --//
2 --//    Signature : constant X_Procedure_Signature :=
2 --//       X_Unique_Procedure_Signature;
2 --//
2 --//    procedure Invoke_Subprog (Subprog : System.Address;
2 --//                              A4      : System.Address;
2 --//                              Arg1    : System.Address);
2 --//    pragma Interface (Assembly, Invoke_Subprog);
2 --//    pragma Linkname (Invoke_Subprog, "_Xlbmt_In_Invoke_Procedure");
2 --//
2 --//    function Get_A4 return System.Address;
2 --//    pragma Interface (Assembly, Get_A4);
2 --//    pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
2 --//
2 --//    procedure Call (Pvv   :    Pv;
2 --//                    Data1 : in Parm1;
2 --//                    Data2 : in Parm2;
2 --//                    Data3 : in Parm3) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
2 --//    end Call;
2 --//
2 --//    function Value return Pv is
2 --//        Pvr : X_Procedure_Variable;
2 --//    begin
2 --//        Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4 );
2 --//        return Pv (Pvr);
2 --//    exception
2 --//        when others =>
2 --//            Heap_Free_X_Procedure_Data (Pvr.Data);
2 --//            Heap_Free_X_Procedure_Variable (Pvr);
2 --//            raise;
2 --//    end Value;
2 --//
2 --//    procedure Free (Pvv : in out Pv) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Free_X_Procedure_Variable (X_Procedure_Variable (Pvv));
2 --//    end Free;
2 --//
2 --//    function To_Pv (Pvv : X_Procedure_Variable) return Pv is
2 --//    begin
2 --//        if Pvv = None_X_Procedure_Variable then
2 --//            return None;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Pv (Pvv);
2 --//    end To_Pv;
2 --//
2 --//    function From_Pv (Pvv : Pv) return X_Procedure_Variable is
2 --//    begin
2 --//        if Pvv = None then
2 --//            return None_X_Procedure_Variable;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return X_Procedure_Variable (Pvv);
2 --//    end From_Pv;
2 --//
2 --// end Proc_In_In_In;

* Change 1078
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Cdf_Hpux then

* Change 1086..1087
1 --//                                   A4      : System.Address;
1 --//                                   Arg1    : System.Address);
-----
2 --//                                   A1      : System.Address;
2 --//                                   Offset  : Integer);

* Change 1089
1 --//         pragma Linkname (Invoke_Subprog, "_Xlbmt_In_Invoke_Procedure");
-----
2 --//         pragma Import_Procedure (Internal => Invoke_Subprog,
2 --//                                  External => "__Xlbmt_In_Invoke_Procedure",
2 --//                                  Parameter_Types => (System.Address,
2 --//                                                      System.Address, Integer),
2 --//                                  Mechanism => (Value, Value, Value));
2 --//
2 --//         function Get_A7 return Integer;
2 --//         pragma Interface (Assembly, Get_A7);
2 --//         pragma Import_Function (Internal        => Get_A7,
2 --//                                 External        => "__Xlbmt_Get_A7",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => Integer);

* Change 1091..1093
1 --//         function Get_A4 return System.Address;
1 --//         pragma Interface (Assembly, Get_A4);
1 --//         pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
-----
2 --//         function Get_A1 return System.Address;
2 --//         pragma Interface (Assembly, Get_A1);
2 --//         pragma Import_Function (Internal        => Get_A1,
2 --//                                 External        => "__Xlbmt_Get_A1",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => System.Address);

* Insert after 1099
2 --//             Sp1, Sp2 : Integer;
2 --//
2 --//             procedure Call (Data1 : in Parm1;
2 --//                             Data2 : in Parm2;
2 --//                             Data3 : in Parm3;
2 --//                             Data4 : in Parm4) is
2 --//             begin
2 --//                 Sp2 := Get_A7;
2 --//             end Call;
2 --//

* Change 1101..1102
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Change 1107
1 --//             Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
-----
2 --//
2 --//             Sp1 := Get_A7;
2 --//             Call (Data1, Data2, Data3, Data4);
2 --//             Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A1, Sp1 - Sp2);

* Change 1113
1 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4);
-----
2 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A1);

* Change 1124..1125
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Insert after 1157
2 --//
2 --/ end if; -- Cdf_Hpux
2 
2 --
2 ------------------------------------------------------------------------------
2 -- Procedure with 4 In parameters.
2 ------------------------------------------------------------------------------
2 --/ if TeleGen2 and then Unix then
2 --//
2 --// package body Proc_In_In_In_In is
2 --//
2 --//    Signature : constant X_Procedure_Signature :=
2 --//       X_Unique_Procedure_Signature;
2 --//
2 --//    procedure Invoke_Subprog (Subprog : System.Address;
2 --//                              A4      : System.Address;
2 --//                              Arg1    : System.Address);
2 --//    pragma Interface (Assembly, Invoke_Subprog);
2 --//    pragma Linkname (Invoke_Subprog, "_Xlbmt_In_Invoke_Procedure");
2 --//
2 --//    function Get_A4 return System.Address;
2 --//    pragma Interface (Assembly, Get_A4);
2 --//    pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
2 --//
2 --//    procedure Call (Pvv   :    Pv;
2 --//                    Data1 : in Parm1;
2 --//                    Data2 : in Parm2;
2 --//                    Data3 : in Parm3;
2 --//                    Data4 : in Parm4) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
2 --//    end Call;
2 --//
2 --//    function Value return Pv is
2 --//        Pvr : X_Procedure_Variable;
2 --//    begin
2 --//        Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4 );
2 --//        return Pv (Pvr);
2 --//    exception
2 --//        when others =>
2 --//            Heap_Free_X_Procedure_Data (Pvr.Data);
2 --//            Heap_Free_X_Procedure_Variable (Pvr);
2 --//            raise;
2 --//    end Value;
2 --//
2 --//    procedure Free (Pvv : in out Pv) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Free_X_Procedure_Variable (X_Procedure_Variable (Pvv));
2 --//    end Free;
2 --//
2 --//    function To_Pv (Pvv : X_Procedure_Variable) return Pv is
2 --//    begin
2 --//        if Pvv = None_X_Procedure_Variable then
2 --//            return None;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Pv (Pvv);
2 --//    end To_Pv;
2 --//
2 --//    function From_Pv (Pvv : Pv) return X_Procedure_Variable is
2 --//    begin
2 --//        if Pvv = None then
2 --//            return None_X_Procedure_Variable;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return X_Procedure_Variable (Pvv);
2 --//    end From_Pv;
2 --//
2 --// end Proc_In_In_In_In;

* Change 1264
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Cdf_Hpux then

* Change 1272..1273
1 --//                                   A4      : System.Address;
1 --//                                   Arg1    : System.Address);
-----
2 --//                                   A1      : System.Address;
2 --//                                   Offset  : Integer);

* Change 1275
1 --//         pragma Linkname (Invoke_Subprog, "_Xlbmt_In_Invoke_Procedure");
-----
2 --//         pragma Import_Procedure (Internal => Invoke_Subprog,
2 --//                                  External => "__Xlbmt_In_Invoke_Procedure",
2 --//                                  Parameter_Types => (System.Address,
2 --//                                                      System.Address, Integer),
2 --//                                  Mechanism => (Value, Value, Value));
2 --//
2 --//         function Get_A7 return Integer;
2 --//         pragma Interface (Assembly, Get_A7);
2 --//         pragma Import_Function (Internal        => Get_A7,
2 --//                                 External        => "__Xlbmt_Get_A7",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => Integer);

* Change 1277..1279
1 --//         function Get_A4 return System.Address;
1 --//         pragma Interface (Assembly, Get_A4);
1 --//         pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
-----
2 --//         function Get_A1 return System.Address;
2 --//         pragma Interface (Assembly, Get_A1);
2 --//         pragma Import_Function (Internal        => Get_A1,
2 --//                                 External        => "__Xlbmt_Get_A1",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => System.Address);

* Insert after 1291
2 --//             Sp1, Sp2 : Integer;
2 --//
2 --//             procedure Call (Data1  : in Parm1;
2 --//                             Data2  : in Parm2;
2 --//                             Data3  : in Parm3;
2 --//                             Data4  : in Parm4;
2 --//                             Data5  : in Parm5;
2 --//                             Data6  : in Parm6;
2 --//                             Data7  : in Parm7;
2 --//                             Data8  : in Parm8;
2 --//                             Data9  : in Parm9;
2 --//                             Data10 : in Parm10) is
2 --//             begin
2 --//                 Sp2 := Get_A7;
2 --//             end Call;
2 --//

* Change 1293..1294
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Change 1299
1 --//             Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
-----
2 --//
2 --//             Sp1 := Get_A7;
2 --//             Call (Data1, Data2, Data3, Data4, Data5,
2 --//                   Data6, Data7, Data8, Data9, Data10);
2 --//             Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A1, Sp1 - Sp2);

* Change 1305
1 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4);
-----
2 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A1);

* Change 1316..1317
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Insert after 1349
2 --//
2 --/ end if; -- Cdf_Hpux
2 
2 --
2 ------------------------------------------------------------------------------
2 -- Procedure with 10 In parameters.
2 ------------------------------------------------------------------------------
2 --/ if TeleGen2 and then Unix then
2 --//
2 --// package body Proc_In10 is
2 --//
2 --//    Signature : constant X_Procedure_Signature :=
2 --//       X_Unique_Procedure_Signature;
2 --//
2 --//    procedure Invoke_Subprog (Subprog : System.Address;
2 --//                              A4      : System.Address;
2 --//                              Arg1    : System.Address);
2 --//    pragma Interface (Assembly, Invoke_Subprog);
2 --//    pragma Linkname (Invoke_Subprog, "_Xlbmt_In_Invoke_Procedure");
2 --//
2 --//    function Get_A4 return System.Address;
2 --//    pragma Interface (Assembly, Get_A4);
2 --//    pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
2 --//
2 --//    procedure Call (Pvv    :    Pv;
2 --//                    Data1  : in Parm1;
2 --//                    Data2  : in Parm2;
2 --//                    Data3  : in Parm3;
2 --//                    Data4  : in Parm4;
2 --//                    Data5  : in Parm5;
2 --//                    Data6  : in Parm6;
2 --//                    Data7  : in Parm7;
2 --//                    Data8  : in Parm8;
2 --//                    Data9  : in Parm9;
2 --//                    Data10 : in Parm10) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
2 --//    end Call;
2 --//
2 --//    function Value return Pv is
2 --//        Pvr : X_Procedure_Variable;
2 --//    begin
2 --//        Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4 );
2 --//        return Pv (Pvr);
2 --//    exception
2 --//        when others =>
2 --//            Heap_Free_X_Procedure_Data (Pvr.Data);
2 --//            Heap_Free_X_Procedure_Variable (Pvr);
2 --//            raise;
2 --//    end Value;
2 --//
2 --//    procedure Free (Pvv : in out Pv) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Free_X_Procedure_Variable (X_Procedure_Variable (Pvv));
2 --//    end Free;
2 --//
2 --//    function To_Pv (Pvv : X_Procedure_Variable) return Pv is
2 --//    begin
2 --//        if Pvv = None_X_Procedure_Variable then
2 --//            return None;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Pv (Pvv);
2 --//    end To_Pv;
2 --//
2 --//    function From_Pv (Pvv : Pv) return X_Procedure_Variable is
2 --//    begin
2 --//        if Pvv = None then
2 --//            return None_X_Procedure_Variable;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return X_Procedure_Variable (Pvv);
2 --//    end From_Pv;
2 --//
2 --// end Proc_In10;

* Change 1451
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Cdf_Hpux then

* Change 1459..1460
1 --//                                   A4      : System.Address;
1 --//                                   Arg1    : System.Address);
-----
2 --//                                   A1      : System.Address;
2 --//                                   Offset  : Integer);

* Change 1462
1 --//         pragma Linkname (Invoke_Subprog, "_Xlbmt_InOut_Invoke_Procedure");
-----
2 --//         pragma Import_Procedure (Internal => Invoke_Subprog,
2 --//                                  External => "__Xlbmt_InOut_Invoke_Procedure",
2 --//                                  Parameter_Types => (System.Address,
2 --//                                                      System.Address, Integer),
2 --//                                  Mechanism => (Value, Value, Value));
2 --//
2 --//         function Get_A7 return Integer;
2 --//         pragma Interface (Assembly, Get_A7);
2 --//         pragma Import_Function (Internal        => Get_A7,
2 --//                                 External        => "__Xlbmt_Get_A7",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => Integer);

* Change 1464..1466
1 --//         function Get_A4 return System.Address;
1 --//         pragma Interface (Assembly, Get_A4);
1 --//         pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
-----
2 --//         function Get_A1 return System.Address;
2 --//         pragma Interface (Assembly, Get_A1);
2 --//         pragma Import_Function (Internal        => Get_A1,
2 --//                                 External        => "__Xlbmt_Get_A1",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => System.Address);

* Insert after 1473
2 --//             Sp1, Sp2 : Integer;
2 --//
2 --//             procedure Call (Data1 : in  Parm1;
2 --//                             Data2 : in  Parm2;
2 --//                             Data3 : in  Parm3;
2 --//                             Data4 : out Parm4;
2 --//                             Data5 : out Parm5) is
2 --//             begin
2 --//                 Sp2 := Get_A7;
2 --//             end Call;
2 --//

* Change 1475..1476
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Change 1481
1 --//             Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
-----
2 --//
2 --//             Sp1 := Get_A7;
2 --//             Call (Data1, Data2, Data3, Data4, Data5);
2 --//             Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A1, Sp1 - Sp2);

* Change 1487
1 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4);
-----
2 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A1);

* Change 1498..1499
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Insert after 1531
2 --//
2 --/ end if; -- Cdf_Hpux
2 
2 --
2 ------------------------------------------------------------------------------
2 -- Procedure with 3 In parameters and 2 Out parameters.
2 ------------------------------------------------------------------------------
2 --/ if TeleGen2 and then Unix then
2 --//
2 --// package body Proc_In_In_In_Out_Out is
2 --//
2 --//    Signature : constant X_Procedure_Signature :=
2 --//       X_Unique_Procedure_Signature;
2 --//
2 --//    procedure Invoke_Subprog (Subprog : System.Address;
2 --//                              A4      : System.Address;
2 --//                              Arg1    : System.Address);
2 --//    pragma Interface (Assembly, Invoke_Subprog);
2 --//    pragma Linkname (Invoke_Subprog, "_Xlbmt_InOut_Invoke_Procedure");
2 --//
2 --//    function Get_A4 return System.Address;
2 --//    pragma Interface (Assembly, Get_A4);
2 --//    pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
2 --//
2 --//    procedure Call (Pvv   :     Pv;
2 --//                    Data1 : in  Parm1;
2 --//                    Data2 : in  Parm2;
2 --//                    Data3 : in  Parm3;
2 --//                    Data4 : out Parm4;
2 --//                    Data5 : out Parm5) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
2 --//    end Call;
2 --//
2 --//    function Value return Pv is
2 --//        Pvr : X_Procedure_Variable;
2 --//    begin
2 --//        Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4 );
2 --//        return Pv (Pvr);
2 --//    exception
2 --//        when others =>
2 --//            Heap_Free_X_Procedure_Data (Pvr.Data);
2 --//            Heap_Free_X_Procedure_Variable (Pvr);
2 --//            raise;
2 --//    end Value;
2 --//
2 --//    procedure Free (Pvv : in out Pv) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Free_X_Procedure_Variable (X_Procedure_Variable (Pvv));
2 --//    end Free;
2 --//
2 --//    function To_Pv (Pvv : X_Procedure_Variable) return Pv is
2 --//    begin
2 --//        if Pvv = None_X_Procedure_Variable then
2 --//             return none;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//             Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Pv (Pvv);
2 --//    end To_Pv;
2 --//
2 --//    function From_Pv (Pvv : Pv) return X_Procedure_Variable is
2 --//    begin
2 --//        if Pvv = None then
2 --//            return None_X_Procedure_Variable;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return X_Procedure_Variable (Pvv);
2 --//    end From_Pv;
2 --//
2 --// end Proc_In_In_In_Out_Out;

* Change 1632
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Cdf_Hpux then

* Change 1640..1641
1 --//                                   A4      : System.Address;
1 --//                                   Arg1    : System.Address);
-----
2 --//                                   A1      : System.Address;
2 --//                                   Offset  : Integer);

* Change 1643
1 --//         pragma Linkname (Invoke_Subprog, "_Xlbmt_InOut_Invoke_Procedure");
-----
2 --//         pragma Import_Procedure (Internal => Invoke_Subprog,
2 --//                                  External => "__Xlbmt_InOut_Invoke_Procedure",
2 --//                                  Parameter_Types => (System.Address,
2 --//                                                      System.Address, Integer),
2 --//                                  Mechanism => (Value, Value, Value));
2 --//
2 --//         function Get_A7 return Integer;
2 --//         pragma Interface (Assembly, Get_A7);
2 --//         pragma Import_Function (Internal        => Get_A7,
2 --//                                 External        => "__Xlbmt_Get_A7",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => Integer);

* Change 1645..1647
1 --//         function Get_A4 return System.Address;
1 --//         pragma Interface (Assembly, Get_A4);
1 --//         pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
-----
2 --//         function Get_A1 return System.Address;
2 --//         pragma Interface (Assembly, Get_A1);
2 --//         pragma Import_Function (Internal        => Get_A1,
2 --//                                 External        => "__Xlbmt_Get_A1",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => System.Address);

* Insert after 1653
2 --//             Sp1, Sp2 : Integer;
2 --//
2 --//             procedure Call (Data1 : in  Parm1;
2 --//                             Data2 : in  Parm2;
2 --//                             Data3 : out Parm3;
2 --//                             Data4 : out Parm4) is
2 --//             begin
2 --//                 Sp2 := Get_A7;
2 --//             end Call;
2 --//

* Change 1655..1656
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Change 1661
1 --//             Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
-----
2 --//
2 --//             Sp1 := Get_A7;
2 --//             Call (Data1, Data2, Data3, Data4);
2 --//             Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A1, Sp1 - Sp2);

* Change 1667
1 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4);
-----
2 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A1);

* Change 1678..1679
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Insert after 1711
2 --//
2 --/ end if; -- Cdf_Hpux
2 
2 --
2 ------------------------------------------------------------------------------
2 -- Procedure with 2 In parameters and 2 Out parameters.
2 ------------------------------------------------------------------------------
2 --/ if TeleGen2 and then Unix then
2 --//
2 --// package body Proc_In_In_Out_Out is
2 --//
2 --//    Signature : constant X_Procedure_Signature :=
2 --//       X_Unique_Procedure_Signature;
2 --//
2 --//    procedure Invoke_Subprog (Subprog : System.Address;
2 --//                              A4      : System.Address;
2 --//                              Arg1    : System.Address);
2 --//    pragma Interface (Assembly, Invoke_Subprog);
2 --//    pragma Linkname (Invoke_Subprog, "_Xlbmt_InOut_Invoke_Procedure");
2 --//
2 --//    function Get_A4 return System.Address;
2 --//    pragma Interface (Assembly, Get_A4);
2 --//    pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
2 --//
2 --//    procedure Call (Pvv   :     Pv;
2 --//                    Data1 : in  Parm1;
2 --//                    Data2 : in  Parm2;
2 --//                    Data3 : out Parm3;
2 --//                    Data4 : out Parm4) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
2 --//    end Call;
2 --//
2 --//    function Value return Pv is
2 --//        Pvr : X_Procedure_Variable;
2 --//    begin
2 --//        Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4 );
2 --//        return Pv (Pvr);
2 --//    exception
2 --//        when others =>
2 --//            Heap_Free_X_Procedure_Data (Pvr.Data);
2 --//            Heap_Free_X_Procedure_Variable (Pvr);
2 --//            raise;
2 --//    end Value;
2 --//
2 --//    procedure Free (Pvv : in out Pv) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Free_X_Procedure_Variable (X_Procedure_Variable (Pvv));
2 --//    end Free;
2 --//
2 --//    function To_Pv (Pvv : X_Procedure_Variable) return Pv is
2 --//    begin
2 --//        if Pvv = None_X_Procedure_Variable then
2 --//            return None;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Pv (Pvv);
2 --//    end To_Pv;
2 --//
2 --//    function From_Pv (Pvv : Pv) return X_Procedure_Variable is
2 --//    begin
2 --//        if Pvv = None then
2 --//            return None_X_Procedure_Variable;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return X_Procedure_Variable (Pvv);
2 --//    end From_Pv;
2 --//
2 --// end Proc_In_In_Out_Out;

* Insert after 1721
2 
2         Force_Constrained_Type : Ret;   -- Forces Ret type to be a fully
2                                         -- constrained type; LRM 12.3.2 (4).

* Change 1809
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Cdf_Hpux then

* Insert after 1811
2 --//
2 --//         Force_Constrained_Type : Ret;   -- Forces Ret type to be a fully
2 --//                                         -- constrained type; LRM 12.3.2 (4).

* Change 1817..1818
1 --//                                  A4      : System.Address;
1 --//                                  Arg1    : System.Address) return Ret;
-----
2 --//                                  A1      : System.Address;
2 --//                                  Offset  : Integer) return Ret;

* Change 1820
1 --//         pragma Linkname (Invoke_Subprog, "_Xlbmt_InOut_Invoke_Function");
-----
2 --//         pragma Import_Function
2 --//            (Internal        => Invoke_Subprog,
2 --//             External        => "__Xlbmt_InOut_Invoke_Function",
2 --//             Parameter_Types => (System.Address, System.Address, Integer),
2 --//             Mechanism       => (Value, Value, Value),
2 --//             Result_Type     => Ret);
2 --//
2 --//         function Get_A7 return Integer;
2 --//         pragma Interface (Assembly, Get_A7);
2 --//         pragma Import_Function (Internal        => Get_A7,
2 --//                                 External        => "__Xlbmt_Get_A7",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => Integer);
2 --//
2 --//         function Get_A1 return System.Address;
2 --//         pragma Interface (Assembly, Get_A1);
2 --//         pragma Import_Function (Internal        => Get_A1,
2 --//                                 External        => "__Xlbmt_Get_A1",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => System.Address);
2 --//
2 --//         function Call (Pvv : Pv; Data : in Parm1) return Ret is
2 --//             Sp1, Sp2 : Integer;

* Change 1822..1824
1 --//         function Get_A4 return System.Address;
1 --//         pragma Interface (Assembly, Get_A4);
1 --//         pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
-----
2 --//             procedure Call (Data : in Parm1) is
2 --//             begin
2 --//                 Sp2 := Get_A7;
2 --//             end Call;

* Delete 1826..1827
1 --//         function Call (Pvv  :    Pv;
1 --//                        Data : in Parm1) return Ret is

* Change 1829..1830
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Change 1835
1 --//             return Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
-----
2 --//
2 --//             Sp1 := Get_A7;
2 --//             Call (Data);
2 --//             return Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A1, Sp1 - Sp2);

* Change 1841
1 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4);
-----
2 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A1);

* Change 1852..1853
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Insert after 1885
2 --//
2 --/ end if; -- Cdf_Hpux
2 
2 --
2 ------------------------------------------------------------------------------
2 -- Function with 1 In parameter.
2 ------------------------------------------------------------------------------
2 --/ if TeleGen2 and then Unix then
2 --//
2 --// package body Func_In is
2 --//
2 --//    Force_Constrained_Type : Ret;   -- Forces Ret type to be a fully
2 --//                                    -- constrained type; LRM 12.3.2 (4).
2 --//
2 --//    Signature : constant X_Procedure_Signature :=
2 --//       X_Unique_Procedure_Signature;
2 --//
2 --//    function Invoke_Subprog (Subprog : System.Address;
2 --//                             A4      : System.Address;
2 --//                             Arg1    : System.Address) return Ret;
2 --//    pragma Interface (Assembly, Invoke_Subprog);
2 --//    pragma Linkname (Invoke_Subprog, "_Xlbmt_Invoke_Function");
2 --//
2 --//    function Get_A4 return System.Address;
2 --//    pragma Interface (Assembly, Get_A4);
2 --//    pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
2 --//
2 --//    function Call (Pvv  :    Pv;
2 --//                   Data : in Parm1) return Ret is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
2 --//    end Call;
2 --//
2 --//    function Value return Pv is
2 --//        Pvr : X_Procedure_Variable;
2 --//    begin
2 --//        Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4 );
2 --//        return Pv (Pvr);
2 --//    exception
2 --//        when others =>
2 --//            Heap_Free_X_Procedure_Data (Pvr.Data);
2 --//            Heap_Free_X_Procedure_Variable (Pvr);
2 --//            raise;
2 --//    end Value;
2 --//
2 --//    procedure Free (Pvv : in out Pv) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Free_X_Procedure_Variable (X_Procedure_Variable (Pvv));
2 --//    end Free;
2 --//
2 --//    function To_Pv (Pvv : X_Procedure_Variable) return Pv is
2 --//    begin
2 --//        if Pvv = None_X_Procedure_Variable then
2 --//            return None;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Pv (Pvv);
2 --//    end To_Pv;
2 --//
2 --//    function From_Pv (Pvv : Pv) return X_Procedure_Variable is
2 --//    begin
2 --//        if Pvv = None then
2 --//            return None_X_Procedure_Variable;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return X_Procedure_Variable (Pvv);
2 --//    end From_Pv;
2 --//
2 --// end Func_In;

* Change 1984
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Cdf_Hpux then

* Change 1992..1993
1 --//                                  A4      : System.Address;
1 --//                                  Arg1    : System.Address) return X_String;
-----
2 --//                                  A1      : System.Address;
2 --//                                  Offset  : Integer) return X_String;

* Change 1995
1 --//         pragma Linkname (Invoke_Subprog, "_Xlbmt_InOut_Invoke_Function");
-----
2 --//         pragma Import_Function (Internal => Invoke_Subprog,
2 --//                                 External => "__Xlbmt_InOut_Invoke_Function",
2 --//                                 Parameter_Types => (System.Address,
2 --//                                                     System.Address, Integer),
2 --//                                 Mechanism => (Value, Value, Value),
2 --//                                 Result_Type => X_String);
2 --//
2 --//         function Get_A7 return Integer;
2 --//         pragma Interface (Assembly, Get_A7);
2 --//         pragma Import_Function (Internal        => Get_A7,
2 --//                                 External        => "__Xlbmt_Get_A7",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => Integer);
2 --//
2 --//         function Get_A1 return System.Address;
2 --//         pragma Interface (Assembly, Get_A1);
2 --//         pragma Import_Function (Internal        => Get_A1,
2 --//                                 External        => "__Xlbmt_Get_A1",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => System.Address);
2 --//
2 --//         function Call (Pvv : Pv; Data1 : in Parm1) return X_String is
2 --//             Sp1, Sp2 : Integer;

* Change 1997..1999
1 --//         function Get_A4 return System.Address;
1 --//         pragma Interface (Assembly, Get_A4);
1 --//         pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
-----
2 --//             procedure Call (Data1 : in Parm1) is
2 --//             begin
2 --//                 Sp2 := Get_A7;
2 --//             end Call;

* Delete 2001..2002
1 --//         function Call (Pvv   :    Pv;
1 --//                        Data1 : in Parm1) return X_String is

* Change 2004..2005
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Change 2010
1 --//             return Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
-----
2 --//
2 --//             Sp1 := Get_A7;
2 --//             Call (Data1);
2 --//             return Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A1, Sp1 - Sp2);

* Change 2016
1 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4);
-----
2 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A1);

* Change 2027..2028
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Insert after 2060
2 --//
2 --/ end if; -- Cdf_Hpux
2 
2 --
2 ------------------------------------------------------------------------------
2 -- Function with 1 In parameter return String.
2 ------------------------------------------------------------------------------
2 --/ if TeleGen2 and then Unix then
2 --//
2 --// package body Func_In_X_String is
2 --//
2 --//    Signature : constant X_Procedure_Signature :=
2 --//       X_Unique_Procedure_Signature;
2 --//
2 --//    function Invoke_Subprog (Subprog : System.Address;
2 --//                             A4      : System.Address;
2 --//                             Arg1    : System.Address) return X_String;
2 --//    pragma Interface (Assembly, Invoke_Subprog);
2 --//    pragma Linkname (Invoke_Subprog, "_Xlbmt_Invoke_String_Function");
2 --//
2 --//    function Get_A4 return System.Address;
2 --//    pragma Interface (Assembly, Get_A4);
2 --//    pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
2 --//
2 --//    function Call (Pvv   :    Pv;
2 --//                   Data1 : in Parm1) return X_String is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
2 --//    end Call;
2 --//
2 --//    function Value return Pv is
2 --//        Pvr : X_Procedure_Variable;
2 --//    begin
2 --//        Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4 );
2 --//        return Pv (Pvr);
2 --//    exception
2 --//        when others =>
2 --//            Heap_Free_X_Procedure_Data (Pvr.Data);
2 --//            Heap_Free_X_Procedure_Variable (Pvr);
2 --//            raise;
2 --//    end Value;
2 --//
2 --//    procedure Free (Pvv : in out Pv) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Free_X_Procedure_Variable (X_Procedure_Variable (Pvv));
2 --//    end Free;
2 --//
2 --//    function To_Pv (Pvv : X_Procedure_Variable) return Pv is
2 --//    begin
2 --//        if Pvv = None_X_Procedure_Variable then
2 --//            return None;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Pv (Pvv);
2 --//    end To_Pv;
2 --//
2 --//    function From_Pv (Pvv : Pv) return X_Procedure_Variable is
2 --//    begin
2 --//        if Pvv = None then
2 --//            return None_X_Procedure_Variable;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return X_Procedure_Variable (Pvv);
2 --//    end From_Pv;
2 --//
2 --// end Func_In_X_String;

* Change 2161
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Cdf_Hpux then

* Change 2169..2170
1 --//                                  A4      : System.Address;
1 --//                                  Arg1    : System.Address) return X_String;
-----
2 --//                                  A1      : System.Address;
2 --//                                  Offset  : Integer) return X_String;

* Change 2172
1 --//         pragma Linkname (Invoke_Subprog, "_Xlbmt_InOut_Invoke_Function");
-----
2 --//         pragma Import_Function (Internal => Invoke_Subprog,
2 --//                                 External => "__Xlbmt_InOut_Invoke_Function",
2 --//                                 Parameter_Types => (System.Address,
2 --//                                                     System.Address, Integer),
2 --//                                 Mechanism => (Value, Value, Value),
2 --//                                 Result_Type => X_String);
2 --//
2 --//         function Get_A7 return Integer;
2 --//         pragma Interface (Assembly, Get_A7);
2 --//         pragma Import_Function (Internal        => Get_A7,
2 --//                                 External        => "__Xlbmt_Get_A7",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => Integer);

* Change 2174..2176
1 --//         function Get_A4 return System.Address;
1 --//         pragma Interface (Assembly, Get_A4);
1 --//         pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
-----
2 --//         function Get_A1 return System.Address;
2 --//         pragma Interface (Assembly, Get_A1);
2 --//         pragma Import_Function (Internal        => Get_A1,
2 --//                                 External        => "__Xlbmt_Get_A1",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => System.Address);

* Insert after 2181
2 --//             Sp1, Sp2 : Integer;
2 --//
2 --//             procedure Call (Data1 : in Parm1;
2 --//                             Data2 : in Parm2;
2 --//                             Data3 : in Parm3) is
2 --//             begin
2 --//                 Sp2 := Get_A7;
2 --//             end Call;
2 --//

* Change 2183..2184
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Change 2189
1 --//             return Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
-----
2 --//
2 --//             Sp1 := Get_A7;
2 --//             Call (Data1, Data2, Data3);
2 --//             return Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A1, Sp1 - Sp2);

* Change 2195
1 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4);
-----
2 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A1);

* Change 2206..2207
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Insert after 2239
2 --//
2 --/ end if; -- Cdf_Hpux
2 
2 --
2 ------------------------------------------------------------------------------
2 -- Function with 3 In parameters return String.
2 ------------------------------------------------------------------------------
2 --/ if TeleGen2 and then Unix then
2 --//
2 --// package body Func_In_In_In_X_String is
2 --//
2 --//    Signature : constant X_Procedure_Signature :=
2 --//       X_Unique_Procedure_Signature;
2 --//
2 --//    function Invoke_Subprog (Subprog : System.Address;
2 --//                             A4      : System.Address;
2 --//                             Arg1    : System.Address) return X_String;
2 --//    pragma Interface (Assembly, Invoke_Subprog);
2 --//    pragma Linkname (Invoke_Subprog, "_Xlbmt_Invoke_String_Function");
2 --//
2 --//    function Get_A4 return System.Address;
2 --//    pragma Interface (Assembly, Get_A4);
2 --//    pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
2 --//
2 --//    function Call (Pvv   :    Pv;
2 --//                   Data1 : in Parm1;
2 --//                   Data2 : in Parm2;
2 --//                   Data3 : in Parm3) return X_String is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
2 --//    end Call;
2 --//
2 --//    function Value return Pv is
2 --//        Pvr : X_Procedure_Variable;
2 --//    begin
2 --//        Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4 );
2 --//        return Pv (Pvr);
2 --//    exception
2 --//        when others =>
2 --//            Heap_Free_X_Procedure_Data (Pvr.Data);
2 --//            Heap_Free_X_Procedure_Variable (Pvr);
2 --//            raise;
2 --//    end Value;
2 --//
2 --//    procedure Free (Pvv : in out Pv) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Free_X_Procedure_Variable (X_Procedure_Variable (Pvv));
2 --//    end Free;
2 --//
2 --//    function To_Pv (Pvv : X_Procedure_Variable) return Pv is
2 --//    begin
2 --//        if Pvv = None_X_Procedure_Variable then
2 --//            return None;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Pv (Pvv);
2 --//    end To_Pv;
2 --//
2 --//    function From_Pv (Pvv : Pv) return X_Procedure_Variable is
2 --//    begin
2 --//        if Pvv = None then
2 --//            return None_X_Procedure_Variable;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return X_Procedure_Variable (Pvv);
2 --//    end From_Pv;
2 --//
2 --// end Func_In_In_In_X_String;

* Insert after 2249
2 
2         Force_Constrained_Type : Ret;   -- Forces Ret type to be a fully
2                                         -- constrained type; LRM 12.3.2 (4).

* Change 2340
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Cdf_Hpux then

* Insert after 2342
2 --//
2 --//         Force_Constrained_Type : Ret;   -- Forces Ret type to be a fully
2 --//                                         -- constrained type; LRM 12.3.2 (4).

* Change 2348..2349
1 --//                                  A4      : System.Address;
1 --//                                  Arg1    : System.Address) return Ret;
-----
2 --//                                  A1      : System.Address;
2 --//                                  Offset  : Integer) return Ret;

* Change 2351
1 --//         pragma Linkname (Invoke_Subprog, "_Xlbmt_InOut_Invoke_Function");
-----
2 --//         pragma Import_Function
2 --//            (Internal        => Invoke_Subprog,
2 --//             External        => "__Xlbmt_InOut_Invoke_Function",
2 --//             Parameter_Types => (System.Address, System.Address, Integer),
2 --//             Mechanism       => (Value, Value, Value),
2 --//             Result_Type     => Ret);
2 --//
2 --//         function Get_A7 return Integer;
2 --//         pragma Interface (Assembly, Get_A7);
2 --//         pragma Import_Function (Internal        => Get_A7,
2 --//                                 External        => "__Xlbmt_Get_A7",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => Integer);

* Change 2353..2355
1 --//         function Get_A4 return System.Address;
1 --//         pragma Interface (Assembly, Get_A4);
1 --//         pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
-----
2 --//         function Get_A1 return System.Address;
2 --//         pragma Interface (Assembly, Get_A1);
2 --//         pragma Import_Function (Internal        => Get_A1,
2 --//                                 External        => "__Xlbmt_Get_A1",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => System.Address);

* Insert after 2360
2 --//             Sp1, Sp2 : Integer;
2 --//
2 --//             procedure Call (Data1 : in Parm1;
2 --//                             Data2 : in Parm2;
2 --//                             Data3 : in Parm3) is
2 --//             begin
2 --//                 Sp2 := Get_A7;
2 --//             end Call;
2 --//

* Change 2362..2363
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Change 2368
1 --//             return Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
-----
2 --//
2 --//             Sp1 := Get_A7;
2 --//             Call (Data1, Data2, Data3);
2 --//             return Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A1, Sp1 - Sp2);

* Change 2374
1 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4);
-----
2 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A1);

* Change 2385..2386
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Insert after 2418
2 --//
2 --/ end if; -- Cdf_Hpux
2 
2 --
2 ------------------------------------------------------------------------------
2 -- Function with 3 In parameters.
2 ------------------------------------------------------------------------------
2 --/ if TeleGen2 and then Unix then
2 --//
2 --// package body Func_In_In_In is
2 --//
2 --//    Force_Constrained_Type : Ret;   -- Forces Ret type to be a fully
2 --//                                    -- constrained type; LRM 12.3.2 (4).
2 --//
2 --//    Signature : constant X_Procedure_Signature :=
2 --//       X_Unique_Procedure_Signature;
2 --//
2 --//    function Invoke_Subprog (Subprog : System.Address;
2 --//                             A4      : System.Address;
2 --//                             Arg1    : System.Address) return Ret;
2 --//    pragma Interface (Assembly, Invoke_Subprog);
2 --//    pragma Linkname (Invoke_Subprog, "_Xlbmt_Invoke_Function");
2 --//
2 --//    function Get_A4 return System.Address;
2 --//    pragma Interface (Assembly, Get_A4);
2 --//    pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
2 --//
2 --//    function Call (Pvv   :    Pv;
2 --//                   Data1 : in Parm1;
2 --//                   Data2 : in Parm2;
2 --//                   Data3 : in Parm3) return Ret is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
2 --//    end Call;
2 --//
2 --//    function Value return Pv is
2 --//        Pvr : X_Procedure_Variable;
2 --//    begin
2 --//        Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4 );
2 --//        return Pv (Pvr);
2 --//    exception
2 --//        when others =>
2 --//            Heap_Free_X_Procedure_Data (Pvr.Data);
2 --//            Heap_Free_X_Procedure_Variable (Pvr);
2 --//            raise;
2 --//    end Value;
2 --//
2 --//    procedure Free (Pvv : in out Pv) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Free_X_Procedure_Variable (X_Procedure_Variable (Pvv));
2 --//    end Free;
2 --//
2 --//    function To_Pv (Pvv : X_Procedure_Variable) return Pv is
2 --//    begin
2 --//        if Pvv = None_X_Procedure_Variable then
2 --//            return None;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Pv (Pvv);
2 --//    end To_Pv;
2 --//
2 --//    function From_Pv (Pvv : Pv) return X_Procedure_Variable is
2 --//    begin
2 --//        if Pvv = None then
2 --//            return None_X_Procedure_Variable;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return X_Procedure_Variable (Pvv);
2 --//    end From_Pv;
2 --//
2 --// end Func_In_In_In;

* Insert after 2428
2 
2         Force_Constrained_Type : Ret;   -- Forces Ret type to be a fully
2                                         -- constrained type; LRM 12.3.2 (4).

* Change 2521
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Cdf_Hpux then

* Insert after 2523
2 --//
2 --//         Force_Constrained_Type : Ret;   -- Forces Ret type to be a fully
2 --//                                         -- constrained type; LRM 12.3.2 (4).

* Change 2529..2530
1 --//                                  A4      : System.Address;
1 --//                                  Arg1    : System.Address) return Ret;
-----
2 --//                                  A1      : System.Address;
2 --//                                  Offset  : Integer) return Ret;

* Change 2532
1 --//         pragma Linkname (Invoke_Subprog, "_Xlbmt_InOut_Invoke_Function");
-----
2 --//         pragma Import_Function
2 --//            (Internal        => Invoke_Subprog,
2 --//             External        => "__Xlbmt_InOut_Invoke_Function",
2 --//             Parameter_Types => (System.Address, System.Address, Integer),
2 --//             Mechanism       => (Value, Value, Value),
2 --//             Result_Type     => Ret);
2 --//
2 --//         function Get_A7 return Integer;
2 --//         pragma Interface (Assembly, Get_A7);
2 --//         pragma Import_Function (Internal        => Get_A7,
2 --//                                 External        => "__Xlbmt_Get_A7",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => Integer);

* Change 2534..2536
1 --//         function Get_A4 return System.Address;
1 --//         pragma Interface (Assembly, Get_A4);
1 --//         pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
-----
2 --//         function Get_A1 return System.Address;
2 --//         pragma Interface (Assembly, Get_A1);
2 --//         pragma Import_Function (Internal        => Get_A1,
2 --//                                 External        => "__Xlbmt_Get_A1",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => System.Address);

* Insert after 2543
2 --//             Sp1, Sp2 : Integer;
2 --//
2 --//             procedure Call (Data1 : in Parm1;
2 --//                             Data2 : in Parm2;
2 --//                             Data3 : in Parm3;
2 --//                             Data4 : in Parm4;
2 --//                             Data5 : in Parm5) is
2 --//             begin
2 --//                 Sp2 := Get_A7;
2 --//             end Call;
2 --//

* Change 2545..2546
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Change 2551
1 --//             return Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
-----
2 --//
2 --//             Sp1 := Get_A7;
2 --//             Call (Data1, Data2, Data3, Data4, Data5);
2 --//             return Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A1, Sp1 - Sp2);

* Change 2557
1 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4);
-----
2 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A1);

* Change 2568..2569
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Insert after 2601
2 --//
2 --/ end if; -- Cdf_Hpux
2 
2 --
2 ------------------------------------------------------------------------------
2 -- Function with 5 In parameters.
2 ------------------------------------------------------------------------------
2 --/ if TeleGen2 and then Unix then
2 --//
2 --// package body Func_In5 is
2 --//
2 --//    Force_Constrained_Type : Ret;   -- Forces Ret type to be a fully
2 --//                                    -- constrained type; LRM 12.3.2 (4).
2 --//
2 --//    Signature : constant X_Procedure_Signature :=
2 --//       X_Unique_Procedure_Signature;
2 --//
2 --//    function Invoke_Subprog (Subprog : System.Address;
2 --//                             A4      : System.Address;
2 --//                             Arg1    : System.Address) return Ret;
2 --//    pragma Interface (Assembly, Invoke_Subprog);
2 --//    pragma Linkname (Invoke_Subprog, "_Xlbmt_Invoke_Function");
2 --//
2 --//    function Get_A4 return System.Address;
2 --//    pragma Interface (Assembly, Get_A4);
2 --//    pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
2 --//
2 --//    function Call (Pvv   :    Pv;
2 --//                   Data1 : in Parm1;
2 --//                   Data2 : in Parm2;
2 --//                   Data3 : in Parm3;
2 --//                   Data4 : in Parm4;
2 --//                   Data5 : in Parm5) return Ret is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
2 --//    end Call;
2 --//
2 --//    function Value return Pv is
2 --//        Pvr : X_Procedure_Variable;
2 --//    begin
2 --//        Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4 );
2 --//        return Pv (Pvr);
2 --//    exception
2 --//        when others =>
2 --//            Heap_Free_X_Procedure_Data (Pvr.Data);
2 --//            Heap_Free_X_Procedure_Variable (Pvr);
2 --//            raise;
2 --//    end Value;
2 --//
2 --//    procedure Free (Pvv : in out Pv) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Free_X_Procedure_Variable (X_Procedure_Variable (Pvv));
2 --//    end Free;
2 --//
2 --//    function To_Pv (Pvv : X_Procedure_Variable) return Pv is
2 --//    begin
2 --//        if Pvv = None_X_Procedure_Variable then
2 --//            return None;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Pv (Pvv);
2 --//    end To_Pv;
2 --//
2 --//    function From_Pv (Pvv : Pv) return X_Procedure_Variable is
2 --//    begin
2 --//        if Pvv = None then
2 --//            return None_X_Procedure_Variable;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return X_Procedure_Variable (Pvv);
2 --//    end From_Pv;
2 --//
2 --// end Func_In5;

* Insert after 2611
2 
2         Force_Constrained_Type : Ret;   -- Forces Ret type to be a fully
2                                         -- constrained type; LRM 12.3.2 (4).

* Change 2710
1 --/ if TeleGen2 and then Unix then
-----
2 --/ if Cdf_Hpux then

* Insert after 2712
2 --//
2 --//         Force_Constrained_Type : Ret;   -- Forces Ret type to be a fully
2 --//                                         -- constrained type; LRM 12.3.2 (4).

* Change 2718..2719
1 --//                                  A4      : System.Address;
1 --//                                  Arg1    : System.Address) return Ret;
-----
2 --//                                  A1      : System.Address;
2 --//                                  Offset  : Integer) return Ret;

* Change 2721
1 --//         pragma Linkname (Invoke_Subprog, "_Xlbmt_InOut_Invoke_Function");
-----
2 --//         pragma Import_Function
2 --//            (Internal        => Invoke_Subprog,
2 --//             External        => "__Xlbmt_InOut_Invoke_Function",
2 --//             Parameter_Types => (System.Address, System.Address, Integer),
2 --//             Mechanism       => (Value, Value, Value),
2 --//             Result_Type     => Ret);
2 --//
2 --//         function Get_A7 return Integer;
2 --//         pragma Interface (Assembly, Get_A7);
2 --//         pragma Import_Function (Internal        => Get_A7,
2 --//                                 External        => "__Xlbmt_Get_A7",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => Integer);

* Change 2723..2725
1 --//         function Get_A4 return System.Address;
1 --//         pragma Interface (Assembly, Get_A4);
1 --//         pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
-----
2 --//         function Get_A1 return System.Address;
2 --//         pragma Interface (Assembly, Get_A1);
2 --//         pragma Import_Function (Internal        => Get_A1,
2 --//                                 External        => "__Xlbmt_Get_A1",
2 --//                                 Parameter_Types => null,
2 --//                                 Result_Type     => System.Address);

* Insert after 2737
2 --//             Sp1, Sp2 : Integer;
2 --//
2 --//             procedure Call (Data1  : in Parm1;
2 --//                             Data2  : in Parm2;
2 --//                             Data3  : in Parm3;
2 --//                             Data4  : in Parm4;
2 --//                             Data5  : in Parm5;
2 --//                             Data6  : in Parm6;
2 --//                             Data7  : in Parm7;
2 --//                             Data8  : in Parm8;
2 --//                             Data9  : in Parm9;
2 --//                             Data10 : in Parm10) is
2 --//             begin
2 --//                 Sp2 := Get_A7;
2 --//             end Call;
2 --//

* Change 2739..2740
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Change 2745
1 --//             return Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
-----
2 --//
2 --//             Sp1 := Get_A7;
2 --//             Call (Data1, Data2, Data3, Data4, Data5,
2 --//                   Data6, Data7, Data8, Data9, Data10);
2 --//             return Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A1, Sp1 - Sp2);

* Change 2751
1 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4);
-----
2 --//             Pvr := New_Procedure_Data (Signature, Called'Address, Get_A1);

* Change 2762..2763
1 --//             if Pvv = None or else
1 --//                Pvv.Key /= Magic_Value or else
-----
2 --//             if Pvv = None or else Pvv.Key /= Magic_Value or else

* Insert after 2795
2 --//
2 --/ end if; -- Cdf_Hpux
2 
2 --
2 ------------------------------------------------------------------------------
2 -- Function with 10 In parameters.
2 ------------------------------------------------------------------------------
2 --/ if TeleGen2 and then Unix then
2 --//
2 --// package body Func_In10 is
2 --//
2 --//    Force_Constrained_Type : Ret;   -- Forces Ret type to be a fully
2 --//                                    -- constrained type; LRM 12.3.2 (4).
2 --//
2 --//    Signature : constant X_Procedure_Signature :=
2 --//       X_Unique_Procedure_Signature;
2 --//
2 --//    function Invoke_Subprog (Subprog : System.Address;
2 --//                             A4      : System.Address;
2 --//                             Arg1    : System.Address) return Ret;
2 --//    pragma Interface (Assembly, Invoke_Subprog);
2 --//    pragma Linkname (Invoke_Subprog, "_Xlbmt_Invoke_Function");
2 --//
2 --//    function Get_A4 return System.Address;
2 --//    pragma Interface (Assembly, Get_A4);
2 --//    pragma Linkname (Get_A4, "_Xlbmt_Get_A4");
2 --//
2 --//    function Call (Pvv    :    Pv;
2 --//                   Data1  : in Parm1;
2 --//                   Data2  : in Parm2;
2 --//                   Data3  : in Parm3;
2 --//                   Data4  : in Parm4;
2 --//                   Data5  : in Parm5;
2 --//                   Data6  : in Parm6;
2 --//                   Data7  : in Parm7;
2 --//                   Data8  : in Parm8;
2 --//                   Data9  : in Parm9;
2 --//                   Data10 : in Parm10) return Ret is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Invoke_Subprog (Pvv.Data.Subprog, Pvv.Data.A4, Pvv'Address);
2 --//    end Call;
2 --//
2 --//    function Value return Pv is
2 --//        Pvr : X_Procedure_Variable;
2 --//    begin
2 --//        Pvr := New_Procedure_Data (Signature, Called'Address, Get_A4 );
2 --//        return Pv (Pvr);
2 --//    exception
2 --//        when others =>
2 --//            Heap_Free_X_Procedure_Data (Pvr.Data);
2 --//            Heap_Free_X_Procedure_Variable (Pvr);
2 --//            raise;
2 --//    end Value;
2 --//
2 --//    procedure Free (Pvv : in out Pv) is
2 --//    begin
2 --//        if Pvv = None or else
2 --//           Pvv.Key /= Magic_Value or else
2 --//           Pvv.Data.Key /= Magic_Value or else
2 --//           Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        Free_X_Procedure_Variable (X_Procedure_Variable (Pvv));
2 --//    end Free;
2 --//
2 --//    function To_Pv (Pvv : X_Procedure_Variable) return Pv is
2 --//    begin
2 --//        if Pvv = None_X_Procedure_Variable then
2 --//            return None;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return Pv (Pvv);
2 --//    end To_Pv;
2 --//
2 --//    function From_Pv (Pvv : Pv) return X_Procedure_Variable is
2 --//    begin
2 --//        if Pvv = None then
2 --//            return None_X_Procedure_Variable;
2 --//        elsif Pvv.Key /= Magic_Value or else
2 --//              Pvv.Data.Key /= Magic_Value or else
2 --//              Pvv.Data.Sig /= Signature then
2 --//            raise X_Bad_Procedure_Variable;
2 --//        end if;
2 --//        return X_Procedure_Variable (Pvv);
2 --//    end From_Pv;
2 --//
2 --// end Func_In10;
15:40:46 ::: [end of File_Utilities.Difference].
15:40:48 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:40:48 ... UNITS.PMD_TYPES.XLBT_PROC_VAR'SPEC'V(5)", "!X11.X_LIBRARY.
15:40:48 ... REV6_0_0_WORKING.UNITS.PMD_TYPES.XLBT_PROC_VAR'SPEC'V(1)", "", 
15:40:48 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMD_TYPES.XLBT_PROC_VAR'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMD_TYPES.XLBT_PROC_VAR'SPEC
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:40:53 ::: [end of File_Utilities.Difference].
15:40:55 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:40:55 ... UNITS.PMD_TYPES.XLBT_UNIV_PTR'BODY'V(5)", "!X11.X_LIBRARY.
15:40:55 ... REV6_0_0_WORKING.UNITS.PMD_TYPES.XLBT_UNIV_PTR'BODY'V(1)", "", 
15:40:55 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMD_TYPES.XLBT_UNIV_PTR'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMD_TYPES.XLBT_UNIV_PTR'BODY
* Change 17
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 54
2 
2 --
2     procedure Real_Free_X_Universal_Pointer_List is  
2        new Unchecked_Deallocation (X_Universal_Pointer_Array,  
2                                    X_Universal_Pointer_List);
2 
2     procedure Free_X_Universal_Pointer_List
2                  (List : in out X_Universal_Pointer_List) is
2     begin
2         Real_Free_X_Universal_Pointer_List (List);
2     end Free_X_Universal_Pointer_List;

* Change 157
1     package body Univ_Ptr_Conversion is
-----
2     package body X_Universal_Pointer_Conversion is

* Change 188
1         function To_Univ_Ptr (Ptr : Access_Type) return X_Universal_Pointer is
-----
2         function To_X_Universal_Pointer  
2                     (Ptr : Access_Type) return X_Universal_Pointer is

* Change 285
1         end To_Univ_Ptr;
-----
2         end To_X_Universal_Pointer;

* Change 288
1         function From_Univ_Ptr (Ptr : X_Universal_Pointer) return Access_Type is
-----
2         function From_X_Universal_Pointer  
2                     (Ptr : X_Universal_Pointer) return Access_Type is

* Change 355
1         end From_Univ_Ptr;
-----
2         end From_X_Universal_Pointer;

* Change 358
1         procedure Free_X_Universal_Pointer (Ptr : in out X_Universal_Pointer) is
-----
2         function Free_X_Universal_Pointer  
2                     (Ptr : X_Universal_Pointer) return Access_Type is

* Insert after 378
2             Ap    : Access_Type;  

* Change 384
1                 return;  
-----
2                 return null;  

* Insert after 417
2                 Ap                 := Acc.Values (Index);  

* Change 421
1                 Free_X_Universal (Ptr);  
-----
2                 declare  
2                     P : X_Universal_Pointer := Ptr;  
2                 begin  
2                     Free_X_Universal (P);  
2                 end;  

* Change 427
1             Unlock_Mutex (Mutex);
-----
2             Unlock_Mutex (Mutex);  
2             return Ap;
2 
2         end Free_X_Universal_Pointer;
2 
2 --
2         procedure Free_X_Universal_Pointer (Ptr : in out X_Universal_Pointer) is
2 -----------------------------------------------------------------------------
2 --  Ptr - Specifies the universal pointer value to be freed
2 --
2 -- Called to free a universal pointer value when it is no longer needed.
2 -- This deallocates the universal pointer value (especially important if it
2 -- was allocated upon the heap).  It does *not* deallocate the Access_Type value
2 -- and it does *not* reference the Access_Type value in any way.  An Access_Type
2 -- value and the associated universal pointer value can be freed in any order.
2 --
2 -- Raises X_Invalid_Universal_Pointer if
2 --  a) Ptr = None_X_Universal_Pointer, or,
2 --  b) the universal pointer value does not correspond to a value of this
2 --     Access_Type (the signature is different), or,
2 --  c) Ptr is a freed universal pointer value (this may or may not be
2 --     detectable for all implementations and some other implementation
2 --     specific exception may be raised instead).
2 ------------------------------------------------------------------------------
2             Ap : Access_Type := Free_X_Universal_Pointer (Ptr);  
2         begin
2 
2             Ptr := None_X_Universal_Pointer;

* Insert after 429
2 
2 --
2         procedure Free_Both_X_Universal_Pointer  
2                      (Ptr : in out X_Universal_Pointer) is
2 -----------------------------------------------------------------------------
2 --  Ptr - Specifies the universal pointer value to be freed
2 --
2 -- Called to free a universal pointer value when it is no longer needed.
2 -- This deallocates the universal pointer value (especially important if it
2 -- was allocated upon the heap).  It does *not* deallocate the Access_Type value
2 -- and it does *not* reference the Access_Type value in any way.  An Access_Type
2 -- value and the associated universal pointer value can be freed in any order.
2 --
2 -- Raises X_Invalid_Universal_Pointer if
2 --  a) Ptr = None_X_Universal_Pointer, or,
2 --  b) the universal pointer value does not correspond to a value of this
2 --     Access_Type (the signature is different), or,
2 --  c) Ptr is a freed universal pointer value (this may or may not be
2 --     detectable for all implementations and some other implementation
2 --     specific exception may be raised instead).
2 ------------------------------------------------------------------------------
2             Ap : Access_Type := Free_X_Universal_Pointer (Ptr);  
2         begin
2 
2             Ptr := None_X_Universal_Pointer;  
2             Free_Access_Type (Ap);
2 
2         end Free_Both_X_Universal_Pointer;

* Change 436
1     end Univ_Ptr_Conversion;
-----
2     end X_Universal_Pointer_Conversion;
15:40:59 ::: [end of File_Utilities.Difference].
15:41:01 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:41:01 ... UNITS.PMD_TYPES.XLBT_UNIV_PTR'SPEC'V(5)", "!X11.X_LIBRARY.
15:41:01 ... REV6_0_0_WORKING.UNITS.PMD_TYPES.XLBT_UNIV_PTR'SPEC'V(1)", "", 
15:41:01 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMD_TYPES.XLBT_UNIV_PTR'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMD_TYPES.XLBT_UNIV_PTR'SPEC
* Insert after 0
2 with Unchecked_Deallocation;
2 

* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 45
2 
2     type X_Universal_Pointer_Array is  
2        array (S_Positive range <>) of X_Universal_Pointer;  
2     type X_Universal_Pointer_List  is access X_Universal_Pointer_Array;
2 
2 --/ if Enable_Deallocation then
2     pragma Enable_Deallocation (X_Universal_Pointer_List);
2 --/ end if;
2 
2     None_X_Universal_Pointer_List : constant X_Universal_Pointer_List := null;
2 
2     procedure Free_X_Universal_Pointer_List
2                  (List : in out X_Universal_Pointer_List);
2 

* Change 75
1         type Data_Type   is private;  
-----
2         type Data_Type   is limited private;  

* Change 77
1     package Univ_Ptr_Conversion is
-----
2         with procedure Free_Access_Type (Acc : in out Access_Type);  
2     package X_Universal_Pointer_Conversion is

* Change 79
1         function To_Univ_Ptr (Ptr : Access_Type) return X_Universal_Pointer;
-----
2         function To_X_Universal_Pointer  
2                     (Ptr : Access_Type) return X_Universal_Pointer;

* Change 100
1         function From_Univ_Ptr (Ptr : X_Universal_Pointer) return Access_Type;
-----
2         function From_X_Universal_Pointer  
2                     (Ptr : X_Universal_Pointer) return Access_Type;

* Change 122
1         procedure Free_X_Universal_Pointer (Ptr : in out X_Universal_Pointer);
-----
2         procedure Free_X_Universal_Pointer (Ptr : in out X_Universal_Pointer);  
2         function  Free_X_Universal_Pointer  
2                     (Ptr : X_Universal_Pointer) return Access_Type;

* Change 127..130
1 -- This deallocates the universal pointer value (especially important if it
1 -- was allocated upon the heap).  It does *not* deallocate the Access_Type value
1 -- and it does *not* reference the Access_Type value in any way.  An Access_Type
1 -- value and the associated universal pointer value can be freed in any order.
-----
2 -- The functional version also returns the access value associated with the
2 -- universal pointer.
2 --
2 -- These are called to deallocate the universal pointer value (especially
2 -- important if it was allocated upon the heap).  These routines do *not*
2 -- deallocate the Access_Type value and they do *not* reference the value
2 -- of the Access_Type in any way.  An Access_Type value and the associated
2 -- universal pointer value can be freed in any order.
2 --
2 -- Raises X_Invalid_Universal_Pointer if
2 --  a) Ptr = None_X_Universal_Pointer, or,
2 --  b) the universal pointer value does not correspond to a value of this
2 --     Access_Type (the signature is different), or,
2 --  c) Ptr is a freed universal pointer value (this may or may not be
2 --     detectable for all implementations and some other implementation
2 --     specific exception may be raised instead).
2 ------------------------------------------------------------------------------
2 
2         procedure Free_Both_X_Universal_Pointer  
2                      (Ptr : in out X_Universal_Pointer);
2 -----------------------------------------------------------------------------
2 --  Ptr - Specifies the universal pointer value to be freed
2 --
2 -- Called to free a universal pointer value and the associated access value
2 -- when they are no longer needed.
2 --
2 -- This routine deallocates the Access_Type value as well.  It should not be
2 -- called if the access value is to be, or was already, deallocated separately.

* Change 141
1     end Univ_Ptr_Conversion;
-----
2     end X_Universal_Pointer_Conversion;
15:41:03 ::: [end of File_Utilities.Difference].
15:41:05 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:41:05 ... UNITS.PMI_PROCS.XLBP_ATOM'BODY'V(5)", "!X11.X_LIBRARY.
15:41:05 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_ATOM'BODY'V(1)", "", TRUE, 
15:41:05 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_ATOM'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_ATOM'BODY
* Change 27
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:41:06 ::: [end of File_Utilities.Difference].
15:41:07 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:41:07 ... UNITS.PMI_PROCS.XLBP_ATOM'SPEC'V(5)", "!X11.X_LIBRARY.
15:41:07 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_ATOM'SPEC'V(1)", "", TRUE, 
15:41:07 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_ATOM'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_ATOM'SPEC
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:41:08 ::: [end of File_Utilities.Difference].
15:41:10 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:41:10 ... UNITS.PMI_PROCS.XLBP_BITMAP'BODY'V(5)", "!X11.X_LIBRARY.
15:41:10 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_BITMAP'BODY'V(1)", "", TRUE,
15:41:10 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_BITMAP'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_BITMAP'BODY
* Change 29
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:41:15 ::: [end of File_Utilities.Difference].
15:41:17 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:41:17 ... UNITS.PMI_PROCS.XLBP_BITMAP'SPEC'V(5)", "!X11.X_LIBRARY.
15:41:17 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_BITMAP'SPEC'V(1)", "", TRUE,
15:41:17 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_BITMAP'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_BITMAP'SPEC
* Change 14
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:41:18 ::: [end of File_Utilities.Difference].
15:41:20 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:41:20 ... UNITS.PMI_PROCS.XLBP_COLOR'BODY'V(5)", "!X11.X_LIBRARY.
15:41:20 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_COLOR'BODY'V(1)", "", TRUE, 
15:41:20 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_COLOR'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_COLOR'BODY
* Change 38
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:41:29 ::: [end of File_Utilities.Difference].
15:41:31 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:41:31 ... UNITS.PMI_PROCS.XLBP_COLOR'SPEC'V(5)", "!X11.X_LIBRARY.
15:41:31 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_COLOR'SPEC'V(1)", "", TRUE, 
15:41:31 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_COLOR'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_COLOR'SPEC
* Change 18
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:41:34 ::: [end of File_Utilities.Difference].
15:41:36 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:41:36 ... UNITS.PMI_PROCS.XLBP_CONTEXT_MANAGER'BODY'V(5)", "!X11.X_LIBRARY.
15:41:36 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_CONTEXT_MANAGER'BODY'V(1)", 
15:41:36 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_CONTEXT_MANAGER'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_CONTEXT_MANAGER'BODY
* Change 14
1 use Xlbt_String;
-----
2 use Xlbt_String;  
2 with Xlbt_Univ_Ptr;  
2 use Xlbt_Univ_Ptr;

* Change 25
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Delete 48..55
1 
1 --
1     function Hash (Window  : X_Window;  
1                    Context : X_Context) return S_Natural is  
1     begin  
1         return S_Natural ((Window.Drawable.Id.Number / 8 * 7 + Context.Id) rem  
1                           X_Context_Hash_Table'Length);  
1     end Hash;

* Change 57..58
1 --/ if INLINE then
1 --//     pragma Inline (Hash);
-----
2 --/ if OLD_CONTEXT_MANAGER then
2 --// --
2 --//     function Hash (Window  : X_Window;
2 --//                    Context : X_Context) return S_Natural is
2 --//     begin
2 --//         return S_Natural ((Window.Drawable.Id.Number / 8 * 7 + Context.Id) rem
2 --//                           X_Context_Hash_Table'Length);
2 --//     end Hash;
2 --//
2 --// --/ if INLINE then
2 --// --//     pragma Inline (Hash);
2 --// --/ end if;
2 --//
2 --// --
2 --//     function X_Delete_Context
2 --//                 (Display : X_Display;
2 --//                  Window  : X_Window;
2 --//                  Context : X_Context) return X_Associative_Returns is
2 --// ------------------------------------------------------------------------------
2 --// -- Locate and remove a Window/Context pair.
2 --// ------------------------------------------------------------------------------
2 --//         The_Hash  : S_Natural := Hash (Window, Context);
2 --//         The_Entry : X_Context_Table_Entry;
2 --//         Nxt_Entry : X_Context_Table_Entry;
2 --//         Tmp_Entry : X_Context_Table_Entry;
2 --//         Contexts  : X_Context_Hash_List;
2 --//     begin
2 --//
2 --//         if Display.Contexts /= None_X_Universal_Pointer then
2 --//             Contexts  := Univ_X_Context_Hash_List.From_X_Universal_Pointer
2 --//                             (Display.Contexts);
2 --//             The_Entry := Contexts (The_Hash);
2 --//
2 --//             if The_Entry.Window = Window and then
2 --//                The_Entry.Context = Context then
2 --//                 Contexts (The_Hash) := The_Entry.Next;
2 --//                 Free_X_Context_Table_Entry (The_Entry);
2 --//                 return Xc_Success;
2 --//             end if;
2 --//
2 --//             Nxt_Entry := The_Entry.Next;
2 --//             while Nxt_Entry /= null loop
2 --//                 if Nxt_Entry.Window = Window and then
2 --//                    Nxt_Entry.Context = Context then
2 --//                     Tmp_Entry      := Nxt_Entry;
2 --//                     The_Entry.Next := Nxt_Entry.Next;
2 --//                     Free_X_Context_Table_Entry (Nxt_Entry);
2 --//                     return Xc_Success;
2 --//                 end if;
2 --//                 The_Entry := Nxt_Entry;
2 --//                 Nxt_Entry := Nxt_Entry.Next;
2 --//             end loop;
2 --//         end if;
2 --//
2 --//         return Xc_No_Ent;
2 --//
2 --//     end X_Delete_Context;
2 --//
2 --// --
2 --//     procedure X_Find_Context (Display :     X_Display;
2 --//                               Window  :     X_Window;
2 --//                               Context :     X_Context;
2 --//                               Data    : out X_Rm_Value;
2 --//                               Status  : out X_Associative_Returns) is
2 --// ------------------------------------------------------------------------------
2 --// -- Insert/Replace an entry corresponding to Window/Context into the Contexts
2 --// -- table for this Display.
2 --// ------------------------------------------------------------------------------
2 --//         The_Hash  : S_Natural := Hash (Window, Context);
2 --//         The_Entry : X_Context_Table_Entry;
2 --//         Contexts  : X_Context_Hash_List;
2 --//     begin
2 --//
2 --//         if Display.Contexts /= None_X_Universal_Pointer then
2 --//             Contexts  := Univ_X_Context_Hash_List.From_X_Universal_Pointer
2 --//                             (Display.Contexts);
2 --//             The_Entry := Contexts (The_Hash);
2 --//
2 --//             while The_Entry /= null loop
2 --//                 if The_Entry.Window = Window and then
2 --//                    The_Entry.Context = Context then
2 --//                     Data   := The_Entry.Data;
2 --//                     Status := Xc_Success;
2 --//                     return;
2 --//                 end if;
2 --//             end loop;
2 --//         end if;
2 --//
2 --//         Data   := None_X_Rm_Value;
2 --//         Status := Xc_No_Ent;
2 --//
2 --//     end X_Find_Context;
2 --//
2 --// --
2 --//     function X_Save_Context
2 --//                 (Display : X_Display;
2 --//                  Window  : X_Window;
2 --//                  Context : X_Context;
2 --//                  Data    : X_Rm_Value) return X_Associative_Returns is
2 --// ------------------------------------------------------------------------------
2 --// -- Insert/Replace an entry corresponding to Window/Context into the Contexts
2 --// -- table for this Display.
2 --// ------------------------------------------------------------------------------
2 --//         The_Hash  : S_Natural := Hash (Window, Context);
2 --//         The_Entry : X_Context_Table_Entry;
2 --//         Contexts  : X_Context_Hash_List;
2 --//     begin
2 --//         if Display.Contexts = None_X_Universal_Pointer then
2 --//             Contexts         := new X_Context_Hash_Table;
2 --//             Display.Contexts :=
2 --//                Univ_X_Context_Hash_List.To_X_Universal_Pointer (Contexts);
2 --//         else
2 --//             Contexts := Univ_X_Context_Hash_List.From_X_Universal_Pointer
2 --//                            (Display.Contexts);
2 --//         end if;
2 --//
2 --//         The_Entry := Contexts (The_Hash);
2 --//
2 --//         while The_Entry /= null loop
2 --//             if The_Entry.Window = Window and then
2 --//                The_Entry.Context = Context then
2 --//                 The_Entry.Data := Data;
2 --//                 return Xc_Success;
2 --//             end if;
2 --//         end loop;
2 --//
2 --//         Contexts (The_Hash) :=
2 --//            new X_Context_Table_Entry_Rec'((Window  => Window,
2 --//                                            Context => Context,
2 --//                                            Data    => Data,
2 --//                                            Next    => Contexts (The_Hash)));
2 --//         return Xc_Success;
2 --//
2 --//     exception
2 --//
2 --//         when Storage_Error =>
2 --//             return Xc_No_Mem;
2 --//
2 --//     end X_Save_Context;
2 --//
2 --// --
2 --//     function X_String_To_Context (Name : X_String) return X_Context is
2 --//     begin
2 --//         return X_Context (X_Rm_String_To_Quark (Name));
2 --//     end X_String_To_Context;
2 --//
2 --// --
2 --//     function X_Context_To_String (Context : X_Context) return X_String is
2 --// ------------------------------------------------------------------------------
2 --// --  Context    - Specifies the X_Context to convert.
2 --// --
2 --// -- Returns the original string name of a context.
2 --// ------------------------------------------------------------------------------
2 --//     begin
2 --//         return X_Rm_Quark_To_String (X_Rm_Quark (Context));
2 --//     end X_Context_To_String;
2 --//
2 --// --
2 --//     function X_Unique_Context return X_Context is
2 --//     begin
2 --//         return X_Context (X_Rm_Unique_Quark);
2 --//     end X_Unique_Context;
2 --//

* Delete 60..193
1 
1 --
1     function X_Delete_Context  
1                 (Display : X_Display;  
1                  Window  : X_Window;  
1                  Context : X_Context) return X_Associative_Returns is
1 ------------------------------------------------------------------------------
1 -- Locate and remove a Window/Context pair.
1 ------------------------------------------------------------------------------
1         The_Hash  : S_Natural := Hash (Window, Context);  
1         The_Entry : X_Context_Table_Entry;  
1         Nxt_Entry : X_Context_Table_Entry;  
1         Tmp_Entry : X_Context_Table_Entry;  
1     begin
1 
1         if Display.Contexts /= null then  
1             The_Entry := Display.Contexts (The_Hash);
1 
1             if The_Entry.Window = Window and then  
1                The_Entry.Context = Context then  
1                 Display.Contexts (The_Hash) := The_Entry.Next;  
1                 Free_X_Context_Table_Entry (The_Entry);  
1                 return Xc_Success;  
1             end if;
1 
1             Nxt_Entry := The_Entry.Next;  
1             while Nxt_Entry /= null loop  
1                 if Nxt_Entry.Window = Window and then  
1                    Nxt_Entry.Context = Context then  
1                     Tmp_Entry      := Nxt_Entry;  
1                     The_Entry.Next := Nxt_Entry.Next;  
1                     Free_X_Context_Table_Entry (Nxt_Entry);  
1                     return Xc_Success;  
1                 end if;  
1                 The_Entry := Nxt_Entry;  
1                 Nxt_Entry := Nxt_Entry.Next;  
1             end loop;  
1         end if;
1 
1         return Xc_No_Ent;
1 
1     end X_Delete_Context;
1 
1 --
1     procedure X_Find_Context (Display :     X_Display;  
1                               Window  :     X_Window;  
1                               Context :     X_Context;  
1                               Data    : out X_Rm_Value;  
1                               Status  : out X_Associative_Returns) is
1 ------------------------------------------------------------------------------
1 -- Insert/Replace an entry corresponding to Window/Context into the Contexts
1 -- table for this Display.
1 ------------------------------------------------------------------------------
1         The_Hash  : S_Natural := Hash (Window, Context);  
1         The_Entry : X_Context_Table_Entry;  
1     begin
1 
1         if Display.Contexts /= null then  
1             The_Entry := Display.Contexts (The_Hash);
1 
1             while The_Entry /= null loop  
1                 if The_Entry.Window = Window and then  
1                    The_Entry.Context = Context then  
1                     Data   := The_Entry.Data;  
1                     Status := Xc_Success;  
1                     return;  
1                 end if;  
1             end loop;  
1         end if;
1 
1         Data   := None_X_Rm_Value;  
1         Status := Xc_No_Ent;
1 
1     end X_Find_Context;
1 
1 --
1     function X_Save_Context  
1                 (Display : X_Display;  
1                  Window  : X_Window;  
1                  Context : X_Context;  
1                  Data    : X_Rm_Value) return X_Associative_Returns is
1 ------------------------------------------------------------------------------
1 -- Insert/Replace an entry corresponding to Window/Context into the Contexts
1 -- table for this Display.
1 ------------------------------------------------------------------------------
1         The_Hash  : S_Natural := Hash (Window, Context);  
1         The_Entry : X_Context_Table_Entry;  
1     begin  
1         if Display.Contexts = null then  
1             Display.Contexts := new X_Context_Hash_Table;  
1         end if;
1 
1         The_Entry := Display.Contexts (The_Hash);
1 
1         while The_Entry /= null loop  
1             if The_Entry.Window = Window and then  
1                The_Entry.Context = Context then  
1                 The_Entry.Data := Data;  
1                 return Xc_Success;  
1             end if;  
1         end loop;
1 
1         Display.Contexts (The_Hash) :=  
1            new X_Context_Table_Entry_Rec'  
1                   ((Window  => Window,  
1                     Context => Context,  
1                     Data    => Data,  
1                     Next    => Display.Contexts (The_Hash)));  
1         return Xc_Success;
1 
1     exception
1 
1         when Storage_Error =>  
1             return Xc_No_Mem;
1 
1     end X_Save_Context;
1 
1 --
1     function X_String_To_Context (Name : X_String) return X_Context is  
1     begin  
1         return X_Context (X_Rm_String_To_Quark (Name));  
1     end X_String_To_Context;
1 
1 --
1     function X_Context_To_String (Context : X_Context) return X_String is
1 ------------------------------------------------------------------------------
1 --  Context    - Specifies the X_Context to convert.
1 --
1 -- Returns the original string name of a context.
1 ------------------------------------------------------------------------------
1     begin  
1         return X_Rm_Quark_To_String (X_Rm_Quark (Context));  
1     end X_Context_To_String;
1 

* Change 195..198
1     function X_Unique_Context return X_Context is  
1     begin  
1         return X_Context (X_Rm_Unique_Quark);  
1     end X_Unique_Context;
-----
2 end Xlbp_Context_Manager;

* Delete 200..201
1 --
1 end Xlbp_Context_Manager;  
15:41:38 ::: [end of File_Utilities.Difference].
15:41:39 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:41:39 ... UNITS.PMI_PROCS.XLBP_CONTEXT_MANAGER'SPEC'V(5)", "!X11.X_LIBRARY.
15:41:39 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_CONTEXT_MANAGER'SPEC'V(1)", 
15:41:39 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_CONTEXT_MANAGER'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_CONTEXT_MANAGER'SPEC
* Change 16
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Delete 38..100
1 ------------------------------------------------------------------------------
1 
1 --
1     function X_Delete_Context  
1                 (Display : X_Display;  
1                  Window  : X_Window;  
1                  Context : X_Context) return X_Associative_Returns;
1 ------------------------------------------------------------------------------
1 --  Display  - Specifies the display to use.
1 --  Window   - Specifies the window the data is associated with.
1 --  Context  - Specifies the context the data is associated with.
1 --
1 -- Delete an entry in the context manager for a particular [Window,Context]
1 -- pair.
1 ------------------------------------------------------------------------------
1 
1     procedure X_Find_Context (Display :     X_Display;  
1                               Window  :     X_Window;  
1                               Context :     X_Context;  
1                               Data    : out X_Rm_Value;  
1                               Status  : out X_Associative_Returns);
1 ------------------------------------------------------------------------------
1 --  Display  - Specifies the display to use.
1 --  Window   - Specifies the window the data is associated with.
1 --  Context  - Specifies the context the data is associated with.
1 --  Data     - Receives the data associated with the [Window,Context].
1 --  Status   - Receives the status of the fetch.
1 --
1 -- Fetch an entry in the context manager for a particular [Window,Context]
1 -- pair.
1 ------------------------------------------------------------------------------
1 
1     function X_Save_Context (Display : X_Display;  
1                              Window  : X_Window;  
1                              Context : X_Context;  
1                              Data    : X_Rm_Value) return X_Associative_Returns;
1 ------------------------------------------------------------------------------
1 --  Display  - Specifies the display to use.
1 --  Window   - Specifies the window the data is associated with.
1 --  Context  - Specifies the context the data is associated with.
1 --  Data     - Specifies the data to associate with the [Window,Context].
1 --
1 -- Place an entry in the context manager for a particular [Window,Context]
1 -- pair.
1 ------------------------------------------------------------------------------
1 
1     function X_String_To_Context (Name : X_String) return X_Context;
1 ------------------------------------------------------------------------------
1 --  Name    - Specifies the name use in creating an X_Context.
1 --
1 -- Returns an X_Context corresponding to the Name.
1 ------------------------------------------------------------------------------
1 
1     function X_Context_To_String (Context : X_Context) return X_String;
1 ------------------------------------------------------------------------------
1 --  Context    - Specifies the X_Context to convert.
1 --
1 -- Returns the original string name of a context.
1 ------------------------------------------------------------------------------
1 
1     function X_Unique_Context return X_Context;
1 ------------------------------------------------------------------------------
1 -- Returns a new and unique X_Context for use with this package.

* Insert after 102
2 --/ if OLD_CONTEXT_MANAGER then
2 --// --
2 --//     function X_Delete_Context
2 --//                 (Display : X_Display;
2 --//                  Window  : X_Window;
2 --//                  Context : X_Context) return X_Associative_Returns;
2 --// ------------------------------------------------------------------------------
2 --// --  Display  - Specifies the display to use.
2 --// --  Window   - Specifies the window the data is associated with.
2 --// --  Context  - Specifies the context the data is associated with.
2 --// --
2 --// -- Delete an entry in the context manager for a particular [Window,Context]
2 --// -- pair.
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     procedure X_Find_Context (Display :     X_Display;
2 --//                               Window  :     X_Window;
2 --//                               Context :     X_Context;
2 --//                               Data    : out X_Rm_Value;
2 --//                               Status  : out X_Associative_Returns);
2 --// ------------------------------------------------------------------------------
2 --// --  Display  - Specifies the display to use.
2 --// --  Window   - Specifies the window the data is associated with.
2 --// --  Context  - Specifies the context the data is associated with.
2 --// --  Data     - Receives the data associated with the [Window,Context].
2 --// --  Status   - Receives the status of the fetch.
2 --// --
2 --// -- Fetch an entry in the context manager for a particular [Window,Context]
2 --// -- pair.
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     function X_Save_Context (Display : X_Display;
2 --//                              Window  : X_Window;
2 --//                              Context : X_Context;
2 --//                              Data    : X_Rm_Value) return X_Associative_Returns;
2 --// ------------------------------------------------------------------------------
2 --// --  Display  - Specifies the display to use.
2 --// --  Window   - Specifies the window the data is associated with.
2 --// --  Context  - Specifies the context the data is associated with.
2 --// --  Data     - Specifies the data to associate with the [Window,Context].
2 --// --
2 --// -- Place an entry in the context manager for a particular [Window,Context]
2 --// -- pair.
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     function X_String_To_Context (Name : X_String) return X_Context;
2 --// ------------------------------------------------------------------------------
2 --// --  Name    - Specifies the name use in creating an X_Context.
2 --// --
2 --// -- Returns an X_Context corresponding to the Name.
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     function X_Context_To_String (Context : X_Context) return X_String;
2 --// ------------------------------------------------------------------------------
2 --// --  Context    - Specifies the X_Context to convert.
2 --// --
2 --// -- Returns the original string name of a context.
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     function X_Unique_Context return X_Context;
2 --// ------------------------------------------------------------------------------
2 --// -- Returns a new and unique X_Context for use with this package.
2 --// ------------------------------------------------------------------------------
2 --//
2 --/ end if;
15:41:41 ::: [end of File_Utilities.Difference].
15:41:43 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:41:43 ... UNITS.PMI_PROCS.XLBP_CURSOR'BODY'V(5)", "!X11.X_LIBRARY.
15:41:43 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_CURSOR'BODY'V(1)", "", TRUE,
15:41:43 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_CURSOR'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_CURSOR'BODY
* Change 39
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:41:46 ::: [end of File_Utilities.Difference].
15:41:47 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:41:47 ... UNITS.PMI_PROCS.XLBP_CURSOR'SPEC'V(5)", "!X11.X_LIBRARY.
15:41:47 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_CURSOR'SPEC'V(1)", "", TRUE,
15:41:47 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_CURSOR'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_CURSOR'SPEC
* Change 16
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:41:48 ::: [end of File_Utilities.Difference].
15:41:50 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:41:50 ... UNITS.PMI_PROCS.XLBP_CUT_BUFFER'BODY'V(5)", "!X11.X_LIBRARY.
15:41:50 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_CUT_BUFFER'BODY'V(1)", "", 
15:41:50 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_CUT_BUFFER'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_CUT_BUFFER'BODY
* Change 23
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:41:52 ::: [end of File_Utilities.Difference].
15:41:53 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:41:53 ... UNITS.PMI_PROCS.XLBP_CUT_BUFFER'SPEC'V(5)", "!X11.X_LIBRARY.
15:41:53 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_CUT_BUFFER'SPEC'V(1)", "", 
15:41:53 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_CUT_BUFFER'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_CUT_BUFFER'SPEC
* Change 14
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:41:54 ::: [end of File_Utilities.Difference].
15:41:57 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:41:57 ... UNITS.PMI_PROCS.XLBP_DISPLAY'BODY'V(5)", "!X11.X_LIBRARY.
15:41:57 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_DISPLAY'BODY'V(1)", "", 
15:41:57 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_DISPLAY'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_DISPLAY'BODY
* Insert after 44
2 with Xlbt_Univ_Ptr;  
2 use Xlbt_Univ_Ptr;  

* Insert after 61
2 with Xlbp_Rm;  
2 use Xlbp_Rm;  

* Change 107
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 211..212
1 --//     for X_Conn_Client_Prefix
1 --//          use
-----
2 --//     for X_Conn_Client_Prefix use

* Change 260..261
1 --//     for X_Conn_Setup
1 --//          use
-----
2 --//     for X_Conn_Setup use

* Change 305..306
1 --//     for X_Conn_Setup_Prefix
1 --//          use
-----
2 --//     for X_Conn_Setup_Prefix use

* Change 339..340
1 --//     for X_Depths
1 --//          use
-----
2 --//     for X_Depths use

* Change 373..374
1 --//     for X_Pixmap_Format
1 --//          use
-----
2 --//     for X_Pixmap_Format use

* Change 411..412
1 --//     for X_Visual_Type
1 --//          use
-----
2 --//     for X_Visual_Type use

* Change 460..461
1 --//     for X_Window_Root
1 --//          use
-----
2 --//     for X_Window_Root use

* Insert after 820
2 
2             Ldisplay.Poly_Arc_Limit       :=
2                (S_Natural (Ldisplay.Max_Request_Size) - 8) /  
2                   (X_Arc'Size / 32);  
2             Ldisplay.Poly_Point_Limit     :=
2                (S_Natural (Ldisplay.Max_Request_Size) - 8) /  
2                   (X_Point'Size / 32);  
2             Ldisplay.Poly_Rectangle_Limit :=
2                (S_Natural (Ldisplay.Max_Request_Size) - 8) /  
2                   (X_Rectangle'Size / 32);  
2             Ldisplay.Poly_Segment_Limit   :=
2                (S_Natural (Ldisplay.Max_Request_Size) - 8) /  
2                   (X_Segment'Size / 32);

* Delete 822..841
1             declare  
1                 Tmp : U_Short;  
1             begin  
1                 Tmp := Ldisplay.Max_Request_Size - 8 - X_Arc'Size / 32;  
1                 if Tmp < Ldisplay.Poly_Arc_Limit then  
1                     Ldisplay.Poly_Arc_Limit := Tmp;  
1                 end if;  
1                 Tmp := Ldisplay.Max_Request_Size - 8 - X_Point'Size / 32;  
1                 if Tmp < Ldisplay.Poly_Point_Limit then  
1                     Ldisplay.Poly_Point_Limit := Tmp;  
1                 end if;  
1                 Tmp := Ldisplay.Max_Request_Size - 8 - X_Rectangle'Size / 32;  
1                 if Tmp < Ldisplay.Poly_Rect_Limit then  
1                     Ldisplay.Poly_Rect_Limit := Tmp;  
1                 end if;  
1                 Tmp := Ldisplay.Max_Request_Size - 8 - X_Arc'Size / 32;  
1                 if Tmp < Ldisplay.Poly_Seg_Limit then  
1                     Ldisplay.Poly_Seg_Limit := Tmp;  
1                 end if;  
1             end;

* Change 844..845
1 --  to realize that "Key_Press..Last_Event-1" is a "static" expression. May its
1 --  "designers" rot in hell.
-----
2 --  to realize that "Key_Press..Last_Event-1" is a "static" expression so we
2 --  can't use an aggregate.

* Change 928..930
1             Ldisplay.Vnumber        := Xlbmt_Parameters.X_Protocol;  
1             Ldisplay.Resource_Alloc := X_Lib_Default_X_Alloc_Id;  
1             Ldisplay.Default_Screen :=  
-----
2             Ldisplay.Vnumber           := Xlbmt_Parameters.X_Protocol;  
2             Ldisplay.Resource_Alloc    := X_Lib_Default_X_Alloc_Id;  
2             Ldisplay.Default_Screen    :=  

* Change 932
1             Ldisplay.Last_Request   := (Kind => Invalid_Request, Empty => True);
-----
2             Ldisplay.Last_Request.Kind := Invalid_Request;

* Change 1017
1         Ldisplay.Database := new X_Rm_Database_Rec;
-----
2         Ldisplay.Database := Univ_X_Rm_Database.To_X_Universal_Pointer  
2                                 (new X_Rm_Database_Rec);

* Change 1320..1321
1     begin  
1         return Display.Database;  
-----
2         Db : X_Rm_Database := None_X_Rm_Database;  
2     begin
2 
2 ----Lock the display.
2 
2         Lock_Display (Display);
2 
2 ----Get the database; if there is one.
2 
2         if Display.Database /= None_X_Universal_Pointer then  
2             Db := Univ_X_Rm_Database.From_X_Universal_Pointer  
2                      (Display.Database);  
2         end if;
2 
2 ----Unlock and return the database.
2 
2         Unlock_Display (Display);  
2         return Db;
2 
2     exception  
2         when others =>  
2             Unlock_Display (Display);  
2             raise;
2 

* Change 1336..1337
1     begin  
1         Display.Database := Database;  
-----
2         New_Uv : X_Universal_Pointer := None_X_Universal_Pointer;  
2     begin
2 
2 ----Lock the display.
2 
2         Lock_Display (Display);
2 
2 ----If we have a new database then get a universal pointer for it; this may
2 --  fail with storage error and such so do it before we zap the old database.
2 
2         if Database /= None_X_Rm_Database then  
2             New_Uv := Univ_X_Rm_Database.To_X_Universal_Pointer (Database);  
2         end if;
2 
2 ----If there is an old database then free the universal pointer; never the
2 --  database.
2 
2         if Display.Database /= None_X_Universal_Pointer then  
2             Univ_X_Rm_Database.Free_X_Universal_Pointer (Display.Database);  
2         end if;
2 
2 ----Set the new database and unlock the display.
2 
2         Display.Database := New_Uv;  
2         Unlock_Display (Display);
2 
2     exception  
2         when others =>  
2             Unlock_Display (Display);  
2             raise;  
15:42:09 ::: [end of File_Utilities.Difference].
15:42:11 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:42:11 ... UNITS.PMI_PROCS.XLBP_DISPLAY'SPEC'V(5)", "!X11.X_LIBRARY.
15:42:11 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_DISPLAY'SPEC'V(1)", "", 
15:42:11 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_DISPLAY'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_DISPLAY'SPEC
* Change 25
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:42:16 ::: [end of File_Utilities.Difference].
15:42:17 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:42:17 ... UNITS.PMI_PROCS.XLBP_ERROR'BODY'V(5)", "!X11.X_LIBRARY.
15:42:17 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_ERROR'BODY'V(1)", "", TRUE, 
15:42:17 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_ERROR'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_ERROR'BODY
* Change 3..4
1 with Xlbt_Basic;  
1 use Xlbt_Basic;  
-----
2 with Xlbt_Display3;  
2 use Xlbt_Display3;  

* Change 44
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 252
1         Result : X_Rm_Entry;  
-----
2         Rep    : X_Rm_Representation;  
2         Result : X_Rm_Value;  

* Change 261
1                            "ErrorType.ErrorNumber", Result);
-----
2                            "ErrorType.ErrorNumber", Rep, Result);

* Change 263
1         if Result /= None_X_Rm_Entry then  
-----
2         if Result /= None_X_Rm_Value then  

* Change 265
1                 Str : constant X_String := Result.Value.V_X_String_Pointer.all;  
-----
2                 Str : constant X_String := Result.V_X_String_Pointer.all;  

* Change 337..341
1         Error    : X_Error_String;  
1         Names    : X_Rm_Name_Array (1 .. 4);  
1         Classes  : X_Rm_Class_Array (1 .. 4);  
1         Db_Entry : X_Rm_Entry;  
1         Db       : X_Rm_Database;
-----
2         Error   : X_Error_String;  
2         Names   : X_Rm_Name_Array (1 .. 4);  
2         Classes : X_Rm_Class_Array (1 .. 4);  
2         Rep     : X_Rm_Representation;  
2         Value   : X_Rm_Value;  
2         Db      : X_Rm_Database;

* Change 352
1             Db_Entry     : X_Rm_Entry;  
-----
2             Rep          : X_Rm_Representation;  
2             Value        : X_Rm_Value;  

* Change 358..359
1             X_Rm_Get_Resource (Db, Names, Classes, Db_Entry);  
1             if Db_Entry = None_X_Rm_Entry then  
-----
2             X_Rm_Get_Resource (Db, Names, Classes, Rep, Value);  
2             if Value = None_X_Rm_Value then  

* Change 362
1                 return Lf & X_Rm_Entry_Value (Db_Entry).V_X_String_Pointer.all &  
-----
2                 return Lf & Value.V_X_String_Pointer.all &  

* Change 391
1         X_Rm_Get_Resource (Db, Names, Classes, Db_Entry);
-----
2         X_Rm_Get_Resource (Db, Names, Classes, Rep, Value);

* Change 395
1         if Db_Entry /= None_X_Rm_Entry then  
-----
2         if Value /= None_X_Rm_Value then  

* Change 397..398
1                 Str : constant X_String :=  
1                    Db_Entry.Value.V_X_String_Pointer.all;  
-----
2                 Str : constant X_String := Value.V_X_String_Pointer.all;  

* Change 407
1             X_Rm_Get_Resource (Db, Names, Classes, Db_Entry);
-----
2             X_Rm_Get_Resource (Db, Names, Classes, Rep, Value);

* Change 411
1             if Db_Entry = None_X_Rm_Entry then  
-----
2             if Value = None_X_Rm_Value then  

* Change 418..420
1                 Str : constant X_String :=  
1                    Db_Entry.Value.V_X_String_Pointer.all &  
1                       Further_Error_Lines (2);  
-----
2                 Str : constant X_String := Value.V_X_String_Pointer.all &  
2                                               Further_Error_Lines (2);  
15:42:22 ::: [end of File_Utilities.Difference].
15:42:23 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:42:23 ... UNITS.PMI_PROCS.XLBP_ERROR'SPEC'V(5)", "!X11.X_LIBRARY.
15:42:23 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_ERROR'SPEC'V(1)", "", TRUE, 
15:42:23 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_ERROR'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_ERROR'SPEC
* Change 1..2
1 with Xlbt_Basic;  
1 use Xlbt_Basic;  
-----
2 with Xlbt_Display3;  
2 use Xlbt_Display3;  

* Change 17
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:42:25 ::: [end of File_Utilities.Difference].
15:42:27 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:42:27 ... UNITS.PMI_PROCS.XLBP_EVENT'BODY'V(5)", "!X11.X_LIBRARY.
15:42:27 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_EVENT'BODY'V(1)", "", TRUE, 
15:42:27 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_EVENT'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_EVENT'BODY
* Change 45
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 268
1                                 Args    :        Predicate_Argument_Type;  
-----
2                                 Args    : in out Predicate_Argument_Type;  

* Insert after 278
2         Succ : X_Status;  

* Change 297
1                     if Predicate (Display, Qelt.Event, Args) then  
-----
2                     Predicate (Display, Qelt.Event, Args, Succ);  
2                     if Succ = Successful then  

* Change 762..764
1     procedure X_If_Event (Display :     X_Display;  
1                           Event   : out X_Event;  
1                           Args    :     Predicate_Argument_Type) is
-----
2     procedure X_If_Event (Display :        X_Display;  
2                           Event   : out    X_Event;  
2                           Args    : in out Predicate_Argument_Type) is

* Insert after 770
2         Succ : X_Status;  

* Change 785
1                     if Predicate (Display, Qelt.Event, Args) then  
-----
2                     Predicate (Display, Qelt.Event, Args, Succ);  
2                     if Succ = Successful then  

* Change 995..997
1     procedure X_Peek_If_Event (Display :     X_Display;  
1                                Event   : out X_Event;  
1                                Args    :     Predicate_Argument_Type) is
-----
2     procedure X_Peek_If_Event (Display :        X_Display;  
2                                Event   : out    X_Event;  
2                                Args    : in out Predicate_Argument_Type) is

* Insert after 1003
2         Succ : X_Status;  

* Change 1014
1             if Predicate (Display, Display.Head.Event, Args) then  
-----
2             Predicate (Display, Display.Head.Event, Args, Succ);  
2             if Succ = Successful then  

* Change 1020
1                         if Predicate (Display, Qelt.Next.Event, Args) then  
-----
2                         Predicate (Display, Qelt.Next.Event, Args, Succ);  
2                         if Succ = Successful then  
15:42:34 ::: [end of File_Utilities.Difference].
15:42:36 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:42:36 ... UNITS.PMI_PROCS.XLBP_EVENT'SPEC'V(5)", "!X11.X_LIBRARY.
15:42:36 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_EVENT'SPEC'V(1)", "", TRUE, 
15:42:36 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_EVENT'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_EVENT'SPEC
* Change 14
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 126..130
1         type Predicate_Argument_Type is private;  
1         with function Predicate  
1                          (Display : X_Display;  
1                           Event   : X_Event;  
1                           Args    : Predicate_Argument_Type) return Boolean;  
-----
2         type Predicate_Argument_Type is limited private;  
2         with procedure Predicate  
2                           (Display :        X_Display;  
2                            Event   :        X_Event;  
2                            Args    : in out Predicate_Argument_Type;  
2                            Success : out    X_Status);  

* Change 133
1                                 Args    :        Predicate_Argument_Type;  
-----
2                                 Args    : in out Predicate_Argument_Type;  

* Change 217..224
1         type Predicate_Argument_Type is private;  
1         with function Predicate  
1                          (Display : X_Display;  
1                           Event   : X_Event;  
1                           Args    : Predicate_Argument_Type) return Boolean;  
1     procedure X_If_Event (Display :     X_Display;  
1                           Event   : out X_Event;  
1                           Args    :     Predicate_Argument_Type);
-----
2         type Predicate_Argument_Type is limited private;  
2         with procedure Predicate  
2                           (Display :        X_Display;  
2                            Event   :        X_Event;  
2                            Args    : in out Predicate_Argument_Type;  
2                            Success : out    X_Status);  
2     procedure X_If_Event (Display :        X_Display;  
2                           Event   : out    X_Event;  
2                           Args    : in out Predicate_Argument_Type);

* Change 275..282
1         type Predicate_Argument_Type is private;  
1         with function Predicate  
1                          (Display : X_Display;  
1                           Event   : X_Event;  
1                           Args    : Predicate_Argument_Type) return Boolean;  
1     procedure X_Peek_If_Event (Display :     X_Display;  
1                                Event   : out X_Event;  
1                                Args    :     Predicate_Argument_Type);
-----
2         type Predicate_Argument_Type is limited private;  
2         with procedure Predicate  
2                           (Display :        X_Display;  
2                            Event   :        X_Event;  
2                            Args    : in out Predicate_Argument_Type;  
2                            Success : out    X_Status);  
2     procedure X_Peek_If_Event (Display :        X_Display;  
2                                Event   : out    X_Event;  
2                                Args    : in out Predicate_Argument_Type);
15:42:39 ::: [end of File_Utilities.Difference].
15:42:41 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:42:41 ... UNITS.PMI_PROCS.XLBP_EXTENSION'BODY'V(5)", "!X11.X_LIBRARY.
15:42:41 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_EXTENSION'BODY'V(1)", "", 
15:42:41 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_EXTENSION'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_EXTENSION'BODY
* Change 51
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:42:46 ::: [end of File_Utilities.Difference].
15:42:48 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:42:48 ... UNITS.PMI_PROCS.XLBP_EXTENSION'SPEC'V(5)", "!X11.X_LIBRARY.
15:42:48 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_EXTENSION'SPEC'V(1)", "", 
15:42:48 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_EXTENSION'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_EXTENSION'SPEC
* Change 32
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:42:51 ::: [end of File_Utilities.Difference].
15:42:53 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:42:53 ... UNITS.PMI_PROCS.XLBP_FONT'BODY'V(5)", "!X11.X_LIBRARY.
15:42:53 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_FONT'BODY'V(1)", "", TRUE, 
15:42:53 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_FONT'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_FONT'BODY
* Change 43
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:42:56 ::: [end of File_Utilities.Difference].
15:42:58 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:42:58 ... UNITS.PMI_PROCS.XLBP_FONT'SPEC'V(5)", "!X11.X_LIBRARY.
15:42:58 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_FONT'SPEC'V(1)", "", TRUE, 
15:42:58 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_FONT'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_FONT'SPEC
* Change 16
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:42:59 ::: [end of File_Utilities.Difference].
15:43:02 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:43:02 ... UNITS.PMI_PROCS.XLBP_FONT_NAMES'BODY'V(5)", "!X11.X_LIBRARY.
15:43:02 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_FONT_NAMES'BODY'V(1)", "", 
15:43:02 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_FONT_NAMES'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_FONT_NAMES'BODY
* Change 34
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:43:07 ::: [end of File_Utilities.Difference].
15:43:09 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:43:09 ... UNITS.PMI_PROCS.XLBP_FONT_NAMES'SPEC'V(5)", "!X11.X_LIBRARY.
15:43:09 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_FONT_NAMES'SPEC'V(1)", "", 
15:43:09 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_FONT_NAMES'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_FONT_NAMES'SPEC
* Change 16
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:43:11 ::: [end of File_Utilities.Difference].
15:43:13 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:43:13 ... UNITS.PMI_PROCS.XLBP_GC'BODY'V(5)", "!X11.X_LIBRARY.
15:43:13 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_GC'BODY'V(1)", "", TRUE, 
15:43:13 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_GC'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_GC'BODY
* Change 36
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:43:23 ::: [end of File_Utilities.Difference].
15:43:25 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:43:25 ... UNITS.PMI_PROCS.XLBP_GC'SPEC'V(5)", "!X11.X_LIBRARY.
15:43:25 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_GC'SPEC'V(1)", "", TRUE, 
15:43:25 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_GC'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_GC'SPEC
* Change 16
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:43:30 ::: [end of File_Utilities.Difference].
15:43:31 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:43:31 ... UNITS.PMI_PROCS.XLBP_GEOMETRY'BODY'V(5)", "!X11.X_LIBRARY.
15:43:31 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_GEOMETRY'BODY'V(1)", "", 
15:43:31 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_GEOMETRY'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_GEOMETRY'BODY
* Change 19
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 93
1         Mask                    : X_Parse_Geometry_Flags := None_X_Parse_Value;  
-----
2         Mask : X_Parse_Geometry_Flags := None_X_Parse_Geometry_Flags;
2 

* Change 99
1         Cur_Char                : S_Natural              := Geometry'First;  
-----
2         Cur_Char                : S_Natural := Geometry'First;  

* Change 102
1         Flags := None_X_Parse_Value;  
-----
2         Flags := None_X_Parse_Geometry_Flags;  
15:43:36 ::: [end of File_Utilities.Difference].
15:43:38 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:43:38 ... UNITS.PMI_PROCS.XLBP_GEOMETRY'SPEC'V(5)", "!X11.X_LIBRARY.
15:43:38 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_GEOMETRY'SPEC'V(1)", "", 
15:43:38 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_GEOMETRY'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_GEOMETRY'SPEC
* Change 20
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:43:40 ::: [end of File_Utilities.Difference].
15:43:41 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:43:41 ... UNITS.PMI_PROCS.XLBP_GRAB'BODY'V(5)", "!X11.X_LIBRARY.
15:43:41 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_GRAB'BODY'V(1)", "", TRUE, 
15:43:41 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_GRAB'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_GRAB'BODY
* Change 33
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:43:46 ::: [end of File_Utilities.Difference].
15:43:47 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:43:47 ... UNITS.PMI_PROCS.XLBP_GRAB'SPEC'V(5)", "!X11.X_LIBRARY.
15:43:47 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_GRAB'SPEC'V(1)", "", TRUE, 
15:43:47 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_GRAB'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_GRAB'SPEC
* Change 16
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:43:50 ::: [end of File_Utilities.Difference].
15:43:52 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:43:52 ... UNITS.PMI_PROCS.XLBP_GRAPHICS'BODY'V(5)", "!X11.X_LIBRARY.
15:43:52 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_GRAPHICS'BODY'V(1)", "", 
15:43:52 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_GRAPHICS'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_GRAPHICS'BODY
* Insert after 14
2 with Xlbip_Graphic_Converters;
2 use Xlbip_Graphic_Converters;

* Change 26
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 235..241
1                    (Display,  
1                     (Kind     => Poly_Arc,  
1                      Length   => X_Poly_Arc_Request'Size / 32 + U_Short (Size),  
1                      Pad      => 0,  
1                      Drawable => Drawable,  
1                      Gc       => Gc.Gid),  
1                     4 * Size);
-----
2                    (Display => Display,  
2                     Req     => (Kind     => Poly_Arc,  
2                                 Length   => X_Poly_Arc_Request'Size / 32  
2                                                 + U_Short (Size),  
2                                 Pad      => 0,  
2                                 Drawable => Drawable,  
2                                 Gc       => Gc.Gid),  
2                     Extra   => 4 * Size);

* Change 294..300
1                (Display,  
1                 (Kind     => Poly_Arc,  
1                  Pad      => 0,  
1                  Length   => X_Poly_Arc_Request'Size / 32 + X_Arc'Size / 32,  
1                  Drawable => Drawable,  
1                  Gc       => Gc.Gid),  
1                 X_Arc'Size / 8);  
-----
2                (Display => Display,  
2                 Req     => (Kind     => Poly_Arc,  
2                             Pad      => 0,  
2                             Length   =>
2                                X_Poly_Arc_Request'Size / 32 + X_Arc'Size / 32,  
2                             Drawable => Drawable,  
2                             Gc       => Gc.Gid),  
2                 Extra   => X_Arc'Size / 8);  

* Change 360..367
1                    (Display,  
1                     (Kind     => Poly_Fill_Arc,  
1                      Length   =>  
1                         X_Poly_Fill_Arc_Request'Size / 32 + U_Short (Size),  
1                      Pad      => 0,  
1                      Drawable => Drawable,  
1                      Gc       => Gc.Gid),  
1                     4 * Size);
-----
2                    (Display => Display,  
2                     Req     => (Kind     => Poly_Fill_Arc,  
2                                 Length   =>  
2                                    X_Poly_Fill_Arc_Request'Size / 32 +
2                                       U_Short (Size),  
2                                 Pad      => 0,  
2                                 Drawable => Drawable,  
2                                 Gc       => Gc.Gid),  
2                     Extra   => 4 * Size);

* Change 400
1                           Angle2   : S_Short) is  
-----
2                           Angle2   : S_Short) is
2 
2         Lreq : X_Last_Request renames Display.Last_Request;

* Change 412..415
1             if Display.Last_Request.Kind = Poly_Fill_Arc and then  
1                Display.Last_Request.Fa_Req.Drawable = Drawable and then  
1                Display.Last_Request.Fa_Req.Gc = Gc.Gid and then  
1                Display.Last_Request.Fa_Req.Length < Display.Poly_Arc_Limit then
-----
2             if Lreq.Kind = Poly_Fill_Arc and then  
2                Lreq.Poly_Fill_Arc_Req.Drawable = Drawable and then  
2                Lreq.Poly_Fill_Arc_Req.Gc = Gc.Gid then
2 
2 ----Increment the length of the request and put out the new data element.
2 
2                 Lreq.Poly_Fill_Arc_Req.Length :=  
2                    Lreq.Poly_Fill_Arc_Req.Length + X_Arc'Size / 32;  
2                 Put_X_Arc (Display, (X      => X,  
2                                      Y      => Y,  
2                                      Width  => Width,  
2                                      Height => Height,  
2                                      Angle1 => Angle1,  
2                                      Angle2 => Angle2));
2 
2 ----If we just used the last available space then put out the request and
2 --  turn "off" the Last_Request.Kind.
2 
2                 Lreq.Spaces_Left := Lreq.Spaces_Left - 1;
2                 if Lreq.Spaces_Left = 0 then
2                     Put_X_Poly_Fill_Arc_Request  
2                        (Display     => Display,  
2                         Req         => Lreq.Poly_Fill_Arc_Req,  
2                         Reservation => Lreq.Request_Position);
2                     Lreq.Kind := Invalid_Request;
2                 end if;

* Change 417..426
1                 Display.Last_Request.Fa_Req.Length                  :=  
1                    Display.Last_Request.Fa_Req.Length + 1;  
1                 Display.Last_Request.Fa_Ary  
1                    (S_Natural (Display.Last_Request.Fa_Req.Length)) :=  
1                    (X      => X,  
1                     Y      => Y,  
1                     Width  => Width,  
1                     Height => Height,  
1                     Angle1 => Angle1,  
1                     Angle2 => Angle2);
-----
2 ----We are to start a new request.  Flush the last request if necessary.

* Change 429
1                 if not Display.Last_Request.Empty then  
-----
2                 if Lreq.Kind /= Invalid_Request then  

* Change 431..448
1                 end if;  
1                 declare  
1                     Stuff : X_Last_Request (Poly_Fill_Arc);  
1                 begin  
1                     Stuff.Empty          := False;  
1                     Stuff.Fa_Req         := (Kind     => Poly_Fill_Arc,  
1                                              Pad      => 0,  
1                                              Length   => 1,  
1                                              Drawable => Drawable,  
1                                              Gc       => Gc.Gid);  
1                     Stuff.Fa_Ary (1)     := (X      => X,  
1                                              Y      => Y,  
1                                              Width  => Width,  
1                                              Height => Height,  
1                                              Angle1 => Angle1,  
1                                              Angle2 => Angle2);  
1                     Display.Last_Request := Stuff;  
1                 end;  
-----
2                 end if;
2 
2 ----Create the request and then reserve space for it and its data.
2 
2                 Lreq.Poly_Fill_Arc_Req :=  
2                    (Kind     => Poly_Fill_Arc,  
2                     Pad      => 0,  
2                     Length   => X_Poly_Fill_Arc_Request'Size / 32 +  
2                                    X_Arc'Size / 32,  
2                     Drawable => Drawable,  
2                     Gc       => Gc.Gid);  
2                 Reserve_X_Poly_Fill_Arc_Request (Display,  
2                                                  Display.Poly_Arc_Limit,  
2                                                  Lreq.Poly_Fill_Arc_Req,  
2                                                  (1 => (X      => X,  
2                                                         Y      => Y,  
2                                                         Width  => Width,  
2                                                         Height => Height,  
2                                                         Angle1 => Angle1,  
2                                                         Angle2 => Angle2)),  
2                                                  Lreq.Request_Position,  
2                                                  Lreq.Spaces_Left);
2 
2 ----If there are no Spaces_Left then the request is already on the way out
2 --  and we cannot add anything to it later.
2 
2                 if Lreq.Spaces_Left = 0 then
2                     Lreq.Kind := Invalid_Request;
2                 else
2                     Lreq.Kind := Poly_Fill_Arc;
2                 end if;

* Change 507..513
1                    (Display,  
1                     (Kind => Poly_Point,  
1                      Length => X_Poly_Point_Request'Size / 32 + U_Short (Size),  
1                      Drawable => Drawable,  
1                      Gc => Gc.Gid,  
1                      Coord_Mode => Mode),  
1                     4 * Size);
-----
2                    (Display => Display,  
2                     Req     => (Kind       => Poly_Point,  
2                                 Length     => X_Poly_Point_Request'Size / 32 +
2                                                  U_Short (Size),  
2                                 Drawable   => Drawable,  
2                                 Gc         => Gc.Gid,  
2                                 Coord_Mode => Mode),  
2                     Extra   => 4 * Size);

* Change 563
1                             Y        : S_Short) is  
-----
2                             Y        : S_Short) is
2 
2         Lreq : X_Last_Request renames Display.Last_Request;

* Insert after 575
2 
2             if Lreq.Kind = Poly_Point and then  
2                Lreq.Poly_Point_Req.Drawable = Drawable and then  
2                Lreq.Poly_Point_Req.Gc = Gc.Gid and then  
2                Lreq.Poly_Point_Req.Coord_Mode = Coord_Mode_Origin then
2 
2 ----Increment the length of the request and put out the new data element.
2 
2                 Lreq.Poly_Point_Req.Length :=
2                    Lreq.Poly_Point_Req.Length + X_Point'Size / 32;  
2                 Put_X_Point (Display, (X => X,  
2                                        Y => Y));
2 
2 ----If we just used the last available space then put out the request and
2 --  turn "off" the Last_Request.Kind.

* Change 577..583
1             if Display.Last_Request.Kind = Poly_Point and then  
1                Display.Last_Request.Pp_Req.Drawable = Drawable and then  
1                Display.Last_Request.Pp_Req.Gc = Gc.Gid and then  
1                Display.Last_Request.Pp_Req.Coord_Mode =  
1                   Coord_Mode_Origin and then  
1                Display.Last_Request.Pp_Req.Length <  
1                   Display.Poly_Point_Limit then
-----
2                 Lreq.Spaces_Left := Lreq.Spaces_Left - 1;
2                 if Lreq.Spaces_Left = 0 then
2                     Put_X_Poly_Point_Request  
2                        (Display     => Display,  
2                         Req         => Lreq.Poly_Point_Req,  
2                         Reservation => Lreq.Request_Position);
2                     Lreq.Kind := Invalid_Request;
2                 end if;

* Change 585..589
1                 Display.Last_Request.Pp_Req.Length                  :=  
1                    Display.Last_Request.Pp_Req.Length + 1;  
1                 Display.Last_Request.Pp_Ary  
1                    (S_Natural (Display.Last_Request.Pp_Req.Length)) := (X => X,  
1                                                                         Y => Y);
-----
2 ----We are to start a new request.  Flush the last request if necessary.

* Change 592
1                 if not Display.Last_Request.Empty then  
-----
2                 if Lreq.Kind /= Invalid_Request then  

* Change 594..607
1                 end if;  
1                 declare  
1                     Stuff : X_Last_Request (Poly_Point);  
1                 begin  
1                     Stuff.Empty          := False;  
1                     Stuff.Pp_Req         := (Kind       => Poly_Point,  
1                                              Length     => 1,  
1                                              Drawable   => Drawable,  
1                                              Gc         => Gc.Gid,  
1                                              Coord_Mode => Coord_Mode_Origin);  
1                     Stuff.Pp_Ary (1)     := (X => X,  
1                                              Y => Y);  
1                     Display.Last_Request := Stuff;  
1                 end;  
-----
2                 end if;
2 
2 ----Create the request and then reserve space for it and its data.
2 
2                 Lreq.Poly_Point_Req :=
2                    (Kind       => Poly_Point,  
2                     Length     => X_Poly_Point_Request'Size / 32 +
2                                      X_Point'Size / 32,  
2                     Drawable   => Drawable,  
2                     Gc         => Gc.Gid,  
2                     Coord_Mode => Coord_Mode_Origin);  
2                 Reserve_X_Poly_Point_Request (Display,  
2                                               Display.Poly_Point_Limit,  
2                                               Lreq.Poly_Point_Req,  
2                                               (1 => (X => X,  
2                                                      Y => Y)),  
2                                               Lreq.Request_Position,  
2                                               Lreq.Spaces_Left);
2 
2 ----If there are no Spaces_Left then the request is already on the way out
2 --  and we cannot add anything to it later.
2 
2                 if Lreq.Spaces_Left = 0 then
2                     Lreq.Kind := Invalid_Request;
2                 else
2                     Lreq.Kind := Poly_Point;
2                 end if;

* Change 646..656
1                (Display,  
1                 (Kind       => Fill_Poly,  
1                  Length     => X_Fill_Poly_Request'Size / 32 +  
1                                   Points'Length * X_Point'Size / 32,  
1                  Drawable   => Drawable,  
1                  Pad        => 0,  
1                  Pad1       => 0,  
1                  Gc         => Gc.Gid,  
1                  Shape      => Shape,  
1                  Coord_Mode => Mode),  
1                 Points'Length * X_Point'Size / 8);
-----
2                (Display => Display,  
2                 Req     => (Kind       => Fill_Poly,  
2                             Length     => X_Fill_Poly_Request'Size / 32 +  
2                                              Points'Length * X_Point'Size / 32,  
2                             Drawable   => Drawable,  
2                             Pad        => 0,  
2                             Pad1       => 0,  
2                             Gc         => Gc.Gid,  
2                             Shape      => Shape,  
2                             Coord_Mode => Mode),  
2                 Extra   => Points'Length * X_Point'Size / 8);

* Change 694..701
1                (Display,  
1                 (Kind       => Poly_Line,  
1                  Length     => X_Poly_Line_Request'Size / 32 +  
1                                   Points'Length * X_Point'Size / 32,  
1                  Drawable   => Drawable,  
1                  Gc         => Gc.Gid,  
1                  Coord_Mode => Mode),  
1                 Points'Length * X_Point'Size / 8);
-----
2                (Display => Display,  
2                 Req     => (Kind       => Poly_Line,  
2                             Length     => X_Poly_Line_Request'Size / 32 +  
2                                              Points'Length * X_Point'Size / 32,  
2                             Drawable   => Drawable,  
2                             Gc         => Gc.Gid,  
2                             Coord_Mode => Mode),  
2                 Extra   => Points'Length * X_Point'Size / 8);

* Change 729
1                            Y2       : S_Short) is  
-----
2                            Y2       : S_Short) is
2 
2         Lreq : X_Last_Request renames Display.Last_Request;

* Insert after 742
2 
2             if Lreq.Kind = Poly_Segment and then  
2                Lreq.Poly_Segment_Req.Drawable = Drawable and then  
2                Lreq.Poly_Segment_Req.Gc = Gc.Gid then
2 
2 ----Increment the length of the request and put out the new data element.
2 
2                 Lreq.Poly_Segment_Req.Length :=
2                    Lreq.Poly_Segment_Req.Length + X_Segment'Size / 32;  
2                 Put_X_Segment (Display, (X1 => X1,  
2                                          Y1 => Y1,  
2                                          X2 => X2,  
2                                          Y2 => Y2));
2 ----If we just used the last available space then put out the request and
2 --  turn "off" the Last_Request.Kind.
2 
2                 Lreq.Spaces_Left := Lreq.Spaces_Left - 1;
2                 if Lreq.Spaces_Left = 0 then
2                     Put_X_Poly_Segment_Request  
2                        (Display     => Display,  
2                         Req         => Lreq.Poly_Segment_Req,  
2                         Reservation => Lreq.Request_Position);
2                     Lreq.Kind := Invalid_Request;
2                 end if;

* Change 744..748
1             if Display.Last_Request.Kind = Poly_Segment and then  
1                Display.Last_Request.Ps_Req.Drawable = Drawable and then  
1                Display.Last_Request.Ps_Req.Gc = Gc.Gid and then  
1                Display.Last_Request.Ps_Req.Length <  
1                   Display.Poly_Point_Limit then
-----
2 ----We are to start a new request.  Flush the last request if necessary.

* Delete 750..757
1                 Display.Last_Request.Ps_Req.Length                  :=  
1                    Display.Last_Request.Ps_Req.Length + 1;  
1                 Display.Last_Request.Ps_Ary  
1                    (S_Natural (Display.Last_Request.Ps_Req.Length)) :=  
1                    (X1 => X1,  
1                     Y1 => Y1,  
1                     X2 => X2,  
1                     Y2 => Y2);  

* Change 759
1                 if not Display.Last_Request.Empty then  
-----
2                 if Lreq.Kind /= Invalid_Request then  

* Change 761..776
1                 end if;  
1                 declare  
1                     Stuff : X_Last_Request (Poly_Segment);  
1                 begin  
1                     Stuff.Empty          := False;  
1                     Stuff.Ps_Req         := (Kind     => Poly_Segment,  
1                                              Length   => 1,  
1                                              Pad      => 0,  
1                                              Drawable => Drawable,  
1                                              Gc       => Gc.Gid);  
1                     Stuff.Ps_Ary (1)     := (X1 => X1,  
1                                              Y1 => Y1,  
1                                              X2 => X2,  
1                                              Y2 => Y2);  
1                     Display.Last_Request := Stuff;  
1                 end;
-----
2                 end if;
2 
2 ----Create the request and then reserve space for it and its data.
2 
2                 Lreq.Poly_Segment_Req :=
2                    (Kind     => Poly_Segment,  
2                     Length   => X_Poly_Segment_Request'Size / 32 +  
2                                    X_Segment'Size / 32,  
2                     Pad      => 0,  
2                     Drawable => Drawable,  
2                     Gc       => Gc.Gid);  
2                 Reserve_X_Poly_Segment_Request (Display,  
2                                                 Display.Poly_Segment_Limit,  
2                                                 Lreq.Poly_Segment_Req,  
2                                                 (1 => (X1 => X1,  
2                                                        Y1 => Y1,  
2                                                        X2 => X2,  
2                                                        Y2 => Y2)),  
2                                                 Lreq.Request_Position,  
2                                                 Lreq.Spaces_Left);
2 
2 ----If there are no Spaces_Left then the request is already on the way out
2 --  and we cannot add anything to it later.
2 
2                 if Lreq.Spaces_Left = 0 then
2                     Lreq.Kind := Invalid_Request;
2                 else
2                     Lreq.Kind := Poly_Segment;
2                 end if;
2             end if;

* Delete 780
1             end if;  

* Change 820..821
1                 if N_Segments > S_Natural (Display.Poly_Seg_Limit) then  
1                     N := S_Natural (Display.Poly_Seg_Limit);  
-----
2                 if N_Segments > S_Natural (Display.Poly_Segment_Limit) then  
2                     N := S_Natural (Display.Poly_Segment_Limit);  

* Change 830..837
1                    (Display,  
1                     (Kind     => Poly_Segment,  
1                      Length   =>  
1                         X_Poly_Segment_Request'Size / 32 + U_Short (Size),  
1                      Pad      => 0,  
1                      Drawable => Drawable,  
1                      Gc       => Gc.Gid),  
1                     4 * Size);
-----
2                    (Display => Display,  
2                     Req     => (Kind     => Poly_Segment,  
2                                 Length   =>  
2                                    X_Poly_Segment_Request'Size / 32 +
2                                       U_Short (Size),  
2                                 Pad      => 0,  
2                                 Drawable => Drawable,  
2                                 Gc       => Gc.Gid),  
2                     Extra   => 4 * Size);

* Change 889..890
1                 if N_Rectangles > S_Natural (Display.Poly_Rect_Limit) then  
1                     N := S_Natural (Display.Poly_Rect_Limit);  
-----
2                 if N_Rectangles > S_Natural (Display.Poly_Rectangle_Limit) then  
2                     N := S_Natural (Display.Poly_Rectangle_Limit);  

* Change 899..906
1                    (Display,  
1                     (Kind     => Poly_Rectangle,  
1                      Length   =>  
1                         X_Poly_Rectangle_Request'Size / 32 + U_Short (Size),  
1                      Pad      => 0,  
1                      Drawable => Drawable,  
1                      Gc       => Gc.Gid),  
1                     4 * Size);
-----
2                    (Display => Display,  
2                     Req     => (Kind     => Poly_Rectangle,  
2                                 Length   =>  
2                                    X_Poly_Rectangle_Request'Size / 32 +
2                                       U_Short (Size),  
2                                 Pad      => 0,  
2                                 Drawable => Drawable,  
2                                 Gc       => Gc.Gid),  
2                     Extra   => 4 * Size);

* Change 939
1                                 Height   : U_Short) is  
-----
2                                 Height   : U_Short) is
2 
2         Lreq : X_Last_Request renames Display.Last_Request;

* Insert after 951
2 
2             if Lreq.Kind = Poly_Rectangle and then  
2                Lreq.Poly_Rectangle_Req.Drawable = Drawable and then  
2                Lreq.Poly_Rectangle_Req.Gc = Gc.Gid then
2 
2 ----Increment the length of the request and put out the new data element.
2 
2                 Lreq.Poly_Rectangle_Req.Length :=
2                    Lreq.Poly_Rectangle_Req.Length + X_Rectangle'Size / 32;  
2                 Put_X_Rectangle (Display, (X      => X,  
2                                            Y      => Y,  
2                                            Width  => Width,  
2                                            Height => Height));
2 
2 ----If we just used the last available space then put out the request and
2 --  turn "off" the Last_Request.Kind.

* Change 953..956
1             if Display.Last_Request.Kind = Poly_Rectangle and then  
1                Display.Last_Request.Pr_Req.Drawable = Drawable and then  
1                Display.Last_Request.Pr_Req.Gc = Gc.Gid and then  
1                Display.Last_Request.Pr_Req.Length < Display.Poly_Rect_Limit then
-----
2                 Lreq.Spaces_Left := Lreq.Spaces_Left - 1;
2                 if Lreq.Spaces_Left = 0 then
2                     Put_X_Poly_Rectangle_Request  
2                        (Display     => Display,  
2                         Req         => Lreq.Poly_Rectangle_Req,  
2                         Reservation => Lreq.Request_Position);
2                     Lreq.Kind := Invalid_Request;
2                 end if;

* Change 958..965
1                 Display.Last_Request.Pr_Req.Length                  :=  
1                    Display.Last_Request.Pr_Req.Length + 1;  
1                 Display.Last_Request.Pr_Ary  
1                    (S_Natural (Display.Last_Request.Pr_Req.Length)) :=  
1                    (X      => X,  
1                     Y      => Y,  
1                     Width  => Width,  
1                     Height => Height);
-----
2 ----We are to start a new request.  Flush the last request if necessary.

* Change 968
1                 if not Display.Last_Request.Empty then  
-----
2                 if Lreq.Kind /= Invalid_Request then  

* Change 970..985
1                 end if;  
1                 declare  
1                     Stuff : X_Last_Request (Poly_Rectangle);  
1                 begin  
1                     Stuff.Empty          := False;  
1                     Stuff.Pr_Req         := (Kind     => Poly_Rectangle,  
1                                              Length   => 1,  
1                                              Pad      => 0,  
1                                              Drawable => Drawable,  
1                                              Gc       => Gc.Gid);  
1                     Stuff.Pr_Ary (1)     := (X      => X,  
1                                              Y      => Y,  
1                                              Width  => Width,  
1                                              Height => Height);  
1                     Display.Last_Request := Stuff;  
1                 end;
-----
2                 end if;
2 
2 ----Create the request and then reserve space for it and its data.
2 
2                 Lreq.Poly_Rectangle_Req :=
2                    (Kind     => Poly_Rectangle,  
2                     Length   => X_Poly_Rectangle_Request'Size / 32 +  
2                                    X_Rectangle'Size / 32,  
2                     Pad      => 0,  
2                     Drawable => Drawable,  
2                     Gc       => Gc.Gid);  
2                 Reserve_X_Poly_Rectangle_Request (Display,  
2                                                   Display.Poly_Rectangle_Limit,  
2                                                   Lreq.Poly_Rectangle_Req,  
2                                                   (1 => (X      => X,  
2                                                          Y      => Y,  
2                                                          Width  => Width,  
2                                                          Height => Height)),  
2                                                   Lreq.Request_Position,  
2                                                   Lreq.Spaces_Left);
2 
2 ----If there are no Spaces_Left then the request is already on the way out
2 --  and we cannot add anything to it later.
2 
2                 if Lreq.Spaces_Left = 0 then
2                     Lreq.Kind := Invalid_Request;
2                 else
2                     Lreq.Kind := Poly_Rectangle;
2                 end if;
2             end if;

* Delete 989
1             end if;  

* Change 1030..1031
1                 if N_Rectangles > S_Natural (Display.Poly_Rect_Limit) then  
1                     N := S_Natural (Display.Poly_Rect_Limit);  
-----
2                 if N_Rectangles > S_Natural (Display.Poly_Rectangle_Limit) then  
2                     N := S_Natural (Display.Poly_Rectangle_Limit);  

* Change 1040..1047
1                    (Display,  
1                     (Kind     => Poly_Fill_Rectangle,  
1                      Length   => X_Poly_Fill_Rectangle_Request'Size / 32 +  
1                                     U_Short (Size),  
1                      Pad      => 0,  
1                      Drawable => Drawable,  
1                      Gc       => Gc.Gid),  
1                     4 * Size);
-----
2                    (Display => Display,  
2                     Req     => (Kind     => Poly_Fill_Rectangle,  
2                                 Length   =>  
2                                    X_Poly_Fill_Rectangle_Request'Size / 32 +  
2                                       U_Short (Size),  
2                                 Pad      => 0,  
2                                 Drawable => Drawable,  
2                                 Gc       => Gc.Gid),  
2                     Extra   => 4 * Size);

* Change 1080
1                                 Height   : U_Short) is  
-----
2                                 Height   : U_Short) is
2 
2         Lreq : X_Last_Request renames Display.Last_Request;

* Insert after 1092
2 
2 
2             if Lreq.Kind = Poly_Fill_Rectangle and then  
2                Lreq.Poly_Fill_Rectangle_Req.Drawable = Drawable and then  
2                Lreq.Poly_Fill_Rectangle_Req.Gc = Gc.Gid then
2 
2 ----Increment the length of the request and put out the new data element.
2 
2                 Lreq.Poly_Fill_Rectangle_Req.Length :=
2                    Lreq.Poly_Fill_Rectangle_Req.Length + X_Rectangle'Size / 32;  
2                 Put_X_Rectangle (Display, (X      => X,  
2                                            Y      => Y,  
2                                            Width  => Width,  
2                                            Height => Height));

* Insert after 1093
2 ----If we just used the last available space then put out the request and
2 --  turn "off" the Last_Request.Kind.

* Change 1095..1098
1             if Display.Last_Request.Kind = Poly_Fill_Rectangle and then  
1                Display.Last_Request.Fr_Req.Drawable = Drawable and then  
1                Display.Last_Request.Fr_Req.Gc = Gc.Gid and then  
1                Display.Last_Request.Fr_Req.Length < Display.Poly_Rect_Limit then
-----
2                 Lreq.Spaces_Left := Lreq.Spaces_Left - 1;
2                 if Lreq.Spaces_Left = 0 then
2                     Put_X_Poly_Fill_Rectangle_Request
2                        (Display     => Display,  
2                         Req         => Lreq.Poly_Fill_Rectangle_Req,  
2                         Reservation => Lreq.Request_Position);
2                     Lreq.Kind := Invalid_Request;
2                 end if;

* Change 1100..1107
1                 Display.Last_Request.Fr_Req.Length                  :=  
1                    Display.Last_Request.Fr_Req.Length + 1;  
1                 Display.Last_Request.Fr_Ary  
1                    (S_Natural (Display.Last_Request.Fr_Req.Length)) :=  
1                    (X      => X,  
1                     Y      => Y,  
1                     Width  => Width,  
1                     Height => Height);
-----
2 ----We are to start a new request.  Flush the last request if necessary.

* Change 1110
1                 if not Display.Last_Request.Empty then  
-----
2                 if Lreq.Kind /= Invalid_Request then  

* Change 1112..1121
1                 end if;  
1                 declare  
1                     Stuff : X_Last_Request (Poly_Fill_Rectangle);  
1                 begin  
1                     Stuff.Empty  := False;  
1                     Stuff.Fr_Req := (Kind     => Poly_Fill_Rectangle,  
1                                      Length   => 1,  
1                                      Pad      => 0,  
1                                      Drawable => Drawable,  
1                                      Gc       => Gc.Gid);
-----
2                 end if;
2 
2 ----Create the request and then reserve space for it and its data.
2 
2                 Lreq.Poly_Fill_Rectangle_Req :=
2                    (Kind     => Poly_Fill_Rectangle,  
2                     Length   => X_Poly_Fill_Rectangle_Request'Size / 32 +  
2                                    X_Rectangle'Size / 32,  
2                     Pad      => 0,  
2                     Drawable => Drawable,  
2                     Gc       => Gc.Gid);
2 
2                 Reserve_X_Poly_Fill_Rectangle_Request
2                    (Display,  
2                     Display.Poly_Rectangle_Limit,  
2                     Lreq.Poly_Fill_Rectangle_Req,  
2                     (1 => (X      => X,  
2                            Y      => Y,  
2                            Width  => Width,  
2                            Height => Height)),  
2                     Lreq.Request_Position,  
2                     Lreq.Spaces_Left);
2 
2 ----If there are no Spaces_Left then the request is already on the way out
2 --  and we cannot add anything to it later.

* Change 1123..1128
1                     Stuff.Fr_Ary (1)     := (X      => X,  
1                                              Y      => Y,  
1                                              Width  => Width,  
1                                              Height => Height);  
1                     Display.Last_Request := Stuff;  
1                 end;
-----
2                 if Lreq.Spaces_Left = 0 then
2                     Lreq.Kind := Invalid_Request;
2                 else
2                     Lreq.Kind := Poly_Fill_Rectangle;
2                 end if;
2             end if;

* Delete 1132
1             end if;  
15:44:05 ::: [end of File_Utilities.Difference].
15:44:06 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:44:06 ... UNITS.PMI_PROCS.XLBP_GRAPHICS'SPEC'V(5)", "!X11.X_LIBRARY.
15:44:06 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_GRAPHICS'SPEC'V(1)", "", 
15:44:06 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_GRAPHICS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_GRAPHICS'SPEC
* Change 14
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:44:09 ::: [end of File_Utilities.Difference].
15:44:11 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:44:11 ... UNITS.PMI_PROCS.XLBP_HINT'BODY'V(5)", "!X11.X_LIBRARY.
15:44:11 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_HINT'BODY'V(1)", "", TRUE, 
15:44:11 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_HINT'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_HINT'BODY
* Change 36..37
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
1 --                  All Rights Reserved.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 1048
1         Host : constant X_String := To_X_String (X_Env_Get_Host_Name);  
-----
2         Host : constant X_String := X_Env_Get_Host_Name;  
15:44:21 ::: [end of File_Utilities.Difference].
15:44:22 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:44:22 ... UNITS.PMI_PROCS.XLBP_HINT'SPEC'V(5)", "!X11.X_LIBRARY.
15:44:22 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_HINT'SPEC'V(1)", "", TRUE, 
15:44:22 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_HINT'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_HINT'SPEC
* Change 14
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:44:26 ::: [end of File_Utilities.Difference].
15:44:30 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:44:30 ... UNITS.PMI_PROCS.XLBP_HOST'BODY'V(5)", "!X11.X_LIBRARY.
15:44:30 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_HOST'BODY'V(1)", "", TRUE, 
15:44:30 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_HOST'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_HOST'BODY
* Change 29
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:44:33 ::: [end of File_Utilities.Difference].
15:44:36 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:44:36 ... UNITS.PMI_PROCS.XLBP_HOST'SPEC'V(5)", "!X11.X_LIBRARY.
15:44:36 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_HOST'SPEC'V(1)", "", TRUE, 
15:44:36 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_HOST'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_HOST'SPEC
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:44:38 ::: [end of File_Utilities.Difference].
15:44:40 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:44:40 ... UNITS.PMI_PROCS.XLBP_IMAGE'BODY'V(5)", "!X11.X_LIBRARY.
15:44:40 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_IMAGE'BODY'V(1)", "", TRUE, 
15:44:40 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_IMAGE'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_IMAGE'BODY
* Change 45
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:44:56 ::: [end of File_Utilities.Difference].
15:44:57 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:44:57 ... UNITS.PMI_PROCS.XLBP_IMAGE'SPEC'V(5)", "!X11.X_LIBRARY.
15:44:57 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_IMAGE'SPEC'V(1)", "", TRUE, 
15:44:57 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_IMAGE'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_IMAGE'SPEC
* Change 16
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:45:00 ::: [end of File_Utilities.Difference].
15:45:02 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:45:02 ... UNITS.PMI_PROCS.XLBP_INPUT_FOCUS'BODY'V(5)", "!X11.X_LIBRARY.
15:45:02 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_INPUT_FOCUS'BODY'V(1)", "", 
15:45:02 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_INPUT_FOCUS'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_INPUT_FOCUS'BODY
* Change 25
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:45:03 ::: [end of File_Utilities.Difference].
15:45:05 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:45:05 ... UNITS.PMI_PROCS.XLBP_INPUT_FOCUS'SPEC'V(5)", "!X11.X_LIBRARY.
15:45:05 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_INPUT_FOCUS'SPEC'V(1)", "", 
15:45:05 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_INPUT_FOCUS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_INPUT_FOCUS'SPEC
* Change 14
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:45:06 ::: [end of File_Utilities.Difference].
15:45:08 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:45:08 ... UNITS.PMI_PROCS.XLBP_KEY'BODY'V(4)", "!X11.X_LIBRARY.
15:45:08 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_KEY'BODY'V(1)", "", TRUE, 
15:45:08 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_KEY'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_KEY'BODY
* Change 43
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:45:24 ::: [end of File_Utilities.Difference].
15:45:25 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:45:25 ... UNITS.PMI_PROCS.XLBP_KEY'SPEC'V(5)", "!X11.X_LIBRARY.
15:45:25 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_KEY'SPEC'V(1)", "", TRUE, 
15:45:25 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_KEY'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_KEY'SPEC
* Change 16
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:45:28 ::: [end of File_Utilities.Difference].
15:45:30 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:45:30 ... UNITS.PMI_PROCS.XLBP_KEYBOARD_CONTROL'BODY'V(5)", "!X11.X_LIBRARY.
15:45:30 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_KEYBOARD_CONTROL'BODY'V(1)",
15:45:30 ...  "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_KEYBOARD_CONTROL'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_KEYBOARD_CONTROL'BODY
* Change 27
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:45:32 ::: [end of File_Utilities.Difference].
15:45:33 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:45:33 ... UNITS.PMI_PROCS.XLBP_KEYBOARD_CONTROL'SPEC'V(5)", "!X11.X_LIBRARY.
15:45:33 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_KEYBOARD_CONTROL'SPEC'V(1)",
15:45:33 ...  "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_KEYBOARD_CONTROL'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_KEYBOARD_CONTROL'SPEC
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:45:34 ::: [end of File_Utilities.Difference].
15:45:36 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:45:36 ... UNITS.PMI_PROCS.XLBP_KEYBOARD_ENCODING'BODY'V(4)", "!X11.
15:45:36 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.
15:45:36 ... XLBP_KEYBOARD_ENCODING'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_KEYBOARD_ENCODING'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_KEYBOARD_ENCODING'BODY
* Change 32
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:45:40 ::: [end of File_Utilities.Difference].
15:45:41 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:45:41 ... UNITS.PMI_PROCS.XLBP_KEYBOARD_ENCODING'SPEC'V(5)", "!X11.
15:45:41 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.
15:45:41 ... XLBP_KEYBOARD_ENCODING'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_KEYBOARD_ENCODING'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_KEYBOARD_ENCODING'SPEC
* Change 16
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:45:43 ::: [end of File_Utilities.Difference].
15:45:45 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:45:45 ... UNITS.PMI_PROCS.XLBP_PIXMAP'BODY'V(5)", "!X11.X_LIBRARY.
15:45:45 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_PIXMAP'BODY'V(1)", "", TRUE,
15:45:45 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_PIXMAP'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_PIXMAP'BODY
* Change 22
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:45:46 ::: [end of File_Utilities.Difference].
15:45:48 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:45:48 ... UNITS.PMI_PROCS.XLBP_PIXMAP'SPEC'V(5)", "!X11.X_LIBRARY.
15:45:48 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_PIXMAP'SPEC'V(1)", "", TRUE,
15:45:48 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_PIXMAP'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_PIXMAP'SPEC
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:45:49 ::: [end of File_Utilities.Difference].
15:45:51 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:45:51 ... UNITS.PMI_PROCS.XLBP_POINTER_CONTROL'BODY'V(5)", "!X11.X_LIBRARY.
15:45:51 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_POINTER_CONTROL'BODY'V(1)", 
15:45:51 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_POINTER_CONTROL'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_POINTER_CONTROL'BODY
* Change 32
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:45:53 ::: [end of File_Utilities.Difference].
15:45:55 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:45:55 ... UNITS.PMI_PROCS.XLBP_POINTER_CONTROL'SPEC'V(5)", "!X11.X_LIBRARY.
15:45:55 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_POINTER_CONTROL'SPEC'V(1)", 
15:45:55 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_POINTER_CONTROL'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_POINTER_CONTROL'SPEC
* Change 16
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:45:56 ::: [end of File_Utilities.Difference].
15:45:58 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:45:58 ... UNITS.PMI_PROCS.XLBP_POINTER_MOTION'BODY'V(5)", "!X11.X_LIBRARY.
15:45:58 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_POINTER_MOTION'BODY'V(1)", 
15:45:58 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_POINTER_MOTION'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_POINTER_MOTION'BODY
* Change 28
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:46:00 ::: [end of File_Utilities.Difference].
15:46:01 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:46:01 ... UNITS.PMI_PROCS.XLBP_POINTER_MOTION'SPEC'V(5)", "!X11.X_LIBRARY.
15:46:01 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_POINTER_MOTION'SPEC'V(1)", 
15:46:01 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_POINTER_MOTION'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_POINTER_MOTION'SPEC
* Change 14
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:46:02 ::: [end of File_Utilities.Difference].
15:46:04 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:46:04 ... UNITS.PMI_PROCS.XLBP_REGION'BODY'V(5)", "!X11.X_LIBRARY.
15:46:04 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_REGION'BODY'V(1)", "", TRUE,
15:46:04 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_REGION'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_REGION'BODY
* Change 27
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:46:30 ::: [end of File_Utilities.Difference].
15:46:32 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:46:32 ... UNITS.PMI_PROCS.XLBP_REGION'SPEC'V(5)", "!X11.X_LIBRARY.
15:46:32 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_REGION'SPEC'V(1)", "", TRUE,
15:46:32 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_REGION'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_REGION'SPEC
* Change 18
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:46:34 ::: [end of File_Utilities.Difference].
15:46:37 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:46:37 ... UNITS.PMI_PROCS.XLBP_RM'BODY'V(5)", "!X11.X_LIBRARY.
15:46:37 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_RM'BODY'V(1)", "", TRUE, 
15:46:37 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_RM'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_RM'BODY
* Insert after 9
2 with Xlbt_Font;  
2 use Xlbt_Font;  
2 with Xlbt_Hint;  
2 use Xlbt_Hint;  

* Change 23
1 use Xlbt_Univ_Ptr;
-----
2 use Xlbt_Univ_Ptr;  
2 with Xlbt_Window;  
2 use Xlbt_Window;

* Insert after 24
2 with Xlbp_Display;  
2 use Xlbp_Display;  

* Change 61
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 125
2 -- *  7-FEB-91 - /GEB/ Remove all Xt conversion hooks.  Xt will be doing that
2 -- *           -  directly; these facilities are not nearly good enough.

* Insert after 228
2 
2             when Is_None | Is_Boolean | Is_Float | Is_U_Char |  
2                  Is_U_Short | Is_S_Char | Is_S_Short | Is_S_Long |  
2                  Is_X_Atom | Is_X_Color | Is_X_Colormap | Is_X_Cursor |  
2                  Is_X_Font | Is_X_Initial_Window_State | Is_X_Pixel |  
2                  Is_X_Pixmap | Is_X_Time | Is_X_Window =>  
2                 null;
2 
2 ----These guys have storage but we don't free them because they belong to some
2 --  other guy that would get freed some other way and thus cause them to get
2 --  freed.

* Change 230
1             when Is_None | Is_Boolean | Is_S_Long =>  
-----
2             when Is_X_Screen | Is_X_Visual =>  

* Insert after 233
2 
2             when Is_X_Display =>  
2                 X_Close_Display (Destination.V_X_Display);
2 
2             when Is_X_Rm_File_Type =>  
2                 begin  
2                     Text_Io.Close (Destination.V_X_Rm_File_Type.all);  
2                 exception  
2                     when others =>  
2                         null;  
2                 end;  
2                 Free_X_Rm_File_Type (Destination.V_X_Rm_File_Type);
2 
2             when Is_X_Font_Struct =>  
2                 Free_X_Font_Struct (Destination.V_X_Font_Struct);

* Delete 266..318
1 
1 --
1     procedure Free_X_Rm_Entry_Conversions (Val : X_Rm_Entry) is
1 ------------------------------------------------------------------------------
1 --  Val - Specifies the X_Rm_Entry that is to have the .Conversions removed
1 --
1 -- Called to disengage an Entry's .Conversions list.  If this Entry is simply
1 -- one Entry among several that are sharing the .Conversions list then it
1 -- is simply removed from the circular list.  If this is the only "real" Entry
1 -- using this .Conversions list then the contents of the list will be freed
1 -- storage occupied by the Conversions Values.
1 ------------------------------------------------------------------------------
1         Tmp1 : X_Rm_Entry := Val;  
1         Tmp2 : X_Rm_Entry;  
1     begin
1 
1 ----If there are no conversions or shared data then just return.
1 
1         if Tmp1.Conversions = null then  
1             return;  
1         end if;
1 
1 ----Check to see whether or not this entry is part of a shared set of data.
1 --  If it is then somewhere on the linked Conversions list will be another
1 --  Entry with the same .Representation.  If it is shared then just remove
1 --  the single Entry we were handed.
1 
1         Tmp2 := Tmp1.Conversions;  
1         while Tmp2 /= Tmp1 loop  
1             if Tmp1.Representation = Tmp2.Representation then
1                 ----We are shared.  Remove Tmp1 from the circular list.
1                 while Tmp2.Conversions /= Tmp1 loop  
1                     Tmp2 := Tmp2.Conversions;  
1                 end loop;  
1                 Tmp2.Conversions := Tmp1.Conversions;  
1                 Tmp1.Conversions := null;  
1                 return;  
1             end if;  
1         end loop;
1 
1 ----Nothing is shared.  Break the circular list and then deallocate all
1 --  list members.
1 
1         Tmp2             := Tmp1.Conversions;  
1         Tmp1.Conversions := null;  
1         while Tmp2 /= Val loop  
1             Tmp1 := Tmp2.Conversions;  
1             Private_Free_X_Rm_Value (Tmp2.Value);  
1             Free_X_Rm_Entry_Rec (Tmp2);  
1             Tmp2 := Tmp1;  
1         end loop;
1 
1     end Free_X_Rm_Entry_Conversions;

* Delete 330..333
1 
1 ----Free (or disengage) the .Conversions for this Entry.
1 
1         Free_X_Rm_Entry_Conversions (Val);

* Change 349
1 -- conversions and no data.
-----
2 -- data.

* Change 354..356
1         Free_X_Rm_Entry_Conversions (Destination);  
1         Destination.all := (null, False, None_X_Rm_Representation,  
1                             (Kind => Is_None));
-----
2         Destination.all := (False, None_X_Rm_Representation, None_X_Rm_Value);

* Delete 359..734
1 
1 --
1     function X_Rm_Entry_Value (Db_Entry : X_Rm_Entry) return X_Rm_Value is
1 ------------------------------------------------------------------------------
1 --  Db_Entry - Specifies the entry to query
1 --
1 -- Called to obtain the "primary" value for a database entry.  An entry may
1 -- have other "converted" and equivalent values for this entry but this routine
1 -- returns the "main", "primary", "original", or "unconverted" value.
1 --
1 -- Raises Constraint_Error if Db_Entry = None_X_Rm_Entry.
1 ------------------------------------------------------------------------------
1     begin
1 
1         return Db_Entry.Value;
1 
1     end X_Rm_Entry_Value;
1 
1 --
1     function X_Rm_Entry_Value  
1                 (Db_Entry       : X_Rm_Entry;  
1                  Representation : X_Rm_Representation) return X_Rm_Value is
1 ------------------------------------------------------------------------------
1 --  Db_Entry - Specifies the entry to query
1 --  Representation - Specifies the representation we are looking for
1 --
1 -- Called to obtain the value of a database entry that corresponds to a
1 -- particular representation.  This routine does *not* convert values in
1 -- any way.  It merely looks within the entry for an existing value with
1 -- a particular representation.  It returns X_Rm_Value'(Kind => Is_None) if
1 -- there is no such value present.
1 --
1 -- Raises Constraint_Error if Db_Entry = None_X_Rm_Entry or if Representation =
1 -- None_X_Rm_Representation.
1 ------------------------------------------------------------------------------
1         Ent2 : X_Rm_Entry;  
1     begin
1 
1 ----If Db_Entry has the right Representation then return it's value.
1 
1         if Representation = None_X_Rm_Representation then  
1             raise Constraint_Error;  
1         elsif Db_Entry.Representation = Representation then  
1             return Db_Entry.Value;  
1         end if;
1 
1 ----Loop over any and all conversions (if any at all) and search for the right
1 --  Representation.
1 
1         if Db_Entry.Conversions /= None_X_Rm_Entry then  
1             Ent2 := Db_Entry.Conversions;  
1             while Db_Entry /= Ent2 loop  
1                 if Ent2.Representation = Representation then  
1                     return Ent2.Value;  
1                 end if;  
1                 Ent2 := Ent2.Conversions;  
1             end loop;  
1         end if;
1 
1 ---We didn't find anything.
1 
1         return None_X_Rm_Value;
1 
1     end X_Rm_Entry_Value;
1 
1 --
1     function X_Rm_Entry_Representation  
1                 (Db_Entry : X_Rm_Entry) return X_Rm_Representation is
1 ------------------------------------------------------------------------------
1 --  Db_Entry - Specifies the entry to query
1 --
1 -- Called to obtain the "primary" representation for a database entry.  An
1 -- entry may have other "converted" and equivalent representations for this
1 -- entry but this routine returns the "main", "primary", "original", or
1 -- "unconverted" representation type.
1 --
1 -- Raises Constraint_Error if Db_Entry = None_X_Rm_Entry.
1 ------------------------------------------------------------------------------
1     begin
1 
1         return Db_Entry.Representation;
1 
1     end X_Rm_Entry_Representation;
1 
1 --
1     function X_Rm_Entry_All_Representations  
1                 (Db_Entry : X_Rm_Entry) return X_Rm_Representation_List is
1 ------------------------------------------------------------------------------
1 --  Db_Entry - Specifies the entry to query
1 --
1 -- Called to obtain a list of all available representations for a database
1 -- entry.  An entry may have several equivalent representations; each with
1 -- an associated value.
1 --
1 -- Raises Constraint_Error if Db_Entry = None_X_Rm_Entry.
1 ------------------------------------------------------------------------------
1         Cnt  : S_Natural;  
1         Ent2 : X_Rm_Entry;  
1     begin
1 
1 ----Special case; no conversions have been added.
1 
1         if Db_Entry.Conversions = None_X_Rm_Entry then  
1             return new X_Rm_Representation_Array'(1 => Db_Entry.Representation);  
1         end if;
1 
1 ----Do it the hard way.  Count the number of entries so we can copy their
1 --  Representations into an array.
1 
1         Cnt  := 1;  
1         Ent2 := Db_Entry.Conversions;  
1         while Ent2 /= Db_Entry loop  
1             Cnt  := Cnt + 1;  
1             Ent2 := Ent2.Conversions;  
1         end loop;
1 
1 ----Copy the Representations into an array and return it.
1 
1         declare  
1             T : X_Rm_Representation_List;  
1         begin  
1             begin  
1                 T := new X_Rm_Representation_Array (1 .. Cnt);  
1             exception  
1                 when others =>  
1                     Free_X_Rm_Representation_List (T);  
1                     raise;  
1             end;  
1             Cnt   := 1;  
1             T (1) := Db_Entry.Representation;  
1             Ent2  := Db_Entry.Conversions;  
1             while Ent2 /= Db_Entry loop  
1                 Cnt     := Cnt + 1;  
1                 T (Cnt) := Ent2.Representation;  
1                 Ent2    := Ent2.Conversions;  
1             end loop;  
1             return T;  
1         end;
1 
1     end X_Rm_Entry_All_Representations;
1 
1 --
1     procedure X_Rm_Entry_Assign (Destination : X_Rm_Entry;  
1                                  Source      : X_Rm_Entry) is
1 ------------------------------------------------------------------------------
1 --  Destination - Specifies the entry to be changed; target of the assignment
1 --  Source - Specifies the value to be assigned; source of the assignment
1 --
1 -- Assign the value/contents of one database entry to another entry.
1 -- Takes care of plugging heap storage leaks for heap values owed by the
1 -- database (or by either database if the entries come from different
1 -- databases).
1 --
1 -- Raises Constraint_Error if Destination or Source = None_X_Rm_Entry.
1 ------------------------------------------------------------------------------
1     begin
1 
1 ----Firewall.
1 
1         if Destination = None_X_Rm_Entry or else Source = None_X_Rm_Entry then  
1             raise Constraint_Error;  
1         end if;
1 
1 ----Free up the Value old storage, if any, and free up any .Conversions data
1 --  that isn't shared with someone else.  Also do the initial data copy.
1 
1         Private_Free_X_Rm_Value (Destination.Value);  
1         Free_X_Rm_Entry_Conversions (Destination);  
1         Destination.all := (Conversions    => null,  
1                             Owner          => False,  
1                             Representation => None_X_Rm_Representation,  
1                             Value          => Source.Value);
1 
1 ----Now check for shared storage.  This implies some work with the .Conversions
1 --  list of both Destination and Source.
1 
1         case Destination.Value.Kind is
1 
1 ----These guys do not have any type of new storage associated with them.
1 
1             when Is_None | Is_Boolean | Is_S_Long =>  
1                 return;
1 
1 ----These guys may have storage that needs to be shared.
1 
1             when Is_X_String7_Pointer =>  
1                 if Destination.Value.V_X_String7_Pointer = null then  
1                     return;  
1                 end if;
1 
1             when Is_X_String_Pointer =>  
1                 if Destination.Value.V_X_String_Pointer = null then  
1                     return;  
1                 end if;
1 
1             when Is_X_String16_Pointer =>  
1                 if Destination.Value.V_X_String16_Pointer = null then  
1                     return;  
1                 end if;
1 
1             when Is_U_Char_List =>  
1                 if Destination.Value.V_U_Char_List = null then  
1                     return;  
1                 end if;
1 
1             when Is_X_Universal_Pointer =>
1                 ----If there is data, and if there is a Free routine (meaning
1                 --  that at some point we will actually Free the data) then
1                 --  we must copy the data.
1                 if Destination.Value.V_X_Universal_Pointer.Pointer =  
1                    None_X_Universal_Pointer then  
1                     return;  
1                 end if;  
1         end case;
1 
1 ----We have the shared storage case.  Link Destination/Source together.
1 
1         if Source.Conversions = null then  
1             Destination.Conversions := Source;  
1         else  
1             Destination.Conversions := Source.Conversions;  
1         end if;  
1         Source.Conversions := Destination;
1 
1     end X_Rm_Entry_Assign;
1 
1 --
1     procedure X_Rm_Entry_Assign (Destination    : X_Rm_Entry;  
1                                  Representation : X_Rm_Representation;  
1                                  Source         : X_Rm_Value;  
1                                  Db_Owner       : Boolean := True) is
1 ------------------------------------------------------------------------------
1 --  Destination       - Specifies the entry to be changed; target of the assignment
1 --  Representation       - Specifies the representation of the new value
1 --  Source       - Specifies the value to be assigned; source of the assignment
1 --  Db_Owner  - Specifies TRUE if the database is to be responsible for
1 --              deallocating any heap storage utilized by Value once the
1 --              last database entry for this Value is overwritten or released.
1 --
1 -- Assign a new value to a database entry.  Takes care of plugging heap storage
1 -- leaks for heap values owned by the database.
1 --
1 -- To "remove" a value from the database use one of the X_Rm_Put_Resource
1 -- routines.
1 --
1 -- If Db_Owner is TRUE (the default) then any heap storage represented by
1 -- the Value becomes the "property" of the database and it must not be
1 -- subsequently modified or freed.  If several entries in one database (or
1 -- individual entries in multiple databases) are all to be given entries
1 -- which will all have the same heap-using Value then either a) none of the
1 -- database entries should be made with Db_Owner => TRUE (meaning that the
1 -- application is responsible for releasing the heap storage), or b) only
1 -- one database entry should have Db_Owner => TRUE and that database must
1 -- be deallocated last of any databases sharing this value.
1 --
1 -- Note that if Value is an Is_Universal then Db_Owner has no affect if
1 -- the Free routine within the Value is X_Univ_Free.None.  A database cannot
1 -- free a Universal pointer when no Free routine has been provided.
1 --
1 -- Raises Constraint_Error if Db_Entry = None_X_Rm_Entry or if Representation =
1 -- None_X_Rm_Representation.
1 ------------------------------------------------------------------------------
1     begin
1 
1 ----Free up the Value old storage, if any, and free up any .Conversions data
1 --  that isn't shared with someone else.  Also do the initial data copy.
1 
1         if Representation = None_X_Rm_Representation then  
1             raise Constraint_Error;  
1         end if;  
1         Private_Free_X_Rm_Value (Destination.Value);  
1         Free_X_Rm_Entry_Conversions (Destination);  
1         Destination.all := (Conversions    => null,  
1                             Owner          => Db_Owner,  
1                             Representation => Representation,  
1                             Value          => Source);
1 
1     end X_Rm_Entry_Assign;
1 
1 --
1     procedure X_Rm_Entry_Add_Converted_Value  
1                  (Db_Entry       : X_Rm_Entry;  
1                   Representation : X_Rm_Representation;  
1                   Source         : X_Rm_Value;  
1                   Db_Owner       : Boolean := True) is
1 ------------------------------------------------------------------------------
1 --  Db_Entry       - Specifies the entry to be augmented with an alternate value
1 --  Representation       - Specifies the representation of the new value
1 --  Source       - Specifies the value to be assigned; source of the assignment
1 --  Db_Owner  - Specifies TRUE if the database is to be responsible for
1 --              deallocating any heap storage utilized by Value once the
1 --              last database entry for this Value is overwritten or released.
1 --
1 -- An entry in the database may have more than one representation.  For
1 -- instance, a value called "font" may have a String representation whose
1 -- value is "*courier*-b-*37*" and may at the same time have a representation
1 -- that is the X_Font_Struct that corresponds to the font named
1 -- "*courier*-b-*37*".  Each of the values connected to a particular entry
1 -- name/class is expected to be a "converted value" that is equivalent in
1 -- some sense with all of the other values.  In this case the string is the
1 -- name of the font and the X_Font_Struct is the information from the server
1 -- that corresponds to that string font name.
1 --
1 -- This routine is used to add "converted values" to an entry.  It takes care
1 -- of plugging heap storage leaks for heap values owned by the database.
1 --
1 -- If this database entry already has some old converted value with the same
1 -- representation as this new converted value then the old value is replaced
1 -- by the new one.  The old one is deallocated according to the usual rules.
1 --
1 -- If Db_Owner is TRUE (the default) then any heap storage represented by
1 -- the new Value becomes the "property" of the database and it must not be
1 -- subsequently modified or freed.  If several entries in one database (or
1 -- individual entries in multiple databases) are all to be given entries
1 -- which will all have the same heap-using Value then either a) none of the
1 -- database entries should be made with Db_Owner => TRUE (meaning that the
1 -- application is responsible for releasing the heap storage), or b) only
1 -- one database entry should have Db_Owner => TRUE and that database must
1 -- be deallocated last of any databases sharing this value.
1 --
1 -- Note that if Value is an Is_Universal then Db_Owner has no affect if
1 -- the Free routine within the Value is X_Univ_Free.None.  A database cannot
1 -- free a Universal pointer when no Free routine has been provided.
1 --
1 -- Raises Constraint_Error if Db_Entry = None_X_Rm_Entry or if Representation =
1 -- None_X_Rm_Representation.
1 ------------------------------------------------------------------------------
1         Ent2 : X_Rm_Entry;  
1     begin
1 
1 ----The first case to check for is the case where Db_Entry.Representation = Representation.
1 
1         if Representation = None_X_Rm_Representation then  
1             raise Constraint_Error;  
1         elsif Db_Entry.Representation = Representation then  
1             Private_Free_X_Rm_Value (Db_Entry.Value);  
1             Db_Entry.Owner := Db_Owner;  
1             Db_Entry.Value := Source;  
1             return;  
1         end if;
1 
1 ----The second case to check for is where there are no .Conversions yet.
1 
1         if Db_Entry.Conversions = None_X_Rm_Entry or else  
1            Db_Entry.Conversions = Db_Entry then  
1             Db_Entry.Conversions := new X_Rm_Entry_Rec'  
1                                            (Value          => Source,  
1                                             Representation => Representation,  
1                                             Owner          => Db_Owner,  
1                                             Conversions    => Db_Entry);  
1             return;  
1         end if;
1 
1 ----The final case is where we have to search.  We may or may not find
1 --  an existing entry to change.
1 
1         Ent2 := Db_Entry.Conversions;  
1         while Ent2 /= Db_Entry loop  
1             if Ent2.Representation = Representation then  
1                 Private_Free_X_Rm_Value (Ent2.Value);  
1                 Ent2.Owner := Db_Owner;  
1                 Ent2.Value := Source;  
1                 return;  
1             end if;  
1             Ent2 := Ent2.Conversions;  
1         end loop;
1 
1 ----No conversion to change; add a new one.
1 
1         Db_Entry.Conversions := new X_Rm_Entry_Rec'  
1                                        (Value          => Source,  
1                                         Representation => Representation,  
1                                         Owner          => Db_Owner,  
1                                         Conversions    => Db_Entry.Conversions);
1 
1     end X_Rm_Entry_Add_Converted_Value;

* Change 802..806
1                         Db2 := Bucket.Value;  
1                         while Db2 /= None_X_Rm_Entry and then  
1                                  Db2.Value.Kind = Is_None loop  
1                             Db2 := Db2.Conversions;  
1                         end loop;  
-----
2                         Db2      := Bucket.Value;  

* Change 897..900
1     procedure X_Rm_Get_Resource (Database :     X_Rm_Database;  
1                                  Names    :     X_Rm_Name_Array;  
1                                  Classes  :     X_Rm_Class_Array;  
1                                  Db_Entry : out X_Rm_Entry) is
-----
2     procedure X_Rm_Get_Resource (Database       :     X_Rm_Database;  
2                                  Names          :     X_Rm_Name_Array;  
2                                  Classes        :     X_Rm_Class_Array;  
2                                  Representation : out X_Rm_Representation;  
2                                  Value          : out X_Rm_Value) is

* Change 902..905
1 --  Database  - Specifies the database to use for the lookup.
1 --  Names     - Specifies the fully qualified name of the value.
1 --  Classes   - Specifies the fully qualified class of the value.
1 --  Db_Entry  - Receives the entry from the database or None_X_Rm_Entry
-----
2 --  Database      - Specifies the database to use for the lookup.
2 --  Names         - Specifies the fully qualified name of the value; e.g. a.b.c
2 --  Classes       - Specifies the fully qualified class of the value; e.g. A.B.C
2 --  Representation- Receives the representation of the value
2 --  Value         - Receives the entry from the database or None_X_Rm_Value

* Change 907..910
1 -- If successful (Db_Entry /= None_X_Rm_Entry) then Value has received an
1 -- X_Rm_Entry from within the database.  The value returned is shared with
1 -- the database (and possibly other databases) so do not attempt free the entry
1 -- or the data contained within the entry.
-----
2 -- If successful (Value /= None_X_Rm_Value) then Value has received an
2 -- X_Rm_Value from within the database.  Any heap based data returned is shared
2 -- with the database (and possibly other databases) so do not attempt free the
2 -- data contained within the value.

* Change 912..914
1 -- You may use any of the X_Rm_Entry manipulation routines implemented within
1 -- this package to query, modify, or share this database entry.  Do not
1 -- manipulate the entry directly in any fashion.
-----
2 -- Will raise Constraint_Error if either Names or Classes contains
2 -- illegal characters.

* Change 916..919
1         Rdbi    : X_Rm_Hash_Bucket;  
1         Tight   : X_Rm_Hash_Table;  
1         Loose   : X_Rm_Hash_Table;  
1         Ret_Val : Boolean;  
-----
2 
2         Rdbi     : X_Rm_Hash_Bucket;  
2         Tight    : X_Rm_Hash_Table;  
2         Loose    : X_Rm_Hash_Table;  
2         Db_Entry : X_Rm_Entry;  
2         Ret_Val  : Boolean;  

* Insert after 929
2                 if Ret_Val then  
2                     Representation := Db_Entry.Representation;  
2                     Value          := Db_Entry.Value;  
2                 else  
2                     Representation := None_X_Rm_Representation;  
2                     Value          := None_X_Rm_Value;  
2                 end if;  

* Change 933
1         Db_Entry := None_X_Rm_Entry;
-----
2         Representation := None_X_Rm_Representation;  
2         Value          := None_X_Rm_Value;

* Change 968..971
1     procedure X_Rm_Get_Resource (Database :     X_Rm_Database;  
1                                  Names    :     X_String;  
1                                  Classes  :     X_String;  
1                                  Db_Entry : out X_Rm_Entry) is
-----
2     procedure X_Rm_Get_Resource (Database       :     X_Rm_Database;  
2                                  Names          :     X_String;  
2                                  Classes        :     X_String;  
2                                  Representation : out X_Rm_Representation;  
2                                  Value          : out X_Rm_Value) is

* Change 974..981
1 --  Names     - Specifies the fully qualified name of the value; e.g. a.b.c
1 --  Classes   - Specifies the fully qualified class of the value; e.g. A.B.C
1 --  Db_Entry  - Receives the entry from the database or None_X_Rm_Entry
1 --
1 -- If successful (Db_Entry /= None_X_Rm_Entry) then Value has received an
1 -- X_Rm_Entry from within the database.  The value returned is shared with
1 -- the database (and possibly other databases) so do not attempt free the entry
1 -- or the data contained within the entry.
-----
2 --  Names     - Specifies the fully qualified name of the value.
2 --  Classes   - Specifies the fully qualified class of the value.
2 --  Representation- Receives the representation of the value
2 --  Value         - Receives the entry from the database or None_X_Rm_Value

* Change 983..985
1 -- You may use any of the X_Rm_Entry manipulation routines implemented within
1 -- this package to query, modify, or share this database entry.  Do not
1 -- manipulate the entry directly in any fashion.
-----
2 -- If successful (Value /= None_X_Rm_Value) then Value has received an
2 -- X_Rm_Value from within the database.  Any heap based data returned is shared
2 -- with the database (and possibly other databases) so do not attempt free the
2 -- data contained within the entry.

* Insert after 986
2 

* Change 993
1         X_Rm_Get_Resource (Database, Names_Array, Classes_Array, Db_Entry);
-----
2         X_Rm_Get_Resource (Database, Names_Array, Classes_Array,  
2                            Representation, Value);

* Change 1111..1112
1             Pbucket.Value.all := (Conversions    => None_X_Rm_Entry,  
1                                   Representation => Representation,  
-----
2             Pbucket.Value.all := (Representation => Representation,  

* Change 1297
1                       X_Rm_String_To_Representation (Name => Representation),  
-----
2                       X_Rm_String_To_Representation (Str => Representation),  

* Change 1602..1605
1     procedure X_Rm_Get_Search_Resource (List     :     X_Rm_Search_List;  
1                                         Name     :     X_Rm_Name;  
1                                         Class    :     X_Rm_Class;  
1                                         Db_Entry : out X_Rm_Entry) is
-----
2     procedure X_Rm_Get_Search_Resource  
2                  (List           :     X_Rm_Search_List;  
2                   Name           :     X_Rm_Name;  
2                   Class          :     X_Rm_Class;  
2                   Representation : out X_Rm_Representation;  
2                   Value          : out X_Rm_Value) is

* Change 1610..1615
1 --  Db_Entry- Returns the result value or NULL.
1 --
1 -- If successful (Db_Entry /= None_X_Rm_Entry) then Value has received an
1 -- X_Rm_Entry from within the database.  The value returned is shared with
1 -- the database (and possibly other databases) so do not attempt free the entry
1 -- or the data contained within the entry.
-----
2 --  Representation- Receives the representation of the value
2 --  Value         - Receives the entry from the database or None_X_Rm_Value

* Change 1617..1619
1 -- You may use any of the X_Rm_Entry manipulation routines implemented within
1 -- this package to query, modify, or share this database entry.  Do not
1 -- manipulate the entry directly in any fashion.
-----
2 -- If successful (Value /= None_X_Rm_Value) then Value has received an
2 -- X_Rm_Value from within the database.  Any heap based data returned is shared
2 -- with the database (and possibly other databases) so do not attempt free the
2 -- data contained within the entry.

* Insert after 1620
2 

* Insert after 1627
2         Db_Entry     : X_Rm_Entry;  

* Change 1655
1             Db_Entry := None_X_Rm_Entry;  
-----
2             Representation := None_X_Rm_Representation;  
2             Value          := None_X_Rm_Value;  

* Change 1671..1677
1                             while Db2 /= None_X_Rm_Entry loop  
1                                 if Db2.Value.Kind /= Is_None then  
1                                     Db_Entry := Db2;  
1                                     return;  
1                                 end if;  
1                                 Db2 := Db2.Conversions;  
1                             end loop;  
-----
2                             if Db2 /= None_X_Rm_Entry and then  
2                                Db2.Value.Kind /= Is_None then  
2                                 Representation := Db2.Representation;  
2                                 Value          := Db2.Value;  
2                                 return;  
2                             end if;  

* Change 1691..1697
1                             while Db2 /= None_X_Rm_Entry loop  
1                                 if Db2.Value.Kind /= Is_None then  
1                                     Db_Entry := Db2;  
1                                     return;  
1                                 end if;  
1                                 Db2 := Db2.Conversions;  
1                             end loop;  
-----
2                             if Db2 /= None_X_Rm_Entry and then  
2                                Db2.Value.Kind /= Is_None then  
2                                 Representation := Db2.Representation;  
2                                 Value          := Db2.Value;  
2                                 return;  
2                             end if;  

* Change 1708
1         Db_Entry := None_X_Rm_Entry;
-----
2         Representation := None_X_Rm_Representation;  
2         Value          := None_X_Rm_Value;

* Change 1871
1             when Is_None =>  
-----
2             when Is_None | Is_X_Rm_File_Type | Is_X_Universal_Pointer |  
2                  Is_X_Atom | Is_X_Color | Is_X_Colormap | Is_X_Cursor |  
2                  Is_X_Display | Is_X_Font | Is_X_Font_Struct | Is_X_Pixel |  
2                  Is_X_Pixmap | Is_X_Screen | Is_X_Visual | Is_X_Window =>  

* Insert after 1876
2 
2             when Is_Float =>  
2                 declare  
2                     Last : Positive;  
2                 begin  
2                     Value := (Kind    => Is_Float,  
2                               V_Float => 0.0);  
2                     Float_Io.Get (To_String (Buf), Value.V_Float, Last);  
2                 end;
2 
2             when Is_U_Char =>  
2                 Value := (Kind     => Is_U_Char,  
2                           V_U_Char => U_Char'Value (To_String (Buf)));
2 
2             when Is_U_Short =>  
2                 Value := (Kind      => Is_U_Short,  
2                           V_U_Short => U_Short'Value (To_String (Buf)));
2 
2             when Is_S_Char =>  
2                 Value := (Kind     => Is_S_Char,  
2                           V_S_Char => S_Char'Value (To_String (Buf)));
2 
2             when Is_S_Short =>  
2                 Value := (Kind      => Is_S_Short,  
2                           V_S_Short => S_Short'Value (To_String (Buf)));

* Insert after 1880
2 
2             when Is_X_Initial_Window_State =>  
2                 Value := (Kind                     => Is_X_Initial_Window_State,  
2                           V_X_Initial_Window_State =>  
2                              X_Initial_Window_State'Value (To_String (Buf)));
2 
2             when Is_X_Time =>  
2                 Value := (Kind     => Is_X_Time,  
2                           V_X_Time => X_Time'Value (To_String (Buf)));

* Change 1906
1             when Is_U_Char_List | Is_X_Universal_Pointer =>  
-----
2             when Is_U_Char_List =>  

* Change 2376
1                                 "Xrm; File not found:", To_X_String (Filename));  
-----
2                                 "Xrm; File not found: %1",  
2                                 To_X_String (Filename));  

* Change 2383
1                                 "Xrm; Cannot open file for reading:",  
-----
2                                 "Xrm; Cannot open file for reading: %1",  

* Change 2405..2407
1                 X_Report_Error ("XrmError", "FileReadException",  
1                                 "Xrm; Unexpected exception while reading file:",  
1                                 To_X_String (Filename));  
-----
2                 X_Report_Error  
2                    ("XrmError", "FileReadException",  
2                     "Xrm; Unexpected exception while reading file: %1",  
2                     To_X_String (Filename));  

* Change 2677
1             when Is_None =>  
-----
2             when Is_None | Is_X_Rm_File_Type | Is_X_Universal_Pointer |  
2                  Is_X_Atom | Is_X_Color | Is_X_Colormap | Is_X_Cursor |  
2                  Is_X_Display | Is_X_Font | Is_X_Font_Struct | Is_X_Pixel |  
2                  Is_X_Pixmap | Is_X_Screen | Is_X_Visual | Is_X_Window =>  

* Insert after 2682
2 
2             when Is_Float =>  
2                 Text_Io.Put (File, ':' & Ascii.Ht);  
2                 Float_Io.Put (File, Value.V_Float);  
2                 Text_Io.New_Line (File);
2 
2             when Is_U_Char =>  
2                 Text_Io.Put (File, ':' & Ascii.Ht);  
2                 Text_Io.Put_Line (File, U_Char'Image (Value.V_U_Char));
2 
2             when Is_U_Short =>  
2                 Text_Io.Put (File, ':' & Ascii.Ht);  
2                 Text_Io.Put_Line (File, U_Short'Image (Value.V_U_Short));
2 
2             when Is_S_Char =>  
2                 Text_Io.Put (File, ':' & Ascii.Ht);  
2                 Text_Io.Put_Line (File, S_Char'Image (Value.V_S_Char));
2 
2             when Is_S_Short =>  
2                 Text_Io.Put (File, ':' & Ascii.Ht);  
2                 Text_Io.Put_Line (File, S_Short'Image (Value.V_S_Short));

* Insert after 2686
2 
2             when Is_X_Initial_Window_State =>  
2                 Text_Io.Put (File, ':' & Ascii.Ht);  
2                 Text_Io.Put_Line (File, X_Initial_Window_State'Image  
2                                            (Value.V_X_Initial_Window_State));
2 
2             when Is_X_Time =>  
2                 Text_Io.Put (File, ':' & Ascii.Ht);  
2                 Text_Io.Put_Line (File, X_Time'Image (Value.V_X_Time));

* Delete 2731..2748
1             when Is_X_Universal_Pointer =>  
1                 if Value.V_X_Universal_Pointer.To_String =  
1                    None_X_Procedure_Variable then  
1                     Text_Io.Put_Line (File, ":");  
1                 else  
1                     Text_Io.Put (File, ':' & Ascii.Ht);  
1                     declare  
1                         Str : constant X_String :=  
1                            Proc_Var_X_Univ_To_String.Call  
1                               (Proc_Var_X_Univ_To_String.To_Pv  
1                                   (Value.V_X_Universal_Pointer.To_String),  
1                                Value.V_X_Universal_Pointer.Pointer);  
1                         Ucs : U_Char_Array (1 .. Str'Length);  
1                     begin  
1                         To_Uca (Ucs, Str);  
1                         Dump_Bytes (File, Ucs);  
1                     end;  
1                 end if;  

* Change 2889
1                             "Unexpected exception while writing file:",  
-----
2                             "Unexpected exception while writing file: %1",  

* Change 2989
1                                     Destination : in out X_Rm_Database;  
-----
2                                     Destination :        X_Rm_Database;  

* Change 3035..3036
1         Userdb         : X_Rm_Database   := None_X_Rm_Database;  
1         Xdb            : X_Rm_Database   := None_X_Rm_Database;  
-----
2         Userdb         : X_Rm_Database     := None_X_Rm_Database;  
2         Xdb            : X_Rm_Database     := None_X_Rm_Database;  

* Change 3038..3040
1         Home           : constant String := X_Env_Get_Home_Dir;  
1         Xdefaults_File : constant String :=  
1            X_Env_Concat_Dir_File (Home, X_Option_File);  
-----
2         Home           : constant X_String := X_Env_Get_Home_Dir;  
2         Xdefaults_File : constant X_String :=  
2            X_Env_Concat_Dir_File (Home, To_X_String (X_Option_File));  

* Change 3057
1                     X_Rm_Get_File_Database (Xdefaults_File, Xdb, Status);  
-----
2                     X_Rm_Get_File_Database  
2                        (To_String (Xdefaults_File), Xdb, Status);  

* Change 3060
1             X_Rm_Get_File_Database (Xdefaults_File, Xdb, Status);  
-----
2             X_Rm_Get_File_Database (To_String (Xdefaults_File), Xdb, Status);  

* Change 3068
1                             To_X_String (Xdefaults_File));  
-----
2                             Xdefaults_File);  

* Change 3074
1         Xev := X_Env_Get_Environment_Variable (X_Var_Xenvironment);  
-----
2         Xev := X_Env_Get_Environment_Variable  
2                   (To_X_String (X_Var_Xenvironment));  

* Change 3079
1                (Home & "." & X_Environment_File & X_Env_Get_Host_Name,  
-----
2                (To_String (Home) & "." & X_Environment_File &  
2                 To_String (X_Env_Get_Host_Name),  

* Change 3085..3086
1                                 To_X_String (Home & "." & X_Environment_File &  
1                                              X_Env_Get_Host_Name));  
-----
2                                 Home & "." & To_X_String (X_Environment_File) &  
2                                    X_Env_Get_Host_Name);  

* Change 3108
1             Display.Database := Xdb;  
-----
2             Display.Database := Univ_X_Rm_Database.To_X_Universal_Pointer (Xdb);  

* Change 3110
1             Display.Database := new X_Rm_Database_Rec;  
-----
2             Display.Database := Univ_X_Rm_Database.To_X_Universal_Pointer  
2                                    (new X_Rm_Database_Rec);  

* Change 3145
1             if Display.Database = None_X_Rm_Database then  
-----
2             if Display.Database = None_X_Universal_Pointer then  

* Change 3158..3160
1         Representation := None_X_Rm_Representation;  
1         Value          := None_X_Rm_Value;  
1         if Display.Database = None_X_Rm_Database then  
-----
2         if Display.Database = None_X_Universal_Pointer then  
2             Representation := None_X_Rm_Representation;  
2             Value          := None_X_Rm_Value;  

* Change 3171..3175
1         X_Rm_Get_Resource (Display.Database, Namelist, Classlist, Db_Entry);  
1         if Db_Entry /= None_X_Rm_Entry then  
1             Representation := Db_Entry.Representation;  
1             Value          := Db_Entry.Value;  
1         end if;
-----
2         X_Rm_Get_Resource (Univ_X_Rm_Database.From_X_Universal_Pointer  
2                               (Display.Database),  
2                            Namelist, Classlist, Representation, Value);
15:47:12 ::: [end of File_Utilities.Difference].
15:47:14 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:47:14 ... UNITS.PMI_PROCS.XLBP_RM'SPEC'V(5)", "!X11.X_LIBRARY.
15:47:14 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_RM'SPEC'V(1)", "", TRUE, 
15:47:14 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_RM'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_RM'SPEC
* Change 10
1 use Xlbt_String;
-----
2 use Xlbt_String;  
2 with Xlbt_Univ_Ptr;  
2 use Xlbt_Univ_Ptr;

* Change 18
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Delete 40..204
1 ------------------------------------------------------------------------------
1 
1 --
1 ------------------------------------------------------------------------------
1 -- Resource Manager Database Entries - Entry Manipulation
1 --
1 -- Use these routines to manipulate and query values obtained from a database.
1 -- Direct manipulation of database entries by applications is not supported in
1 -- any fashion.
1 ------------------------------------------------------------------------------
1 
1     function X_Rm_Entry_Value (Db_Entry : X_Rm_Entry) return X_Rm_Value;
1 ------------------------------------------------------------------------------
1 --  Db_Entry - Specifies the entry to query
1 --
1 -- Called to obtain the "primary" value for a database entry.  An entry may
1 -- have other "converted" and equivalent values for this entry but this routine
1 -- returns the "main", "primary", "original", or "unconverted" value.
1 --
1 -- Raises Constraint_Error if Db_Entry = None_X_Rm_Entry.
1 ------------------------------------------------------------------------------
1 
1     function X_Rm_Entry_Value  
1                 (Db_Entry       : X_Rm_Entry;  
1                  Representation : X_Rm_Representation) return X_Rm_Value;
1 ------------------------------------------------------------------------------
1 --  Db_Entry       - Specifies the entry to query
1 --  Representation - Specifies the representation we are looking for
1 --
1 -- Called to obtain the value of a database entry that corresponds to a
1 -- particular representation.  This routine does *not* convert values in
1 -- any way.  It merely looks within the entry for an existing value with
1 -- a particular representation.  It returns X_Rm_Value'(Kind => Is_None) if
1 -- there is no such value present.
1 --
1 -- Raises Constraint_Error if Db_Entry = None_X_Rm_Entry or if Representation =
1 -- None_X_Rm_Representation.
1 ------------------------------------------------------------------------------
1 
1     function X_Rm_Entry_Representation  
1                 (Db_Entry : X_Rm_Entry) return X_Rm_Representation;
1 ------------------------------------------------------------------------------
1 --  Db_Entry - Specifies the entry to query
1 --
1 -- Called to obtain the "primary" representation for a database entry.  An
1 -- entry may have other "converted" and equivalent representations for this
1 -- entry but this routine returns the "main", "primary", "original", or
1 -- "unconverted" representation type.
1 --
1 -- Raises Constraint_Error if Db_Entry = None_X_Rm_Entry.
1 ------------------------------------------------------------------------------
1 
1     function X_Rm_Entry_All_Representations  
1                 (Db_Entry : X_Rm_Entry) return X_Rm_Representation_List;
1 ------------------------------------------------------------------------------
1 --  Db_Entry - Specifies the entry to query
1 --
1 -- Called to obtain a list of all available representations for a database
1 -- entry.  An entry may have several equivalent representations; each with
1 -- an associated value.
1 --
1 -- Free the list after use with the Free_X_Rm_Representation_List routine.
1 --
1 -- Raises Constraint_Error if Db_Entry = None_X_Rm_Entry.
1 ------------------------------------------------------------------------------
1 
1     procedure X_Rm_Entry_Assign (Destination : X_Rm_Entry;  
1                                  Source      : X_Rm_Entry);
1 ------------------------------------------------------------------------------
1 --  Destination - Specifies the entry to be changed; target of the assignment
1 --  Source      - Specifies the value to be assigned; source of the assignment
1 --
1 -- Assign the value/contents of one database entry to another entry.
1 -- Takes care of plugging heap storage leaks for heap values owed by the
1 -- database (or by either database if the entries come from different
1 -- databases).
1 --
1 -- Raises Constraint_Error if Destination or Source = None_X_Rm_Entry.
1 ------------------------------------------------------------------------------
1 
1     procedure X_Rm_Entry_Assign (Destination    : X_Rm_Entry;  
1                                  Representation : X_Rm_Representation;  
1                                  Source         : X_Rm_Value;  
1                                  Db_Owner       : Boolean := True);
1 ------------------------------------------------------------------------------
1 --  Destination    - Specifies the entry to be changed; target of the assignment
1 --  Representation - Specifies the representation of the new value
1 --  Source         - Specifies the value to be assigned; source of the assignment
1 --  Db_Owner       - Specifies True if the database is to be responsible for
1 --                   deallocating any heap storage utilized by Value once the
1 --                   last database entry for this Value is overwritten or
1 --                   released.
1 --
1 -- Assign a new value to a database entry.  Takes care of plugging heap storage
1 -- leaks for heap values owned by the database.
1 --
1 -- To "remove" a value from the database use one of the X_Rm_Put_Resource
1 -- routines.
1 --
1 -- If Db_Owner is True (the default) then any heap storage represented by
1 -- the Value becomes the "property" of the database and it must not be
1 -- subsequently modified or freed.  If several entries in one database (or
1 -- individual entries in multiple databases) are all to be given entries
1 -- which will all have the same heap-using Value then either a) none of the
1 -- database entries should be made with Db_Owner => True (meaning that the
1 -- application is responsible for releasing the heap storage), or b) only
1 -- one database entry should have Db_Owner => True and that database must
1 -- be deallocated last of any databases sharing this value.
1 --
1 -- Note that if Value is an Is_X_Universal_Pointer then Db_Owner has no affect
1 -- if the Free routine within the Value is None_X_Universal_Pointer.  A database
1 -- cannot free a Universal pointer when no Free routine has been provided.
1 --
1 -- Raises Constraint_Error if Db_Entry = None_X_Rm_Entry or if Representation =
1 -- None_X_Rm_Representation.
1 ------------------------------------------------------------------------------
1 
1     procedure X_Rm_Entry_Add_Converted_Value  
1                  (Db_Entry       : X_Rm_Entry;  
1                   Representation : X_Rm_Representation;  
1                   Source         : X_Rm_Value;  
1                   Db_Owner       : Boolean := True);
1 ------------------------------------------------------------------------------
1 --  Db_Entry       - Specifies the entry to be augmented with an alternate value
1 --  Representation - Specifies the representation of the new value
1 --  Source         - Specifies the value to be assigned; source of the
1 --                   assignment
1 --  Db_Owner       - Specifies True if the database is to be responsible for
1 --                   deallocating any heap storage utilized by Value once the
1 --                   last database entry for this Value is overwritten or
1 --                   released.
1 --
1 -- An entry in the database may have more than one representation.  For
1 -- instance, a value called "font" may have a string representation whose
1 -- value is "*courier*-b-*37*" and may at the same time have a representation
1 -- that is the X_Font_Struct that corresponds to the font named
1 -- "*courier*-b-*37*".  Each of the values connected to a particular entry
1 -- name/class is expected to be a "converted value" that is equivalent in
1 -- some sense with all of the other values.  In this case the string is the
1 -- name of the font and the X_Font_Struct is the information from the server
1 -- that corresponds to that string font name.
1 --
1 -- This routine is used to add "converted values" to an entry.  It takes care
1 -- of plugging heap storage leaks for heap values owned by the database.
1 --
1 -- If this database entry already has some old converted value with the same
1 -- representation as this new converted value then the old value is replaced
1 -- by the new one.  The old one is deallocated according to the usual rules.
1 --
1 -- If Db_Owner is True (the default) then any heap storage represented by
1 -- the new Value becomes the "property" of the database and it must not be
1 -- subsequently modified or freed.  If several entries in one database (or
1 -- individual entries in multiple databases) are all to be given entries
1 -- which will all have the same heap-using Value then either a) none of the
1 -- database entries should be made with Db_Owner => True (meaning that the
1 -- application is responsible for releasing the heap storage), or b) only
1 -- one database entry should have Db_Owner => True and that database must
1 -- be deallocated last of any databases sharing this value.
1 --
1 -- Note that if Value is an Is_X_Universal_Pointer then Db_Owner has no affect
1 -- if the Free routine within the Value is None_X_Universal_Pointer.  A database
1 -- cannot free a Universal pointer when no Free routine has been provided.
1 --
1 -- Raises Constraint_Error if Db_Entry = None_X_Rm_Entry or if Representation =
1 -- None_X_Rm_Representation.

* Change 218..221
1     procedure X_Rm_Get_Resource (Database :     X_Rm_Database;  
1                                  Names    :     X_String;  
1                                  Classes  :     X_String;  
1                                  Db_Entry : out X_Rm_Entry);
-----
2     procedure X_Rm_Get_Resource (Database       :     X_Rm_Database;  
2                                  Names          :     X_String;  
2                                  Classes        :     X_String;  
2                                  Representation : out X_Rm_Representation;  
2                                  Value          : out X_Rm_Value);

* Change 223..231
1 --  Database  - Specifies the database to use for the lookup.
1 --  Names     - Specifies the fully qualified name of the value; e.g. a.b.c
1 --  Classes   - Specifies the fully qualified class of the value; e.g. A.B.C
1 --  Db_Entry  - Receives the entry from the database or None_X_Rm_Entry
1 --
1 -- If successful (Db_Entry /= None_X_Rm_Entry) then Value has received an
1 -- X_Rm_Entry from within the database.  The value returned is shared with
1 -- the database (and possibly other databases) so do not attempt free the entry
1 -- or the data contained within the entry.
-----
2 --  Database      - Specifies the database to use for the lookup.
2 --  Names         - Specifies the fully qualified name of the value; e.g. a.b.c
2 --  Classes       - Specifies the fully qualified class of the value; e.g. A.B.C
2 --  Representation- Receives the representation of the value
2 --  Value         - Receives the entry from the database or None_X_Rm_Value

* Change 233..235
1 -- You may use any of the X_Rm_Entry manipulation routines implemented within
1 -- this package to query, modify, or share this database entry.  Do not
1 -- manipulate the entry directly in any fashion.
-----
2 -- If successful (Value /= None_X_Rm_Value) then Value has received an
2 -- X_Rm_Value from within the database.  Any heap based data returned is shared
2 -- with the database (and possibly other databases) so do not attempt free the
2 -- data contained within the value.

* Change 241..244
1     procedure X_Rm_Get_Resource (Database :     X_Rm_Database;  
1                                  Names    :     X_Rm_Name_Array;  
1                                  Classes  :     X_Rm_Class_Array;  
1                                  Db_Entry : out X_Rm_Entry);
-----
2     procedure X_Rm_Get_Resource (Database       :     X_Rm_Database;  
2                                  Names          :     X_Rm_Name_Array;  
2                                  Classes        :     X_Rm_Class_Array;  
2                                  Representation : out X_Rm_Representation;  
2                                  Value          : out X_Rm_Value);

* Change 249..254
1 --  Db_Entry  - Receives the entry from the database or None_X_Rm_Entry
1 --
1 -- If successful (Db_Entry /= None_X_Rm_Entry) then Value has received an
1 -- X_Rm_Entry from within the database.  The value returned is shared with
1 -- the database (and possibly other databases) so do not attempt free the entry
1 -- or the data contained within the entry.
-----
2 --  Representation- Receives the representation of the value
2 --  Value         - Receives the entry from the database or None_X_Rm_Value

* Change 256..258
1 -- You may use any of the X_Rm_Entry manipulation routines implemented within
1 -- this package to query, modify, or share this database entry.  Do not
1 -- manipulate the entry directly in any fashion.
-----
2 -- If successful (Value /= None_X_Rm_Value) then Value has received an
2 -- X_Rm_Value from within the database.  Any heap based data returned is shared
2 -- with the database (and possibly other databases) so do not attempt free the
2 -- data contained within the entry.

* Change 381..384
1     procedure X_Rm_Get_Search_Resource (List     :     X_Rm_Search_List;  
1                                         Name     :     X_Rm_Name;  
1                                         Class    :     X_Rm_Class;  
1                                         Db_Entry : out X_Rm_Entry);
-----
2     procedure X_Rm_Get_Search_Resource  
2                  (List           :     X_Rm_Search_List;  
2                   Name           :     X_Rm_Name;  
2                   Class          :     X_Rm_Class;  
2                   Representation : out X_Rm_Representation;  
2                   Value          : out X_Rm_Value);

* Change 389..394
1 --  Db_Entry- Receives the result value or None_X_Rm_Entry.
1 --
1 -- If successful (Db_Entry /= None_X_Rm_Entry) then Value has received an
1 -- X_Rm_Entry from within the database.  The value returned is shared with
1 -- the database (and possibly other databases) so do not attempt free the entry
1 -- or the data contained within the entry.
-----
2 --  Representation- Receives the representation of the value
2 --  Value         - Receives the entry from the database or None_X_Rm_Value

* Change 396..398
1 -- You may use any of the X_Rm_Entry manipulation routines implemented within
1 -- this package to query, modify, or share this database entry.  Do not
1 -- manipulate the entry directly in any fashion.
-----
2 -- If successful (Value /= None_X_Rm_Value) then Value has received an
2 -- X_Rm_Value from within the database.  Any heap based data returned is shared
2 -- with the database (and possibly other databases) so do not attempt free the
2 -- data contained within the entry.

* Change 512
1                                     Destination : in out X_Rm_Database;  
-----
2                                     Destination :        X_Rm_Database;  

* Insert after 556
2 ------------------------------------------------------------------------------
2 
2     package Univ_X_Rm_Database is  
2        new X_Universal_Pointer_Conversion (X_Rm_Database_Rec,  
2                                            X_Rm_Database,  
2                                            Free_X_Rm_Database);
2 ------------------------------------------------------------------------------
2 -- Package for making/breaking X_Universal_Pointers to databases.

* Change 604..607
1     procedure X_Rm_Q_Get_Resource (Database :     X_Rm_Database;  
1                                    Names    :     X_Rm_Name_Array;  
1                                    Classes  :     X_Rm_Class_Array;  
1                                    Db_Entry : out X_Rm_Entry)  
-----
2     procedure X_Rm_Q_Get_Resource (Database       :     X_Rm_Database;  
2                                    Names          :     X_Rm_Name_Array;  
2                                    Classes        :     X_Rm_Class_Array;  
2                                    Representation : out X_Rm_Representation;  
2                                    Value          : out X_Rm_Value)  

* Change 617
1                   Value    :        X_String) renames X_Rm_Put_String_Resource;
-----
2                   Value    :        X_String)  
2         renames X_Rm_Put_String_Resource;

* Change 641..644
1     procedure X_Rm_Q_Get_Search_Resource (List     :     X_Rm_Search_List;  
1                                           Name     :     X_Rm_Name;  
1                                           Class    :     X_Rm_Class;  
1                                           Db_Entry : out X_Rm_Entry)  
-----
2     procedure X_Rm_Q_Get_Search_Resource  
2                  (List           :     X_Rm_Search_List;  
2                   Name           :     X_Rm_Name;  
2                   Class          :     X_Rm_Class;  
2                   Representation : out X_Rm_Representation;  
2                   Value          : out X_Rm_Value)  
15:47:22 ::: [end of File_Utilities.Difference].
15:47:25 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:47:25 ... UNITS.PMI_PROCS.XLBP_RM_NAME'BODY'V(5)", "!X11.X_LIBRARY.
15:47:25 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_RM_NAME'BODY'V(1)", "", 
15:47:25 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_RM_NAME'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_RM_NAME'BODY
* Change 3..4
1 with Xlbt_Rm3;  
1 use Xlbt_Rm3;  
-----
2 with Xlbt_Rm;  
2 use Xlbt_Rm;  

* Change 17
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 45
2 -- * 21-JAN-91 - /GEB/ Add the @_To_String_Pointer and the @_String_Pointer_To@
2 -- *           -  routines for Xt.

* Insert after 56
2 
2     function X_Rm_String_To_Class  
2                 (Str      : X_String;  
2                  Validate : Boolean := True) return X_Rm_Class is  
2     begin  
2         return X_Rm_Class (X_Rm_String_To_Quark (Str, Validate));  
2     end X_Rm_String_To_Class;

* Change 58
1     function X_Rm_String_To_Class (Name : X_String) return X_Rm_Class is  
-----
2     procedure X_Rm_String_To_Class (Str      :     X_String;  
2                                     Ptr      : out X_String_Pointer;  
2                                     Class    : out X_Rm_Class;  
2                                     Validate :     Boolean := True) is  
2         Qrk : X_Rm_Quark;  

* Change 60
1         return X_Rm_Class (X_Rm_String_To_Quark (Name, Validate => True));  
-----
2         X_Rm_String_To_Quark (Str, Ptr, Qrk, Validate);  
2         Class := X_Rm_Class (Qrk);  

* Insert after 61
2 
2     function X_Rm_Class_To_String_Pointer  
2                 (Class : X_Rm_Class) return X_String_Pointer is  
2     begin  
2         return X_Rm_Quark_To_String_Pointer (X_Rm_Quark (Class));  
2     end X_Rm_Class_To_String_Pointer;
2 
2     procedure X_Rm_String_Pointer_To_Class (Str      : in out X_String_Pointer;  
2                                             Class    : out X_Rm_Class;  
2                                             Validate : Boolean := True) is  
2         Qrk : X_Rm_Quark;  
2     begin  
2         X_Rm_String_Pointer_To_Quark (Str, Qrk, Validate);  
2         Class := X_Rm_Class (Qrk);  
2     end X_Rm_String_Pointer_To_Class;

* Change 73
1     function X_Rm_Name_To_String (Name : X_Rm_Name) return X_String is  
-----
2     function X_Rm_Name_To_String (Str : X_Rm_Name) return X_String is  

* Change 75
1         return X_Rm_Quark_To_String (X_Rm_Quark (Name));  
-----
2         return X_Rm_Quark_To_String (X_Rm_Quark (Str));  

* Insert after 76
2 
2     function X_Rm_String_To_Name  
2                 (Str      : X_String;  
2                  Validate : Boolean := True) return X_Rm_Name is  
2     begin  
2         return X_Rm_Name (X_Rm_String_To_Quark (Str, Validate));  
2     end X_Rm_String_To_Name;

* Change 78
1     function X_Rm_String_To_Name (Name : X_String) return X_Rm_Name is  
-----
2     procedure X_Rm_String_To_Name (Str      :     X_String;  
2                                    Ptr      : out X_String_Pointer;  
2                                    Name     : out X_Rm_Name;  
2                                    Validate :     Boolean := True) is  
2         Qrk : X_Rm_Quark;  

* Change 80
1         return X_Rm_Name (X_Rm_String_To_Quark (Name, Validate => True));  
-----
2         X_Rm_String_To_Quark (Str, Ptr, Qrk, Validate);  
2         Name := X_Rm_Name (Qrk);  

* Insert after 81
2 
2     function X_Rm_Name_To_String_Pointer  
2                 (Name : X_Rm_Name) return X_String_Pointer is  
2     begin  
2         return X_Rm_Quark_To_String_Pointer (X_Rm_Quark (Name));  
2     end X_Rm_Name_To_String_Pointer;
2 
2     procedure X_Rm_String_Pointer_To_Name (Str      : in out X_String_Pointer;  
2                                            Name     : out    X_Rm_Name;  
2                                            Validate :        Boolean := True) is  
2         Qrk : X_Rm_Quark;  
2     begin  
2         X_Rm_String_Pointer_To_Quark (Str, Qrk, Validate);  
2         Name := X_Rm_Name (Qrk);  
2     end X_Rm_String_Pointer_To_Name;

* Change 100
1                 (Name : X_String) return X_Rm_Representation is  
-----
2                 (Str      : X_String;  
2                  Validate : Boolean := True) return X_Rm_Representation is  
2     begin  
2         return X_Rm_Representation (X_Rm_String_To_Quark (Str, Validate));  
2     end X_Rm_String_To_Representation;
2 
2     procedure X_Rm_String_To_Representation  
2                  (Str            :     X_String;  
2                   Ptr            : out X_String_Pointer;  
2                   Representation : out X_Rm_Representation;  
2                   Validate       :     Boolean := True) is  
2         Qrk : X_Rm_Quark;  

* Change 102..103
1         return X_Rm_Representation  
1                   (X_Rm_String_To_Quark (Name, Validate => True));  
-----
2         X_Rm_String_To_Quark (Str, Ptr, Qrk, Validate);  
2         Representation := X_Rm_Representation (Qrk);  

* Insert after 104
2 
2     function X_Rm_Representation_To_String_Pointer  
2                 (Representation : X_Rm_Representation)  
2                 return X_String_Pointer is  
2     begin  
2         return X_Rm_Quark_To_String_Pointer (X_Rm_Quark (Representation));  
2     end X_Rm_Representation_To_String_Pointer;
2 
2     procedure X_Rm_String_Pointer_To_Representation  
2                  (Str            : in out X_String_Pointer;  
2                   Representation : out    X_Rm_Representation;  
2                   Validate       :        Boolean := True) is  
2         Qrk : X_Rm_Quark;  
2     begin  
2         X_Rm_String_Pointer_To_Quark (Str, Qrk, Validate);  
2         Representation := X_Rm_Representation (Qrk);  
2     end X_Rm_String_Pointer_To_Representation;
15:47:32 ::: [end of File_Utilities.Difference].
15:47:35 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:47:35 ... UNITS.PMI_PROCS.XLBP_RM_NAME'SPEC'V(5)", "!X11.X_LIBRARY.
15:47:35 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_RM_NAME'SPEC'V(1)", "", 
15:47:35 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_RM_NAME'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_RM_NAME'SPEC
* Change 3..4
1 with Xlbt_Rm3;  
1 use Xlbt_Rm3;  
-----
2 with Xlbt_Rm;  
2 use Xlbt_Rm;  

* Change 19
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 54
2 ------------------------------------------------------------------------------
2 
2     function X_Rm_String_To_Class  
2                 (Str      : X_String;  
2                  Validate : Boolean := True) return X_Rm_Class;
2 ------------------------------------------------------------------------------
2 --  Str      - Specifies the string value being converted to a Class.
2 --             The string need not be null terminated.
2 --  Validate - Specifies whether or not the Str must be a valid
2 --             Component Name as defined by the Resource Manager.
2 --
2 -- Returns the Class value that has or which will now correspond to the
2 -- contents of the specified string.  If Validate is True, Constraint_Error
2 -- will be raised if any characters other than 'a'..'z', 'A'..'Z', '0'..'9',
2 -- '-', or '_' are present in the Str.
2 ------------------------------------------------------------------------------
2 
2     procedure X_Rm_String_To_Class (Str      :     X_String;  
2                                     Ptr      : out X_String_Pointer;  
2                                     Class    : out X_Rm_Class;  
2                                     Validate :     Boolean := True);
2 ------------------------------------------------------------------------------
2 --  Str      - Specifies the string value being converted to a Class.
2 --             The string need not be null terminated.
2 --  Ptr      - Receives the string pointer stored in the Class map for Str
2 --  Class    - Receives the Class value representing Str
2 --  Validate - Specifies whether or not the Str must be a valid
2 --             Component Name as defined by the Resource Manager.
2 --
2 -- Returns the Class value that has or which will now correspond to the
2 -- contents of the specified string.  If Validate is True, Constraint_Error
2 -- will be raised if any characters other than 'a'..'z', 'A'..'Z', '0'..'9',
2 -- '-', or '_' are present in the Str.  Note: The Ptr value belongs to the Xlib
2 -- and it must not be freed by the application.
2 ------------------------------------------------------------------------------
2 
2     function X_Rm_Class_To_String_Pointer  
2                 (Class : X_Rm_Class) return X_String_Pointer;
2 ------------------------------------------------------------------------------
2 --  Class   - Specifies the Class whose string value is queried.
2 --
2 -- Returns the string corresponding to the Class.  Returns "" for Class values
2 -- obtained from X_Rm_Unique_Class.  Raises Constraint_Error if an
2 -- uninitialized Class value is passed.  Note: This string belongs to the Xlib
2 -- and it must not be freed by the application.  Classes generated by
2 -- X_Rm_Unique_Class were not created with a string value and return
2 -- None_X_String_Pointer.

* Change 57
1     function X_Rm_String_To_Class (Name : X_String) return X_Rm_Class;
-----
2     procedure X_Rm_String_Pointer_To_Class (Str      : in out X_String_Pointer;  
2                                             Class    : out    X_Rm_Class;  
2                                             Validate :        Boolean := True);

* Change 59..60
1 --  Name    - Specifies the string value being converted to a Class.
1 --            The string need not be null terminated.
-----
2 --  Str      - Specifies the string value being converted to a Class.
2 --             The string need not be null terminated.
2 --  Class    - Receives the new Class
2 --  Validate - Specifies whether or not the Str must be a valid
2 --             Component Name as defined by the Resource Manager.

* Change 63..64
1 -- contents of the specified string.  Raises Constraint_Error if the string
1 -- is not a valid component name.
-----
2 -- contents of the specified string.  If an some existing Class has the same
2 -- string value then that Class, and that string pointer, will be returned.  If
2 -- no existing Class has the same string value then a new Class is created and
2 -- returned, and the X_String_Pointer Str argument becomes the property of
2 -- the Xlib and must not be free by the appliation.  If Validate is True then
2 -- Constraint_Error will be raised if any characters other than 'a'..'z',
2 -- 'A'..'Z', '0'..'9', '-', or '_' are present in the Str.

* Change 73
1 --  Name    - Specifies a series of names separated by '.' or '*'.
-----
2 --  Str     - Specifies a series of names separated by '.' or '*'.

* Change 102
1 --  Name    - Specifies a series of names separated by '.' or '*'.
-----
2 --  Str     - Specifies a series of names separated by '.' or '*'.

* Change 140
1     function X_Rm_Name_To_String (Name : X_Rm_Name) return X_String;
-----
2     function X_Rm_Name_To_String (Str : X_Rm_Name) return X_String;

* Change 142
1 --  Name    - Specifies the Name whose string value is queried.
-----
2 --  Str  - Specifies the Name whose string value is queried.

* Change 149
1     function X_Rm_String_To_Name (Name : X_String) return X_Rm_Name;
-----
2     function X_Rm_String_To_Name (Str      : X_String;  
2                                   Validate : Boolean := True) return X_Rm_Name;

* Change 151
1 --  Name    - Specifies the string value being converted to a Name.
-----
2 --  Str      - Specifies the string value being converted to a Name.

* Insert after 152
2 --  Validate - Specifies whether or not the Str must be a valid
2 --             Component Name as defined by the Resource Manager.
2 --
2 -- Returns the Name value that has or which will now correspond to the
2 -- contents of the specified string.  If Validate is True, Constraint_Error
2 -- will be raised if any characters other than 'a'..'z', 'A'..'Z', '0'..'9',
2 -- '-', or '_' are present in the Str.
2 ------------------------------------------------------------------------------
2 
2     procedure X_Rm_String_To_Name (Str      :     X_String;  
2                                    Ptr      : out X_String_Pointer;  
2                                    Name     : out X_Rm_Name;  
2                                    Validate :     Boolean := True);
2 ------------------------------------------------------------------------------
2 --  Str      - Specifies the string value being converted to a Name.
2 --             The string need not be null terminated.
2 --  Ptr      - Receives the string pointer stored in the Name map for Str
2 --  Name    - Receives the Name value representing Str
2 --  Validate - Specifies whether or not the Str must be a valid
2 --             Component Name as defined by the Resource Manager.
2 --
2 -- Returns the Name value that has or which will now correspond to the
2 -- contents of the specified string.  If Validate is True, Constraint_Error
2 -- will be raised if any characters other than 'a'..'z', 'A'..'Z', '0'..'9',
2 -- '-', or '_' are present in the Str.  Note: The Ptr value belongs to the Xlib
2 -- and it must not be freed by the application.
2 ------------------------------------------------------------------------------
2 
2     function X_Rm_Name_To_String_Pointer  
2                 (Name : X_Rm_Name) return X_String_Pointer;
2 ------------------------------------------------------------------------------
2 --  Str - Specifies the Name whose string value is queried.
2 --
2 -- Returns the string corresponding to the Name.  Returns "" for Name values
2 -- obtained from X_Rm_Unique_Name.  Raises Constraint_Error if an
2 -- uninitialized Name value is passed.  Note: This string belongs to the Xlib
2 -- and it must not be freed by the application.  Names generated by
2 -- X_Rm_Unique_Name were not created with a string value and return
2 -- None_X_String_Pointer.
2 ------------------------------------------------------------------------------
2 
2     procedure X_Rm_String_Pointer_To_Name (Str      : in out X_String_Pointer;  
2                                            Name     : out    X_Rm_Name;  
2                                            Validate :        Boolean := True);
2 ------------------------------------------------------------------------------
2 --  Str      - Specifies the string value being converted to a Name.
2 --             The string need not be null terminated.
2 --  Name     - Receives the new Name
2 --  Validate - Specifies whether or not the Str must be a valid
2 --             Component Name as defined by the Resource Manager.

* Change 155..156
1 -- contents of the specified string.  Raises Constraint_Error if the string
1 -- contains illegal characters.
-----
2 -- contents of the specified string.  If an some existing Name has the same
2 -- string value then that Name, and that string pointer, will be returned.  If
2 -- no existing Name has the same string value then a new Name is created and
2 -- returned, and the X_String_Pointer Str argument becomes the property of
2 -- the Xlib and must not be free by the appliation.  If Validate is True then
2 -- Constraint_Error will be raised if any characters other than 'a'..'z',
2 -- 'A'..'Z', '0'..'9', '-', or '_' are present in the Str.

* Change 165
1 --  Name    - Specifies a series of names separated by '.' or '*'.
-----
2 --  Str     - Specifies a series of names separated by '.' or '*'.

* Change 193
1 --  Name    - Specifies a series of names separated by '.' or '*'.
-----
2 --  Str     - Specifies a series of names separated by '.' or '*'.

* Change 241
1     function X_Rm_String_To_Representation (Name : X_String)  
-----
2     function X_Rm_String_To_Representation (Str      : X_String;  
2                                             Validate : Boolean := True)  

* Change 244
1 --  Name    - Specifies the string value being converted to a Representation.
-----
2 --  Str      - Specifies the string value being converted to a Representation.

* Insert after 245
2 --  Validate - Specifies whether or not the Str must be a valid
2 --             Component Name as defined by the Resource Manager.
2 --
2 -- Returns the Representation value that has or which will now correspond to the
2 -- contents of the specified string.  If Validate is True, Constraint_Error
2 -- will be raised if any characters other than 'a'..'z', 'A'..'Z', '0'..'9',
2 -- '-', or '_' are present in the Str.
2 ------------------------------------------------------------------------------
2 
2     procedure X_Rm_String_To_Representation  
2                  (Str            :     X_String;  
2                   Ptr            : out X_String_Pointer;  
2                   Representation : out X_Rm_Representation;  
2                   Validate       :     Boolean := True);
2 ------------------------------------------------------------------------------
2 --  Str      - Specifies the string value being converted to a Representation.
2 --             The string need not be null terminated.
2 --  Ptr      - Receives the string pointer stored in the Representation map for Str
2 --  Representation    - Receives the Representation value representing Str
2 --  Validate - Specifies whether or not the Str must be a valid
2 --             Component Name as defined by the Resource Manager.

* Change 248..249
1 -- contents of the specified string.  Raises Constraint_Error if the string
1 -- is contains illegal characters.
-----
2 -- contents of the specified string.  If Validate is True, Constraint_Error
2 -- will be raised if any characters other than 'a'..'z', 'A'..'Z', '0'..'9',
2 -- '-', or '_' are present in the Str.  Note: The Ptr value belongs to the Xlib
2 -- and it must not be freed by the application.
2 ------------------------------------------------------------------------------
2 
2     function X_Rm_Representation_To_String_Pointer  
2                 (Representation : X_Rm_Representation) return X_String_Pointer;
2 ------------------------------------------------------------------------------
2 --  Representation   - Specifies the Representation whose string value is
2 --                      queried.
2 --
2 -- Returns the string corresponding to the Representation.  Returns "" for
2 -- Representation values obtained from X_Rm_Unique_Representation.  Raises
2 -- Constraint_Error if an uninitialized Representation value is passed.
2 -- Note: This string belongs to the Xlib and it must not be freed by the
2 -- application.  Representationes generated by X_Rm_Unique_Representation
2 -- were not created with a string value and return None_X_String_Pointer.
2 ------------------------------------------------------------------------------
2 
2     procedure X_Rm_String_Pointer_To_Representation  
2                  (Str            : in out X_String_Pointer;  
2                   Representation : out    X_Rm_Representation;  
2                   Validate       :        Boolean := True);
2 ------------------------------------------------------------------------------
2 --  Str      - Specifies the string value being converted to a Representation.
2 --             The string need not be null terminated.
2 --  Representation - Receives the Representation value
2 --  Validate - Specifies whether or not the Str must be a valid
2 --             Component Name as defined by the Resource Manager.
2 --
2 -- Returns the Representation value that has or which will now correspond to
2 -- the contents of the specified string.  If an some existing Representation
2 -- has the same string value then that Representation, and that string pointer,
2 -- will be returned.  If no existing Representation has the same string value
2 -- then a new Representation is created and returned, and the X_String_Pointer
2 -- Str argument becomes the property of the Xlib and must not be free by the
2 -- appliation.  If Validate is True then Constraint_Error will be raised if
2 -- any characters other than 'a'..'z', 'A'..'Z', '0'..'9', '-', or '_' are
2 -- present in the Str.

* Change 258
1 --  Name    - Specifies a series of names separated by '.' or '*'.
-----
2 --  Str     - Specifies a series of names separated by '.' or '*'.

* Change 287
1 --  Name    - Specifies a series of names separated by '.' or '*'.
-----
2 --  Str     - Specifies a series of names separated by '.' or '*'.
15:47:40 ::: [end of File_Utilities.Difference].
15:47:42 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:47:42 ... UNITS.PMI_PROCS.XLBP_RM_QUARK'BODY'V(5)", "!X11.X_LIBRARY.
15:47:42 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_RM_QUARK'BODY'V(1)", "", 
15:47:42 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_RM_QUARK'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_RM_QUARK'BODY
* Insert after 2
2 with Xlbt_Display3;  
2 use Xlbt_Display3;  

* Change 20
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 52
2 -- * 21-JAN-91 - /GEB/ Add X_Rm_Quark_To_String_Pointer and add the
2 -- *           -  X_Rm_String_Pointer_To_Quark routines for Xt.

* Delete 55
1 --

* Insert after 65
2 --

* Change 67..68
1                 (Name     : X_String;  
1                  Validate : Boolean := False) return X_Rm_Quark is
-----
2                 (Str      : X_String;  
2                  Validate : Boolean := True) return X_Rm_Quark is

* Change 70
1 --  Name     - Specifies the string value being converted to a Quark.
-----
2 --  Str      - Specifies the string value being converted to a Quark.

* Change 72
1 --  Validate - Specifies whether or not the Name must be a valid
-----
2 --  Validate - Specifies whether or not the String must be a valid

* Change 79
1 -- present in the Name.
-----
2 -- present in the Str.

* Change 89..90
1             for Index in Name'Range loop  
1                 if not Component_Name_Character (Name (Index)) then  
-----
2             for Index in Str'Range loop  
2                 if not Component_Name_Character (Str (Index)) then  

* Change 101
1             X_Rm_Quark_Map.Find (Map, Name, Quark, Success);  
-----
2             X_Rm_Quark_Map.Find (Map, Str, Quark, Success);  

* Change 110
1             X_Rm_Quark_Map.Insert (Map, Name, Quark);  
-----
2             X_Rm_Quark_Map.Insert (Map, Str, Quark);  

* Insert after 112
2 
2         exception  
2             when others =>  
2                 X_Lib.Release_Quark_Map (Map);  
2                 raise;  
2         end;
2 
2     end X_Rm_String_To_Quark;
2 
2 --
2     procedure X_Rm_String_To_Quark (Str      :     X_String;  
2                                     Ptr      : out X_String_Pointer;  
2                                     Quark    : out X_Rm_Quark;  
2                                     Validate :     Boolean := True) is
2 ------------------------------------------------------------------------------
2 --  Str      - Specifies the string value being converted to a Quark.
2 --             The string need not be null terminated.
2 --  Ptr      - Receives the string pointer stored in the quark map for Str
2 --  Quark    - Receives the Quark value representing Str
2 --  Validate - Specifies whether or not the Str must be a valid
2 --             Component Name as defined by the Resource Manager.
2 --
2 -- Returns the Quark value that has or which will now correspond to the
2 -- contents of the specified string.  If Validate is True, Constraint_Error
2 -- will be raised if any characters other than 'a'..'z', 'A'..'Z', '0'..'9',
2 -- '-', or '_' are present in the Str.  Note: The Ptr value belongs to the Xlib
2 -- and it must not be freed by the application.
2 ------------------------------------------------------------------------------
2         Qrk     : X_Rm_Quark := None_X_Rm_Quark;  
2         P       : X_String_Pointer;  
2         Success : Boolean;  
2         Map     : X_Rm_Quark_Map.Map;  
2     begin
2 
2 ----Validate the string if it is supposed to be a component name.
2 
2         if Validate then  
2             for Index in Str'Range loop  
2                 if not Component_Name_Character (Str (Index)) then  
2                     raise Constraint_Error;  
2                 end if;  
2             end loop;  
2         end if;
2 
2 
2 ----Look for the string in the map.  Return any quark found.
2 
2         X_Lib.Seize_Quark_Map (Map);  
2         begin  
2             X_Rm_Quark_Map.Find (Map, Str, P, Qrk, Success);  
2             if Success then  
2                 X_Lib.Release_Quark_Map (Map);  
2                 Ptr   := P;  
2                 Quark := Qrk;  
2                 return;  
2             end if;
2 
2 ----Generate a new quark value for this string and enter it in the map.
2 
2             X_Lib.Get_Next_Quark (Qrk);  
2             P   := new X_String'(Str);  
2             Ptr := P;  
2             X_Rm_Quark_Map.Insert_Ptr (Map, P, Qrk);  
2             X_Lib.Release_Quark_Map (Map);  
2             return;

* Insert after 120
2 
2 --
2     procedure X_Rm_String_Pointer_To_Quark  
2                  (Str      : in out X_String_Pointer;  
2                   Quark    : out    X_Rm_Quark;  
2                   Validate :        Boolean := True) is
2 ------------------------------------------------------------------------------
2 --  Str      - Specifies the string value being converted to a Quark.
2 --             The string need not be null terminated.
2 --  Quark    - Receives the quark value corresponding to the string.
2 --  Validate - Specifies whether or not the String must be a valid
2 --             Component Name as defined by the Resource Manager.
2 --
2 -- Returns the Quark value that has or which will now correspond to the
2 -- contents of the specified string.  If an some existing Quark has the same
2 -- string value then that quark, and that string pointer, will be returned.  If
2 -- no existing Quark has the same string value then a new Quark is created and
2 -- returned, and the X_String_Pointer Str argument becomes the property of
2 -- the Xlib and must not be free by the appliation.  If Validate is True then
2 -- Constraint_Error will be raised if any characters other than 'a'..'z',
2 -- 'A'..'Z', '0'..'9', '-', or '_' are present in the Str.
2 ------------------------------------------------------------------------------
2         Qrk     : X_Rm_Quark := None_X_Rm_Quark;  
2         Success : Boolean;  
2         Map     : X_Rm_Quark_Map.Map;  
2     begin
2 
2 ----Validate the string if it is supposed to be a component name.
2 
2         if Validate then  
2             for Index in Str'Range loop  
2                 if not Component_Name_Character (Str (Index)) then  
2                     raise Constraint_Error;  
2                 end if;  
2             end loop;  
2         end if;
2 
2 
2 ----Look for the string in the map.  Return any quark found.
2 
2         X_Lib.Seize_Quark_Map (Map);  
2         begin  
2             X_Rm_Quark_Map.Find_Ptr (Map, Str, Qrk, Success);  
2             if Success then  
2                 X_Lib.Release_Quark_Map (Map);  
2                 Quark := Qrk;  
2                 return;  
2             end if;
2 
2 ----Generate a new quark value for this string and enter it in the map.
2 
2             X_Lib.Get_Next_Quark (Qrk);  
2             Quark := Qrk;  
2             X_Rm_Quark_Map.Insert_Ptr (Map, Str, Qrk);  
2             X_Lib.Release_Quark_Map (Map);  
2             return;
2 
2         exception  
2             when others =>  
2                 X_Lib.Release_Quark_Map (Map);  
2                 raise;  
2         end;
2 
2     end X_Rm_String_Pointer_To_Quark;

* Insert after 169
2 
2 --
2     function X_Rm_Quark_To_String_Pointer  
2                 (Quark : X_Rm_Quark) return X_String_Pointer is
2 ------------------------------------------------------------------------------
2 --  Quark   - Specifies the quark whose string value is queried.
2 --
2 -- Returns the string corresponding to the Quark.  Returns "" for Quark values
2 -- obtained from X_Rm_Unique_Quarks.  Raises Constraint_Error if an
2 -- uninitialized Quark value is passed.  Note: This string belongs to the Xlib
2 -- and it must not be freed by the application.  Quarks generated by
2 -- X_Rm_Unique_Quark were not created with a string value and return
2 -- None_X_String_Pointer.
2 ------------------------------------------------------------------------------
2         Iter : X_Rm_Quark_Map.Iter;  
2         Map  : X_Rm_Quark_Map.Map;  
2     begin
2 
2 ----Check for uninitialized quarks.
2 
2         if Quark.Id = 0 then  
2             raise Constraint_Error;  
2         end if;
2 
2 ----Look up the unique quark value in the map.
2 
2         X_Lib.Seize_Quark_Map (Map);  
2         begin  
2             X_Rm_Quark_Map.Initialize (Map, Iter, Quark);
2 
2 ----No entry means a "unique" quark.
2 
2             if X_Rm_Quark_Map.Done (Iter) then  
2                 X_Lib.Release_Quark_Map (Map);  
2                 return None_X_String_Pointer;  
2             end if;
2 
2 -----Anything else gets the key string back.
2 
2             declare  
2                 Str_Ptr : constant X_String_Pointer :=  
2                    X_Rm_Quark_Map.Key_Ptr (Iter);  
2             begin  
2                 X_Lib.Release_Quark_Map (Map);  
2                 return Str_Ptr;  
2             end;
2 
2         exception  
2             when others =>  
2                 X_Lib.Release_Quark_Map (Map);  
2                 raise;  
2         end;
2 
2     end X_Rm_Quark_To_String_Pointer;

* Change 187
1     procedure X_Rm_String_To_Quark_List (Name :     X_String;  
-----
2     procedure X_Rm_String_To_Quark_List (Str  :     X_String;  

* Change 190
1 --  Name    - Specifies a series of names separated by '.' or '*'.
-----
2 --  Str     - Specifies a series of names separated by '.' or '*'.

* Change 216..217
1         One_Name := Name'First;  
1         I        := Name'First - 1;  
-----
2         One_Name := Str'First;  
2         I        := Str'First - 1;  

* Change 220
1             exit when I > Name'Last or else Name (I) = Nul;
-----
2             exit when I > Str'Last or else Str (I) = Nul;

* Change 224..225
1             if Name (I) = '.' or else Name (I) = '*' then  
1                 if I /= Name'First then  
-----
2             if Str (I) = '.' or else Str (I) = '*' then  
2                 if I /= Str'First then  

* Change 227
1                        String_To_Quark (Name (One_Name .. I - 1));  
-----
2                        String_To_Quark (Str (One_Name .. I - 1),  
2                                         Validate => False);  

* Change 236
1         List (List_Last) := String_To_Quark (Name (One_Name .. I - 1));  
-----
2         List (List_Last) := String_To_Quark (Str (One_Name .. I - 1),  
2                                              Validate => False);  

* Change 244
1                  (Name     :     X_String;  
-----
2                  (Str      :     X_String;  

* Change 248
1 --  Name    - Specifies a series of names separated by '.' or '*'.
-----
2 --  Str  - Specifies a series of names separated by '.' or '*'.

* Change 287..288
1         One_Name := Name'First;  
1         I        := Name'First - 1;  
-----
2         One_Name := Str'First;  
2         I        := Str'First - 1;  

* Change 291
1             exit when I > Name'Last or else Name (I) = Nul;
-----
2             exit when I > Str'Last or else Str (I) = Nul;

* Change 295..296
1             if Name (I) = '.' or else Name (I) = '*' then  
1                 if I /= Name'First then
-----
2             if Str (I) = '.' or else Str (I) = '*' then  
2                 if I /= Str'First then

* Change 300..301
1                     Quarks (Quarks_Last)     := String_To_Quark  
1                                                    (Name (One_Name .. I - 1));  
-----
2                     Quarks (Quarks_Last)     :=  
2                        String_To_Quark (Str (One_Name .. I - 1),  
2                                         Validate => False);  

* Change 305
1                 if Name (I) = '*' then  
-----
2                 if Str (I) = '*' then  

* Change 316
1         Quarks (Quarks_Last)     := String_To_Quark (Name (One_Name .. I - 1));  
-----
2         Quarks (Quarks_Last)     := String_To_Quark (Str (One_Name .. I - 1),  
2                                                      Validate => False);  
15:47:46 ::: [end of File_Utilities.Difference].
15:47:47 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:47:47 ... UNITS.PMI_PROCS.XLBP_RM_QUARK'SPEC'V(5)", "!X11.X_LIBRARY.
15:47:47 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_RM_QUARK'SPEC'V(1)", "", 
15:47:47 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_RM_QUARK'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_RM_QUARK'SPEC
* Insert after 2
2 with Xlbt_Display3;  
2 use Xlbt_Display3;  

* Change 14
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 49..50
1                 (Name     : X_String;  
1                  Validate : Boolean := False) return X_Rm_Quark;
-----
2                 (Str      : X_String;  
2                  Validate : Boolean := True) return X_Rm_Quark;
2 ------------------------------------------------------------------------------
2 --  Str      - Specifies the string value being converted to a Quark.
2 --             The string need not be null terminated.
2 --  Validate - Specifies whether or not the Str must be a valid
2 --             Component Name as defined by the Resource Manager.
2 --
2 -- Returns the Quark value that has or which will now correspond to the
2 -- contents of the specified string.  If Validate is True, Constraint_Error
2 -- will be raised if any characters other than 'a'..'z', 'A'..'Z', '0'..'9',
2 -- '-', or '_' are present in the Str.
2 ------------------------------------------------------------------------------
2 
2     procedure X_Rm_String_To_Quark (Str      :     X_String;  
2                                     Ptr      : out X_String_Pointer;  
2                                     Quark    : out X_Rm_Quark;  
2                                     Validate :     Boolean := True);

* Change 52
1 --  Name     - Specifies the string value being converted to a Quark.
-----
2 --  Str      - Specifies the string value being converted to a Quark.

* Change 54
1 --  Validate - Specifies whether or not the Name must be a valid
-----
2 --  Ptr      - Receives the string pointer stored in the quark map for Str
2 --  Quark    - Receives the Quark value representing Str
2 --  Validate - Specifies whether or not the Str must be a valid

* Change 60
1 -- '-', or '_' are present in the Name.
-----
2 -- '-', or '_' are present in the Str.  Note: The Ptr value belongs to the Xlib
2 -- and it must not be freed by the application.
2 ------------------------------------------------------------------------------
2 
2     function X_Rm_Quark_To_String_Pointer  
2                 (Quark : X_Rm_Quark) return X_String_Pointer;
2 ------------------------------------------------------------------------------
2 --  Quark   - Specifies the quark whose string value is queried.
2 --
2 -- Returns the string corresponding to the Quark.  Returns "" for Quark values
2 -- obtained from X_Rm_Unique_Quarks.  Raises Constraint_Error if an
2 -- uninitialized Quark value is passed.  Note: This string belongs to the Xlib
2 -- and it must not be freed by the application.  Quarks generated by
2 -- X_Rm_Unique_Quark were not created with a string value and return
2 -- None_X_String_Pointer.
2 ------------------------------------------------------------------------------
2 
2     procedure X_Rm_String_Pointer_To_Quark (Str      : in out X_String_Pointer;  
2                                             Quark    : out    X_Rm_Quark;  
2                                             Validate :        Boolean := True);
2 ------------------------------------------------------------------------------
2 --  Str      - Specifies the string value being converted to a Quark.
2 --             The string need not be null terminated.
2 --  Quark    - Receives the quark value corresponding to the string.
2 --  Validate - Specifies whether or not the Str must be a valid
2 --             Component Name as defined by the Resource Manager.
2 --
2 -- Returns the Quark value that has or which will now correspond to the
2 -- contents of the specified string.  If an some existing Quark has the same
2 -- string value then that quark, and that string pointer, will be returned.  If
2 -- no existing Quark has the same string value then a new Quark is created and
2 -- returned, and the X_String_Pointer String argument becomes the property of
2 -- the Xlib and must not be free by the appliation.  If Validate is True then
2 -- Constraint_Error will be raised if any characters other than 'a'..'z',
2 -- 'A'..'Z', '0'..'9', '-', or '_' are present in the String.

* Change 67..68
1         with function String_To_Quark (Name : X_String) return Quark_Type;  
1     procedure X_Rm_String_To_Quark_List (Name :     X_String;  
-----
2         with function String_To_Quark (Str      : X_String;  
2                                        Validate : Boolean) return Quark_Type;  
2     procedure X_Rm_String_To_Quark_List (Str  :     X_String;  

* Change 71
1 --  Name    - Specifies a series of names separated by '.' or '*'.
-----
2 --  Str     - Specifies a series of names separated by '.' or '*'.

* Change 93
1         with function String_To_Quark (Name : X_String) return Quark_Type;  
-----
2         with function String_To_Quark (Str      : X_String;  
2                                        Validate : Boolean) return Quark_Type;  

* Change 95
1                  (Name     :     X_String;  
-----
2                  (Str      :     X_String;  

* Change 99
1 --  Name    - Specifies a series of names separated by '.' or '*'.
-----
2 --  Str     - Specifies a series of names separated by '.' or '*'.
15:47:49 ::: [end of File_Utilities.Difference].
15:47:51 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:47:51 ... UNITS.PMI_PROCS.XLBP_SCREEN_SAVER'BODY'V(5)", "!X11.X_LIBRARY.
15:47:51 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_SCREEN_SAVER'BODY'V(1)", "",
15:47:51 ...  TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_SCREEN_SAVER'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_SCREEN_SAVER'BODY
* Change 25
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:47:52 ::: [end of File_Utilities.Difference].
15:47:53 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:47:53 ... UNITS.PMI_PROCS.XLBP_SCREEN_SAVER'SPEC'V(5)", "!X11.X_LIBRARY.
15:47:53 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_SCREEN_SAVER'SPEC'V(1)", "",
15:47:53 ...  TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_SCREEN_SAVER'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_SCREEN_SAVER'SPEC
* Change 14
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:47:55 ::: [end of File_Utilities.Difference].
15:47:57 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:47:57 ... UNITS.PMI_PROCS.XLBP_SELECTION'BODY'V(5)", "!X11.X_LIBRARY.
15:47:57 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_SELECTION'BODY'V(1)", "", 
15:47:57 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_SELECTION'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_SELECTION'BODY
* Change 23
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:47:58 ::: [end of File_Utilities.Difference].
15:47:59 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:47:59 ... UNITS.PMI_PROCS.XLBP_SELECTION'SPEC'V(5)", "!X11.X_LIBRARY.
15:47:59 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_SELECTION'SPEC'V(1)", "", 
15:47:59 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_SELECTION'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_SELECTION'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:48:00 ::: [end of File_Utilities.Difference].
15:48:03 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:48:03 ... UNITS.PMI_PROCS.XLBP_SYNC'BODY'V(5)", "!X11.X_LIBRARY.
15:48:03 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_SYNC'BODY'V(1)", "", TRUE, 
15:48:03 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_SYNC'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_SYNC'BODY
* Change 38
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:48:05 ::: [end of File_Utilities.Difference].
15:48:06 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:48:06 ... UNITS.PMI_PROCS.XLBP_SYNC'SPEC'V(5)", "!X11.X_LIBRARY.
15:48:06 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_SYNC'SPEC'V(1)", "", TRUE, 
15:48:06 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_SYNC'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_SYNC'SPEC
* Change 13
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:48:07 ::: [end of File_Utilities.Difference].
15:48:09 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:48:09 ... UNITS.PMI_PROCS.XLBP_TEXT'BODY'V(5)", "!X11.X_LIBRARY.
15:48:09 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_TEXT'BODY'V(1)", "", TRUE, 
15:48:09 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_TEXT'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_TEXT'BODY
* Change 38
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:48:15 ::: [end of File_Utilities.Difference].
15:48:16 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:48:16 ... UNITS.PMI_PROCS.XLBP_TEXT'SPEC'V(5)", "!X11.X_LIBRARY.
15:48:16 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_TEXT'SPEC'V(1)", "", TRUE, 
15:48:16 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_TEXT'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_TEXT'SPEC
* Change 18
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:48:18 ::: [end of File_Utilities.Difference].
15:48:20 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:48:20 ... UNITS.PMI_PROCS.XLBP_TEXT16'BODY'V(5)", "!X11.X_LIBRARY.
15:48:20 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_TEXT16'BODY'V(1)", "", TRUE,
15:48:20 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_TEXT16'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_TEXT16'BODY
* Change 36
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 564
1 --//         elsif Telegen2_2d_Bug (Char.Char1) in Fs.Per_Char'Range (1) and then
-----
2 --//         elsif TeleGen2_2d_Bug(Char.Char1) in Fs.Per_Char'Range (1) and then

* Change 566
1 --//             Cs := Fs.Per_Char (Telegen2_2d_Bug (Char.Char1), Char.Char2);
-----
2 --//             Cs := Fs.Per_Char (TeleGen2_2d_Bug(Char.Char1), Char.Char2);
15:48:26 ::: [end of File_Utilities.Difference].
15:48:27 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:48:27 ... UNITS.PMI_PROCS.XLBP_TEXT16'SPEC'V(5)", "!X11.X_LIBRARY.
15:48:27 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_TEXT16'SPEC'V(1)", "", TRUE,
15:48:27 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_TEXT16'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_TEXT16'SPEC
* Change 18
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:48:28 ::: [end of File_Utilities.Difference].
15:48:30 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:48:30 ... UNITS.PMI_PROCS.XLBP_VISUAL'BODY'V(5)", "!X11.X_LIBRARY.
15:48:30 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_VISUAL'BODY'V(1)", "", TRUE,
15:48:30 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_VISUAL'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_VISUAL'BODY
* Change 24
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:48:33 ::: [end of File_Utilities.Difference].
15:48:34 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:48:34 ... UNITS.PMI_PROCS.XLBP_VISUAL'SPEC'V(5)", "!X11.X_LIBRARY.
15:48:34 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_VISUAL'SPEC'V(1)", "", TRUE,
15:48:34 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_VISUAL'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_VISUAL'SPEC
* Change 15
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:48:35 ::: [end of File_Utilities.Difference].
15:48:37 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:48:37 ... UNITS.PMI_PROCS.XLBP_WINDOW'BODY'V(5)", "!X11.X_LIBRARY.
15:48:37 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_WINDOW'BODY'V(1)", "", TRUE,
15:48:37 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_WINDOW'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_WINDOW'BODY
* Change 56
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:48:47 ::: [end of File_Utilities.Difference].
15:48:48 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:48:48 ... UNITS.PMI_PROCS.XLBP_WINDOW'SPEC'V(5)", "!X11.X_LIBRARY.
15:48:48 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_WINDOW'SPEC'V(1)", "", TRUE,
15:48:48 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_WINDOW'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_WINDOW'SPEC
* Change 16
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:48:52 ::: [end of File_Utilities.Difference].
15:48:54 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:48:54 ... UNITS.PMI_PROCS.XLBP_WINDOW_INFORMATION'BODY'V(5)", "!X11.
15:48:54 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.
15:48:54 ... XLBP_WINDOW_INFORMATION'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_WINDOW_INFORMATION'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_WINDOW_INFORMATION'BODY
* Change 34
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:48:57 ::: [end of File_Utilities.Difference].
15:48:58 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:48:58 ... UNITS.PMI_PROCS.XLBP_WINDOW_INFORMATION'SPEC'V(5)", "!X11.
15:48:58 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.
15:48:58 ... XLBP_WINDOW_INFORMATION'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_WINDOW_INFORMATION'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_WINDOW_INFORMATION'SPEC
* Change 16
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:49:01 ::: [end of File_Utilities.Difference].
15:49:03 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:49:03 ... UNITS.PMI_PROCS.XLBP_WINDOW_PROPERTY'BODY'V(5)", "!X11.X_LIBRARY.
15:49:03 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_WINDOW_PROPERTY'BODY'V(1)", 
15:49:03 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_WINDOW_PROPERTY'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_WINDOW_PROPERTY'BODY
* Change 50
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:49:10 ::: [end of File_Utilities.Difference].
15:49:11 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:49:11 ... UNITS.PMI_PROCS.XLBP_WINDOW_PROPERTY'SPEC'V(5)", "!X11.X_LIBRARY.
15:49:11 ... REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_WINDOW_PROPERTY'SPEC'V(1)", 
15:49:11 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_PROCS.XLBP_WINDOW_PROPERTY'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_PROCS.XLBP_WINDOW_PROPERTY'SPEC
* Change 18
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:49:14 ::: [end of File_Utilities.Difference].
15:49:16 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:49:16 ... UNITS.PMI_TYPES.XLBT_ARITHMETIC'BODY'V(5)", "!X11.X_LIBRARY.
15:49:16 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_ARITHMETIC'BODY'V(1)", "", 
15:49:16 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_ARITHMETIC'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_ARITHMETIC'BODY
* Change 13
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:49:18 ::: [end of File_Utilities.Difference].
15:49:19 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:49:19 ... UNITS.PMI_TYPES.XLBT_ARITHMETIC'SPEC'V(5)", "!X11.X_LIBRARY.
15:49:19 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_ARITHMETIC'SPEC'V(1)", "", 
15:49:19 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_ARITHMETIC'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_ARITHMETIC'SPEC
* Insert after 0
2 --/ if TeleGen2 and then Unix then
2 --// with Float_Text_Io;
2 --/ end if;
2 

* Change 13
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 40
1     subtype S_Natural is S_Long range 0 .. S_Long'Last;
-----
2     subtype S_Natural  is S_Long range 0 .. S_Long'Last;  
2     subtype S_Positive is S_Long range 1 .. S_Long'Last;

* Insert after 68
2 
2 --/ if TeleGen2 and then Unix then
2 --//     package Float_Io renames Float_Text_Io;
2 --/ else
2     package Float_Io is new Text_Io.Float_Io (Float);
2 --/ end if;
15:49:21 ::: [end of File_Utilities.Difference].
15:49:23 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:49:23 ... UNITS.PMI_TYPES.XLBT_ATOM_DEFS'SPEC'V(5)", "!X11.X_LIBRARY.
15:49:23 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_ATOM_DEFS'SPEC'V(1)", "", 
15:49:23 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_ATOM_DEFS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_ATOM_DEFS'SPEC
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:49:25 ::: [end of File_Utilities.Difference].
15:49:26 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:49:26 ... UNITS.PMI_TYPES.XLBT_BASIC'SPEC'V(5)", "!X11.X_LIBRARY.
15:49:26 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_BASIC'SPEC'V(1)", "", TRUE, 
15:49:26 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_BASIC'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_BASIC'SPEC
* Change 16
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 234
2 --
2     None_X_Event : X_Event renames D3.None_X_Event;

* Change 426
1     Current_Time : X_Time renames B3.Current_Time;
-----
2     Current_Time : X_Time renames B3.Current_Time;  
2     None_X_Time  : X_Time renames B3.None_X_Time;
15:49:31 ::: [end of File_Utilities.Difference].
15:49:32 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:49:32 ... UNITS.PMI_TYPES.XLBT_BASIC2'SPEC'V(5)", "!X11.X_LIBRARY.
15:49:32 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_BASIC2'SPEC'V(1)", "", TRUE,
15:49:32 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_BASIC2'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_BASIC2'SPEC
* Change 1
1 with Xlbt_Basic3;
-----
2 with Xlbt_Basic3;  
2 with Xlbt_Display3;

* Change 11
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 34
1     package B3 renames Xlbt_Basic3;
-----
2     package B3 renames Xlbt_Basic3;  
2     package D3 renames Xlbt_Display3;
2 
2 ------------------------------------------------------------------------------
2 -- X_Drawable
2 ------------------------------------------------------------------------------
2 
2     subtype X_Drawable_Array is B3.X_Drawable_Array;  
2     subtype X_Drawable_List  is B3.X_Drawable_List;
2 
2     None_X_Drawable_List : X_Drawable_List renames B3.None_X_Drawable_List;
2 
2     procedure Free_X_Drawable_List (List : in out X_Drawable_List)  
2         renames B3.Free_X_Drawable_List;
2 
2     function "=" (A, B : X_Drawable_List) return Boolean renames B3."=";

* Insert after 46
2 
2 
2 ------------------------------------------------------------------------------
2 -- X_Screen
2 ------------------------------------------------------------------------------
2 
2     subtype X_Screen_List is D3.X_Screen_List;
2 
2     None_X_Screen_List : X_Screen_List renames D3.None_X_Screen_List;
2 
2     function "=" (A, B : X_Screen_List) return Boolean renames D3."=";
15:49:33 ::: [end of File_Utilities.Difference].
15:49:35 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:49:35 ... UNITS.PMI_TYPES.XLBT_BASIC3'BODY'V(5)", "!X11.X_LIBRARY.
15:49:35 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_BASIC3'BODY'V(1)", "", TRUE,
15:49:35 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_BASIC3'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_BASIC3'BODY
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 53..57
1 --//         return
1 --//            X_Event_Mask
1 --//               ((X_Event_Mask_Array (A)
1 --//                  & (X_Event_Mask_Index'Val (16) .. X_Event_Mask_Index'Val (31)
1 --//                        => False)));
-----
2 --//        return
2 --//           X_Event_Mask
2 --//              ((X_Event_Mask_Array (A)
2 --//                 & (X_Event_Mask_Index'Val (16) .. X_Event_Mask_Index'Val (31)
2 --//                       => False)));
15:49:36 ::: [end of File_Utilities.Difference].
15:49:37 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:49:37 ... UNITS.PMI_TYPES.XLBT_BASIC3'SPEC'V(5)", "!X11.X_LIBRARY.
15:49:37 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_BASIC3'SPEC'V(1)", "", TRUE,
15:49:37 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_BASIC3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_BASIC3'SPEC
* Change 14
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 115
2 
2     type X_Drawable_Array is array (S_Natural range <>) of X_Drawable;  
2     type X_Drawable_List  is access X_Drawable_Array;
2 
2 --/ if Enable_Deallocation then
2     pragma Enable_Deallocation (X_Drawable_List);
2 --/ end if;
2 
2     None_X_Drawable_List : constant X_Drawable_List := null;
2     --
2     procedure Free_X_Drawable_List is  
2        new Unchecked_Deallocation (X_Drawable_Array,  
2                                    X_Drawable_List);

* Change 349
1     Current_Time : constant X_Time := 0;
-----
2     Current_Time : constant X_Time := 0;  
2     None_X_Time  : constant X_Time := 0;
15:49:41 ::: [end of File_Utilities.Difference].
15:49:43 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:49:43 ... UNITS.PMI_TYPES.XLBT_BITMAP'SPEC'V(5)", "!X11.X_LIBRARY.
15:49:43 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_BITMAP'SPEC'V(1)", "", TRUE,
15:49:43 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_BITMAP'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_BITMAP'SPEC
* Change 7
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:49:43 ::: [end of File_Utilities.Difference].
15:49:45 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:49:45 ... UNITS.PMI_TYPES.XLBT_COLOR'SPEC'V(5)", "!X11.X_LIBRARY.
15:49:45 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_COLOR'SPEC'V(1)", "", TRUE, 
15:49:45 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_COLOR'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_COLOR'SPEC
* Change 14
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:49:46 ::: [end of File_Utilities.Difference].
15:49:48 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:49:48 ... UNITS.PMI_TYPES.XLBT_CONTEXT_MANAGER'SPEC'V(5)", "!X11.X_LIBRARY.
15:49:48 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_CONTEXT_MANAGER'SPEC'V(1)", 
15:49:48 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_CONTEXT_MANAGER'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_CONTEXT_MANAGER'SPEC
* Change 1..5
1 with Unchecked_Deallocation;
1 
1 with Xlbt_Context_Manager3;  
1 with Xlbt_Rm;  
1 use Xlbt_Rm;
-----
2 with Xlbt_Context_Manager3;

* Change 13
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Delete 35..57
1 ------------------------------------------------------------------------------
1 
1 --
1     package C3 renames Xlbt_Context_Manager3;
1 
1 ------------------------------------------------------------------------------
1 -- X_Associative_Returns
1 --
1 --      Xc_Success      - No error.
1 --      Xc_No_Mem       - Out of memory.
1 --      Xc_No_Ent       - No entry in table.
1 ------------------------------------------------------------------------------
1 
1     subtype X_Associative_Returns is C3.X_Associative_Returns;
1 
1     Xc_Success : constant X_Associative_Returns := C3.Xc_Success;  
1     Xc_No_Mem  : constant X_Associative_Returns := C3.Xc_No_Mem;  
1     Xc_No_Ent  : constant X_Associative_Returns := C3.Xc_No_Ent;
1 
1     function "=" (A, B : X_Associative_Returns) return Boolean renames C3."=";
1 
1 ------------------------------------------------------------------------------
1 -- X_Context

* Delete 59..60
1 
1     subtype X_Context is C3.X_Context;

* Change 62
1     None_X_Context : X_Context renames C3.None_X_Context;
-----
2 --/ if OLD_CONTEXT_MANAGER then
2 --// --
2 --//     package C3 renames Xlbt_Context_Manager3;
2 --//
2 --// ------------------------------------------------------------------------------
2 --// -- X_Associative_Returns
2 --// --
2 --// --      Xc_Success      - No error.
2 --// --      Xc_No_Mem       - Out of memory.
2 --// --      Xc_No_Ent       - No entry in table.
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     subtype X_Associative_Returns is C3.X_Associative_Returns;
2 --//
2 --//     Xc_Success : constant X_Associative_Returns := C3.Xc_Success;
2 --//     Xc_No_Mem  : constant X_Associative_Returns := C3.Xc_No_Mem;
2 --//     Xc_No_Ent  : constant X_Associative_Returns := C3.Xc_No_Ent;
2 --//
2 --//     function "=" (A, B : X_Associative_Returns) return Boolean renames C3."=";
2 --//
2 --// ------------------------------------------------------------------------------
2 --// -- X_Context
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     subtype X_Context is C3.X_Context;
2 --//
2 --//     None_X_Context : X_Context renames C3.None_X_Context;
2 --//
2 --//     function "=" (A, B : X_Context) return Boolean renames C3."=";
2 --//
2 --/ end if;

* Change 64
1     function "=" (A, B : X_Context) return Boolean renames C3."=";
-----
2 end Xlbt_Context_Manager;

* Delete 66
1 end Xlbt_Context_Manager;  
15:49:49 ::: [end of File_Utilities.Difference].
15:49:51 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:49:51 ... UNITS.PMI_TYPES.XLBT_CONTEXT_MANAGER2'SPEC'V(5)", "!X11.X_LIBRARY.
15:49:51 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_CONTEXT_MANAGER2'SPEC'V(1)",
15:49:51 ...  "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_CONTEXT_MANAGER2'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_CONTEXT_MANAGER2'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Delete 31..50
1 ------------------------------------------------------------------------------
1 
1 --
1     package C3 renames Xlbt_Context_Manager3;
1 
1 ------------------------------------------------------------------------------
1 -- X_Context_Table_Entry - Context/Window Pair Cache
1 ------------------------------------------------------------------------------
1 
1     subtype X_Context_Table_Entry_Rec is C3.X_Context_Table_Entry_Rec;  
1     subtype X_Context_Table_Entry     is C3.X_Context_Table_Entry;
1 
1     function "=" (A, B : X_Context_Table_Entry) return Boolean renames C3."=";
1 
1     procedure Free_X_Context_Table_Entry  
1                  (Ct_Entry : in out X_Context_Table_Entry)  
1         renames C3.Free_X_Context_Table_Entry;
1 
1 ------------------------------------------------------------------------------
1 -- X_Context_Hash_Table - Context/Window Pair Cache

* Delete 52..54
1 
1     subtype X_Context_Hash_Table is C3.X_Context_Hash_Table;  
1     subtype X_Context_Hash_List  is C3.X_Context_Hash_List;

* Change 56
1     function "=" (A, B : X_Context_Hash_List) return Boolean renames C3."=";
-----
2 --/ if OLD_CONTEXT_MANAGER then
2 --// --
2 --//     package C3 renames Xlbt_Context_Manager3;
2 --//
2 --// ------------------------------------------------------------------------------
2 --// -- X_Context_Table_Entry - Context/Window Pair Cache
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     subtype X_Context_Table_Entry_Rec is C3.X_Context_Table_Entry_Rec;
2 --//     subtype X_Context_Table_Entry     is C3.X_Context_Table_Entry;
2 --//
2 --//     function "=" (A, B : X_Context_Table_Entry) return Boolean renames C3."=";
2 --//
2 --//     procedure Free_X_Context_Table_Entry
2 --//                  (Ct_Entry : in out X_Context_Table_Entry)
2 --//         renames C3.Free_X_Context_Table_Entry;
2 --//
2 --// ------------------------------------------------------------------------------
2 --// -- X_Context_Hash_Table - Context/Window Pair Cache
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     subtype X_Context_Hash_Table is C3.X_Context_Hash_Table;
2 --//     subtype X_Context_Hash_List  is C3.X_Context_Hash_List;
2 --//
2 --//     function "=" (A, B : X_Context_Hash_List) return Boolean renames C3."=";
2 --//
2 --//     procedure Free_X_Context_Hash_List (List : in out X_Context_Hash_List)
2 --//         renames C3.Free_X_Context_Hash_List;
2 --//
2 --//     package Univ_X_Context_Hash_List renames C3.Univ_X_Context_Hash_List;
2 --//
2 --/ end if;

* Change 58..59
1     procedure Free_X_Context_Hash_List (List : in out X_Context_Hash_List)  
1         renames C3.Free_X_Context_Hash_List;
-----
2 end Xlbt_Context_Manager2;

* Delete 61
1 end Xlbt_Context_Manager2;  
15:49:52 ::: [end of File_Utilities.Difference].
15:49:54 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:49:54 ... UNITS.PMI_TYPES.XLBT_CONTEXT_MANAGER3'BODY'V(5)", "!X11.X_LIBRARY.
15:49:54 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_CONTEXT_MANAGER3'BODY'V(1)",
15:49:54 ...  "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_CONTEXT_MANAGER3'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_CONTEXT_MANAGER3'BODY
* Insert after 1
2 
2 with Xlbt_Arithmetic;  
2 use Xlbt_Arithmetic;  
2 with Xlbt_Basic;  
2 use Xlbt_Basic;  
2 with Xlbt_Rm;  
2 use Xlbt_Rm;  
2 with Xlbt_String;  
2 use Xlbt_String;  
2 with Xlbt_Univ_Ptr;  
2 use Xlbt_Univ_Ptr;

* Change 5
1 -- X Library Context Manager - Full Interface
-----
2 -- X Library Context Manager - Full User Interface

* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Delete 32..36
1 
1 --
1     procedure Heap_Free_X_Context_Hash_List is  
1        new Unchecked_Deallocation (X_Context_Hash_Table,  
1                                    X_Context_Hash_List);

* Insert after 37
2 --/ if OLD_CONTEXT_MANAGER then
2 --//
2 --//     procedure Heap_Free_X_Context_Hash_List is
2 --//        new Unchecked_Deallocation (X_Context_Hash_Table,
2 --//                                    X_Context_Hash_List);
2 --// --
2 --//     procedure Free_X_Context_Hash_List (List : in out X_Context_Hash_List) is
2 --//         Ct_Entry : X_Context_Table_Entry;
2 --//         Temp     : X_Context_Table_Entry;
2 --//     begin
2 --//         if List = None_X_Context_Hash_List then
2 --//             return;
2 --//         end if;
2 --//         for I in List'Range loop
2 --//             Ct_Entry := List (I);
2 --//             while Ct_Entry /= null loop
2 --//                 Temp     := Ct_Entry;
2 --//                 Ct_Entry := Ct_Entry.Next;
2 --//                 Free_X_Context_Table_Entry (Temp);
2 --//             end loop;
2 --//         end loop;
2 --//         Heap_Free_X_Context_Hash_List (List);
2 --//     end Free_X_Context_Hash_List;
2 --//
2 --/ end if;

* Change 39..55
1     procedure Free_X_Context_Hash_List (List : in out X_Context_Hash_List) is  
1         Ct_Entry : X_Context_Table_Entry;  
1         Temp     : X_Context_Table_Entry;  
1     begin  
1         if List = None_X_Context_Hash_List then  
1             return;  
1         end if;  
1         for I in List'Range loop  
1             Ct_Entry := List (I);  
1             while Ct_Entry /= null loop  
1                 Temp     := Ct_Entry;  
1                 Ct_Entry := Ct_Entry.Next;  
1                 Free_X_Context_Table_Entry (Temp);  
1             end loop;  
1         end loop;  
1         Heap_Free_X_Context_Hash_List (List);  
1     end Free_X_Context_Hash_List;
-----
2 end Xlbt_Context_Manager3;

* Delete 57..58
1 --
1 end Xlbt_Context_Manager3;  
15:49:55 ::: [end of File_Utilities.Difference].
15:49:57 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:49:57 ... UNITS.PMI_TYPES.XLBT_CONTEXT_MANAGER3'SPEC'V(5)", "!X11.X_LIBRARY.
15:49:57 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_CONTEXT_MANAGER3'SPEC'V(1)",
15:49:57 ...  "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_CONTEXT_MANAGER3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_CONTEXT_MANAGER3'SPEC
* Change 5..6
1 with Xlbt_Basic3;  
1 use Xlbt_Basic3;  
-----
2 with Xlbt_Basic;  
2 use Xlbt_Basic;  

* Change 9..10
1 with Xlbt_Rm2;  
1 use Xlbt_Rm2;
-----
2 with Xlbt_String;  
2 use Xlbt_String;  
2 with Xlbt_Univ_Ptr;  
2 use Xlbt_Univ_Ptr;

* Change 14
1 -- X Library Context Manager - Full Interface
-----
2 -- X Library Context Manager - Full User Interface

* Change 18
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Delete 40..60
1 ------------------------------------------------------------------------------
1 
1 --
1 ------------------------------------------------------------------------------
1 -- X_Associative_Returns
1 ------------------------------------------------------------------------------
1 
1     type X_Associative_Returns is  
1        (Xc_Success,    -- No error.
1         Xc_No_Mem,     -- Out of memory
1         Xc_No_Ent);    -- No entry in table
1 
1 ------------------------------------------------------------------------------
1 -- X_Context
1 ------------------------------------------------------------------------------
1 
1     type X_Context is new X_Rm_Quark;  
1     None_X_Context : constant X_Context := (Id => 0);
1 
1 ------------------------------------------------------------------------------
1 -- X_Context_Table_Entry - Context/Window Pair Cache

* Delete 62..64
1 
1     type X_Context_Table_Entry_Rec;  
1     type X_Context_Table_Entry is access X_Context_Table_Entry_Rec;

* Change 66..67
1 --/ if Enable_Deallocation then
1     pragma Enable_Deallocation (X_Context_Table_Entry);
-----
2 --/ if OLD_CONTEXT_MANAGER then
2 --// --
2 --// ------------------------------------------------------------------------------
2 --// -- X_Associative_Returns
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     type X_Associative_Returns is
2 --//        (Xc_Success,    -- No error.
2 --//         Xc_No_Mem,     -- Out of memory
2 --//         Xc_No_Ent);    -- No entry in table
2 --//
2 --// ------------------------------------------------------------------------------
2 --// -- X_Context
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     type X_Context is new X_Rm_Quark;
2 --//     None_X_Context : constant X_Context := X_Context (None_X_Rm_Quark);
2 --//
2 --// ------------------------------------------------------------------------------
2 --// -- X_Context_Table_Entry - Context/Window Pair Cache
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     type X_Context_Table_Entry_Rec;
2 --//     type X_Context_Table_Entry is access X_Context_Table_Entry_Rec;
2 --//
2 --// --/ if Enable_Deallocation then
2 --//     pragma Enable_Deallocation (X_Context_Table_Entry);
2 --// --/ end if;
2 --//
2 --//     type X_Context_Table_Entry_Rec is
2 --//         record
2 --//             Window  : X_Window;
2 --//             Context : X_Context;
2 --//             Data    : X_Rm_Value;
2 --//             Next    : X_Context_Table_Entry;
2 --//         end record;
2 --//
2 --//     procedure Free_X_Context_Table_Entry is
2 --//        new Unchecked_Deallocation (X_Context_Table_Entry_Rec,
2 --//                                    X_Context_Table_Entry);
2 --//
2 --// ------------------------------------------------------------------------------
2 --// -- X_Context_Hash_Table - Context/Window Pair Cache
2 --// -- Primes: 13, 31, 59, 101, 211
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     type X_Context_Hash_Table is
2 --//        array (S_Natural range 0 .. 30)  -- 31 is a prime number.
2 --//            of X_Context_Table_Entry;
2 --//
2 --//     type X_Context_Hash_List is access X_Context_Hash_Table;
2 --//
2 --// --/ if Enable_Deallocation then
2 --//     pragma Enable_Deallocation (X_Context_Hash_List);
2 --// --/ end if;
2 --//
2 --//     None_X_Context_Hash_Table : constant X_Context_Hash_Table :=
2 --//        (others => null);
2 --//     None_X_Context_Hash_List  : constant X_Context_Hash_List  := null;
2 --//
2 --//     procedure Free_X_Context_Hash_List (List : in out X_Context_Hash_List);
2 --//
2 --//     package Univ_X_Context_Hash_List is
2 --//        new X_Universal_Pointer_Conversion (X_Context_Hash_Table,
2 --//                                            X_Context_Hash_List,
2 --//                                            Free_X_Context_Hash_List);
2 --//

* Change 69..76
1 
1     type X_Context_Table_Entry_Rec is  
1         record  
1             Window  : X_Window;  
1             Context : X_Context;  
1             Data    : X_Rm_Value;  
1             Next    : X_Context_Table_Entry;  
1         end record;
-----
2 --
2 end Xlbt_Context_Manager3;

* Delete 78..80
1     procedure Free_X_Context_Table_Entry is  
1        new Unchecked_Deallocation (X_Context_Table_Entry_Rec,  
1                                    X_Context_Table_Entry);

* Delete 82..84
1 ------------------------------------------------------------------------------
1 -- X_Context_Hash_Table - Context/Window Pair Cache
1 ------------------------------------------------------------------------------

* Delete 86..88
1     type X_Context_Hash_Table is  
1        array (S_Natural range 0 .. 31) of X_Context_Table_Entry;  
1     type X_Context_Hash_List  is access X_Context_Hash_Table;

* Delete 90..92
1 --/ if Enable_Deallocation then
1     pragma Enable_Deallocation (X_Context_Hash_List);
1 --/ end if;

* Delete 94..95
1     None_X_Context_Hash_Table :
1        constant

* Delete 97
1                 X_Context_Hash_Table := (others => null);

* Delete 99
1     None_X_Context_Hash_List : constant X_Context_Hash_List := null;

* Delete 101
1     procedure Free_X_Context_Hash_List (List : in out X_Context_Hash_List);

* Delete 103
1 end Xlbt_Context_Manager3;  
15:49:58 ::: [end of File_Utilities.Difference].
15:50:00 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:50:00 ... UNITS.PMI_TYPES.XLBT_CURSOR_FONT'SPEC'V(5)", "!X11.X_LIBRARY.
15:50:00 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_CURSOR_FONT'SPEC'V(1)", "", 
15:50:00 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_CURSOR_FONT'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_CURSOR_FONT'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:50:01 ::: [end of File_Utilities.Difference].
15:50:03 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:50:03 ... UNITS.PMI_TYPES.XLBT_CUT_BUFFER'SPEC'V(5)", "!X11.X_LIBRARY.
15:50:03 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_CUT_BUFFER'SPEC'V(1)", "", 
15:50:03 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_CUT_BUFFER'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_CUT_BUFFER'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:50:04 ::: [end of File_Utilities.Difference].
15:50:05 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:50:05 ... UNITS.PMI_TYPES.XLBT_DISPLAY2'SPEC'V(5)", "!X11.X_LIBRARY.
15:50:05 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_DISPLAY2'SPEC'V(1)", "", 
15:50:05 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_DISPLAY2'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_DISPLAY2'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 52
2 
2 ------------------------------------------------------------------------------
2 -- X_Display
2 ------------------------------------------------------------------------------
2 
2     subtype X_Display_Array is D3.X_Display_Array;  
2     subtype X_Display_List  is D3.X_Display_List;
2 
2     None_X_Display_List : X_Display_List renames D3.None_X_Display_List;
2 
2     procedure Free_X_Display_List (List : in out X_Display_List)  
2         renames D3.Free_X_Display_List;
2 
2     function "=" (A, B : X_Display_List) return Boolean renames D3."=";
15:50:07 ::: [end of File_Utilities.Difference].
15:50:09 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:50:09 ... UNITS.PMI_TYPES.XLBT_DISPLAY3'BODY'V(5)", "!X11.X_LIBRARY.
15:50:09 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_DISPLAY3'BODY'V(1)", "", 
15:50:09 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_DISPLAY3'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_DISPLAY3'BODY
* Insert after 0
2 with Unchecked_Deallocation;
2 

* Insert after 2
2 with Xlbt_Basic3;  
2 use Xlbt_Basic3;  
2 with Xlbt_Context_Manager3;  
2 use Xlbt_Context_Manager3;  
2 with Xlbt_Event3;  
2 use Xlbt_Event3;  
2 with Xlbt_Extension3;  
2 use Xlbt_Extension3;  
2 with Xlbt_Extension4;  
2 use Xlbt_Extension4;  
2 with Xlbt_Gc3;  
2 use Xlbt_Gc3;  
2 with Xlbt_Graphics3;  
2 use Xlbt_Graphics3;  
2 with Xlbt_Image;  
2 use Xlbt_Image;  
2 with Xlbt_Key3;  
2 use Xlbt_Key3;  
2 with Xlbt_Proc_Var;  
2 use Xlbt_Proc_Var;  
2 with Xlbt_Request3;  
2 use Xlbt_Request3;  

* Change 4
1 use Xlbt_String;
-----
2 use Xlbt_String;  
2 with Xlbt_Window4;  
2 use Xlbt_Window4;  
2 with Xlbt_Univ_Ptr;  
2 use Xlbt_Univ_Ptr;  
2 with Xlbt_Visual;  
2 use Xlbt_Visual;
2 
2 with Xlbmt_Network_Types;  
2 use Xlbmt_Network_Types;  
2 with Xlbmt_Parameters;  
2 use Xlbmt_Parameters;

* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:50:10 ::: [end of File_Utilities.Difference].
15:50:11 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:50:11 ... UNITS.PMI_TYPES.XLBT_DISPLAY3'SPEC'V(5)", "!X11.X_LIBRARY.
15:50:11 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_DISPLAY3'SPEC'V(1)", "", 
15:50:11 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_DISPLAY3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_DISPLAY3'SPEC
* Delete 7..8
1 with Xlbt_Context_Manager3;  
1 use Xlbt_Context_Manager3;  

* Delete 27..28
1 with Xlbt_Rm;  
1 use Xlbt_Rm;  

* Change 49
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Delete 78..101
1 
1 ------------------------------------------------------------------------------
1 -- X_Display_Atoms - Cached atom values; used for ICCCM interactions.
1 ------------------------------------------------------------------------------
1 
1     type X_Display_Atoms is  
1         record  
1             Text                : X_Atom := None_X_Atom;  
1             Wm_Change_State     : X_Atom := None_X_Atom;  
1             Wm_Colormap_Windows : X_Atom := None_X_Atom;  
1             Wm_Protocols        : X_Atom := None_X_Atom;  
1             Wm_Save_Yourself    : X_Atom := None_X_Atom;  
1             Wm_State            : X_Atom := None_X_Atom;  
1         end record;
1 
1 ------------------------------------------------------------------------------
1 -- X_Display_Flags - Internal flags indicating important state changes
1 ------------------------------------------------------------------------------
1 
1     type X_Display_Flags_Index is  
1        (Xlib_Display_Io_Error,      -- An I/O error occurred on the network
1         Xlib_Display_Closing);      -- The display connection is closing down
1 
1     type X_Display_Flags is array (X_Display_Flags_Index) of Boolean;

* Change 103
1     None_X_Display_Flags : constant X_Display_Flags := (others => False);
-----
2     type X_Display_Array is array (S_Natural range <>) of X_Display;  
2     type X_Display_List  is access X_Display_Array;

* Insert after 134
2 
2 ------------------------------------------------------------------------------
2 -- X_Display_Atoms - Cached atom values; used for ICCCM interactions.
2 ------------------------------------------------------------------------------
2 
2     type X_Display_Atoms is  
2         record  
2             Text                : X_Atom := None_X_Atom;  
2             Wm_Change_State     : X_Atom := None_X_Atom;  
2             Wm_Colormap_Windows : X_Atom := None_X_Atom;  
2             Wm_Protocols        : X_Atom := None_X_Atom;  
2             Wm_Save_Yourself    : X_Atom := None_X_Atom;  
2             Wm_State            : X_Atom := None_X_Atom;  
2         end record;
2 
2 ------------------------------------------------------------------------------
2 -- X_Display_Flags - Internal flags indicating important state changes
2 ------------------------------------------------------------------------------
2 
2     type X_Display_Flags_Index is  
2        (Xlib_Display_Io_Error,      -- An I/O error occurred on the network
2         Xlib_Display_Closing);      -- The display connection is closing down
2 
2     type X_Display_Flags is array (X_Display_Flags_Index) of Boolean;
2 
2     None_X_Display_Flags : constant X_Display_Flags := (others => False);

* Insert after 261
2 --
2     None_X_Event : constant X_Event := (Error_Event, null, 0,  
2                                         False, None_X_Window,  
2                                         (Universal_Pointer_Event,  
2                                          (Error_Event, 0, 0,  
2                                           None_X_Universal_Pointer,  
2                                           None_X_Procedure_Variable)));

* Change 285..292
1 -- Some requests don't go into the output buffer until a dissimilar request
1 -- comes along; one that cannot be merged with the pending request.  This is
1 -- the buffer record for that merging.  The requests wait in this structure
1 -- until a dissimilar request comes along; at that point the request is
1 -- placed into the buffer then then the new request is processed.
1 -- The 32 is a number chosen for no other reason than it is larger than the
1 -- largest of the Poly requests; it guarantees that a Poly request plus the
1 -- queued array of elements will fit within a single buffer.
-----
2 --
2 -- Some requests don't go fully into the output buffer until a dissimilar
2 -- request comes along; one that cannot be merged with the pending request.
2 -- This is the buffer record for that merging.  The requests wait in this
2 -- structure until a dissimilar request comes along; at that point the
2 -- request is placed into the buffer then then the new request is processed.

* Delete 294..302
1 
1     X_Req_Poly_Arc_Limit   : constant S_Natural :=  
1        (X_Output_Buffer_Size - 32) / (X_Arc'Size / 8);  
1     X_Req_Poly_Point_Limit : constant S_Natural :=  
1        (X_Output_Buffer_Size - 32) / (X_Point'Size / 8);  
1     X_Req_Poly_Rect_Limit  : constant S_Natural :=  
1        (X_Output_Buffer_Size - 32) / (X_Rectangle'Size / 8);  
1     X_Req_Poly_Seg_Limit   : constant S_Natural :=  
1        (X_Output_Buffer_Size - 32) / (X_Segment'Size / 8);

* Change 304
1     type X_Last_Request (Kind : X_Request_Code := Invalid_Request) is  
-----
2     type X_Last_Request is

* Delete 306..339
1 
1             Empty : Boolean;-- Indicates record is "empty" or not.
1 
1             case Kind is  
1                 when Invalid_Request =>  
1                     null;   -- Used to indicate no pending mergeable requests.
1 
1                 when Fill_Poly =>  
1                     Fp_Req : X_Fill_Poly_Request;  
1                     Fp_Ary : X_Point_Array (1 .. X_Req_Poly_Point_Limit);
1 
1                 when Poly_Arc =>  
1                     Pa_Req : X_Poly_Arc_Request;  
1                     Pa_Ary : X_Arc_Array (1 .. X_Req_Poly_Arc_Limit);
1 
1                 when Poly_Fill_Arc =>  
1                     Fa_Req : X_Poly_Fill_Arc_Request;  
1                     Fa_Ary : X_Arc_Array (1 .. X_Req_Poly_Arc_Limit);
1 
1                 when Poly_Line =>  
1                     Pl_Req : X_Poly_Line_Request;  
1                     Pl_Ary : X_Point_Array (1 .. X_Req_Poly_Point_Limit);
1 
1                 when Poly_Point =>  
1                     Pp_Req : X_Poly_Point_Request;  
1                     Pp_Ary : X_Point_Array (1 .. X_Req_Poly_Point_Limit);
1 
1                 when Poly_Rectangle =>  
1                     Pr_Req : X_Poly_Rectangle_Request;  
1                     Pr_Ary : X_Rectangle_Array (1 .. X_Req_Poly_Rect_Limit);
1 
1                 when Poly_Fill_Rectangle =>  
1                     Fr_Req : X_Poly_Fill_Rectangle_Request;  
1                     Fr_Ary : X_Rectangle_Array (1 .. X_Req_Poly_Rect_Limit);

* Change 341..343
1                 when Poly_Segment =>  
1                     Ps_Req : X_Poly_Segment_Request;  
1                     Ps_Ary : X_Segment_Array (1 .. X_Req_Poly_Seg_Limit);
-----
2             Kind             : X_Request_Code := Invalid_Request;  
2             Request_Position : X_Raw_Data_Index;
2             Spaces_Left      : S_Natural;

* Change 345..348
1                 when Xr128 .. Xr255 =>
1                     ----Extensions create their own Poly_* type of requests.
1                     Ext_Data  : X_Universal_Pointer;    -- Extension's buffer
1                     Ext_Flush : X_Procedure_Variable;   -- Extension's flush
-----
2             Fill_Poly_Req           : X_Fill_Poly_Request;
2             Poly_Fill_Arc_Req       : X_Poly_Fill_Arc_Request;
2             Poly_Line_Req           : X_Poly_Line_Request;
2             Poly_Point_Req          : X_Poly_Point_Request;
2             Poly_Rectangle_Req      : X_Poly_Rectangle_Request;
2             Poly_Fill_Rectangle_Req : X_Poly_Fill_Rectangle_Request;
2             Poly_Segment_Req        : X_Poly_Segment_Request;

* Change 350..353
1                 when others =>
1                     ----Should not happen.
1                     null;  
1             end case;  
-----
2             ----Extensions create their own Poly_* type of requests.
2             Ext_Data  : X_Universal_Pointer;    -- Extension's request
2             Ext_Flush : X_Procedure_Variable;   -- Extension's flush

* Change 600..604
1             Contexts : X_Context_Hash_List;
1             ----Context/Window pairs; initialized to nulls
1             X_Defaults : X_String_Pointer := None_X_String_Pointer;  
1             Database   : X_Rm_Database;
1             ----Resource database for this display/server
-----
2 --/ if OLD_CONTEXT_MANAGER then
2 --//            Contexts : X_Universal_Pointer := None_X_Universal_Pointer;
2 --//            --  Always a X_Context_Hash_List.  This breaks type recursion.
2 --//            --  Context/Window pairs; initialized to nulls
2 --/ end if;
2             Database : X_Universal_Pointer := None_X_Universal_Pointer;
2             --  Always a X_Rm_Database.  This breaks type recursion.
2             --  Resource database for this display/server
2             X_Defaults : X_String_Pointer := None_X_String_Pointer;

* Change 636..637
1             Last_Request : X_Last_Request :=  
1                (Kind => Invalid_Request, Empty => True);
-----
2             Last_Request : X_Last_Request;

* Change 639..642
1             Poly_Arc_Limit   : U_Short := U_Short (X_Req_Poly_Arc_Limit);  
1             Poly_Point_Limit : U_Short := U_Short (X_Req_Poly_Point_Limit);  
1             Poly_Rect_Limit  : U_Short := U_Short (X_Req_Poly_Rect_Limit);  
1             Poly_Seg_Limit   : U_Short := U_Short (X_Req_Poly_Seg_Limit);
-----
2             Poly_Arc_Limit       : S_Natural;
2             Poly_Point_Limit     : S_Natural;
2             Poly_Rectangle_Limit : S_Natural;
2             Poly_Segment_Limit   : S_Natural;

* Change 697
1     pragma Enable_Deallocation (X_Display);
-----
2     pragma Enable_Deallocation (X_Display);  
2     pragma Enable_Deallocation (X_Display_List);

* Change 700
1     None_X_Display : constant X_Display := null;
-----
2     None_X_Display      : constant X_Display      := null;  
2     None_X_Display_List : constant X_Display_List := null;
2 --
2     procedure Free_X_Display_List is  
2        new Unchecked_Deallocation (X_Display_Array,  
2                                    X_Display_List);

* Insert after 701
2 --
15:50:17 ::: [end of File_Utilities.Difference].
15:50:19 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:50:19 ... UNITS.PMI_TYPES.XLBT_ERROR'SPEC'V(5)", "!X11.X_LIBRARY.
15:50:19 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_ERROR'SPEC'V(1)", "", TRUE, 
15:50:19 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_ERROR'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_ERROR'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:50:21 ::: [end of File_Utilities.Difference].
15:50:22 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:50:22 ... UNITS.PMI_TYPES.XLBT_ERROR3'SPEC'V(5)", "!X11.X_LIBRARY.
15:50:22 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_ERROR3'SPEC'V(1)", "", TRUE,
15:50:22 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_ERROR3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_ERROR3'SPEC
* Change 28
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 202..203
1 --//     for X_Error_With_Atom
1 --//          use
-----
2 --//     for X_Error_With_Atom use

* Change 215..216
1 --//     for X_Error_With_Nothing
1 --//          use
-----
2 --//     for X_Error_With_Nothing use

* Change 228..229
1 --//     for X_Error_With_Resource
1 --//          use
-----
2 --//     for X_Error_With_Resource use

* Change 241..242
1 --//     for X_Error_With_Value
1 --//          use
-----
2 --//     for X_Error_With_Value use
15:50:25 ::: [end of File_Utilities.Difference].
15:50:27 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:50:27 ... UNITS.PMI_TYPES.XLBT_EVENT'SPEC'V(5)", "!X11.X_LIBRARY.
15:50:27 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EVENT'SPEC'V(1)", "", TRUE, 
15:50:27 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_EVENT'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EVENT'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:50:29 ::: [end of File_Utilities.Difference].
15:50:30 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:50:30 ... UNITS.PMI_TYPES.XLBT_EVENT2'SPEC'V(5)", "!X11.X_LIBRARY.
15:50:30 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EVENT2'SPEC'V(1)", "", TRUE,
15:50:30 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_EVENT2'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EVENT2'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Delete 76..81
1     Xelfi0                  : constant Xelfi := E3.Xelfi0;  
1     Xelfi1                  : constant Xelfi := E3.Xelfi1;  
1     Xelfi2                  : constant Xelfi := E3.Xelfi2;  
1     Xelfi3                  : constant Xelfi := E3.Xelfi3;  
1     Xelfi4                  : constant Xelfi := E3.Xelfi4;  
1     Xelfi5                  : constant Xelfi := E3.Xelfi5;  
15:50:33 ::: [end of File_Utilities.Difference].
15:50:35 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:50:35 ... UNITS.PMI_TYPES.XLBT_EVENT3'SPEC'V(5)", "!X11.X_LIBRARY.
15:50:35 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EVENT3'SPEC'V(1)", "", TRUE,
15:50:35 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_EVENT3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EVENT3'SPEC
* Change 34
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 187
1        (Xelfi0, Xelfi1, Xelfi2, Xelfi3, Xelfi4, Xelfi5,   -- Unused
-----
2        (Xelfi7, Xelfi6, Xelfi5, Xelfi4, Xelfi3, Xelfi2,   -- Unused

* Change 209..210
1        constant
1 
-----
2        constant  

* Change 835
1             Window          : X_Window;  
-----
2             Owner           : X_Window;  

* Change 1020..1021
1 --//     for X_Button_Event
1 --//          use
-----
2 --//     for X_Button_Event use

* Change 1039..1040
1 --//     for X_Circulate_Notify_Event
1 --//          use
-----
2 --//     for X_Circulate_Notify_Event use

* Change 1053..1054
1 --//     for X_Circulate_Request_Event
1 --//          use
-----
2 --//     for X_Circulate_Request_Event use

* Change 1067..1068
1 --//     for X_Client_Message_Event
1 --//          use
-----
2 --//     for X_Client_Message_Event use

* Change 1078..1079
1 --//     for X_Colormap_Notify_Event
1 --//          use
-----
2 --//     for X_Colormap_Notify_Event use

* Change 1092..1093
1 --//     for X_Configure_Notify_Event
1 --//          use
-----
2 --//     for X_Configure_Notify_Event use

* Change 1111..1112
1 --//     for X_Configure_Request_Event
1 --//          use
-----
2 --//     for X_Configure_Request_Event use

* Change 1129..1130
1 --//     for X_Create_Notify_Event
1 --//          use
-----
2 --//     for X_Create_Notify_Event use

* Change 1147..1148
1 --//     for X_Destroy_Notify_Event
1 --//          use
-----
2 --//     for X_Destroy_Notify_Event use

* Change 1159..1160
1 --//     for X_Enter_Leave_Event
1 --//          use
-----
2 --//     for X_Enter_Leave_Event use

* Change 1178..1179
1 --//     for X_Expose_Event
1 --//          use
-----
2 --//     for X_Expose_Event use

* Change 1194..1195
1 --//     for X_Focus_Event
1 --//          use
-----
2 --//     for X_Focus_Event use

* Change 1206..1207
1 --//     for X_Graphics_Expose_Event
1 --//          use
-----
2 --//     for X_Graphics_Expose_Event use

* Change 1224..1225
1 --//     for X_Gravity_Notify_Event
1 --//          use
-----
2 --//     for X_Gravity_Notify_Event use

* Change 1238..1239
1 --//     for X_Keymap_Notify_Event
1 --//          use
-----
2 --//     for X_Keymap_Notify_Event use

* Change 1245..1246
1 --//     for X_Key_Event
1 --//          use
-----
2 --//     for X_Key_Event use

* Change 1264..1265
1 --//     for X_Mapping_Notify_Event
1 --//          use
-----
2 --//     for X_Mapping_Notify_Event use

* Change 1277..1278
1 --//     for X_Map_Notify_Event
1 --//          use
-----
2 --//     for X_Map_Notify_Event use

* Change 1290..1291
1 --//     for X_Map_Request_Event
1 --//          use
-----
2 --//     for X_Map_Request_Event use

* Change 1302..1303
1 --//     for X_Motion_Notify_Event
1 --//          use
-----
2 --//     for X_Motion_Notify_Event use

* Change 1321..1322
1 --//     for X_No_Expose_Event
1 --//          use
-----
2 --//     for X_No_Expose_Event use

* Change 1334..1335
1 --//     for X_Property_Notify_Event
1 --//          use
-----
2 --//     for X_Property_Notify_Event use

* Change 1348..1349
1 --//     for X_Reparent_Notify_Event
1 --//          use
-----
2 --//     for X_Reparent_Notify_Event use

* Change 1364..1365
1 --//     for X_Resize_Request_Event
1 --//          use
-----
2 --//     for X_Resize_Request_Event use

* Change 1377..1378
1 --//     for X_Selection_Clear_Event
1 --//          use
-----
2 --//     for X_Selection_Clear_Event use

* Change 1384
1 --//             Window          at 2 * X_Word range X_Word0a .. X_Word0b;
-----
2 --//             Owner           at 2 * X_Word range X_Word0a .. X_Word0b;

* Change 1390..1391
1 --//     for X_Selection_Notify_Event
1 --//          use
-----
2 --//     for X_Selection_Notify_Event use

* Change 1405..1406
1 --//     for X_Selection_Request_Event
1 --//          use
-----
2 --//     for X_Selection_Request_Event use

* Change 1420..1421
1 --//     for X_Unmap_Notify_Event
1 --//          use
-----
2 --//     for X_Unmap_Notify_Event use

* Change 1433..1434
1 --//     for X_Visibility_Notify_Event
1 --//          use
-----
2 --//     for X_Visibility_Notify_Event use
15:50:49 ::: [end of File_Utilities.Difference].
15:50:51 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:50:51 ... UNITS.PMI_TYPES.XLBT_EXCEPTIONS'SPEC'V(5)", "!X11.X_LIBRARY.
15:50:51 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EXCEPTIONS'SPEC'V(1)", "", 
15:50:51 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_EXCEPTIONS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EXCEPTIONS'SPEC
* Change 7
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:50:52 ::: [end of File_Utilities.Difference].
15:50:54 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:50:54 ... UNITS.PMI_TYPES.XLBT_EXTENSION'SPEC'V(5)", "!X11.X_LIBRARY.
15:50:54 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EXTENSION'SPEC'V(1)", "", 
15:50:54 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_EXTENSION'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EXTENSION'SPEC
* Change 11
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:50:55 ::: [end of File_Utilities.Difference].
15:50:57 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:50:57 ... UNITS.PMI_TYPES.XLBT_EXTENSION2'SPEC'V(5)", "!X11.X_LIBRARY.
15:50:57 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EXTENSION2'SPEC'V(1)", "", 
15:50:57 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_EXTENSION2'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EXTENSION2'SPEC
* Change 11
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:50:58 ::: [end of File_Utilities.Difference].
15:51:00 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:51:00 ... UNITS.PMI_TYPES.XLBT_EXTENSION3'BODY'V(5)", "!X11.X_LIBRARY.
15:51:00 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EXTENSION3'BODY'V(1)", "", 
15:51:00 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_EXTENSION3'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EXTENSION3'BODY
* Change 11
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:51:01 ::: [end of File_Utilities.Difference].
15:51:02 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:51:02 ... UNITS.PMI_TYPES.XLBT_EXTENSION3'SPEC'V(5)", "!X11.X_LIBRARY.
15:51:02 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EXTENSION3'SPEC'V(1)", "", 
15:51:02 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_EXTENSION3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EXTENSION3'SPEC
* Change 27
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:51:03 ::: [end of File_Utilities.Difference].
15:51:05 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:51:05 ... UNITS.PMI_TYPES.XLBT_EXTENSION4'BODY'V(5)", "!X11.X_LIBRARY.
15:51:05 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EXTENSION4'BODY'V(1)", "", 
15:51:05 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_EXTENSION4'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EXTENSION4'BODY
* Change 18
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:51:06 ::: [end of File_Utilities.Difference].
15:51:08 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:51:08 ... UNITS.PMI_TYPES.XLBT_EXTENSION4'SPEC'V(5)", "!X11.X_LIBRARY.
15:51:08 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EXTENSION4'SPEC'V(1)", "", 
15:51:08 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_EXTENSION4'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_EXTENSION4'SPEC
* Change 17
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:51:09 ::: [end of File_Utilities.Difference].
15:51:10 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:51:10 ... UNITS.PMI_TYPES.XLBT_FONT'SPEC'V(5)", "!X11.X_LIBRARY.
15:51:10 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_FONT'SPEC'V(1)", "", TRUE, 
15:51:10 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_FONT'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_FONT'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:51:12 ::: [end of File_Utilities.Difference].
15:51:13 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:51:13 ... UNITS.PMI_TYPES.XLBT_FONT2'SPEC'V(5)", "!X11.X_LIBRARY.
15:51:13 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_FONT2'SPEC'V(1)", "", TRUE, 
15:51:13 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_FONT2'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_FONT2'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:51:14 ::: [end of File_Utilities.Difference].
15:51:16 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:51:16 ... UNITS.PMI_TYPES.XLBT_FONT3'BODY'V(5)", "!X11.X_LIBRARY.
15:51:16 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_FONT3'BODY'V(1)", "", TRUE, 
15:51:16 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_FONT3'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_FONT3'BODY
* Change 14
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:51:17 ::: [end of File_Utilities.Difference].
15:51:18 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:51:18 ... UNITS.PMI_TYPES.XLBT_FONT3'SPEC'V(5)", "!X11.X_LIBRARY.
15:51:18 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_FONT3'SPEC'V(1)", "", TRUE, 
15:51:18 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_FONT3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_FONT3'SPEC
* Change 25
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 60..62
1 --//     type X_Per_Char_Flags_Index is
1 --//        (Xpcfi00, Xpcfi01, Xpcfi02, Xpcfi03, Xpcfi04, Xpcfi05, Xpcfi06, Xpcfi07,
1 --//         Xpcfi08, Xpcfi09, Xpcfi10, Xpcfi11, Xpcfi12, Xpcfi13, Xpcfi14, Xpcfi15);
-----
2 --// type X_Per_Char_Flags_Index is
2 --//   (Xpcfi00, Xpcfi01, Xpcfi02, Xpcfi03, Xpcfi04, Xpcfi05, Xpcfi06, Xpcfi07,
2 --//    Xpcfi08, Xpcfi09, Xpcfi10, Xpcfi11, Xpcfi12, Xpcfi13, Xpcfi14, Xpcfi15);

* Change 97..98
1 --//     for X_Char_Struct
1 --//          use
-----
2 --//     for X_Char_Struct use

* Change 165..166
1 --//     for X_Font_Prop
1 --//          use
-----
2 --//     for X_Font_Prop use

* Delete 235..238
1     procedure Free_X_Font_Struct is  
1        new Unchecked_Deallocation (X_Font_Struct_Array,  
1                                    X_Font_Struct_List);
1 
15:51:21 ::: [end of File_Utilities.Difference].
15:51:22 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:51:22 ... UNITS.PMI_TYPES.XLBT_GC'SPEC'V(5)", "!X11.X_LIBRARY.
15:51:22 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_GC'SPEC'V(1)", "", TRUE, 
15:51:22 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_GC'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_GC'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:51:25 ::: [end of File_Utilities.Difference].
15:51:27 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:51:27 ... UNITS.PMI_TYPES.XLBT_GC2'SPEC'V(5)", "!X11.X_LIBRARY.
15:51:27 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_GC2'SPEC'V(1)", "", TRUE, 
15:51:27 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_GC2'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_GC2'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 38
2 
2     subtype X_Gc_Array is G3.X_Gc_Array;  
2     subtype X_Gc_List  is G3.X_Gc_List;
2 
2     None_X_Gc_List : X_Gc_List renames G3.None_X_Gc_List;
15:51:27 ::: [end of File_Utilities.Difference].
15:51:29 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:51:29 ... UNITS.PMI_TYPES.XLBT_GC3'SPEC'V(5)", "!X11.X_LIBRARY.
15:51:29 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_GC3'SPEC'V(1)", "", TRUE, 
15:51:29 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_GC3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_GC3'SPEC
* Change 16
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 335
2 
2     type X_Gc_Array is array (S_Natural range <>) of X_Gc;  
2     type X_Gc_List  is access X_Gc_Array;
2 
2 --/ if Enable_Deallocation then
2     pragma Enable_Deallocation (X_Gc);
2 --/ end if;
2 
2     None_X_Gc_List : constant X_Gc_List := null;
15:51:32 ::: [end of File_Utilities.Difference].
15:51:34 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:51:34 ... UNITS.PMI_TYPES.XLBT_GEOMETRY'SPEC'V(5)", "!X11.X_LIBRARY.
15:51:34 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_GEOMETRY'SPEC'V(1)", "", 
15:51:34 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_GEOMETRY'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_GEOMETRY'SPEC
* Change 7
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 76
1     None_X_Parse_Value : constant X_Parse_Geometry_Flags :=  
-----
2     None_X_Parse_Geometry_Flags : constant X_Parse_Geometry_Flags :=  
15:51:35 ::: [end of File_Utilities.Difference].
15:51:37 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:51:37 ... UNITS.PMI_TYPES.XLBT_GRAB'SPEC'V(5)", "!X11.X_LIBRARY.
15:51:37 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_GRAB'SPEC'V(1)", "", TRUE, 
15:51:37 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_GRAB'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_GRAB'SPEC
* Change 7
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:51:38 ::: [end of File_Utilities.Difference].
15:51:40 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:51:40 ... UNITS.PMI_TYPES.XLBT_GRAPHICS'SPEC'V(5)", "!X11.X_LIBRARY.
15:51:40 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_GRAPHICS'SPEC'V(1)", "", 
15:51:40 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_GRAPHICS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_GRAPHICS'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 45..46
1     function "=" (A, B : X_Arc)      return Boolean renames G3."=";  
1     function "=" (A, B : X_Arc_List) return Boolean renames G3."=";
-----
2     function  "="             (A, B : X_Arc)      return Boolean renames G3."=";  
2     function  "="             (A, B : X_Arc_List) return Boolean renames G3."=";
2     procedure Free_X_Arc_List (List : in out X_Arc_List)
2         renames G3.Free_X_Arc_List;

* Change 76..77
1     function "=" (A, B : X_Point)      return Boolean renames G3."=";  
1     function "=" (A, B : X_Point_List) return Boolean renames G3."=";
-----
2     function  "=" (A, B : X_Point) return Boolean renames G3."=";  
2     function  "=" (A, B : X_Point_List) return Boolean renames G3."=";
2     procedure Free_X_Point_List (List : in out X_Point_List)
2         renames G3.Free_X_Point_List;

* Change 98
1 -- X_RRectangle
-----
2 -- X_Rectangle

* Change 108..109
1     function "=" (A, B : X_Rectangle)      return Boolean renames G3."=";  
1     function "=" (A, B : X_Rectangle_List) return Boolean renames G3."=";
-----
2     function  "=" (A, B : X_Rectangle) return Boolean renames G3."=";  
2     function  "=" (A, B : X_Rectangle_List) return Boolean renames G3."=";
2     procedure Free_X_Rectangle_List (List : in out X_Rectangle_List)
2         renames G3.Free_X_Rectangle_List;

* Insert after 123
2 
2     procedure Free_X_Segment_List (List : in out X_Segment_List)
2         renames G3.Free_X_Segment_List;
15:51:42 ::: [end of File_Utilities.Difference].
15:51:43 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:51:43 ... UNITS.PMI_TYPES.XLBT_GRAPHICS3'SPEC'V(5)", "!X11.X_LIBRARY.
15:51:43 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_GRAPHICS3'SPEC'V(1)", "", 
15:51:43 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_GRAPHICS3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_GRAPHICS3'SPEC
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:51:45 ::: [end of File_Utilities.Difference].
15:51:47 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:51:47 ... UNITS.PMI_TYPES.XLBT_HINT'SPEC'V(5)", "!X11.X_LIBRARY.
15:51:47 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_HINT'SPEC'V(1)", "", TRUE, 
15:51:47 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_HINT'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_HINT'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:51:51 ::: [end of File_Utilities.Difference].
15:51:55 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:51:55 ... UNITS.PMI_TYPES.XLBT_HINT3'BODY'V(5)", "!X11.X_LIBRARY.
15:51:55 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_HINT3'BODY'V(1)", "", TRUE, 
15:51:55 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_HINT3'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_HINT3'BODY
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:51:58 ::: [end of File_Utilities.Difference].
15:52:01 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:52:01 ... UNITS.PMI_TYPES.XLBT_HINT3'SPEC'V(5)", "!X11.X_LIBRARY.
15:52:01 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_HINT3'SPEC'V(1)", "", TRUE, 
15:52:01 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_HINT3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_HINT3'SPEC
* Change 11..12
1 with Xlbt_Window;  
1 use Xlbt_Window;
-----
2 with Xlbt_Window4;  
2 use Xlbt_Window4;

* Change 25
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 85..86
1 --//     for X_Icon_Size
1 --//          use
-----
2 --//     for X_Icon_Size use

* Change 201..202
1 --//     for Aspect_Record
1 --//          use
-----
2 --//     for Aspect_Record use

* Change 260..261
1 --//     for X_Standard_Colormap
1 --//          use
-----
2 --//     for X_Standard_Colormap use

* Change 389
1             Window_Group : X_Id := None_X_Id;
-----
2             Window_Group : X_Window := None_X_Window;

* Change 399..400
1 --//     for X_Wm_Hints
1 --//          use
-----
2 --//     for X_Wm_Hints use

* Change 417
1         None_X_Pixmap, None_X_Window, 0, 0, None_X_Pixmap, None_X_Id);
-----
2         None_X_Pixmap, None_X_Window, 0, 0, None_X_Pixmap, None_X_Window);
15:52:08 ::: [end of File_Utilities.Difference].
15:52:10 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:52:10 ... UNITS.PMI_TYPES.XLBT_HOST'SPEC'V(5)", "!X11.X_LIBRARY.
15:52:10 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_HOST'SPEC'V(1)", "", TRUE, 
15:52:10 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_HOST'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_HOST'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:52:11 ::: [end of File_Utilities.Difference].
15:52:13 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:52:13 ... UNITS.PMI_TYPES.XLBT_HOST3'BODY'V(5)", "!X11.X_LIBRARY.
15:52:13 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_HOST3'BODY'V(1)", "", TRUE, 
15:52:13 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_HOST3'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_HOST3'BODY
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:52:14 ::: [end of File_Utilities.Difference].
15:52:15 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:52:15 ... UNITS.PMI_TYPES.XLBT_HOST3'SPEC'V(5)", "!X11.X_LIBRARY.
15:52:15 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_HOST3'SPEC'V(1)", "", TRUE, 
15:52:15 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_HOST3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_HOST3'SPEC
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 106
1     type X_Host_Address_Array is array (S_Natural range <>) of X_Host_Address;  
-----
2     type X_Host_Address_Array is array (S_Positive range <>) of X_Host_Address;  
15:52:16 ::: [end of File_Utilities.Difference].
15:52:18 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:52:18 ... UNITS.PMI_TYPES.XLBT_IMAGE'SPEC'V(5)", "!X11.X_LIBRARY.
15:52:18 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_IMAGE'SPEC'V(1)", "", TRUE, 
15:52:18 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_IMAGE'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_IMAGE'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:52:19 ::: [end of File_Utilities.Difference].
15:52:20 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:52:20 ... UNITS.PMI_TYPES.XLBT_IMAGE2'SPEC'V(5)", "!X11.X_LIBRARY.
15:52:20 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_IMAGE2'SPEC'V(1)", "", TRUE,
15:52:20 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_IMAGE2'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_IMAGE2'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:52:21 ::: [end of File_Utilities.Difference].
15:52:23 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:52:23 ... UNITS.PMI_TYPES.XLBT_IMAGE3'BODY'V(5)", "!X11.X_LIBRARY.
15:52:23 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_IMAGE3'BODY'V(1)", "", TRUE,
15:52:23 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_IMAGE3'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_IMAGE3'BODY
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:52:24 ::: [end of File_Utilities.Difference].
15:52:25 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:52:25 ... UNITS.PMI_TYPES.XLBT_IMAGE3'SPEC'V(5)", "!X11.X_LIBRARY.
15:52:25 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_IMAGE3'SPEC'V(1)", "", TRUE,
15:52:25 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_IMAGE3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_IMAGE3'SPEC
* Change 16
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 93..94
1        constant
1 
-----
2        constant  
15:52:26 ::: [end of File_Utilities.Difference].
15:52:28 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:52:28 ... UNITS.PMI_TYPES.XLBT_INPUT_FOCUS'SPEC'V(5)", "!X11.X_LIBRARY.
15:52:28 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_INPUT_FOCUS'SPEC'V(1)", "", 
15:52:28 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_INPUT_FOCUS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_INPUT_FOCUS'SPEC
* Change 7
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:52:28 ::: [end of File_Utilities.Difference].
15:52:30 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:52:30 ... UNITS.PMI_TYPES.XLBT_KEY'SPEC'V(5)", "!X11.X_LIBRARY.
15:52:30 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY'SPEC'V(1)", "", TRUE, 
15:52:30 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:52:32 ::: [end of File_Utilities.Difference].
15:52:34 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:52:34 ... UNITS.PMI_TYPES.XLBT_KEY2'SPEC'V(5)", "!X11.X_LIBRARY.
15:52:34 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY2'SPEC'V(1)", "", TRUE, 
15:52:34 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY2'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY2'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:52:35 ::: [end of File_Utilities.Difference].
15:52:37 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:52:37 ... UNITS.PMI_TYPES.XLBT_KEY3'BODY'V(5)", "!X11.X_LIBRARY.
15:52:37 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY3'BODY'V(1)", "", TRUE, 
15:52:37 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY3'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY3'BODY
* Change 13
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:52:38 ::: [end of File_Utilities.Difference].
15:52:40 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:52:40 ... UNITS.PMI_TYPES.XLBT_KEY3'SPEC'V(5)", "!X11.X_LIBRARY.
15:52:40 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY3'SPEC'V(1)", "", TRUE, 
15:52:40 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY3'SPEC
* Change 15
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:52:42 ::: [end of File_Utilities.Difference].
15:52:44 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:52:44 ... UNITS.PMI_TYPES.XLBT_KEYBOARD'SPEC'V(5)", "!X11.X_LIBRARY.
15:52:44 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEYBOARD'SPEC'V(1)", "", 
15:52:44 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEYBOARD'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEYBOARD'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:52:46 ::: [end of File_Utilities.Difference].
15:52:48 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:52:48 ... UNITS.PMI_TYPES.XLBT_KEYBOARD3'SPEC'V(5)", "!X11.X_LIBRARY.
15:52:48 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEYBOARD3'SPEC'V(1)", "", 
15:52:48 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEYBOARD3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEYBOARD3'SPEC
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 80..81
1        constant
1 
-----
2        constant  
15:52:50 ::: [end of File_Utilities.Difference].
15:52:51 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:52:51 ... UNITS.PMI_TYPES.XLBT_KEY_DEFS'SPEC'V(5)", "!X11.X_LIBRARY.
15:52:51 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS'SPEC'V(1)", "", 
15:52:51 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS'SPEC
* Change 24
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:52:52 ::: [end of File_Utilities.Difference].
15:52:54 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:52:54 ... UNITS.PMI_TYPES.XLBT_KEY_DEFS_APL'SPEC'V(5)", "!X11.X_LIBRARY.
15:52:54 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_APL'SPEC'V(1)", "",
15:52:54 ...  TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_APL'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_APL'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:52:55 ::: [end of File_Utilities.Difference].
15:52:56 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:52:56 ... UNITS.PMI_TYPES.XLBT_KEY_DEFS_ARABIC'SPEC'V(5)", "!X11.X_LIBRARY.
15:52:57 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_ARABIC'SPEC'V(1)", 
15:52:57 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_ARABIC'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_ARABIC'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:52:58 ::: [end of File_Utilities.Difference].
15:53:00 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:53:00 ... UNITS.PMI_TYPES.XLBT_KEY_DEFS_CYRILLIC'SPEC'V(5)", "!X11.
15:53:00 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.
15:53:00 ... XLBT_KEY_DEFS_CYRILLIC'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_CYRILLIC'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_CYRILLIC'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:53:01 ::: [end of File_Utilities.Difference].
15:53:03 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:53:03 ... UNITS.PMI_TYPES.XLBT_KEY_DEFS_GREEK'SPEC'V(5)", "!X11.X_LIBRARY.
15:53:03 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_GREEK'SPEC'V(1)", 
15:53:03 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_GREEK'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_GREEK'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:53:05 ::: [end of File_Utilities.Difference].
15:53:07 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:53:07 ... UNITS.PMI_TYPES.XLBT_KEY_DEFS_HEBREW'SPEC'V(5)", "!X11.X_LIBRARY.
15:53:07 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_HEBREW'SPEC'V(1)", 
15:53:07 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_HEBREW'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_HEBREW'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:53:31 ::: [end of File_Utilities.Difference].
15:53:35 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:53:35 ... UNITS.PMI_TYPES.XLBT_KEY_DEFS_KATAKANA'SPEC'V(5)", "!X11.
15:53:35 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.
15:53:35 ... XLBT_KEY_DEFS_KATAKANA'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_KATAKANA'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_KATAKANA'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:53:37 ::: [end of File_Utilities.Difference].
15:53:39 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:53:39 ... UNITS.PMI_TYPES.XLBT_KEY_DEFS_LATIN1'SPEC'V(5)", "!X11.X_LIBRARY.
15:53:39 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_LATIN1'SPEC'V(1)", 
15:53:39 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_LATIN1'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_LATIN1'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:53:45 ::: [end of File_Utilities.Difference].
15:53:51 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:53:51 ... UNITS.PMI_TYPES.XLBT_KEY_DEFS_LATIN2'SPEC'V(5)", "!X11.X_LIBRARY.
15:53:51 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_LATIN2'SPEC'V(1)", 
15:53:51 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_LATIN2'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_LATIN2'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:53:56 ::: [end of File_Utilities.Difference].
15:53:58 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:53:58 ... UNITS.PMI_TYPES.XLBT_KEY_DEFS_LATIN3'SPEC'V(5)", "!X11.X_LIBRARY.
15:53:58 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_LATIN3'SPEC'V(1)", 
15:53:58 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_LATIN3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_LATIN3'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:53:59 ::: [end of File_Utilities.Difference].
15:54:01 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:54:01 ... UNITS.PMI_TYPES.XLBT_KEY_DEFS_LATIN4'SPEC'V(5)", "!X11.X_LIBRARY.
15:54:01 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_LATIN4'SPEC'V(1)", 
15:54:01 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_LATIN4'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_LATIN4'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:54:02 ::: [end of File_Utilities.Difference].
15:54:04 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:54:04 ... UNITS.PMI_TYPES.XLBT_KEY_DEFS_MISC'SPEC'V(5)", "!X11.X_LIBRARY.
15:54:04 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_MISC'SPEC'V(1)", 
15:54:04 ... "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_MISC'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_MISC'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:54:06 ::: [end of File_Utilities.Difference].
15:54:08 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:54:08 ... UNITS.PMI_TYPES.XLBT_KEY_DEFS_PUBLISHING'SPEC'V(5)", "!X11.
15:54:08 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.
15:54:08 ... XLBT_KEY_DEFS_PUBLISHING'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_PUBLISHING'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_PUBLISHING'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:54:09 ::: [end of File_Utilities.Difference].
15:54:11 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:54:11 ... UNITS.PMI_TYPES.XLBT_KEY_DEFS_SPECIAL'SPEC'V(5)", "!X11.X_LIBRARY.
15:54:11 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_SPECIAL'SPEC'V(1)",
15:54:11 ...  "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_SPECIAL'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_SPECIAL'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:54:12 ::: [end of File_Utilities.Difference].
15:54:14 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:54:14 ... UNITS.PMI_TYPES.XLBT_KEY_DEFS_TECHNICAL'SPEC'V(5)", "!X11.
15:54:14 ... X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.
15:54:14 ... XLBT_KEY_DEFS_TECHNICAL'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_TECHNICAL'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_KEY_DEFS_TECHNICAL'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:54:16 ::: [end of File_Utilities.Difference].
15:54:18 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:54:18 ... UNITS.PMI_TYPES.XLBT_MISC'BODY'V(5)", "!X11.X_LIBRARY.
15:54:18 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_MISC'BODY'V(1)", "", TRUE, 
15:54:18 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_MISC'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_MISC'BODY
* Change 13
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:54:20 ::: [end of File_Utilities.Difference].
15:54:21 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:54:21 ... UNITS.PMI_TYPES.XLBT_MISC'SPEC'V(5)", "!X11.X_LIBRARY.
15:54:21 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_MISC'SPEC'V(1)", "", TRUE, 
15:54:21 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_MISC'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_MISC'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:54:23 ::: [end of File_Utilities.Difference].
15:54:24 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:54:24 ... UNITS.PMI_TYPES.XLBT_POINTER'SPEC'V(5)", "!X11.X_LIBRARY.
15:54:24 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_POINTER'SPEC'V(1)", "", 
15:54:24 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_POINTER'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_POINTER'SPEC
* Change 19
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 79..80
1 --//     for X_Time_Coord
1 --//          use
-----
2 --//     for X_Time_Coord use
15:54:25 ::: [end of File_Utilities.Difference].
15:54:27 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:54:27 ... UNITS.PMI_TYPES.XLBT_REGION'SPEC'V(5)", "!X11.X_LIBRARY.
15:54:27 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_REGION'SPEC'V(1)", "", TRUE,
15:54:27 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_REGION'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_REGION'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:54:28 ::: [end of File_Utilities.Difference].
15:54:30 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:54:30 ... UNITS.PMI_TYPES.XLBT_REGION2'SPEC'V(5)", "!X11.X_LIBRARY.
15:54:30 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_REGION2'SPEC'V(1)", "", 
15:54:30 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_REGION2'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_REGION2'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:54:31 ::: [end of File_Utilities.Difference].
15:54:32 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:54:32 ... UNITS.PMI_TYPES.XLBT_REGION3'BODY'V(5)", "!X11.X_LIBRARY.
15:54:32 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_REGION3'BODY'V(1)", "", 
15:54:32 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_REGION3'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_REGION3'BODY
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:54:33 ::: [end of File_Utilities.Difference].
15:54:35 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:54:35 ... UNITS.PMI_TYPES.XLBT_REGION3'SPEC'V(5)", "!X11.X_LIBRARY.
15:54:35 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_REGION3'SPEC'V(1)", "", 
15:54:35 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_REGION3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_REGION3'SPEC
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:54:36 ::: [end of File_Utilities.Difference].
15:54:38 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:54:38 ... UNITS.PMI_TYPES.XLBT_REPLY'SPEC'V(5)", "!X11.X_LIBRARY.
15:54:38 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_REPLY'SPEC'V(1)", "", TRUE, 
15:54:38 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_REPLY'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_REPLY'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:54:39 ::: [end of File_Utilities.Difference].
15:54:41 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:54:41 ... UNITS.PMI_TYPES.XLBT_REPLY3'SPEC'V(5)", "!X11.X_LIBRARY.
15:54:41 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_REPLY3'SPEC'V(1)", "", TRUE,
15:54:41 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_REPLY3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_REPLY3'SPEC
* Change 50
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 1166..1167
1 --//     for X_Alloc_Color_Reply
1 --//          use
-----
2 --//     for X_Alloc_Color_Reply use

* Change 1183..1184
1 --//     for X_Alloc_Color_Cells_Reply
1 --//          use
-----
2 --//     for X_Alloc_Color_Cells_Reply use

* Change 1199..1200
1 --//     for X_Alloc_Color_Planes_Reply
1 --//          use
-----
2 --//     for X_Alloc_Color_Planes_Reply use

* Change 1215..1216
1 --//     for X_Alloc_Named_Color_Reply
1 --//          use
-----
2 --//     for X_Alloc_Named_Color_Reply use

* Change 1233..1234
1 --//     for X_Get_Atom_Name_Reply
1 --//          use
-----
2 --//     for X_Get_Atom_Name_Reply use

* Change 1249..1250
1 --//     for X_Get_Font_Path_Reply
1 --//          use
-----
2 --//     for X_Get_Font_Path_Reply use

* Change 1265..1266
1 --//     for X_Get_Geometry_Reply
1 --//          use
-----
2 --//     for X_Get_Geometry_Reply use

* Change 1283..1284
1 --//     for X_Get_Image_Reply
1 --//          use
-----
2 --//     for X_Get_Image_Reply use

* Change 1298..1299
1 --//     for X_Get_Input_Focus_Reply
1 --//          use
-----
2 --//     for X_Get_Input_Focus_Reply use

* Change 1313..1314
1 --//     for X_Get_Keyboard_Control_Reply
1 --//          use
-----
2 --//     for X_Get_Keyboard_Control_Reply use

* Change 1329..1330
1 --//     for X_Get_Keyboard_Mapping_Reply
1 --//          use
-----
2 --//     for X_Get_Keyboard_Mapping_Reply use

* Change 1344..1345
1 --//     for X_Get_Modifier_Mapping_Reply
1 --//          use
-----
2 --//     for X_Get_Modifier_Mapping_Reply use

* Change 1359..1360
1 --//     for X_Get_Motion_Events_Reply
1 --//          use
-----
2 --//     for X_Get_Motion_Events_Reply use

* Change 1374..1375
1 --//     for X_Get_Pointer_Control_Reply
1 --//          use
-----
2 --//     for X_Get_Pointer_Control_Reply use

* Change 1391..1392
1 --//     for X_Get_Pointer_Mapping_Reply
1 --//          use
-----
2 --//     for X_Get_Pointer_Mapping_Reply use

* Change 1406..1407
1 --//     for X_Get_Property_Reply
1 --//          use
-----
2 --//     for X_Get_Property_Reply use

* Change 1421..1422
1 --//     for X_Get_Screen_Saver_Reply
1 --//          use
-----
2 --//     for X_Get_Screen_Saver_Reply use

* Change 1439..1440
1 --//     for X_Get_Selection_Owner_Reply
1 --//          use
-----
2 --//     for X_Get_Selection_Owner_Reply use

* Change 1454..1455
1 --//     for X_Get_Window_Attributes_Reply
1 --//          use
-----
2 --//     for X_Get_Window_Attributes_Reply use

* Change 1478..1479
1 --//     for X_Grab_Keyboard_Reply
1 --//          use
-----
2 --//     for X_Grab_Keyboard_Reply use

* Change 1493..1494
1 --//     for X_Grab_Pointer_Reply
1 --//          use
-----
2 --//     for X_Grab_Pointer_Reply use

* Change 1508..1509
1 --//     for X_Intern_Atom_Reply
1 --//          use
-----
2 --//     for X_Intern_Atom_Reply use

* Change 1523..1524
1 --//     for X_List_Extensions_Reply
1 --//          use
-----
2 --//     for X_List_Extensions_Reply use

* Change 1538..1539
1 --//     for X_List_Fonts_Reply
1 --//          use
-----
2 --//     for X_List_Fonts_Reply use

* Change 1554..1555
1 --//     for X_List_Fonts_With_Info_Reply
1 --//          use
-----
2 --//     for X_List_Fonts_With_Info_Reply use

* Change 1579..1580
1 --//     for X_List_Hosts_Reply
1 --//          use
-----
2 --//     for X_List_Hosts_Reply use

* Change 1595..1596
1 --//     for X_Wire_Host_Reply
1 --//          use
-----
2 --//     for X_Wire_Host_Reply use

* Change 1603..1604
1 --//     for X_List_Installed_Colormaps_Reply
1 --//          use
-----
2 --//     for X_List_Installed_Colormaps_Reply use

* Change 1619..1620
1 --//     for X_List_Properties_Reply
1 --//          use
-----
2 --//     for X_List_Properties_Reply use

* Change 1635..1636
1 --//     for X_Lookup_Color_Reply
1 --//          use
-----
2 --//     for X_Lookup_Color_Reply use

* Change 1653..1654
1 --//     for X_Query_Best_Size_Reply
1 --//          use
-----
2 --//     for X_Query_Best_Size_Reply use

* Change 1669..1670
1 --//     for X_Query_Colors_Reply
1 --//          use
-----
2 --//     for X_Query_Colors_Reply use

* Change 1685..1686
1 --//     for X_Rgb
1 --//          use
-----
2 --//     for X_Rgb use

* Change 1694..1695
1 --//     for X_Query_Extension_Reply
1 --//          use
-----
2 --//     for X_Query_Extension_Reply use

* Change 1712..1713
1 --//     for X_Query_Font_Reply
1 --//          use
-----
2 --//     for X_Query_Font_Reply use

* Change 1737..1738
1 --//     for X_Query_Keymap_Reply
1 --//          use
-----
2 --//     for X_Query_Keymap_Reply use

* Change 1747..1748
1 --//     for X_Query_Pointer_Reply
1 --//          use
-----
2 --//     for X_Query_Pointer_Reply use

* Change 1765..1766
1 --//     for X_Query_Text_Extents_Reply
1 --//          use
-----
2 --//     for X_Query_Text_Extents_Reply use

* Change 1782..1783
1 --//     for X_Query_Tree_Reply
1 --//          use
-----
2 --//     for X_Query_Tree_Reply use

* Change 1798..1799
1 --//     for X_Set_Modifier_Mapping_Reply
1 --//          use
-----
2 --//     for X_Set_Modifier_Mapping_Reply use

* Change 1813..1814
1 --//     for X_Set_Pointer_Mapping_Reply
1 --//          use
-----
2 --//     for X_Set_Pointer_Mapping_Reply use

* Change 1828..1829
1 --//     for X_Translate_Coords_Reply
1 --//          use
-----
2 --//     for X_Translate_Coords_Reply use
15:55:08 ::: [end of File_Utilities.Difference].
15:55:09 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:55:09 ... UNITS.PMI_TYPES.XLBT_REQUEST'SPEC'V(5)", "!X11.X_LIBRARY.
15:55:09 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_REQUEST'SPEC'V(1)", "", 
15:55:09 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_REQUEST'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_REQUEST'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:55:13 ::: [end of File_Utilities.Difference].
15:55:15 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:55:15 ... UNITS.PMI_TYPES.XLBT_REQUEST3'SPEC'V(5)", "!X11.X_LIBRARY.
15:55:15 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_REQUEST3'SPEC'V(1)", "", 
15:55:15 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_REQUEST3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_REQUEST3'SPEC
* Change 45
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 2011..2012
1 --//     for X_Alloc_Color_Request
1 --//          use
-----
2 --//     for X_Alloc_Color_Request use

* Change 2024..2025
1 --//     for X_Alloc_Color_Cells_Request
1 --//          use
-----
2 --//     for X_Alloc_Color_Cells_Request use

* Change 2035..2036
1 --//     for X_Alloc_Color_Planes_Request
1 --//          use
-----
2 --//     for X_Alloc_Color_Planes_Request use

* Change 2048..2049
1 --//     for X_Alloc_Named_Color_Request
1 --//          use
-----
2 --//     for X_Alloc_Named_Color_Request use

* Change 2060..2061
1 --//     for X_Allow_Events_Request
1 --//          use
-----
2 --//     for X_Allow_Events_Request use

* Change 2069..2070
1 --//     for X_Bell_Request
1 --//          use
-----
2 --//     for X_Bell_Request use

* Change 2077..2078
1 --//     for X_Change_Active_Pointer_Grab_Request
1 --//          use
-----
2 --//     for X_Change_Active_Pointer_Grab_Request use

* Change 2088..2089
1 --//     for X_Change_Gc_Request
1 --//          use
-----
2 --//     for X_Change_Gc_Request use

* Change 2098..2099
1 --//     for X_Change_Hosts_Request
1 --//          use
-----
2 --//     for X_Change_Hosts_Request use

* Change 2109..2110
1 --//     for X_Change_Keyboard_Control_Request
1 --//          use
-----
2 --//     for X_Change_Keyboard_Control_Request use

* Change 2118..2119
1 --//     for X_Change_Keyboard_Mapping_Request
1 --//          use
-----
2 --//     for X_Change_Keyboard_Mapping_Request use

* Change 2129..2130
1 --//     for X_Change_Pointer_Control_Request
1 --//          use
-----
2 --//     for X_Change_Pointer_Control_Request use

* Change 2142..2143
1 --//     for X_Change_Property_Request
1 --//          use
-----
2 --//     for X_Change_Property_Request use

* Change 2158..2159
1 --//     for X_Change_Save_Set_Request
1 --//          use
-----
2 --//     for X_Change_Save_Set_Request use

* Change 2167..2168
1 --//     for X_Change_Window_Attributes_Request
1 --//          use
-----
2 --//     for X_Change_Window_Attributes_Request use

* Change 2177..2178
1 --//     for X_Circulate_Window_Request
1 --//          use
-----
2 --//     for X_Circulate_Window_Request use

* Change 2186..2187
1 --//     for X_Clear_Area_Request
1 --//          use
-----
2 --//     for X_Clear_Area_Request use

* Change 2199..2200
1 --//     for X_Close_Font_Request
1 --//          use
-----
2 --//     for X_Close_Font_Request use

* Change 2208..2209
1 --//     for X_Configure_Window_Request
1 --//          use
-----
2 --//     for X_Configure_Window_Request use

* Change 2219..2220
1 --//     for X_Convert_Selection_Request
1 --//          use
-----
2 --//     for X_Convert_Selection_Request use

* Change 2232..2233
1 --//     for X_Copy_Area_Request
1 --//          use
-----
2 --//     for X_Copy_Area_Request use

* Change 2249..2250
1 --//     for X_Copy_Colormap_And_Free_Request
1 --//          use
-----
2 --//     for X_Copy_Colormap_And_Free_Request use

* Change 2259..2260
1 --//     for X_Copy_Gc_Request
1 --//          use
-----
2 --//     for X_Copy_Gc_Request use

* Change 2270..2271
1 --//     for X_Copy_Plane_Request
1 --//          use
-----
2 --//     for X_Copy_Plane_Request use

* Change 2288..2289
1 --//     for X_Create_Colormap_Request
1 --//          use
-----
2 --//     for X_Create_Colormap_Request use

* Change 2299..2300
1 --//     for X_Create_Cursor_Request
1 --//          use
-----
2 --//     for X_Create_Cursor_Request use

* Change 2318..2319
1 --//     for X_Create_Gc_Request
1 --//          use
-----
2 --//     for X_Create_Gc_Request use

* Change 2330..2331
1 --//     for X_Create_Glyph_Cursor_Request
1 --//          use
-----
2 --//     for X_Create_Glyph_Cursor_Request use

* Change 2349..2350
1 --//     for X_Create_Pixmap_Request
1 --//          use
-----
2 --//     for X_Create_Pixmap_Request use

* Change 2361..2362
1 --//     for X_Create_Window_Request
1 --//          use
-----
2 --//     for X_Create_Window_Request use

* Change 2379..2380
1 --//     for X_Delete_Property_Request
1 --//          use
-----
2 --//     for X_Delete_Property_Request use

* Change 2389..2390
1 --//     for X_Destroy_Subwindows_Request
1 --//          use
-----
2 --//     for X_Destroy_Subwindows_Request use

* Change 2398..2399
1 --//     for X_Destroy_Window_Request
1 --//          use
-----
2 --//     for X_Destroy_Window_Request use

* Change 2407..2408
1 --//     for X_Fill_Poly_Request
1 --//          use
-----
2 --//     for X_Fill_Poly_Request use

* Change 2420..2421
1 --//     for X_Force_Screen_Saver_Request
1 --//          use
-----
2 --//     for X_Force_Screen_Saver_Request use

* Change 2428..2429
1 --//     for X_Free_Colormap_Request
1 --//          use
-----
2 --//     for X_Free_Colormap_Request use

* Change 2437..2438
1 --//     for X_Free_Colors_Request
1 --//          use
-----
2 --//     for X_Free_Colors_Request use

* Change 2447..2448
1 --//     for X_Free_Cursor_Request
1 --//          use
-----
2 --//     for X_Free_Cursor_Request use

* Change 2456..2457
1 --//     for X_Free_Gc_Request
1 --//          use
-----
2 --//     for X_Free_Gc_Request use

* Change 2465..2466
1 --//     for X_Free_Pixmap_Request
1 --//          use
-----
2 --//     for X_Free_Pixmap_Request use

* Change 2474..2475
1 --//     for X_Get_Atom_Name_Request
1 --//          use
-----
2 --//     for X_Get_Atom_Name_Request use

* Change 2483..2484
1 --//     for X_Get_Font_Path_Request
1 --//          use
-----
2 --//     for X_Get_Font_Path_Request use

* Change 2491..2492
1 --//     for X_Get_Geometry_Request
1 --//          use
-----
2 --//     for X_Get_Geometry_Request use

* Change 2500..2501
1 --//     for X_Get_Image_Request
1 --//          use
-----
2 --//     for X_Get_Image_Request use

* Change 2514..2515
1 --//     for X_Get_Input_Focus_Request
1 --//          use
-----
2 --//     for X_Get_Input_Focus_Request use

* Change 2522..2523
1 --//     for X_Get_Keyboard_Control_Request
1 --//          use
-----
2 --//     for X_Get_Keyboard_Control_Request use

* Change 2530..2531
1 --//     for X_Get_Keyboard_Mapping_Request
1 --//          use
-----
2 --//     for X_Get_Keyboard_Mapping_Request use

* Change 2541..2542
1 --//     for X_Get_Modifier_Mapping_Request
1 --//          use
-----
2 --//     for X_Get_Modifier_Mapping_Request use

* Change 2549..2550
1 --//     for X_Get_Motion_Events_Request
1 --//          use
-----
2 --//     for X_Get_Motion_Events_Request use

* Change 2560..2561
1 --//     for X_Get_Pointer_Control_Request
1 --//          use
-----
2 --//     for X_Get_Pointer_Control_Request use

* Change 2568..2569
1 --//     for X_Get_Pointer_Mapping_Request
1 --//          use
-----
2 --//     for X_Get_Pointer_Mapping_Request use

* Change 2576..2577
1 --//     for X_Get_Property_Request
1 --//          use
-----
2 --//     for X_Get_Property_Request use

* Change 2589..2590
1 --//     for X_Get_Screen_Saver_Request
1 --//          use
-----
2 --//     for X_Get_Screen_Saver_Request use

* Change 2597..2598
1 --//     for X_Get_Selection_Owner_Request
1 --//          use
-----
2 --//     for X_Get_Selection_Owner_Request use

* Change 2606..2607
1 --//     for X_Get_Window_Attributes_Request
1 --//          use
-----
2 --//     for X_Get_Window_Attributes_Request use

* Change 2615..2616
1 --//     for X_Grab_Button_Request
1 --//          use
-----
2 --//     for X_Grab_Button_Request use

* Change 2632..2633
1 --//     for X_Grab_Key_Request
1 --//          use
-----
2 --//     for X_Grab_Key_Request use

* Change 2648..2649
1 --//     for X_Grab_Keyboard_Request
1 --//          use
-----
2 --//     for X_Grab_Keyboard_Request use

* Change 2661..2662
1 --//     for X_Grab_Pointer_Request
1 --//          use
-----
2 --//     for X_Grab_Pointer_Request use

* Change 2676..2677
1 --//     for X_Grab_Server_Request
1 --//          use
-----
2 --//     for X_Grab_Server_Request use

* Change 2684..2685
1 --//     for X_Image_Text16_Request
1 --//          use
-----
2 --//     for X_Image_Text16_Request use

* Change 2696..2697
1 --//     for X_Image_Text8_Request
1 --//          use
-----
2 --//     for X_Image_Text8_Request use

* Change 2708..2709
1 --//     for X_Install_Colormap_Request
1 --//          use
-----
2 --//     for X_Install_Colormap_Request use

* Change 2717..2718
1 --//     for X_Intern_Atom_Request
1 --//          use
-----
2 --//     for X_Intern_Atom_Request use

* Change 2727..2728
1 --//     for X_Kill_Client_Request
1 --//          use
-----
2 --//     for X_Kill_Client_Request use

* Change 2736..2737
1 --//     for X_List_Extensions_Request
1 --//          use
-----
2 --//     for X_List_Extensions_Request use

* Change 2744..2745
1 --//     for X_List_Fonts_Request
1 --//          use
-----
2 --//     for X_List_Fonts_Request use

* Change 2754..2755
1 --//     for X_List_Fonts_With_Info_Request
1 --//          use
-----
2 --//     for X_List_Fonts_With_Info_Request use

* Change 2764..2765
1 --//     for X_List_Hosts_Request
1 --//          use
-----
2 --//     for X_List_Hosts_Request use

* Change 2772..2773
1 --//     for X_List_Installed_Colormaps_Request
1 --//          use
-----
2 --//     for X_List_Installed_Colormaps_Request use

* Change 2781..2782
1 --//     for X_List_Properties_Request
1 --//          use
-----
2 --//     for X_List_Properties_Request use

* Change 2790..2791
1 --//     for X_Lookup_Color_Request
1 --//          use
-----
2 --//     for X_Lookup_Color_Request use

* Change 2802..2803
1 --//     for X_Map_Subwindows_Request
1 --//          use
-----
2 --//     for X_Map_Subwindows_Request use

* Change 2811..2812
1 --//     for X_Map_Window_Request
1 --//          use
-----
2 --//     for X_Map_Window_Request use

* Change 2820..2821
1 --//     for X_No_Operation_Request
1 --//          use
-----
2 --//     for X_No_Operation_Request use

* Change 2828..2829
1 --//     for X_Open_Font_Request
1 --//          use
-----
2 --//     for X_Open_Font_Request use

* Change 2840..2841
1 --//     for X_Poly_Arc_Request
1 --//          use
-----
2 --//     for X_Poly_Arc_Request use

* Change 2850..2851
1 --//     for X_Poly_Fill_Arc_Request
1 --//          use
-----
2 --//     for X_Poly_Fill_Arc_Request use

* Change 2860..2861
1 --//     for X_Poly_Fill_Rectangle_Request
1 --//          use
-----
2 --//     for X_Poly_Fill_Rectangle_Request use

* Change 2870..2871
1 --//     for X_Poly_Line_Request
1 --//          use
-----
2 --//     for X_Poly_Line_Request use

* Change 2880..2881
1 --//     for X_Poly_Point_Request
1 --//          use
-----
2 --//     for X_Poly_Point_Request use

* Change 2890..2891
1 --//     for X_Poly_Rectangle_Request
1 --//          use
-----
2 --//     for X_Poly_Rectangle_Request use

* Change 2900..2901
1 --//     for X_Poly_Segment_Request
1 --//          use
-----
2 --//     for X_Poly_Segment_Request use

* Change 2910..2911
1 --//     for X_Poly_Text16_Request
1 --//          use
-----
2 --//     for X_Poly_Text16_Request use

* Change 2922..2923
1 --//     for X_Poly_Text8_Request
1 --//          use
-----
2 --//     for X_Poly_Text8_Request use

* Change 2934..2935
1 --//     for X_Put_Image_Request
1 --//          use
-----
2 --//     for X_Put_Image_Request use

* Change 2951..2952
1 --//     for X_Query_Best_Size_Request
1 --//          use
-----
2 --//     for X_Query_Best_Size_Request use

* Change 2962..2963
1 --//     for X_Query_Colors_Request
1 --//          use
-----
2 --//     for X_Query_Colors_Request use

* Change 2971..2972
1 --//     for X_Query_Extension_Request
1 --//          use
-----
2 --//     for X_Query_Extension_Request use

* Change 2982..2983
1 --//     for X_Query_Font_Request
1 --//          use
-----
2 --//     for X_Query_Font_Request use

* Change 2991..2992
1 --//     for X_Query_Keymap_Request
1 --//          use
-----
2 --//     for X_Query_Keymap_Request use

* Change 2999..3000
1 --//     for X_Query_Pointer_Request
1 --//          use
-----
2 --//     for X_Query_Pointer_Request use

* Change 3008..3009
1 --//     for X_Query_Text_Extents_Request
1 --//          use
-----
2 --//     for X_Query_Text_Extents_Request use

* Change 3017..3018
1 --//     for X_Query_Tree_Request
1 --//          use
-----
2 --//     for X_Query_Tree_Request use

* Change 3026..3027
1 --//     for X_Recolor_Cursor_Request
1 --//          use
-----
2 --//     for X_Recolor_Cursor_Request use

* Change 3041..3042
1 --//     for X_Reparent_Window_Request
1 --//          use
-----
2 --//     for X_Reparent_Window_Request use

* Change 3053..3054
1 --//     for X_Rotate_Properties_Request
1 --//          use
-----
2 --//     for X_Rotate_Properties_Request use

* Change 3064..3065
1 --//     for X_Send_Event_Request
1 --//          use
-----
2 --//     for X_Send_Event_Request use

* Change 3075..3076
1 --//     for X_Set_Access_Control_Request
1 --//          use
-----
2 --//     for X_Set_Access_Control_Request use

* Change 3083..3084
1 --//     for X_Set_Clip_Rectangles_Request
1 --//          use
-----
2 --//     for X_Set_Clip_Rectangles_Request use

* Change 3094..3095
1 --//     for X_Set_Close_Down_Mode_Request
1 --//          use
-----
2 --//     for X_Set_Close_Down_Mode_Request use

* Change 3102..3103
1 --//     for X_Set_Dashes_Request
1 --//          use
-----
2 --//     for X_Set_Dashes_Request use

* Change 3113..3114
1 --//     for X_Set_Font_Path_Request
1 --//          use
-----
2 --//     for X_Set_Font_Path_Request use

* Change 3124..3125
1 --//     for X_Set_Input_Focus_Request
1 --//          use
-----
2 --//     for X_Set_Input_Focus_Request use

* Change 3134..3135
1 --//     for X_Set_Modifier_Mapping_Request
1 --//          use
-----
2 --//     for X_Set_Modifier_Mapping_Request use

* Change 3142..3143
1 --//     for X_Set_Pointer_Mapping_Request
1 --//          use
-----
2 --//     for X_Set_Pointer_Mapping_Request use

* Change 3150..3151
1 --//     for X_Set_Screen_Saver_Request
1 --//          use
-----
2 --//     for X_Set_Screen_Saver_Request use

* Change 3163..3164
1 --//     for X_Set_Selection_Owner_Request
1 --//          use
-----
2 --//     for X_Set_Selection_Owner_Request use

* Change 3174..3175
1 --//     for X_Store_Colors_Request
1 --//          use
-----
2 --//     for X_Store_Colors_Request use

* Change 3183..3184
1 --//     for X_Color_Item
1 --//          use
-----
2 --//     for X_Color_Item use

* Change 3194..3195
1 --//     for X_Store_Named_Color_Request
1 --//          use
-----
2 --//     for X_Store_Named_Color_Request use

* Change 3207..3208
1 --//     for X_Translate_Coords_Request
1 --//          use
-----
2 --//     for X_Translate_Coords_Request use

* Change 3219..3220
1 --//     for X_Ungrab_Button_Request
1 --//          use
-----
2 --//     for X_Ungrab_Button_Request use

* Change 3230..3231
1 --//     for X_Ungrab_Key_Request
1 --//          use
-----
2 --//     for X_Ungrab_Key_Request use

* Change 3241..3242
1 --//     for X_Ungrab_Keyboard_Request
1 --//          use
-----
2 --//     for X_Ungrab_Keyboard_Request use

* Change 3250..3251
1 --//     for X_Ungrab_Pointer_Request
1 --//          use
-----
2 --//     for X_Ungrab_Pointer_Request use

* Change 3259..3260
1 --//     for X_Ungrab_Server_Request
1 --//          use
-----
2 --//     for X_Ungrab_Server_Request use

* Change 3267..3268
1 --//     for X_Uninstall_Colormap_Request
1 --//          use
-----
2 --//     for X_Uninstall_Colormap_Request use

* Change 3276..3277
1 --//     for X_Unmap_Subwindows_Request
1 --//          use
-----
2 --//     for X_Unmap_Subwindows_Request use

* Change 3285..3286
1 --//     for X_Unmap_Window_Request
1 --//          use
-----
2 --//     for X_Unmap_Window_Request use

* Change 3294..3295
1 --//     for X_Warp_Pointer_Request
1 --//          use
-----
2 --//     for X_Warp_Pointer_Request use
15:55:41 ::: [end of File_Utilities.Difference].
15:55:43 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:55:43 ... UNITS.PMI_TYPES.XLBT_RM'SPEC'V(5)", "!X11.X_LIBRARY.
15:55:43 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_RM'SPEC'V(1)", "", TRUE, 
15:55:43 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_RM'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_RM'SPEC
* Change 11
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Insert after 141
2 
2 ------------------------------------------------------------------------------
2 -- X_Rm_Quark
2 ------------------------------------------------------------------------------
2 
2     subtype X_Rm_Quark      is R3.X_Rm_Quark;  
2     subtype X_Rm_Quark_List is R3.X_Rm_Quark_List;
2 
2     None_X_Rm_Quark      : X_Rm_Quark      renames R3.None_X_Rm_Quark;  
2     None_X_Rm_Quark_List : X_Rm_Quark_List renames R3.None_X_Rm_Quark_List;
2 
2     function  "=" (A, B : X_Rm_Quark) return Boolean renames R3."=";  
2     function  "=" (A, B : X_Rm_Quark_List) return Boolean renames R3."=";  
2     procedure Free_X_Rm_Quark_List (List : in out X_Rm_Quark_List)  
2         renames R3.Free_X_Rm_Quark_List;

* Delete 195
1 

* Change 230..237
1     Is_None                : constant Xrvk := R3.Is_None;  
1     Is_Boolean             : constant Xrvk := R3.Is_Boolean;  
1     Is_U_Char_List         : constant Xrvk := R3.Is_U_Char_List;  
1     Is_S_Long              : constant Xrvk := R3.Is_S_Long;  
1     Is_X_String7_Pointer   : constant Xrvk := R3.Is_X_String7_Pointer;  
1     Is_X_String_Pointer    : constant Xrvk := R3.Is_X_String_Pointer;  
1     Is_X_String16_Pointer  : constant Xrvk := R3.Is_X_String16_Pointer;  
1     Is_X_Universal_Pointer : constant Xrvk := R3.Is_X_Universal_Pointer;
-----
2     Is_None                   : constant Xrvk := R3.Is_None;  
2     Is_X_Rm_File_Type         : constant Xrvk := R3.Is_X_Rm_File_Type;  
2     Is_Boolean                : constant Xrvk := R3.Is_Boolean;  
2     Is_Float                  : constant Xrvk := R3.Is_Float;  
2     Is_U_Char_List            : constant Xrvk := R3.Is_U_Char_List;  
2     Is_U_Char                 : constant Xrvk := R3.Is_U_Char;  
2     Is_U_Short                : constant Xrvk := R3.Is_U_Short;  
2     Is_S_Char                 : constant Xrvk := R3.Is_S_Char;  
2     Is_S_Short                : constant Xrvk := R3.Is_S_Short;  
2     Is_S_Long                 : constant Xrvk := R3.Is_S_Long;  
2     Is_X_String7_Pointer      : constant Xrvk := R3.Is_X_String7_Pointer;  
2     Is_X_String_Pointer       : constant Xrvk := R3.Is_X_String_Pointer;  
2     Is_X_String16_Pointer     : constant Xrvk := R3.Is_X_String16_Pointer;  
2     Is_X_Universal_Pointer    : constant Xrvk := R3.Is_X_Universal_Pointer;  
2     Is_X_Atom                 : constant Xrvk := R3.Is_X_Atom;  
2     Is_X_Color                : constant Xrvk := R3.Is_X_Color;  
2     Is_X_Colormap             : constant Xrvk := R3.Is_X_Colormap;  
2     Is_X_Cursor               : constant Xrvk := R3.Is_X_Cursor;  
2     Is_X_Display              : constant Xrvk := R3.Is_X_Display;  
2     Is_X_Font                 : constant Xrvk := R3.Is_X_Font;  
2     Is_X_Font_Struct          : constant Xrvk := R3.Is_X_Font_Struct;  
2     Is_X_Initial_Window_State : constant Xrvk := R3.Is_X_Initial_Window_State;  
2     Is_X_Pixel                : constant Xrvk := R3.Is_X_Pixel;  
2     Is_X_Pixmap               : constant Xrvk := R3.Is_X_Pixmap;  
2     Is_X_Screen               : constant Xrvk := R3.Is_X_Screen;  
2     Is_X_Time                 : constant Xrvk := R3.Is_X_Time;  
2     Is_X_Visual               : constant Xrvk := R3.Is_X_Visual;  
2     Is_X_Window               : constant Xrvk := R3.Is_X_Window;
15:55:54 ::: [end of File_Utilities.Difference].
15:55:57 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:55:57 ... UNITS.PMI_TYPES.XLBT_RM2'SPEC'V(5)", "!X11.X_LIBRARY.
15:55:57 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_RM2'SPEC'V(1)", "", TRUE, 
15:55:57 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_RM2'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_RM2'SPEC
* Change 11
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Delete 48..49
1 
1     subtype X_Rm_Quark is R3.X_Rm_Quark;

* Delete 52
1 

* Delete 54
1     function "=" (A, B : X_Rm_Quark) return Boolean renames R3."=";

* Delete 57..79
1 
1     None_X_Rm_Quark : X_Rm_Quark renames R3.None_X_Rm_Quark;
1 
1 ------------------------------------------------------------------------------
1 -- X_Rm_Converter - RM Data Conversion Routine Cache
1 ------------------------------------------------------------------------------
1 
1     subtype X_Rm_Converter_Rec is R3.X_Rm_Converter_Rec;  
1     subtype X_Rm_Converter     is R3.X_Rm_Converter;
1 
1     function "=" (A, B : X_Rm_Converter) return Boolean renames R3."=";
1 
1     subtype X_Rm_Converter_Table is R3.X_Rm_Converter_Table;  
1     subtype X_Rm_Converter_List  is R3.X_Rm_Converter_List;
1 
1     function "=" (A, B : X_Rm_Converter_List) return Boolean renames R3."=";
1 
1     None_X_Rm_Converter      : X_Rm_Converter renames R3.None_X_Rm_Converter;  
1     None_X_Rm_Converter_List : X_Rm_Converter_List  
1         renames R3.None_X_Rm_Converter_List;
1 
1     procedure Free_X_Rm_Converter (Conv : in out X_Rm_Converter)  
1         renames R3.Free_X_Rm_Converter;

* Delete 81..83
1     procedure Free_X_Rm_Converter_List (List : in out X_Rm_Converter_List)  
1         renames R3.Free_X_Rm_Converter_List;
1     ----Free up a converter list and all dependent storage.

* Insert after 125
2 
2 ------------------------------------------------------------------------------
2 -- X_Rm_File_Type - Text_Io.File_Type is limited private; ths is not.
2 ------------------------------------------------------------------------------
2 
2     subtype X_Rm_File_Type is R3.X_Rm_File_Type;
2 
2     function "=" (A, B : X_Rm_File_Type) return Boolean renames R3."=";
2 
2     None_X_Rm_File_Type : X_Rm_File_Type renames R3.None_X_Rm_File_Type;
2 
2     procedure Free_X_Rm_File_Type (File : in out X_Rm_File_Type)  
2         renames R3.Free_X_Rm_File_Type;
15:55:58 ::: [end of File_Utilities.Difference].
15:55:58 !!! Only in !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.
15:55:58 !!! .PMI_TYPES.XLBT_RM3'BODY.
15:56:01 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:56:01 ... UNITS.PMI_TYPES.XLBT_RM3'SPEC'V(5)", "!X11.X_LIBRARY.
15:56:01 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_RM3'SPEC'V(1)", "", TRUE, 
15:56:01 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_RM3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_RM3'SPEC
* Insert after 0
2 with Text_Io;  

* Change 5..6
1 with Xlbt_Basic3;  
1 use Xlbt_Basic3;  
-----
2 with Xlbt_Basic;  
2 use Xlbt_Basic;  
2 with Xlbt_Color;  
2 use Xlbt_Color;  
2 with Xlbt_Font;  
2 use Xlbt_Font;  
2 with Xlbt_Hint;  
2 use Xlbt_Hint;  

* Change 16
1 use Xlbt_Univ_Ptr;
-----
2 use Xlbt_Univ_Ptr;  
2 with Xlbt_Visual;  
2 use Xlbt_Visual;

* Delete 19
1 

* Change 27
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Delete 141..142
1 
1     type X_Rm_Quark_Array is array (S_Natural range <>) of X_Rm_Quark;

* Insert after 147
2                                      String_Pointer   => X_String_Pointer,  

* Insert after 155
2     type X_Rm_Quark_Array          is array (S_Natural range <>) of X_Rm_Quark;  

* Insert after 161
2 --//     pragma Pack (X_Rm_Quark_Array);

* Insert after 166
2     type X_Rm_Quark_List          is access X_Rm_Quark_Array;  

* Insert after 171
2     pragma Enable_Deallocation (X_Rm_Quark_List);  

* Delete 178
1     None_X_Rm_Representation      : constant X_Rm_Representation := (Id => 0);  

* Change 181
1     None_X_Rm_Representation_List : constant X_Rm_Representation_List := null;  
-----
2     None_X_Rm_Representation      : constant X_Rm_Representation := (Id => 0);  
2     None_X_Rm_Quark_List          : constant X_Rm_Quark_List := null;  

* Change 183
1     None_X_Rm_Name_List           : constant X_Rm_Name_List := null;
-----
2     None_X_Rm_Name_List           : constant X_Rm_Name_List := null;  
2     None_X_Rm_Representation_List : constant X_Rm_Representation_List := null;

* Insert after 184
2     procedure Free_X_Rm_Quark_List          is  
2        new Unchecked_Deallocation (X_Rm_Quark_Array, X_Rm_Quark_List);  

* Change 186
1        new Unchecked_Deallocation (X_Rm_Class_Array, X_Rm_Class_List);  
-----
2        new Unchecked_Deallocation (X_Rm_Class_Array,  
2                                    X_Rm_Class_List);  

* Change 188
1        new Unchecked_Deallocation (X_Rm_Name_Array, X_Rm_Name_List);  
-----
2        new Unchecked_Deallocation (X_Rm_Name_Array,  
2                                    X_Rm_Name_List);  

* Change 190..191
1        new Unchecked_Deallocation  
1               (X_Rm_Representation_Array, X_Rm_Representation_List);
-----
2        new Unchecked_Deallocation (X_Rm_Representation_Array,  
2                                    X_Rm_Representation_List);

* Change 212
1     type X_Rm_Value_Kind is (Is_None,  
-----
2     type X_Rm_Value_Kind is (Is_None,                       -- Ada types
2                              Is_X_Rm_File_Type,  

* Insert after 213
2                              Is_Float,
2 
2                              --                             -- Xlib simples

* Insert after 214
2                              Is_U_Char,  
2                              Is_U_Short,  
2                              Is_S_Char,  
2                              Is_S_Short,  

* Change 219
1                              Is_X_Universal_Pointer);
-----
2                              Is_X_Universal_Pointer,
2 
2                              --                             -- Xlib composites
2                              Is_X_Atom,  
2                              Is_X_Color,  
2                              Is_X_Colormap,  
2                              Is_X_Cursor,  
2                              Is_X_Display,  
2                              Is_X_Font,  
2                              Is_X_Font_Struct,  
2                              Is_X_Initial_Window_State,  
2                              Is_X_Pixel,  
2                              Is_X_Pixmap,  
2                              Is_X_Screen,  
2                              Is_X_Time,  
2                              Is_X_Visual,  
2                              Is_X_Window);

* Change 227..229
1             Pointer   : X_Universal_Pointer;  -- The data
1             Free      : X_Procedure_Variable; -- X_Univ_Free.Pv
1             To_String : X_Procedure_Variable; -- X_Univ_To_String.Pv
-----
2             Pointer : X_Universal_Pointer;  -- The data
2             Free    : X_Procedure_Variable; -- X_Univ_Free.Pv

* Change 233..234
1        (None_X_Universal_Pointer, None_X_Procedure_Variable,  
1         None_X_Procedure_Variable);
-----
2        (None_X_Universal_Pointer, None_X_Procedure_Variable);
2 
2 ------------------------------------------------------------------------------
2 -- X_Rm_File_Type - Text_Io.File_Type is limited private; ths is not.
2 ------------------------------------------------------------------------------
2 
2     type X_Rm_File_Type is access Text_Io.File_Type;
2 
2     procedure Free_X_Rm_File_Type is  
2        new Unchecked_Deallocation (Text_Io.File_Type,  
2                                    X_Rm_File_Type);
2 
2 --/ if Enable_Deallocation then
2     pragma Enable_Deallocation (X_Rm_File_Type);
2 --/ end if;
2 
2     None_X_Rm_File_Type : constant X_Rm_File_Type := null;

* Insert after 244
2                 when Is_X_Rm_File_Type =>  
2                     V_X_Rm_File_Type : X_Rm_File_Type;
2 

* Insert after 246
2                 when Is_Float =>  
2                     V_Float : Float := 0.0;  

* Insert after 248
2                 when Is_U_Char =>  
2                     V_U_Char : U_Char := 0;  
2                 when Is_U_Short =>  
2                     V_U_Short : U_Short := 0;  
2                 when Is_S_Char =>  
2                     V_S_Char : S_Char := 0;  
2                 when Is_S_Short =>  
2                     V_S_Short : S_Short := 0;  

* Change 258
1                     V_X_Universal_Pointer : X_Rm_Universal_Pointer;  
-----
2                     V_X_Universal_Pointer : X_Rm_Universal_Pointer;
2 
2                 when Is_X_Atom =>  
2                     V_X_Atom : X_Atom := None_X_Atom;  
2                 when Is_X_Color =>  
2                     V_X_Color : X_Color := None_X_Color;  
2                 when Is_X_Colormap =>  
2                     V_X_Colormap : X_Colormap := None_X_Colormap;  
2                 when Is_X_Cursor =>  
2                     V_X_Cursor : X_Cursor := None_X_Cursor;  
2                 when Is_X_Display =>  
2                     V_X_Display : X_Display := None_X_Display;  
2                 when Is_X_Font =>  
2                     V_X_Font : X_Font := None_X_Font;  
2                 when Is_X_Font_Struct =>  
2                     V_X_Font_Struct : X_Font_Struct := None_X_Font_Struct;  
2                 when Is_X_Initial_Window_State =>  
2                     V_X_Initial_Window_State : X_Initial_Window_State :=  
2                        None_X_Initial_Window_State;  
2                 when Is_X_Pixel =>  
2                     V_X_Pixel : X_Pixel := None_X_Pixel;  
2                 when Is_X_Pixmap =>  
2                     V_X_Pixmap : X_Pixmap := None_X_Pixmap;  
2                 when Is_X_Screen =>  
2                     V_X_Screen : X_Screen := None_X_Screen;  
2                 when Is_X_Time =>  
2                     V_X_Time : X_Time := None_X_Time;  
2                 when Is_X_Visual =>  
2                     V_X_Visual : X_Visual := None_X_Visual;  
2                 when Is_X_Window =>  
2                     V_X_Window : X_Window := None_X_Window;  

* Delete 280..287
1             Conversions : X_Rm_Entry := null;
1             ----When non-null this is a link in a circular list of equivalent
1             --  X_Rm_Entry's that were created by X_Rm_Converters if
1             --  the converted .Representation field was different than the
1             --  original/main .Representation.
1             --  The .Representation fields of "converted" values indicate their
1             --  respective representation types.
1 

* Change 397
1         end record;  
-----
2         end record;
2 

* Delete 405..409
1 
1 --
1 ------------------------------------------------------------------------------
1 -- X Resource Manager Database Searching
1 ------------------------------------------------------------------------------

* Delete 418..462
1 
1 --
1 ------------------------------------------------------------------------------
1 -- X Resource Manager Data Converters
1 ------------------------------------------------------------------------------
1 
1 ------------------------------------------------------------------------------
1 -- X_Rm_Converter - RM Data Conversion Routine Cache
1 ------------------------------------------------------------------------------
1 
1     type X_Rm_Converter_Rec;  
1     type X_Rm_Converter is access X_Rm_Converter_Rec;
1 
1 --/ if Enable_Deallocation then
1     pragma Enable_Deallocation (X_Rm_Converter);
1 --/ end if;
1 
1     type X_Rm_Converter_Rec is  
1         record  
1             Next : X_Rm_Converter       := null;  
1             From : X_Rm_Representation  := None_X_Rm_Representation;  
1             To   : X_Rm_Representation  := None_X_Rm_Representation;  
1             Proc : X_Procedure_Variable := None_X_Procedure_Variable;
1             ----X_Rm_Converter.Pv
1             Unique_To_Screen : Boolean := False;  
1         end record;
1 
1     type X_Rm_Converter_Table is array (S_Natural range 0 .. 210) of  
1                                     X_Rm_Converter;    -- 211 is a prime.
1 
1     type X_Rm_Converter_List is access X_Rm_Converter_Table;
1 
1 --/ if Enable_Deallocation then
1     pragma Enable_Deallocation (X_Rm_Converter_List);
1 --/ end if;
1 
1     None_X_Rm_Converter      : constant X_Rm_Converter      := null;  
1     None_X_Rm_Converter_List : constant X_Rm_Converter_List := null;
1 
1     procedure Free_X_Rm_Converter is  
1        new Unchecked_Deallocation (X_Rm_Converter_Rec,  
1                                    X_Rm_Converter);
1 
1     procedure Free_X_Rm_Converter_List (List : in out X_Rm_Converter_List);
1     ----Free up a converter list and all dependent storage.
15:56:08 ::: [end of File_Utilities.Difference].
15:56:10 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:56:10 ... UNITS.PMI_TYPES.XLBT_SCREEN_SAVER'SPEC'V(5)", "!X11.X_LIBRARY.
15:56:10 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_SCREEN_SAVER'SPEC'V(1)", "",
15:56:10 ...  TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_SCREEN_SAVER'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_SCREEN_SAVER'SPEC
* Change 7
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:56:11 ::: [end of File_Utilities.Difference].
15:56:14 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:56:14 ... UNITS.PMI_TYPES.XLBT_STRING'BODY'V(5)", "!X11.X_LIBRARY.
15:56:14 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_STRING'BODY'V(1)", "", TRUE,
15:56:14 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_STRING'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_STRING'BODY
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:56:18 ::: [end of File_Utilities.Difference].
15:56:19 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:56:19 ... UNITS.PMI_TYPES.XLBT_STRING'SPEC'V(5)", "!X11.X_LIBRARY.
15:56:19 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_STRING'SPEC'V(1)", "", TRUE,
15:56:19 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_STRING'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_STRING'SPEC
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:56:21 ::: [end of File_Utilities.Difference].
15:56:24 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:56:24 ... UNITS.PMI_TYPES.XLBT_STRING16'SPEC'V(5)", "!X11.X_LIBRARY.
15:56:24 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_STRING16'SPEC'V(1)", "", 
15:56:24 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_STRING16'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_STRING16'SPEC
* Change 15
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 54..55
1 --//     for X_Character16
1 --//          use
-----
2 --//     for X_Character16 use
15:56:26 ::: [end of File_Utilities.Difference].
15:56:29 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:56:29 ... UNITS.PMI_TYPES.XLBT_STRING7'SPEC'V(5)", "!X11.X_LIBRARY.
15:56:29 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_STRING7'SPEC'V(1)", "", 
15:56:29 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_STRING7'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_STRING7'SPEC
* Change 12
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:56:31 ::: [end of File_Utilities.Difference].
15:56:33 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:56:34 ... UNITS.PMI_TYPES.XLBT_TEXT'SPEC'V(5)", "!X11.X_LIBRARY.
15:56:34 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_TEXT'SPEC'V(1)", "", TRUE, 
15:56:34 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_TEXT'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_TEXT'SPEC
* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:56:35 ::: [end of File_Utilities.Difference].
15:56:38 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:56:38 ... UNITS.PMI_TYPES.XLBT_TEXT3'BODY'V(5)", "!X11.X_LIBRARY.
15:56:38 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_TEXT3'BODY'V(1)", "", TRUE, 
15:56:38 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_TEXT3'BODY
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_TEXT3'BODY
* Change 16
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:56:39 ::: [end of File_Utilities.Difference].
15:56:42 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:56:42 ... UNITS.PMI_TYPES.XLBT_TEXT3'SPEC'V(5)", "!X11.X_LIBRARY.
15:56:42 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_TEXT3'SPEC'V(1)", "", TRUE, 
15:56:42 ... FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_TEXT3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_TEXT3'SPEC
* Change 18
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:56:43 ::: [end of File_Utilities.Difference].
15:56:44 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:56:44 ... UNITS.PMI_TYPES.XLBT_VISUAL'SPEC'V(5)", "!X11.X_LIBRARY.
15:56:44 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_VISUAL'SPEC'V(1)", "", TRUE,
15:56:44 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_VISUAL'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_VISUAL'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:56:47 ::: [end of File_Utilities.Difference].
15:56:48 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:56:48 ... UNITS.PMI_TYPES.XLBT_VISUAL2'SPEC'V(5)", "!X11.X_LIBRARY.
15:56:48 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_VISUAL2'SPEC'V(1)", "", 
15:56:48 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_VISUAL2'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_VISUAL2'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:56:49 ::: [end of File_Utilities.Difference].
15:56:51 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:56:51 ... UNITS.PMI_TYPES.XLBT_VISUAL3'SPEC'V(5)", "!X11.X_LIBRARY.
15:56:51 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_VISUAL3'SPEC'V(1)", "", 
15:56:51 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_VISUAL3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_VISUAL3'SPEC
* Change 19
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:56:53 ::: [end of File_Utilities.Difference].
15:56:55 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:56:55 ... UNITS.PMI_TYPES.XLBT_WINDOW'SPEC'V(5)", "!X11.X_LIBRARY.
15:56:55 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_WINDOW'SPEC'V(1)", "", TRUE,
15:56:55 ...  FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_WINDOW'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_WINDOW'SPEC
* Change 10
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:56:59 ::: [end of File_Utilities.Difference].
15:57:00 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:57:00 ... UNITS.PMI_TYPES.XLBT_WINDOW3'SPEC'V(5)", "!X11.X_LIBRARY.
15:57:00 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_WINDOW3'SPEC'V(1)", "", 
15:57:00 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_WINDOW3'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_WINDOW3'SPEC
* Change 18
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:57:02 ::: [end of File_Utilities.Difference].
15:57:03 ::: [File_Utilities.Difference ("!X11.X_LIBRARY.REV5_6_2_WORKING.
15:57:03 ... UNITS.PMI_TYPES.XLBT_WINDOW4'SPEC'V(5)", "!X11.X_LIBRARY.
15:57:03 ... REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_WINDOW4'SPEC'V(1)", "", 
15:57:03 ... TRUE, FALSE)].
* Object 1: !X11.X_LIBRARY.REV5_6_2_WORKING.UNITS.PMI_TYPES.XLBT_WINDOW4'SPEC
* Object 2: !X11.X_LIBRARY.REV6_0_0_WORKING.UNITS.PMI_TYPES.XLBT_WINDOW4'SPEC
* Change 7
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
15:57:06 ::: [end of File_Utilities.Difference].
15:57:06 ::: [Diff done.].
15:57:06 --- ------------------------------------------------------------
15:57:06 --- Diff(!X11.X_Clients.Rev5_6_2_Working.Units,!X11.X_Clients.
15:57:06 ... Rev6_0_0_Working.Units).
15:57:23 ::: [Diff("!X11.X_Clients.Rev5_6_2_Working.Units.[??,~??.@_Log,~??.
15:57:23 ... Aaa_Load_@,~??.Documentation.??,~??.Ship_To.??,~??'c(Library,
15:57:23 ... Binary)]","!X11.X_Clients.Rev6_0_0_Working.Units.[??,~??.@_Log,
15:57:23 ... ~??.Aaa_Load_@,~??.Documentation.??,~??.Ship_To.??,~??'c(Library,
15:57:23 ... Binary)]",TRUE);].
15:57:23 --- Resolve Old_Files.
15:57:43 --- Resolve New_Files.
15:58:11 --- Compare Old_Files to New_Files.
15:58:12 !!! Only in !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.
15:58:12 !!! .COMMANDS.XLOAD'BODY.
15:58:12 !!! Only in !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.
15:58:12 !!! .COMMANDS.XLOAD'SPEC.
15:58:13 ::: [File_Utilities.Difference ("!X11.X_CLIENTS.REV5_6_2_WORKING.
15:58:13 ... UNITS.ENVIRONMENT.COMMON_ENV'BODY'V(3)", "!X11.X_CLIENTS.
15:58:13 ... REV6_0_0_WORKING.UNITS.ENVIRONMENT.COMMON_ENV'BODY'V(1)", "", 
15:58:13 ... TRUE, FALSE)].
* Object 1: !X11.X_CLIENTS.REV5_6_2_WORKING.UNITS.ENVIRONMENT.COMMON_ENV'BODY
* Object 2: !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.ENVIRONMENT.COMMON_ENV'BODY
* Insert after 6
2 ------------------------------------------------------------------------------
2 -- X Library Environment Variables - Common functions
2 --
2 -- Common_Env - Common functions used by all environment variable functions.
2 ------------------------------------------------------------------------------
2 -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
2 --
2 --                  All Rights Reserved.
2 --
2 -- Permission to use, copy, modify, and distribute this software and its
2 -- documentation for any purpose and without fee is hereby granted,
2 -- provided that the above copyright notice(s) appear in all copies and that
2 -- both that copyright notice(s) and this permission notice appear in
2 -- supporting documentation, and that the names of Rational not be used in
2 -- advertising or publicity pertaining to distribution of the software without
2 -- specific, written prior permission.
2 --
2 -- Rational disclaims all warranties with regard to this software, including
2 -- all implied warranties of merchantability and fitness, in no event shall
2 -- Rational be liable for any special, indirect or consequential damages or
2 -- any damages whatsoever resulting from loss of use, data or profits, whether
2 -- in an action of contract, negligence or other tortious action, arising out
2 -- of or in connection with the use or performance of this software.
2 ------------------------------------------------------------------------------

* Change 12
1 --<!EOP!>
-----
2 --  

* Change 25
1 --<!EOP!>
-----
2 --  

* Change 40
1 --<!EOP!>
-----
2 --  

* Change 65
1 --<!EOP!>
-----
2 --  

* Change 90
1 --<!EOP!>
-----
2 --  

* Change 131
1 --<!EOP!>
-----
2 --  

* Change 183
1 --<!EOP!>
-----
2 --  
15:58:15 ::: [end of File_Utilities.Difference].
15:58:16 ::: [File_Utilities.Difference ("!X11.X_CLIENTS.REV5_6_2_WORKING.
15:58:16 ... UNITS.ENVIRONMENT.COMMON_ENV'SPEC'V(1)", "!X11.X_CLIENTS.
15:58:16 ... REV6_0_0_WORKING.UNITS.ENVIRONMENT.COMMON_ENV'SPEC'V(1)", "", 
15:58:16 ... TRUE, FALSE)].
* Object 1: !X11.X_CLIENTS.REV5_6_2_WORKING.UNITS.ENVIRONMENT.COMMON_ENV'SPEC
* Object 2: !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.ENVIRONMENT.COMMON_ENV'SPEC
* Change 7
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1990 - 1991 by Rational, Santa Clara, California.

* Change 74
1 end Common_Env;
-----
2 end Common_Env;  
15:58:17 ::: [end of File_Utilities.Difference].
15:58:18 ::: [File_Utilities.Difference ("!X11.X_CLIENTS.REV5_6_2_WORKING.
15:58:18 ... UNITS.ENVIRONMENT.PRINTENV'BODY'V(1)", "!X11.X_CLIENTS.
15:58:18 ... REV6_0_0_WORKING.UNITS.ENVIRONMENT.PRINTENV'BODY'V(1)", "", TRUE, 
15:58:18 ... FALSE)].
* Object 1: !X11.X_CLIENTS.REV5_6_2_WORKING.UNITS.ENVIRONMENT.PRINTENV'BODY
* Object 2: !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.ENVIRONMENT.PRINTENV'BODY
* Change 1
1 with Directory_Tools;
-----
2 with Directory_Tools;  

* Change 4
1 with Common_Env;
-----
2 with Common_Env;  

* Insert after 7
2 ------------------------------------------------------------------------------
2 -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
2 --
2 --                  All Rights Reserved.
2 --
2 -- Permission to use, copy, modify, and distribute this software and its
2 -- documentation for any purpose and without fee is hereby granted,
2 -- provided that the above copyright notice(s) appear in all copies and that
2 -- both that copyright notice(s) and this permission notice appear in
2 -- supporting documentation, and that the names of Rational not be used in
2 -- advertising or publicity pertaining to distribution of the software without
2 -- specific, written prior permission.
2 --
2 -- Rational disclaims all warranties with regard to this software, including
2 -- all implied warranties of merchantability and fitness, in no event shall
2 -- Rational be liable for any special, indirect or consequential damages or
2 -- any damages whatsoever resulting from loss of use, data or profits, whether
2 -- in an action of contract, negligence or other tortious action, arising out
2 -- of or in connection with the use or performance of this software.
2 ------------------------------------------------------------------------------

* Change 9
1     Environment : constant String := Env_Directory;
-----
2     Environment : constant String := Env_Directory;  

* Change 14..26
1     Iter := Directory_Tools.Naming.Resolution (Environment & ".@");
1     if Directory_Tools.Object.Is_Bad (Iter) then
1         return;
1     end if;
1     while not Directory_Tools.Object.Done (Iter) loop
1         declare
1             Obj : Directory_Tools.Object.Handle :=
1                Directory_Tools.Object.Value (Iter);
1             Var : constant String := Directory_Tools.Naming.Simple_Name (Obj);
1         begin
1             Text_Io.Put_Line (Var & " => " & Get_Env (Var));
1         end;
1         Directory_Tools.Object.Next (Iter);
-----
2     Iter := Directory_Tools.Naming.Resolution (Environment & ".@");  
2     if Directory_Tools.Object.Is_Bad (Iter) then  
2         return;  
2     end if;  
2     while not Directory_Tools.Object.Done (Iter) loop  
2         declare  
2             Obj : Directory_Tools.Object.Handle :=  
2                Directory_Tools.Object.Value (Iter);  
2             Var : constant String := Directory_Tools.Naming.Simple_Name (Obj);  
2         begin  
2             Text_Io.Put_Line (Var & " => " & Get_Env (Var));  
2         end;  
2         Directory_Tools.Object.Next (Iter);  

* Change 29..30
1 end Printenv;
1 pragma Main;
-----
2 end Printenv;  
2 pragma Main;  
15:58:19 ::: [end of File_Utilities.Difference].
15:58:21 ::: [File_Utilities.Difference ("!X11.X_CLIENTS.REV5_6_2_WORKING.
15:58:21 ... UNITS.ENVIRONMENT.SETENV'BODY'V(1)", "!X11.X_CLIENTS.
15:58:21 ... REV6_0_0_WORKING.UNITS.ENVIRONMENT.SETENV'BODY'V(1)", "", TRUE, 
15:58:21 ... FALSE)].
* Object 1: !X11.X_CLIENTS.REV5_6_2_WORKING.UNITS.ENVIRONMENT.SETENV'BODY
* Object 2: !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.ENVIRONMENT.SETENV'BODY
* Change 1
1 with Common_Env;
-----
2 with Common_Env;  

* Insert after 5
2 ------------------------------------------------------------------------------
2 -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
2 --
2 --                  All Rights Reserved.
2 --
2 -- Permission to use, copy, modify, and distribute this software and its
2 -- documentation for any purpose and without fee is hereby granted,
2 -- provided that the above copyright notice(s) appear in all copies and that
2 -- both that copyright notice(s) and this permission notice appear in
2 -- supporting documentation, and that the names of Rational not be used in
2 -- advertising or publicity pertaining to distribution of the software without
2 -- specific, written prior permission.
2 --
2 -- Rational disclaims all warranties with regard to this software, including
2 -- all implied warranties of merchantability and fitness, in no event shall
2 -- Rational be liable for any special, indirect or consequential damages or
2 -- any damages whatsoever resulting from loss of use, data or profits, whether
2 -- in an action of contract, negligence or other tortious action, arising out
2 -- of or in connection with the use or performance of this software.
2 ------------------------------------------------------------------------------

* Change 10..11
1 end Setenv;
1 pragma Main;
-----
2 end Setenv;  
2 pragma Main;  
15:58:22 ::: [end of File_Utilities.Difference].
15:58:23 ::: [File_Utilities.Difference ("!X11.X_CLIENTS.REV5_6_2_WORKING.
15:58:23 ... UNITS.ENVIRONMENT.UNSETENV'BODY'V(1)", "!X11.X_CLIENTS.
15:58:23 ... REV6_0_0_WORKING.UNITS.ENVIRONMENT.UNSETENV'BODY'V(1)", "", TRUE, 
15:58:23 ... FALSE)].
* Object 1: !X11.X_CLIENTS.REV5_6_2_WORKING.UNITS.ENVIRONMENT.UNSETENV'BODY
* Object 2: !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.ENVIRONMENT.UNSETENV'BODY
* Change 1
1 with Common_Env;
-----
2 with Common_Env;  

* Insert after 4
2 ------------------------------------------------------------------------------
2 -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
2 --
2 --                  All Rights Reserved.
2 --
2 -- Permission to use, copy, modify, and distribute this software and its
2 -- documentation for any purpose and without fee is hereby granted,
2 -- provided that the above copyright notice(s) appear in all copies and that
2 -- both that copyright notice(s) and this permission notice appear in
2 -- supporting documentation, and that the names of Rational not be used in
2 -- advertising or publicity pertaining to distribution of the software without
2 -- specific, written prior permission.
2 --
2 -- Rational disclaims all warranties with regard to this software, including
2 -- all implied warranties of merchantability and fitness, in no event shall
2 -- Rational be liable for any special, indirect or consequential damages or
2 -- any damages whatsoever resulting from loss of use, data or profits, whether
2 -- in an action of contract, negligence or other tortious action, arising out
2 -- of or in connection with the use or performance of this software.
2 ------------------------------------------------------------------------------

* Change 9..10
1 end Unsetenv;
1 pragma Main;
-----
2 end Unsetenv;  
2 pragma Main;  
15:58:24 ::: [end of File_Utilities.Difference].
15:59:12 ::: [File_Utilities.Difference ("!X11.X_CLIENTS.REV5_6_2_WORKING.
15:59:12 ... UNITS.SOURCE.XEV.XEV_MAIN.SET_SIZEHINTS'BODY'V(1)", "!X11.
15:59:12 ... X_CLIENTS.REV6_0_0_WORKING.UNITS.SOURCE.XEV.XEV_MAIN.
15:59:12 ... SET_SIZEHINTS'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_CLIENTS.REV5_6_2_WORKING.UNITS.SOURCE.XEV.XEV_MAIN.SET_SIZEHINTS'BODY
* Object 2: !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.SOURCE.XEV.XEV_MAIN.SET_SIZEHINTS'BODY
* Change 1
1 separate (Xev_Main)
-----
2 separate (Xev_Main)  

* Change 3..10
1                          Min_Width  :        S_Long;
1                          Min_Height :        S_Long;
1                          Defwidth   :        S_Long;
1                          Defheight  :        S_Long;
1                          Defx       :        S_Long;
1                          Defy       :        S_Long;
1                          Geom       :        X_String) is
1     Geom_Result : X_Parse_Geometry_Flags;
-----
2                          Min_Width  :        S_Long;  
2                          Min_Height :        S_Long;  
2                          Defwidth   :        S_Long;  
2                          Defheight  :        S_Long;  
2                          Defx       :        S_Long;  
2                          Defy       :        S_Long;  
2                          Geom       :        X_String) is  
2     Geom_Result : X_Parse_Geometry_Flags;  

* Change 15..23
1     Hintp.Width := Min_Width;
1     Hintp.Min_Width := Min_Width;
1     Hintp.Height := Min_Height;
1     Hintp.Min_Height := Min_Height;
1     Hintp.Flags := X_Size_Hints_Flags'(P_Min_Size => True, others => False);
1     Hintp.X := 0;
1     Hintp.Y := 0;
1     Geom_Result := None_X_Parse_Value;
1     if Geom /= "" then
-----
2     Hintp.Width := Min_Width;  
2     Hintp.Min_Width := Min_Width;  
2     Hintp.Height := Min_Height;  
2     Hintp.Min_Height := Min_Height;  
2     Hintp.Flags := X_Size_Hints_Flags'(P_Min_Size => True, others => False);  
2     Hintp.X := 0;  
2     Hintp.Y := 0;  
2     Geom_Result := None_X_Parse_Geometry_Flags;  
2     if Geom /= "" then  

* Change 27
1                           Geom_Result);
-----
2                           Geom_Result);  

* Change 29..33
1            Geom_Result (Height_Value) then
1             Hintp.Width            := Max (Hintp.Width, Hintp.Min_Width);
1             Hintp.Height           := Max (Hintp.Height, Hintp.Min_Height);
1             Hintp.Flags (U_S_Size) := True;
1         end if;
-----
2            Geom_Result (Height_Value) then  
2             Hintp.Width            := Max (Hintp.Width, Hintp.Min_Width);  
2             Hintp.Height           := Max (Hintp.Height, Hintp.Min_Height);  
2             Hintp.Flags (U_S_Size) := True;  
2         end if;  

* Change 35..47
1            Geom_Result (Y_Value) then
1             Hintp.Flags (U_S_Position) := True;
1         end if;
1     end if;
1     if not Hintp.Flags (U_S_Size) then
1         Hintp.Width          := Defwidth;
1         Hintp.Height         := Defheight;
1         Hintp.Flags (P_Size) := True;
1     end if;
1     if not Hintp.Flags (U_S_Position) then
1         Hintp.X                  := Defx;
1         Hintp.Y                  := Defy;
1         Hintp.Flags (P_Position) := True;
-----
2            Geom_Result (Y_Value) then  
2             Hintp.Flags (U_S_Position) := True;  
2         end if;  
2     end if;  
2     if not Hintp.Flags (U_S_Size) then  
2         Hintp.Width          := Defwidth;  
2         Hintp.Height         := Defheight;  
2         Hintp.Flags (P_Size) := True;  
2     end if;  
2     if not Hintp.Flags (U_S_Position) then  
2         Hintp.X                  := Defx;  
2         Hintp.Y                  := Defy;  
2         Hintp.Flags (P_Position) := True;  

* Change 50..56
1     if Geom_Result (X_Negative) then
1         Hintp.X := S_Long (X_Display_Width (Dpy, X_Default_Screen (Dpy))) +
1                       Hintp.X - S_Long (Hintp.Width);
1     end if;
1     if Geom_Result (Y_Negative) then
1         Hintp.Y := S_Long (X_Display_Height (Dpy, X_Default_Screen (Dpy))) +
1                       Hintp.Y - S_Long (Hintp.Height);
-----
2     if Geom_Result (X_Negative) then  
2         Hintp.X := S_Long (X_Display_Width (Dpy, X_Default_Screen (Dpy))) +  
2                       Hintp.X - S_Long (Hintp.Width);  
2     end if;  
2     if Geom_Result (Y_Negative) then  
2         Hintp.Y := S_Long (X_Display_Height (Dpy, X_Default_Screen (Dpy))) +  
2                       Hintp.Y - S_Long (Hintp.Height);  

* Change 59
1 end Set_Sizehints;
-----
2 end Set_Sizehints;  
15:59:13 ::: [end of File_Utilities.Difference].
15:59:15 ::: [File_Utilities.Difference ("!X11.X_CLIENTS.REV5_6_2_WORKING.
15:59:15 ... UNITS.SOURCE.XEV.XEV_UNIX'BODY'V(4)", "!X11.X_CLIENTS.
15:59:15 ... REV6_0_0_WORKING.UNITS.SOURCE.XEV.XEV_UNIX'BODY'V(1)", "", TRUE, 
15:59:15 ... FALSE)].
* Object 1: !X11.X_CLIENTS.REV5_6_2_WORKING.UNITS.SOURCE.XEV.XEV_UNIX'BODY
* Object 2: !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.SOURCE.XEV.XEV_UNIX'BODY
* Change 1..5
1 with Process_Control;                   -- Unix process control; exit(n)
1 with Unix_Types;                        -- Unix types
1 --/ end if;
1 
1 with System;  
-----
2 --/ if R1000 then

* Delete 7..75
1 
1 with Xev_Main;
1 
1 with Xlbt_Arithmetic;  
1 use Xlbt_Arithmetic;  
1 with Xlbt_String;  
1 use Xlbt_String;  
1 with Xlbt_Window;  
1 use Xlbt_Window;
1 
1 with Xlbp_Display;  
1 use Xlbp_Display;  
1 with Xlbp_Proc_Var;  
1 use Xlbp_Proc_Var;
1 
1 with Xlbit_Library3;
1 
1 procedure Xev_Unix is
1 ------------------------------------------------------------------------------
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
1 --
1 --                  All Rights Reserved.
1 --
1 -- Permission to use, copy, modify, and distribute this software and its
1 -- documentation for any purpose and without fee is hereby granted,
1 -- provided that the above copyright notice(s) appear in all copies and that
1 -- both that copyright notice(s) and this permission notice appear in
1 -- supporting documentation, and that the names of Rational not be used in
1 -- advertising or publicity pertaining to distribution of the software
1 -- without specific, written prior permission.
1 --
1 -- Rational disclaims all warranties with regard to this software, including
1 -- all implied warranties of merchantability and fitness, in no event shall
1 -- Rational be liable for any special, indirect or consequential damages or
1 -- any damages whatsoever resulting from loss of use, data or profits, whether
1 -- in an action of contract, negligence or other tortious action, arising out
1 -- of or in connection with the use or performance of this software.
1 ------------------------------------------------------------------------------
1 ------------------------------------------------------------------------------
1 -- Command line arguments:
1 --
1 --  -display <name> - Display   - Specifies the display to use for the game.
1 --  -geometry <geom>- Geometry  - Specifies the window geometry
1 --  -b              - Backing_Store - Requests backing stroe
1 --  -s              - Save_Under    - Requests save unders
1 --  -bw <number>    - Border_Width  - Specifies the border width
1 --
1 -- Run the xev program.
1 ------------------------------------------------------------------------------
1 
1     Argc    : Integer;  
1     Argvi   : Integer;  
1     Argv    : X_String (1 .. 1024);  
1     Argvlen : Integer;
1 
1     Display       : X_String_Pointer;  
1     Geometry      : X_String_Pointer;  
1     Backing_Store : X_Backing_Store_Hint := Not_Useful;  
1     Save_Under    : Boolean              := False;  
1     Border_Width  : U_Short              := 2;  
1     Sync          : Boolean              := False;
1 
1 --
1 --/ if TeleGen2 and then Unix then
1     function Get_Argv (Position    : Integer;  
1                        Arg_Ptr     : System.Address;  
1                        Arg_Max_Len : Integer) return Integer;  
1     pragma Interface (C, Get_Argv);  
1     pragma Linkname (Get_Argv, "Xlbmt_Get_ArgV");

* Change 77..79
1     function Get_Argc return Integer;  
1     pragma Interface (C, Get_Argc);  
1     pragma Linkname (Get_Argc, "Xlbmt_Get_ArgC");
-----
2 procedure Xev_Unix is  
2 begin  
2     Text_Io.Put_Line ("This procedure is only for Unix versions.");  
2 end Xev_Unix;

* Insert after 80
2 --/ else -- not R1000
2 --//
2 --/ if Cdf_Hpux then
2 --// with Command_Line;
2 --// with System_Interface;
2 --//
2 --/ elsif TeleGen2 and then Unix then
2 --// with Process_Control;                   -- Unix process control; exit(n)
2 --// with Unix_Types;                        -- Unix types
2 --/ end if;
2 --//
2 --// with System;
2 --// with Text_Io;
2 --//
2 --// with Xev_Main;
2 --//
2 --// with Xlbt_Arithmetic;
2 --// use Xlbt_Arithmetic;
2 --// with Xlbt_String;
2 --// use Xlbt_String;
2 --// with Xlbt_Window;
2 --// use Xlbt_Window;
2 --//
2 --// with Xlbp_Display;
2 --// use Xlbp_Display;
2 --// with Xlbp_Proc_Var;
2 --// use Xlbp_Proc_Var;
2 --//
2 --// with Xlbit_Library3;
2 --//
2 --// procedure Xev_Unix is
2 --// ------------------------------------------------------------------------------
2 --// -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
2 --// --
2 --// --                  All Rights Reserved.
2 --// --
2 --// -- Permission to use, copy, modify, and distribute this software and its
2 --// -- documentation for any purpose and without fee is hereby granted,
2 --// -- provided that the above copyright notice(s) appear in all copies and that
2 --// -- both that copyright notice(s) and this permission notice appear in
2 --// -- supporting documentation, and that the names of Rational not be used in
2 --// -- advertising or publicity pertaining to distribution of the software
2 --// -- without specific, written prior permission.
2 --// --
2 --// -- Rational disclaims all warranties with regard to this software, including
2 --// -- all implied warranties of merchantability and fitness, in no event shall
2 --// -- Rational be liable for any special, indirect or consequential damages or
2 --// -- any damages whatsoever resulting from loss of use, data or profits, whether
2 --// -- in an action of contract, negligence or other tortious action, arising out
2 --// -- of or in connection with the use or performance of this software.
2 --// ------------------------------------------------------------------------------
2 --// ------------------------------------------------------------------------------
2 --// -- Command line arguments:
2 --// --
2 --// --  -display <name> - Display   - Specifies the display to use for the game.
2 --// --  -geometry <geom>- Geometry  - Specifies the window geometry
2 --// --  -b              - Backing_Store - Requests backing stroe
2 --// --  -s              - Save_Under    - Requests save unders
2 --// --  -bw <number>    - Border_Width  - Specifies the border width
2 --// --
2 --// -- Run the xev program.
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     Argc    : Integer;
2 --//     Argvi   : Integer;
2 --//
2 --/ if Cdf_Hpux then
2 --//     Argv : constant Command_Line.String_Ptr_Array := Command_Line.Arguments;
2 --/ elsif TeleGen2 and then Unix then
2 --//     Argv : X_String (1 .. 1024);
2 --//     Argvlen : Integer;

* Change 82..95
1 
1 --
1 
1     procedure Usage (Result : Integer) is  
1         procedure P (S : String) renames Text_Io.Put_Line;  
1     begin
1 
1         P ("Usage: xev [-display <display>]");  
1         P ("  -help              - display this printout");  
1         P ("  -display <display> - display to use");  
1         P ("  -geometry <geom>   - the window geometry");  
1         P ("  -b Not_Useful/When_Mapped/Always - request backing store");  
1         P ("  -s                 - request save under");  
1         P ("  -bw <number>       - set window border widths");
-----
2 --//
2 --//     Display       : X_String_Pointer;
2 --//     Geometry      : X_String_Pointer;
2 --//     Backing_Store : X_Backing_Store_Hint := Not_Useful;
2 --//     Save_Under    : Boolean              := False;
2 --//     Border_Width  : U_Short              := 2;
2 --//     Sync          : boolean              := False;
2 --//
2 --// --

* Change 97
1         Process_Control.Exit_Execution (Unix_Types.Integer_32 (Result));
-----
2 --//     function Get_Argv (Position    : Integer;
2 --//                        Arg_Ptr     : System.Address;
2 --//                        Arg_Max_Len : Integer) return Integer;
2 --//     pragma Interface (C, Get_Argv);
2 --//     pragma Linkname (Get_Argv, "Xlbmt_Get_ArgV");
2 --//
2 --//     function Get_Argc return Integer;
2 --//     pragma Interface (C, Get_Argc);
2 --//     pragma Linkname (Get_Argc, "Xlbmt_Get_ArgC");
2 --//
2 --/ end if;
2 --//
2 --// --
2 --//     procedure Usage (Result : Integer) is
2 --//         procedure P (S : String) renames Text_Io.Put_Line;
2 --//     begin
2 --//
2 --//         P ("Usage: xev [-display <display>]");
2 --//         P ("  -help              - display this printout");
2 --//         P ("  -display <display> - display to use");
2 --//         P ("  -geometry <geom>   - the window geometry");
2 --//         P ("  -b Not_Useful/When_Mapped/Always - request backing store");
2 --//         P ("  -s                 - request save under");
2 --//         P ("  -bw <number>       - set window border widths");
2 --/ if cdf_hpux then
2 --//         System_Interface.Process.Ext (Result);
2 --/ elsif TeleGen2 and then Unix then
2 --//         Process_Control.Exit_Execution (Unix_Types.Integer_32 (Result));

* Change 99..216
1 
1     end Usage;
1 
1 --
1 
1     procedure Next_Arg is  
1     begin  
1         Argvlen := Get_Argv (Argvi,  
1                              Argv (Argv'First)'Address,  
1                              Argv'Length);  
1         Argvi   := Argvi + 1;  
1     end Next_Arg;
1 
1     function This_Arg return X_String is  
1     begin  
1         return Argv (1 .. S_Natural (Argvlen));  
1     end This_Arg;
1 
1 --
1 
1 begin
1 
1 ----Process the command line arguments.  Skip the 0'th argument, it is just
1 --  our command name.
1 
1     Argc  := Get_Argc;  
1     Argvi := 1;  
1     while Argvi < Argc loop  
1         Next_Arg;
1 
1 ---- -display <name> - Display   - Specifies the display to use
1 
1         if This_Arg = "-display" and then Argvi < Argc then  
1             Next_Arg;  
1             Display := new X_String'(This_Arg);
1 
1 ---- -help           - Help      - Specifies that a help list be displaye
1 
1         elsif Argv (1 .. S_Natural (Argvlen)) = "-help" then  
1             Usage (0);
1 
1 ---- -geometry       - Geometry  - Specifies the window geometry
1 
1         elsif This_Arg = "-geometry" and then Argvi < Argc then  
1             Next_Arg;  
1             Geometry := new X_String'(This_Arg);
1 
1 ---- -bw <number>   - Border_Width - border width
1 
1         elsif This_Arg = "-bw" and then Argvi < Argc then  
1             Next_Arg;  
1             begin  
1                 Border_Width := U_Short'Value (To_String (This_Arg));  
1             exception  
1                 when others =>  
1                     Text_Io.Put_Line  
1                        ("Bad argument to -bw, expected a small number: " &  
1                         To_String (This_Arg));  
1                     Usage (0);  
1             end;
1 
1 ---- -b    - Backing_Store
1 
1         elsif This_Arg = "-b" and then Argvi < Argc then  
1             Next_Arg;  
1             begin  
1                 Backing_Store := X_Backing_Store_Hint'Value  
1                                     (To_String (This_Arg));  
1             exception  
1                 when others =>  
1                     Text_Io.Put_Line  
1                        ("Bad argument to -b, expected Not_Useful/When_Mapped/Always: " &  
1                         To_String (This_Arg));  
1                     Usage (0);  
1             end;
1 
1 ---- -s    - Save_Under
1 
1         elsif This_Arg = "-s" then  
1             Save_Under := True;
1 
1 ---- -sync    - Synchronous
1 
1         elsif This_Arg = "-sync" then  
1             Sync := True;
1 
1 ----Anything else is an error.
1 
1         else  
1             Text_Io.Put_Line
1                ("Unrecognized command line option: {" &  
1                 To_String (  
1                            Argv (1 .. S_Natural (Argvlen)) & "}"));  
1             Usage (1);  
1         end if;  
1     end loop;
1 
1 ----We must have a display.
1 
1     if Display = None_X_String_Pointer then  
1         Display := new X_String'(X_Display_Name (""));  
1     end if;
1 
1 ----Create the output filename.
1 
1     if Geometry = None_X_String_Pointer then  
1         Geometry := new X_String'("");  
1     end if;
1 
1     if Sync then  
1         Xlbit_Library3.X_Lib.Set_Debug (True);  
1     end if;  
1     Xev_Main.Main (Display       => Display.all,  
1                    Geometry      => Geometry.all,  
1                    Backing_Store => Backing_Store,  
1                    Save_Under    => Save_Under,  
1                    Border_Width  => Border_Width);
1 
-----
2 --//
2 --//     end Usage;
2 --//
2 --// --
2 --//     procedure Next_Arg is
2 --//     begin

* Insert after 217
2 --//         Argvlen := Get_Argv (Argvi,
2 --//                              Argv (Argv'First)'Address,
2 --//                              Argv'Length);
2 --/ end if;
2 --//         Argvi   := Argvi + 1;
2 --//     end Next_Arg;
2 --//
2 --//     function This_Arg return X_String is
2 --//     begin
2 --/ if Cdf_Hpux then
2 --//         return To_X_String (Argv (Argvi - 1).all);
2 --/ elsif TeleGen2 and then Unix then
2 --//         return Argv (1 .. S_Natural (Argvlen));
2 --/ end if;
2 --//     end This_Arg;
2 --//
2 --// --
2 --// begin
2 --//
2 --// ----Process the command line arguments.  Skip the 0'th argument, it is just
2 --// --  our command name.
2 --//
2 --/ if Cdf_Hpux then
2 --//     Argc := Command_Line.Argc;
2 --/ elsif TeleGen2 and then Unix then
2 --//     Argc  := Get_Argc;
2 --/ end if;
2 --//
2 --//     Argvi := 1;
2 --//     while Argvi < Argc loop
2 --//         Next_Arg;
2 --//
2 --// ---- -display <name> - Display   - Specifies the display to use
2 --//
2 --//         if This_Arg = "-display" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             Display := new X_String'(This_Arg);
2 --//
2 --// ---- -help           - Help      - Specifies that a help list be displaye
2 --//
2 --//         elsif This_Arg = "-help" then
2 --//             Usage (0);
2 --//
2 --// ---- -geometry       - Geometry  - Specifies the window geometry
2 --//
2 --//         elsif This_Arg = "-geometry" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             Geometry := new X_String'(This_Arg);
2 --//
2 --// ---- -bw <number>   - Border_Width - border width
2 --//
2 --//         elsif This_Arg = "-bw" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             begin
2 --//                 Border_Width := U_Short'Value (To_String (This_Arg));
2 --//             exception
2 --//                 when others =>
2 --//                     Text_Io.Put_Line
2 --//                        ("Bad argument to -bw, expected a small number: " &
2 --//                         To_String (This_Arg));
2 --//                     Usage (0);
2 --//             end;
2 --//
2 --// ---- -b    - Backing_Store
2 --//
2 --//         elsif This_Arg = "-b" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             begin
2 --//                 Backing_Store := X_Backing_Store_Hint'Value
2 --//                                        (To_String (This_Arg));
2 --//             exception
2 --//                 when others =>
2 --//                     Text_Io.Put_Line
2 --//                        ("Bad argument to -b, expected Not_Useful/When_Mapped/Always: " &
2 --//                         To_String (This_Arg));
2 --//                     Usage (0);
2 --//             end;
2 --//
2 --// ---- -s    - Save_Under
2 --//
2 --//         elsif This_Arg = "-s" then
2 --//             Save_Under := True;
2 --//
2 --// ---- -sync    - Synchronous
2 --//
2 --//         elsif This_Arg = "-sync" then
2 --//             Sync := True;
2 --//
2 --// ----Anything else is an error.
2 --//
2 --//         else
2 --//             Text_Io.Put_Line ("Unrecognized command line option: {" &
2 --//                               To_String (This_Arg) & "}");
2 --//             Usage (1);
2 --//         end if;
2 --//     end loop;
2 --//
2 --// ----We must have a display.
2 --//
2 --//     if Display = None_X_String_Pointer then
2 --//         Display := new X_String'(X_Display_Name (""));
2 --//     end if;
2 --//
2 --// ----Create the output filename.
2 --//
2 --//     if Geometry = None_X_String_Pointer then
2 --//         Geometry := new X_String'("");
2 --//     end if;
2 --//
2 --//     if Sync then
2 --//         Xlbit_Library3.X_Lib.Set_Debug (True);
2 --//     end if;
2 --//     Xev_Main.Main (Display       => Display.all,
2 --//                    Geometry      => Geometry.all,
2 --//                    Backing_Store => Backing_Store,
2 --//                    Save_Under    => Save_Under,
2 --//                    Border_Width  => Border_Width);
2 --//
2 --/ if Cdf_Hpux then
2 --//     System_Interface.Process.Ext (0);
2 --/ elsif TeleGen2 and then Unix then

* Insert after 218
2 --/ end if;
2 --//
2 --// end Xev_Unix;
2 --/ if cdf_hpux then
2 --// pragma Main;

* Change 220..222
1 
1 end Xev_Unix;
1 
-----
2 --//
15:59:17 ::: [end of File_Utilities.Difference].
15:59:18 !!! Only in !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.
15:59:18 !!! .SOURCE.XLOAD.GET_LOAD_C.
15:59:18 !!! Only in !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.
15:59:18 !!! .SOURCE.XLOAD.SCAN_LOCAL_NAMES.
15:59:18 !!! Only in !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.
15:59:18 !!! .SOURCE.XLOAD.XLOAD_C.
15:59:18 !!! Only in !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.
15:59:18 !!! .SOURCE.XLOAD.XLOAD_ICON'BODY.
15:59:18 !!! Only in !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.
15:59:18 !!! .SOURCE.XLOAD.XLOAD_ICON'SPEC.
15:59:18 !!! Only in !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.
15:59:18 !!! .SOURCE.XLOAD.XLOAD_MAIN'BODY.
15:59:18 !!! Only in !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.
15:59:18 !!! .SOURCE.XLOAD.XLOAD_MAIN'SPEC.
15:59:18 !!! Only in !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.
15:59:18 !!! .SOURCE.XLOAD.XLOAD_MAN.
15:59:18 !!! Only in !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.
15:59:18 !!! .SOURCE.XLOAD.XLOAD_UNIX'BODY.
15:59:18 !!! Only in !X11.X_CLIENTS.REV6_0_0_WORKING.UNITS.
15:59:18 !!! .SOURCE.XLOAD.XLOAD_UNIX'SPEC.
15:59:18 ::: [Diff done.].
15:59:18 --- ------------------------------------------------------------
15:59:18 --- Diff(!X11.X_Demos.Rev5_6_2_Working.Units,!X11.X_Demos.
15:59:18 ... Rev6_0_0_Working.Units).
15:59:42 ::: [Diff("!X11.X_Demos.Rev5_6_2_Working.Units.[??,~??.@_Log,~??.
15:59:42 ... Aaa_Load_@,~??.Documentation.??,~??.Ship_To.??,~??'c(Library,
15:59:42 ... Binary)]","!X11.X_Demos.Rev6_0_0_Working.Units.[??,~??.@_Log,~??.
15:59:42 ... Aaa_Load_@,~??.Documentation.??,~??.Ship_To.??,~??'c(Library,
15:59:42 ... Binary)]",TRUE);].
15:59:42 --- Resolve Old_Files.
16:00:17 --- Resolve New_Files.
16:00:55 --- Compare Old_Files to New_Files.
16:01:04 !!! Only in !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.
16:01:04 !!! .COMMANDS.WORMS'BODY.
16:01:04 !!! Only in !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.
16:01:04 !!! .COMMANDS.WORMS'SPEC.
16:01:09 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:01:09 ... SOURCE.DRAGON.BOARD'BODY'V(9)", "!X11.X_DEMOS.REV6_0_0_WORKING.
16:01:09 ... UNITS.SOURCE.DRAGON.BOARD'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.DRAGON.BOARD'BODY
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.DRAGON.BOARD'BODY
* Change 440
1 ---
-----
2 --

* Change 1068..1069
1         Ran_Data := Ran1_Initialize (S_Natural  
1                                         (Clk * Duration (Natural'Last / 101)));  
-----
2         Ran_Data := Ran1_Initialize  
2                        (S_Natural (Float (Clk) * Float (Natural'Last / 101)));  
16:01:16 ::: [end of File_Utilities.Difference].
16:01:22 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:01:22 ... SOURCE.DRAGON.BUTTON'BODY'V(9)", "!X11.X_DEMOS.REV6_0_0_WORKING.
16:01:22 ... UNITS.SOURCE.DRAGON.BUTTON'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.DRAGON.BUTTON'BODY
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.DRAGON.BUTTON'BODY
* Change 240..241
1         Name : constant String := X_Env_Concat_Dir_File  
1                                      (X_Env_Get_Home_Dir, "dragon_save");
-----
2         Name : constant X_String := X_Env_Concat_Dir_File  
2                                        (X_Env_Get_Home_Dir, "dragon_save");

* Change 243
1 --//         Name : constant String :=
-----
2 --//         Name : constant X_String :=

* Change 250
1             Text_Io.Open (File, Text_Io.In_File, Name);  
-----
2             Text_Io.Open (File, Text_Io.In_File, To_String (Name));  

* Change 253
1                 Text_Io.Put_Line ("Cannot open the " & Name &  
-----
2                 Text_Io.Put_Line ("Cannot open the " & To_String (Name) &  

* Change 270..271
1         Name : constant String := X_Env_Concat_Dir_File  
1                                      (X_Env_Get_Home_Dir, "dragon_save");
-----
2         Name : constant X_String := X_Env_Concat_Dir_File  
2                                        (X_Env_Get_Home_Dir, "dragon_save");

* Change 273
1 --//         Name : constant String :=
-----
2 --//         Name : constant X_String :=

* Change 280
1             Text_Io.Open (File, Text_Io.Out_File, Name);  
-----
2             Text_Io.Open (File, Text_Io.Out_File, To_String (Name));  

* Change 284
1                     Text_Io.Create (File, Text_Io.Out_File, Name);  
-----
2                     Text_Io.Create (File, Text_Io.Out_File, To_String (Name));  

* Change 287
1                         Text_Io.Put_Line ("Cannot open the " & Name &  
-----
2                         Text_Io.Put_Line ("Cannot open the " &  
2                                           To_String (Name) &  
16:01:31 ::: [end of File_Utilities.Difference].
16:01:34 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:01:34 ... SOURCE.DRAGON.DRAGON_UNIX'BODY'V(4)", "!X11.X_DEMOS.
16:01:34 ... REV6_0_0_WORKING.UNITS.SOURCE.DRAGON.DRAGON_UNIX'BODY'V(1)", "", 
16:01:34 ... TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.DRAGON.DRAGON_UNIX'BODY
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.DRAGON.DRAGON_UNIX'BODY
* Change 1..5
1 with Process_Control;                   -- Unix process control; exit(n)
1 with Unix_Types;                        -- Unix types
1 --/ end if;
1 
1 with System;  
-----
2 --/ if R1000 then

* Delete 7..50
1 
1 with Main;
1 
1 with Xlbt_Arithmetic;  
1 use Xlbt_Arithmetic;  
1 with Xlbt_String;  
1 use Xlbt_String;
1 
1 with Xlbp_Display;  
1 use Xlbp_Display;
1 
1 procedure Dragon_Unix is
1 ------------------------------------------------------------------------------
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
1 --
1 --                  All Rights Reserved.
1 --
1 -- Permission to use, copy, modify, and distribute this software and its
1 -- documentation for any purpose and without fee is hereby granted,
1 -- provided that the above copyright notice(s) appear in all copies and that
1 -- both that copyright notice(s) and this permission notice appear in
1 -- supporting documentation, and that the names of Rational not be used in
1 -- advertising or publicity pertaining to distribution of the software
1 -- without specific, written prior permission.
1 --
1 -- Rational disclaims all warranties with regard to this software, including
1 -- all implied warranties of merchantability and fitness, in no event shall
1 -- Rational be liable for any special, indirect or consequential damages or
1 -- any damages whatsoever resulting from loss of use, data or profits, whether
1 -- in an action of contract, negligence or other tortious action, arising out
1 -- of or in connection with the use or performance of this software.
1 ------------------------------------------------------------------------------
1 ------------------------------------------------------------------------------
1 -- Command line arguments:
1 --
1 --  -display <name> - Display   - Specifies the display to use for the game.
1 --
1 -- Run the Dragon program.  Put up a window with a "star" in it.
1 ------------------------------------------------------------------------------
1 
1     Argc    : Integer;  
1     Argvi   : Integer;  
1     Argv    : X_String (1 .. 1024);  
1     Argvlen : Integer;

* Change 52
1     Display : X_String_Pointer := new X_String'("");
-----
2 procedure Dragon_Unix is  
2 begin  
2     Text_Io.Put_Line ("This procedure is only for Unix versions.");  
2 end Dragon_Unix;

* Change 54
1 --
-----
2 --/ else -- not R1000
2 --//
2 --/ if Cdf_Hpux then
2 --// with Command_Line;
2 --// with System_Interface;
2 --/ elsif TeleGen2 and then Unix then
2 --// with Process_Control;                   -- Unix process control; exit(n)
2 --// with Unix_Types;                        -- Unix types
2 --/ end if;
2 --//
2 --// with System;
2 --// with Text_Io;
2 --//
2 --// with Main;
2 --//
2 --// with Xlbt_Arithmetic;
2 --// use Xlbt_Arithmetic;
2 --// with Xlbt_String;
2 --// use Xlbt_String;
2 --//
2 --// with Xlbp_Display;
2 --// use Xlbp_Display;
2 --//
2 --// procedure Dragon_Unix is
2 --// ------------------------------------------------------------------------------
2 --// -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
2 --// --
2 --// --                  All Rights Reserved.
2 --// --
2 --// -- Permission to use, copy, modify, and distribute this software and its
2 --// -- documentation for any purpose and without fee is hereby granted,
2 --// -- provided that the above copyright notice(s) appear in all copies and that
2 --// -- both that copyright notice(s) and this permission notice appear in
2 --// -- supporting documentation, and that the names of Rational not be used in
2 --// -- advertising or publicity pertaining to distribution of the software
2 --// -- without specific, written prior permission.
2 --// --
2 --// -- Rational disclaims all warranties with regard to this software, including
2 --// -- all implied warranties of merchantability and fitness, in no event shall
2 --// -- Rational be liable for any special, indirect or consequential damages or
2 --// -- any damages whatsoever resulting from loss of use, data or profits, whether
2 --// -- in an action of contract, negligence or other tortious action, arising out
2 --// -- of or in connection with the use or performance of this software.
2 --// ------------------------------------------------------------------------------
2 --// ------------------------------------------------------------------------------
2 --// -- Command line arguments:
2 --// --
2 --// --  -display <name> - Display   - Specifies the display to use for the game.
2 --// --
2 --// -- Run the Dragon program.  Put up a window with a "star" in it.
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     Argc    : Integer;
2 --//     Argvi   : Integer;
2 --//
2 --/ if Cdf_Hpux then
2 --//     Argv : constant Command_Line.String_Ptr_Array := Command_Line.Arguments;
2 --/ elsif TeleGen2 and then Unix then
2 --//     Argv    : X_String (1 .. 1024);
2 --//     Argvlen : Integer;
2 --/ end if;
2 --//
2 --//     Display : X_String_Pointer := new X_String'("");
2 --//
2 --// --

* Change 56..65
1     function Get_Argv (Position    : Integer;  
1                        Arg_Ptr     : System.Address;  
1                        Arg_Max_Len : Integer) return Integer;  
1     pragma Interface (C, Get_Argv);  
1     pragma Linkname (Get_Argv, "Xlbmt_Get_ArgV");
1 
1     function Get_Argc return Integer;  
1     pragma Interface (C, Get_Argc);  
1     pragma Linkname (Get_Argc, "Xlbmt_Get_ArgC");
1 
-----
2 --//     function Get_Argv (Position    : Integer;
2 --//                        Arg_Ptr     : System.Address;
2 --//                        Arg_Max_Len : Integer) return Integer;
2 --//     pragma Interface (C, Get_Argv);
2 --//     pragma Linkname (Get_Argv, "Xlbmt_Get_ArgV");
2 --//
2 --//     function Get_Argc return Integer;
2 --//     pragma Interface (C, Get_Argc);
2 --//     pragma Linkname (Get_Argc, "Xlbmt_Get_ArgC");
2 --//

* Change 67..76
1 
1 --
1 
1     procedure Usage (Result : Integer) is  
1         procedure P (S : String) renames Text_Io.Put_Line;  
1     begin
1 
1         P ("Usage: dragon [-display <display>]");  
1         P ("  -help              - display this printout");  
1         P ("  -display <display> - display to use");
-----
2 --//
2 --// --
2 --//     procedure Usage (Result : Integer) is
2 --//         procedure P (S : String) renames Text_Io.Put_Line;
2 --//     begin
2 --//
2 --//         P ("Usage: dragon [-display <display>]");
2 --//         P ("  -help              - display this printout");
2 --//         P ("  -display <display> - display to use");

* Change 78
1         Process_Control.Exit_Execution (Unix_Types.Integer_32 (Result));
-----
2 --//         Process_Control.Exit_Execution (Unix_Types.Integer_32 (Result));

* Change 80..135
1 
1     end Usage;
1 
1 --
1 
1     procedure Next_Arg is  
1     begin  
1         Argvlen := Get_Argv (Argvi,  
1                              Argv (Argv'First)'Address,  
1                              Argv'Length);  
1         Argvi   := Argvi + 1;  
1     end Next_Arg;
1 
1     function This_Arg return X_String is  
1     begin  
1         return Argv (1 .. S_Natural (Argvlen));  
1     end This_Arg;
1 
1 --
1 
1 begin
1 
1 ----Process the command line arguments.  Skip the 0'th argument, it is just
1 --  our command name.
1 
1     Argc  := Get_Argc;  
1     Argvi := 1;  
1     while Argvi < Argc loop  
1         Next_Arg;
1 
1 ---- -display <name> - Display   - Specifies the display to use
1 
1         if This_Arg = "-display" and then Argvi < Argc then  
1             Next_Arg;  
1             Display := new X_String'(This_Arg);
1 
1 ---- -help           - Help      - Specifies that a help list be displaye
1 
1         elsif Argv (1 .. S_Natural (Argvlen)) = "-help" then  
1             Usage (0);
1 
1 ----Anything else is an error.
1 
1         else  
1             Text_Io.Put_Line
1                ("Unrecognized command line option: {" &  
1                 To_String (  
1                            Argv (1 .. S_Natural (Argvlen)) & "}"));  
1             Usage (1);  
1         end if;  
1     end loop;
1 
1 ----Create the output filename.
1 
1     Main.Main (Display => X_Display_Name (Display.all));
1 
-----
2 --//
2 --//     end Usage;
2 --//
2 --// --
2 --//     procedure Next_Arg is
2 --//     begin

* Change 137
1     Process_Control.Exit_Execution (0);      -- Program exit
-----
2 --//         Argvlen := Get_Argv (Argvi,
2 --//                              Argv (Argv'First)'Address,
2 --//                              Argv'Length);
2 --/ end if;
2 --//         Argvi   := Argvi + 1;
2 --//     end Next_Arg;
2 --//
2 --//     function This_Arg return X_String is
2 --//     begin
2 --/ if Cdf_Hpux then
2 --//         return To_X_String (Argv (Argvi - 1).all);
2 --/ elsif TeleGen2 and then Unix then
2 --//         return Argv (1 .. S_Natural (Argvlen));
2 --/ end if;
2 --//     end This_Arg;
2 --//
2 --// --
2 --// begin
2 --//
2 --// ----Process the command line arguments.  Skip the 0'th argument, it is just
2 --// --  our command name.
2 --//
2 --/ if Cdf_Hpux then
2 --//     Argc := Command_Line.Argc;
2 --/ elsif TeleGen2 and then Unix then
2 --//     Argc  := Get_Argc;
2 --/ end if;
2 --//
2 --//     Argvi := 1;
2 --//     while Argvi < Argc loop
2 --//         Next_Arg;
2 --//
2 --// ---- -display <name> - Display   - Specifies the display to use
2 --//
2 --//         if This_Arg = "-display" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             Display := new X_String'(This_Arg);
2 --//
2 --// ---- -help           - Help      - Specifies that a help list be displaye
2 --//
2 --//         elsif This_Arg = "-help" then
2 --//             Usage (0);
2 --//
2 --// ----Anything else is an error.
2 --//
2 --//         else
2 --//             Text_Io.Put_Line ("Unrecognized command line option: {" &
2 --//                               To_String (This_Arg) & "}");
2 --//             Usage (1);
2 --//         end if;
2 --//     end loop;
2 --//
2 --// ----Create the output filename.
2 --//
2 --//     Main.Main (Display => X_Display_Name (Display.all));
2 --//
2 --/ if Cdf_Hpux then
2 --//     System_Interface.Process.Ext (0);
2 --/ elsif TeleGen2 and then Unix then
2 --//     Process_Control.Exit_Execution (0);      -- Program exit
2 --/ end if;
2 --//
2 --// end Dragon_Unix;
2 --/ if Cdf_Hpux then
2 --// pragma Main;

* Change 139..141
1 
1 end Dragon_Unix;
1 
-----
2 --//
16:01:35 ::: [end of File_Utilities.Difference].
16:01:36 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:01:36 ... SOURCE.DRAGON.DRAGON_UNIX'SPEC'V(1)", "!X11.X_DEMOS.
16:01:36 ... REV6_0_0_WORKING.UNITS.SOURCE.DRAGON.DRAGON_UNIX'SPEC'V(1)", "", 
16:01:36 ... TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.DRAGON.DRAGON_UNIX'SPEC
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.DRAGON.DRAGON_UNIX'SPEC
* Change 3
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
16:01:37 ::: [end of File_Utilities.Difference].
16:01:53 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:01:53 ... SOURCE.DRAGON.ICON'BODY'V(5)", "!X11.X_DEMOS.REV6_0_0_WORKING.
16:01:53 ... UNITS.SOURCE.DRAGON.ICON'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.DRAGON.ICON'BODY
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.DRAGON.ICON'BODY
* Change 294..295
1             Size     := 0;  
1             Accepted := -1;  
-----
2             Size := 0;  

* Change 297..302
1                 if 64 in Ic (I).Min_Width .. Ic (I).Max_Width and then  
1                    64 in Ic (I).Min_Height .. Ic (I).Max_Height and then  
1                    (64 - Ic (I).Min_Width) rem Ic (I).Width_Inc = 0 and then  
1                    (64 - Ic (I).Min_Height) rem Ic (I).Height_Inc = 0 then  
1                     Accepted := I;  
1                     Size     := 64;  
-----
2                 if Ic (I).Width_Inc = 0 or else  
2                    Ic (I).Height_Inc = 0 then  
2                     if Ic (I).Min_Width = 64 and then  
2                        Ic (I).Min_Height = 64 then  
2                         Size := 64;  
2                         exit;  
2                     elsif Ic (I).Min_Width >= 64 and then  
2                           Ic (I).Min_Height >= 64 then  
2                         Size := 64;  
2                     elsif Ic (I).Min_Width = 32 and then  
2                           Ic (I).Min_Height = 32 then  
2                         Size := 32;  
2                         exit;  
2                     elsif Ic (I).Min_Width >= 32 and then  
2                           Ic (I).Min_Height >= 32 then  
2                         Size := 32;  
2                     else  
2                         Size := 32;  
2                     end if;  
2                 elsif 64 in Ic (I).Min_Width .. Ic (I).Max_Width and then  
2                       64 in Ic (I).Min_Height .. Ic (I).Max_Height and then  
2                       (64 - Ic (I).Min_Width) rem Ic (I).Width_Inc = 0 and then  
2                       (64 - Ic (I).Min_Height) rem Ic (I).Height_Inc = 0 then  
2                     Size := 64;  

* Change 309..310
1                     Accepted := I;  
1                     Size     := 32;  
-----
2                     Size := 32;  

* Change 315..316
1                     Accepted := I;  
1                     Size     := 32;  
-----
2                     Size := 32;  
16:01:57 ::: [end of File_Utilities.Difference].
16:02:02 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:02:02 ... SOURCE.DRAGON.MAIN'BODY'V(5)", "!X11.X_DEMOS.REV6_0_0_WORKING.
16:02:02 ... UNITS.SOURCE.DRAGON.MAIN'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.DRAGON.MAIN'BODY
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.DRAGON.MAIN'BODY
* Change 298
1         Geom_Result := None_X_Parse_Value;  
-----
2         Geom_Result := None_X_Parse_Geometry_Flags;  
16:02:07 ::: [end of File_Utilities.Difference].
16:04:25 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:04:25 ... SOURCE.ICO.ICO_MAIN'BODY'V(5)", "!X11.X_DEMOS.REV6_0_0_WORKING.
16:04:25 ... UNITS.SOURCE.ICO.ICO_MAIN'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.ICO.ICO_MAIN'BODY
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.ICO.ICO_MAIN'BODY
* Change 738
1                 X_Fill_Polygon (Dpy, Win.Drawable, Gc, Ppts,  
-----
2                 X_Fill_Polygon (Dpy, Win.Drawable, Gc, Ppts (0 .. Pcount - 1),  

* Change 1191..1192
1         Ran_Data := Ran1_Initialize (S_Natural  
1                                         (Clk * Duration (Natural'Last / 101)));  
-----
2         Ran_Data := Ran1_Initialize  
2                        (S_Natural (Float (Clk) * Float (Natural'Last / 101)));  
16:04:34 ::: [end of File_Utilities.Difference].
16:04:42 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:04:42 ... SOURCE.ICO.ICO_UNIX'BODY'V(4)", "!X11.X_DEMOS.REV6_0_0_WORKING.
16:04:42 ... UNITS.SOURCE.ICO.ICO_UNIX'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.ICO.ICO_UNIX'BODY
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.ICO.ICO_UNIX'BODY
* Change 1..5
1 with Process_Control;                   -- Unix process control; exit(n)
1 with Unix_Types;                        -- Unix types
1 --/ end if;
1 
1 with System;  
-----
2 --/ if R1000 then

* Delete 7..81
1 
1 with Ico_Main;
1 
1 with Xlbt_Arithmetic;  
1 use Xlbt_Arithmetic;  
1 with Xlbt_String;  
1 use Xlbt_String;
1 
1 with Xlbp_Display;  
1 use Xlbp_Display;
1 
1 procedure Ico_Unix is
1 ------------------------------------------------------------------------------
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
1 --
1 --                  All Rights Reserved.
1 --
1 -- Permission to use, copy, modify, and distribute this software and its
1 -- documentation for any purpose and without fee is hereby granted,
1 -- provided that the above copyright notice(s) appear in all copies and that
1 -- both that copyright notice(s) and this permission notice appear in
1 -- supporting documentation, and that the names of Rational not be used in
1 -- advertising or publicity pertaining to distribution of the software
1 -- without specific, written prior permission.
1 --
1 -- Rational disclaims all warranties with regard to this software, including
1 -- all implied warranties of merchantability and fitness, in no event shall
1 -- Rational be liable for any special, indirect or consequential damages or
1 -- any damages whatsoever resulting from loss of use, data or profits, whether
1 -- in an action of contract, negligence or other tortious action, arising out
1 -- of or in connection with the use or performance of this software.
1 ------------------------------------------------------------------------------
1 ------------------------------------------------------------------------------
1 -- Command line arguments:
1 --
1 --  -display <name> - Display   - Specifies the display to use
1 --  -obj <object>   - Object    - Specifies the object to use
1 --  -noedges        - Edges     - Specifies that edges are invisible
1 --  -faces          - Faces     - Specifies that faces are drawn
1 --  -geometry <geom>- Geometry  - Specifies the window geometry
1 --  -i              - Invert    - Specifies inverted/reverse colors
1 --  -colors <list>  - Colors    - Specifies a list of colors to use
1 --  -d <number>     - Dashes    - Specifies a dashed-line patter to use
1 --  -sleep <secs>   - Sleep     - Specifies a sleep interval
1 --  -dbl            - Double_Buffer - Specifies that double buffering occur
1 --  -r              - Root      - Specfies that the root window is to be used
1 --  -help           - Help      - Specifies that a help list be displaye
1 --
1 -- Run the ico program.
1 ------------------------------------------------------------------------------
1 
1     Argc    : Integer;  
1     Argvi   : Integer;  
1     Argv    : X_String (1 .. 1024);  
1     Argvlen : Integer;
1 
1     Display       : X_String_Pointer;  
1     Object        : X_String_Pointer;  
1     Edges         : Boolean   := True;  
1     Faces         : Boolean   := False;  
1     Geometry      : X_String_Pointer;  
1     Invert        : Boolean   := False;  
1     Colors        : X_String_Pointer;  
1     Dashes        : S_Natural := 0;  
1     Sleep         : Duration  := 0.0;  
1     Double_Buffer : Boolean   := False;  
1     Use_Root      : Boolean   := False;
1 
1 --
1 --/ if TeleGen2 and then Unix then
1     function Get_Argv (Position    : Integer;  
1                        Arg_Ptr     : System.Address;  
1                        Arg_Max_Len : Integer) return Integer;  
1     pragma Interface (C, Get_Argv);  
1     pragma Linkname (Get_Argv, "Xlbmt_Get_ArgV");

* Change 83..85
1     function Get_Argc return Integer;  
1     pragma Interface (C, Get_Argc);  
1     pragma Linkname (Get_Argc, "Xlbmt_Get_ArgC");
-----
2 procedure Ico_Unix is  
2 begin  
2     Text_Io.Put_Line ("This procedure is only for Unix versions.");  
2 end Ico_Unix;

* Insert after 86
2 --/ else -- not R1000
2 --//
2 --/ if Cdf_Hpux then
2 --// with Command_Line;
2 --// with System_Interface;
2 --/ elsif TeleGen2 and then Unix then
2 --// with Process_Control;                   -- Unix process control; exit(n)
2 --// with Unix_Types;                        -- Unix types
2 --/ end if;
2 --//
2 --// with System;
2 --// with Text_Io;
2 --//
2 --// with Ico_Main;
2 --//
2 --// with Xlbt_Arithmetic;
2 --// use Xlbt_Arithmetic;
2 --// with Xlbt_String;
2 --// use Xlbt_String;
2 --//
2 --// with Xlbp_Display;
2 --// use Xlbp_Display;
2 --//
2 --// procedure Ico_Unix is
2 --// ------------------------------------------------------------------------------
2 --// -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
2 --// --
2 --// --                  All Rights Reserved.
2 --// --
2 --// -- Permission to use, copy, modify, and distribute this software and its
2 --// -- documentation for any purpose and without fee is hereby granted,
2 --// -- provided that the above copyright notice(s) appear in all copies and that
2 --// -- both that copyright notice(s) and this permission notice appear in
2 --// -- supporting documentation, and that the names of Rational not be used in
2 --// -- advertising or publicity pertaining to distribution of the software
2 --// -- without specific, written prior permission.
2 --// --
2 --// -- Rational disclaims all warranties with regard to this software, including
2 --// -- all implied warranties of merchantability and fitness, in no event shall
2 --// -- Rational be liable for any special, indirect or consequential damages or
2 --// -- any damages whatsoever resulting from loss of use, data or profits, whether
2 --// -- in an action of contract, negligence or other tortious action, arising out
2 --// -- of or in connection with the use or performance of this software.
2 --// ------------------------------------------------------------------------------
2 --// ------------------------------------------------------------------------------
2 --// -- Command line arguments:
2 --// --
2 --// --  -display <name> - Display   - Specifies the display to use
2 --// --  -obj <object>   - Object    - Specifies the object to use
2 --// --  -noedges        - Edges     - Specifies that edges are invisible
2 --// --  -faces          - Faces     - Specifies that faces are drawn
2 --// --  -geometry <geom>- Geometry  - Specifies the window geometry
2 --// --  -i              - Invert    - Specifies inverted/reverse colors
2 --// --  -colors <list>  - Colors    - Specifies a list of colors to use
2 --// --  -d <number>     - Dashes    - Specifies a dashed-line patter to use
2 --// --  -sleep <secs>   - Sleep     - Specifies a sleep interval
2 --// --  -dbl            - Double_Buffer - Specifies that double buffering occur
2 --// --  -r              - Root      - Specfies that the root window is to be used
2 --// --  -help           - Help      - Specifies that a help list be displaye
2 --// --
2 --// -- Run the ico program.
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     Argc    : Integer;
2 --//     Argvi   : Integer;
2 --//
2 --/ if Cdf_Hpux then
2 --//     Argv : constant Command_Line.String_Ptr_Array := Command_Line.Arguments;
2 --/ elsif TeleGen2 and then Unix then
2 --//     Argv    : X_String (1 .. 1024);
2 --//     Argvlen : Integer;

* Change 88..107
1 
1 --
1 
1     procedure Usage (Result : Integer) is  
1         procedure P (S : String) renames Text_Io.Put_Line;  
1     begin
1 
1         P ("Usage: ico [-display <display>]");  
1         P ("  -help               - display this printout");  
1         P ("  -display <display>  - display to use");  
1         P ("  -obj <object>       - object to draw; cube, ico, tetra");  
1         P ("  -noedges            - edges are invisible");  
1         P ("  -faces              - faces are drawn");  
1         P ("  -geometry <geom>    - the window geometry");  
1         P ("  -i                  - inverted/reverse colors");  
1         P ("  -colors <list>      - list of colors to use");  
1         P ("  -d <number>         - dashed-line patter to use");  
1         P ("  -sleep <secs>       - sleep interval, eg. 0.5");  
1         P ("  -dbl                - double buffering");  
1         P ("  -r                  - root window is to be used");
-----
2 --//
2 --//     Display       : X_String_Pointer;
2 --//     Object        : X_String_Pointer;
2 --//     Edges         : Boolean   := True;
2 --//     Faces         : Boolean   := False;
2 --//     Geometry      : X_String_Pointer;
2 --//     Invert        : Boolean   := False;
2 --//     Colors        : X_String_Pointer;
2 --//     Dashes        : S_Natural := 0;
2 --//     Sleep         : Duration  := 0.0;
2 --//     Double_Buffer : Boolean   := False;
2 --//     Use_Root      : Boolean   := False;
2 --//
2 --// --

* Change 109
1         Process_Control.Exit_Execution (Unix_Types.Integer_32 (Result));
-----
2 --//     function Get_Argv (Position    : Integer;
2 --//                        Arg_Ptr     : System.Address;
2 --//                        Arg_Max_Len : Integer) return Integer;
2 --//     pragma Interface (C, Get_Argv);
2 --//     pragma Linkname (Get_Argv, "Xlbmt_Get_ArgV");
2 --//
2 --//     function Get_Argc return Integer;
2 --//     pragma Interface (C, Get_Argc);
2 --//     pragma Linkname (Get_Argc, "Xlbmt_Get_ArgC");
2 --//
2 --/ end if;
2 --//
2 --// --
2 --//     procedure Usage (Result : Integer) is
2 --//         procedure P (S : String) renames Text_Io.Put_Line;
2 --//     begin
2 --//
2 --//         P ("Usage: ico [-display <display>]");
2 --//         P ("  -help               - display this printout");
2 --//         P ("  -display <display>  - display to use");
2 --//         P ("  -obj <object>       - object to draw; cube, ico, tetra");
2 --//         P ("  -noedges            - edges are invisible");
2 --//         P ("  -faces              - faces are drawn");
2 --//         P ("  -geometry <geom>    - the window geometry");
2 --//         P ("  -i                  - inverted/reverse colors");
2 --//         P ("  -colors <list>      - list of colors to use");
2 --//         P ("  -d <number>         - dashed-line patter to use");
2 --//         P ("  -sleep <secs>       - sleep interval, eg. 0.5");
2 --//         P ("  -dbl                - double buffering");
2 --//         P ("  -r                  - root window is to be used");
2 --/ if Cdf_Hpux then
2 --//         System_Interface.Process.Ext (Result);
2 --/ elsif TeleGen2 and then Unix then
2 --//         Process_Control.Exit_Execution (Unix_Types.Integer_32 (Result));

* Change 111..267
1 
1     end Usage;
1 
1 --
1 
1     procedure Next_Arg is  
1     begin  
1         Argvlen := Get_Argv (Argvi,  
1                              Argv (Argv'First)'Address,  
1                              Argv'Length);  
1         Argvi   := Argvi + 1;  
1     end Next_Arg;
1 
1     function This_Arg return X_String is  
1     begin  
1         return Argv (1 .. S_Natural (Argvlen));  
1     end This_Arg;
1 
1 --
1 
1 begin
1 
1 ----Process the command line arguments.  Skip the 0'th argument, it is just
1 --  our command name.
1 
1     Argc  := Get_Argc;  
1     Argvi := 1;  
1     while Argvi < Argc loop  
1         Next_Arg;
1 
1 ---- -display <name> - Display   - Specifies the display to use
1 
1         if This_Arg = "-display" and then Argvi < Argc then  
1             Next_Arg;  
1             Display := new X_String'(This_Arg);
1 
1 ---- -help           - Help      - Specifies that a help list be displaye
1 
1         elsif Argv (1 .. S_Natural (Argvlen)) = "-help" then  
1             Usage (0);
1 
1 ---- -obj <object>   - Object    - Specifies the object to use
1 
1         elsif This_Arg = "-obj" and then Argvi < Argc then  
1             Next_Arg;  
1             Object := new X_String'(This_Arg);
1 
1 ---- -noedges        - Edges     - Specifies that edges are invisible
1 
1         elsif This_Arg = "-noedges" then  
1             Edges := False;
1 
1 ---- -faces          - Faces     - Specifies that faces are drawn
1 
1         elsif This_Arg = "-faces" then  
1             Faces := True;
1 
1 ---- -geometry       - Geometry  - Specifies the window geometry
1 
1         elsif This_Arg = "-geometry" and then Argvi < Argc then  
1             Next_Arg;  
1             Geometry := new X_String'(This_Arg);
1 
1 ---- -i              - Invert    - Specifies inverted/reverse colors
1 
1         elsif This_Arg = "-i" then  
1             Invert := True;
1 
1 ---- -colors <list>  - Colors    - Specifies a list of colors to use
1 
1         elsif This_Arg = "-colors" and then Argvi < Argc then  
1             Next_Arg;  
1             Colors := new X_String'(This_Arg);
1 
1 ---- -d <number>     - Dashes    - Specifies a dashed-line patter to use
1 
1         elsif This_Arg = "-d" and then Argvi < Argc then  
1             Next_Arg;  
1             begin  
1                 Dashes := S_Long'Value (To_String (This_Arg)) and 16#FF#;  
1             exception  
1                 when others =>  
1                     Text_Io.Put_Line  
1                        ("Bad argument to -d, expected a number: " &  
1                         To_String (This_Arg));  
1                     Usage (0);  
1             end;
1 
1 ---- -sleep <secs>   - Sleep     - Specifies a sleep interval
1 
1         elsif This_Arg = "-sleep" and then Argvi < Argc then  
1             Next_Arg;  
1             declare  
1                 package Fooey is new Text_Io.Fixed_Io (Duration);  
1                 Void : Positive;  
1             begin  
1                 Fooey.Get (To_String (This_Arg), Sleep, Void);  
1             exception  
1                 when others =>  
1                     Text_Io.Put_Line  
1                        ("Bad argument to -sleep, expected a fixed point number: " &  
1                         To_String (This_Arg));  
1                     Usage (0);  
1             end;
1 
1 ---- -dbl            - Double_Buffer - Specifies that double buffering occur
1 
1         elsif This_Arg = "-dbl" then  
1             Double_Buffer := True;
1 
1 ---- -r              - Root      - Specfies that the root window is to be used
1 
1         elsif This_Arg = "-r" then  
1             Use_Root := True;
1 
1 ----Anything else is an error.
1 
1         else  
1             Text_Io.Put_Line
1                ("Unrecognized command line option: {" &  
1                 To_String (  
1                            Argv (1 .. S_Natural (Argvlen)) & "}"));  
1             Usage (1);  
1         end if;  
1     end loop;
1 
1 ----We must have a display.
1 
1     if Display = None_X_String_Pointer then  
1         Display := new X_String'(X_Display_Name (""));  
1     end if;
1 
1 ----Create the output filename.
1 
1     if Object = None_X_String_Pointer then  
1         Object := new X_String'("ICO");  
1     end if;  
1     if Geometry = None_X_String_Pointer then  
1         Geometry := new X_String'("");  
1     end if;  
1     if Colors = None_X_String_Pointer then  
1         Colors := new X_String'("");  
1     end if;
1 
1     Ico_Main.Main (Display       => Display.all,  
1                    Object        => To_String (Object.all),  
1                    Edges         => Edges,  
1                    Faces         => Faces,  
1                    Geometry      => Geometry.all,  
1                    Invert        => Invert,  
1                    Colors        => Colors.all,  
1                    Dashes        => Dashes,  
1                    Sleep         => Sleep,  
1                    Double_Buffer => Double_Buffer,  
1                    Use_Root      => Use_Root,  
1                    Help_Printout => False);
1 
-----
2 --//
2 --//     end Usage;
2 --//
2 --// --
2 --//     procedure Next_Arg is
2 --//     begin

* Change 269
1     Process_Control.Exit_Execution (0);      -- Program exit
-----
2 --//         Argvlen := Get_Argv (Argvi,
2 --//                              Argv (Argv'First)'Address,
2 --//                              Argv'Length);
2 --/ end if;
2 --//         Argvi   := Argvi + 1;
2 --//     end Next_Arg;
2 --//
2 --//     function This_Arg return X_String is
2 --//     begin
2 --/ if Cdf_Hpux then
2 --//         return To_X_String (Argv (Argvi - 1).all);
2 --/ elsif TeleGen2 and then Unix then
2 --//         return Argv (1 .. S_Natural (Argvlen));
2 --/ end if;
2 --//     end This_Arg;
2 --//
2 --// --
2 --// begin
2 --//
2 --// ----Process the command line arguments.  Skip the 0'th argument, it is just
2 --// --  our command name.
2 --//
2 --/ if Cdf_Hpux then
2 --//     Argc := Command_Line.Argc;
2 --/ elsif TeleGen2 and then Unix then
2 --/ end if;
2 --//
2 --//     Argc  := Get_Argc;
2 --//     Argvi := 1;
2 --//     while Argvi < Argc loop
2 --//         Next_Arg;
2 --//
2 --// ---- -display <name> - Display   - Specifies the display to use
2 --//
2 --//         if This_Arg = "-display" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             Display := new X_String'(This_Arg);
2 --//
2 --// ---- -help           - Help      - Specifies that a help list be displaye
2 --//
2 --//         elsif This_Arg = "-help" then
2 --//             Usage (0);
2 --//
2 --// ---- -obj <object>   - Object    - Specifies the object to use
2 --//
2 --//         elsif This_Arg = "-obj" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             Object := new X_String'(This_Arg);
2 --//
2 --// ---- -noedges        - Edges     - Specifies that edges are invisible
2 --//
2 --//         elsif This_Arg = "-noedges" then
2 --//             Edges := False;
2 --//
2 --// ---- -faces          - Faces     - Specifies that faces are drawn
2 --//
2 --//         elsif This_Arg = "-faces" then
2 --//             Faces := True;
2 --//
2 --// ---- -geometry       - Geometry  - Specifies the window geometry
2 --//
2 --//         elsif This_Arg = "-geometry" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             Geometry := new X_String'(This_Arg);
2 --//
2 --// ---- -i              - Invert    - Specifies inverted/reverse colors
2 --//
2 --//         elsif This_Arg = "-i" then
2 --//             Invert := True;
2 --//
2 --// ---- -colors <list>  - Colors    - Specifies a list of colors to use
2 --//
2 --//         elsif This_Arg = "-colors" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             Colors := new X_String'(This_Arg);
2 --//
2 --// ---- -d <number>     - Dashes    - Specifies a dashed-line patter to use
2 --//
2 --//         elsif This_Arg = "-d" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             begin
2 --//                 Dashes := S_Long'Value (To_String (This_Arg)) and 16#FF#;
2 --//             exception
2 --//                 when others =>
2 --//                     Text_Io.Put_Line
2 --//                        ("Bad argument to -d, expected a number: " &
2 --//                         To_String (This_Arg));
2 --//                     Usage (0);
2 --//             end;
2 --//
2 --// ---- -sleep <secs>   - Sleep     - Specifies a sleep interval
2 --//
2 --//         elsif This_Arg = "-sleep" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             declare
2 --//                 package Fooey is new Text_Io.Fixed_Io (Duration);
2 --//                 Void : Positive;
2 --//             begin
2 --//                 Fooey.Get (To_String (This_Arg), Sleep, Void);
2 --//             exception
2 --//                 when others =>
2 --//                     Text_Io.Put_Line
2 --//                        ("Bad argument to -sleep, expected a fixed point number: " &
2 --//                         To_String (This_Arg));
2 --//                     Usage (0);
2 --//             end;
2 --//
2 --// ---- -dbl            - Double_Buffer - Specifies that double buffering occur
2 --//
2 --//         elsif This_Arg = "-dbl" then
2 --//             Double_Buffer := True;
2 --//
2 --// ---- -r              - Root      - Specfies that the root window is to be used
2 --//
2 --//         elsif This_Arg = "-r" then
2 --//             Use_Root := True;
2 --//
2 --// ----Anything else is an error.
2 --//
2 --//         else
2 --//             Text_Io.Put_Line ("Unrecognized command line option: {" &
2 --//                               To_String (This_Arg) & "}");
2 --//             Usage (1);
2 --//         end if;
2 --//     end loop;
2 --//
2 --// ----We must have a display.
2 --//
2 --//     if Display = None_X_String_Pointer then
2 --//         Display := new X_String'(X_Display_Name (""));
2 --//     end if;
2 --//
2 --// ----Create the output filename.
2 --//
2 --//     if Object = None_X_String_Pointer then
2 --//         Object := new X_String'("ICO");
2 --//     end if;
2 --//     if Geometry = None_X_String_Pointer then
2 --//         Geometry := new X_String'("");
2 --//     end if;
2 --//     if Colors = None_X_String_Pointer then
2 --//         Colors := new X_String'("");
2 --//     end if;
2 --//
2 --//     Ico_Main.Main (Display       => Display.all,
2 --//                    Object        => To_String (Object.all),
2 --//                    Edges         => Edges,
2 --//                    Faces         => Faces,
2 --//                    Geometry      => Geometry.all,
2 --//                    Invert        => Invert,
2 --//                    Colors        => Colors.all,
2 --//                    Dashes        => Dashes,
2 --//                    Sleep         => Sleep,
2 --//                    Double_Buffer => Double_Buffer,
2 --//                    Use_Root      => Use_Root,
2 --//                    Help_Printout => False);
2 --//
2 --/ if Cdf_Hpux then
2 --//     System_Interface.Process.Ext (0);
2 --/ elsif TeleGen2 and then Unix then
2 --//     Process_Control.Exit_Execution (0);      -- Program exit
2 --/ end if;
2 --//
2 --// end Ico_Unix;
2 --/ if Cdf_Hpux then
2 --// pragma Main;

* Change 271..273
1 
1 end Ico_Unix;
1 
-----
2 --//
16:04:45 ::: [end of File_Utilities.Difference].
16:04:46 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:04:46 ... SOURCE.ICO.ICO_UNIX'SPEC'V(1)", "!X11.X_DEMOS.REV6_0_0_WORKING.
16:04:46 ... UNITS.SOURCE.ICO.ICO_UNIX'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.ICO.ICO_UNIX'SPEC
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.ICO.ICO_UNIX'SPEC
* Change 3
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
16:04:47 ::: [end of File_Utilities.Difference].
16:04:55 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:04:55 ... SOURCE.MISC.TRIG'BODY'V(5)", "!X11.X_DEMOS.REV6_0_0_WORKING.UNITS.
16:04:55 ... SOURCE.MISC.TRIG'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.MISC.TRIG'BODY
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.MISC.TRIG'BODY
* Insert after 7
2 
2 with Xlbt_Arithmetic;  
2 use Xlbt_Arithmetic;

* Change 2720
1                  Level           : Natural32;  
-----
2                  Level           : Natural;  
16:05:20 ::: [end of File_Utilities.Difference].
16:05:21 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:05:21 ... SOURCE.MISC.TRIG'SPEC'V(5)", "!X11.X_DEMOS.REV6_0_0_WORKING.UNITS.
16:05:21 ... SOURCE.MISC.TRIG'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.MISC.TRIG'SPEC
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.MISC.TRIG'SPEC
* Insert after 0
2 with Xlbt_Arithmetic;  
2 use Xlbt_Arithmetic;
2 

* Delete 9..14
1 
1 --/ if R1000 then
1 
1     subtype Integer32  is Integer;  
1     subtype Natural32  is Natural;  
1     subtype Positive32 is Positive;

* Change 16..26
1 --/ elsif TeleGen2 and then Unix then
1 --//
1 --//     subtype Integer32  is Long_Integer;
1 --//     subtype Natural32  is Long_Integer range 0 .. Long_Integer'Last;
1 --//     subtype Positive32 is Long_Integer range 1 .. Long_Integer'Last;
1 --//
1 --/ else
1 --//
1 --//     Need : Something_Here;
1 --//
1 --/ end if;
-----
2     subtype Integer32  is S_Long;  
2     subtype Natural32  is S_Natural;  
2     subtype Positive32 is S_Positive;
16:05:23 ::: [end of File_Utilities.Difference].
16:05:30 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:05:30 ... SOURCE.MUNCHER.MUNCHER_UNIX'BODY'V(4)", "!X11.X_DEMOS.
16:05:30 ... REV6_0_0_WORKING.UNITS.SOURCE.MUNCHER.MUNCHER_UNIX'BODY'V(1)", "",
16:05:30 ...  TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.MUNCHER.MUNCHER_UNIX'BODY
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.MUNCHER.MUNCHER_UNIX'BODY
* Change 1..5
1 with Process_Control;                   -- Unix process control; exit(n)
1 with Unix_Types;                        -- Unix types
1 --/ end if;
1 
1 with System;  
-----
2 --/ if R1000 then

* Delete 7..69
1 
1 with Mch_Main;
1 
1 with Xlbt_Arithmetic;  
1 use Xlbt_Arithmetic;  
1 with Xlbt_String;  
1 use Xlbt_String;
1 
1 with Xlbp_Display;  
1 use Xlbp_Display;
1 
1 procedure Muncher_Unix is
1 ------------------------------------------------------------------------------
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
1 --
1 --                  All Rights Reserved.
1 --
1 -- Permission to use, copy, modify, and distribute this software and its
1 -- documentation for any purpose and without fee is hereby granted,
1 -- provided that the above copyright notice(s) appear in all copies and that
1 -- both that copyright notice(s) and this permission notice appear in
1 -- supporting documentation, and that the names of Rational not be used in
1 -- advertising or publicity pertaining to distribution of the software
1 -- without specific, written prior permission.
1 --
1 -- Rational disclaims all warranties with regard to this software, including
1 -- all implied warranties of merchantability and fitness, in no event shall
1 -- Rational be liable for any special, indirect or consequential damages or
1 -- any damages whatsoever resulting from loss of use, data or profits, whether
1 -- in an action of contract, negligence or other tortious action, arising out
1 -- of or in connection with the use or performance of this software.
1 ------------------------------------------------------------------------------
1 ------------------------------------------------------------------------------
1 -- Command line arguments:
1 --
1 --  -display <name> - Display   - Specifies the display to use for the game.
1 --  -geometry <geom>- Geometry  - Specifies the window geometry
1 --  -r              - Use_Root  - Specifies that the root display be used
1 --  -s <number>     - Muncher_Seed - Specifies seed for random number gen.
1 --  -v              - Verbose_Mode - Specifies verbose mode
1 --  -q              - Verbose_Mode - Specifies quiet mode
1 --
1 -- Run the muncher program.
1 ------------------------------------------------------------------------------
1 
1     Argc    : Integer;  
1     Argvi   : Integer;  
1     Argv    : X_String (1 .. 1024);  
1     Argvlen : Integer;
1 
1     Display      : X_String_Pointer;  
1     Geometry     : X_String_Pointer;  
1     Use_Root     : Boolean := False;  
1     Muncher_Seed : S_Long  := 0;  
1     Verbose_Mode : Boolean := False;
1 
1 --
1 --/ if TeleGen2 and then Unix then
1     function Get_Argv (Position    : Integer;  
1                        Arg_Ptr     : System.Address;  
1                        Arg_Max_Len : Integer) return Integer;  
1     pragma Interface (C, Get_Argv);  
1     pragma Linkname (Get_Argv, "Xlbmt_Get_ArgV");

* Change 71..73
1     function Get_Argc return Integer;  
1     pragma Interface (C, Get_Argc);  
1     pragma Linkname (Get_Argc, "Xlbmt_Get_ArgC");
-----
2 procedure Muncher_Unix is  
2 begin  
2     Text_Io.Put_Line ("This procedure is only for Unix versions.");  
2 end Muncher_Unix;

* Insert after 74
2 --/ else -- not R1000
2 --//
2 --/ if Cdf_Hpux then
2 --// with Command_Line;
2 --// with System_Interface;
2 --/ elsif TeleGen2 and then Unix then
2 --// with Process_Control;                   -- Unix process control; exit(n)
2 --// with Unix_Types;                        -- Unix types
2 --/ end if;
2 --//
2 --// with System;
2 --// with Text_Io;
2 --//
2 --// with Mch_Main;
2 --//
2 --// with Xlbt_Arithmetic;
2 --// use Xlbt_Arithmetic;
2 --// with Xlbt_String;
2 --// use Xlbt_String;
2 --//
2 --// with Xlbp_Display;
2 --// use Xlbp_Display;
2 --//
2 --// procedure Muncher_Unix is
2 --// ------------------------------------------------------------------------------
2 --// -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
2 --// --
2 --// --                  All Rights Reserved.
2 --// --
2 --// -- Permission to use, copy, modify, and distribute this software and its
2 --// -- documentation for any purpose and without fee is hereby granted,
2 --// -- provided that the above copyright notice(s) appear in all copies and that
2 --// -- both that copyright notice(s) and this permission notice appear in
2 --// -- supporting documentation, and that the names of Rational not be used in
2 --// -- advertising or publicity pertaining to distribution of the software
2 --// -- without specific, written prior permission.
2 --// --
2 --// -- Rational disclaims all warranties with regard to this software, including
2 --// -- all implied warranties of merchantability and fitness, in no event shall
2 --// -- Rational be liable for any special, indirect or consequential damages or
2 --// -- any damages whatsoever resulting from loss of use, data or profits, whether
2 --// -- in an action of contract, negligence or other tortious action, arising out
2 --// -- of or in connection with the use or performance of this software.
2 --// ------------------------------------------------------------------------------
2 --// ------------------------------------------------------------------------------
2 --// -- Command line arguments:
2 --// --
2 --// --  -display <name> - Display   - Specifies the display to use for the game.
2 --// --  -geometry <geom>- Geometry  - Specifies the window geometry
2 --// --  -r              - Use_Root  - Specifies that the root display be used
2 --// --  -s <number>     - Muncher_Seed - Specifies seed for random number gen.
2 --// --  -v              - Verbose_Mode - Specifies verbose mode
2 --// --  -q              - Verbose_Mode - Specifies quiet mode
2 --// --
2 --// -- Run the muncher program.
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     Argc    : Integer;
2 --//     Argvi   : Integer;
2 --//
2 --/ if Cdf_Hpux then
2 --//     Argv : constant Command_Line.String_Ptr_Array := Command_Line.Arguments;
2 --/ elsif TeleGen2 and then Unix then
2 --//     Argv    : X_String (1 .. 1024);
2 --//     Argvlen : Integer;

* Change 76..90
1 
1 --
1 
1     procedure Usage (Result : Integer) is  
1         procedure P (S : String) renames Text_Io.Put_Line;  
1     begin
1 
1         P ("Usage: muncher [-display <display>]");  
1         P ("  -help              - display this printout");  
1         P ("  -display <display> - display to use");  
1         P ("  -geometry <geom>   - the window geometry");  
1         P ("  -r                 - root display is used");  
1         P ("  -s <number>        - seed for random number gen.");  
1         P ("  -v                 - verbose mode");  
1         P ("  -q                 - quiet mode");
-----
2 --//
2 --//     Display      : X_String_Pointer;
2 --//     Geometry     : X_String_Pointer;
2 --//     Use_Root     : Boolean := False;
2 --//     Muncher_Seed : S_Long  := 0;
2 --//     Verbose_Mode : Boolean := False;
2 --//
2 --// --

* Change 92
1         Process_Control.Exit_Execution (Unix_Types.Integer_32 (Result));
-----
2 --//     function Get_Argv (Position    : Integer;
2 --//                        Arg_Ptr     : System.Address;
2 --//                        Arg_Max_Len : Integer) return Integer;
2 --//     pragma Interface (C, Get_Argv);
2 --//     pragma Linkname (Get_Argv, "Xlbmt_Get_ArgV");
2 --//
2 --//     function Get_Argc return Integer;
2 --//     pragma Interface (C, Get_Argc);
2 --//     pragma Linkname (Get_Argc, "Xlbmt_Get_ArgC");
2 --//
2 --/ end if;
2 --//
2 --// --
2 --//     procedure Usage (Result : Integer) is
2 --//         procedure P (S : String) renames Text_Io.Put_Line;
2 --//     begin
2 --//
2 --//         P ("Usage: muncher [-display <display>]");
2 --//         P ("  -help              - display this printout");
2 --//         P ("  -display <display> - display to use");
2 --//         P ("  -geometry <geom>   - the window geometry");
2 --//         P ("  -r                 - root display is used");
2 --//         P ("  -s <number>        - seed for random number gen.");
2 --//         P ("  -v                 - verbose mode");
2 --//         P ("  -q                 - quiet mode");
2 --/ if Cdf_Hpux then
2 --//         System_Interface.Process.Ext (Result);
2 --/ elsif TeleGen2 and then Unix then
2 --//         Process_Control.Exit_Execution (Unix_Types.Integer_32 (Result));

* Change 94..196
1 
1     end Usage;
1 
1 --
1 
1     procedure Next_Arg is  
1     begin  
1         Argvlen := Get_Argv (Argvi,  
1                              Argv (Argv'First)'Address,  
1                              Argv'Length);  
1         Argvi   := Argvi + 1;  
1     end Next_Arg;
1 
1     function This_Arg return X_String is  
1     begin  
1         return Argv (1 .. S_Natural (Argvlen));  
1     end This_Arg;
1 
1 --
1 
1 begin
1 
1 ----Process the command line arguments.  Skip the 0'th argument, it is just
1 --  our command name.
1 
1     Argc  := Get_Argc;  
1     Argvi := 1;  
1     while Argvi < Argc loop  
1         Next_Arg;
1 
1 ---- -display <name> - Display   - Specifies the display to use
1 
1         if This_Arg = "-display" and then Argvi < Argc then  
1             Next_Arg;  
1             Display := new X_String'(This_Arg);
1 
1 ---- -help           - Help      - Specifies that a help list be displaye
1 
1         elsif Argv (1 .. S_Natural (Argvlen)) = "-help" then  
1             Usage (0);
1 
1 ---- -geometry       - Geometry  - Specifies the window geometry
1 
1         elsif This_Arg = "-geometry" and then Argvi < Argc then  
1             Next_Arg;  
1             Geometry := new X_String'(This_Arg);
1 
1 ---- -r              - Root      - Specfies that the root window is to be used
1 
1         elsif This_Arg = "-r" then  
1             Use_Root := True;
1 
1 --  -s <number>     - Muncher_Seed - Specifies seed for random number gen.
1 
1         elsif This_Arg = "-s" and then Argvi < Argc then  
1             Next_Arg;  
1             begin  
1                 Muncher_Seed := S_Long'Value (To_String (This_Arg));  
1             exception  
1                 when others =>  
1                     Text_Io.Put_Line  
1                        ("Bad argument to -s, expected a number: " &  
1                         To_String (This_Arg));  
1                     Usage (0);  
1             end;
1 
1 --  -v              - Verbose_Mode - Specifies verbose mode
1 --  -q              - Verbose_Mode - Specifies quiet mode
1 
1         elsif This_Arg = "-v" then  
1             Verbose_Mode := True;  
1         elsif This_Arg = "-q" then  
1             Verbose_Mode := False;
1 
1 ----Anything else is an error.
1 
1         else  
1             Text_Io.Put_Line
1                ("Unrecognized command line option: {" &  
1                 To_String (  
1                            Argv (1 .. S_Natural (Argvlen)) & "}"));  
1             Usage (1);  
1         end if;  
1     end loop;
1 
1 ----We must have a display.
1 
1     if Display = None_X_String_Pointer then  
1         Display := new X_String'(X_Display_Name (""));  
1     end if;
1 
1 ----Create the output filename.
1 
1     if Geometry = None_X_String_Pointer then  
1         Geometry := new X_String'("");  
1     end if;
1 
1     Mch_Main.Main (Display      => Display.all,  
1                    Geometry     => Geometry.all,  
1                    Use_Root     => Use_Root,  
1                    Muncher_Seed => Muncher_Seed,  
1                    Verbose_Mode => Verbose_Mode);
1 
-----
2 --//
2 --//     end Usage;
2 --//
2 --// --
2 --//     procedure Next_Arg is
2 --//     begin

* Change 198
1     Process_Control.Exit_Execution (0);      -- Program exit
-----
2 --//         Argvlen := Get_Argv (Argvi,
2 --//                              Argv (Argv'First)'Address,
2 --//                              Argv'Length);
2 --/ end if;
2 --//         Argvi   := Argvi + 1;
2 --//     end Next_Arg;
2 --//
2 --//     function This_Arg return X_String is
2 --//     begin
2 --/ if Cdf_Hpux then
2 --//         return To_X_String (Argv (Argvi - 1).all);
2 --/ elsif TeleGen2 and then Unix then
2 --//         return Argv (1 .. S_Natural (Argvlen));
2 --//     end This_Arg;
2 --/ end if;
2 --//
2 --// --
2 --// begin
2 --//
2 --// ----Process the command line arguments.  Skip the 0'th argument, it is just
2 --// --  our command name.
2 --//
2 --/ if Cdf_Hpux then
2 --//     Argc := Command_Line.Argc;
2 --/ elsif TeleGen2 and then Unix then
2 --//     Argc  := Get_Argc;
2 --/ end if;
2 --//
2 --//     Argvi := 1;
2 --//     while Argvi < Argc loop
2 --//         Next_Arg;
2 --//
2 --// ---- -display <name> - Display   - Specifies the display to use
2 --//
2 --//         if This_Arg = "-display" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             Display := new X_String'(This_Arg);
2 --//
2 --// ---- -help           - Help      - Specifies that a help list be displaye
2 --//
2 --//         elsif This_Arg = "-help" then
2 --//             Usage (0);
2 --//
2 --// ---- -geometry       - Geometry  - Specifies the window geometry
2 --//
2 --//         elsif This_Arg = "-geometry" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             Geometry := new X_String'(This_Arg);
2 --//
2 --// ---- -r              - Root      - Specfies that the root window is to be used
2 --//
2 --//         elsif This_Arg = "-r" then
2 --//             Use_Root := True;
2 --//
2 --// --  -s <number>     - Muncher_Seed - Specifies seed for random number gen.
2 --//
2 --//         elsif This_Arg = "-s" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             begin
2 --//                 Muncher_Seed := S_Long'Value (To_String (This_Arg));
2 --//             exception
2 --//                 when others =>
2 --//                     Text_Io.Put_Line
2 --//                        ("Bad argument to -s, expected a number: " &
2 --//                         To_String (This_Arg));
2 --//                     Usage (0);
2 --//             end;
2 --//
2 --// --  -v              - Verbose_Mode - Specifies verbose mode
2 --// --  -q              - Verbose_Mode - Specifies quiet mode
2 --//
2 --//         elsif This_Arg = "-v" then
2 --//             Verbose_Mode := True;
2 --//         elsif This_Arg = "-q" then
2 --//             Verbose_Mode := False;
2 --//
2 --// ----Anything else is an error.
2 --//
2 --//         else
2 --//             Text_Io.Put_Line ("Unrecognized command line option: {" &
2 --//                               To_String (This_Arg) & "}");
2 --//             Usage (1);
2 --//         end if;
2 --//     end loop;
2 --//
2 --// ----We must have a display.
2 --//
2 --//     if Display = None_X_String_Pointer then
2 --//         Display := new X_String'(X_Display_Name (""));
2 --//     end if;
2 --//
2 --// ----Create the output filename.
2 --//
2 --//     if Geometry = None_X_String_Pointer then
2 --//         Geometry := new X_String'("");
2 --//     end if;
2 --//
2 --//     Mch_Main.Main (Display      => Display.all,
2 --//                    Geometry     => Geometry.all,
2 --//                    Use_Root     => Use_Root,
2 --//                    Muncher_Seed => Muncher_Seed,
2 --//                    Verbose_Mode => Verbose_Mode);
2 --//
2 --/ if Cdf_Hpux then
2 --//     System_Interface.Process.Ext (0);
2 --/ elsif TeleGen2 and then Unix then
2 --//     Process_Control.Exit_Execution (0);      -- Program exit
2 --/ end if;
2 --//
2 --// end Muncher_Unix;
2 --/ if Cdf_Hpux then
2 --// pragma Main;

* Change 200..202
1 
1 end Muncher_Unix;
1 
-----
2 --//
16:05:32 ::: [end of File_Utilities.Difference].
16:05:33 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:05:33 ... SOURCE.MUNCHER.MUNCHER_UNIX'SPEC'V(1)", "!X11.X_DEMOS.
16:05:33 ... REV6_0_0_WORKING.UNITS.SOURCE.MUNCHER.MUNCHER_UNIX'SPEC'V(1)", "",
16:05:33 ...  TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.MUNCHER.MUNCHER_UNIX'SPEC
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.MUNCHER.MUNCHER_UNIX'SPEC
* Change 3
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
16:05:34 ::: [end of File_Utilities.Difference].
16:05:35 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:05:35 ... SOURCE.PLAID.PLAID_UNIX'BODY'V(4)", "!X11.X_DEMOS.
16:05:35 ... REV6_0_0_WORKING.UNITS.SOURCE.PLAID.PLAID_UNIX'BODY'V(1)", "", 
16:05:35 ... TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.PLAID.PLAID_UNIX'BODY
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.PLAID.PLAID_UNIX'BODY
* Change 1..5
1 with Process_Control;                   -- Unix process control; exit(n)
1 with Unix_Types;                        -- Unix types
1 --/ end if;
1 
1 with System;  
-----
2 --/ if R1000 then

* Delete 7..67
1 
1 with Pld_Main;
1 
1 with Xlbt_Arithmetic;  
1 use Xlbt_Arithmetic;  
1 with Xlbt_String;  
1 use Xlbt_String;
1 
1 with Xlbp_Display;  
1 use Xlbp_Display;
1 
1 procedure Plaid_Unix is
1 ------------------------------------------------------------------------------
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
1 --
1 --                  All Rights Reserved.
1 --
1 -- Permission to use, copy, modify, and distribute this software and its
1 -- documentation for any purpose and without fee is hereby granted,
1 -- provided that the above copyright notice(s) appear in all copies and that
1 -- both that copyright notice(s) and this permission notice appear in
1 -- supporting documentation, and that the names of Rational not be used in
1 -- advertising or publicity pertaining to distribution of the software
1 -- without specific, written prior permission.
1 --
1 -- Rational disclaims all warranties with regard to this software, including
1 -- all implied warranties of merchantability and fitness, in no event shall
1 -- Rational be liable for any special, indirect or consequential damages or
1 -- any damages whatsoever resulting from loss of use, data or profits, whether
1 -- in an action of contract, negligence or other tortious action, arising out
1 -- of or in connection with the use or performance of this software.
1 ------------------------------------------------------------------------------
1 ------------------------------------------------------------------------------
1 -- Command line arguments:
1 --
1 --  -display <name> - Display   - Specifies the display to use for the game.
1 --  -geometry <geom>- Geometry  - Specifies the window geometry
1 --  -b              - Backing_Store  - Specifies backing store is required
1 --  -q              - not Verbose- Specifies quiet output
1 --  -v              - Verbose   - Specifies verbose output
1 --
1 -- Run the plaid program.
1 ------------------------------------------------------------------------------
1 
1     Argc    : Integer;  
1     Argvi   : Integer;  
1     Argv    : X_String (1 .. 1024);  
1     Argvlen : Integer;
1 
1     Display           : X_String_Pointer;  
1     Geometry          : X_String_Pointer;  
1     Use_Backing_Store : Boolean := False;  
1     Verbose           : Boolean := False;
1 
1 --
1 --/ if TeleGen2 and then Unix then
1     function Get_Argv (Position    : Integer;  
1                        Arg_Ptr     : System.Address;  
1                        Arg_Max_Len : Integer) return Integer;  
1     pragma Interface (C, Get_Argv);  
1     pragma Linkname (Get_Argv, "Xlbmt_Get_ArgV");

* Change 69..71
1     function Get_Argc return Integer;  
1     pragma Interface (C, Get_Argc);  
1     pragma Linkname (Get_Argc, "Xlbmt_Get_ArgC");
-----
2 procedure Plaid_Unix is  
2 begin  
2     Text_Io.Put_Line ("This procedure is only for Unix versions.");  
2 end Plaid_Unix;

* Insert after 72
2 --/ else -- not R1000
2 --//
2 --/ if Cdf_Hpux then
2 --// with Command_Line;
2 --// with System_Interface;
2 --/ elsif TeleGen2 and then Unix then
2 --// with Process_Control;                   -- Unix process control; exit(n)
2 --// with Unix_Types;                        -- Unix types
2 --/ end if;
2 --//
2 --// with System;
2 --// with Text_Io;
2 --//
2 --// with Pld_Main;
2 --//
2 --// with Xlbt_Arithmetic;
2 --// use Xlbt_Arithmetic;
2 --// with Xlbt_String;
2 --// use Xlbt_String;
2 --//
2 --// with Xlbp_Display;
2 --// use Xlbp_Display;
2 --//
2 --// procedure Plaid_Unix is
2 --// ------------------------------------------------------------------------------
2 --// -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
2 --// --
2 --// --                  All Rights Reserved.
2 --// --
2 --// -- Permission to use, copy, modify, and distribute this software and its
2 --// -- documentation for any purpose and without fee is hereby granted,
2 --// -- provided that the above copyright notice(s) appear in all copies and that
2 --// -- both that copyright notice(s) and this permission notice appear in
2 --// -- supporting documentation, and that the names of Rational not be used in
2 --// -- advertising or publicity pertaining to distribution of the software
2 --// -- without specific, written prior permission.
2 --// --
2 --// -- Rational disclaims all warranties with regard to this software, including
2 --// -- all implied warranties of merchantability and fitness, in no event shall
2 --// -- Rational be liable for any special, indirect or consequential damages or
2 --// -- any damages whatsoever resulting from loss of use, data or profits, whether
2 --// -- in an action of contract, negligence or other tortious action, arising out
2 --// -- of or in connection with the use or performance of this software.
2 --// ------------------------------------------------------------------------------
2 --// ------------------------------------------------------------------------------
2 --// -- Command line arguments:
2 --// --
2 --// --  -display <name> - Display   - Specifies the display to use for the game.
2 --// --  -geometry <geom>- Geometry  - Specifies the window geometry
2 --// --  -b              - Backing_Store  - Specifies backing store is required
2 --// --  -q              - not Verbose- Specifies quiet output
2 --// --  -v              - Verbose   - Specifies verbose output
2 --// --
2 --// -- Run the plaid program.
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     Argc    : Integer;
2 --//     Argvi   : Integer;
2 --//
2 --/ if Cdf_Hpux then
2 --//     Argv : constant Command_Line.String_Ptr_Array := Command_Line.Arguments;
2 --/ elsif TeleGen2 and then Unix then
2 --//     Argv    : X_String (1 .. 1024);
2 --//     Argvlen : Integer;

* Change 74..86
1 
1 --
1 
1     procedure Usage (Result : Integer) is  
1         procedure P (S : String) renames Text_Io.Put_Line;  
1     begin
1 
1         P ("Usage: plaid [-display <display>]");  
1         P ("  -display <display> - display to use");  
1         P ("  -geometry <geom>   - the window geometry");  
1         P ("  -b                 - use backing store");  
1         P ("  -q                 - quiet output (default)");  
1         P ("  -v                 - verbose output");
-----
2 --//
2 --//     Display           : X_String_Pointer;
2 --//     Geometry          : X_String_Pointer;
2 --//     Use_Backing_Store : Boolean := False;
2 --//     Verbose           : Boolean := False;
2 --//
2 --// --

* Change 88
1         Process_Control.Exit_Execution (Unix_Types.Integer_32 (Result));
-----
2 --//     function Get_Argv (Position    : Integer;
2 --//                        Arg_Ptr     : System.Address;
2 --//                        Arg_Max_Len : Integer) return Integer;
2 --//     pragma Interface (C, Get_Argv);
2 --//     pragma Linkname (Get_Argv, "Xlbmt_Get_ArgV");
2 --//
2 --//     function Get_Argc return Integer;
2 --//     pragma Interface (C, Get_Argc);
2 --//     pragma Linkname (Get_Argc, "Xlbmt_Get_ArgC");
2 --//
2 --/ end if;
2 --//
2 --// --
2 --//     procedure Usage (Result : Integer) is
2 --//         procedure P (S : String) renames Text_Io.Put_Line;
2 --//     begin
2 --//
2 --//         P ("Usage: plaid [-display <display>]");
2 --//         P ("  -display <display> - display to use");
2 --//         P ("  -geometry <geom>   - the window geometry");
2 --//         P ("  -b                 - use backing store");
2 --//         P ("  -q                 - quiet output (default)");
2 --//         P ("  -v                 - verbose output");
2 --/ if Cdf_Hpux then
2 --//         System_Interface.Process.Ext (Result);
2 --/ elsif TeleGen2 and then Unix then
2 --//         Process_Control.Exit_Execution (Unix_Types.Integer_32 (Result));

* Change 90..178
1 
1     end Usage;
1 
1 --
1 
1     procedure Next_Arg is  
1     begin  
1         Argvlen := Get_Argv (Argvi,  
1                              Argv (Argv'First)'Address,  
1                              Argv'Length);  
1         Argvi   := Argvi + 1;  
1     end Next_Arg;
1 
1     function This_Arg return X_String is  
1     begin  
1         return Argv (1 .. S_Natural (Argvlen));  
1     end This_Arg;
1 
1 --
1 
1 begin
1 
1 ----Process the command line arguments.  Skip the 0'th argument, it is just
1 --  our command name.
1 
1     Argc  := Get_Argc;  
1     Argvi := 1;  
1     while Argvi < Argc loop  
1         Next_Arg;
1 
1 ---- -display <name> - Display   - Specifies the display to use
1 
1         if This_Arg = "-display" and then Argvi < Argc then  
1             Next_Arg;  
1             Display := new X_String'(This_Arg);
1 
1 ---- -help           - Help      - Specifies that a help list be displaye
1 
1         elsif Argv (1 .. S_Natural (Argvlen)) = "-help" then  
1             Usage (0);
1 
1 ---- -geometry       - Geometry  - Specifies the window geometry
1 
1         elsif This_Arg = "-geometry" and then Argvi < Argc then  
1             Next_Arg;  
1             Geometry := new X_String'(This_Arg);
1 
1 ---- -b              - Backing_Store
1 
1         elsif This_Arg = "-b" then  
1             Use_Backing_Store := True;
1 
1 ---- -q              - not Verbose
1 
1         elsif This_Arg = "-q" then  
1             Verbose := False;
1 
1 ---- -v              - Verbose
1 
1         elsif This_Arg = "-v" then  
1             Verbose := True;
1 
1 ----Anything else is an error.
1 
1         else  
1             Text_Io.Put_Line
1                ("Unrecognized command line option: {" &  
1                 To_String (  
1                            Argv (1 .. S_Natural (Argvlen)) & "}"));  
1             Usage (1);  
1         end if;  
1     end loop;
1 
1 ----We must have a display.
1 
1     if Display = None_X_String_Pointer then  
1         Display := new X_String'(X_Display_Name (""));  
1     end if;
1 
1 ----Create the output filename.
1 
1     if Geometry = None_X_String_Pointer then  
1         Geometry := new X_String'("");  
1     end if;
1 
1     Pld_Main.Main (Display           => Display.all,  
1                    Geometry          => Geometry.all,  
1                    Use_Backing_Store => Use_Backing_Store);
1 
-----
2 --//
2 --//     end Usage;
2 --//
2 --// --
2 --//     procedure Next_Arg is
2 --//     begin

* Change 180
1     Process_Control.Exit_Execution (0);      -- Program exit
-----
2 --//         Argvlen := Get_Argv (Argvi,
2 --//                              Argv (Argv'First)'Address,
2 --//                              Argv'Length);
2 --/ end if;
2 --//         Argvi   := Argvi + 1;
2 --//     end Next_Arg;
2 --//
2 --//     function This_Arg return X_String is
2 --//     begin
2 --/ if Cdf_Hpux then
2 --//         return To_X_String (Argv (Argvi - 1).all);
2 --/ elsif TeleGen2 and then Unix then
2 --//         return Argv (1 .. S_Natural (Argvlen));
2 --/ end if;
2 --//     end This_Arg;
2 --//
2 --// --
2 --// begin
2 --//
2 --// ----Process the command line arguments.  Skip the 0'th argument, it is just
2 --// --  our command name.
2 --//
2 --/ if Cdf_Hpux then
2 --//     Argc := Command_Line.Argc;
2 --/ elsif TeleGen2 and then Unix then
2 --//     Argc  := Get_Argc;
2 --/ end if;
2 --//     Argvi := 1;
2 --//     while Argvi < Argc loop
2 --//         Next_Arg;
2 --//
2 --// ---- -display <name> - Display   - Specifies the display to use
2 --//
2 --//         if This_Arg = "-display" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             Display := new X_String'(This_Arg);
2 --//
2 --// ---- -help           - Help      - Specifies that a help list be displaye
2 --//
2 --//         elsif This_Arg = "-help" then
2 --//             Usage (0);
2 --//
2 --// ---- -geometry       - Geometry  - Specifies the window geometry
2 --//
2 --//         elsif This_Arg = "-geometry" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             Geometry := new X_String'(This_Arg);
2 --//
2 --// ---- -b              - Backing_Store
2 --//
2 --//         elsif This_Arg = "-b" then
2 --//             Use_Backing_Store := True;
2 --//
2 --// ---- -q              - not Verbose
2 --//
2 --//         elsif This_Arg = "-q" then
2 --//             Verbose := False;
2 --//
2 --// ---- -v              - Verbose
2 --//
2 --//         elsif This_Arg = "-v" then
2 --//             Verbose := True;
2 --//
2 --// ----Anything else is an error.
2 --//
2 --//         else
2 --//             Text_Io.Put_Line ("Unrecognized command line option: {" &
2 --//                               To_String (This_Arg) & "}");
2 --//             Usage (1);
2 --//         end if;
2 --//     end loop;
2 --//
2 --// ----We must have a display.
2 --//
2 --//     if Display = None_X_String_Pointer then
2 --//         Display := new X_String'(X_Display_Name (""));
2 --//     end if;
2 --//
2 --// ----Create the output filename.
2 --//
2 --//     if Geometry = None_X_String_Pointer then
2 --//         Geometry := new X_String'("");
2 --//     end if;
2 --//
2 --//     Pld_Main.Main (Display           => Display.all,
2 --//                    Geometry          => Geometry.all,
2 --//                    Use_Backing_Store => Use_Backing_Store);
2 --//
2 --/ if Cdf_Hpux then
2 --//     System_Interface.Process.Ext (0);
2 --/ elsif TeleGen2 and then Unix then
2 --//     Process_Control.Exit_Execution (0);      -- Program exit
2 --/ end if;
2 --//
2 --// end Plaid_Unix;
2 --/ if Cdf_Hpux then
2 --// pragma Main;

* Change 182..184
1 
1 end Plaid_Unix;
1 
-----
2 --//
16:05:37 ::: [end of File_Utilities.Difference].
16:05:38 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:05:38 ... SOURCE.PLAID.PLAID_UNIX'SPEC'V(1)", "!X11.X_DEMOS.
16:05:38 ... REV6_0_0_WORKING.UNITS.SOURCE.PLAID.PLAID_UNIX'SPEC'V(1)", "", 
16:05:38 ... TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.PLAID.PLAID_UNIX'SPEC
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.PLAID.PLAID_UNIX'SPEC
* Change 3
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
16:05:39 ::: [end of File_Utilities.Difference].
16:05:45 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:05:45 ... SOURCE.PUZZLE.PUZZLE_UNIX'BODY'V(4)", "!X11.X_DEMOS.
16:05:45 ... REV6_0_0_WORKING.UNITS.SOURCE.PUZZLE.PUZZLE_UNIX'BODY'V(1)", "", 
16:05:45 ... TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.PUZZLE.PUZZLE_UNIX'BODY
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.PUZZLE.PUZZLE_UNIX'BODY
* Change 1..5
1 with Process_Control;                   -- Unix process control; exit(n)
1 with Unix_Types;                        -- Unix types
1 --/ end if;
1 
1 with System;  
-----
2 --/ if R1000 then

* Delete 7..68
1 
1 with Puz_Main;
1 
1 with Xlbt_Arithmetic;  
1 use Xlbt_Arithmetic;  
1 with Xlbt_String;  
1 use Xlbt_String;
1 
1 with Xlbp_Display;  
1 use Xlbp_Display;
1 
1 procedure Puzzle_Unix is
1 ------------------------------------------------------------------------------
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
1 --
1 --                  All Rights Reserved.
1 --
1 -- Permission to use, copy, modify, and distribute this software and its
1 -- documentation for any purpose and without fee is hereby granted,
1 -- provided that the above copyright notice(s) appear in all copies and that
1 -- both that copyright notice(s) and this permission notice appear in
1 -- supporting documentation, and that the names of Rational not be used in
1 -- advertising or publicity pertaining to distribution of the software
1 -- without specific, written prior permission.
1 --
1 -- Rational disclaims all warranties with regard to this software, including
1 -- all implied warranties of merchantability and fitness, in no event shall
1 -- Rational be liable for any special, indirect or consequential damages or
1 -- any damages whatsoever resulting from loss of use, data or profits, whether
1 -- in an action of contract, negligence or other tortious action, arising out
1 -- of or in connection with the use or performance of this software.
1 ------------------------------------------------------------------------------
1 ------------------------------------------------------------------------------
1 -- Command line arguments:
1 --
1 --  -display <name> - Display   - Specifies the display to use for the game.
1 --  -geometry <geom>- Geometry  - Specifies the window geometry
1 --  -size <WxH>     - Size      - Specifies size of puzzle in tiles
1 --  -speed          - Speed     - Specifies tiles/second for moving tiles
1 --  -newcolormap    - New_Colormap - Specifies that a new colormap be used.
1 --
1 -- Run the puzzle program.
1 ------------------------------------------------------------------------------
1 
1     Argc    : Integer;  
1     Argvi   : Integer;  
1     Argv    : X_String (1 .. 1024);  
1     Argvlen : Integer;
1 
1     Display      : X_String_Pointer;  
1     Geometry     : X_String_Pointer;  
1     Size         : X_String_Pointer;  
1     Speed        : Natural := 0;  
1     New_Colormap : Boolean := False;
1 
1 --
1 --/ if TeleGen2 and then Unix then
1     function Get_Argv (Position    : Integer;  
1                        Arg_Ptr     : System.Address;  
1                        Arg_Max_Len : Integer) return Integer;  
1     pragma Interface (C, Get_Argv);  
1     pragma Linkname (Get_Argv, "Xlbmt_Get_ArgV");

* Change 70..72
1     function Get_Argc return Integer;  
1     pragma Interface (C, Get_Argc);  
1     pragma Linkname (Get_Argc, "Xlbmt_Get_ArgC");
-----
2 procedure Puzzle_Unix is  
2 begin  
2     Text_Io.Put_Line ("This procedure is only for Unix versions.");  
2 end Puzzle_Unix;

* Insert after 73
2 --/ else -- not R1000
2 --//
2 --/ if Cdf_Hpux then
2 --// with Command_Line;
2 --// with System_Interface;
2 --/ elsif TeleGen2 and then Unix then
2 --// with Process_Control;                   -- Unix process control; exit(n)
2 --// with Unix_Types;                        -- Unix types
2 --/ end if;
2 --//
2 --// with System;
2 --// with Text_Io;
2 --//
2 --// with Puz_Main;
2 --//
2 --// with Xlbt_Arithmetic;
2 --// use Xlbt_Arithmetic;
2 --// with Xlbt_String;
2 --// use Xlbt_String;
2 --//
2 --// with Xlbp_Display;
2 --// use Xlbp_Display;
2 --//
2 --// procedure Puzzle_Unix is
2 --// ------------------------------------------------------------------------------
2 --// -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
2 --// --
2 --// --                  All Rights Reserved.
2 --// --
2 --// -- Permission to use, copy, modify, and distribute this software and its
2 --// -- documentation for any purpose and without fee is hereby granted,
2 --// -- provided that the above copyright notice(s) appear in all copies and that
2 --// -- both that copyright notice(s) and this permission notice appear in
2 --// -- supporting documentation, and that the names of Rational not be used in
2 --// -- advertising or publicity pertaining to distribution of the software
2 --// -- without specific, written prior permission.
2 --// --
2 --// -- Rational disclaims all warranties with regard to this software, including
2 --// -- all implied warranties of merchantability and fitness, in no event shall
2 --// -- Rational be liable for any special, indirect or consequential damages or
2 --// -- any damages whatsoever resulting from loss of use, data or profits, whether
2 --// -- in an action of contract, negligence or other tortious action, arising out
2 --// -- of or in connection with the use or performance of this software.
2 --// ------------------------------------------------------------------------------
2 --// ------------------------------------------------------------------------------
2 --// -- Command line arguments:
2 --// --
2 --// --  -display <name> - Display   - Specifies the display to use for the game.
2 --// --  -geometry <geom>- Geometry  - Specifies the window geometry
2 --// --  -size <WxH>     - Size      - Specifies size of puzzle in tiles
2 --// --  -speed          - Speed     - Specifies tiles/second for moving tiles
2 --// --  -newcolormap    - New_Colormap - Specifies that a new colormap be used.
2 --// --
2 --// -- Run the puzzle program.
2 --// ------------------------------------------------------------------------------
2 --//
2 --//     Argc    : Integer;
2 --//     Argvi   : Integer;
2 --//
2 --/ if Cdf_Hpux then
2 --//     Argv : constant Command_Line.String_Ptr_Array := Command_Line.Arguments;
2 --/ elsif TeleGen2 and then Unix then
2 --//     Argv    : X_String (1 .. 1024);
2 --//     Argvlen : Integer;

* Change 75..88
1 
1 --
1 
1     procedure Usage (Result : Integer) is  
1         procedure P (S : String) renames Text_Io.Put_Line;  
1     begin
1 
1         P ("Usage: puzzle [-display <display>]");  
1         P ("  -help              - display this printout");  
1         P ("  -display <display> - display to use");  
1         P ("  -geometry <geom>   - the window geometry");  
1         P ("  -size <WxH>        - size of puzzle in tiles");  
1         P ("  -speed             - tiles/second for moving tiles");  
1         P ("  -newcolormap       - a new colormap is used");
-----
2 --//
2 --//     Display      : X_String_Pointer;
2 --//     Geometry     : X_String_Pointer;
2 --//     Size         : X_String_Pointer;
2 --//     Speed        : Natural := 0;
2 --//     New_Colormap : Boolean := False;
2 --//
2 --// --

* Change 90
1         Process_Control.Exit_Execution (Unix_Types.Integer_32 (Result));
-----
2 --//     function Get_Argv (Position    : Integer;
2 --//                        Arg_Ptr     : System.Address;
2 --//                        Arg_Max_Len : Integer) return Integer;
2 --//     pragma Interface (C, Get_Argv);
2 --//     pragma Linkname (Get_Argv, "Xlbmt_Get_ArgV");
2 --//
2 --//     function Get_Argc return Integer;
2 --//     pragma Interface (C, Get_Argc);
2 --//     pragma Linkname (Get_Argc, "Xlbmt_Get_ArgC");
2 --//
2 --/ end if;
2 --//
2 --// --
2 --//     procedure Usage (Result : Integer) is
2 --//         procedure P (S : String) renames Text_Io.Put_Line;
2 --//     begin
2 --//
2 --//         P ("Usage: puzzle [-display <display>]");
2 --//         P ("  -help              - display this printout");
2 --//         P ("  -display <display> - display to use");
2 --//         P ("  -geometry <geom>   - the window geometry");
2 --//         P ("  -size <WxH>        - size of puzzle in tiles");
2 --//         P ("  -speed             - tiles/second for moving tiles");
2 --//         P ("  -newcolormap       - a new colormap is used");
2 --/ if Cdf_Hpux then
2 --//         System_Interface.Process.Ext (Result);
2 --/ elsif TeleGen2 and then Unix then
2 --//         Process_Control.Exit_Execution (Unix_Types.Integer_32 (Result));

* Change 92..195
1 
1     end Usage;
1 
1 --
1 
1     procedure Next_Arg is  
1     begin  
1         Argvlen := Get_Argv (Argvi,  
1                              Argv (Argv'First)'Address,  
1                              Argv'Length);  
1         Argvi   := Argvi + 1;  
1     end Next_Arg;
1 
1     function This_Arg return X_String is  
1     begin  
1         return Argv (1 .. S_Natural (Argvlen));  
1     end This_Arg;
1 
1 --
1 
1 begin
1 
1 ----Process the command line arguments.  Skip the 0'th argument, it is just
1 --  our command name.
1 
1     Argc  := Get_Argc;  
1     Argvi := 1;  
1     while Argvi < Argc loop  
1         Next_Arg;
1 
1 ---- -display <name> - Display   - Specifies the display to use
1 
1         if This_Arg = "-display" and then Argvi < Argc then  
1             Next_Arg;  
1             Display := new X_String'(This_Arg);
1 
1 ---- -help           - Help      - Specifies that a help list be displaye
1 
1         elsif Argv (1 .. S_Natural (Argvlen)) = "-help" then  
1             Usage (0);
1 
1 ---- -geometry       - Geometry  - Specifies the window geometry
1 
1         elsif This_Arg = "-geometry" and then Argvi < Argc then  
1             Next_Arg;  
1             Geometry := new X_String'(This_Arg);
1 
1 --  -size <WxH>     - Size      - Specifies size of puzzle in tiles
1 
1         elsif This_Arg = "-size" and then Argvi < Argc then  
1             Next_Arg;  
1             Size := new X_String'(This_Arg);
1 
1 --  -speed <number>   - Speed - tiles/second
1 
1         elsif This_Arg = "-speed" and then Argvi < Argc then  
1             Next_Arg;  
1             begin  
1                 Speed := Natural'Value (To_String (This_Arg));  
1             exception  
1                 when others =>  
1                     Text_Io.Put_Line  
1                        ("Bad argument to -speed, expected a number: " &  
1                         To_String (This_Arg));  
1                     Usage (0);  
1             end;
1 
1 ---- -newcolormap    - New_Colormap - Specifies that a new colormap be used.
1 
1         elsif This_Arg = "-newcolormap" then  
1             New_Colormap := True;
1 
1 ----Anything else is an error.
1 
1         else  
1             Text_Io.Put_Line
1                ("Unrecognized command line option: {" &  
1                 To_String (  
1                            Argv (1 .. S_Natural (Argvlen)) & "}"));  
1             Usage (1);  
1         end if;  
1     end loop;
1 
1 ----We must have a display.
1 
1     if Display = None_X_String_Pointer then  
1         Display := new X_String'(X_Display_Name (""));  
1     end if;
1 
1 ----Create the output filename.
1 
1     if Geometry = None_X_String_Pointer then  
1         Geometry := new X_String'("");  
1     end if;  
1     if Size = None_X_String_Pointer then  
1         Size := new X_String'("");  
1     end if;
1 
1     Puz_Main.Main (Display      => Display.all,  
1                    Geometry     => Geometry.all,  
1                    Size         => To_String (Size.all),  
1                    Speed        => Speed,  
1                    New_Colormap => New_Colormap);
1 
-----
2 --//
2 --//     end Usage;
2 --//
2 --// --
2 --//     procedure Next_Arg is
2 --//     begin

* Change 197
1     Process_Control.Exit_Execution (0);      -- Program exit
-----
2 --//         Argvlen := Get_Argv (Argvi,
2 --//                              Argv (Argv'First)'Address,
2 --//                              Argv'Length);
2 --/ end if;
2 --//         Argvi   := Argvi + 1;
2 --//     end Next_Arg;
2 --//
2 --//     function This_Arg return X_String is
2 --//     begin
2 --/ if Cdf_Hpux then
2 --//         return To_X_String (Argv (Argvi - 1).all);
2 --/ elsif TeleGen2 and then Unix then
2 --//         return Argv (1 .. S_Natural (Argvlen));
2 --/ end if;
2 --//     end This_Arg;
2 --//
2 --// --
2 --// begin
2 --//
2 --// ----Process the command line arguments.  Skip the 0'th argument, it is just
2 --// --  our command name.
2 --//
2 --/ if Cdf_Hpux then
2 --//     Argc := Command_Line.Argc;
2 --/ elsif TeleGen2 and then Unix then
2 --//     Argc  := Get_Argc;
2 --/ end if;
2 --//
2 --//     Argvi := 1;
2 --//     while Argvi < Argc loop
2 --//         Next_Arg;
2 --//
2 --// ---- -display <name> - Display   - Specifies the display to use
2 --//
2 --//         if This_Arg = "-display" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             Display := new X_String'(This_Arg);
2 --//
2 --// ---- -help           - Help      - Specifies that a help list be displaye
2 --//
2 --//         elsif This_Arg = "-help" then
2 --//             Usage (0);
2 --//
2 --// ---- -geometry       - Geometry  - Specifies the window geometry
2 --//
2 --//         elsif This_Arg = "-geometry" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             Geometry := new X_String'(This_Arg);
2 --//
2 --// --  -size <WxH>     - Size      - Specifies size of puzzle in tiles
2 --//
2 --//         elsif This_Arg = "-size" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             Size := new X_String'(This_Arg);
2 --//
2 --// --  -speed <number>   - Speed - tiles/second
2 --//
2 --//         elsif This_Arg = "-speed" and then Argvi < Argc then
2 --//             Next_Arg;
2 --//             begin
2 --//                 Speed := Natural'Value (To_String (This_Arg));
2 --//             exception
2 --//                 when others =>
2 --//                     Text_Io.Put_Line
2 --//                        ("Bad argument to -speed, expected a number: " &
2 --//                         To_String (This_Arg));
2 --//                     Usage (0);
2 --//             end;
2 --//
2 --// ---- -newcolormap    - New_Colormap - Specifies that a new colormap be used.
2 --//
2 --//         elsif This_Arg = "-newcolormap" then
2 --//             New_Colormap := True;
2 --//
2 --// ----Anything else is an error.
2 --//
2 --//         else
2 --//             Text_Io.Put_Line ("Unrecognized command line option: {" &
2 --//                               To_String (This_Arg) & "}");
2 --//             Usage (1);
2 --//         end if;
2 --//     end loop;
2 --//
2 --// ----We must have a display.
2 --//
2 --//     if Display = None_X_String_Pointer then
2 --//         Display := new X_String'(X_Display_Name (""));
2 --//     end if;
2 --//
2 --// ----Create the output filename.
2 --//
2 --//     if Geometry = None_X_String_Pointer then
2 --//         Geometry := new X_String'("");
2 --//     end if;
2 --//     if Size = None_X_String_Pointer then
2 --//         Size := new X_String'("");
2 --//     end if;
2 --//
2 --//     Puz_Main.Main (Display      => Display.all,
2 --//                    Geometry     => Geometry.all,
2 --//                    Size         => To_String (Size.all),
2 --//                    Speed        => Speed,
2 --//                    New_Colormap => New_Colormap);
2 --//
2 --/ if Cdf_Hpux then
2 --//     System_Interface.Process.Ext (0);
2 --/ elsif TeleGen2 and then Unix then
2 --//     Process_Control.Exit_Execution (0);      -- Program exit
2 --/ end if;
2 --//
2 --// end Puzzle_Unix;
2 --/ if Cdf_Hpux then
2 --// pragma Main;

* Change 199..201
1 
1 end Puzzle_Unix;
1 
-----
2 --//
16:05:47 ::: [end of File_Utilities.Difference].
16:05:48 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:05:48 ... SOURCE.PUZZLE.PUZZLE_UNIX'SPEC'V(1)", "!X11.X_DEMOS.
16:05:48 ... REV6_0_0_WORKING.UNITS.SOURCE.PUZZLE.PUZZLE_UNIX'SPEC'V(1)", "", 
16:05:48 ... TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.PUZZLE.PUZZLE_UNIX'SPEC
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.PUZZLE.PUZZLE_UNIX'SPEC
* Change 3
1 -- Copyright 1990 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1990 - 1991 by Rational, Santa Clara, California.
16:05:49 ::: [end of File_Utilities.Difference].
16:05:50 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:05:50 ... SOURCE.PUZZLE.PUZ_MAIN'BODY'V(5)", "!X11.X_DEMOS.REV6_0_0_WORKING.
16:05:50 ... UNITS.SOURCE.PUZZLE.PUZ_MAIN'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.PUZZLE.PUZ_MAIN'BODY
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.PUZZLE.PUZ_MAIN'BODY
* Delete 4..10
1 --/ if R1000 then
1 with System_Utilities;
1 --/ elsif TeleGen2 and then Unix then
1 --// with Unix_Time;
1 --/ else
1 --// with Something;
1 --/ end if;
16:05:55 ::: [end of File_Utilities.Difference].
16:05:57 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:05:57 ... SOURCE.PUZZLE.PUZ_MAIN.CALCULATE_SPEED'BODY'V(5)", "!X11.X_DEMOS.
16:05:57 ... REV6_0_0_WORKING.UNITS.SOURCE.PUZZLE.PUZ_MAIN.
16:05:57 ... CALCULATE_SPEED'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.PUZZLE.PUZ_MAIN.CALCULATE_SPEED'BODY
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.PUZZLE.PUZ_MAIN.CALCULATE_SPEED'BODY
* Insert after 0
2 --/ if R1000 then
2 with System_Utilities;
2 --/ elsif TeleGen2 and then Unix then
2 --// with Unix_Time;
2 --/ elsif Cdf_Hpux then
2 --// with C_Library_Interface;
2 --// with Unix_Base_Types;
2 --/ else
2 --//  with something;
2 --/ end if;
2 

* Insert after 10
2 --/ elsif Cdf_Hpux then
2 --//     Tv1           : Unix_Base_Types.Long;
2 --//     Tv2           : Unix_Base_Types.Long;
2 --//     Time_Per_Tile : Unix_Base_Types.Long;

* Insert after 37
2 --/ elsif Cdf_Hpux then
2 --//     Time_Per_Tile := Unix_Base_Types.Long (1_000_000) /
2 --//                         Unix_Base_Types.Long (Tiles_Per_Second);
2 --//
2 --//     X_Sync (Dpy, False);
2 --//     Tv1 := C_Library_Interface.Time.Clock;
2 --/ else
2 --//  Something;

* Insert after 48
2 --/ elsif TeleGen2 and then Unix then
2 --//         Tv2 := S_Long (Unix_Time.Clock);
2 --/ elsif Cdf_Hpux then
2 --//         Tv2 := C_Library_Interface.Time.Clock;

* Change 50
1 --//         Tv2 := S_Long (Unix_Time.Clock);
-----
2 --//         Something;

* Insert after 59
2 --/ elsif TeleGen2 and then Unix then
2 --//     Tv1 := S_Long (Unix_Time.Clock);
2 --/ elsif Cdf_Hpux then
2 --//     Tv1 := C_Library_Interface.Time.Clock;

* Change 61
1 --//     Tv1 := S_Long (Unix_Time.Clock);
-----
2 --//     Something;

* Insert after 69
2 --/ elsif TeleGen2 and then Unix then
2 --//     Tv2 := S_Long (Unix_Time.Clock);
2 --/ elsif Cdf_Hpux then
2 --//     Tv2 := C_Library_Interface.Time.Clock;

* Change 71
1 --//     Tv2 := S_Long (Unix_Time.Clock);
-----
2 --//     Something;

* Insert after 79
2 --/ elsif TeleGen2 and then Unix then
2 --//         Move_Steps := S_Natural ((Move_Steps * Time_Per_Tile) / (Tv2 - Tv1));
2 --/ elsif Cdf_Hpux then
2 --//         Move_Steps :=
2 --//            S_Natural ((Unix_Base_Types.Long (Move_Steps) * Time_Per_Tile) /
2 --//                       (Tv2 - Tv1));

* Change 81..82
1 --//         Move_Steps := S_Natural ((Move_Steps * Time_Per_Tile) /
1 --//                                  (Tv2 - Tv1));
-----
2 --//     Move_Steps := Something;
16:05:59 ::: [end of File_Utilities.Difference].
16:06:15 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:06:15 ... SOURCE.PUZZLE.PUZ_MAIN.SETUP'BODY'V(1)", "!X11.X_DEMOS.
16:06:15 ... REV6_0_0_WORKING.UNITS.SOURCE.PUZZLE.PUZ_MAIN.SETUP'BODY'V(1)", 
16:06:15 ... "", TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.PUZZLE.PUZ_MAIN.SETUP'BODY
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.PUZZLE.PUZ_MAIN.SETUP'BODY
* Change 1
1 separate (Puz_Main)
-----
2 separate (Puz_Main)  

* Change 4..9
1     Arrow_Cross_Cursor : X_Cursor;
1     Min_Width          : S_Long;
1     Min_Height         : S_Long;
1     Visual             : X_Visual;
1     Xgcv               : X_Gc_Values;
1     Size_Hints         : X_Size_Hints;
-----
2     Arrow_Cross_Cursor : X_Cursor;  
2     Min_Width          : S_Long;  
2     Min_Height         : S_Long;  
2     Visual             : X_Visual;  
2     Xgcv               : X_Gc_Values;  
2     Size_Hints         : X_Size_Hints;  

* Change 18
1     Initialize;
-----
2     Initialize;  

* Change 21
1     Fg_Pixel := X_Black_Pixel (Dpy, Screen);
-----
2     Fg_Pixel := X_Black_Pixel (Dpy, Screen);  

* Change 24
1     Title_Win_Height := Title_Window_Height;
-----
2     Title_Win_Height := Title_Window_Height;  

* Change 27..28
1     Min_Width  := Min_Tile_Width * Puzzle_Width;
1     Min_Height := Min_Tile_Height * Puzzle_Height +
-----
2     Min_Width  := Min_Tile_Width * Puzzle_Width;  
2     Min_Height := Min_Tile_Height * Puzzle_Height +  

* Change 35..42
1     declare
1         X           : S_Long;
1         Y           : S_Long;
1         Width       : S_Long;
1         Height      : S_Long;
1         Tile_Height : S_Long;
1         Tile_Width  : S_Long;
1         Flags       : X_Parse_Geometry_Flags;
-----
2     declare  
2         X           : S_Long;  
2         Y           : S_Long;  
2         Width       : S_Long;  
2         Height      : S_Long;  
2         Tile_Height : S_Long;  
2         Tile_Width  : S_Long;  
2         Flags       : X_Parse_Geometry_Flags;  

* Change 45..55
1         Size_Hints.Flags      :=
1            X_Size_Hints_Flags'
1               (P_Min_Size | P_Position | P_Size | P_Resize_Inc => True,
1                others => False);
1         Size_Hints.Min_Width  := S_Long (Min_Width);
1         Size_Hints.Min_Height := S_Long (Min_Height);
1         Size_Hints.Width      := S_Long (Min_Width);
1         Size_Hints.Height     := S_Long (Min_Height);
1         Size_Hints.X          := 100;
1         Size_Hints.Y          := 300;
1         Size_Hints.Width_Inc  := S_Long (Puzzle_Width);
-----
2         Size_Hints.Flags      :=  
2            X_Size_Hints_Flags'  
2               (P_Min_Size | P_Position | P_Size | P_Resize_Inc => True,  
2                others => False);  
2         Size_Hints.Min_Width  := S_Long (Min_Width);  
2         Size_Hints.Min_Height := S_Long (Min_Height);  
2         Size_Hints.Width      := S_Long (Min_Width);  
2         Size_Hints.Height     := S_Long (Min_Height);  
2         Size_Hints.X          := 100;  
2         Size_Hints.Y          := 300;  
2         Size_Hints.Width_Inc  := S_Long (Puzzle_Width);  

* Change 58..97
1         if Geometry /= "" then
1             declare
1                 Xx, Yy : S_Short := 0;
1                 Ww, Hh : U_Short := 0;
1             begin
1                 X_Parse_Geometry (Geometry, Xx, Yy, Ww, Hh, Flags);
1                 X      := S_Long (Xx);
1                 Y      := S_Long (Yy);
1                 Width  := S_Long (Ww);
1                 Height := S_Long (Hh);
1             end;
1             if Flags (Width_Value) then
1                 Size_Hints.Flags (U_S_Size) := True;
1                 if S_Long (Width) > Size_Hints.Min_Width then
1                     Size_Hints.Width := S_Long (Width);
1                 end if;
1             end if;
1             if Flags (Height_Value) then
1                 Size_Hints.Flags (U_S_Size) := True;
1                 if S_Long (Height) > Size_Hints.Min_Height then
1                     Size_Hints.Height := S_Long (Height);
1                 end if;
1             end if;
1             if Flags (X_Value) then
1                 if Flags (X_Negative) then
1                     X := S_Long (X_Display_Width
1                                     (Dpy, X_Default_Screen (Dpy))) +
1                          X - S_Long (Size_Hints.Width);
1                 end if;
1                 Size_Hints.Flags (U_S_Position) := True;
1                 Size_Hints.X                    := S_Long (X);
1             end if;
1             if Flags (Y_Value) then
1                 if Flags (Y_Negative) then
1                     Y := S_Long (X_Display_Height
1                                     (Dpy, X_Default_Screen (Dpy))) +
1                          Y - S_Long (Size_Hints.Height);
1                 end if;
1                 Size_Hints.Flags (U_S_Position) := True;
1                 Size_Hints.Y                    := S_Long (Y);
-----
2         if Geometry /= "" then  
2             declare  
2                 Xx, Yy : S_Short := 0;  
2                 Ww, Hh : U_Short := 0;  
2             begin  
2                 X_Parse_Geometry (Geometry, Xx, Yy, Ww, Hh, Flags);  
2                 X      := S_Long (Xx);  
2                 Y      := S_Long (Yy);  
2                 Width  := S_Long (Ww);  
2                 Height := S_Long (Hh);  
2             end;  
2             if Flags (Width_Value) then  
2                 Size_Hints.Flags (U_S_Size) := True;  
2                 if S_Long (Width) > Size_Hints.Min_Width then  
2                     Size_Hints.Width := S_Long (Width);  
2                 end if;  
2             end if;  
2             if Flags (Height_Value) then  
2                 Size_Hints.Flags (U_S_Size) := True;  
2                 if S_Long (Height) > Size_Hints.Min_Height then  
2                     Size_Hints.Height := S_Long (Height);  
2                 end if;  
2             end if;  
2             if Flags (X_Value) then  
2                 if Flags (X_Negative) then  
2                     X := S_Long (X_Display_Width  
2                                     (Dpy, X_Default_Screen (Dpy))) +  
2                          X - S_Long (Size_Hints.Width);  
2                 end if;  
2                 Size_Hints.Flags (U_S_Position) := True;  
2                 Size_Hints.X                    := S_Long (X);  
2             end if;  
2             if Flags (Y_Value) then  
2                 if Flags (Y_Negative) then  
2                     Y := S_Long (X_Display_Height  
2                                     (Dpy, X_Default_Screen (Dpy))) +  
2                          Y - S_Long (Size_Hints.Height);  
2                 end if;  
2                 Size_Hints.Flags (U_S_Position) := True;  
2                 Size_Hints.Y                    := S_Long (Y);  

* Change 100..102
1             Tile_Height := (S_Long (Size_Hints.Height) -
1                             Title_Win_Height - Boundary_Height) / Puzzle_Height;
1             Size_Hints.Height := S_Long (Tile_Height * Puzzle_Height +
-----
2             Tile_Height := (S_Long (Size_Hints.Height) -  
2                             Title_Win_Height - Boundary_Height) / Puzzle_Height;  
2             Size_Hints.Height := S_Long (Tile_Height * Puzzle_Height +  

* Change 105..107
1             Tile_Width       := S_Long (Size_Hints.Width) / Puzzle_Width;
1             Size_Hints.Width := S_Long (Tile_Width * Puzzle_Width);
1         end if;
-----
2             Tile_Width       := S_Long (Size_Hints.Width) / Puzzle_Width;  
2             Size_Hints.Width := S_Long (Tile_Width * Puzzle_Width);  
2         end if;  

* Change 116..133
1     if not Geb_Server_Bug then
1         Puzzle_Root := X_Create_Simple_Window
1                           (Dpy, X_Root_Window (Dpy, Screen),
1                            S_Short (Size_Hints.X), S_Short (Size_Hints.Y),
1                            U_Short (Size_Hints.Width),
1                            U_Short (Size_Hints.Height),
1                            Puzzle_Border_Width, Fg_Pixel, Fg_Pixel);
1     else
1         declare
1             Xswa : X_Set_Window_Attributes;
1         begin
1             Xswa.Background_Pixel := Fg_Pixel;
1             Xswa.Border_Pixel     := Fg_Pixel;
1             Xswa.Event_Mask       :=
1                X_Event_Mask'(Exposure_Mask | Visibility_Change_Mask => True,
1                              others => False);
1             Puzzle_Root           :=
1                X_Create_Window
-----
2     if not Geb_Server_Bug then  
2         Puzzle_Root := X_Create_Simple_Window  
2                           (Dpy, X_Root_Window (Dpy, Screen),  
2                            S_Short (Size_Hints.X), S_Short (Size_Hints.Y),  
2                            U_Short (Size_Hints.Width),  
2                            U_Short (Size_Hints.Height),  
2                            Puzzle_Border_Width, Fg_Pixel, Fg_Pixel);  
2     else  
2         declare  
2             Xswa : X_Set_Window_Attributes;  
2         begin  
2             Xswa.Background_Pixel := Fg_Pixel;  
2             Xswa.Border_Pixel     := Fg_Pixel;  
2             Xswa.Event_Mask       :=  
2                X_Event_Mask'(Exposure_Mask | Visibility_Change_Mask => True,  
2                              others => False);  
2             Puzzle_Root           :=  
2                X_Create_Window  

* Change 143..144
1                    Copy_From_Parent_Visual,
1                    (Cw_Back_Pixel | Cw_Border_Pixel | Cw_Event_Mask => True,
-----
2                    Copy_From_Parent_Visual,  
2                    (Cw_Back_Pixel | Cw_Border_Pixel | Cw_Event_Mask => True,  

* Change 146..147
1                    Xswa);
1         end;
-----
2                    Xswa);  
2         end;  

* Change 150..151
1     X_Set_Wm_Properties (Dpy, Puzzle_Root, "puzzle", "Puzzle",
1                          (1 .. 0 => None_X_String_Pointer), Size_Hints,
-----
2     X_Set_Wm_Properties (Dpy, Puzzle_Root, "puzzle", "Puzzle",  
2                          (1 .. 0 => None_X_String_Pointer), Size_Hints,  

* Change 154..158
1     Xgcv.Foreground := Fg_Pixel;
1     Xgcv.Background := Bg_Pixel;
1     Xgcv.Line_Width := 1;
1     Gc := X_Create_Gc (Dpy, Puzzle_Root.Drawable,
1                        (Gc_Foreground | Gc_Background | Gc_Line_Width => True,
-----
2     Xgcv.Foreground := Fg_Pixel;  
2     Xgcv.Background := Bg_Pixel;  
2     Xgcv.Line_Width := 1;  
2     Gc := X_Create_Gc (Dpy, Puzzle_Root.Drawable,  
2                        (Gc_Foreground | Gc_Background | Gc_Line_Width => True,  

* Change 165..176
1     declare
1         Ac_Mask   : X_Pixmap;
1         Ac_Pixmap : X_Pixmap;
1         Ac_Cursor : X_Cursor;
1         Fg_Color  : X_Color;
1         Bg_Color  : X_Color;
1     begin
1         Fg_Color.Red   := 0;
1         Fg_Color.Green := 0;
1         Fg_Color.Blue  := 0;
1         Bg_Color.Red   := 16#FFFF#;
1         Bg_Color.Green := 16#FFFF#;
-----
2     declare  
2         Ac_Mask   : X_Pixmap;  
2         Ac_Pixmap : X_Pixmap;  
2         Ac_Cursor : X_Cursor;  
2         Fg_Color  : X_Color;  
2         Bg_Color  : X_Color;  
2     begin  
2         Fg_Color.Red   := 0;  
2         Fg_Color.Green := 0;  
2         Fg_Color.Blue  := 0;  
2         Bg_Color.Red   := 16#FFFF#;  
2         Bg_Color.Green := 16#FFFF#;  

* Change 179..188
1         Ac_Pixmap := X_Create_Bitmap_From_Data
1                         (Dpy, X_Root_Window (Dpy, Screen).Drawable,
1                          Ac_Bits, Ac_Width, Ac_Height);
1         Ac_Mask   := X_Create_Bitmap_From_Data
1                         (Dpy, X_Root_Window (Dpy, Screen).Drawable,
1                          Ac_Mask_Bits, Ac_Mask_Width, Ac_Mask_Height);
1         Ac_Cursor := X_Create_Pixmap_Cursor (Dpy, Ac_Pixmap, Ac_Mask, Fg_Color,
1                                              Bg_Color, Ac_X_Hot, Ac_Y_Hot);
1         if "=" (Ac_Cursor, None_X_Cursor) then
1             Text_Io.Put_Line ("Unable to store Arrow_Cross_Cursor.");
-----
2         Ac_Pixmap := X_Create_Bitmap_From_Data  
2                         (Dpy, X_Root_Window (Dpy, Screen).Drawable,  
2                          Ac_Bits, Ac_Width, Ac_Height);  
2         Ac_Mask   := X_Create_Bitmap_From_Data  
2                         (Dpy, X_Root_Window (Dpy, Screen).Drawable,  
2                          Ac_Mask_Bits, Ac_Mask_Width, Ac_Mask_Height);  
2         Ac_Cursor := X_Create_Pixmap_Cursor (Dpy, Ac_Pixmap, Ac_Mask, Fg_Color,  
2                                              Bg_Color, Ac_X_Hot, Ac_Y_Hot);  
2         if "=" (Ac_Cursor, None_X_Cursor) then  
2             Text_Io.Put_Line ("Unable to store Arrow_Cross_Cursor.");  

* Change 191
1         X_Define_Cursor (Dpy, Puzzle_Root, Ac_Cursor);
-----
2         X_Define_Cursor (Dpy, Puzzle_Root, Ac_Cursor);  

* Delete 197..199
1 
1     Title_Font_Info := X_Load_Query_Font (Dpy, Title_Font_Name);
1     Tile_Font_Info  := X_Load_Query_Font (Dpy, Tile_Font_Name);

* Change 201..205
1     if "=" (Title_Font_Info, None_X_Font_Struct) then
1         Text_Io.Put_Line ("Opening title font.");
1     end if;
1     if "=" (Tile_Font_Info, None_X_Font_Struct) then
1         Text_Io.Put_Line ("Opening tile font.");
-----
2     Title_Font_Info := X_Load_Query_Font (Dpy, Title_Font_Name);  
2     if "=" (Title_Font_Info, None_X_Font_Struct) then  
2         Text_Io.Put_Line ("Could not open font " & To_String (Title_Font_Name) &  
2                           "; opening 'fixed' instead?");  
2         Title_Font_Info := X_Load_Query_Font (Dpy, "fixed");  
2         if "=" (Title_Font_Info, None_X_Font_Struct) then  
2             Text_Io.Put_Line ("Could not open font " &  
2                               To_String (Title_Font_Name) &  
2                               " or font 'fixed'?");  
2             raise Terminate_Program;  
2         end if;  

* Change 208..211
1     if not Geb_Server_Bug then
1         X_Select_Input (Dpy, Puzzle_Root,
1                         (Exposure_Mask | Visibility_Change_Mask => True,
1                          others => False));
-----
2     Tile_Font_Info := X_Load_Query_Font (Dpy, Tile_Font_Name);  
2     if "=" (Tile_Font_Info, None_X_Font_Struct) then  
2         Text_Io.Put_Line ("Could not open font " & To_String (Tile_Font_Name) &  
2                           "; opening 'fixed' instead?");  
2         Tile_Font_Info := X_Load_Query_Font (Dpy, "fixed");  
2         if "=" (Tile_Font_Info, None_X_Font_Struct) then  
2             Text_Io.Put_Line ("Could not open font " &  
2                               To_String (Tile_Font_Name) & " or font 'fixed'?");  
2             raise Terminate_Program;  
2         end if;  

* Insert after 212
2 
2     if not Geb_Server_Bug then  
2         X_Select_Input (Dpy, Puzzle_Root,  
2                         (Exposure_Mask | Visibility_Change_Mask => True,  
2                          others => False));  
2     end if;  

* Change 215
1 end Setup;
-----
2 end Setup;  
16:06:18 ::: [end of File_Utilities.Difference].
16:06:27 ::: [File_Utilities.Difference ("!X11.X_DEMOS.REV5_6_2_WORKING.UNITS.
16:06:27 ... SOURCE.PUZZLE.PUZ_PUZZLE'BODY'V(5)", "!X11.X_DEMOS.
16:06:27 ... REV6_0_0_WORKING.UNITS.SOURCE.PUZZLE.PUZ_PUZZLE'BODY'V(1)", "", 
16:06:27 ... TRUE, FALSE)].
* Object 1: !X11.X_DEMOS.REV5_6_2_WORKING.UNITS.SOURCE.PUZZLE.PUZ_PUZZLE'BODY
* Object 2: !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.SOURCE.PUZZLE.PUZ_PUZZLE'BODY
* Change 982..983
1         Ran_Data := Ran1_Initialize (S_Natural  
1                                         (Clk * Duration (Natural'Last / 101)));  
-----
2         Ran_Data := Ran1_Initialize  
2                        (S_Natural (Float (Clk) * Float (Natural'Last / 101)));  
16:06:33 ::: [end of File_Utilities.Difference].
16:06:33 !!! Only in !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.
16:06:33 !!! .SOURCE.WORMS.WORM_MAIN'BODY.
16:06:33 !!! Only in !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.
16:06:33 !!! .SOURCE.WORMS.WORM_MAIN'SPEC.
16:06:33 !!! Only in !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.
16:06:33 !!! .SOURCE.WORMS.WORM_MAN.
16:06:34 !!! Only in !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.
16:06:34 !!! .SOURCE.WORMS.WORM_UNIX'BODY.
16:06:34 !!! Only in !X11.X_DEMOS.REV6_0_0_WORKING.UNITS.
16:06:34 !!! .SOURCE.WORMS.WORM_UNIX'SPEC.
16:06:34 ::: [Diff done.].
16:06:34 --- ------------------------------------------------------------
16:06:34 --- Diff(!X11.X_Testing.Rev5_6_2_Working.Units,!X11.X_Testing.
16:06:34 ... Rev6_0_0_Working.Units).
16:07:43 ::: [Diff("!X11.X_Testing.Rev5_6_2_Working.Units.[??,~??.@_Log,~??.
16:07:43 ... Aaa_Load_@,~??.Documentation.??,~??.Ship_To.??,~??'c(Library,
16:07:43 ... Binary)]","!X11.X_Testing.Rev6_0_0_Working.Units.[??,~??.@_Log,
16:07:43 ... ~??.Aaa_Load_@,~??.Documentation.??,~??.Ship_To.??,~??'c(Library,
16:07:43 ... Binary)]",TRUE);].
16:07:43 --- Resolve Old_Files.
16:08:26 --- Resolve New_Files.
16:10:52 --- Compare Old_Files to New_Files.
16:10:54 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:10:54 ... UNITS.CONVERTERS.AAA_ALL_CVT'BODY'V(1)", "!X11.X_TESTING.
16:10:54 ... REV6_0_0_WORKING.UNITS.CONVERTERS.AAA_ALL_CVT'BODY'V(1)", "", 
16:10:54 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.AAA_ALL_CVT'BODY
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.AAA_ALL_CVT'BODY
* Change 1..5
1 with Cvt_010_Run;
1 with Cvt_020_Run;
1 with Cvt_030_Run;
1 with Cvt_040_Run;
1 with Cvt_050_Run;
-----
2 with Cvt_010_Run;  
2 with Cvt_020_Run;  
2 with Cvt_030_Run;  
2 with Cvt_040_Run;  
2 with Cvt_050_Run;  

* Change 7..13
1 with Cvt_070_Run;
1 with Cvt_080_Run;
1 with Cvt_090_Run;
1 with Cvt_092_Run;
1 with Cvt_094_Run;
1 with Cvt_096_Run;
1 with Cvt_100_Run;
-----
2 -- with Cvt_070_Run;
2 -- with Cvt_080_Run;
2 with Cvt_090_Run;  
2 with Cvt_092_Run;  
2 with Cvt_094_Run;  
2 with Cvt_096_Run;  
2 with Cvt_100_Run;  

* Insert after 14
2 
2 with Cvt_120_Run;  
2 with Cvt_121_Run;  
2 with Cvt_122_Run;  
2 with Cvt_123_Run;  
2 with Cvt_124_Run;  
2 with Cvt_125_Run;  
2 with Cvt_126_Run;  
2 with Cvt_127_Run;  
2 with Cvt_128_Run;  
2 with Cvt_129_Run;
2 
2 with Cvt_130_Run;  
2 with Cvt_131_Run;  
2 with Cvt_132_Run;

* Change 22..26
1     Cvt_010_Run;
1     Cvt_020_Run;
1     Cvt_030_Run;
1     Cvt_040_Run;
1     Cvt_050_Run;
-----
2     Cvt_010_Run;  
2     Cvt_020_Run;  
2     Cvt_030_Run;  
2     Cvt_040_Run;  
2     Cvt_050_Run;  

* Change 28..34
1     Cvt_070_Run;
1     Cvt_080_Run;
1     Cvt_090_Run;
1     Cvt_092_Run;
1     Cvt_094_Run;
1     Cvt_096_Run;
1     Cvt_100_Run;
-----
2     -- Cvt_070_Run;
2     -- Cvt_080_Run;
2     Cvt_090_Run;  
2     Cvt_092_Run;  
2     Cvt_094_Run;  
2     Cvt_096_Run;  
2     Cvt_100_Run;  

* Insert after 35
2 
2     Cvt_120_Run;  
2     Cvt_121_Run;  
2     Cvt_122_Run;  
2     Cvt_123_Run;  
2     Cvt_124_Run;  
2     Cvt_125_Run;  
2     Cvt_126_Run;  
2     Cvt_127_Run;  
2     Cvt_128_Run;  
2     Cvt_129_Run;
2 
2     Cvt_130_Run;  
2     Cvt_131_Run;  
2     Cvt_132_Run;

* Insert after 37
2 
2 --/ if Cdf_Hpux then
2 --// pragma Main;
2 --/ end if;
16:10:55 ::: [end of File_Utilities.Difference].
16:10:55 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:10:55 ... UNITS.CONVERTERS.AAA_DIR_CVT'V(1)", "!X11.X_TESTING.
16:10:55 ... REV6_0_0_WORKING.UNITS.CONVERTERS.AAA_DIR_CVT'V(1)", "", TRUE, 
16:10:55 ... FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.AAA_DIR_CVT
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.AAA_DIR_CVT
* Change 9..10
1 Cvt_070 - Xlbip_Request_Converters - (simple) request converter tests
1 Cvt_080 - Xlbip_Wire_Converters    - (simple) wire converter tests
-----
2 Cvt_070 - <available>
2 Cvt_080 - <available> 

* Change 14
1 
-----
2 Cvt_12% - Xlbip_Request_Converters - (simple) request converter tests
2 Cvt_13% - Xlbip_Request_Converters - (simple) request converter tests
16:10:56 ::: [end of File_Utilities.Difference].
16:10:57 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:10:57 ... UNITS.CONVERTERS.CVT_010'BODY'V(5)", "!X11.X_TESTING.
16:10:57 ... REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_010'BODY'V(1)", "", TRUE, 
16:10:57 ... FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.CVT_010'BODY
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_010'BODY
* Change 52..58
1 --//     for Private_48
1 --//          use
1 --//         record
1 --//             Value_1 at 0 * X_Word range X_Half0a .. X_Half0b;
1 --//             Value_2 at 0 * X_Word range X_Half1a .. X_Half1b;
1 --//             Value_3 at 1 * X_Word range X_Half0a .. X_Half0b;
1 --//         end record;
-----
2 --//    for Private_48 use
2 --//        record
2 --//            Value_1 at 0 * X_Word range X_Half0a .. X_Half0b;
2 --//            Value_2 at 0 * X_Word range X_Half1a .. X_Half1b;
2 --//            Value_3 at 1 * X_Word range X_Half0a .. X_Half0b;
2 --//        end record;

* Change 80
1 --//     pragma Pack (Array_S8_Of_U16);
-----
2 --//    pragma Pack (Array_S8_Of_U16);

* Change 84
1 --//     pragma Pack (Array_U16_Of_S8);
-----
2 --//    pragma Pack (Array_U16_Of_S8);

* Change 90
1 --//     pragma Pack (Array_S16_U16_Of_S8);
-----
2 --//    pragma Pack (Array_S16_U16_Of_S8);
16:11:00 ::: [end of File_Utilities.Difference].
16:11:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:11:01 !!! .CONVERTERS.CVT_010_RUN'BODY.
16:11:02 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:11:02 ... UNITS.CONVERTERS.CVT_010_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:11:02 ... REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_010_RUN'SPEC'V(1)", "", 
16:11:02 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.CVT_010_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_010_RUN'SPEC
* Change 1..10
1 with Run_One_Test;
1 
1 with Cvt_010;
1 
1 procedure Cvt_010_Run is
1    new Run_One_Test (The_Test           => Cvt_010,
1                      Test_Name          => "Cvt_010",
1                      Test_Description   => "Xlbmp_Generic_Converters",
1                      Ignore_Case        => False,
1                      Ignore_Blank_Lines => False);
-----
2 procedure Cvt_010_Run;  
16:11:03 ::: [end of File_Utilities.Difference].
16:11:12 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:11:12 !!! .CONVERTERS.CVT_020_RUN'BODY.
16:11:13 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:11:13 ... UNITS.CONVERTERS.CVT_020_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:11:13 ... REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_020_RUN'SPEC'V(1)", "", 
16:11:13 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.CVT_020_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_020_RUN'SPEC
* Change 1..10
1 with Run_One_Test;
1 
1 with Cvt_020;
1 
1 procedure Cvt_020_Run is
1    new Run_One_Test (The_Test           => Cvt_020,
1                      Test_Name          => "Cvt_020",
1                      Test_Description   => "Xlbip_Base_Converters",
1                      Ignore_Case        => False,
1                      Ignore_Blank_Lines => False);
-----
2 procedure Cvt_020_Run;  
16:11:13 ::: [end of File_Utilities.Difference].
16:11:17 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:11:17 !!! .CONVERTERS.CVT_030_RUN'BODY.
16:11:18 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:11:18 ... UNITS.CONVERTERS.CVT_030_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:11:18 ... REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_030_RUN'SPEC'V(1)", "", 
16:11:18 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.CVT_030_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_030_RUN'SPEC
* Change 1..10
1 with Run_One_Test;
1 
1 with Cvt_030;
1 
1 procedure Cvt_030_Run is
1    new Run_One_Test (The_Test           => Cvt_030,
1                      Test_Name          => "Cvt_030",
1                      Test_Description   => "Xlbip_Error_Converters",
1                      Ignore_Case        => False,
1                      Ignore_Blank_Lines => False);
-----
2 procedure Cvt_030_Run;  
16:11:18 ::: [end of File_Utilities.Difference].
16:11:22 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:11:22 ... UNITS.CONVERTERS.CVT_040'BODY'V(1)", "!X11.X_TESTING.
16:11:22 ... REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_040'BODY'V(1)", "", TRUE, 
16:11:22 ... FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.CVT_040'BODY
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_040'BODY
* Change 1
1 with Test_Io;
-----
2 with Test_Io;  

* Change 4..10
1 with Xlbt_Arithmetic;
1 with Xlbt_Basic;
1 with Xlbt_Event3;
1 with Xlbt_Key;
1 with Xlbt_Misc;
1 with Xlbt_Pointer;
1 with Xlbt_Window;
-----
2 with Xlbt_Arithmetic;  
2 with Xlbt_Basic;  
2 with Xlbt_Event3;  
2 with Xlbt_Key;  
2 with Xlbt_Misc;  
2 with Xlbt_Pointer;  
2 with Xlbt_Window;  

* Change 28..29
1     package Utils renames Cvt_Test_Utilities;
1     package Tests renames Utils.Raw_Data_Tests;
-----
2     package Utils renames Cvt_Test_Utilities;  
2     package Tests renames Utils.Raw_Data_Tests;  

* Change 38..48
1     procedure Test_X_Button_Event is
1         procedure Test is new Tests.Tester
1                                  (Xlbt_Event3.X_Button_Event, "X_Button_Event",
1                                   Xlbip_Event_Converters.To_Raw,
1                                   Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Button_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, Xlbt_Pointer.Any_Button,
1                     0, 0, (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))), 0, 0, 0, 0,
-----
2     procedure Test_X_Button_Event is  
2         procedure Test is new Tests.Tester  
2                                  (Xlbt_Event3.X_Button_Event, "X_Button_Event",  
2                                   Xlbip_Event_Converters.To_Raw,  
2                                   Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Button_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, Xlbt_Pointer.Any_Button,  
2                     0, 0, (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))), 0, 0, 0, 0,  

* Change 50..56
1               (1 .. 32 => 0));
1         Test ("1.2.3.4.5.6.7.8.9.10.11.12.1.-1",
1               (Xlbt_Event3.Reply_Event, Xlbt_Pointer.Button_2,
1                3, 4, (Drawable => (Id => (Number => 5))),
1                (Drawable => (Id => (Number => 6))),
1                (Drawable => (Id => (Number => 7))), 8, 9, 10, 11,
1                (Xlbt_Key.Mod_1_Mask | Xlbt_Key.Control_Mask => True,
-----
2               (1 .. 32 => 0));  
2         Test ("1.2.3.4.5.6.7.8.9.10.11.12.1.-1",  
2               (Xlbt_Event3.Reply_Event, Xlbt_Pointer.Button_2,  
2                3, 4, (Drawable => (Id => (Number => 5))),  
2                (Drawable => (Id => (Number => 6))),  
2                (Drawable => (Id => (Number => 7))), 8, 9, 10, 11,  
2                (Xlbt_Key.Mod_1_Mask | Xlbt_Key.Control_Mask => True,  

* Change 58..61
1               ((1, 2)) & Swab_00_03 & Swab_00_00_00_04 & Swab_00_00_00_05 &
1                  Swab_00_00_00_06 & Swab_00_00_00_07 & Swab_00_08 & Swab_00_09 &
1                  Swab_00_0a & Swab_00_0b & Swab_00_0c & ((1, Raw_Ff)));
1         Test_Io.New_Line;
-----
2               ((1, 2)) & Swab_00_03 & Swab_00_00_00_04 & Swab_00_00_00_05 &  
2                  Swab_00_00_00_06 & Swab_00_00_00_07 & Swab_00_08 & Swab_00_09 &  
2                  Swab_00_0a & Swab_00_0b & Swab_00_0c & ((1, Raw_Ff)));  
2         Test_Io.New_Line;  

* Change 66..87
1     procedure Test_X_Circulate_Notify_Event is
1         procedure Test is new Tests.Tester
1                                  (Xlbt_Event3.X_Circulate_Notify_Event,
1                                   "X_Circulate_Notify_Event",
1                                   Xlbip_Event_Converters.To_Raw,
1                                   Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Circulate_Notify_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))),
1                     Xlbt_Window.Place_On_Top, (others => 0)), (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.5.1.-1",
1               (Xlbt_Event3.Reply_Event, 255, 2,
1                (Drawable => (Id => (Number => 3))),
1                (Drawable => (Id => (Number => 4))),
1                (Drawable => (Id => (Number => 5))),
1                Xlbt_Window.Place_On_Bottom, (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 & Swab_00_00_00_04 &
1                  Swab_00_00_00_05 & (1 => 1, 2 .. 16 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Circulate_Notify_Event is  
2         procedure Test is new Tests.Tester  
2                                  (Xlbt_Event3.X_Circulate_Notify_Event,  
2                                   "X_Circulate_Notify_Event",  
2                                   Xlbip_Event_Converters.To_Raw,  
2                                   Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Circulate_Notify_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))),  
2                     Xlbt_Window.Place_On_Top, (others => 0)), (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.5.1.-1",  
2               (Xlbt_Event3.Reply_Event, 255, 2,  
2                (Drawable => (Id => (Number => 3))),  
2                (Drawable => (Id => (Number => 4))),  
2                (Drawable => (Id => (Number => 5))),  
2                Xlbt_Window.Place_On_Bottom, (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 & Swab_00_00_00_04 &  
2                  Swab_00_00_00_05 & (1 => 1, 2 .. 16 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 92..111
1     procedure Test_X_Circulate_Request_Event is
1         procedure Test is new Tests.Tester
1                                  (Xlbt_Event3.X_Circulate_Request_Event,
1                                   "X_Circulate_Request_Event",
1                                   Xlbip_Event_Converters.To_Raw,
1                                   Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Circulate_Request_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))), (others => 0),
1                     Xlbt_Window.Place_On_Top, (others => 0)), (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.-1.1.-1",
1               (Xlbt_Event3.Reply_Event, 255, 2,
1                (Drawable => (Id => (Number => 3))),
1                (Drawable => (Id => (Number => 4))), (others => 255),
1                Xlbt_Window.Place_On_Bottom, (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 & Swab_00_00_00_04 &
1                  (1 .. 4 => Raw_Ff) & (1 => 1, 2 .. 16 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Circulate_Request_Event is  
2         procedure Test is new Tests.Tester  
2                                  (Xlbt_Event3.X_Circulate_Request_Event,  
2                                   "X_Circulate_Request_Event",  
2                                   Xlbip_Event_Converters.To_Raw,  
2                                   Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Circulate_Request_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))), (others => 0),  
2                     Xlbt_Window.Place_On_Top, (others => 0)), (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.-1.1.-1",  
2               (Xlbt_Event3.Reply_Event, 255, 2,  
2                (Drawable => (Id => (Number => 3))),  
2                (Drawable => (Id => (Number => 4))), (others => 255),  
2                Xlbt_Window.Place_On_Bottom, (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 & Swab_00_00_00_04 &  
2                  (1 .. 4 => Raw_Ff) & (1 => 1, 2 .. 16 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 116..134
1     procedure Test_X_Client_Message_Event is
1         procedure Test is new Tests.Tester (Xlbt_Event3.X_Client_Message_Event,
1                                             "X_Client_Message_Event",
1                                             Xlbip_Event_Converters.To_Raw,
1                                             Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Client_Message_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,
1                     (Drawable => (Id => (Number => 0))),
1                     (Number => 0), (others => 0)), (1 .. 32 => 0));
1         Test ("1.2.3.4.5.6-25",
1               (Xlbt_Event3.Reply_Event, 2, 3,
1                (Drawable => (Id => (Number => 4))), (Number => 5),
1                (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1                 17, 18, 19, 20, 21, 22, 23, 24, 25)),
1               ((1, 2)) & Swab_00_03 & Swab_00_00_00_04 & Swab_00_00_00_05 &
1                  ((6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1                    17, 18, 19, 20, 21, 22, 23, 24, 25)));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Client_Message_Event is  
2         procedure Test is new Tests.Tester (Xlbt_Event3.X_Client_Message_Event,  
2                                             "X_Client_Message_Event",  
2                                             Xlbip_Event_Converters.To_Raw,  
2                                             Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Client_Message_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Number => 0), (others => 0)), (1 .. 32 => 0));  
2         Test ("1.2.3.4.5.6-25",  
2               (Xlbt_Event3.Reply_Event, 2, 3,  
2                (Drawable => (Id => (Number => 4))), (Number => 5),  
2                (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,  
2                 17, 18, 19, 20, 21, 22, 23, 24, 25)),  
2               ((1, 2)) & Swab_00_03 & Swab_00_00_00_04 & Swab_00_00_00_05 &  
2                  ((6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,  
2                    17, 18, 19, 20, 21, 22, 23, 24, 25)));  
2         Test_Io.New_Line;  

* Change 139..158
1     procedure Test_X_Colormap_Notify_Event is
1         procedure Test is new Tests.Tester (Xlbt_Event3.X_Colormap_Notify_Event,
1                                             "X_Colormap_Notify_Event",
1                                             Xlbip_Event_Converters.To_Raw,
1                                             Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Colormap_Notify_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,
1                     (Drawable => (Id => (Number => 0))),
1                     (Id => (Number => 0)), Xlbt_Misc.False,
1                     Xlbt_Event3.Colormap_Uninstalled, (others => 0)),
1               (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.0.1.-1",
1               (Xlbt_Event3.Reply_Event, 255, 2,
1                (Drawable => (Id => (Number => 3))),
1                (Id => (Number => 4)), Xlbt_Misc.False,
1                Xlbt_Event3.Colormap_Installed, (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &
1                  Swab_00_00_00_04 & ((0, 1)) & (1 .. 18 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Colormap_Notify_Event is  
2         procedure Test is new Tests.Tester (Xlbt_Event3.X_Colormap_Notify_Event,  
2                                             "X_Colormap_Notify_Event",  
2                                             Xlbip_Event_Converters.To_Raw,  
2                                             Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Colormap_Notify_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Id => (Number => 0)), Xlbt_Misc.False,  
2                     Xlbt_Event3.Colormap_Uninstalled, (others => 0)),  
2               (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.0.1.-1",  
2               (Xlbt_Event3.Reply_Event, 255, 2,  
2                (Drawable => (Id => (Number => 3))),  
2                (Id => (Number => 4)), Xlbt_Misc.False,  
2                Xlbt_Event3.Colormap_Installed, (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &  
2                  Swab_00_00_00_04 & ((0, 1)) & (1 .. 18 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 163..185
1     procedure Test_X_Configure_Notify_Event is
1         procedure Test is new Tests.Tester
1                                  (Xlbt_Event3.X_Configure_Notify_Event,
1                                   "X_Configure_Notify_Event",
1                                   Xlbip_Event_Converters.To_Raw,
1                                   Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Configure_Notify_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))), 0, 0, 0, 0, 0,
1                     Xlbt_Misc.False, (others => 0)), (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.5.6.7.8.9.10.1.-1",
1               (Xlbt_Event3.Reply_Event, 255, 2,
1                (Drawable => (Id => (Number => 3))),
1                (Drawable => (Id => (Number => 4))),
1                (Drawable => (Id => (Number => 5))), 6, 7, 8, 9, 10,
1                Xlbt_Misc.True, (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 & Swab_00_00_00_04 &
1                  Swab_00_00_00_05 & Swab_00_06 & Swab_00_07 & Swab_00_08 &
1                  Swab_00_09 & Swab_00_0a & (1 => 1, 2 .. 6 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Configure_Notify_Event is  
2         procedure Test is new Tests.Tester  
2                                  (Xlbt_Event3.X_Configure_Notify_Event,  
2                                   "X_Configure_Notify_Event",  
2                                   Xlbip_Event_Converters.To_Raw,  
2                                   Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Configure_Notify_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))), 0, 0, 0, 0, 0,  
2                     Xlbt_Misc.False, (others => 0)), (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.5.6.7.8.9.10.1.-1",  
2               (Xlbt_Event3.Reply_Event, 255, 2,  
2                (Drawable => (Id => (Number => 3))),  
2                (Drawable => (Id => (Number => 4))),  
2                (Drawable => (Id => (Number => 5))), 6, 7, 8, 9, 10,  
2                Xlbt_Misc.True, (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 & Swab_00_00_00_04 &  
2                  Swab_00_00_00_05 & Swab_00_06 & Swab_00_07 & Swab_00_08 &  
2                  Swab_00_09 & Swab_00_0a & (1 => 1, 2 .. 6 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 190..213
1     procedure Test_X_Configure_Request_Event is
1         procedure Test is new Tests.Tester
1                                  (Xlbt_Event3.X_Configure_Request_Event,
1                                   "X_Configure_Request_Event",
1                                   Xlbip_Event_Converters.To_Raw,
1                                   Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Configure_Request_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, Xlbt_Window.Above,
1                     0, (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))), 0, 0, 0, 0,
1                     0, (others => False), (others => 0)), (1 .. 32 => 0));
1         Test ("1.2.3.4.5.6.7.8.9.10.11.12.-1",
1               (Xlbt_Event3.Reply_Event, Xlbt_Window.Top_If,
1                3, (Drawable => (Id => (Number => 4))),
1                (Drawable => (Id => (Number => 5))),
1                (Drawable => (Id => (Number => 6))), 7, 8, 9, 10, 11,
1                (Xlbt_Window.Cw_Height | Xlbt_Window.Cw_Width => True,
1                 others => False), (others => 255)),
1               ((1, 2)) & Swab_00_03 & Swab_00_00_00_04 & Swab_00_00_00_05 &
1                  Swab_00_00_00_06 & Swab_00_07 & Swab_00_08 & Swab_00_09 &
1                  Swab_00_0a & Swab_00_0b & Swab_00_0c & (1 .. 4 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Configure_Request_Event is  
2         procedure Test is new Tests.Tester  
2                                  (Xlbt_Event3.X_Configure_Request_Event,  
2                                   "X_Configure_Request_Event",  
2                                   Xlbip_Event_Converters.To_Raw,  
2                                   Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Configure_Request_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, Xlbt_Window.Above,  
2                     0, (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))), 0, 0, 0, 0,  
2                     0, (others => False), (others => 0)), (1 .. 32 => 0));  
2         Test ("1.2.3.4.5.6.7.8.9.10.11.12.-1",  
2               (Xlbt_Event3.Reply_Event, Xlbt_Window.Top_If,  
2                3, (Drawable => (Id => (Number => 4))),  
2                (Drawable => (Id => (Number => 5))),  
2                (Drawable => (Id => (Number => 6))), 7, 8, 9, 10, 11,  
2                (Xlbt_Window.Cw_Height | Xlbt_Window.Cw_Width => True,  
2                 others => False), (others => 255)),  
2               ((1, 2)) & Swab_00_03 & Swab_00_00_00_04 & Swab_00_00_00_05 &  
2                  Swab_00_00_00_06 & Swab_00_07 & Swab_00_08 & Swab_00_09 &  
2                  Swab_00_0a & Swab_00_0b & Swab_00_0c & (1 .. 4 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 218..237
1     procedure Test_X_Create_Notify_Event is
1         procedure Test is new Tests.Tester (Xlbt_Event3.X_Create_Notify_Event,
1                                             "X_Create_Notify_Event",
1                                             Xlbip_Event_Converters.To_Raw,
1                                             Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Create_Notify_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))), 0, 0, 0, 0, 0,
1                     Xlbt_Misc.False, (others => 0)), (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.5.6.7.8.9.1.-1",
1               (Xlbt_Event3.Reply_Event, 255, 2,
1                (Drawable => (Id => (Number => 3))),
1                (Drawable => (Id => (Number => 4))), 5, 6, 7, 8, 9,
1                Xlbt_Misc.True, (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &
1                  Swab_00_00_00_04 & Swab_00_05 & Swab_00_06 & Swab_00_07 &
1                  Swab_00_08 & Swab_00_09 & (1 => 1, 2 .. 10 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Create_Notify_Event is  
2         procedure Test is new Tests.Tester (Xlbt_Event3.X_Create_Notify_Event,  
2                                             "X_Create_Notify_Event",  
2                                             Xlbip_Event_Converters.To_Raw,  
2                                             Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Create_Notify_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))), 0, 0, 0, 0, 0,  
2                     Xlbt_Misc.False, (others => 0)), (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.5.6.7.8.9.1.-1",  
2               (Xlbt_Event3.Reply_Event, 255, 2,  
2                (Drawable => (Id => (Number => 3))),  
2                (Drawable => (Id => (Number => 4))), 5, 6, 7, 8, 9,  
2                Xlbt_Misc.True, (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &  
2                  Swab_00_00_00_04 & Swab_00_05 & Swab_00_06 & Swab_00_07 &  
2                  Swab_00_08 & Swab_00_09 & (1 => 1, 2 .. 10 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 242..259
1     procedure Test_X_Destroy_Notify_Event is
1         procedure Test is new Tests.Tester (Xlbt_Event3.X_Destroy_Notify_Event,
1                                             "X_Destroy_Notify_Event",
1                                             Xlbip_Event_Converters.To_Raw,
1                                             Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Destroy_Notify_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))), (others => 0)),
1               (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.-1",
1               (Xlbt_Event3.Reply_Event, 255, 2,
1                (Drawable => (Id => (Number => 3))),
1                (Drawable => (Id => (Number => 4))), (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &
1                  Swab_00_00_00_04 & (1 .. 20 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Destroy_Notify_Event is  
2         procedure Test is new Tests.Tester (Xlbt_Event3.X_Destroy_Notify_Event,  
2                                             "X_Destroy_Notify_Event",  
2                                             Xlbip_Event_Converters.To_Raw,  
2                                             Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Destroy_Notify_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))), (others => 0)),  
2               (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.-1",  
2               (Xlbt_Event3.Reply_Event, 255, 2,  
2                (Drawable => (Id => (Number => 3))),  
2                (Drawable => (Id => (Number => 4))), (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &  
2                  Swab_00_00_00_04 & (1 .. 20 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 264..293
1     procedure Test_X_Enter_Leave_Event is
1         procedure Test is new Tests.Tester (Xlbt_Event3.X_Enter_Leave_Event,
1                                             "X_Enter_Leave_Event",
1                                             Xlbip_Event_Converters.To_Raw,
1                                             Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Enter_Leave_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event,
1                     Xlbt_Event3.Enter_Leave_Notify_Ancestor, 0, 0,
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))), 0, 0,
1                     0, 0, (others => False),
1                     Xlbt_Event3.Enter_Leave_Notify_Normal, (others => False)),
1               (1 .. 32 => 0));
1         Test ("1.2.3.4.5.6.7.8.9.10.11.12.1.13",
1               (Xlbt_Event3.Reply_Event, Xlbt_Event3.Enter_Leave_Notify_Inferior,
1                3, 4, (Drawable => (Id => (Number => 5))),
1                (Drawable => (Id => (Number => 6))),
1                (Drawable => (Id => (Number => 7))), 8, 9, 10, 11,
1                (Xlbt_Key.Mod_1_Mask | Xlbt_Key.Control_Mask => True,
1                 others => False),
1                Xlbt_Event3.Enter_Leave_Notify_Grab,
1                (Xlbt_Event3.Xelfi4 | Xlbt_Event3.Xelfi5 |
1                 Xlbt_Event3.Enter_Leave_Focus => True,
1                 others                        => False)),
1               ((1, 2)) & Swab_00_03 & Swab_00_00_00_04 & Swab_00_00_00_05 &
1                  Swab_00_00_00_06 & Swab_00_00_00_07 & Swab_00_08 & Swab_00_09 &
1                  Swab_00_0a & Swab_00_0b & Swab_00_0c & ((1, 13)));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Enter_Leave_Event is  
2         procedure Test is new Tests.Tester (Xlbt_Event3.X_Enter_Leave_Event,  
2                                             "X_Enter_Leave_Event",  
2                                             Xlbip_Event_Converters.To_Raw,  
2                                             Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Enter_Leave_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event,  
2                     Xlbt_Event3.Enter_Leave_Notify_Ancestor, 0, 0,  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))), 0, 0,  
2                     0, 0, (others => False),  
2                     Xlbt_Event3.Enter_Leave_Notify_Normal, (others => False)),  
2               (1 .. 32 => 0));  
2         Test ("1.2.3.4.5.6.7.8.9.10.11.12.1.49",  
2               (Xlbt_Event3.Reply_Event, Xlbt_Event3.Enter_Leave_Notify_Inferior,  
2                3, 4, (Drawable => (Id => (Number => 5))),  
2                (Drawable => (Id => (Number => 6))),  
2                (Drawable => (Id => (Number => 7))), 8, 9, 10, 11,  
2                (Xlbt_Key.Mod_1_Mask | Xlbt_Key.Control_Mask => True,  
2                 others => False),  
2                Xlbt_Event3.Enter_Leave_Notify_Grab,  
2                (Xlbt_Event3.Xelfi4 | Xlbt_Event3.Xelfi5 |  
2                 Xlbt_Event3.Enter_Leave_Focus => True,  
2                 others                        => False)),  
2               ((1, 2)) & Swab_00_03 & Swab_00_00_00_04 & Swab_00_00_00_05 &  
2                  Swab_00_00_00_06 & Swab_00_00_00_07 & Swab_00_08 & Swab_00_09 &  
2                  Swab_00_0a & Swab_00_0b & Swab_00_0c & ((1, 49)));  
2         Test_Io.New_Line;  

* Change 298..314
1     procedure Test_X_Expose_Event is
1         procedure Test is new Tests.Tester
1                                  (Xlbt_Event3.X_Expose_Event, "X_Expose_Event",
1                                   Xlbip_Event_Converters.To_Raw,
1                                   Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Expose_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,
1                     (Drawable => (Id => (Number => 0))),
1                     0, 0, 0, 0, 0, (others => 0)), (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.5.6.7.8.-1", (Xlbt_Event3.Reply_Event, 255, 2,
1                                         (Drawable => (Id => (Number => 3))),
1                                         4, 5, 6, 7, 8, (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &
1                  Swab_00_04 & Swab_00_05 & Swab_00_06 &
1                  Swab_00_07 & Swab_00_08 & (1 .. 14 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Expose_Event is  
2         procedure Test is new Tests.Tester  
2                                  (Xlbt_Event3.X_Expose_Event, "X_Expose_Event",  
2                                   Xlbip_Event_Converters.To_Raw,  
2                                   Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Expose_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,  
2                     (Drawable => (Id => (Number => 0))),  
2                     0, 0, 0, 0, 0, (others => 0)), (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.5.6.7.8.-1", (Xlbt_Event3.Reply_Event, 255, 2,  
2                                         (Drawable => (Id => (Number => 3))),  
2                                         4, 5, 6, 7, 8, (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &  
2                  Swab_00_04 & Swab_00_05 & Swab_00_06 &  
2                  Swab_00_07 & Swab_00_08 & (1 .. 14 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 319..336
1     procedure Test_X_Focus_Event is
1         procedure Test is new Tests.Tester
1                                  (Xlbt_Event3.X_Focus_Event, "X_Focus_Event",
1                                   Xlbip_Event_Converters.To_Raw,
1                                   Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Focus_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, Xlbt_Event3.Focus_Notify_Ancestor,
1                     0, (Drawable => (Id => (Number => 0))),
1                     Xlbt_Event3.Focus_Notify_Normal, (others => 0)),
1               (1 .. 32 => 0));
1         Test ("1.2.3.4.1.-1", (Xlbt_Event3.Reply_Event,
1                                Xlbt_Event3.Focus_Notify_Inferior, 3,
1                                (Drawable => (Id => (Number => 4))),
1                                Xlbt_Event3.Focus_Notify_Grab, (1 .. 23 => 255)),
1               ((1, 2)) & Swab_00_03 & Swab_00_00_00_04 &
1                  (1 => 1, 2 .. 24 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Focus_Event is  
2         procedure Test is new Tests.Tester  
2                                  (Xlbt_Event3.X_Focus_Event, "X_Focus_Event",  
2                                   Xlbip_Event_Converters.To_Raw,  
2                                   Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Focus_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, Xlbt_Event3.Focus_Notify_Ancestor,  
2                     0, (Drawable => (Id => (Number => 0))),  
2                     Xlbt_Event3.Focus_Notify_Normal, (others => 0)),  
2               (1 .. 32 => 0));  
2         Test ("1.2.3.4.1.-1", (Xlbt_Event3.Reply_Event,  
2                                Xlbt_Event3.Focus_Notify_Inferior, 3,  
2                                (Drawable => (Id => (Number => 4))),  
2                                Xlbt_Event3.Focus_Notify_Grab, (1 .. 23 => 255)),  
2               ((1, 2)) & Swab_00_03 & Swab_00_00_00_04 &  
2                  (1 => 1, 2 .. 24 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 341..357
1     procedure Test_X_Graphics_Expose_Event is
1         procedure Test is new Tests.Tester (Xlbt_Event3.X_Graphics_Expose_Event,
1                                             "X_Graphics_Expose_Event",
1                                             Xlbip_Event_Converters.To_Raw,
1                                             Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Graphics_Expose_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0, (Id => (Number => 0)), 0,
1                     0, 0, 0, 0, 0, Xlbt_Event3.Error_Event, (others => 0)),
1               (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.5.6.7.8.9.10.-1",
1               (Xlbt_Event3.Reply_Event, 255, 2, (Id => (Number => 3)), 4,
1                5, 6, 7, 8, 9, Xlbt_Event3.Focus_Out, (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &
1                  Swab_00_04 & Swab_00_05 & Swab_00_06 & Swab_00_07 &
1                  Swab_00_08 & Swab_00_09 & (1 => 10, 2 .. 12 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Graphics_Expose_Event is  
2         procedure Test is new Tests.Tester (Xlbt_Event3.X_Graphics_Expose_Event,  
2                                             "X_Graphics_Expose_Event",  
2                                             Xlbip_Event_Converters.To_Raw,  
2                                             Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Graphics_Expose_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0, (Id => (Number => 0)), 0,  
2                     0, 0, 0, 0, 0, Xlbt_Event3.Error_Event, (others => 0)),  
2               (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.5.6.7.8.9.10.-1",  
2               (Xlbt_Event3.Reply_Event, 255, 2, (Id => (Number => 3)), 4,  
2                5, 6, 7, 8, 9, Xlbt_Event3.Focus_Out, (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &  
2                  Swab_00_04 & Swab_00_05 & Swab_00_06 & Swab_00_07 &  
2                  Swab_00_08 & Swab_00_09 & (1 => 10, 2 .. 12 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 362..379
1     procedure Test_X_Gravity_Notify_Event is
1         procedure Test is new Tests.Tester (Xlbt_Event3.X_Gravity_Notify_Event,
1                                             "X_Gravity_Notify_Event",
1                                             Xlbip_Event_Converters.To_Raw,
1                                             Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Gravity_Notify_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))), 0, 0, (others => 0)),
1               (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.5.6.-1",
1               (Xlbt_Event3.Reply_Event, 255, 2,
1                (Drawable => (Id => (Number => 3))),
1                (Drawable => (Id => (Number => 4))), 5, 6, (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 & Swab_00_00_00_04 &
1                  Swab_00_05 & Swab_00_06 & (1 .. 16 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Gravity_Notify_Event is  
2         procedure Test is new Tests.Tester (Xlbt_Event3.X_Gravity_Notify_Event,  
2                                             "X_Gravity_Notify_Event",  
2                                             Xlbip_Event_Converters.To_Raw,  
2                                             Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Gravity_Notify_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))), 0, 0, (others => 0)),  
2               (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.5.6.-1",  
2               (Xlbt_Event3.Reply_Event, 255, 2,  
2                (Drawable => (Id => (Number => 3))),  
2                (Drawable => (Id => (Number => 4))), 5, 6, (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 & Swab_00_00_00_04 &  
2                  Swab_00_05 & Swab_00_06 & (1 .. 16 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 384..397
1     procedure Test_X_Keymap_Notify_Event is
1         procedure Test is new Tests.Tester (Xlbt_Event3.X_Keymap_Notify_Event,
1                                             "X_Keymap_Notify_Event",
1                                             Xlbip_Event_Converters.To_Raw,
1                                             Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Keymap_Notify_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, (others => False)),
1               (1 .. 32 => 0));
1         Test ("1.2.-1.3", (Xlbt_Event3.Reply_Event,
1                            (14 | 16 .. 247 | 254 | 255 => True,
1                             others                     => False)),
1               (1 => 1, 2 => 2, 3 .. 31 => Raw_Ff, 32 => 3));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Keymap_Notify_Event is  
2         procedure Test is new Tests.Tester (Xlbt_Event3.X_Keymap_Notify_Event,  
2                                             "X_Keymap_Notify_Event",  
2                                             Xlbip_Event_Converters.To_Raw,  
2                                             Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Keymap_Notify_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, (others => False)),  
2               (1 .. 32 => 0));  
2         Test ("1.2.-1.3", (Xlbt_Event3.Reply_Event,  
2                            (14 | 16 .. 247 | 254 | 255 => True,  
2                             others                     => False)),  
2               (1 => 1, 2 => 2, 3 .. 31 => Raw_Ff, 32 => 3));  
2         Test_Io.New_Line;  

* Change 402..424
1     procedure Test_X_Key_Event is
1         procedure Test is new Tests.Tester
1                                  (Xlbt_Event3.X_Key_Event, "X_Key_Event",
1                                   Xlbip_Event_Converters.To_Raw,
1                                   Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Key_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0, 0,
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))), 0, 0, 0, 0,
1                     (others => False), Xlbt_Misc.False, 0), (1 .. 32 => 0));
1         Test ("1.2.3.4.5.6.7.8.9.10.11.12.1.-1",
1               (Xlbt_Event3.Reply_Event, 2, 3, 4,
1                (Drawable => (Id => (Number => 5))),
1                (Drawable => (Id => (Number => 6))),
1                (Drawable => (Id => (Number => 7))), 8, 9, 10, 11,
1                (Xlbt_Key.Mod_1_Mask | Xlbt_Key.Control_Mask => True,
1                 others => False), Xlbt_Misc.True, 255),
1               ((1, 2)) & Swab_00_03 & Swab_00_00_00_04 & Swab_00_00_00_05 &
1                  Swab_00_00_00_06 & Swab_00_00_00_07 & Swab_00_08 & Swab_00_09 &
1                  Swab_00_0a & Swab_00_0b & Swab_00_0c & ((1, Raw_Ff)));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Key_Event is  
2         procedure Test is new Tests.Tester  
2                                  (Xlbt_Event3.X_Key_Event, "X_Key_Event",  
2                                   Xlbip_Event_Converters.To_Raw,  
2                                   Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Key_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0, 0,  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))), 0, 0, 0, 0,  
2                     (others => False), Xlbt_Misc.False, 0), (1 .. 32 => 0));  
2         Test ("1.2.3.4.5.6.7.8.9.10.11.12.1.-1",  
2               (Xlbt_Event3.Reply_Event, 2, 3, 4,  
2                (Drawable => (Id => (Number => 5))),  
2                (Drawable => (Id => (Number => 6))),  
2                (Drawable => (Id => (Number => 7))), 8, 9, 10, 11,  
2                (Xlbt_Key.Mod_1_Mask | Xlbt_Key.Control_Mask => True,  
2                 others => False), Xlbt_Misc.True, 255),  
2               ((1, 2)) & Swab_00_03 & Swab_00_00_00_04 & Swab_00_00_00_05 &  
2                  Swab_00_00_00_06 & Swab_00_00_00_07 & Swab_00_08 & Swab_00_09 &  
2                  Swab_00_0a & Swab_00_0b & Swab_00_0c & ((1, Raw_Ff)));  
2         Test_Io.New_Line;  

* Change 429..443
1     procedure Test_X_Mapping_Notify_Event is
1         procedure Test is new Tests.Tester (Xlbt_Event3.X_Mapping_Notify_Event,
1                                             "X_Mapping_Notify_Event",
1                                             Xlbip_Event_Converters.To_Raw,
1                                             Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Mapping_Notify_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,
1                     Xlbt_Event3.Mapping_Modifier, 0, 0, (others => 0)),
1               (1 .. 32 => 0));
1         Test ("1.-1.2.1.4.5.-1",
1               (Xlbt_Event3.Reply_Event, 255, 2,
1                Xlbt_Event3.Mapping_Keyboard, 4, 5, (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & ((1, 4, 5)) & (1 .. 25 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Mapping_Notify_Event is  
2         procedure Test is new Tests.Tester (Xlbt_Event3.X_Mapping_Notify_Event,  
2                                             "X_Mapping_Notify_Event",  
2                                             Xlbip_Event_Converters.To_Raw,  
2                                             Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Mapping_Notify_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,  
2                     Xlbt_Event3.Mapping_Modifier, 0, 0, (others => 0)),  
2               (1 .. 32 => 0));  
2         Test ("1.-1.2.1.4.5.-1",  
2               (Xlbt_Event3.Reply_Event, 255, 2,  
2                Xlbt_Event3.Mapping_Keyboard, 4, 5, (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & ((1, 4, 5)) & (1 .. 25 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 448..465
1     procedure Test_X_Map_Notify_Event is
1         procedure Test is new Tests.Tester (Xlbt_Event3.X_Map_Notify_Event,
1                                             "X_Map_Notify_Event",
1                                             Xlbip_Event_Converters.To_Raw,
1                                             Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Map_Notify_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))),
1                     Xlbt_Misc.False, (others => 0)), (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.1.-1", (Xlbt_Event3.Reply_Event, 255, 2,
1                                   (Drawable => (Id => (Number => 3))),
1                                   (Drawable => (Id => (Number => 4))),
1                                   Xlbt_Misc.True, (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &
1                  Swab_00_00_00_04 & (1 => 1, 2 .. 20 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Map_Notify_Event is  
2         procedure Test is new Tests.Tester (Xlbt_Event3.X_Map_Notify_Event,  
2                                             "X_Map_Notify_Event",  
2                                             Xlbip_Event_Converters.To_Raw,  
2                                             Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Map_Notify_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))),  
2                     Xlbt_Misc.False, (others => 0)), (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.1.-1", (Xlbt_Event3.Reply_Event, 255, 2,  
2                                   (Drawable => (Id => (Number => 3))),  
2                                   (Drawable => (Id => (Number => 4))),  
2                                   Xlbt_Misc.True, (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &  
2                  Swab_00_00_00_04 & (1 => 1, 2 .. 20 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 470..487
1     procedure Test_X_Map_Request_Event is
1         procedure Test is new Tests.Tester (Xlbt_Event3.X_Map_Request_Event,
1                                             "X_Map_Request_Event",
1                                             Xlbip_Event_Converters.To_Raw,
1                                             Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Map_Request_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))), (others => 0)),
1               (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.-1",
1               (Xlbt_Event3.Reply_Event, 255, 2,
1                (Drawable => (Id => (Number => 3))),
1                (Drawable => (Id => (Number => 4))), (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &
1                  Swab_00_00_00_04 & (1 .. 20 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Map_Request_Event is  
2         procedure Test is new Tests.Tester (Xlbt_Event3.X_Map_Request_Event,  
2                                             "X_Map_Request_Event",  
2                                             Xlbip_Event_Converters.To_Raw,  
2                                             Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Map_Request_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))), (others => 0)),  
2               (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.-1",  
2               (Xlbt_Event3.Reply_Event, 255, 2,  
2                (Drawable => (Id => (Number => 3))),  
2                (Drawable => (Id => (Number => 4))), (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &  
2                  Swab_00_00_00_04 & (1 .. 20 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 492..514
1     procedure Test_X_Motion_Notify_Event is
1         procedure Test is new Tests.Tester (Xlbt_Event3.X_Motion_Notify_Event,
1                                             "X_Motion_Notify_Event",
1                                             Xlbip_Event_Converters.To_Raw,
1                                             Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Motion_Notify_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, Xlbt_Event3.Motion_Notify_Normal,
1                     0, 0, (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))), 0, 0, 0, 0,
1                     (others => False), Xlbt_Misc.False, 0), (1 .. 32 => 0));
1         Test ("0.1.3.4.5.6.7.8.9.10.11.12.1.-1",
1               (Xlbt_Event3.Error_Event, Xlbt_Event3.Motion_Notify_Hint,
1                3, 4, (Drawable => (Id => (Number => 5))),
1                (Drawable => (Id => (Number => 6))),
1                (Drawable => (Id => (Number => 7))), 8, 9, 10, 11,
1                (Xlbt_Key.Mod_1_Mask | Xlbt_Key.Control_Mask => True,
1                 others => False), Xlbt_Misc.True, 255),
1               ((0, 1)) & Swab_00_03 & Swab_00_00_00_04 & Swab_00_00_00_05 &
1                  Swab_00_00_00_06 & Swab_00_00_00_07 & Swab_00_08 & Swab_00_09 &
1                  Swab_00_0a & Swab_00_0b & Swab_00_0c & ((1, Raw_Ff)));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Motion_Notify_Event is  
2         procedure Test is new Tests.Tester (Xlbt_Event3.X_Motion_Notify_Event,  
2                                             "X_Motion_Notify_Event",  
2                                             Xlbip_Event_Converters.To_Raw,  
2                                             Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Motion_Notify_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, Xlbt_Event3.Motion_Notify_Normal,  
2                     0, 0, (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))), 0, 0, 0, 0,  
2                     (others => False), Xlbt_Misc.False, 0), (1 .. 32 => 0));  
2         Test ("0.1.3.4.5.6.7.8.9.10.11.12.1.-1",  
2               (Xlbt_Event3.Error_Event, Xlbt_Event3.Motion_Notify_Hint,  
2                3, 4, (Drawable => (Id => (Number => 5))),  
2                (Drawable => (Id => (Number => 6))),  
2                (Drawable => (Id => (Number => 7))), 8, 9, 10, 11,  
2                (Xlbt_Key.Mod_1_Mask | Xlbt_Key.Control_Mask => True,  
2                 others => False), Xlbt_Misc.True, 255),  
2               ((0, 1)) & Swab_00_03 & Swab_00_00_00_04 & Swab_00_00_00_05 &  
2                  Swab_00_00_00_06 & Swab_00_00_00_07 & Swab_00_08 & Swab_00_09 &  
2                  Swab_00_0a & Swab_00_0b & Swab_00_0c & ((1, Raw_Ff)));  
2         Test_Io.New_Line;  

* Change 519..533
1     procedure Test_X_No_Expose_Event is
1         procedure Test is new Tests.Tester (Xlbt_Event3.X_No_Expose_Event,
1                                             "X_No_Expose_Event",
1                                             Xlbip_Event_Converters.To_Raw,
1                                             Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_No_Expose_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0, (Id => (Number => 0)),
1                     0, Xlbt_Event3.Error_Event, (others => 0)), (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.5.-1", (Xlbt_Event3.Reply_Event, 255,
1                                   2, (Id => (Number => 3)), 4,
1                                   Xlbt_Event3.Button_Release, (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &
1                  Swab_00_04 & (1 => 5, 2 .. 22 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_No_Expose_Event is  
2         procedure Test is new Tests.Tester (Xlbt_Event3.X_No_Expose_Event,  
2                                             "X_No_Expose_Event",  
2                                             Xlbip_Event_Converters.To_Raw,  
2                                             Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_No_Expose_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0, (Id => (Number => 0)),  
2                     0, Xlbt_Event3.Error_Event, (others => 0)), (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.5.-1", (Xlbt_Event3.Reply_Event, 255,  
2                                   2, (Id => (Number => 3)), 4,  
2                                   Xlbt_Event3.Button_Release, (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &  
2                  Swab_00_04 & (1 => 5, 2 .. 22 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 538..555
1     procedure Test_X_Property_Notify_Event is
1         procedure Test is new Tests.Tester (Xlbt_Event3.X_Property_Notify_Event,
1                                             "X_Property_Notify_Event",
1                                             Xlbip_Event_Converters.To_Raw,
1                                             Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Property_Notify_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,
1                     (Drawable => (Id => (Number => 0))), (Number => 0), 0,
1                     Xlbt_Window.Property_New_Value, (others => 0)),
1               (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.5.1.-1",
1               (Xlbt_Event3.Reply_Event, 255, 2,
1                (Drawable => (Id => (Number => 3))), (Number => 4), 5,
1                Xlbt_Window.Property_Delete, (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 & Swab_00_00_00_04 &
1                  Swab_00_00_00_05 & (1 => 1, 2 .. 16 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Property_Notify_Event is  
2         procedure Test is new Tests.Tester (Xlbt_Event3.X_Property_Notify_Event,  
2                                             "X_Property_Notify_Event",  
2                                             Xlbip_Event_Converters.To_Raw,  
2                                             Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Property_Notify_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,  
2                     (Drawable => (Id => (Number => 0))), (Number => 0), 0,  
2                     Xlbt_Window.Property_New_Value, (others => 0)),  
2               (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.5.1.-1",  
2               (Xlbt_Event3.Reply_Event, 255, 2,  
2                (Drawable => (Id => (Number => 3))), (Number => 4), 5,  
2                Xlbt_Window.Property_Delete, (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 & Swab_00_00_00_04 &  
2                  Swab_00_00_00_05 & (1 => 1, 2 .. 16 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 560..580
1     procedure Test_X_Reparent_Notify_Event is
1         procedure Test is new Tests.Tester (Xlbt_Event3.X_Reparent_Notify_Event,
1                                             "X_Reparent_Notify_Event",
1                                             Xlbip_Event_Converters.To_Raw,
1                                             Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Reparent_Notify_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))), 0, 0,
1                     Xlbt_Misc.False, (others => 0)), (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.5.6.7.1.-1", (Xlbt_Event3.Reply_Event, 255, 2,
1                                         (Drawable => (Id => (Number => 3))),
1                                         (Drawable => (Id => (Number => 4))),
1                                         (Drawable => (Id => (Number => 5))), 6,
1                                         7, Xlbt_Misc.True, (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &
1                  Swab_00_00_00_04 & Swab_00_00_00_05 & Swab_00_06 &
1                  Swab_00_07 & (1 => 1, 2 .. 12 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Reparent_Notify_Event is  
2         procedure Test is new Tests.Tester (Xlbt_Event3.X_Reparent_Notify_Event,  
2                                             "X_Reparent_Notify_Event",  
2                                             Xlbip_Event_Converters.To_Raw,  
2                                             Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Reparent_Notify_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))), 0, 0,  
2                     Xlbt_Misc.False, (others => 0)), (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.5.6.7.1.-1", (Xlbt_Event3.Reply_Event, 255, 2,  
2                                         (Drawable => (Id => (Number => 3))),  
2                                         (Drawable => (Id => (Number => 4))),  
2                                         (Drawable => (Id => (Number => 5))), 6,  
2                                         7, Xlbt_Misc.True, (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &  
2                  Swab_00_00_00_04 & Swab_00_00_00_05 & Swab_00_06 &  
2                  Swab_00_07 & (1 => 1, 2 .. 12 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 585..600
1     procedure Test_X_Resize_Request_Event is
1         procedure Test is new Tests.Tester (Xlbt_Event3.X_Resize_Request_Event,
1                                             "X_Resize_Request_Event",
1                                             Xlbip_Event_Converters.To_Raw,
1                                             Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Resize_Request_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,
1                     (Drawable => (Id => (Number => 0))), 0, 0, (others => 0)),
1               (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.5.-1",
1               (Xlbt_Event3.Reply_Event, 255, 2,
1                (Drawable => (Id => (Number => 3))), 4, 5, (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &
1                  Swab_00_04 & Swab_00_05 & (1 .. 20 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Resize_Request_Event is  
2         procedure Test is new Tests.Tester (Xlbt_Event3.X_Resize_Request_Event,  
2                                             "X_Resize_Request_Event",  
2                                             Xlbip_Event_Converters.To_Raw,  
2                                             Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Resize_Request_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,  
2                     (Drawable => (Id => (Number => 0))), 0, 0, (others => 0)),  
2               (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.5.-1",  
2               (Xlbt_Event3.Reply_Event, 255, 2,  
2                (Drawable => (Id => (Number => 3))), 4, 5, (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &  
2                  Swab_00_04 & Swab_00_05 & (1 .. 20 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 605..620
1     procedure Test_X_Selection_Clear_Event is
1         procedure Test is new Tests.Tester (Xlbt_Event3.X_Selection_Clear_Event,
1                                             "X_Selection_Clear_Event",
1                                             Xlbip_Event_Converters.To_Raw,
1                                             Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Selection_Clear_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0, 0,
1                     (Drawable => (Id => (Number => 0))),
1                     (Number => 0), (others => 0)), (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.5.-1", (Xlbt_Event3.Reply_Event, 255, 2, 3,
1                                   (Drawable => (Id => (Number => 4))),
1                                   (Number => 5), (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &
1                  Swab_00_00_00_04 & Swab_00_00_00_05 & (1 .. 16 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Selection_Clear_Event is  
2         procedure Test is new Tests.Tester (Xlbt_Event3.X_Selection_Clear_Event,  
2                                             "X_Selection_Clear_Event",  
2                                             Xlbip_Event_Converters.To_Raw,  
2                                             Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Selection_Clear_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0, 0,  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Number => 0), (others => 0)), (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.5.-1", (Xlbt_Event3.Reply_Event, 255, 2, 3,  
2                                   (Drawable => (Id => (Number => 4))),  
2                                   (Number => 5), (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &  
2                  Swab_00_00_00_04 & Swab_00_00_00_05 & (1 .. 16 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 625..644
1     procedure Test_X_Selection_Notify_Event is
1         procedure Test is new Tests.Tester
1                                  (Xlbt_Event3.X_Selection_Notify_Event,
1                                   "X_Selection_Notify_Event",
1                                   Xlbip_Event_Converters.To_Raw,
1                                   Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Selection_Notify_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0, 0,
1                     (Drawable => (Id => (Number => 0))), (Number => 0),
1                     (Number => 0), (Number => 0), (others => 0)),
1               (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.5.6.7.-1", (Xlbt_Event3.Reply_Event, 255, 2, 3,
1                                       (Drawable => (Id => (Number => 4))),
1                                       (Number => 5), (Number => 6),
1                                       (Number => 7), (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &
1                  Swab_00_00_00_04 & Swab_00_00_00_05 & Swab_00_00_00_06 &
1                  Swab_00_00_00_07 & (1 .. 8 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Selection_Notify_Event is  
2         procedure Test is new Tests.Tester  
2                                  (Xlbt_Event3.X_Selection_Notify_Event,  
2                                   "X_Selection_Notify_Event",  
2                                   Xlbip_Event_Converters.To_Raw,  
2                                   Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Selection_Notify_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0, 0,  
2                     (Drawable => (Id => (Number => 0))), (Number => 0),  
2                     (Number => 0), (Number => 0), (others => 0)),  
2               (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.5.6.7.-1", (Xlbt_Event3.Reply_Event, 255, 2, 3,  
2                                       (Drawable => (Id => (Number => 4))),  
2                                       (Number => 5), (Number => 6),  
2                                       (Number => 7), (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &  
2                  Swab_00_00_00_04 & Swab_00_00_00_05 & Swab_00_00_00_06 &  
2                  Swab_00_00_00_07 & (1 .. 8 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 649..670
1     procedure Test_X_Selection_Request_Event is
1         procedure Test is new Tests.Tester
1                                  (Xlbt_Event3.X_Selection_Request_Event,
1                                   "X_Selection_Request_Event",
1                                   Xlbip_Event_Converters.To_Raw,
1                                   Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Selection_Request_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0, 0,
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))), (Number => 0),
1                     (Number => 0), (Number => 0), (others => 0)),
1               (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.5.6.7.8.-1",
1               (Xlbt_Event3.Reply_Event, 255, 2, 3,
1                (Drawable => (Id => (Number => 4))),
1                (Drawable => (Id => (Number => 5))), (Number => 6),
1                (Number => 7), (Number => 8), (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &
1                  Swab_00_00_00_04 & Swab_00_00_00_05 & Swab_00_00_00_06 &
1                  Swab_00_00_00_07 & Swab_00_00_00_08 & (1 .. 4 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Selection_Request_Event is  
2         procedure Test is new Tests.Tester  
2                                  (Xlbt_Event3.X_Selection_Request_Event,  
2                                   "X_Selection_Request_Event",  
2                                   Xlbip_Event_Converters.To_Raw,  
2                                   Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Selection_Request_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0, 0,  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))), (Number => 0),  
2                     (Number => 0), (Number => 0), (others => 0)),  
2               (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.5.6.7.8.-1",  
2               (Xlbt_Event3.Reply_Event, 255, 2, 3,  
2                (Drawable => (Id => (Number => 4))),  
2                (Drawable => (Id => (Number => 5))), (Number => 6),  
2                (Number => 7), (Number => 8), (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &  
2                  Swab_00_00_00_04 & Swab_00_00_00_05 & Swab_00_00_00_06 &  
2                  Swab_00_00_00_07 & Swab_00_00_00_08 & (1 .. 4 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 675..692
1     procedure Test_X_Unmap_Notify_Event is
1         procedure Test is new Tests.Tester (Xlbt_Event3.X_Unmap_Notify_Event,
1                                             "X_Unmap_Notify_Event",
1                                             Xlbip_Event_Converters.To_Raw,
1                                             Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Unmap_Notify_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,
1                     (Drawable => (Id => (Number => 0))),
1                     (Drawable => (Id => (Number => 0))),
1                     Xlbt_Misc.False, (others => 0)), (1 .. 32 => 0));
1         Test ("1.-1.2.3.4.1.-1", (Xlbt_Event3.Reply_Event, 255, 2,
1                                   (Drawable => (Id => (Number => 3))),
1                                   (Drawable => (Id => (Number => 4))),
1                                   Xlbt_Misc.True, (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &
1                  Swab_00_00_00_04 & (1 => 1, 2 .. 20 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Unmap_Notify_Event is  
2         procedure Test is new Tests.Tester (Xlbt_Event3.X_Unmap_Notify_Event,  
2                                             "X_Unmap_Notify_Event",  
2                                             Xlbip_Event_Converters.To_Raw,  
2                                             Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Unmap_Notify_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,  
2                     (Drawable => (Id => (Number => 0))),  
2                     (Drawable => (Id => (Number => 0))),  
2                     Xlbt_Misc.False, (others => 0)), (1 .. 32 => 0));  
2         Test ("1.-1.2.3.4.1.-1", (Xlbt_Event3.Reply_Event, 255, 2,  
2                                   (Drawable => (Id => (Number => 3))),  
2                                   (Drawable => (Id => (Number => 4))),  
2                                   Xlbt_Misc.True, (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &  
2                  Swab_00_00_00_04 & (1 => 1, 2 .. 20 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 697..715
1     procedure Test_X_Visibility_Notify_Event is
1         procedure Test is new Tests.Tester
1                                  (Xlbt_Event3.X_Visibility_Notify_Event,
1                                   "X_Visibility_Notify_Event",
1                                   Xlbip_Event_Converters.To_Raw,
1                                   Xlbip_Event_Converters.From_Raw);
1     begin
1         Test_Io.Section ("X_Visibility_Notify_Event conversions");
1         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,
1                     (Drawable => (Id => (Number => 0))),
1                     Xlbt_Event3.Visibility_Unobscured, (others => 0)),
1               (1 .. 32 => 0));
1         Test ("1.-1.2.3.1.-1",
1               (Xlbt_Event3.Reply_Event, 255, 2,
1                (Drawable => (Id => (Number => 3))),
1                Xlbt_Event3.Visibility_Partially_Obscured, (others => 255)),
1               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &
1                  (1 => 1, 2 .. 24 => Raw_Ff));
1         Test_Io.New_Line;
-----
2     procedure Test_X_Visibility_Notify_Event is  
2         procedure Test is new Tests.Tester  
2                                  (Xlbt_Event3.X_Visibility_Notify_Event,  
2                                   "X_Visibility_Notify_Event",  
2                                   Xlbip_Event_Converters.To_Raw,  
2                                   Xlbip_Event_Converters.From_Raw);  
2     begin  
2         Test_Io.Section ("X_Visibility_Notify_Event conversions");  
2         Test ("0", (Xlbt_Event3.Error_Event, 0, 0,  
2                     (Drawable => (Id => (Number => 0))),  
2                     Xlbt_Event3.Visibility_Unobscured, (others => 0)),  
2               (1 .. 32 => 0));  
2         Test ("1.-1.2.3.1.-1",  
2               (Xlbt_Event3.Reply_Event, 255, 2,  
2                (Drawable => (Id => (Number => 3))),  
2                Xlbt_Event3.Visibility_Partially_Obscured, (others => 255)),  
2               ((1, Raw_Ff)) & Swab_00_02 & Swab_00_00_00_03 &  
2                  (1 => 1, 2 .. 24 => Raw_Ff));  
2         Test_Io.New_Line;  

* Change 718..748
1 begin
1     Test_X_Button_Event;
1     Test_X_Circulate_Notify_Event;
1     Test_X_Circulate_Request_Event;
1     Test_X_Client_Message_Event;
1     Test_X_Colormap_Notify_Event;
1     Test_X_Configure_Notify_Event;
1     Test_X_Configure_Request_Event;
1     Test_X_Create_Notify_Event;
1     Test_X_Destroy_Notify_Event;
1     Test_X_Enter_Leave_Event;
1     Test_X_Expose_Event;
1     Test_X_Focus_Event;
1     Test_X_Graphics_Expose_Event;
1     Test_X_Gravity_Notify_Event;
1     Test_X_Keymap_Notify_Event;
1     Test_X_Key_Event;
1     Test_X_Mapping_Notify_Event;
1     Test_X_Map_Notify_Event;
1     Test_X_Map_Request_Event;
1     Test_X_Motion_Notify_Event;
1     Test_X_No_Expose_Event;
1     Test_X_Property_Notify_Event;
1     Test_X_Reparent_Notify_Event;
1     Test_X_Resize_Request_Event;
1     Test_X_Selection_Clear_Event;
1     Test_X_Selection_Notify_Event;
1     Test_X_Selection_Request_Event;
1     Test_X_Unmap_Notify_Event;
1     Test_X_Visibility_Notify_Event;
1 end Cvt_040;
-----
2 begin  
2     Test_X_Button_Event;  
2     Test_X_Circulate_Notify_Event;  
2     Test_X_Circulate_Request_Event;  
2     Test_X_Client_Message_Event;  
2     Test_X_Colormap_Notify_Event;  
2     Test_X_Configure_Notify_Event;  
2     Test_X_Configure_Request_Event;  
2     Test_X_Create_Notify_Event;  
2     Test_X_Destroy_Notify_Event;  
2     Test_X_Enter_Leave_Event;  
2     Test_X_Expose_Event;  
2     Test_X_Focus_Event;  
2     Test_X_Graphics_Expose_Event;  
2     Test_X_Gravity_Notify_Event;  
2     Test_X_Keymap_Notify_Event;  
2     Test_X_Key_Event;  
2     Test_X_Mapping_Notify_Event;  
2     Test_X_Map_Notify_Event;  
2     Test_X_Map_Request_Event;  
2     Test_X_Motion_Notify_Event;  
2     Test_X_No_Expose_Event;  
2     Test_X_Property_Notify_Event;  
2     Test_X_Reparent_Notify_Event;  
2     Test_X_Resize_Request_Event;  
2     Test_X_Selection_Clear_Event;  
2     Test_X_Selection_Notify_Event;  
2     Test_X_Selection_Request_Event;  
2     Test_X_Unmap_Notify_Event;  
2     Test_X_Visibility_Notify_Event;  
2 end Cvt_040;  
16:11:30 ::: [end of File_Utilities.Difference].
16:11:31 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:11:31 !!! .CONVERTERS.CVT_040_RUN'BODY.
16:11:31 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:11:31 ... UNITS.CONVERTERS.CVT_040_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:11:31 ... REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_040_RUN'SPEC'V(1)", "", 
16:11:31 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.CVT_040_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_040_RUN'SPEC
* Change 1..10
1 with Run_One_Test;
1 
1 with Cvt_040;
1 
1 procedure Cvt_040_Run is
1    new Run_One_Test (The_Test           => Cvt_040,
1                      Test_Name          => "Cvt_040",
1                      Test_Description   => "Xlbip_Event_Converters",
1                      Ignore_Case        => False,
1                      Ignore_Blank_Lines => False);
-----
2 procedure Cvt_040_Run;  
16:11:32 ::: [end of File_Utilities.Difference].
16:11:36 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:11:36 !!! .CONVERTERS.CVT_050_RUN'BODY.
16:11:37 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:11:37 ... UNITS.CONVERTERS.CVT_050_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:11:37 ... REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_050_RUN'SPEC'V(1)", "", 
16:11:37 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.CVT_050_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_050_RUN'SPEC
* Change 1..10
1 with Run_One_Test;
1 
1 with Cvt_050;
1 
1 procedure Cvt_050_Run is
1    new Run_One_Test (The_Test           => Cvt_050,
1                      Test_Name          => "Cvt_050",
1                      Test_Description   => "Xlbip_Graphic_Converters",
1                      Ignore_Case        => False,
1                      Ignore_Blank_Lines => False);
-----
2 procedure Cvt_050_Run;  
16:11:38 ::: [end of File_Utilities.Difference].
16:11:55 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:11:55 !!! .CONVERTERS.CVT_060_RUN'BODY.
16:11:56 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:11:56 ... UNITS.CONVERTERS.CVT_060_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:11:56 ... REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_060_RUN'SPEC'V(1)", "", 
16:11:56 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.CVT_060_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_060_RUN'SPEC
* Change 1..10
1 with Run_One_Test;
1 
1 with Cvt_060;
1 
1 procedure Cvt_060_Run is
1    new Run_One_Test (The_Test           => Cvt_060,
1                      Test_Name          => "Cvt_060",
1                      Test_Description   => "Xlbip_Reply_Converters",
1                      Ignore_Case        => False,
1                      Ignore_Blank_Lines => False);
-----
2 procedure Cvt_060_Run;  
16:11:56 ::: [end of File_Utilities.Difference].
16:11:56 !!! Only in !X11.X_TESTING.REV5_6_2_WORKING.UNITS.
16:11:56 !!! .CONVERTERS.CVT_070'BODY.
16:11:56 !!! Only in !X11.X_TESTING.REV5_6_2_WORKING.UNITS.
16:11:56 !!! .CONVERTERS.CVT_070'SPEC.
16:11:56 !!! Only in !X11.X_TESTING.REV5_6_2_WORKING.UNITS.
16:11:56 !!! .CONVERTERS.CVT_070_RUN'SPEC.
16:11:56 !!! Only in !X11.X_TESTING.REV5_6_2_WORKING.UNITS.
16:11:56 !!! .CONVERTERS.CVT_080'BODY.
16:11:56 !!! Only in !X11.X_TESTING.REV5_6_2_WORKING.UNITS.
16:11:56 !!! .CONVERTERS.CVT_080'SPEC.
16:11:56 !!! Only in !X11.X_TESTING.REV5_6_2_WORKING.UNITS.
16:11:56 !!! .CONVERTERS.CVT_080_RUN'SPEC.
16:12:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:00 !!! .CONVERTERS.CVT_090_RUN'BODY.
16:12:01 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:12:01 ... UNITS.CONVERTERS.CVT_090_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:12:01 ... REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_090_RUN'SPEC'V(1)", "", 
16:12:01 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.CVT_090_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_090_RUN'SPEC
* Change 1..10
1 with Run_One_Test;
1 
1 with Cvt_090;
1 
1 procedure Cvt_090_Run is
1    new Run_One_Test (The_Test           => Cvt_090,
1                      Test_Name          => "Cvt_090",
1                      Test_Description   => "Xlbp_U_Char_Generics",
1                      Ignore_Case        => False,
1                      Ignore_Blank_Lines => False);
-----
2 procedure Cvt_090_Run;  
16:12:01 ::: [end of File_Utilities.Difference].
16:12:03 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:12:03 ... UNITS.CONVERTERS.CVT_092'BODY'V(5)", "!X11.X_TESTING.
16:12:03 ... REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_092'BODY'V(1)", "", TRUE, 
16:12:03 ... FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.CVT_092'BODY
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_092'BODY
* Change 57..63
1 --//     for Private_48
1 --//          use
1 --//         record
1 --//             Value_1 at 0 * X_Word range X_Half0a .. X_Half0b;
1 --//             Value_2 at 0 * X_Word range X_Half1a .. X_Half1b;
1 --//             Value_3 at 1 * X_Word range X_Half0a .. X_Half0b;
1 --//         end record;
-----
2 --//    for Private_48 use
2 --//        record
2 --//            Value_1 at 0 * X_Word range X_Half0a .. X_Half0b;
2 --//            Value_2 at 0 * X_Word range X_Half1a .. X_Half1b;
2 --//            Value_3 at 1 * X_Word range X_Half0a .. X_Half0b;
2 --//        end record;
16:12:04 ::: [end of File_Utilities.Difference].
16:12:05 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:05 !!! .CONVERTERS.CVT_092_RUN'BODY.
16:12:06 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:12:06 ... UNITS.CONVERTERS.CVT_092_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:12:06 ... REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_092_RUN'SPEC'V(1)", "", 
16:12:06 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.CVT_092_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_092_RUN'SPEC
* Change 1..10
1 with Run_One_Test;
1 
1 with Cvt_092;
1 
1 procedure Cvt_092_Run is
1    new Run_One_Test (The_Test           => Cvt_092,
1                      Test_Name          => "Cvt_092",
1                      Test_Description   => "Xlbp_U_Char_Generics",
1                      Ignore_Case        => False,
1                      Ignore_Blank_Lines => False);
-----
2 procedure Cvt_092_Run;  
16:12:07 ::: [end of File_Utilities.Difference].
16:12:10 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:10 !!! .CONVERTERS.CVT_094_RUN'BODY.
16:12:11 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:12:11 ... UNITS.CONVERTERS.CVT_094_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:12:11 ... REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_094_RUN'SPEC'V(1)", "", 
16:12:11 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.CVT_094_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_094_RUN'SPEC
* Change 1..10
1 with Run_One_Test;
1 
1 with Cvt_094;
1 
1 procedure Cvt_094_Run is
1    new Run_One_Test (The_Test           => Cvt_094,
1                      Test_Name          => "Cvt_094",
1                      Test_Description   => "Xlbp_U_Char_Generics",
1                      Ignore_Case        => False,
1                      Ignore_Blank_Lines => False);
-----
2 procedure Cvt_094_Run;  
16:12:11 ::: [end of File_Utilities.Difference].
16:12:15 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:15 !!! .CONVERTERS.CVT_096_RUN'BODY.
16:12:16 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:12:16 ... UNITS.CONVERTERS.CVT_096_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:12:16 ... REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_096_RUN'SPEC'V(1)", "", 
16:12:16 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.CVT_096_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_096_RUN'SPEC
* Change 1..10
1 with Run_One_Test;
1 
1 with Cvt_096;
1 
1 procedure Cvt_096_Run is
1    new Run_One_Test (The_Test           => Cvt_096,
1                      Test_Name          => "Cvt_096",
1                      Test_Description   => "Xlbp_U_Char_Generics",
1                      Ignore_Case        => False,
1                      Ignore_Blank_Lines => False);
-----
2 procedure Cvt_096_Run;  
16:12:16 ::: [end of File_Utilities.Difference].
16:12:19 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:12:19 ... UNITS.CONVERTERS.CVT_100'BODY'V(1)", "!X11.X_TESTING.
16:12:19 ... REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_100'BODY'V(1)", "", TRUE, 
16:12:19 ... FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.CVT_100'BODY
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_100'BODY
* Change 1
1 with Test_Io;
-----
2 with Test_Io;  

* Change 4..9
1 with Xlbt_Arithmetic;
1 with Xlbt_Basic;
1 with Xlbt_Hint;
1 with Xlbit_Hint3;
1 with Xlbt_Misc;
1 with Xlbt_String;
-----
2 with Xlbt_Arithmetic;  
2 with Xlbt_Basic;  
2 with Xlbt_Hint;  
2 with Xlbit_Hint3;  
2 with Xlbt_Misc;  
2 with Xlbt_String;  

* Change 31..33
1     package Utils renames Cvt_Test_Utilities;
1     package Tests renames Utils.U_Char_Tests;
1     package Dummy renames Utils.Dummy_Converters;
-----
2     package Utils renames Cvt_Test_Utilities;  
2     package Tests renames Utils.U_Char_Tests;  
2     package Dummy renames Utils.Dummy_Converters;  

* Change 42..55
1     procedure Test_X_Atom_Array is
1         procedure Test is new Tests.Tester_1d
1                                  (Xlbt_Basic.X_Atom, Xlbt_Arithmetic.S_Natural,
1                                   Xlbt_Basic.X_Atom_Array, "X_Atom_Array",
1                                   Xlbp_U_Char_Converters.To_Uca,
1                                   Xlbp_U_Char_Converters.From_Uca);
1     begin
1         Test_Io.Section ("X_Atom_Array conversions");
1         Test ("1..0 => 0", (1 .. 0 => (Number => 0)), (1 .. 0 => 0));
1         Test ("2..2 => -1", (2 => (Number => Minus_1)), (1 .. 4 => Uca_Ff));
1         Test ("0..0 => 2", (0 => (Number => 2)), Swab_00_00_00_02);
1         Test ("1..2 => 1", (1 .. 2 => (Number => 1)),
1               Swab_00_00_00_01 & Swab_00_00_00_01);
1         Test_Io.New_Line;
-----
2     procedure Test_X_Atom_Array is  
2         procedure Test is new Tests.Tester_1d  
2                                  (Xlbt_Basic.X_Atom, Xlbt_Arithmetic.S_Natural,  
2                                   Xlbt_Basic.X_Atom_Array, "X_Atom_Array",  
2                                   Xlbp_U_Char_Converters.To_Uca,  
2                                   Xlbp_U_Char_Converters.From_Uca);  
2     begin  
2         Test_Io.Section ("X_Atom_Array conversions");  
2         Test ("1..0 => 0", (1 .. 0 => (Number => 0)), (1 .. 0 => 0));  
2         Test ("2..2 => -1", (2 => (Number => Minus_1)), (1 .. 4 => Uca_Ff));  
2         Test ("0..0 => 2", (0 => (Number => 2)), Swab_00_00_00_02);  
2         Test ("1..2 => 1", (1 .. 2 => (Number => 1)),  
2               Swab_00_00_00_01 & Swab_00_00_00_01);  
2         Test_Io.New_Line;  

* Change 60..78
1     procedure Test_X_Icon_Size_Array is
1         procedure Test is new Tests.Tester_1d (Xlbt_Hint.X_Icon_Size,
1                                                Xlbt_Arithmetic.S_Natural,
1                                                Xlbt_Hint.X_Icon_Size_Array,
1                                                "X_Icon_Size_Array",
1                                                Xlbp_U_Char_Converters.To_Uca,
1                                                Xlbp_U_Char_Converters.From_Uca);
1     begin
1         Test_Io.Section ("X_Icon_Size_Array conversions");
1         Test ("1..0 => 0", (1 .. 0 => (0, 0, 0, 0, 0, 0)), (1 .. 0 => 0));
1         Test ("2..2 => 1.2.3.4.5.6", (2 => (1, 2, 3, 4, 5, 6)),
1               Swab_00_00_00_01 & Swab_00_00_00_02 & Swab_00_00_00_03 &
1                  Swab_00_00_00_04 & Swab_00_00_00_05 & Swab_00_00_00_06);
1         Test ("0..0 => 1", (0 => (0, 0, 0, 0, 0, 1)),
1               (1 .. 20 => 0) & Swab_00_00_00_01);
1         Test ("1, 2", ((0, 0, 0, 0, 0, 1), (0, 0, 0, 0, 0, 2)),
1               (1 .. 20 => 0) & Swab_00_00_00_01 &
1                  (1 .. 20 => 0) & Swab_00_00_00_02);
1         Test_Io.New_Line;
-----
2     procedure Test_X_Icon_Size_Array is  
2         procedure Test is new Tests.Tester_1d (Xlbt_Hint.X_Icon_Size,  
2                                                Xlbt_Arithmetic.S_Natural,  
2                                                Xlbt_Hint.X_Icon_Size_Array,  
2                                                "X_Icon_Size_Array",  
2                                                Xlbp_U_Char_Converters.To_Uca,  
2                                                Xlbp_U_Char_Converters.From_Uca);  
2     begin  
2         Test_Io.Section ("X_Icon_Size_Array conversions");  
2         Test ("1..0 => 0", (1 .. 0 => (0, 0, 0, 0, 0, 0)), (1 .. 0 => 0));  
2         Test ("2..2 => 1.2.3.4.5.6", (2 => (1, 2, 3, 4, 5, 6)),  
2               Swab_00_00_00_01 & Swab_00_00_00_02 & Swab_00_00_00_03 &  
2                  Swab_00_00_00_04 & Swab_00_00_00_05 & Swab_00_00_00_06);  
2         Test ("0..0 => 1", (0 => (0, 0, 0, 0, 0, 1)),  
2               (1 .. 20 => 0) & Swab_00_00_00_01);  
2         Test ("1, 2", ((0, 0, 0, 0, 0, 1), (0, 0, 0, 0, 0, 2)),  
2               (1 .. 20 => 0) & Swab_00_00_00_01 &  
2                  (1 .. 20 => 0) & Swab_00_00_00_02);  
2         Test_Io.New_Line;  

* Change 83..104
1     procedure Test_X_Size_Hints_Protocol is
1         procedure Test is new Tests.Tester (Xlbit_Hint3.X_Size_Hints_Protocol,
1                                             "X_Size_Hints_Protocol",
1                                             Xlbp_U_Char_Converters.To_Uca,
1                                             Xlbp_U_Char_Converters.From_Uca);
1     begin
1         Test_Io.Section ("X_Size_Hints_Protocol conversions");
1         Test ("0", ((others => False), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1                     (0, 0), (0, 0), 0, 0, Xlbit_Hint3.Unmap_Gravity),
1               (1 .. 72 => 0));
1         Test ("1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.1",
1               ((Xlbt_Hint.U_S_Position => True, others => False),
1                2, 3, 4, 5, 6, 7, 8, 9, 10, 11, (0, 12), (0, 13),
1                14, 15, Xlbit_Hint3.North_West_Gravity),
1               Swab_00_00_00_01 & Swab_00_00_00_02 & Swab_00_00_00_03 &
1                  Swab_00_00_00_04 & Swab_00_00_00_05 & Swab_00_00_00_06 &
1                  Swab_00_00_00_07 & Swab_00_00_00_08 & Swab_00_00_00_09 &
1                  Swab_00_00_00_0a & Swab_00_00_00_0b &
1                  (Swab_00_00_00_00 & Swab_00_00_00_0c) &
1                  (Swab_00_00_00_00 & Swab_00_00_00_0d) & Swab_00_00_00_0e &
1                  Swab_00_00_00_0f & Swab_00_00_00_01);
1         Test_Io.New_Line;
-----
2     procedure Test_X_Size_Hints_Protocol is  
2         procedure Test is new Tests.Tester (Xlbit_Hint3.X_Size_Hints_Protocol,  
2                                             "X_Size_Hints_Protocol",  
2                                             Xlbp_U_Char_Converters.To_Uca,  
2                                             Xlbp_U_Char_Converters.From_Uca);  
2     begin  
2         Test_Io.Section ("X_Size_Hints_Protocol conversions");  
2         Test ("0", ((others => False), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  
2                     (0, 0), (0, 0), 0, 0, Xlbit_Hint3.Unmap_Gravity),  
2               (1 .. 72 => 0));  
2         Test ("1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.1",  
2               ((Xlbt_Hint.U_S_Position => True, others => False),  
2                2, 3, 4, 5, 6, 7, 8, 9, 10, 11, (0, 12), (0, 13),  
2                14, 15, Xlbit_Hint3.North_West_Gravity),  
2               Swab_00_00_00_01 & Swab_00_00_00_02 & Swab_00_00_00_03 &  
2                  Swab_00_00_00_04 & Swab_00_00_00_05 & Swab_00_00_00_06 &  
2                  Swab_00_00_00_07 & Swab_00_00_00_08 & Swab_00_00_00_09 &  
2                  Swab_00_00_00_0a & Swab_00_00_00_0b &  
2                  (Swab_00_00_00_00 & Swab_00_00_00_0c) &  
2                  (Swab_00_00_00_00 & Swab_00_00_00_0d) & Swab_00_00_00_0e &  
2                  Swab_00_00_00_0f & Swab_00_00_00_01);  
2         Test_Io.New_Line;  

* Change 109..126
1     procedure Test_X_Standard_Colormap is
1         procedure To_Uca is new Dummy.Convert_From_Private
1                                    (Xlbt_Hint.X_Standard_Colormap,
1                                     Xlbt_Arithmetic.U_Char_Array);
1         procedure Test   is new Tests.Tester (Xlbt_Hint.X_Standard_Colormap,
1                                               "X_Standard_Colormap", To_Uca,
1                                               Xlbp_U_Char_Converters.From_Uca);
1     begin
1         Test_Io.Section ("X_Standard_Colormap conversions");
1         Test ("0", ((Id => (Number => 0)), 0, 0, 0, 0, 0,
1                     0, 0, (Number => 0), (Number => 0)), (1 .. 40 => 0));
1         Test ("1.2.3.4.5.6.7.8.9.10", ((Id => (Number => 1)), 2, 3, 4, 5, 6,
1                                        7, 8, (Number => 9), (Number => 10)),
1               Swab_00_00_00_01 & Swab_00_00_00_02 & Swab_00_00_00_03 &
1                  Swab_00_00_00_04 & Swab_00_00_00_05 & Swab_00_00_00_06 &
1                  Swab_00_00_00_07 & Swab_00_00_00_08 &
1                  Swab_00_00_00_09 & Swab_00_00_00_0a);
1         Test_Io.New_Line;
-----
2     procedure Test_X_Standard_Colormap is  
2         procedure To_Uca is new Dummy.Convert_From_Private  
2                                    (Xlbt_Hint.X_Standard_Colormap,  
2                                     Xlbt_Arithmetic.U_Char_Array);  
2         procedure Test   is new Tests.Tester (Xlbt_Hint.X_Standard_Colormap,  
2                                               "X_Standard_Colormap", To_Uca,  
2                                               Xlbp_U_Char_Converters.From_Uca);  
2     begin  
2         Test_Io.Section ("X_Standard_Colormap conversions");  
2         Test ("0", ((Id => (Number => 0)), 0, 0, 0, 0, 0,  
2                     0, 0, (Number => 0), (Number => 0)), (1 .. 40 => 0));  
2         Test ("1.2.3.4.5.6.7.8.9.10", ((Id => (Number => 1)), 2, 3, 4, 5, 6,  
2                                        7, 8, (Number => 9), (Number => 10)),  
2               Swab_00_00_00_01 & Swab_00_00_00_02 & Swab_00_00_00_03 &  
2                  Swab_00_00_00_04 & Swab_00_00_00_05 & Swab_00_00_00_06 &  
2                  Swab_00_00_00_07 & Swab_00_00_00_08 &  
2                  Swab_00_00_00_09 & Swab_00_00_00_0a);  
2         Test_Io.New_Line;  

* Change 131..165
1     procedure Test_X_Standard_Colormap_Array is
1         procedure From_Uca is new Dummy.Convert_To_Array
1                                      (Xlbt_Hint.X_Standard_Colormap,
1                                       Xlbt_Arithmetic.S_Natural,
1                                       Xlbt_Hint.X_Standard_Colormap_Array,
1                                       Xlbt_Arithmetic.U_Char_Array);
1         procedure Test     is new Tests.Tester_1d
1                                      (Xlbt_Hint.X_Standard_Colormap,
1                                       Xlbt_Arithmetic.S_Natural,
1                                       Xlbt_Hint.X_Standard_Colormap_Array,
1                                       "X_Standard_Colormap_Array",
1                                       Xlbp_U_Char_Converters.To_Uca, From_Uca);
1     begin
1         Test_Io.Section ("X_Standard_Colormap_Array conversions");
1         Test ("1..0 => 0", (1 .. 0 => Xlbt_Hint.None_X_Standard_Colormap),
1               (1 .. 0 => 0));
1         Test ("2..2 => -1", (2 =>
1                                 ((Id => (Number => Minus_1)), Minus_1, Minus_1,
1                                  Minus_1, Minus_1, Minus_1, Minus_1, Minus_1,
1                                  (Number => Minus_1), (Number => Minus_1))),
1               (1 .. 40 => Uca_Ff));
1         Test ("0..0 => 1.2.3.4.5.6.7.8.9.10",
1               (0 => ((Id => (Number => 1)), 2, 3, 4, 5, 6,
1                      7, 8, (Number => 9), (Number => 10))),
1               Swab_00_00_00_01 & Swab_00_00_00_02 & Swab_00_00_00_03 &
1                  Swab_00_00_00_04 & Swab_00_00_00_05 & Swab_00_00_00_06 &
1                  Swab_00_00_00_07 & Swab_00_00_00_08 &
1                  Swab_00_00_00_09 & Swab_00_00_00_0a);
1         Test ("1, 2", (((Id => (Number => 0)), 0, 0, 0, 0, 0,
1                         0, 0, (Number => 0), (Number => 1)),
1                        ((Id => (Number => 0)), 0, 0, 0, 0, 0,
1                         0, 0, (Number => 0), (Number => 2))),
1               (1 .. 36 => 0) & Swab_00_00_00_01 &
1                  (1 .. 36 => 0) & Swab_00_00_00_02);
1         Test_Io.New_Line;
-----
2     procedure Test_X_Standard_Colormap_Array is  
2         procedure From_Uca is new Dummy.Convert_To_Array  
2                                      (Xlbt_Hint.X_Standard_Colormap,  
2                                       Xlbt_Arithmetic.S_Natural,  
2                                       Xlbt_Hint.X_Standard_Colormap_Array,  
2                                       Xlbt_Arithmetic.U_Char_Array);  
2         procedure Test     is new Tests.Tester_1d  
2                                      (Xlbt_Hint.X_Standard_Colormap,  
2                                       Xlbt_Arithmetic.S_Natural,  
2                                       Xlbt_Hint.X_Standard_Colormap_Array,  
2                                       "X_Standard_Colormap_Array",  
2                                       Xlbp_U_Char_Converters.To_Uca, From_Uca);  
2     begin  
2         Test_Io.Section ("X_Standard_Colormap_Array conversions");  
2         Test ("1..0 => 0", (1 .. 0 => Xlbt_Hint.None_X_Standard_Colormap),  
2               (1 .. 0 => 0));  
2         Test ("2..2 => -1", (2 =>  
2                                 ((Id => (Number => Minus_1)), Minus_1, Minus_1,  
2                                  Minus_1, Minus_1, Minus_1, Minus_1, Minus_1,  
2                                  (Number => Minus_1), (Number => Minus_1))),  
2               (1 .. 40 => Uca_Ff));  
2         Test ("0..0 => 1.2.3.4.5.6.7.8.9.10",  
2               (0 => ((Id => (Number => 1)), 2, 3, 4, 5, 6,  
2                      7, 8, (Number => 9), (Number => 10))),  
2               Swab_00_00_00_01 & Swab_00_00_00_02 & Swab_00_00_00_03 &  
2                  Swab_00_00_00_04 & Swab_00_00_00_05 & Swab_00_00_00_06 &  
2                  Swab_00_00_00_07 & Swab_00_00_00_08 &  
2                  Swab_00_00_00_09 & Swab_00_00_00_0a);  
2         Test ("1, 2", (((Id => (Number => 0)), 0, 0, 0, 0, 0,  
2                         0, 0, (Number => 0), (Number => 1)),  
2                        ((Id => (Number => 0)), 0, 0, 0, 0, 0,  
2                         0, 0, (Number => 0), (Number => 2))),  
2               (1 .. 36 => 0) & Swab_00_00_00_01 &  
2                  (1 .. 36 => 0) & Swab_00_00_00_02);  
2         Test_Io.New_Line;  

* Change 170..180
1     procedure Test_X_Window is
1         procedure Test is new Tests.Tester (Xlbt_Basic.X_Window, "X_Window",
1                                             Xlbp_U_Char_Converters.To_Uca,
1                                             Xlbp_U_Char_Converters.From_Uca);
1     begin
1         Test_Io.Section ("X_Window conversions");
1         Test ("0", (Drawable => (Id => (Number => 0))), Swab_00_00_00_00);
1         Test ("1", (Drawable => (Id => (Number => 1))), Swab_00_00_00_01);
1         Test ("-1", (Drawable => (Id => (Number => Minus_1))),
1               Swab_Ff_Ff_Ff_Ff);
1         Test_Io.New_Line;
-----
2     procedure Test_X_Window is  
2         procedure Test is new Tests.Tester (Xlbt_Basic.X_Window, "X_Window",  
2                                             Xlbp_U_Char_Converters.To_Uca,  
2                                             Xlbp_U_Char_Converters.From_Uca);  
2     begin  
2         Test_Io.Section ("X_Window conversions");  
2         Test ("0", (Drawable => (Id => (Number => 0))), Swab_00_00_00_00);  
2         Test ("1", (Drawable => (Id => (Number => 1))), Swab_00_00_00_01);  
2         Test ("-1", (Drawable => (Id => (Number => Minus_1))),  
2               Swab_Ff_Ff_Ff_Ff);  
2         Test_Io.New_Line;  

* Change 185..207
1     procedure Test_X_Window_Array is
1         procedure To_Uca is new Dummy.Convert_From_Array
1                                    (Xlbt_Basic.X_Window,
1                                     Xlbt_Arithmetic.S_Natural,
1                                     Xlbt_Basic.X_Window_Array,
1                                     Xlbt_Arithmetic.U_Char_Array);
1         procedure Test is new Tests.Tester_1d (Xlbt_Basic.X_Window,
1                                                Xlbt_Arithmetic.S_Natural,
1                                                Xlbt_Basic.X_Window_Array,
1                                                "X_Window_Array", To_Uca,
1                                                Xlbp_U_Char_Converters.From_Uca);
1     begin
1         Test_Io.Section ("X_Window_Array conversions");
1         Test ("1..0 => 0", (1 .. 0 => (Drawable => (Id => (Number => 0)))),
1               (1 .. 0 => 0));
1         Test ("2..2 => -1", (2 => (Drawable => (Id => (Number => Minus_1)))),
1               (1 .. 4 => Uca_Ff));
1         Test ("0..0 => 1", (0 => (Drawable => (Id => (Number => 1)))),
1               Swab_00_00_00_01);
1         Test ("1, 2", ((Drawable => (Id => (Number => 1))),
1                        (Drawable => (Id => (Number => 2)))),
1               Swab_00_00_00_01 & Swab_00_00_00_02);
1         Test_Io.New_Line;
-----
2     procedure Test_X_Window_Array is  
2         procedure To_Uca is new Dummy.Convert_From_Array  
2                                    (Xlbt_Basic.X_Window,  
2                                     Xlbt_Arithmetic.S_Natural,  
2                                     Xlbt_Basic.X_Window_Array,  
2                                     Xlbt_Arithmetic.U_Char_Array);  
2         procedure Test is new Tests.Tester_1d (Xlbt_Basic.X_Window,  
2                                                Xlbt_Arithmetic.S_Natural,  
2                                                Xlbt_Basic.X_Window_Array,  
2                                                "X_Window_Array", To_Uca,  
2                                                Xlbp_U_Char_Converters.From_Uca);  
2     begin  
2         Test_Io.Section ("X_Window_Array conversions");  
2         Test ("1..0 => 0", (1 .. 0 => (Drawable => (Id => (Number => 0)))),  
2               (1 .. 0 => 0));  
2         Test ("2..2 => -1", (2 => (Drawable => (Id => (Number => Minus_1)))),  
2               (1 .. 4 => Uca_Ff));  
2         Test ("0..0 => 1", (0 => (Drawable => (Id => (Number => 1)))),  
2               Swab_00_00_00_01);  
2         Test ("1, 2", ((Drawable => (Id => (Number => 1))),  
2                        (Drawable => (Id => (Number => 2)))),  
2               Swab_00_00_00_01 & Swab_00_00_00_02);  
2         Test_Io.New_Line;  

* Change 212..227
1     procedure Test_X_Wm_Hints is
1         procedure Test is new Tests.Tester (Xlbt_Hint.X_Wm_Hints, "X_Wm_Hints",
1                                             Xlbp_U_Char_Converters.To_Uca,
1                                             Xlbp_U_Char_Converters.From_Uca);
1     begin
1         Test_Io.Section ("X_Wm_Hints conversions");
1         Test ("0", Xlbt_Hint.None_X_Wm_Hints, (1 .. 36 => 0));
1         Test ("1.1.3.4.5.6.7.8.9",
1               ((Xlbt_Hint.Input_Hint => True, others => False), Xlbt_Misc.True,
1                Xlbt_Hint.Iconic_State, (Drawable => (Id => (Number => 4))),
1                (Drawable => (Id => (Number => 5))), 6, 7,
1                (Drawable => (Id => (Number => 8))), (Number => 9)),
1               Swab_00_00_00_01 & Swab_00_00_00_01 & Swab_00_00_00_03 &
1                  Swab_00_00_00_04 & Swab_00_00_00_05 & Swab_00_00_00_06 &
1                  Swab_00_00_00_07 & Swab_00_00_00_08 & Swab_00_00_00_09);
1         Test_Io.New_Line;
-----
2     procedure Test_X_Wm_Hints is  
2         procedure Test is new Tests.Tester (Xlbt_Hint.X_Wm_Hints, "X_Wm_Hints",  
2                                             Xlbp_U_Char_Converters.To_Uca,  
2                                             Xlbp_U_Char_Converters.From_Uca);  
2     begin  
2         Test_Io.Section ("X_Wm_Hints conversions");  
2         Test ("0", Xlbt_Hint.None_X_Wm_Hints, (1 .. 36 => 0));  
2         Test ("1.1.3.4.5.6.7.8.9",  
2               ((Xlbt_Hint.Input_Hint => True, others => False), Xlbt_Misc.True,  
2                Xlbt_Hint.Iconic_State, (Drawable => (Id => (Number => 4))),  
2                (Drawable => (Id => (Number => 5))), 6,  
2                7, (Drawable => (Id => (Number => 8))),  
2                (Drawable => (Id => (Number => 9)))),  
2               Swab_00_00_00_01 & Swab_00_00_00_01 & Swab_00_00_00_03 &  
2                  Swab_00_00_00_04 & Swab_00_00_00_05 & Swab_00_00_00_06 &  
2                  Swab_00_00_00_07 & Swab_00_00_00_08 & Swab_00_00_00_09);  
2         Test_Io.New_Line;  

* Change 232..241
1     procedure Test_S_Char is
1         procedure Test is new Tests.Tester (Xlbt_Arithmetic.S_Char, "S_Char",
1                                             Xlbp_U_Char_Converters.To_Uca,
1                                             Xlbp_U_Char_Converters.From_Uca);
1     begin
1         Test_Io.Section ("S_Char conversions");
1         Test ("0", 0, (1 => 0));
1         Test ("1", 1, (1 => 1));
1         Test ("-1", Minus_1, (1 => 255));
1         Test_Io.New_Line;
-----
2     procedure Test_S_Char is  
2         procedure Test is new Tests.Tester (Xlbt_Arithmetic.S_Char, "S_Char",  
2                                             Xlbp_U_Char_Converters.To_Uca,  
2                                             Xlbp_U_Char_Converters.From_Uca);  
2     begin  
2         Test_Io.Section ("S_Char conversions");  
2         Test ("0", 0, (1 => 0));  
2         Test ("1", 1, (1 => 1));  
2         Test ("-1", Minus_1, (1 => 255));  
2         Test_Io.New_Line;  

* Change 246..255
1     procedure Test_S_Short is
1         procedure Test is new Tests.Tester (Xlbt_Arithmetic.S_Short, "S_Short",
1                                             Xlbp_U_Char_Converters.To_Uca,
1                                             Xlbp_U_Char_Converters.From_Uca);
1     begin
1         Test_Io.Section ("S_Short conversions");
1         Test ("0", 0, Swab_00_00);
1         Test ("1", 1, Swab_00_01);
1         Test ("-1", Minus_1, Swab_Ff_Ff);
1         Test_Io.New_Line;
-----
2     procedure Test_S_Short is  
2         procedure Test is new Tests.Tester (Xlbt_Arithmetic.S_Short, "S_Short",  
2                                             Xlbp_U_Char_Converters.To_Uca,  
2                                             Xlbp_U_Char_Converters.From_Uca);  
2     begin  
2         Test_Io.Section ("S_Short conversions");  
2         Test ("0", 0, Swab_00_00);  
2         Test ("1", 1, Swab_00_01);  
2         Test ("-1", Minus_1, Swab_Ff_Ff);  
2         Test_Io.New_Line;  

* Change 260..269
1     procedure Test_S_Long is
1         procedure Test is new Tests.Tester (Xlbt_Arithmetic.S_Long, "S_Long",
1                                             Xlbp_U_Char_Converters.To_Uca,
1                                             Xlbp_U_Char_Converters.From_Uca);
1     begin
1         Test_Io.Section ("S_Long conversions");
1         Test ("0", 0, Swab_00_00_00_00);
1         Test ("1", 1, Swab_00_00_00_01);
1         Test ("-1", Minus_1, Swab_Ff_Ff_Ff_Ff);
1         Test_Io.New_Line;
-----
2     procedure Test_S_Long is  
2         procedure Test is new Tests.Tester (Xlbt_Arithmetic.S_Long, "S_Long",  
2                                             Xlbp_U_Char_Converters.To_Uca,  
2                                             Xlbp_U_Char_Converters.From_Uca);  
2     begin  
2         Test_Io.Section ("S_Long conversions");  
2         Test ("0", 0, Swab_00_00_00_00);  
2         Test ("1", 1, Swab_00_00_00_01);  
2         Test ("-1", Minus_1, Swab_Ff_Ff_Ff_Ff);  
2         Test_Io.New_Line;  

* Change 274..283
1     procedure Test_U_Short is
1         procedure Test is new Tests.Tester (Xlbt_Arithmetic.U_Short, "U_Short",
1                                             Xlbp_U_Char_Converters.To_Uca,
1                                             Xlbp_U_Char_Converters.From_Uca);
1     begin
1         Test_Io.Section ("U_Short conversions");
1         Test ("0", 0, Swab_00_00);
1         Test ("1", 1, Swab_00_01);
1         Test ("-1", 16#FFFF#, Swab_Ff_Ff);
1         Test_Io.New_Line;
-----
2     procedure Test_U_Short is  
2         procedure Test is new Tests.Tester (Xlbt_Arithmetic.U_Short, "U_Short",  
2                                             Xlbp_U_Char_Converters.To_Uca,  
2                                             Xlbp_U_Char_Converters.From_Uca);  
2     begin  
2         Test_Io.Section ("U_Short conversions");  
2         Test ("0", 0, Swab_00_00);  
2         Test ("1", 1, Swab_00_01);  
2         Test ("-1", 16#FFFF#, Swab_Ff_Ff);  
2         Test_Io.New_Line;  

* Change 288..291
1     procedure Test_String is
1         procedure Test is new Tests.Tester_1d
1                                  (Character, Positive, String, "String",
1                                   Xlbp_U_Char_Converters.To_Uca,
-----
2     procedure Test_String is  
2         procedure Test is new Tests.Tester_1d  
2                                  (Character, Positive, String, "String",  
2                                   Xlbp_U_Char_Converters.To_Uca,  

* Change 294..304
1         procedure Dummy_To_Uca is new Dummy.Convert_From_Array
1                                          (Character, Positive, String,
1                                           Xlbt_Arithmetic.U_Char_Array);
1         procedure Test_Chop    is new Tests.Tester_1d
1                                          (Character, Positive, String,
1                                           "String", Dummy_To_Uca,
1                                           Xlbp_U_Char_Converters.From_Uca);
1     begin
1         Test_Io.Section ("String conversions");
1         Test ("1..0 => 0", (1 .. 0 => Ascii.Nul), (1 .. 0 => 0));
1         Test ("2..2 => 127", (2 => Ascii.Del), (1 => 127));
-----
2         procedure Dummy_To_Uca is new Dummy.Convert_From_Array  
2                                          (Character, Positive, String,  
2                                           Xlbt_Arithmetic.U_Char_Array);  
2         procedure Test_Chop    is new Tests.Tester_1d  
2                                          (Character, Positive, String,  
2                                           "String", Dummy_To_Uca,  
2                                           Xlbp_U_Char_Converters.From_Uca);  
2     begin  
2         Test_Io.Section ("String conversions");  
2         Test ("1..0 => 0", (1 .. 0 => Ascii.Nul), (1 .. 0 => 0));  
2         Test ("2..2 => 127", (2 => Ascii.Del), (1 => 127));  

* Change 308..310
1         Test_Chop ("big-chars", Ascii.Nul & Ascii.Del & '+' & Ascii.Del,
1                    (Uca_80, 16#7F#, Uca_Ab, Uca_Ff));
1         Test_Io.New_Line;
-----
2         Test_Chop ("big-chars", Ascii.Nul & Ascii.Del & '+' & Ascii.Del,  
2                    (Uca_80, 16#7F#, Uca_Ab, Uca_Ff));  
2         Test_Io.New_Line;  

* Change 315
1     procedure Test_String_Trans is
-----
2     procedure Test_String_Trans is  

* Change 318..321
1         procedure Trans_From_Uca (Str : out String;
1                                   Uca :     Xlbt_Arithmetic.U_Char_Array) is
1         begin
1             Xlbp_U_Char_Converters.From_Uca (Str, Uca, Trans);
-----
2         procedure Trans_From_Uca (Str : out String;  
2                                   Uca :     Xlbt_Arithmetic.U_Char_Array) is  
2         begin  
2             Xlbp_U_Char_Converters.From_Uca (Str, Uca, Trans);  

* Change 324..326
1         procedure Test is new Tests.Tester_1d
1                                  (Character, Positive, String, "String",
1                                   Xlbp_U_Char_Converters.To_Uca,
-----
2         procedure Test is new Tests.Tester_1d  
2                                  (Character, Positive, String, "String",  
2                                   Xlbp_U_Char_Converters.To_Uca,  

* Change 329..335
1         procedure Dummy_To_Uca is new Dummy.Convert_From_Array
1                                          (Character, Positive, String,
1                                           Xlbt_Arithmetic.U_Char_Array);
1         procedure Test_Trans   is
1            new Tests.Tester_1d (Character, Positive, String, "String",
1                                 Dummy_To_Uca, Test_String_Trans.Trans_From_Uca);
1     begin
-----
2         procedure Dummy_To_Uca is new Dummy.Convert_From_Array  
2                                          (Character, Positive, String,  
2                                           Xlbt_Arithmetic.U_Char_Array);  
2         procedure Test_Trans   is  
2            new Tests.Tester_1d (Character, Positive, String, "String",  
2                                 Dummy_To_Uca, Test_String_Trans.Trans_From_Uca);  
2     begin  

* Change 339..340
1         for I in Character'First .. Character'Last loop
1             Trans (Character'Pos (I)) := I;
-----
2         for I in Character'First .. Character'Last loop  
2             Trans (Character'Pos (I)) := I;  

* Change 344..345
1         Test ("1..0 => 0", (1 .. 0 => Ascii.Nul), (1 .. 0 => 0));
1         Test ("2..2 => 127", (2 => Ascii.Del), (1 => 127));
-----
2         Test ("1..0 => 0", (1 .. 0 => Ascii.Nul), (1 .. 0 => 0));  
2         Test ("2..2 => 127", (2 => Ascii.Del), (1 => 127));  

* Change 349..355
1         Trans (Uca_80) := 'w';
1         Trans (16#7F#) := 'x';
1         Trans (Uca_Ab) := 'y';
1         Trans (Uca_Ff) := 'z';
1         Test_Trans ("big-chars", "<wxyz>",
1                     (60, Uca_80, 16#7F#, Uca_Ab, Uca_Ff, 62));
1         Test_Io.New_Line;
-----
2         Trans (Uca_80) := 'w';  
2         Trans (16#7F#) := 'x';  
2         Trans (Uca_Ab) := 'y';  
2         Trans (Uca_Ff) := 'z';  
2         Test_Trans ("big-chars", "<wxyz>",  
2                     (60, Uca_80, 16#7F#, Uca_Ab, Uca_Ff, 62));  
2         Test_Io.New_Line;  

* Change 360..373
1     procedure Test_X_String is
1         procedure Test is new Tests.Tester_1d (Xlbt_String.X_Character,
1                                                Xlbt_Arithmetic.S_Natural,
1                                                Xlbt_String.X_String, "X_String",
1                                                Xlbp_U_Char_Converters.To_Uca,
1                                                Xlbp_U_Char_Converters.From_Uca);
1         use Xlbt_String;
1     begin
1         Test_Io.Section ("X_String conversions");
1         Test ("1..0 => 0", (1 .. 0 => Xlbt_String.Nul), (1 .. 0 => 0));
1         Test ("2..2 => 255", (2 => Xlbt_String.C255), (1 => Uca_Ff));
1         Test ("0..0 => 1", (0 => Xlbt_String.Soh), (1 => 1));
1         Test ("Abc", "Abc", (65, 98, 99));
1         Test_Io.New_Line;
-----
2     procedure Test_X_String is  
2         procedure Test is new Tests.Tester_1d (Xlbt_String.X_Character,  
2                                                Xlbt_Arithmetic.S_Natural,  
2                                                Xlbt_String.X_String, "X_String",  
2                                                Xlbp_U_Char_Converters.To_Uca,  
2                                                Xlbp_U_Char_Converters.From_Uca);  
2         use Xlbt_String;  
2     begin  
2         Test_Io.Section ("X_String conversions");  
2         Test ("1..0 => 0", (1 .. 0 => Xlbt_String.Nul), (1 .. 0 => 0));  
2         Test ("2..2 => 255", (2 => Xlbt_String.C255), (1 => Uca_Ff));  
2         Test ("0..0 => 1", (0 => Xlbt_String.Soh), (1 => 1));  
2         Test ("Abc", "Abc", (65, 98, 99));  
2         Test_Io.New_Line;  

* Change 378..383
1     procedure Test_X_String16 is
1         procedure Test is new Tests.Tester_1d
1                                  (Xlbt_String16.X_Character16,
1                                   Xlbt_Arithmetic.S_Natural,
1                                   Xlbt_String16.X_String16, "X_String16",
1                                   Xlbp_U_Char_Converters.To_Uca,
-----
2     procedure Test_X_String16 is  
2         procedure Test is new Tests.Tester_1d  
2                                  (Xlbt_String16.X_Character16,  
2                                   Xlbt_Arithmetic.S_Natural,  
2                                   Xlbt_String16.X_String16, "X_String16",  
2                                   Xlbp_U_Char_Converters.To_Uca,  

* Change 388..394
1     begin
1         Test_Io.Section ("X_String16 conversions");
1         Test ("1..0 => 0", (1 .. 0 => (0, 0)), (1 .. 0 => 0));
1         Test ("2..2 => -1", (2 => (255, 255)), (Uca_Ff, Uca_Ff));
1         Test ("0..0 => 1", (0 => (0, 1)), (0, 1));
1         Test ("1.2, 3.4, 5.6", ((1, 2), (3, 4), (5, 6)), (1, 2, 3, 4, 5, 6));
1         Test_Io.New_Line;
-----
2     begin  
2         Test_Io.Section ("X_String16 conversions");  
2         Test ("1..0 => 0", (1 .. 0 => (0, 0)), (1 .. 0 => 0));  
2         Test ("2..2 => -1", (2 => (255, 255)), (Uca_Ff, Uca_Ff));  
2         Test ("0..0 => 1", (0 => (0, 1)), (0, 1));  
2         Test ("1.2, 3.4, 5.6", ((1, 2), (3, 4), (5, 6)), (1, 2, 3, 4, 5, 6));  
2         Test_Io.New_Line;  

* Change 397..414
1 begin
1     Test_X_Atom_Array;
1     Test_X_Icon_Size_Array;
1     Test_X_Size_Hints_Protocol;
1     Test_X_Standard_Colormap;
1     Test_X_Standard_Colormap_Array;
1     Test_X_Window;
1     Test_X_Window_Array;
1     Test_X_Wm_Hints;
1     Test_S_Char;
1     Test_S_Short;
1     Test_S_Long;
1     Test_U_Short;
1     Test_String;
1     Test_String_Trans;
1     Test_X_String;
1     Test_X_String16;
1 end Cvt_100;
-----
2 begin  
2     Test_X_Atom_Array;  
2     Test_X_Icon_Size_Array;  
2     Test_X_Size_Hints_Protocol;  
2     Test_X_Standard_Colormap;  
2     Test_X_Standard_Colormap_Array;  
2     Test_X_Window;  
2     Test_X_Window_Array;  
2     Test_X_Wm_Hints;  
2     Test_S_Char;  
2     Test_S_Short;  
2     Test_S_Long;  
2     Test_U_Short;  
2     Test_String;  
2     Test_String_Trans;  
2     Test_X_String;  
2     Test_X_String16;  
2 end Cvt_100;  
16:12:24 ::: [end of File_Utilities.Difference].
16:12:25 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:25 !!! .CONVERTERS.CVT_100_RUN'BODY.
16:12:26 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:12:26 ... UNITS.CONVERTERS.CVT_100_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:12:26 ... REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_100_RUN'SPEC'V(1)", "", 
16:12:26 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.CVT_100_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_100_RUN'SPEC
* Change 1..10
1 with Run_One_Test;
1 
1 with Cvt_100;
1 
1 procedure Cvt_100_Run is
1    new Run_One_Test (The_Test           => Cvt_100,
1                      Test_Name          => "Cvt_100",
1                      Test_Description   => "Xlbp_U_Char_Converters",
1                      Ignore_Case        => False,
1                      Ignore_Blank_Lines => False);
-----
2 procedure Cvt_100_Run;  
16:12:26 ::: [end of File_Utilities.Difference].
16:12:30 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:30 !!! .CONVERTERS.CVT_110_RUN'BODY.
16:12:31 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:12:31 ... UNITS.CONVERTERS.CVT_110_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:12:31 ... REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_110_RUN'SPEC'V(1)", "", 
16:12:31 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.CVT_110_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_110_RUN'SPEC
* Change 1..9
1 with Run_One_Test;
1 
1 with Cvt_110;
1 
1 procedure Cvt_110_Run is new Run_One_Test (The_Test           => Cvt_110,
1                                            Test_Name          => "Cvt_110",
1                                            Test_Description   => "Xlbt_String",
1                                            Ignore_Case        => False,
1                                            Ignore_Blank_Lines => False);
-----
2 procedure Cvt_110_Run;  
16:12:31 ::: [end of File_Utilities.Difference].
16:12:31 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:31 !!! .CONVERTERS.CVT_120'BODY.
16:12:31 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:31 !!! .CONVERTERS.CVT_120'SPEC.
16:12:31 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:31 !!! .CONVERTERS.CVT_120_RUN'BODY.
16:12:31 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:31 !!! .CONVERTERS.CVT_120_RUN'SPEC.
16:12:31 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:31 !!! .CONVERTERS.CVT_121'BODY.
16:12:31 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:31 !!! .CONVERTERS.CVT_121'SPEC.
16:12:31 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:31 !!! .CONVERTERS.CVT_121_RUN'BODY.
16:12:31 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:31 !!! .CONVERTERS.CVT_121_RUN'SPEC.
16:12:31 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:31 !!! .CONVERTERS.CVT_122'BODY.
16:12:31 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:31 !!! .CONVERTERS.CVT_122'SPEC.
16:12:31 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:31 !!! .CONVERTERS.CVT_122_RUN'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_122_RUN'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_123'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_123'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_123_RUN'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_123_RUN'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_124'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_124'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_124_RUN'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_124_RUN'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_125'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_125'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_125_RUN'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_125_RUN'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_126'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_126'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_126_RUN'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_126_RUN'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_127'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_127'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_127_RUN'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_127_RUN'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_128'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_128'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_128_RUN'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_128_RUN'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_129'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_129'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_129_RUN'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_129_RUN'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_130'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_130'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_130_RUN'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_130_RUN'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_131'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_131'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_131_RUN'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_131_RUN'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_132'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_132'SPEC.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_132_RUN'BODY.
16:12:32 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:32 !!! .CONVERTERS.CVT_132_RUN'SPEC.
16:12:33 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:12:33 ... UNITS.CONVERTERS.CVT_TEST_UTILITIES'BODY'V(1)", "!X11.X_TESTING.
16:12:33 ... REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_TEST_UTILITIES'BODY'V(1)", 
16:12:33 ... "", TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.CVT_TEST_UTILITIES'BODY
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_TEST_UTILITIES'BODY
* Change 3..19
1 with Xlbt_Arithmetic;
1 with Xlbt_Basic3;
1 with Xlbt_Display3;
1 with Xlbt_Error3;
1 with Xlbt_Event3;
1 with Xlbt_Exceptions;
1 with Xlbt_Font3;
1 with Xlbt_Grab;
1 with Xlbt_Host3;
1 with Xlbt_Input_Focus;
1 with Xlbt_Key3;
1 with Xlbt_Keyboard3;
1 with Xlbt_Misc;
1 with Xlbt_Pointer;
1 with Xlbt_Reply3;
1 with Xlbt_Request3;
1 with Xlbt_Screen_Saver;
-----
2 with Xlbt_Arithmetic;  

* Change 21
1 with Xlbt_Window4;
-----
2 --

* Change 33..40
1     generic
1         type Original is private;
1         Original_Name : String;
1         type Converted_Element is (<>);
1         type Converted_Index is range <>;
1         type Converted is array (Converted_Index range <>) of Converted_Element;
1         with procedure To_Conv   (Conv : out Converted; Orig : Original);
1         with procedure From_Conv (Orig : out Original; Conv : Converted);
-----
2     generic  
2         type Original is private;  
2         Original_Name : String;  
2         type Converted_Element is (<>);  
2         type Converted_Index is range <>;  
2         type Converted is array (Converted_Index range <>) of Converted_Element;  
2         with procedure To_Conv   (Conv : out Converted; Orig : Original);  
2         with procedure From_Conv (Orig : out Original; Conv : Converted);  

* Change 52..57
1         Normal_Data     : Converted (1 .. Conv'Length)     := Conv;
1         Zero_Index_Data : Converted (0 .. Conv'Length - 1) := Conv;
1         Two_Index_Data  : Converted (2 .. Conv'Length + 1) := Conv;
1         Oversized_Data  : Converted (1 .. Conv'Length + 1) :=
1            Conv & (1 => Converted_Element'Val (0));
1         Undersized_Data : Converted (1 .. Conv'Length - 1) :=
-----
2         Normal_Data     : Converted (1 .. Conv'Length)     := Conv;  
2         Zero_Index_Data : Converted (0 .. Conv'Length - 1) := Conv;  
2         Two_Index_Data  : Converted (2 .. Conv'Length + 1) := Conv;  
2         Oversized_Data  : Converted (1 .. Conv'Length + 1) :=  
2            Conv & (1 => Converted_Element'Val (0));  
2         Undersized_Data : Converted (1 .. Conv'Length - 1) :=  

* Change 77..78
1         procedure Check (Condition       : Boolean;
1                          Failure_Message : String;
-----
2         procedure Check (Condition       : Boolean;  
2                          Failure_Message : String;  

* Change 81..87
1         begin
1             if not Condition then
1                 Test_Io.Put_Line (Failure_Message);
1                 Failed := True;
1             else
1                 Test_Io.Put (Success_Message);
1             end if;
-----
2         begin  
2             if not Condition then  
2                 Test_Io.Put_Line (Failure_Message);  
2                 Failed := True;  
2             else  
2                 Test_Io.Put (Success_Message);  
2             end if;  

* Change 92..93
1         procedure Test_To_Conv (Value    : Original;
1                                 Expected : Converted;
-----
2         procedure Test_To_Conv (Value    : Original;  
2                                 Expected : Converted;  

* Change 104..105
1             Conv : Converted (Expected'Range);
1             Bool : Boolean;
-----
2             Conv : Converted (Expected'Range);  
2             Bool : Boolean;  

* Change 111..126
1             case Anomaly is
1                 when None =>
1                     Bool := Conv = Expected;
1                     Check (Bool, "<To_Conv failed>");
1                 when Zero_Index =>
1                     Bool := Conv = Expected;
1                     Check (Bool, "<To_Conv failed on a 0-based slice>");
1                 when Two_Index =>
1                     Bool := Conv = Expected;
1                     Check (Bool, "<To_Conv failed on a 2-based slice>");
1                 when Oversized =>
1                     Check (False, "<To_Conv accepted an oversized array>");
1                 when Undersized =>
1                     Check (False, "<To_Conv accepted an undersized array>");
1             end case;
1         exception
-----
2             case Anomaly is  
2                 when None =>  
2                     Bool := Conv = Expected;  
2                     Check (Bool, "<To_Conv failed>");  
2                 when Zero_Index =>  
2                     Bool := Conv = Expected;  
2                     Check (Bool, "<To_Conv failed on a 0-based slice>");  
2                 when Two_Index =>  
2                     Bool := Conv = Expected;  
2                     Check (Bool, "<To_Conv failed on a 2-based slice>");  
2                 when Oversized =>  
2                     Check (False, "<To_Conv accepted an oversized array>");  
2                 when Undersized =>  
2                     Check (False, "<To_Conv accepted an undersized array>");  
2             end case;  
2         exception  

* Change 129..140
1                 case Anomaly is
1                     when None =>
1                         Check (False, "<To_Conv raised Constraint_Error>");
1                     when Zero_Index =>
1                         Check (False,
1                                "<To_Conv couldn't handle a 0-based slice>");
1                     when Two_Index =>
1                         Check (False,
1                                "<To_Conv couldn't handle a 2-based slice>");
1                     when Oversized | Undersized =>
1                         Check (True, ".");
1                 end case;
-----
2                 case Anomaly is  
2                     when None =>  
2                         Check (False, "<To_Conv raised Constraint_Error>");  
2                     when Zero_Index =>  
2                         Check (False,  
2                                "<To_Conv couldn't handle a 0-based slice>");  
2                     when Two_Index =>  
2                         Check (False,  
2                                "<To_Conv couldn't handle a 2-based slice>");  
2                     when Oversized | Undersized =>  
2                         Check (True, ".");  
2                 end case;  

* Change 143
1                 null;
-----
2                 null;  

* Change 146..147
1                 Check (False, "<To_Conv croaked: expected " &
1                                  Anomalies'Image (Anomaly) & ">");
-----
2                 Check (False, "<To_Conv croaked: expected " &  
2                                  Anomalies'Image (Anomaly) & ">");  

* Change 150..151
1         procedure Test_From_Conv (Value    : Converted;
1                                   Expected : Original;
-----
2         procedure Test_From_Conv (Value    : Converted;  
2                                   Expected : Original;  

* Change 161..162
1             Conv : Original;
1             Bool : Boolean;
-----
2             Conv : Original;  
2             Bool : Boolean;  

* Change 168..183
1             case Anomaly is
1                 when None =>
1                     Bool := Conv = Expected;
1                     Check (Bool, "<From_Conv failed>");
1                 when Zero_Index =>
1                     Bool := Conv = Expected;
1                     Check (Bool, "<From_Conv failed on a 0-based slice>");
1                 when Two_Index =>
1                     Bool := Conv = Expected;
1                     Check (Bool, "<From_Conv failed on a 2-based slice>");
1                 when Oversized =>
1                     Check (False, "<From_Conv accepted an oversized array>");
1                 when Undersized =>
1                     Check (False, "<From_Conv accepted an undersized array>");
1             end case;
1         exception
-----
2             case Anomaly is  
2                 when None =>  
2                     Bool := Conv = Expected;  
2                     Check (Bool, "<From_Conv failed>");  
2                 when Zero_Index =>  
2                     Bool := Conv = Expected;  
2                     Check (Bool, "<From_Conv failed on a 0-based slice>");  
2                 when Two_Index =>  
2                     Bool := Conv = Expected;  
2                     Check (Bool, "<From_Conv failed on a 2-based slice>");  
2                 when Oversized =>  
2                     Check (False, "<From_Conv accepted an oversized array>");  
2                 when Undersized =>  
2                     Check (False, "<From_Conv accepted an undersized array>");  
2             end case;  
2         exception  

* Change 186..197
1                 case Anomaly is
1                     when None =>
1                         Check (False, "<From_Conv raised Constraint_Error>");
1                     when Zero_Index =>
1                         Check (False,
1                                "<From_Conv couldn't handle a 0-based slice>");
1                     when Two_Index =>
1                         Check (False,
1                                "<From_Conv couldn't handle a 2-based slice>");
1                     when Oversized | Undersized =>
1                         Check (True, ".");
1                 end case;
-----
2                 case Anomaly is  
2                     when None =>  
2                         Check (False, "<From_Conv raised Constraint_Error>");  
2                     when Zero_Index =>  
2                         Check (False,  
2                                "<From_Conv couldn't handle a 0-based slice>");  
2                     when Two_Index =>  
2                         Check (False,  
2                                "<From_Conv couldn't handle a 2-based slice>");  
2                     when Oversized | Undersized =>  
2                         Check (True, ".");  
2                 end case;  

* Change 200
1                 null;
-----
2                 null;  

* Change 203..204
1                 Check (False, "<From_Conv croaked: expected " &
1                                  Anomalies'Image (Anomaly) & ">");
-----
2                 Check (False, "<From_Conv croaked: expected " &  
2                                  Anomalies'Image (Anomaly) & ">");  

* Change 212
1         Test_To_Conv (Orig, Normal_Data);
-----
2         Test_To_Conv (Orig, Normal_Data);  

* Change 216..218
1         Test_To_Conv (Orig, Zero_Index_Data, Zero_Index);
1         Test_From_Conv (Zero_Index_Data, Orig, Zero_Index);
1         Test_To_Conv (Orig, Two_Index_Data, Two_Index);
-----
2         Test_To_Conv (Orig, Zero_Index_Data, Zero_Index);  
2         Test_From_Conv (Zero_Index_Data, Orig, Zero_Index);  
2         Test_To_Conv (Orig, Two_Index_Data, Two_Index);  

* Change 222
1         Test_To_Conv (Orig, Oversized_Data, Oversized);
-----
2         Test_To_Conv (Orig, Oversized_Data, Oversized);  

* Change 226..228
1         if Conv'Length > 0 then
1             Test_To_Conv (Orig, Undersized_Data, Undersized);
1             Test_From_Conv (Undersized_Data, Orig, Undersized);
-----
2         if Conv'Length > 0 then  
2             Test_To_Conv (Orig, Undersized_Data, Undersized);  
2             Test_From_Conv (Undersized_Data, Orig, Undersized);  

* Change 232..242
1         Test_Io.Put_Line (" done.");
1         if Failed then
1             Test_Io.Put_Error ("Converter tests for " &
1                                Original_Name & " failed.");
1         end if;
1     exception
1         when others =>
1             Check (False, "<unexpected exception>");
1             Test_Io.Put_Line (" aborted.");
1             Test_Io.Put_Exception ("Converter tests for " & Original_Name &
1                                    " raised an unexpected exception.");
-----
2         Test_Io.Put_Line (" done.");  
2         if Failed then  
2             Test_Io.Put_Error ("Converter tests for " &  
2                                Original_Name & " failed.");  
2         end if;  
2     exception  
2         when others =>  
2             Check (False, "<unexpected exception>");  
2             Test_Io.Put_Line (" aborted.");  
2             Test_Io.Put_Exception ("Converter tests for " & Original_Name &  
2                                    " raised an unexpected exception.");  

* Change 271..272
1         procedure Tester (Image : String;
1                           Orig  : Original;
-----
2         procedure Tester (Image : String;  
2                           Orig  : Original;  

* Change 282..289
1             procedure Test is new Base_Tester
1                                      (Original, Original_Name,
1                                       Xlbmt_Network_Types.X_Raw_Data,
1                                       Xlbmt_Network_Types.X_Raw_Data_Index,
1                                       Xlbmt_Network_Types.X_Raw_Data_Array,
1                                       To_Raw, From_Raw);
1         begin
1             Test (Image, Orig, Raw);
-----
2             procedure Test is new Base_Tester  
2                                      (Original, Original_Name,  
2                                       Xlbmt_Network_Types.X_Raw_Data,  
2                                       Xlbmt_Network_Types.X_Raw_Data_Index,  
2                                       Xlbmt_Network_Types.X_Raw_Data_Array,  
2                                       To_Raw, From_Raw);  
2         begin  
2             Test (Image, Orig, Raw);  

* Change 303..304
1         procedure Tester_1d (Image : String;
1                              Orig  : Original_Array;
-----
2         procedure Tester_1d (Image : String;  
2                              Orig  : Original_Array;  

* Change 314..319
1             subtype Constrained_Array is Original_Array (Orig'Range);
1             procedure Constrained_Test is
1                new Cvt_Test_Utilities.Raw_Data_Tests.Tester
1                       (Constrained_Array, Original_Name, To_Raw, From_Raw);
1         begin
1             Constrained_Test (Image, Orig, Raw);
-----
2             subtype Constrained_Array is Original_Array (Orig'Range);  
2             procedure Constrained_Test is  
2                new Cvt_Test_Utilities.Raw_Data_Tests.Tester  
2                       (Constrained_Array, Original_Name, To_Raw, From_Raw);  
2         begin  
2             Constrained_Test (Image, Orig, Raw);  

* Change 335..336
1         procedure Tester_2d (Image : String;
1                              Orig  : Original_Array;
-----
2         procedure Tester_2d (Image : String;  
2                              Orig  : Original_Array;  

* Change 346..352
1             subtype Constrained_Array is Original_Array
1                                             (Orig'Range (1), Orig'Range (2));
1             procedure Constrained_Test is
1                new Cvt_Test_Utilities.Raw_Data_Tests.Tester
1                       (Constrained_Array, Original_Name, To_Raw, From_Raw);
1         begin
1             Constrained_Test (Image, Orig, Raw);
-----
2             subtype Constrained_Array is Original_Array  
2                                             (Orig'Range (1), Orig'Range (2));  
2             procedure Constrained_Test is  
2                new Cvt_Test_Utilities.Raw_Data_Tests.Tester  
2                       (Constrained_Array, Original_Name, To_Raw, From_Raw);  
2         begin  
2             Constrained_Test (Image, Orig, Raw);  

* Change 383..384
1         procedure Tester (Image : String;
1                           Orig  : Original;
-----
2         procedure Tester (Image : String;  
2                           Orig  : Original;  

* Change 394..400
1             procedure Test is new Base_Tester (Original, Original_Name,
1                                                Xlbt_Arithmetic.U_Char,
1                                                Xlbt_Arithmetic.S_Natural,
1                                                Xlbt_Arithmetic.U_Char_Array,
1                                                To_Uca, From_Uca);
1         begin
1             Test (Image, Orig, Uca);
-----
2             procedure Test is new Base_Tester (Original, Original_Name,  
2                                                Xlbt_Arithmetic.U_Char,  
2                                                Xlbt_Arithmetic.S_Natural,  
2                                                Xlbt_Arithmetic.U_Char_Array,  
2                                                To_Uca, From_Uca);  
2         begin  
2             Test (Image, Orig, Uca);  

* Change 414..415
1         procedure Tester_1d (Image : String;
1                              Orig  : Original_Array;
-----
2         procedure Tester_1d (Image : String;  
2                              Orig  : Original_Array;  

* Change 425..430
1             subtype Constrained_Array is Original_Array (Orig'Range);
1             procedure Constrained_Test is
1                new Cvt_Test_Utilities.U_Char_Tests.Tester
1                       (Constrained_Array, Original_Name, To_Uca, From_Uca);
1         begin
1             Constrained_Test (Image, Orig, Uca);
-----
2             subtype Constrained_Array is Original_Array (Orig'Range);  
2             procedure Constrained_Test is  
2                new Cvt_Test_Utilities.U_Char_Tests.Tester  
2                       (Constrained_Array, Original_Name, To_Uca, From_Uca);  
2         begin  
2             Constrained_Test (Image, Orig, Uca);  

* Change 446..447
1         procedure Tester_2d (Image : String;
1                              Orig  : Original_Array;
-----
2         procedure Tester_2d (Image : String;  
2                              Orig  : Original_Array;  

* Change 457..463
1             subtype Constrained_Array is Original_Array
1                                             (Orig'Range (1), Orig'Range (2));
1             procedure Constrained_Test is
1                new Cvt_Test_Utilities.U_Char_Tests.Tester
1                       (Constrained_Array, Original_Name, To_Uca, From_Uca);
1         begin
1             Constrained_Test (Image, Orig, Uca);
-----
2             subtype Constrained_Array is Original_Array  
2                                             (Orig'Range (1), Orig'Range (2));  
2             procedure Constrained_Test is  
2                new Cvt_Test_Utilities.U_Char_Tests.Tester  
2                       (Constrained_Array, Original_Name, To_Uca, From_Uca);  
2         begin  
2             Constrained_Test (Image, Orig, Uca);  

* Change 494..495
1         procedure Tester (Image : String;
1                           Orig  : Original;
-----
2         procedure Tester (Image : String;  
2                           Orig  : Original;  

* Change 505..511
1             procedure Test is new Base_Tester
1                                      (Original, Original_Name,
1                                       Xlbt_String.X_Character,
1                                       Xlbt_Arithmetic.S_Natural,
1                                       Xlbt_String.X_String, To_Str8, From_Str8);
1         begin
1             Test (Image, Orig, Str8);
-----
2             procedure Test is new Base_Tester  
2                                      (Original, Original_Name,  
2                                       Xlbt_String.X_Character,  
2                                       Xlbt_Arithmetic.S_Natural,  
2                                       Xlbt_String.X_String, To_Str8, From_Str8);  
2         begin  
2             Test (Image, Orig, Str8);  

* Change 525..526
1         procedure Tester_1d (Image : String;
1                              Orig  : Original_Array;
-----
2         procedure Tester_1d (Image : String;  
2                              Orig  : Original_Array;  

* Change 536..541
1             subtype Constrained_Array is Original_Array (Orig'Range);
1             procedure Constrained_Test is
1                new Cvt_Test_Utilities.X_String_Tests.Tester
1                       (Constrained_Array, Original_Name, To_Str8, From_Str8);
1         begin
1             Constrained_Test (Image, Orig, Str8);
-----
2             subtype Constrained_Array is Original_Array (Orig'Range);  
2             procedure Constrained_Test is  
2                new Cvt_Test_Utilities.X_String_Tests.Tester  
2                       (Constrained_Array, Original_Name, To_Str8, From_Str8);  
2         begin  
2             Constrained_Test (Image, Orig, Str8);  

* Change 557..558
1         procedure Tester_2d (Image : String;
1                              Orig  : Original_Array;
-----
2         procedure Tester_2d (Image : String;  
2                              Orig  : Original_Array;  

* Change 568..574
1             subtype Constrained_Array is Original_Array
1                                             (Orig'Range (1), Orig'Range (2));
1             procedure Constrained_Test is
1                new Cvt_Test_Utilities.X_String_Tests.Tester
1                       (Constrained_Array, Original_Name, To_Str8, From_Str8);
1         begin
1             Constrained_Test (Image, Orig, Str8);
-----
2             subtype Constrained_Array is Original_Array  
2                                             (Orig'Range (1), Orig'Range (2));  
2             procedure Constrained_Test is  
2                new Cvt_Test_Utilities.X_String_Tests.Tester  
2                       (Constrained_Array, Original_Name, To_Str8, From_Str8);  
2         begin  
2             Constrained_Test (Image, Orig, Str8);  

* Change 598..600
1                                          Orig :     Original) is
1         begin
1             raise Unimplemented;
-----
2                                          Orig :     Original) is  
2         begin  
2             raise Unimplemented;  

* Change 607..609
1                                         Orig :     Original) is
1         begin
1             raise Unimplemented;
-----
2                                         Orig :     Original) is  
2         begin  
2             raise Unimplemented;  

* Change 618..620
1                                       Orig :     Original_Array) is
1         begin
1             raise Unimplemented;
-----
2                                       Orig :     Original_Array) is  
2         begin  
2             raise Unimplemented;  

* Change 631..633
1                                          Orig :     Original_Array) is
1         begin
1             raise Unimplemented;
-----
2                                          Orig :     Original_Array) is  
2         begin  
2             raise Unimplemented;  

* Change 640..642
1                                        Conv :     Converted) is
1         begin
1             raise Unimplemented;
-----
2                                        Conv :     Converted) is  
2         begin  
2             raise Unimplemented;  

* Change 649..651
1                                       Conv :     Converted) is
1         begin
1             raise Unimplemented;
-----
2                                       Conv :     Converted) is  
2         begin  
2             raise Unimplemented;  

* Change 660..662
1                                     Conv :     Converted) is
1         begin
1             raise Unimplemented;
-----
2                                     Conv :     Converted) is  
2         begin  
2             raise Unimplemented;  

* Change 673..675
1                                        Conv :     Converted) is
1         begin
1             raise Unimplemented;
-----
2                                        Conv :     Converted) is  
2         begin  
2             raise Unimplemented;  

* Delete 679..1151
1 
1     ----------------------------------------------------------------------
1     ----------------------------------------------------------------------
1 
1     package body Generators is
1 
1         ------------------------------------------------------------------
1         -- This package contains subprograms that generate minimal
1         -- Error/Event/Reply records with matching Raw strings.
1         -- The Raw data only corresponds to the variant part of the
1         -- record.  Union types are used to simplify the interface.
1         ------------------------------------------------------------------
1 
1         function Make_Error (Kind : Xlbt_Error3.X_Error_Code)
1                             return Xlbt_Error3.X_Error_Contents is
1             Result : Xlbt_Error3.X_Error_Contents (Kind);
1         begin
1             case Kind is
1                 when Xlbt_Error3.Bad_Atom =>
1                     Result.Atom      := Xlbt_Error3.None_X_Error_With_Atom;
1                     Result.Atom.Code := Kind;
1                 when Xlbt_Error3.Bad_Request | Xlbt_Error3.Bad_Match |
1                      Xlbt_Error3.Bad_Access | Xlbt_Error3.Bad_Alloc |
1                      Xlbt_Error3.Bad_Name | Xlbt_Error3.Bad_Implementation |
1                      Xlbt_Error3.Bad_Length =>
1                     Result.Nothing := Xlbt_Error3.None_X_Error_With_Nothing;
1                     Result.Nothing.Code := Kind;
1                 when Xlbt_Error3.Bad_Window | Xlbt_Error3.Bad_Pixmap |
1                      Xlbt_Error3.Bad_Cursor | Xlbt_Error3.Bad_Font |
1                      Xlbt_Error3.Bad_Drawable | Xlbt_Error3.Bad_Color |
1                      Xlbt_Error3.Bad_Gc | Xlbt_Error3.Bad_Id_Choice =>
1                     Result.Resource := Xlbt_Error3.None_X_Error_With_Resource;
1                     Result.Resource.Code := Kind;
1                 when Xlbt_Error3.Bad_Value =>
1                     Result.Value      := Xlbt_Error3.None_X_Error_With_Value;
1                     Result.Value.Code := Kind;
1                 when others =>
1                     null;
1             end case;
1 
1             return Result;
1         end Make_Error;
1 
1         --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
1 
1         function Make_Raw_Error (Kind : Xlbt_Error3.X_Error_Code)
1                                 return Xlbmt_Network_Types.X_Raw_Data_Array is
1         begin
1             return (2 => Xlbt_Error3.X_Error_Code'Pos (Kind), 1 | 3 .. 32 => 0);
1         end Make_Raw_Error;
1 
1         ------------------------------------------------------------------
1 
1         function Make_Event (Kind : Xlbt_Event3.X_Event_Code;  
1                              Dpy  : Xlbt_Display3.X_Display :=
1                                 Xlbt_Display3.None_X_Display)  
1                             return Xlbt_Display3.X_Event is
1             Result : Xlbt_Display3.X_Event (Kind);
1         begin
1             Result.Display := Dpy;
1             case Kind is
1                 when Xlbt_Event3.Error_Event | Xlbt_Event3.Reply_Event =>
1                     null;
1                 when Xlbt_Event3.Key_Press | Xlbt_Event3.Key_Release =>
1                     Result.Key := (Kind, 0, 0, 0,
1                                    (Drawable => (Id => (Number => 0))),
1                                    (Drawable => (Id => (Number => 0))),
1                                    (Drawable => (Id => (Number => 0))), 0, 0, 0,
1                                    0, (others => False),
1                                    Xlbt_Misc.False, 0);
1                 when Xlbt_Event3.Button_Press | Xlbt_Event3.Button_Release =>
1                     Result.Button := (Kind, Xlbt_Pointer.Any_Button, 0, 0,
1                                       (Drawable => (Id => (Number => 0))),
1                                       (Drawable => (Id => (Number => 0))),
1                                       (Drawable => (Id => (Number => 0))),
1                                       0, 0, 0, 0, (others => False),
1                                       Xlbt_Misc.False, 0);
1                 when Xlbt_Event3.Motion_Notify =>
1                     Result.Motion := (Kind, Xlbt_Event3.Motion_Notify_Normal, 0,
1                                       0, (Drawable => (Id => (Number => 0))),
1                                       (Drawable => (Id => (Number => 0))),
1                                       (Drawable => (Id => (Number => 0))),
1                                       0, 0, 0, 0, (others => False),
1                                       Xlbt_Misc.False, 0);
1                 when Xlbt_Event3.Enter_Notify | Xlbt_Event3.Leave_Notify =>
1                     Result.Enter_Leave :=
1                        (Kind, Xlbt_Event3.Enter_Leave_Notify_Ancestor,
1                         0, 0, (Drawable => (Id => (Number => 0))),
1                         (Drawable => (Id => (Number => 0))),
1                         (Drawable => (Id => (Number => 0))),
1                         0, 0, 0, 0, (others => False),
1                         Xlbt_Event3.Enter_Leave_Notify_Normal,
1                         (others => False));
1                 when Xlbt_Event3.Focus_In | Xlbt_Event3.Focus_Out =>
1                     Result.Focus :=
1                        (Kind, Xlbt_Event3.Focus_Notify_Ancestor,
1                         0, (Drawable => (Id => (Number => 0))),
1                         Xlbt_Event3.Focus_Notify_Normal, (others => 0));
1                 when Xlbt_Event3.Keymap_Notify =>
1                     Result.Keymap := (Kind, (others => False));
1                 when Xlbt_Event3.Expose =>
1                     Result.Expose :=
1                        (Kind, 0, 0, (Drawable => (Id => (Number => 0))),
1                         0, 0, 0, 0, 0, (others => 0));
1                 when Xlbt_Event3.Graphics_Expose =>
1                     Result.Graphics_Expose :=
1                        (Kind, 0, 0, (Id => (Number => 0)), 0, 0, 0, 0,
1                         0, 0, Xlbt_Event3.Error_Event, (others => 0));
1                 when Xlbt_Event3.No_Expose =>
1                     Result.No_Expose :=
1                        (Kind, 0, 0, (Id => (Number => 0)), 0,
1                         Xlbt_Event3.Error_Event, (others => 0));
1                 when Xlbt_Event3.Visibility_Notify =>
1                     Result.Visibility :=
1                        (Kind, 0, 0, (Drawable => (Id => (Number => 0))),
1                         Xlbt_Event3.Visibility_Unobscured, (others => 0));
1                 when Xlbt_Event3.Create_Notify =>
1                     Result.Create :=
1                        (Kind, 0, 0, (Drawable => (Id => (Number => 0))),
1                         (Drawable => (Id => (Number => 0))), 0, 0,
1                         0, 0, 0, Xlbt_Misc.False, (others => 0));
1                 when Xlbt_Event3.Destroy_Notify =>
1                     Result.Destroy :=
1                        (Kind, 0, 0, (Drawable => (Id => (Number => 0))),
1                         (Drawable => (Id => (Number => 0))), (others => 0));
1                 when Xlbt_Event3.Unmap_Notify =>
1                     Result.Unmap :=
1                        (Kind, 0, 0, (Drawable => (Id => (Number => 0))),
1                         (Drawable => (Id => (Number => 0))),
1                         Xlbt_Misc.False, (others => 0));
1                 when Xlbt_Event3.Map_Notify =>
1                     Result.Map := (Kind, 0, 0,
1                                    (Drawable => (Id => (Number => 0))),
1                                    (Drawable => (Id => (Number => 0))),
1                                    Xlbt_Misc.False,
1                                    (others => 0));
1                 when Xlbt_Event3.Map_Request =>
1                     Result.Map_Request :=
1                        (Kind, 0, 0, (Drawable => (Id => (Number => 0))),
1                         (Drawable => (Id => (Number => 0))), (others => 0));
1                 when Xlbt_Event3.Reparent_Notify =>
1                     Result.Reparent :=
1                        (Kind, 0, 0, (Drawable => (Id => (Number => 0))),
1                         (Drawable => (Id => (Number => 0))),
1                         (Drawable => (Id => (Number => 0))),
1                         0, 0, Xlbt_Misc.False, (others => 0));
1                 when Xlbt_Event3.Configure_Notify =>
1                     Result.Configure :=
1                        (Kind, 0, 0, (Drawable => (Id => (Number => 0))),
1                         (Drawable => (Id => (Number => 0))),
1                         (Drawable => (Id => (Number => 0))), 0, 0, 0,
1                         0, 0, Xlbt_Misc.False, (others => 0));
1                 when Xlbt_Event3.Configure_Request =>
1                     Result.Configure_Request :=
1                        (Kind, Xlbt_Window4.Above, 0,
1                         (Drawable => (Id => (Number => 0))),
1                         (Drawable => (Id => (Number => 0))),
1                         (Drawable => (Id => (Number => 0))), 0, 0, 0, 0, 0,
1                         (others => False), (others => 0));
1                 when Xlbt_Event3.Gravity_Notify =>
1                     Result.Gravity := (Kind, 0, 0,
1                                        (Drawable => (Id => (Number => 0))),
1                                        (Drawable => (Id => (Number => 0))), 0,
1                                        0, (others => 0));
1                 when Xlbt_Event3.Resize_Request =>
1                     Result.Resize_Request :=
1                        (Kind, 0, 0, (Drawable => (Id => (Number => 0))),
1                         0, 0, (others => 0));
1                 when Xlbt_Event3.Circulate_Notify =>
1                     Result.Circulate :=
1                        (Kind, 0, 0, (Drawable => (Id => (Number => 0))),
1                         (Drawable => (Id => (Number => 0))),
1                         (Drawable => (Id => (Number => 0))),
1                         Xlbt_Window4.Place_On_Top, (others => 0));
1                 when Xlbt_Event3.Circulate_Request =>
1                     Result.Circulate_Request :=
1                        (Kind, 0, 0, (Drawable => (Id => (Number => 0))),
1                         (Drawable => (Id => (Number => 0))), (others => 0),
1                         Xlbt_Window4.Place_On_Top, (others => 0));
1                 when Xlbt_Event3.Property_Notify =>
1                     Result.Property :=
1                        (Kind, 0, 0, (Drawable => (Id => (Number => 0))),
1                         (Number => 0), 0,
1                         Xlbt_Window4.Property_New_Value, (others => 0));
1                 when Xlbt_Event3.Selection_Clear =>
1                     Result.Selection_Clear :=
1                        (Kind, 0, 0, 0, (Drawable => (Id => (Number => 0))),
1                         (Number => 0), (others => 0));
1                 when Xlbt_Event3.Selection_Notify =>
1                     Result.Selection :=
1                        (Kind, 0, 0, 0, (Drawable => (Id => (Number => 0))),
1                         (Number => 0), (Number => 0),
1                         (Number => 0), (others => 0));
1                 when Xlbt_Event3.Client_Message =>
1                     Result.Client :=
1                        (Kind, 0, 0, (Drawable => (Id => (Number => 0))),
1                         (Number => 0), (others => 0));
1                 when Xlbt_Event3.Selection_Request =>
1                     Result.Selection_Request :=
1                        (Kind, 0, 0, 0, (Drawable => (Id => (Number => 0))),
1                         (Drawable => (Id => (Number => 0))), (Number => 0),
1                         (Number => 0), (Number => 0), (others => 0));
1                 when Xlbt_Event3.Colormap_Notify =>
1                     Result.Colormap :=
1                        (Kind, 0, 0, (Drawable => (Id => (Number => 0))),
1                         (Id => (Number => 0)), Xlbt_Misc.False,
1                         Xlbt_Event3.Colormap_Uninstalled, (others => 0));
1                 when Xlbt_Event3.Mapping_Notify =>
1                     Result.Mapping := (Kind, 0, 0, Xlbt_Event3.Mapping_Modifier,
1                                        0, 0, (others => 0));
1                 when others =>
1                     null;
1             end case;
1 
1             return Result;
1         end Make_Event;
1 
1         --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
1 
1         function Make_Raw_Event (Kind : Xlbt_Event3.X_Event_Code)
1                                 return Xlbmt_Network_Types.X_Raw_Data_Array is
1         begin
1             return (1 => Xlbt_Event3.X_Event_Code'Pos (Kind), 2 .. 32 => 0);
1         end Make_Raw_Event;
1 
1         ------------------------------------------------------------------
1 
1         function Make_Reply (Kind : Xlbt_Request3.X_Request_Code)
1                             return Xlbt_Reply3.X_Reply_Contents is
1             Result : Xlbt_Reply3.X_Reply_Contents (Kind);
1         begin
1             case Kind is
1                 when Xlbt_Request3.Alloc_Color =>
1                     Result.Alloc_Color := (Xlbt_Event3.Reply_Event, 0, 0,
1                                            0, 0, 0, 0, 0, 0, (others => 0),
1                                            (others => 0), (others => 0));
1                 when Xlbt_Request3.Alloc_Color_Cells =>
1                     Result.Alloc_Color_Cells :=
1                        (Xlbt_Event3.Reply_Event, 0, 0, 0,
1                         0, 0, (others => 0), (others => 0),
1                         (others => 0), (others => 0), (others => 0));
1                 when Xlbt_Request3.Alloc_Color_Planes =>
1                     Result.Alloc_Color_Planes :=
1                        (Xlbt_Event3.Reply_Event, 0, 0, 0, 0, 0,
1                         0, 0, 0, (others => 0), (others => 0));
1                 when Xlbt_Request3.Alloc_Named_Color =>
1                     Result.Alloc_Named_Color :=
1                        (Xlbt_Event3.Reply_Event, 0, 0, 0, 0, 0, 0,
1                         0, 0, 0, 0, (others => 0), (others => 0));
1                 when Xlbt_Request3.Get_Atom_Name =>
1                     Result.Get_Atom_Name := (Xlbt_Event3.Reply_Event, 0,
1                                              0, 0, 0, 0, (others => 0),
1                                              (others => 0), (others => 0),
1                                              (others => 0), (others => 0));
1                 when Xlbt_Request3.Get_Font_Path =>
1                     Result.Get_Font_Path := (Xlbt_Event3.Reply_Event, 0,
1                                              0, 0, 0, 0, (others => 0),
1                                              (others => 0), (others => 0),
1                                              (others => 0), (others => 0));
1                 when Xlbt_Request3.Get_Geometry =>
1                     Result.Get_Geometry :=
1                        (Xlbt_Event3.Reply_Event, 0, 0, 0,
1                         (Drawable => (Id => (Number => 0))), 0, 0, 0, 0, 0,
1                         0, (others => 0), (others => 0));
1                 when Xlbt_Request3.Get_Image =>
1                     Result.Get_Image := (Xlbt_Event3.Reply_Event, 0, 0,
1                                          0, (Number => 0), (others => 0),
1                                          (others => 0), (others => 0),
1                                          (others => 0), (others => 0));
1                 when Xlbt_Request3.Get_Input_Focus =>
1                     Result.Get_Input_Focus :=
1                        (Xlbt_Event3.Reply_Event,
1                         Xlbt_Input_Focus.Revert_To_None, 0, 0,
1                         (Drawable => (Id => (Number => 0))), (others => 0),
1                         (others => 0), (others => 0),
1                         (others => 0), (others => 0));
1                 when Xlbt_Request3.Get_Keyboard_Control =>
1                     Result.Get_Keyboard_Control :=
1                        (Xlbt_Event3.Reply_Event, Xlbt_Misc.False, 0, 0,
1                         (others => False), 0, 0, 0, 0, 0, (others => False));
1                 when Xlbt_Request3.Get_Keyboard_Mapping =>
1                     Result.Get_Keyboard_Mapping :=
1                        (Xlbt_Event3.Reply_Event, 0, 0, 0,
1                         (others => 0), (others => 0), (others => 0),
1                         (others => 0), (others => 0), (others => 0));
1                 when Xlbt_Request3.Get_Modifier_Mapping =>
1                     Result.Get_Modifier_Mapping :=
1                        (Xlbt_Event3.Reply_Event, 0, 0, 0,
1                         (others => 0), (others => 0), (others => 0),
1                         (others => 0), (others => 0), (others => 0));
1                 when Xlbt_Request3.Get_Motion_Events =>
1                     Result.Get_Motion_Events :=
1                        (Xlbt_Event3.Reply_Event, 0, 0, 0,
1                         0, (others => 0), (others => 0),
1                         (others => 0), (others => 0), (others => 0));
1                 when Xlbt_Request3.Get_Pointer_Control =>
1                     Result.Get_Pointer_Control :=
1                        (Xlbt_Event3.Reply_Event, 0, 0, 0, 0,
1                         0, 0, 0, (others => 0), (others => 0),
1                         (others => 0), (others => 0));
1                 when Xlbt_Request3.Get_Pointer_Mapping =>
1                     Result.Get_Pointer_Mapping :=
1                        (Xlbt_Event3.Reply_Event, 0, 0, 0,
1                         (others => 0), (others => 0), (others => 0),
1                         (others => 0), (others => 0), (others => 0));
1                 when Xlbt_Request3.Get_Property =>
1                     Result.Get_Property := (Xlbt_Event3.Reply_Event, 0, 0, 0,
1                                             (Number => 0), 0, 0, (others => 0),
1                                             (others => 0), (others => 0));
1                 when Xlbt_Request3.Get_Screen_Saver =>
1                     Result.Get_Screen_Saver :=
1                        (Xlbt_Event3.Reply_Event, 0, 0, 0, 0, 0,
1                         Xlbt_Screen_Saver.Dont_Prefer_Blanking,
1                         Xlbt_Screen_Saver.Dont_Allow_Exposures,
1                         0, (others => 0), (others => 0),
1                         (others => 0), (others => 0));
1                 when Xlbt_Request3.Get_Selection_Owner =>
1                     Result.Get_Selection_Owner :=
1                        (Xlbt_Event3.Reply_Event, 0, 0, 0,
1                         (Drawable => (Id => (Number => 0))),
1                         (others => 0), (others => 0), (others => 0),
1                         (others => 0), (others => 0));
1                 when Xlbt_Request3.Get_Window_Attributes =>
1                     Result.Get_Window_Attributes :=
1                        (Xlbt_Event3.Reply_Event, Xlbt_Window4.Not_Useful,
1                         0, 0, (Number => 0), Xlbt_Window4.Copy_From_Parent,
1                         Xlbt_Window4.Forget_Bit_Gravity,
1                         Xlbt_Window4.Unmap_Gravity, 0, 0,
1                         Xlbt_Misc.False, Xlbt_Misc.False,
1                         Xlbt_Window4.Is_Unmapped, Xlbt_Misc.False,
1                         (Id => (Number => 0)), (others => False),
1                         (others => False), (others => False), 0);
1                 when Xlbt_Request3.Grab_Keyboard =>
1                     Result.Grab_Keyboard := (Xlbt_Event3.Reply_Event,
1                                              Xlbt_Grab.Grab_Success, 0, 0,
1                                              (others => 0), (others => 0),
1                                              (others => 0), (others => 0),
1                                              (others => 0), (others => 0));
1                 when Xlbt_Request3.Grab_Pointer =>
1                     Result.Grab_Pointer := (Xlbt_Event3.Reply_Event,
1                                             Xlbt_Grab.Grab_Success, 0, 0,
1                                             (others => 0), (others => 0),
1                                             (others => 0), (others => 0),
1                                             (others => 0), (others => 0));
1                 when Xlbt_Request3.Intern_Atom =>
1                     Result.Intern_Atom := (Xlbt_Event3.Reply_Event, 0, 0,
1                                            0, (Number => 0), (others => 0),
1                                            (others => 0), (others => 0),
1                                            (others => 0), (others => 0));
1                 when Xlbt_Request3.List_Extensions =>
1                     Result.List_Extensions := (Xlbt_Event3.Reply_Event, 0, 0,
1                                                0, (others => 0), (others => 0),
1                                                (others => 0), (others => 0),
1                                                (others => 0), (others => 0));
1                 when Xlbt_Request3.List_Fonts =>
1                     Result.List_Fonts := (Xlbt_Event3.Reply_Event, 0,
1                                           0, 0, 0, 0, (others => 0),
1                                           (others => 0), (others => 0),
1                                           (others => 0), (others => 0));
1                 when Xlbt_Request3.List_Fonts_With_Info =>
1                     Result.List_Fonts_With_Info :=
1                        (Xlbt_Event3.Reply_Event, 0, 0, 0,
1                         (0, 0, 0, 0, 0, (others => False)), 0,
1                         (0, 0, 0, 0, 0, (others => False)), 0, 0, 0, 0,
1                         0, Xlbt_Font3.Font_Left_To_Right,
1                         0, 0, Xlbt_Misc.False, 0, 0, 0);
1                 when Xlbt_Request3.List_Hosts =>
1                     Result.List_Hosts :=
1                        (Xlbt_Event3.Reply_Event, Xlbt_Misc.False,
1                         0, 0, 0, 0, (others => 0), (others => 0),
1                         (others => 0), (others => 0), (others => 0));
1                 when Xlbt_Request3.List_Installed_Colormaps =>
1                     Result.List_Installed_Colormaps :=
1                        (Xlbt_Event3.Reply_Event, 0, 0, 0,
1                         0, 0, (others => 0), (others => 0),
1                         (others => 0), (others => 0), (others => 0));
1                 when Xlbt_Request3.List_Properties =>
1                     Result.List_Properties := (Xlbt_Event3.Reply_Event, 0,
1                                                0, 0, 0, 0, (others => 0),
1                                                (others => 0), (others => 0),
1                                                (others => 0), (others => 0));
1                 when Xlbt_Request3.Lookup_Color =>
1                     Result.Lookup_Color := (Xlbt_Event3.Reply_Event, 0, 0, 0,
1                                             0, 0, 0, 0, 0, 0, (others => 0),
1                                             (others => 0), (others => 0));
1                 when Xlbt_Request3.Query_Best_Size =>
1                     Result.Query_Best_Size := (Xlbt_Event3.Reply_Event, 0,
1                                                0, 0, 0, 0, (others => 0),
1                                                (others => 0), (others => 0),
1                                                (others => 0), (others => 0));
1                 when Xlbt_Request3.Query_Colors =>
1                     Result.Query_Colors := (Xlbt_Event3.Reply_Event, 0,
1                                             0, 0, 0, 0, (others => 0),
1                                             (others => 0), (others => 0),
1                                             (others => 0), (others => 0));
1                 when Xlbt_Request3.Query_Extension =>
1                     Result.Query_Extension :=
1                        (Xlbt_Event3.Reply_Event, 0, 0, 0, Xlbt_Misc.False,
1                         Xlbt_Request3.Invalid_Request, Xlbt_Event3.Error_Event,
1                         Xlbt_Error3.Success, (others => 0), (others => 0),
1                         (others => 0), (others => 0), (others => 0));
1                 when Xlbt_Request3.Query_Font =>
1                     Result.Query_Font :=
1                        (Xlbt_Event3.Reply_Event, 0, 0, 0,
1                         (0, 0, 0, 0, 0, (others => False)), 0,
1                         (0, 0, 0, 0, 0, (others => False)), 0, 0, 0, 0,
1                         0, Xlbt_Font3.Font_Left_To_Right,
1                         0, 0, Xlbt_Misc.False, 0, 0, 0);
1                 when Xlbt_Request3.Query_Keymap =>
1                     Result.Query_Keymap := (Xlbt_Event3.Reply_Event, 0,
1                                             0, 0, (others => False));
1                 when Xlbt_Request3.Query_Pointer =>
1                     Result.Query_Pointer :=
1                        (Xlbt_Event3.Reply_Event, Xlbt_Misc.False,
1                         0, 0, (Drawable => (Id => (Number => 0))),
1                         (Drawable => (Id => (Number => 0))), 0, 0,
1                         0, 0, (others => False), 0, (others => 0));
1                 when Xlbt_Request3.Query_Text_Extents =>
1                     Result.Query_Text_Extents :=
1                        (Xlbt_Event3.Reply_Event, Xlbt_Font3.Font_Left_To_Right,
1                         0, 0, 0, 0, 0, 0, 0, 0, 0, (others => 0));
1                 when Xlbt_Request3.Query_Tree =>
1                     Result.Query_Tree :=
1                        (Xlbt_Event3.Reply_Event, 0, 0, 0,
1                         (Drawable => (Id => (Number => 0))),
1                         (Drawable => (Id => (Number => 0))), 0, 0,
1                         (others => 0), (others => 0), (others => 0));
1                 when Xlbt_Request3.Set_Modifier_Mapping =>
1                     Result.Set_Modifier_Mapping :=
1                        (Xlbt_Event3.Reply_Event, Xlbt_Keyboard3.Mapping_Success,
1                         0, 0, (others => 0), (others => 0), (others => 0),
1                         (others => 0), (others => 0), (others => 0));
1                 when Xlbt_Request3.Set_Pointer_Mapping =>
1                     Result.Set_Pointer_Mapping :=
1                        (Xlbt_Event3.Reply_Event, Xlbt_Keyboard3.Mapping_Success,
1                         0, 0, (others => 0), (others => 0), (others => 0),
1                         (others => 0), (others => 0), (others => 0));
1                 when Xlbt_Request3.Translate_Coords =>
1                     Result.Translate_Coords :=
1                        (Xlbt_Event3.Reply_Event, Xlbt_Misc.False,
1                         0, 0, (Drawable => (Id => (Number => 0))),
1                         0, 0, (others => 0), (others => 0),
1                         (others => 0), (others => 0));
1                 when others =>
1                     null;
1             end case;
1 
1             return Result;
1         end Make_Reply;
1 
1         --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
1 
1         function Make_Raw_Reply (Kind : Xlbt_Request3.X_Request_Code)
1                                 return Xlbmt_Network_Types.X_Raw_Data_Array is
1             Reply : constant Xlbmt_Network_Types.X_Raw_Data :=
1                Xlbt_Event3.X_Event_Code_8'Pos (Xlbt_Event3.Reply_Event);
1         begin
1             case Kind is
1                 when Xlbt_Request3.Get_Keyboard_Control =>
1                     return (1 => Reply, 2 .. 52 => 0);
1                 when Xlbt_Request3.Get_Window_Attributes =>
1                     return (1 => Reply, 2 .. 44 => 0);
1                 when Xlbt_Request3.List_Fonts_With_Info |
1                      Xlbt_Request3.Query_Font =>
1                     return (1 => Reply, 2 .. 60 => 0);
1                 when Xlbt_Request3.Query_Keymap =>
1                     return (1 => Reply, 2 .. 40 => 0);
1                 when others =>
1                     return (1 => Reply, 2 .. 32 => 0);
1             end case;
1         end Make_Raw_Reply;
1 
1     end Generators;

* Change 1153
1 end Cvt_Test_Utilities;
-----
2 --
2 end Cvt_Test_Utilities;  
16:12:43 ::: [end of File_Utilities.Difference].
16:12:44 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:12:44 ... UNITS.CONVERTERS.CVT_TEST_UTILITIES'SPEC'V(5)", "!X11.X_TESTING.
16:12:44 ... REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_TEST_UTILITIES'SPEC'V(1)", 
16:12:44 ... "", TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.CONVERTERS.CVT_TEST_UTILITIES'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.CONVERTERS.CVT_TEST_UTILITIES'SPEC
* Delete 3..8
1 
1 with Xlbt_Error3;  
1 with Xlbt_Display3;  
1 with Xlbt_Event3;  
1 with Xlbt_Reply3;  
1 with Xlbt_Request3;

* Change 290..292
1 --//         Raw_80 : constant X_Raw_Data := -128;
1 --//         Raw_Ab : constant X_Raw_Data := -85;
1 --//         Raw_Ff : constant X_Raw_Data := -1;
-----
2 --//    Raw_80 : constant X_Raw_Data := -128;
2 --//    Raw_Ab : constant X_Raw_Data := -85;
2 --//    Raw_Ff : constant X_Raw_Data := -1;

* Delete 514..541
1 
1     package Generators is
1 
1         ------------------------------------------------------------------
1         -- This package contains subprograms that generate minimal
1         -- Error/Event/Reply records with matching Raw strings.
1         -- The Raw data only corresponds to the variant part of the
1         -- record.  Union types are used to simplify the interface.
1         ------------------------------------------------------------------
1 
1         function Make_Error     (Kind : Xlbt_Error3.X_Error_Code)  
1                             return Xlbt_Error3.X_Error_Contents;  
1         function Make_Raw_Error (Kind : Xlbt_Error3.X_Error_Code)  
1                                 return Xlbmt_Network_Types.X_Raw_Data_Array;
1 
1         function Make_Event     (Kind : Xlbt_Event3.X_Event_Code;  
1                                  Dpy  : Xlbt_Display3.X_Display :=  
1                                     Xlbt_Display3.None_X_Display)  
1                             return Xlbt_Display3.X_Event;  
1         function Make_Raw_Event (Kind : Xlbt_Event3.X_Event_Code)  
1                                 return Xlbmt_Network_Types.X_Raw_Data_Array;
1 
1         function Make_Reply     (Kind : Xlbt_Request3.X_Request_Code)  
1                             return Xlbt_Reply3.X_Reply_Contents;  
1         function Make_Raw_Reply (Kind : Xlbt_Request3.X_Request_Code)  
1                                 return Xlbmt_Network_Types.X_Raw_Data_Array;
1 
1     end Generators;
16:12:49 ::: [end of File_Utilities.Difference].
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.AAA_ALL_GR'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.AAA_ALL_GR'SPEC.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.AAA_DIR_GR.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_001'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_001'SPEC.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_001_RUN'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_001_RUN'SPEC.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_002'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_002'SPEC.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_002_RUN'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_002_RUN'SPEC.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_003'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_003'SPEC.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_003_RUN'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_003_RUN'SPEC.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_004'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_004'SPEC.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_004_RUN'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_004_RUN'SPEC.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_005'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_005'SPEC.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_005_RUN'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_005_RUN'SPEC.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_006'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_006'SPEC.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_006_RUN'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_006_RUN'SPEC.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_007'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_007'SPEC.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_007_RUN'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_007_RUN'SPEC.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_008'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_008'SPEC.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_008_RUN'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_008_RUN'SPEC.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_RANDOM'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_RANDOM'SPEC.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_STATE_TEST'BODY.
16:12:49 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:49 !!! .GRAPHICS.GR_STATE_TEST'SPEC.
16:12:50 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:12:50 ... UNITS.PORTING_TESTS.AAA_ALL_EXE'BODY'V(1)", "!X11.X_TESTING.
16:12:50 ... REV6_0_0_WORKING.UNITS.PORTING_TESTS.AAA_ALL_EXE'BODY'V(1)", "", 
16:12:50 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.PORTING_TESTS.AAA_ALL_EXE'BODY
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.PORTING_TESTS.AAA_ALL_EXE'BODY
* Change 1
1 with Exe_001_Run;
-----
2 with Exe_001_Run;  

* Insert after 2
2 
2 with Exe_101_Run;  
2 with Exe_102_Run;  
2 with Exe_103_Run;  
2 with Exe_104_Run;  
2 with Exe_105_Run;  
2 with Exe_106_Run;  
2 with Exe_107_Run;  
2 with Exe_108_Run;  
2 with Exe_109_Run;  
2 with Exe_110_Run;
2 
2 with Exe_201_Run;  
2 with Exe_202_Run;  
2 with Exe_203_Run;  
2 with Exe_204_Run;  
2 with Exe_205_Run;  
2 with Exe_206_Run;  
2 with Exe_207_Run;  
2 with Exe_208_Run;
2 
2 with Exe_301_Run;  
2 with Exe_302_Run;  
2 with Exe_303_Run;

* Change 10
1     Exe_001_Run;
-----
2     Exe_001_Run;  

* Insert after 11
2 
2     Exe_101_Run;  
2     Exe_102_Run;  
2     Exe_103_Run;  
2     Exe_104_Run;  
2     Exe_105_Run;  
2     Exe_106_Run;  
2     Exe_107_Run;  
2     Exe_108_Run;  
2     Exe_109_Run;  
2     Exe_110_Run;
2 
2     Exe_201_Run;  
2     Exe_202_Run;  
2     Exe_203_Run;  
2     Exe_204_Run;  
2     Exe_205_Run;  
2     Exe_206_Run;  
2     Exe_207_Run;  
2     Exe_208_Run;
2 
2     Exe_301_Run;  
2     Exe_302_Run;  
2     Exe_303_Run;

* Insert after 13
2 
2 --/ if Cdf_Hpux then
2 --// pragma Main;
2 --/ end if;
16:12:51 ::: [end of File_Utilities.Difference].
16:12:52 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:12:52 ... UNITS.PORTING_TESTS.AAA_DIR_EXE'V(1)", "!X11.X_TESTING.
16:12:52 ... REV6_0_0_WORKING.UNITS.PORTING_TESTS.AAA_DIR_EXE'V(1)", "", TRUE, 
16:12:52 ... FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.PORTING_TESTS.AAA_DIR_EXE
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.PORTING_TESTS.AAA_DIR_EXE
* Change 5
1 
-----
2 Exe_100 - Xlbt_Proc_Var       - Testing generics for use by 100/200/300 tests
2 Exe_1%% - Xlbt_Proc_Var       - Tests procedure variables
2 Exe_2%% - Xlbt_Proc_Var       - Tests function variables with constrained
2                                 results
2 Exe_3%% - Xlbt_Proc_Var       - Tests function variables with unconstrained
2                                 results
16:12:53 ::: [end of File_Utilities.Difference].
16:12:55 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:55 !!! .PORTING_TESTS.EXE_001_RUN'BODY.
16:12:56 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:12:56 ... UNITS.PORTING_TESTS.EXE_001_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:12:56 ... REV6_0_0_WORKING.UNITS.PORTING_TESTS.EXE_001_RUN'SPEC'V(1)", "", 
16:12:56 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.PORTING_TESTS.EXE_001_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.PORTING_TESTS.EXE_001_RUN'SPEC
* Change 1..10
1 with Run_One_Test;
1 
1 with Exe_001;
1 
1 procedure Exe_001_Run is
1    new Run_One_Test (The_Test           => Exe_001,
1                      Test_Name          => "Exe_001",
1                      Test_Description   => "Xlbt_Arithmetic",
1                      Ignore_Case        => False,
1                      Ignore_Blank_Lines => False);
-----
2 procedure Exe_001_Run;  
16:12:57 ::: [end of File_Utilities.Difference].
16:12:58 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:12:58 !!! .PORTING_TESTS.EXE_002_RUN'BODY.
16:12:59 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:12:59 ... UNITS.PORTING_TESTS.EXE_002_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:12:59 ... REV6_0_0_WORKING.UNITS.PORTING_TESTS.EXE_002_RUN'SPEC'V(1)", "", 
16:12:59 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.PORTING_TESTS.EXE_002_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.PORTING_TESTS.EXE_002_RUN'SPEC
* Change 1..10
1 with Run_One_Test;
1 
1 with Exe_002;
1 
1 procedure Exe_002_Run is
1    new Run_One_Test (The_Test           => Exe_002,
1                      Test_Name          => "Exe_002",
1                      Test_Description   => "Xlbmp_Debugger elaboration",
1                      Ignore_Case        => False,
1                      Ignore_Blank_Lines => False);
-----
2 procedure Exe_002_Run;  
16:13:00 ::: [end of File_Utilities.Difference].
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_100'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_100'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_101'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_101'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_101_PK'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_101_PK'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_101_RUN'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_101_RUN'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_102'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_102'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_102_PK'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_102_PK'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_102_RUN'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_102_RUN'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_103'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_103'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_103_PK'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_103_PK'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_103_RUN'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_103_RUN'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_104'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_104'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_104_PK'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_104_PK'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_104_RUN'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_104_RUN'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_105'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_105'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_105_PK'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_105_PK'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_105_RUN'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_105_RUN'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_106'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_106'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_106_PK'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_106_PK'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_106_RUN'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_106_RUN'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_107'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_107'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_107_PK'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_107_PK'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_107_RUN'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_107_RUN'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_108'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_108'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_108_PK'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_108_PK'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_108_RUN'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_108_RUN'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_109'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_109'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_109_PK'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_109_PK'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_109_RUN'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_109_RUN'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_110'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_110'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_110_PK'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_110_PK'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_110_RUN'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_110_RUN'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_201'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_201'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_201_PK'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_201_PK'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_201_RUN'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_201_RUN'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_202'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_202'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_202_PK'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_202_PK'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_202_RUN'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_202_RUN'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_203'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_203'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_203_PK'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_203_PK'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_203_RUN'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_203_RUN'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_204'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_204'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_204_PK'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_204_PK'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_204_RUN'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_204_RUN'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_205'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_205'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_205_PK'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_205_PK'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_205_RUN'BODY.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_205_RUN'SPEC.
16:13:00 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:00 !!! .PORTING_TESTS.EXE_206'BODY.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_206'SPEC.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_206_PK'BODY.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_206_PK'SPEC.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_206_RUN'BODY.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_206_RUN'SPEC.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_207'BODY.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_207'SPEC.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_207_PK'BODY.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_207_PK'SPEC.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_207_RUN'BODY.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_207_RUN'SPEC.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_208'BODY.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_208'SPEC.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_208_PK'BODY.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_208_PK'SPEC.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_208_RUN'BODY.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_208_RUN'SPEC.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_301'BODY.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_301'SPEC.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_301_PK'BODY.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_301_PK'SPEC.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_301_RUN'BODY.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_301_RUN'SPEC.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_302'BODY.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_302'SPEC.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_302_PK'BODY.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_302_PK'SPEC.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_302_RUN'BODY.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_302_RUN'SPEC.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_303'BODY.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_303'SPEC.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_303_PK'BODY.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_303_PK'SPEC.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_303_RUN'BODY.
16:13:01 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:01 !!! .PORTING_TESTS.EXE_303_RUN'SPEC.
16:13:02 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:13:02 ... UNITS.RESOURCE_MANAGER.AAA_ALL_RM'BODY'V(1)", "!X11.X_TESTING.
16:13:02 ... REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.AAA_ALL_RM'BODY'V(1)", "",
16:13:02 ...  TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.RESOURCE_MANAGER.AAA_ALL_RM'BODY
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.AAA_ALL_RM'BODY
* Change 1..7
1 with Rm_010_Run;
1 with Rm_020_Run;
1 with Rm_030_Run;
1 with Rm_040_Run;
1 with Rm_050_Run;
1 with Rm_060_Run;
1 with Rm_070_Run;
-----
2 with Rm_010_Run;  
2 with Rm_020_Run;  
2 with Rm_040_Run;  
2 with Rm_050_Run;  
2 with Rm_060_Run;  
2 with Rm_070_Run;  

* Change 16..22
1     Rm_010_Run;
1     Rm_020_Run;
1     Rm_030_Run;
1     Rm_040_Run;
1     Rm_050_Run;
1     Rm_060_Run;
1     Rm_070_Run;
-----
2     Rm_010_Run;  
2     Rm_020_Run;  
2     Rm_040_Run;  
2     Rm_050_Run;  
2     Rm_060_Run;  
2     Rm_070_Run;  

* Insert after 25
2 --/ if Cdf_Hpux then
2 --// pragma Main;
2 --/ end if;
16:13:02 ::: [end of File_Utilities.Difference].
16:13:05 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:13:05 ... UNITS.RESOURCE_MANAGER.RM_010'BODY'V(1)", "!X11.X_TESTING.
16:13:05 ... REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_010'BODY'V(1)", "", 
16:13:05 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.RESOURCE_MANAGER.RM_010'BODY
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_010'BODY
* Change 1
1 with Test_Io;
-----
2 with Test_Io;  

* Change 4..10
1 with Xlbt_Arithmetic;
1 use Xlbt_Arithmetic;
1 with Xlbt_Rm;
1 use Xlbt_Rm;
1 with Xlbt_Rm2;
1 use Xlbt_Rm2;
1 with Xlbt_String;
-----
2 with Xlbt_Arithmetic;  
2 use Xlbt_Arithmetic;  
2 with Xlbt_Rm;  
2 use Xlbt_Rm;  
2 with Xlbt_Rm2;  
2 use Xlbt_Rm2;  
2 with Xlbt_String;  

* Change 13
1 with Xlbp_Rm_Quark;
-----
2 with Xlbp_Rm_Quark;  

* Change 16
1 with Xlbit_Library3;
-----
2 with Xlbit_Library3;  

* Change 28
1     Quark1 : X_Rm_Quark;
-----
2     Quark1 : X_Rm_Quark;  

* Change 33
1     Quark_List : Quark_Array (1 .. 10);
-----
2     Quark_List : Quark_Array (1 .. 10);  

* Change 38
1     function X_Rm_Str_To_Q (Name : X_String) return X_Rm_Quark;
-----
2     function X_Rm_Str_To_Q  
2                 (Name     : X_String;  
2                  Validate : Boolean := Validate_Names) return X_Rm_Quark;

* Change 42..44
1               (Quark_Type       => X_Rm_Quark,
1                None_Quark       => None_X_Rm_Quark,
1                Quark_Array_Type => Quark_Array,
-----
2               (Quark_Type       => X_Rm_Quark,  
2                None_Quark       => None_X_Rm_Quark,  
2                Quark_Array_Type => Quark_Array,  

* Change 49..51
1               (Quark_Type       => X_Rm_Quark,
1                None_Quark       => None_X_Rm_Quark,
1                Quark_Array_Type => Quark_Array,
-----
2               (Quark_Type       => X_Rm_Quark,  
2                None_Quark       => None_X_Rm_Quark,  
2                Quark_Array_Type => Quark_Array,  

* Change 54..56
1     function X_Rm_Str_To_Q (Name : X_String) return X_Rm_Quark is
1     begin
1         return X_Rm_String_To_Quark (Name, Validate_Names);
-----
2     function X_Rm_Str_To_Q  
2                 (Name     : X_String;  
2                  Validate : Boolean := Validate_Names) return X_Rm_Quark is  
2     begin  
2         return X_Rm_String_To_Quark (Name, Validate);  

* Change 67..90
1     begin
1         if Validate_Names then
1             Put ("Component ");
1         else
1             Put ("Quark ");
1         end if;
1         Putx ('"' & Name & '"');
1         Put (' ');
1         Set_Col (31);
1         Quark1 := X_Rm_Str_To_Q (Name);
1         Put (Quark1.Id);
1         Put (" => ");
1         Putx ('"' & X_Rm_Quark_To_String (Quark1) & '"');
1         if Validate_Names and not Valid then
1             Put ('?');
1         end if;
1         New_Line;
1     exception
1         when Constraint_Error =>
1             if not Valid then
1                 Put_Line (" is invalid.");
1             else
1                 raise;
1             end if;
-----
2     begin  
2         if Validate_Names then  
2             Put ("Component ");  
2         else  
2             Put ("Quark ");  
2         end if;  
2         Putx ('"' & Name & '"');  
2         Put (' ');  
2         Set_Col (31);  
2         Quark1 := X_Rm_Str_To_Q (Name);  
2         Put (Quark1.Id);  
2         Put (" => ");  
2         Putx ('"' & X_Rm_Quark_To_String (Quark1) & '"');  
2         if Validate_Names and not Valid then  
2             Put ('?');  
2         end if;  
2         New_Line;  
2     exception  
2         when Constraint_Error =>  
2             if not Valid then  
2                 Put_Line (" is invalid.");  
2             else  
2                 raise;  
2             end if;  

* Change 103..133
1         if Validate_Names then
1             Put ("Components := ");
1         else
1             Put ("Quark-List := ");
1         end if;
1         Putx ('"' & List & '"');
1         New_Line;
1         Put ("Result => ");
1         X_Rm_Str_To_Ql (List, Quark_List);
1         if Validate_Names and not Valid then
1             Put ('?');
1         end if;
1         New_Line;
1         for I in Quark_List'Range loop
1             if Quark_List (I) = None_X_Rm_Quark then
1                 exit;
1             end if;
1             Put ("    ");
1             Put (I);
1             Put (' ');
1             Putx ('"' & X_Rm_Quark_To_String (Quark_List (I)) & '"');
1             New_Line;
1         end loop;
1         New_Line;
1     exception
1         when Constraint_Error =>
1             if Validate_Names and not Valid then
1                 Put (" invalid");
1                 New_Line;
1             else
1                 raise;
-----
2         if Validate_Names then  
2             Put ("Components := ");  
2         else  
2             Put ("Quark-List := ");  
2         end if;  
2         Putx ('"' & List & '"');  
2         New_Line;  
2         Put ("Result => ");  
2         X_Rm_Str_To_Ql (List, Quark_List);  
2         if Validate_Names and not Valid then  
2             Put ('?');  
2         end if;  
2         New_Line;  
2         for I in Quark_List'Range loop  
2             if Quark_List (I) = None_X_Rm_Quark then  
2                 exit;  
2             end if;  
2             Put ("    ");  
2             Put (I);  
2             Put (' ');  
2             Putx ('"' & X_Rm_Quark_To_String (Quark_List (I)) & '"');  
2             New_Line;  
2         end loop;  
2         New_Line;  
2     exception  
2         when Constraint_Error =>  
2             if Validate_Names and not Valid then  
2                 Put (" invalid");  
2                 New_Line;  
2             else  
2                 raise;  

* Change 148..180
1         if Validate_Names then
1             Put ("Components := ");
1         else
1             Put ("Quark-List := ");
1         end if;
1         Putx ('"' & List & '"');
1         New_Line;
1         Put ("Result => ");
1         X_Rm_Str_To_Bl (List, Bind_List, Quark_List);
1         if Validate_Names and not Valid then
1             Put ('?');
1         end if;
1         New_Line;
1         for I in Quark_List'Range loop
1             if Quark_List (I) = None_X_Rm_Quark then
1                 exit;
1             end if;
1             Put ("    ");
1             Put (I);
1             Put (' ');
1             Put (X_Rm_Binding'Image (Bind_List (I)));
1             Put (' ');
1             Putx ('"' & X_Rm_Quark_To_String (Quark_List (I)) & '"');
1             New_Line;
1         end loop;
1         New_Line;
1     exception
1         when Constraint_Error =>
1             if Validate_Names and not Valid then
1                 Put ("invalid");
1                 New_Line;
1             else
1                 raise;
-----
2         if Validate_Names then  
2             Put ("Components := ");  
2         else  
2             Put ("Quark-List := ");  
2         end if;  
2         Putx ('"' & List & '"');  
2         New_Line;  
2         Put ("Result => ");  
2         X_Rm_Str_To_Bl (List, Bind_List, Quark_List);  
2         if Validate_Names and not Valid then  
2             Put ('?');  
2         end if;  
2         New_Line;  
2         for I in Quark_List'Range loop  
2             if Quark_List (I) = None_X_Rm_Quark then  
2                 exit;  
2             end if;  
2             Put ("    ");  
2             Put (I);  
2             Put (' ');  
2             Put (X_Rm_Binding'Image (Bind_List (I)));  
2             Put (' ');  
2             Putx ('"' & X_Rm_Quark_To_String (Quark_List (I)) & '"');  
2             New_Line;  
2         end loop;  
2         New_Line;  
2     exception  
2         when Constraint_Error =>  
2             if Validate_Names and not Valid then  
2                 Put ("invalid");  
2                 New_Line;  
2             else  
2                 raise;  

* Change 189
1     Xlbmp_Debugger.Register_Debugging_Imagers;
-----
2     Xlbmp_Debugger.Register_Debugging_Imagers;  

* Change 198..205
1     Section ("X_Rm_Unique_Quark");
1     for I in 1 .. 5 loop
1         Quark1 := X_Rm_Unique_Quark;
1         Put ("Unique quark ");
1         Put (Quark1.Id);
1         Put (" => ");
1         Putx (X_Rm_Quark_To_String (Quark1));
1         New_Line;
-----
2     Section ("X_Rm_Unique_Quark");  
2     for I in 1 .. 5 loop  
2         Quark1 := X_Rm_Unique_Quark;  
2         Put ("Unique quark ");  
2         Put (Quark1.Id);  
2         Put (" => ");  
2         Putx (X_Rm_Quark_To_String (Quark1));  
2         New_Line;  

* Change 210..217
1     Section ("X_Rm_Quark_To/From_String");
1     Qts ("0");
1     Qts ("One");
1     Qts ("Two");
1     Qts ("Three");
1     Qts ("Four");
1     Qts ("And-A_Long_String");
1     Qts ("Something_Else");
-----
2     Section ("X_Rm_Quark_To/From_String");  
2     Qts ("0");  
2     Qts ("One");  
2     Qts ("Two");  
2     Qts ("Three");  
2     Qts ("Four");  
2     Qts ("And-A_Long_String");  
2     Qts ("Something_Else");  

* Change 222..229
1     Section ("X_Rm_Quark_To/From_Old_String");
1     Qts ("0");
1     Qts ("One");
1     Qts ("Two");
1     Qts ("Three");
1     Qts ("Four");
1     Qts ("And-A_Long_String");
1     Qts ("Something_Else");
-----
2     Section ("X_Rm_Quark_To/From_Old_String");  
2     Qts ("0");  
2     Qts ("One");  
2     Qts ("Two");  
2     Qts ("Three");  
2     Qts ("Four");  
2     Qts ("And-A_Long_String");  
2     Qts ("Something_Else");  

* Change 234..239
1     Section ("Simple quark lists");
1     Qtl ("One");
1     Qtl ("Two.");
1     Qtl ("Three*Four");
1     Qtl ("Four.Three.One.Two.Something_Else");
1     Qtl ("_0*1.2-3_");
-----
2     Section ("Simple quark lists");  
2     Qtl ("One");  
2     Qtl ("Two.");  
2     Qtl ("Three*Four");  
2     Qtl ("Four.Three.One.Two.Something_Else");  
2     Qtl ("_0*1.2-3_");  

* Change 244..248
1     Section ("Tight Quark/Binding lists");
1     Qtbl ("One");
1     Qtbl ("Two.");
1     Qtbl ("Three.Four");
1     Qtbl ("Four.Three.One.Two.Something_Else");
-----
2     Section ("Tight Quark/Binding lists");  
2     Qtbl ("One");  
2     Qtbl ("Two.");  
2     Qtbl ("Three.Four");  
2     Qtbl ("Four.Three.One.Two.Something_Else");  

* Change 253..262
1     Section ("Mixed Quark/Binding lists");
1     Qtbl ("One");
1     Qtbl ("*One");
1     Qtbl (".One");
1     Qtbl ("Two.");
1     Qtbl ("Two*");
1     Qtbl ("Three.Four");
1     Qtbl ("Three*Four");
1     Qtbl ("Four.Three.One.Two.Something_Else");
1     Qtbl ("*Four.Three*One.Two*Something_Else");
-----
2     Section ("Mixed Quark/Binding lists");  
2     Qtbl ("One");  
2     Qtbl ("*One");  
2     Qtbl (".One");  
2     Qtbl ("Two.");  
2     Qtbl ("Two*");  
2     Qtbl ("Three.Four");  
2     Qtbl ("Three*Four");  
2     Qtbl ("Four.Three.One.Two.Something_Else");  
2     Qtbl ("*Four.Three*One.Two*Something_Else");  

* Change 267..275
1     Section ("Interesting X_Rm_Quark_To/From_String cases");
1     Qts ("");
1     Qts ("");
1     Qts (".", False);
1     Qts ("*", False);
1     Qts ("A bad component..", False);
1     Validate_Names := False;
1     Qts ("...but a good quark!", False);
1     Qts ("...but a good quark!", False);
-----
2     Section ("Interesting X_Rm_Quark_To/From_String cases");  
2     Qts ("");  
2     Qts ("");  
2     Qts (".", False);  
2     Qts ("*", False);  
2     Qts ("A bad component..", False);  
2     Validate_Names := False;  
2     Qts ("...but a good quark!", False);  
2     Qts ("...but a good quark!", False);  

* Change 280..290
1     Section ("Interesting X_Rm_Quark_To_List cases");
1     Qtl ("Mixed*Separators.In.Component*Lists");
1     Qtl ("... Bogus list ...", False);
1     Qtl ("...Valid.List...");
1     Qtl ("Nul.Terminator" & Nul & " stops processing");
1     Qtl (Nul & " Leading null");
1     Qtl ("Another.Nul." & Nul);
1     Validate_Names := False;
1     Qtl ("Junk accepted in *QUARK* lists!", False);
1     Validate_Names := True;
1     Qtl ("");
-----
2     Section ("Interesting X_Rm_Quark_To_List cases");  
2     Qtl ("Mixed*Separators.In.Component*Lists");  
2     Qtl ("... Bogus list ...", False);  
2     Qtl ("...Valid.List...");  
2     Qtl ("Nul.Terminator" & Nul & " stops processing");  
2     Qtl (Nul & " Leading null");  
2     Qtl ("Another.Nul." & Nul);  
2     Validate_Names := False;  
2     Qtl ("Junk accepted in *QUARK* lists!", False);  
2     Validate_Names := True;  
2     Qtl ("");  

* Change 295..304
1     Section ("Interesting X_Rm_Quark_To_Binding_List cases");
1     Qtbl ("");
1     Qtbl (".*.*.");
1     Qtbl ("... Bogus list ...", False);
1     Qtbl ("...Valid.list...");
1     Qtbl ("*Terminating.Nul" & Nul & " stops processing");
1     Qtbl (Nul & " Leading nul");
1     Qtbl ("Another.Nul." & Nul);
1     Validate_Names := False;
1     Qtbl ("Junk accepted in *QUARK* lists!", False);
-----
2     Section ("Interesting X_Rm_Quark_To_Binding_List cases");  
2     Qtbl ("");  
2     Qtbl (".*.*.");  
2     Qtbl ("... Bogus list ...", False);  
2     Qtbl ("...Valid.list...");  
2     Qtbl ("*Terminating.Nul" & Nul & " stops processing");  
2     Qtbl (Nul & " Leading nul");  
2     Qtbl ("Another.Nul." & Nul);  
2     Validate_Names := False;  
2     Qtbl ("Junk accepted in *QUARK* lists!", False);  

* Change 307
1 end Rm_010;
-----
2 end Rm_010;  
16:13:07 ::: [end of File_Utilities.Difference].
16:13:09 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:09 !!! .RESOURCE_MANAGER.RM_010_RUN'BODY.
16:13:10 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:13:10 ... UNITS.RESOURCE_MANAGER.RM_010_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:13:10 ... REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_010_RUN'SPEC'V(1)", "",
16:13:10 ...  TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.RESOURCE_MANAGER.RM_010_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_010_RUN'SPEC
* Change 1..9
1 with Run_One_Test;
1 
1 with Rm_010;
1 
1 procedure Rm_010_Run is new Run_One_Test (The_Test           => Rm_010,
1                                           Test_Name          => "Rm_010",
1                                           Test_Description   => "Xlbp_Rm_Quark",
1                                           Ignore_Case        => False,
1                                           Ignore_Blank_Lines => False);
-----
2 procedure Rm_010_Run;  
16:13:10 ::: [end of File_Utilities.Difference].
16:13:12 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:13:12 ... UNITS.RESOURCE_MANAGER.RM_020'BODY'V(1)", "!X11.X_TESTING.
16:13:12 ... REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_020'BODY'V(1)", "", 
16:13:12 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.RESOURCE_MANAGER.RM_020'BODY
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_020'BODY
* Change 1
1 with Test_Io;
-----
2 with Test_Io;  

* Change 4..8
1 with Xlbt_Arithmetic;
1 use Xlbt_Arithmetic;
1 with Xlbt_Rm3;
1 use Xlbt_Rm3;
1 with Xlbt_String;
-----
2 with Xlbt_Arithmetic;  
2 use Xlbt_Arithmetic;  
2 with Xlbt_Rm3;  
2 use Xlbt_Rm3;  
2 with Xlbt_String;  

* Change 11
1 with Xlbp_Rm_Name;
-----
2 with Xlbp_Rm_Name;  

* Change 14
1 with Xlbit_Library3;
-----
2 with Xlbit_Library3;  

* Change 26..28
1     function Class_Id (C : X_Rm_Class) return S_Long is
1     begin
1         return C.Id;
-----
2     function Class_Id (C : X_Rm_Class) return S_Long is  
2     begin  
2         return C.Id;  

* Change 31..33
1     function Name_Id (N : X_Rm_Name) return S_Long is
1     begin
1         return N.Id;
-----
2     function Name_Id (N : X_Rm_Name) return S_Long is  
2     begin  
2         return N.Id;  

* Change 36..38
1     function Representation_Id (R : X_Rm_Representation) return S_Long is
1     begin
1         return R.Id;
-----
2     function Representation_Id (R : X_Rm_Representation) return S_Long is  
2     begin  
2         return R.Id;  

* Change 41..53
1     generic
1         What : String;
1         type Quark is private;
1         None : Quark;
1         type Quark_Array is array (S_Natural range <>) of Quark;
1         with function  To_Quark  (Name : X_String) return Quark;
1         with function  To_String (Q : Quark)       return X_String;
1         with procedure To_Ql     (List : X_String; Ql : out Quark_Array);
1         with procedure To_Bql    (List :     X_String;
1                                   Bl   : out X_Rm_Binding_Array;
1                                   Ql   : out Quark_Array);
1         with function  Unique                      return Quark;
1         with function  To_Id     (Q : Quark)       return S_Long;
-----
2     generic  
2         What : String;  
2         type Quark is private;  
2         None : Quark;  
2         type Quark_Array is array (S_Natural range <>) of Quark;  
2         with function  To_Quark  (Name     : X_String;  
2                                   Validate : Boolean) return Quark;  
2         with function  To_String (Q : Quark)          return X_String;  
2         with procedure To_Ql     (List : X_String; Ql : out Quark_Array);  
2         with procedure To_Bql    (List :     X_String;  
2                                   Bl   : out X_Rm_Binding_Array;  
2                                   Ql   : out Quark_Array);  
2         with function  Unique                         return Quark;  
2         with function  To_Id     (Q : Quark)          return S_Long;  

* Change 58..59
1         Quark1     : Quark;
1         Quark_List : Quark_Array (1 .. 10);
-----
2         Quark1     : Quark;  
2         Quark_List : Quark_Array (1 .. 10);  

* Change 71..78
1             Quark1 := To_Quark (Name);
1             Put ("Named " & What & " ");
1             Putx ('"' & Name & '"');
1             Put (' ');
1             Set_Col (31);
1             Put (To_Id (Quark1));
1             Put (" => ");
1             Putx ('"' & To_String (Quark1) & '"');
-----
2             Quark1 := To_Quark (Name, False);  
2             Put ("Named " & What & " ");  
2             Putx ('"' & Name & '"');  
2             Put (' ');  
2             Set_Col (31);  
2             Put (To_Id (Quark1));  
2             Put (" => ");  
2             Putx ('"' & To_String (Quark1) & '"');  

* Change 92..107
1             Put (What & "-List := ");
1             Putx ('"' & List & '"');
1             New_Line;
1             To_Ql (List, Quark_List);
1             Put ("Result =>");
1             New_Line;
1             for I in Quark_List'Range loop
1                 if Quark_List (I) = None then
1                     exit;
1                 end if;
1                 Put ("    ");
1                 Put (I);
1                 Put (' ');
1                 Putx ('"' & To_String (Quark_List (I)) & '"');
1                 New_Line;
1             end loop;
-----
2             Put (What & "-List := ");  
2             Putx ('"' & List & '"');  
2             New_Line;  
2             To_Ql (List, Quark_List);  
2             Put ("Result =>");  
2             New_Line;  
2             for I in Quark_List'Range loop  
2                 if Quark_List (I) = None then  
2                     exit;  
2                 end if;  
2                 Put ("    ");  
2                 Put (I);  
2                 Put (' ');  
2                 Putx ('"' & To_String (Quark_List (I)) & '"');  
2                 New_Line;  
2             end loop;  

* Change 121..138
1             Put (What & "-List := ");
1             Putx ('"' & List & '"');
1             New_Line;
1             To_Bql (List, Bind_List, Quark_List);
1             Put ("Result =>");
1             New_Line;
1             for I in Quark_List'Range loop
1                 if Quark_List (I) = None then
1                     exit;
1                 end if;
1                 Put ("    ");
1                 Put (I);
1                 Put (' ');
1                 Put (X_Rm_Binding'Image (Bind_List (I)));
1                 Put (' ');
1                 Putx ('"' & To_String (Quark_List (I)) & '"');
1                 New_Line;
1             end loop;
-----
2             Put (What & "-List := ");  
2             Putx ('"' & List & '"');  
2             New_Line;  
2             To_Bql (List, Bind_List, Quark_List);  
2             Put ("Result =>");  
2             New_Line;  
2             for I in Quark_List'Range loop  
2                 if Quark_List (I) = None then  
2                     exit;  
2                 end if;  
2                 Put ("    ");  
2                 Put (I);  
2                 Put (' ');  
2                 Put (X_Rm_Binding'Image (Bind_List (I)));  
2                 Put (' ');  
2                 Putx ('"' & To_String (Quark_List (I)) & '"');  
2                 New_Line;  
2             end loop;  

* Change 148..155
1         Section ("Unique_" & What);
1         for I in 1 .. 5 loop
1             Quark1 := Unique;
1             Put ("Unique " & What & " ");
1             Put (To_Id (Quark1));
1             Put (" => ");
1             Putx ('"' & To_String (Quark1) & '"');
1             New_Line;
-----
2         Section ("Unique_" & What);  
2         for I in 1 .. 5 loop  
2             Quark1 := Unique;  
2             Put ("Unique " & What & " ");  
2             Put (To_Id (Quark1));  
2             Put (" => ");  
2             Putx ('"' & To_String (Quark1) & '"');  
2             New_Line;  

* Change 160..166
1         Section ("To/From_String");
1         Qts ("QOne");
1         Qts ("RTwo");
1         Qts ("SThree");
1         Qts ("TFour");
1         Qts ("UAnd-A-Long-String");
1         Qts ("VSomething_Else");
-----
2         Section ("To/From_String");  
2         Qts ("QOne");  
2         Qts ("RTwo");  
2         Qts ("SThree");  
2         Qts ("TFour");  
2         Qts ("UAnd-A-Long-String");  
2         Qts ("VSomething_Else");  

* Change 171..177
1         Section ("To/From_Old_String");
1         Qts ("QOne");
1         Qts ("RTwo");
1         Qts ("SThree");
1         Qts ("TFour");
1         Qts ("UAnd-A-Long-String");
1         Qts ("VSomething_Else");
-----
2         Section ("To/From_Old_String");  
2         Qts ("QOne");  
2         Qts ("RTwo");  
2         Qts ("SThree");  
2         Qts ("TFour");  
2         Qts ("UAnd-A-Long-String");  
2         Qts ("VSomething_Else");  

* Change 182..186
1         Section ("Simple " & What & " lists");
1         Qtl ("QOne");
1         Qtl ("RTwo.");
1         Qtl ("SThree.TFour");
1         Qtl ("TFour.SThree.QOne.RTwo.VSomething_Else");
-----
2         Section ("Simple " & What & " lists");  
2         Qtl ("QOne");  
2         Qtl ("RTwo.");  
2         Qtl ("SThree.TFour");  
2         Qtl ("TFour.SThree.QOne.RTwo.VSomething_Else");  

* Change 191..195
1         Section ("Tight " & What & "/Binding lists");
1         Qtbl ("QOne");
1         Qtbl ("RTwo.");
1         Qtbl ("SThree.TFour");
1         Qtbl ("TFour.SThree.QOne.RTwo.VSomething_Else");
-----
2         Section ("Tight " & What & "/Binding lists");  
2         Qtbl ("QOne");  
2         Qtbl ("RTwo.");  
2         Qtbl ("SThree.TFour");  
2         Qtbl ("TFour.SThree.QOne.RTwo.VSomething_Else");  

* Change 200..209
1         Section ("Mixed " & What & "/Binding lists");
1         Qtbl ("QOne");
1         Qtbl ("*QOne");
1         Qtbl (".QOne");
1         Qtbl ("RTwo.");
1         Qtbl ("RTwo*");
1         Qtbl ("SThree.TFour");
1         Qtbl ("SThree*TFour");
1         Qtbl ("TFour.SThree.QOne.RTwo.VSomething_Else");
1         Qtbl ("*TFour.SThree*QOne.RTwo*VSomething_Else");
-----
2         Section ("Mixed " & What & "/Binding lists");  
2         Qtbl ("QOne");  
2         Qtbl ("*QOne");  
2         Qtbl (".QOne");  
2         Qtbl ("RTwo.");  
2         Qtbl ("RTwo*");  
2         Qtbl ("SThree.TFour");  
2         Qtbl ("SThree*TFour");  
2         Qtbl ("TFour.SThree.QOne.RTwo.VSomething_Else");  
2         Qtbl ("*TFour.SThree*QOne.RTwo*VSomething_Else");  

* Change 214..224
1     procedure Class_Test is
1        new Test_One_Type (What        => "Class",
1                           Quark       => X_Rm_Class,
1                           None        => None_X_Rm_Class,
1                           Quark_Array => X_Rm_Class_Array,
1                           To_Quark    => X_Rm_String_To_Class,
1                           To_String   => X_Rm_Class_To_String,
1                           To_Ql       => X_Rm_String_To_Class_List,
1                           To_Bql      => X_Rm_String_To_Binding_Class_List,
1                           Unique      => X_Rm_Unique_Class,  
1                           To_Id       => Class_Id);
-----
2     procedure Class_Test is  
2        new Test_One_Type  
2               (What        => "Class",  
2                Quark       => X_Rm_Class,  
2                None        => None_X_Rm_Class,  
2                Quark_Array => X_Rm_Class_Array,  
2                To_Quark    => X_Rm_String_To_Class,  
2                To_String   => X_Rm_Class_To_String,  
2                To_Ql       => X_Rm_String_To_Class_List,  
2                To_Bql      => X_Rm_String_To_Binding_Class_List,  
2                Unique      => X_Rm_Unique_Class,  
2                To_Id       => Class_Id);

* Change 226..236
1     procedure Name_Test is
1        new Test_One_Type (What        => "Name",
1                           Quark       => X_Rm_Name,
1                           None        => None_X_Rm_Name,
1                           Quark_Array => X_Rm_Name_Array,
1                           To_Quark    => X_Rm_String_To_Name,
1                           To_String   => X_Rm_Name_To_String,
1                           To_Ql       => X_Rm_String_To_Name_List,
1                           To_Bql      => X_Rm_String_To_Binding_Name_List,
1                           Unique      => X_Rm_Unique_Name,  
1                           To_Id       => Name_Id);
-----
2     procedure Name_Test is  
2        new Test_One_Type  
2               (What        => "Name",  
2                Quark       => X_Rm_Name,  
2                None        => None_X_Rm_Name,  
2                Quark_Array => X_Rm_Name_Array,  
2                To_Quark    => X_Rm_String_To_Name,  
2                To_String   => X_Rm_Name_To_String,  
2                To_Ql       => X_Rm_String_To_Name_List,  
2                To_Bql      => X_Rm_String_To_Binding_Name_List,  
2                Unique      => X_Rm_Unique_Name,  
2                To_Id       => Name_Id);

* Change 238..248
1     procedure Representation_Test is
1        new Test_One_Type (What => "Representation",
1                           Quark => X_Rm_Representation,
1                           None => None_X_Rm_Representation,
1                           Quark_Array => X_Rm_Representation_Array,
1                           To_Quark => X_Rm_String_To_Representation,
1                           To_String => X_Rm_Representation_To_String,
1                           To_Ql => X_Rm_String_To_Representation_List,
1                           To_Bql => X_Rm_String_To_Binding_Representation_List,
1                           Unique => X_Rm_Unique_Representation,  
1                           To_Id => Representation_Id);
-----
2     procedure Representation_Test is  
2        new Test_One_Type  
2               (What        => "Representation",  
2                Quark       => X_Rm_Representation,  
2                None        => None_X_Rm_Representation,  
2                Quark_Array => X_Rm_Representation_Array,  
2                To_Quark    => X_Rm_String_To_Representation,  
2                To_String   => X_Rm_Representation_To_String,  
2                To_Ql       => X_Rm_String_To_Representation_List,  
2                To_Bql      => X_Rm_String_To_Binding_Representation_List,  
2                Unique      => X_Rm_Unique_Representation,  
2                To_Id       => Representation_Id);

* Change 257..262
1     declare
1         Quark_Map : X_Rm_Quark_Map.Map;
1     begin
1         X_Lib.Seize_Quark_Map (Quark_Map);
1         X_Rm_Quark_Map.New_Map (Quark_Map);
1         X_Lib.Release_Quark_Map (Quark_Map);
-----
2     declare  
2         Quark_Map : X_Rm_Quark_Map.Map;  
2     begin  
2         X_Lib.Seize_Quark_Map (Quark_Map);  
2         X_Rm_Quark_Map.New_Map (Quark_Map);  
2         X_Lib.Release_Quark_Map (Quark_Map);  

* Change 272..273
1     Class_Test;
1     Name_Test;
-----
2     Class_Test;  
2     Name_Test;  

* Change 276
1 end Rm_020;
-----
2 end Rm_020;  
16:13:14 ::: [end of File_Utilities.Difference].
16:13:15 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:15 !!! .RESOURCE_MANAGER.RM_020_RUN'BODY.
16:13:16 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:13:16 ... UNITS.RESOURCE_MANAGER.RM_020_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:13:16 ... REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_020_RUN'SPEC'V(1)", "",
16:13:16 ...  TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.RESOURCE_MANAGER.RM_020_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_020_RUN'SPEC
* Change 1..9
1 with Run_One_Test;
1 
1 with Rm_020;
1 
1 procedure Rm_020_Run is new Run_One_Test (The_Test           => Rm_020,
1                                           Test_Name          => "Rm_020",
1                                           Test_Description   => "Xlbp_Rm_Name",
1                                           Ignore_Case        => False,
1                                           Ignore_Blank_Lines => False);
-----
2 procedure Rm_020_Run;  
16:13:17 ::: [end of File_Utilities.Difference].
16:13:17 !!! Only in !X11.X_TESTING.REV5_6_2_WORKING.UNITS.
16:13:17 !!! .RESOURCE_MANAGER.RM_030'BODY.
16:13:17 !!! Only in !X11.X_TESTING.REV5_6_2_WORKING.UNITS.
16:13:17 !!! .RESOURCE_MANAGER.RM_030'SPEC.
16:13:17 !!! Only in !X11.X_TESTING.REV5_6_2_WORKING.UNITS.
16:13:17 !!! .RESOURCE_MANAGER.RM_030_RUN'SPEC.
16:13:18 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:13:18 ... UNITS.RESOURCE_MANAGER.RM_040'BODY'V(1)", "!X11.X_TESTING.
16:13:18 ... REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_040'BODY'V(1)", "", 
16:13:18 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.RESOURCE_MANAGER.RM_040'BODY
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_040'BODY
* Change 1..5
1 with Xlbt_String7;
1 use Xlbt_String7;
1 with Xlbt_String;
1 use Xlbt_String;
1 with Xlbt_String16;
-----
2 with Xlbt_String7;  
2 use Xlbt_String7;  
2 with Xlbt_String;  
2 use Xlbt_String;  
2 with Xlbt_String16;  

* Change 8
1 with Test_Io;
-----
2 with Test_Io;  

* Change 11..13
1 with Xlbt_Arithmetic;
1 use Xlbt_Arithmetic;
1 with Xlbt_Rm;
-----
2 with Xlbt_Arithmetic;  
2 use Xlbt_Arithmetic;  
2 with Xlbt_Rm;  

* Change 16..18
1 with Xlbp_Rm;
1 use Xlbp_Rm;
1 with Xlbp_Rm_Name;
-----
2 with Xlbp_Rm;  
2 use Xlbp_Rm;  
2 with Xlbp_Rm_Name;  

* Change 32..35
1     Entry1  : X_Rm_Entry := new X_Rm_Entry_Rec;
1     Entry2  : X_Rm_Entry := new X_Rm_Entry_Rec;
1     Replist : X_Rm_Representation_List;
1     Value1  : X_Rm_Value;
-----
2     Replist : X_Rm_Representation_List;  
2     Value1  : X_Rm_Value;  

* Change 38..49
1     Rep_Boolean           : X_Rm_Representation :=
1        X_Rm_String_To_Representation ("Boolean");
1     Rep_S_Long            : X_Rm_Representation :=
1        X_Rm_String_To_Representation ("S_Long");
1     Rep_U_Long            : X_Rm_Representation :=
1        X_Rm_String_To_Representation ("U_Long");
1     Rep_String_Pointer    : X_Rm_Representation :=
1        X_Rm_String_To_Representation ("String");
1     Rep_String8_Pointer   : X_Rm_Representation :=
1        X_Rm_String_To_Representation ("String8");
1     Rep_String16_Pointer  : X_Rm_Representation :=
1        X_Rm_String_To_Representation ("String16");
-----
2     Rep_Boolean           : X_Rm_Representation :=  
2        X_Rm_String_To_Representation ("Boolean");  
2     Rep_S_Long            : X_Rm_Representation :=  
2        X_Rm_String_To_Representation ("S_Long");  
2     Rep_U_Long            : X_Rm_Representation :=  
2        X_Rm_String_To_Representation ("U_Long");  
2     Rep_String_Pointer    : X_Rm_Representation :=  
2        X_Rm_String_To_Representation ("String");  
2     Rep_String8_Pointer   : X_Rm_Representation :=  
2        X_Rm_String_To_Representation ("String8");  
2     Rep_String16_Pointer  : X_Rm_Representation :=  
2        X_Rm_String_To_Representation ("String16");  

* Change 51..52
1        X_Rm_String_To_Representation ("U_Char_Array");
1     Rep_Universal_Pointer : X_Rm_Representation :=
-----
2        X_Rm_String_To_Representation ("U_Char_Array");  
2     Rep_Universal_Pointer : X_Rm_Representation :=  

* Delete 64..83
1 
1 ----New/Uninitialized entries have None reps.
1 
1     if X_Rm_Entry_Representation (Entry1) /= None_X_Rm_Representation then
1         raise Failed;
1     end if;
1     Replist := X_Rm_Entry_All_Representations (Entry1);
1     if Replist'Length /= 1 then
1         raise Failed;
1     elsif Replist (Replist'First) /= None_X_Rm_Representation then
1         raise Failed;
1     end if;
1     Free_X_Rm_Representation_List (Replist);
1 
1 ----New/Uninitialized entries have None values.
1 
1     Value1 := X_Rm_Entry_Value (Entry1);
1     if Value1.Kind /= Is_None then
1         raise Failed;
1     end if;

* Change 85
1 ----Try assigning one of every type of value to an entry and see if we get
-----
2 ----Try assigning one of every type of value to a value and see if we get

* Change 90..99
1     Value1 := (Kind => Is_Boolean, V_Boolean => True);
1     Value2 := (Kind => Is_Boolean, V_Boolean => False);
1     X_Rm_Entry_Assign (Entry1, Rep_Boolean, Value1);
1     X_Rm_Entry_Assign (Entry2, Rep_Boolean, Value2);
1     Value1 := X_Rm_Entry_Value (Entry2);
1     Value2 := X_Rm_Entry_Value (Entry1, Rep_Boolean);
1     if Value1.V_Boolean /= False then
1         raise Failed;
1     elsif Value2.V_Boolean /= True then
1         raise Failed;
-----
2     Value1 := (Kind => Is_Boolean, V_Boolean => True);  
2     Value2 := (Kind => Is_Boolean, V_Boolean => False);  
2     if Value2.V_Boolean /= False then  
2         raise Failed;  
2     elsif Value1.V_Boolean /= True then  
2         raise Failed;  

* Change 104..115
1     Value1 := (Kind => Is_S_Long, V_S_Long => 1);
1     Value2 := (Kind => Is_S_Long, V_S_Long => -20);
1     X_Rm_Entry_Assign (Entry1, Rep_S_Long, Value1);
1     X_Rm_Entry_Assign (Entry2, Rep_S_Long, Value2);
1     Value1 := X_Rm_Entry_Value (Entry2);
1     Value2 := X_Rm_Entry_Value (Entry1, Rep_S_Long);
1     if Value1.V_S_Long /= -20 then
1         raise Failed;
1     elsif Value2.V_S_Long /= 1 then
1         raise Failed;
1     elsif X_Rm_Entry_Value (Entry1, Rep_Boolean) /= None_X_Rm_Value then
1         raise Failed;
-----
2     Value1 := (Kind => Is_S_Long, V_S_Long => 1);  
2     Value2 := (Kind => Is_S_Long, V_S_Long => -20);  
2     if Value2.V_S_Long /= -20 then  
2         raise Failed;  
2     elsif Value1.V_S_Long /= 1 then  
2         raise Failed;  

* Change 120..131
1     Value1 := (Kind => Is_S_Long, V_S_Long => 1);
1     Value2 := (Kind => Is_S_Long, V_S_Long => 20);
1     X_Rm_Entry_Assign (Entry1, Rep_S_Long, Value1);
1     X_Rm_Entry_Assign (Entry2, Rep_S_Long, Value2);
1     Value1 := X_Rm_Entry_Value (Entry2);
1     Value2 := X_Rm_Entry_Value (Entry1, Rep_S_Long);
1     if Value1.V_S_Long /= 20 then
1         raise Failed;
1     elsif Value2.V_S_Long /= 1 then
1         raise Failed;
1     elsif X_Rm_Entry_Value (Entry1, Rep_Boolean) /= None_X_Rm_Value then
1         raise Failed;
-----
2     Value1 := (Kind => Is_S_Long, V_S_Long => 1);  
2     Value2 := (Kind => Is_S_Long, V_S_Long => 20);  
2     if Value2.V_S_Long /= 20 then  
2         raise Failed;  
2     elsif Value1.V_S_Long /= 1 then  
2         raise Failed;  

* Change 136..152
1     declare
1         Str1 : X_String7_Pointer := new String'("Abcd");
1         Str2 : X_String7_Pointer := new String'("Quadro");
1     begin
1         Value1 := (Kind => Is_X_String7_Pointer, V_X_String7_Pointer => Str1);
1         Value2 := (Kind => Is_X_String7_Pointer, V_X_String7_Pointer => Str2);
1         X_Rm_Entry_Assign (Entry1, Rep_String_Pointer, Value1);
1         X_Rm_Entry_Assign (Entry2, Rep_String_Pointer, Value2);
1         Value1 := X_Rm_Entry_Value (Entry2);
1         Value2 := X_Rm_Entry_Value (Entry1, Rep_String_Pointer);
1         if Value1.V_X_String7_Pointer /= Str2 then
1             raise Failed;
1         elsif Value2.V_X_String7_Pointer /= Str1 then
1             raise Failed;
1         elsif X_Rm_Entry_Value (Entry1, Rep_Boolean) /= None_X_Rm_Value then
1             raise Failed;
1         end if;
-----
2     declare  
2         Str1 : X_String7_Pointer := new String'("Abcd");  
2         Str2 : X_String7_Pointer := new String'("Quadro");  
2     begin  
2         Value1 := (Kind => Is_X_String7_Pointer, V_X_String7_Pointer => Str1);  
2         Value2 := (Kind => Is_X_String7_Pointer, V_X_String7_Pointer => Str2);  
2         if Value2.V_X_String7_Pointer /= Str2 then  
2             raise Failed;  
2         elsif Value1.V_X_String7_Pointer /= Str1 then  
2             raise Failed;  
2         end if;  

* Change 157..173
1     declare
1         Str1 : X_String_Pointer := new X_String (1 .. 10);
1         Str2 : X_String_Pointer := new X_String (20 .. 35);
1     begin
1         Value1 := (Kind => Is_X_String_Pointer, V_X_String_Pointer => Str1);
1         Value2 := (Kind => Is_X_String_Pointer, V_X_String_Pointer => Str2);
1         X_Rm_Entry_Assign (Entry1, Rep_String8_Pointer, Value1);
1         X_Rm_Entry_Assign (Entry2, Rep_String8_Pointer, Value2);
1         Value1 := X_Rm_Entry_Value (Entry2);
1         Value2 := X_Rm_Entry_Value (Entry1, Rep_String8_Pointer);
1         if Value1.V_X_String_Pointer /= Str2 then
1             raise Failed;
1         elsif Value2.V_X_String_Pointer /= Str1 then
1             raise Failed;
1         elsif X_Rm_Entry_Value (Entry1, Rep_Boolean) /= None_X_Rm_Value then
1             raise Failed;
1         end if;
-----
2     declare  
2         Str1 : X_String_Pointer := new X_String (1 .. 10);  
2         Str2 : X_String_Pointer := new X_String (20 .. 35);  
2     begin  
2         Value1 := (Kind => Is_X_String_Pointer, V_X_String_Pointer => Str1);  
2         Value2 := (Kind => Is_X_String_Pointer, V_X_String_Pointer => Str2);  
2         if Value2.V_X_String_Pointer /= Str2 then  
2             raise Failed;  
2         elsif Value1.V_X_String_Pointer /= Str1 then  
2             raise Failed;  
2         end if;  

* Change 178..194
1     declare
1         Str1 : X_String16_Pointer := new X_String16 (1 .. 10);
1         Str2 : X_String16_Pointer := new X_String16 (20 .. 35);
1     begin
1         Value1 := (Kind => Is_X_String16_Pointer, V_X_String16_Pointer => Str1);
1         Value2 := (Kind => Is_X_String16_Pointer, V_X_String16_Pointer => Str2);
1         X_Rm_Entry_Assign (Entry1, Rep_String16_Pointer, Value1);
1         X_Rm_Entry_Assign (Entry2, Rep_String16_Pointer, Value2);
1         Value1 := X_Rm_Entry_Value (Entry2);
1         Value2 := X_Rm_Entry_Value (Entry1, Rep_String16_Pointer);
1         if Value1.V_X_String16_Pointer /= Str2 then
1             raise Failed;
1         elsif Value2.V_X_String16_Pointer /= Str1 then
1             raise Failed;
1         elsif X_Rm_Entry_Value (Entry1, Rep_Boolean) /= None_X_Rm_Value then
1             raise Failed;
1         end if;
-----
2     declare  
2         Str1 : X_String16_Pointer := new X_String16 (1 .. 10);  
2         Str2 : X_String16_Pointer := new X_String16 (20 .. 35);  
2     begin  
2         Value1 := (Kind => Is_X_String16_Pointer, V_X_String16_Pointer => Str1);  
2         Value2 := (Kind => Is_X_String16_Pointer, V_X_String16_Pointer => Str2);  
2         if Value2.V_X_String16_Pointer /= Str2 then  
2             raise Failed;  
2         elsif Value1.V_X_String16_Pointer /= Str1 then  
2             raise Failed;  
2         end if;  

* Change 199..215
1     declare
1         Str1 : U_Char_List := new U_Char_Array (1 .. 10);
1         Str2 : U_Char_List := new U_Char_Array (20 .. 35);
1     begin
1         Value1 := (Kind => Is_U_Char_List, V_U_Char_List => Str1);
1         Value2 := (Kind => Is_U_Char_List, V_U_Char_List => Str2);
1         X_Rm_Entry_Assign (Entry1, Rep_U_Char_List, Value1);
1         X_Rm_Entry_Assign (Entry2, Rep_U_Char_List, Value2);
1         Value1 := X_Rm_Entry_Value (Entry2);
1         Value2 := X_Rm_Entry_Value (Entry1, Rep_U_Char_List);
1         if Value1.V_U_Char_List /= Str2 then
1             raise Failed;
1         elsif Value2.V_U_Char_List /= Str1 then
1             raise Failed;
1         elsif X_Rm_Entry_Value (Entry1, Rep_Boolean) /= None_X_Rm_Value then
1             raise Failed;
1         end if;
-----
2     declare  
2         Str1 : U_Char_List := new U_Char_Array (1 .. 10);  
2         Str2 : U_Char_List := new U_Char_Array (20 .. 35);  
2     begin  
2         Value1 := (Kind => Is_U_Char_List, V_U_Char_List => Str1);  
2         Value2 := (Kind => Is_U_Char_List, V_U_Char_List => Str2);  
2         if Value2.V_U_Char_List /= Str2 then  
2             raise Failed;  
2         elsif Value1.V_U_Char_List /= Str1 then  
2             raise Failed;  
2         end if;  

* Delete 219..255
1 
1     Value1 := (Kind                  => Is_X_Universal_Pointer,
1                V_X_Universal_Pointer => None_X_Rm_Universal_Pointer);
1     X_Rm_Entry_Assign (Entry1, Rep_Universal_Pointer, Value1);
1     Value2 := X_Rm_Entry_Value (Entry1);
1     if Value2.V_X_Universal_Pointer /= None_X_Rm_Universal_Pointer then
1         raise Failed;
1     elsif X_Rm_Entry_Value (Entry1, Rep_Boolean) /= None_X_Rm_Value then
1         raise Failed;
1     end if;
1 
1 ----Add some "conversions" the existing value and make sure they get there.
1 
1     Value1 := (Kind      => Is_Boolean,  
1                V_Boolean => True);
1     X_Rm_Entry_Add_Converted_Value (Entry1, Rep_Boolean, Value1);
1 
1     Value1 := (Kind     => Is_S_Long,  
1                V_S_Long => -27);
1     X_Rm_Entry_Add_Converted_Value (Entry1, Rep_S_Long, Value1);
1 
1     Value1 := (Kind               => Is_X_String_Pointer,
1                V_X_String_Pointer => new X_String'("77"));
1     X_Rm_Entry_Add_Converted_Value (Entry1, Rep_String_Pointer, Value1);
1 
1 ----Print out the representations.
1 
1     Put ("Main => ");
1     Putx (X_Rm_Representation_To_String (X_Rm_Entry_Representation (Entry1)));
1     New_Line;
1     Replist := X_Rm_Entry_All_Representations (Entry1);
1     for I in Replist'Range loop
1         Put ("Rep => ");
1         Putx (X_Rm_Representation_To_String (Replist (I)));
1         New_Line;
1     end loop;  
1     Free_X_Rm_Representation_List (Replist);

* Change 257..266
1     if X_Rm_Entry_Value (Entry1, Rep_Universal_Pointer).V_X_Universal_Pointer /=
1        None_X_Rm_Universal_Pointer then
1         raise Failed;
1     elsif X_Rm_Entry_Value (Entry1, Rep_Boolean).V_Boolean /= True then
1         raise Failed;
1     elsif X_Rm_Entry_Value (Entry1, Rep_S_Long).V_S_Long /= -27 then
1         raise Failed;
1     elsif X_Rm_Entry_Value (Entry1, Rep_String_Pointer).
1           V_X_String_Pointer.all /= "77" then
1         raise Failed;
-----
2     Value1 := (Kind                  => Is_X_Universal_Pointer,  
2                V_X_Universal_Pointer => None_X_Rm_Universal_Pointer);  
2     if Value1.V_X_Universal_Pointer /= None_X_Rm_Universal_Pointer then  
2         raise Failed;  

* Change 269
1 end Rm_040;
-----
2 end Rm_040;  
16:13:20 ::: [end of File_Utilities.Difference].
16:13:21 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:21 !!! .RESOURCE_MANAGER.RM_040_RUN'BODY.
16:13:22 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:13:22 ... UNITS.RESOURCE_MANAGER.RM_040_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:13:22 ... REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_040_RUN'SPEC'V(1)", "",
16:13:22 ...  TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.RESOURCE_MANAGER.RM_040_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_040_RUN'SPEC
* Change 1..11
1 with Run_One_Test;
1 
1 with Rm_040;
1 
1 procedure Rm_040_Run is
1    new Run_One_Test (The_Test           => Rm_040,
1                      Test_Name          => "Rm_040",
1                      Test_Description   =>
1                         "Xlbp_Rm Entry assignments and conversions",
1                      Ignore_Case        => False,
1                      Ignore_Blank_Lines => False);
-----
2 procedure Rm_040_Run;  
16:13:22 ::: [end of File_Utilities.Difference].
16:13:24 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:13:24 ... UNITS.RESOURCE_MANAGER.RM_050'BODY'V(1)", "!X11.X_TESTING.
16:13:24 ... REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_050'BODY'V(1)", "", 
16:13:24 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.RESOURCE_MANAGER.RM_050'BODY
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_050'BODY
* Change 1..2
1 with Test_Io;
1 with Trap_Error_Reports;
-----
2 with Test_Io;  
2 with Trap_Error_Reports;  

* Change 5..13
1 with Xlbt_Arithmetic;
1 use Xlbt_Arithmetic;
1 with Xlbt_Display3;
1 use Xlbt_Display3;
1 with Xlbt_Proc_Var;
1 use Xlbt_Proc_Var;
1 with Xlbt_Rm3;
1 use Xlbt_Rm3;
1 with Xlbt_String;
-----
2 with Xlbt_Arithmetic;  
2 use Xlbt_Arithmetic;  
2 with Xlbt_Display3;  
2 use Xlbt_Display3;  
2 with Xlbt_Proc_Var;  
2 use Xlbt_Proc_Var;  
2 with Xlbt_Rm3;  
2 use Xlbt_Rm3;  
2 with Xlbt_String;  

* Change 16..20
1 with Xlbp_Rm;
1 use Xlbp_Rm;
1 with Xlbp_Rm_Name;
1 use Xlbp_Rm_Name;
1 with Xlbp_Rm_Quark;
-----
2 with Xlbp_Rm;  
2 use Xlbp_Rm;  
2 with Xlbp_Rm_Name;  
2 use Xlbp_Rm_Name;  
2 with Xlbp_Rm_Quark;  

* Change 40..48
1     Rep_String       : constant X_Rm_Representation :=
1        X_Rm_String_To_Representation ("Rep_String");
1     Rep_S_Long       : constant X_Rm_Representation :=
1        X_Rm_String_To_Representation ("Rep_S_Long");
1     Rep_Boolean      : constant X_Rm_Representation :=
1        X_Rm_String_To_Representation ("Rep_Boolean");
1     Rep_U_Char_Array : constant X_Rm_Representation :=
1        X_Rm_String_To_Representation ("Rep_U_Char_Array");
1     Rep_Universal    : constant X_Rm_Representation :=
-----
2     Rep_String       : constant X_Rm_Representation :=  
2        X_Rm_String_To_Representation ("Rep_String");  
2     Rep_S_Long       : constant X_Rm_Representation :=  
2        X_Rm_String_To_Representation ("Rep_S_Long");  
2     Rep_Boolean      : constant X_Rm_Representation :=  
2        X_Rm_String_To_Representation ("Rep_Boolean");  
2     Rep_U_Char_Array : constant X_Rm_Representation :=  
2        X_Rm_String_To_Representation ("Rep_U_Char_Array");  
2     Rep_Universal    : constant X_Rm_Representation :=  

* Change 51..53
1     Name_One   : constant X_Rm_Name := X_Rm_String_To_Name ("one");
1     Name_Two   : constant X_Rm_Name := X_Rm_String_To_Name ("two");
1     Name_Three : constant X_Rm_Name := X_Rm_String_To_Name ("three");
-----
2     Name_One   : constant X_Rm_Name := X_Rm_String_To_Name ("one");  
2     Name_Two   : constant X_Rm_Name := X_Rm_String_To_Name ("two");  
2     Name_Three : constant X_Rm_Name := X_Rm_String_To_Name ("three");  

* Change 56
1     Class_One : constant X_Rm_Class := X_Rm_String_To_Class ("One");
-----
2     Class_One : constant X_Rm_Class := X_Rm_String_To_Class ("One");  

* Change 65..75
1     procedure Check (Condition   : Boolean;
1                      Failure_Msg : String;
1                      Success_Msg : String := "") is
1     begin
1         if not Condition then
1             if not Trap_Error_Reports.Expect_Error_Report then
1                 Test_Io.Put_Error (Failure_Msg);
1             end if;
1         elsif Success_Msg /= "" then
1             Test_Io.Put_Line (Success_Msg);
1         end if;
-----
2     procedure Check (Condition   : Boolean;  
2                      Failure_Msg : String;  
2                      Success_Msg : String := "") is  
2     begin  
2         if not Condition then  
2             if not Trap_Error_Reports.Expect_Error_Report then  
2                 Test_Io.Put_Error (Failure_Msg);  
2             end if;  
2         elsif Success_Msg /= "" then  
2             Test_Io.Put_Line (Success_Msg);  
2         end if;  

* Change 80..82
1     procedure Check (Error : X_Rm_Status) is
1     begin
1         Check (Error = Rm_Successful, "RM error");
-----
2     procedure Check (Error : X_Rm_Status) is  
2     begin  
2         Check (Error = Rm_Successful, "RM error");  

* Change 87..95
1     procedure Try (Db        : in out X_Rm_Database;
1                    Line      :        X_String;
1                    Probe     :        X_String;
1                    Expect    :        X_String := "";
1                    Erroneous :        Boolean  := False) is
1         Error     : X_Rm_Status;
1         The_Entry : X_Rm_Entry;  
1     begin
1         Trap_Error_Reports.Expect_Error_Report := Erroneous;
-----
2     procedure Try (Db        : in out X_Rm_Database;  
2                    Line      :        X_String;  
2                    Probe     :        X_String;  
2                    Expect    :        X_String := "";  
2                    Erroneous :        Boolean  := False) is  
2         Error : X_Rm_Status;  
2         Rep   : X_Rm_Representation;  
2         Val   : X_Rm_Value;  
2     begin  
2         Trap_Error_Reports.Expect_Error_Report := Erroneous;  

* Change 99..100
1         Test_Io.Put_Line ("Resource """ & To_String (Line) & '"');
1         X_Rm_Add_Resource (Db, Line, Error);
-----
2         Test_Io.Put_Line ("Resource """ & To_String (Line) & '"');  
2         X_Rm_Add_Resource (Db, Line, Error);  

* Change 104..106
1         Test_Io.Putx ("    """ & Probe & """ => ");
1         X_Rm_Get_Resource (Db, Probe, Probe, The_Entry);
1         Test_Io.Put_Line (Rm_Test_Utilities.Image (The_Entry));
-----
2         Test_Io.Putx ("    """ & Probe & """ => ");  
2         X_Rm_Get_Resource (Db, Probe, Probe, Rep, Val);  
2         Test_Io.Put_Line (Rm_Test_Utilities.Image (Val));

* Change 109..119
1         if (Expect = "") then
1             Check (The_Entry = None_X_Rm_Entry, "Expected: no entry");
1         else
1             Check (The_Entry /= None_X_Rm_Entry and then
1                    The_Entry.Value.Kind = Is_X_String_Pointer and then
1                    The_Entry.Value.V_X_String_Pointer.all = Expect,
1                    "Expected: """ & To_String (Expect) & '"');
1         end if;
1         Check (Trap_Error_Reports.Error_Reported = Erroneous,
1                "Error reporting inconsistency: expect error = " &
1                   Boolean'Image (Erroneous));
-----
2         if (Expect = "") then  
2             Check (Val = None_X_Rm_Value, "Expected: no value");  
2         else  
2             Check (Val /= None_X_Rm_Value and then  
2                    Val.Kind = Is_X_String_Pointer and then  
2                    Val.V_X_String_Pointer.all = Expect,  
2                    "Expected: """ & To_String (Expect) & '"');  
2         end if;  
2         Check (Trap_Error_Reports.Error_Reported = Erroneous,  
2                "Error reporting inconsistency: expect error = " &  
2                   Boolean'Image (Erroneous));  

* Change 128..130
1     procedure Create_Delete_Tests is
1         Db : X_Rm_Database;
1     begin
-----
2     procedure Create_Delete_Tests is  
2         Db : X_Rm_Database;  
2     begin  

* Change 134..136
1         Db := X_New_Rm_Database;
1         Free_X_Rm_Database (Db);
1         Check (Db = None_X_Rm_Database,
-----
2         Db := X_New_Rm_Database;  
2         Free_X_Rm_Database (Db);  
2         Check (Db = None_X_Rm_Database,  

* Change 140..149
1         Db := X_New_Rm_Database;
1         X_Rm_Put_String_Resource
1            (Db, (0 => 'a', 1 => 'b', 2 => 'c'), "abc value");
1         X_Rm_Put_String_Resource
1            (Db, (2 => 'd', 3 => 'e', 4 => 'f'), "def value");
1         X_Rm_Put_String_Resource (Db, "a.b.c", "a.b.c value");
1         X_Rm_Put_String_Resource (Db, "ab*c", "ab*c value");
1         Free_X_Rm_Database (Db);
1         Check (Db = None_X_Rm_Database,
1                "Free_X_Rm_Database didn't return null.");
-----
2         Db := X_New_Rm_Database;  
2         X_Rm_Put_String_Resource  
2            (Db, (0 => 'a', 1 => 'b', 2 => 'c'), "abc value");  
2         X_Rm_Put_String_Resource  
2            (Db, (2 => 'd', 3 => 'e', 4 => 'f'), "def value");  
2         X_Rm_Put_String_Resource (Db, "a.b.c", "a.b.c value");  
2         X_Rm_Put_String_Resource (Db, "ab*c", "ab*c value");  
2         Free_X_Rm_Database (Db);  
2         Check (Db = None_X_Rm_Database,  
2                "Free_X_Rm_Database didn't return null.");  

* Change 154..155
1     procedure Smoke_Tests is
1         Db : X_Rm_Database;
-----
2     procedure Smoke_Tests is  
2         Db : X_Rm_Database;  

* Change 158..171
1         Test_Io.Section ("Put smoke tests.");
1         Db := X_New_Rm_Database;
1         X_Rm_Put_Resource (Db, (2 => X_Rm_Bind_Loosely),
1                            X_Rm_Name_Array'(0 => Name_One),
1                            Rep_S_Long, (Is_S_Long, 1));
1         X_Rm_Put_Resource (Db, (0 .. 1 => X_Rm_Bind_Tightly),
1                            X_Rm_Class_Array'(2 .. 3 => Class_One),
1                            Rep_S_Long, (Is_S_Long, 1));
1         X_Rm_Put_Resource (Db, (1 .. 3 => X_Rm_Bind_Loosely),
1                            X_Rm_Quark_Array'(1 .. 3 => Quark_One),
1                            Rep_S_Long, (Is_S_Long, 1));
1         X_Rm_Put_String_Resource
1            (Db, (0 => X_Rm_Bind_Tightly), (2 => Name_Two), "2");
1         X_Rm_Put_Resource (Db, "three", "Random", (Is_S_Long, 3));
-----
2         Test_Io.Section ("Put smoke tests.");  
2         Db := X_New_Rm_Database;  
2         X_Rm_Put_Resource (Db, (2 => X_Rm_Bind_Loosely),  
2                            X_Rm_Name_Array'(0 => Name_One),  
2                            Rep_S_Long, (Is_S_Long, 1));  
2         X_Rm_Put_Resource (Db, (0 .. 1 => X_Rm_Bind_Tightly),  
2                            X_Rm_Class_Array'(2 .. 3 => Class_One),  
2                            Rep_S_Long, (Is_S_Long, 1));  
2         X_Rm_Put_Resource (Db, (1 .. 3 => X_Rm_Bind_Loosely),  
2                            X_Rm_Quark_Array'(1 .. 3 => Quark_One),  
2                            Rep_S_Long, (Is_S_Long, 1));  
2         X_Rm_Put_String_Resource  
2            (Db, (0 => X_Rm_Bind_Tightly), (2 => Name_Two), "2");  
2         X_Rm_Put_Resource (Db, "three", "Random", (Is_S_Long, 3));  

* Change 175..192
1         Test_Io.Section ("Get smoke tests.");
1         declare
1             An_Entry : X_Rm_Entry;
1         begin
1             X_Rm_Get_Resource (Database => Db,
1                                Names    => "some.names",
1                                Classes  => "Some.Classes",
1                                Db_Entry => An_Entry);
1             X_Rm_Get_Resource
1                (Database => Db,
1                 Names => X_Rm_Name_Array'(0 => Name_One, 1 => None_X_Rm_Name),
1                 Classes => X_Rm_Class_Array'
1                               (2 => Class_One, 3 => None_X_Rm_Class),
1                 Db_Entry => An_Entry);
1         end;
1         Free_X_Rm_Database (Db);
1         Check (Db = None_X_Rm_Database,
1                "Free_X_Rm_Database didn't return null.");
-----
2         Test_Io.Section ("Get smoke tests.");  
2         declare  
2             Rep : X_Rm_Representation;  
2             Val : X_Rm_Value;  
2         begin  
2             X_Rm_Get_Resource (Database       => Db,  
2                                Names          => "some.names",  
2                                Classes        => "Some.Classes",  
2                                Representation => Rep,  
2                                Value          => Val);  
2             X_Rm_Get_Resource  
2                (Database => Db,  
2                 Names => X_Rm_Name_Array'(0 => Name_One, 1 => None_X_Rm_Name),  
2                 Classes => X_Rm_Class_Array'  
2                               (2 => Class_One, 3 => None_X_Rm_Class),  
2                 Representation => Rep,  
2                 Value => Val);  
2         end;  
2         Free_X_Rm_Database (Db);  
2         Check (Db = None_X_Rm_Database,  
2                "Free_X_Rm_Database didn't return null.");  

* Change 197..202
1     procedure Quoting_Tests is
1         Db  : X_Rm_Database;
1         Old : X_Procedure_Variable;
1     begin
1         Test_Io.Section ("Put quoting tests");
1         Db := X_New_Rm_Database;
-----
2     procedure Quoting_Tests is  
2         Db  : X_Rm_Database;  
2         Old : X_Procedure_Variable;  
2     begin  
2         Test_Io.Section ("Put quoting tests");  
2         Db := X_New_Rm_Database;  

* Change 206..210
1         Try (Db, "normal: a", "normal", "a");
1         Try (Db, "octal: \142", "octal", "b");
1         Try (Db, "newline: \n", "newline", (1 => Lf));
1         Try (Db, "nl.lf: \n" & Lf, "nl.lf", (1 => Lf));
1         Try (Db, "backslash: \\", "backslash", "\");
-----
2         Try (Db, "normal: a", "normal", "a");  
2         Try (Db, "octal: \142", "octal", "b");  
2         Try (Db, "newline: \n", "newline", (1 => Lf));  
2         Try (Db, "nl.lf: \n" & Lf, "nl.lf", (1 => Lf));  
2         Try (Db, "backslash: \\", "backslash", "\");  

* Change 214..215
1         Try (Db, "unknown: \?", "unknown", "?", True);
1         Try (Db, "short: \0", "short", "0", True);
-----
2         Try (Db, "unknown: \?", "unknown", "?", True);  
2         Try (Db, "short: \0", "short", "0", True);  

* Change 219
1         Try (Db, "wrapped: a\" & Lf & "b", "wrapped", "ab");
-----
2         Try (Db, "wrapped: a\" & Lf & "b", "wrapped", "ab");  

* Change 222..225
1         Trap_Error_Reports.Propagate_Error_Reports (Old);
1         Free_X_Rm_Database (Db);
1         Check (Db = None_X_Rm_Database,
1                "Free_X_Rm_Database didn't return null.");
-----
2         Trap_Error_Reports.Propagate_Error_Reports (Old);  
2         Free_X_Rm_Database (Db);  
2         Check (Db = None_X_Rm_Database,  
2                "Free_X_Rm_Database didn't return null.");  

* Change 228..232
1 begin
1     Create_Delete_Tests;
1     Smoke_Tests;
1     Quoting_Tests;
1 end Rm_050;
-----
2 begin  
2     Create_Delete_Tests;  
2     Smoke_Tests;  
2     Quoting_Tests;  
2 end Rm_050;  
16:13:26 ::: [end of File_Utilities.Difference].
16:13:27 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:27 !!! .RESOURCE_MANAGER.RM_050_RUN'BODY.
16:13:28 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:13:28 ... UNITS.RESOURCE_MANAGER.RM_050_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:13:28 ... REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_050_RUN'SPEC'V(1)", "",
16:13:28 ...  TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.RESOURCE_MANAGER.RM_050_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_050_RUN'SPEC
* Change 1..10
1 with Run_One_Test;
1 
1 with Rm_050;
1 
1 procedure Rm_050_Run is
1    new Run_One_Test (The_Test           => Rm_050,
1                      Test_Name          => "Rm_050",
1                      Test_Description   => "Xlbp_Rm smoke tests",
1                      Ignore_Case        => False,
1                      Ignore_Blank_Lines => False);
-----
2 procedure Rm_050_Run;  
16:13:29 ::: [end of File_Utilities.Difference].
16:13:30 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:13:30 ... UNITS.RESOURCE_MANAGER.RM_060'BODY'V(1)", "!X11.X_TESTING.
16:13:30 ... REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_060'BODY'V(1)", "", 
16:13:30 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.RESOURCE_MANAGER.RM_060'BODY
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_060'BODY
* Change 1
1 with Test_Io;
-----
2 with Test_Io;  

* Change 4..8
1 with Xlbt_Display3;
1 use Xlbt_Display3;
1 with Xlbt_Rm3;
1 use Xlbt_Rm3;
1 with Xlbt_String;
-----
2 with Xlbt_Display3;  
2 use Xlbt_Display3;  
2 with Xlbt_Rm3;  
2 use Xlbt_Rm3;  
2 with Xlbt_String;  

* Change 11
1 with Xlbp_Rm;
-----
2 with Xlbp_Rm;  

* Change 31..35
1     begin
1         if not Condition then
1             Test_Io.Put_Line (Message);
1             Test_Io.Put_Error ("Section " & Section & " test failed.");
1         end if;
-----
2     begin  
2         if not Condition then  
2             Test_Io.Put_Line (Message);  
2             Test_Io.Put_Error ("Section " & Section & " test failed.");  
2         end if;  

* Change 42..43
1     begin
1         Check (Error = Rm_Successful, "RM error", Section);
-----
2     begin  
2         Check (Error = Rm_Successful, "RM error", Section);  

* Change 48..49
1     procedure Add (Db      : in out X_Rm_Database;
1                    Line    :        X_String;
-----
2     procedure Add (Db      : in out X_Rm_Database;  
2                    Line    :        X_String;  

* Change 52..56
1         Error : X_Rm_Status;
1     begin
1         Test_Io.Put_Line ("Adding """ & To_String (Line) & '"');
1         X_Rm_Add_Resource (Db, Line, Error);
1         Check (Error, Section);
-----
2         Error : X_Rm_Status;  
2     begin  
2         Test_Io.Put_Line ("Adding """ & To_String (Line) & '"');  
2         X_Rm_Add_Resource (Db, Line, Error);  
2         Check (Error, Section);  

* Change 61..64
1     procedure Get (Db      : X_Rm_Database;
1                    Names   : X_String;
1                    Classes : X_String;
1                    Expect  : X_String := "";
-----
2     procedure Get (Db      : X_Rm_Database;  
2                    Names   : X_String;  
2                    Classes : X_String;  
2                    Expect  : X_String := "";  

* Change 67..71
1         The_Entry : X_Rm_Entry;
1     begin
1         Test_Io.Putx ("(""" & Names & """, """ & Classes & """) => ");
1         X_Rm_Get_Resource (Db, Names, Classes, The_Entry);
1         Test_Io.Put_Line (Rm_Test_Utilities.Image (The_Entry));
-----
2         Rep : X_Rm_Representation;  
2         Val : X_Rm_Value;  
2     begin  
2         Test_Io.Putx ("(""" & Names & """, """ & Classes & """) => ");  
2         X_Rm_Get_Resource (Db, Names, Classes, Rep, Val);  
2         Test_Io.Put_Line (Rm_Test_Utilities.Image (Val));

* Change 73..80
1         if (Expect = "") then
1             Check (The_Entry = None_X_Rm_Entry, "Expected: no entry", Section);
1         else
1             Check (The_Entry /= None_X_Rm_Entry and then
1                    The_Entry.Value.Kind = Is_X_String_Pointer and then
1                    The_Entry.Value.V_X_String_Pointer.all = Expect,
1                    "Expected: """ & To_String (Expect) & '"', Section);
1         end if;
-----
2         if (Expect = "") then  
2             Check (Val = None_X_Rm_Value, "Expected: no entry", Section);  
2         else  
2             Check (Val /= None_X_Rm_Value and then  
2                    Val.Kind = Is_X_String_Pointer and then  
2                    Val.V_X_String_Pointer.all = Expect,  
2                    "Expected: """ & To_String (Expect) & '"', Section);  
2         end if;  

* Change 89..93
1     procedure Test_Rule_1 is
1         Section : constant String := "Rule_1";
1         Db      : X_Rm_Database   := None_X_Rm_Database;
1     begin
1         Test_Io.Section (Section & ": " &
-----
2     procedure Test_Rule_1 is  
2         Section : constant String := "Rule_1";  
2         Db      : X_Rm_Database   := None_X_Rm_Database;  
2     begin  
2         Test_Io.Section (Section & ": " &  

* Change 96
1         Add (Db, "rule_1.foo: true", Section);
-----
2         Add (Db, "rule_1.foo: true", Section);  

* Change 99..104
1         Free_X_Rm_Database (Db);
1         Test_Io.New_Line;
1     exception
1         when others =>
1             Check (False, "Unhandled exception", Section);
1             raise;
-----
2         Free_X_Rm_Database (Db);  
2         Test_Io.New_Line;  
2     exception  
2         when others =>  
2             Check (False, "Unhandled exception", Section);  
2             raise;  

* Change 109..113
1     procedure Test_Rule_2 is
1         Section : constant String := "Rule_2";
1         Db      : X_Rm_Database   := None_X_Rm_Database;
1     begin
1         Test_Io.Section (Section & ": " &
-----
2     procedure Test_Rule_2 is  
2         Section : constant String := "Rule_2";  
2         Db      : X_Rm_Database   := None_X_Rm_Database;  
2     begin  
2         Test_Io.Section (Section & ": " &  

* Change 116..118
1         Add (Db, "rule_2.-2-: tight", Section);
1         Add (Db, "rule_2*-2-: loose", Section);
1         Add (Db, "*-2-: very_loose", Section);
-----
2         Add (Db, "rule_2.-2-: tight", Section);  
2         Add (Db, "rule_2*-2-: loose", Section);  
2         Add (Db, "*-2-: very_loose", Section);  

* Change 121..126
1         Free_X_Rm_Database (Db);
1         Test_Io.New_Line;
1     exception
1         when others =>
1             Check (False, "Unhandled exception", Section);
1             raise;
-----
2         Free_X_Rm_Database (Db);  
2         Test_Io.New_Line;  
2     exception  
2         when others =>  
2             Check (False, "Unhandled exception", Section);  
2             raise;  

* Change 131..134
1     procedure Test_Rule_3 is
1         Section : constant String := "Rule_3";
1         Db      : X_Rm_Database   := None_X_Rm_Database;
1     begin
-----
2     procedure Test_Rule_3 is  
2         Section : constant String := "Rule_3";  
2         Db      : X_Rm_Database   := None_X_Rm_Database;  
2     begin  

* Change 137..138
1         Add (Db, "*rule_3.foo: name", Section);
1         Add (Db, "*Rule_3.Foo: class", Section);
-----
2         Add (Db, "*rule_3.foo: name", Section);  
2         Add (Db, "*Rule_3.Foo: class", Section);  

* Change 141..146
1         Free_X_Rm_Database (Db);
1         Test_Io.New_Line;
1     exception
1         when others =>
1             Check (False, "Unhandled exception", Section);
1             raise;
-----
2         Free_X_Rm_Database (Db);  
2         Test_Io.New_Line;  
2     exception  
2         when others =>  
2             Check (False, "Unhandled exception", Section);  
2             raise;  

* Change 151..155
1     procedure Test_Rule_4 is
1         Section : constant String := "Rule_4";
1         Db      : X_Rm_Database   := None_X_Rm_Database;
1     begin
1         Test_Io.Section (Section & ": " &
-----
2     procedure Test_Rule_4 is  
2         Section : constant String := "Rule_4";  
2         Db      : X_Rm_Database   := None_X_Rm_Database;  
2     begin  
2         Test_Io.Section (Section & ": " &  

* Change 158..159
1         Add (Db, "rule_4*foo*bar: qualified", Section);
1         Add (Db, "rule_4*bar: unqualified", Section);
-----
2         Add (Db, "rule_4*foo*bar: qualified", Section);  
2         Add (Db, "rule_4*bar: unqualified", Section);  

* Change 162..167
1         Free_X_Rm_Database (Db);
1         Test_Io.New_Line;
1     exception
1         when others =>
1             Check (False, "Unhandled exception", Section);
1             raise;
-----
2         Free_X_Rm_Database (Db);  
2         Test_Io.New_Line;  
2     exception  
2         when others =>  
2             Check (False, "Unhandled exception", Section);  
2             raise;  

* Change 172..176
1     procedure Test_Rule_5 is
1         Section : constant String := "Rule_5";
1         Db      : X_Rm_Database   := None_X_Rm_Database;
1     begin
1         Test_Io.Section (Section & ": " &
-----
2     procedure Test_Rule_5 is  
2         Section : constant String := "Rule_5";  
2         Db      : X_Rm_Database   := None_X_Rm_Database;  
2     begin  
2         Test_Io.Section (Section & ": " &  

* Change 179..180
1         Add (Db, "*foo*rule_5: foo", Section);
1         Add (Db, "*bar*rule_5: bar", Section);
-----
2         Add (Db, "*foo*rule_5: foo", Section);  
2         Add (Db, "*bar*rule_5: bar", Section);  

* Change 183..188
1         Free_X_Rm_Database (Db);
1         Test_Io.New_Line;
1     exception
1         when others =>
1             Check (False, "Unhandled exception", Section);
1             raise;
-----
2         Free_X_Rm_Database (Db);  
2         Test_Io.New_Line;  
2     exception  
2         when others =>  
2             Check (False, "Unhandled exception", Section);  
2             raise;  

* Change 193..197
1     procedure Test_Rule_6 is
1         Section : constant String := "Rule_6";
1         Db      : X_Rm_Database   := None_X_Rm_Database;
1     begin
1         Test_Io.Section (Section & ": " &
-----
2     procedure Test_Rule_6 is  
2         Section : constant String := "Rule_6";  
2         Db      : X_Rm_Database   := None_X_Rm_Database;  
2     begin  
2         Test_Io.Section (Section & ": " &  

* Change 200..201
1         Add (Db, "rule_6: foo", Section);
1         Add (Db, "*rule_6: bar", Section);
-----
2         Add (Db, "rule_6: foo", Section);  
2         Add (Db, "*rule_6: bar", Section);  

* Change 204..209
1         Free_X_Rm_Database (Db);
1         Test_Io.New_Line;
1     exception
1         when others =>
1             Check (False, "Unhandled exception", Section);
1             raise;
-----
2         Free_X_Rm_Database (Db);  
2         Test_Io.New_Line;  
2     exception  
2         when others =>  
2             Check (False, "Unhandled exception", Section);  
2             raise;  

* Change 214..217
1     procedure Test_Mixed_Attributes is
1         Section : constant String := "Mixed_Attributes";
1         Db      : X_Rm_Database   := None_X_Rm_Database;
1     begin
-----
2     procedure Test_Mixed_Attributes is  
2         Section : constant String := "Mixed_Attributes";  
2         Db      : X_Rm_Database   := None_X_Rm_Database;  
2     begin  

* Change 220..225
1         Add (Db, "xmh*bg:          red", Section);
1         Add (Db, "*cmd.font:       8x13", Section);
1         Add (Db, "*cmd.bg:         blue", Section);
1         Add (Db, "*Cmd.Fg:         green", Section);
1         Add (Db, "xmh.toc*Cmd.aFg: black", Section);
1         Get (Db, ".xmh.toc.msgf.incl.aFg",
-----
2         Add (Db, "xmh*bg:          red", Section);  
2         Add (Db, "*cmd.font:       8x13", Section);  
2         Add (Db, "*cmd.bg:         blue", Section);  
2         Add (Db, "*Cmd.Fg:         green", Section);  
2         Add (Db, "xmh.toc*Cmd.aFg: black", Section);  
2         Get (Db, ".xmh.toc.msgf.incl.aFg",  

* Change 228..233
1         Free_X_Rm_Database (Db);
1         Test_Io.New_Line;
1     exception
1         when others =>
1             Check (False, "Unhandled exception", Section);
1             raise;
-----
2         Free_X_Rm_Database (Db);  
2         Test_Io.New_Line;  
2     exception  
2         when others =>  
2             Check (False, "Unhandled exception", Section);  
2             raise;  

* Change 238..242
1     procedure Test_Precedence is
1         Section : constant String := "Precedence";
1         Db      : X_Rm_Database   := None_X_Rm_Database;
1     begin
1         Test_Io.Section (Section & ": " &
-----
2     procedure Test_Precedence is  
2         Section : constant String := "Precedence";  
2         Db      : X_Rm_Database   := None_X_Rm_Database;  
2     begin  
2         Test_Io.Section (Section & ": " &  

* Change 249..251
1         Add (Db, ".a.B:         Rule 2 vs. 3", Section);
1         Add (Db, "*a.b:         Rule 3 vs. 2", Section);
1         Get (Db, ".a.b", ".A.B", "Rule 2 vs. 3", Section);
-----
2         Add (Db, ".a.B:         Rule 2 vs. 3", Section);  
2         Add (Db, "*a.b:         Rule 3 vs. 2", Section);  
2         Get (Db, ".a.b", ".A.B", "Rule 2 vs. 3", Section);  

* Change 255..258
1         Free_X_Rm_Database (Db);
1         Add (Db, ".a*c:         Rule 2 vs. 4", Section);
1         Add (Db, "*a.b.c:       Rule 4 vs. 2", Section);
1         Get (Db, ".a.b.c", ".A.B.C", "Rule 2 vs. 4", Section);
-----
2         Free_X_Rm_Database (Db);  
2         Add (Db, ".a*c:         Rule 2 vs. 4", Section);  
2         Add (Db, "*a.b.c:       Rule 4 vs. 2", Section);  
2         Get (Db, ".a.b.c", ".A.B.C", "Rule 2 vs. 4", Section);  

* Change 262..265
1         Free_X_Rm_Database (Db);
1         Add (Db, ".a*c*d:       Rule 2 vs. 5", Section);
1         Add (Db, "*a*b*d:       Rule 5 vs. 2", Section);
1         Get (Db, ".a.b.c.d", ".A.B.C.D", "Rule 2 vs. 5", Section);
-----
2         Free_X_Rm_Database (Db);  
2         Add (Db, ".a*c*d:       Rule 2 vs. 5", Section);  
2         Add (Db, "*a*b*d:       Rule 5 vs. 2", Section);  
2         Get (Db, ".a.b.c.d", ".A.B.C.D", "Rule 2 vs. 5", Section);  

* Change 273..276
1         Free_X_Rm_Database (Db);
1         Add (Db, "a*c:          Rule 3 vs. 4", Section);
1         Add (Db, "A.B.C:        Rule 4 vs. 3", Section);
1         Get (Db, ".a.b.c", ".A.B.C", "Rule 3 vs. 4", Section);
-----
2         Free_X_Rm_Database (Db);  
2         Add (Db, "a*c:          Rule 3 vs. 4", Section);  
2         Add (Db, "A.B.C:        Rule 4 vs. 3", Section);  
2         Get (Db, ".a.b.c", ".A.B.C", "Rule 3 vs. 4", Section);  

* Change 280..283
1         Free_X_Rm_Database (Db);
1         Add (Db, "a*c*d:        Rule 3 vs. 5", Section);
1         Add (Db, "A*b*d:        Rule 5 vs. 3", Section);
1         Get (Db, ".a.b.c.d", ".A.B.C.D", "Rule 3 vs. 5", Section);
-----
2         Free_X_Rm_Database (Db);  
2         Add (Db, "a*c*d:        Rule 3 vs. 5", Section);  
2         Add (Db, "A*b*d:        Rule 5 vs. 3", Section);  
2         Get (Db, ".a.b.c.d", ".A.B.C.D", "Rule 3 vs. 5", Section);  

* Change 289..292
1         Free_X_Rm_Database (Db);
1         Add (Db, "a*c*d:        Rule 4 vs. 5", Section);
1         Add (Db, "*b*d:         Rule 5 vs. 4", Section);
1         Get (Db, ".a.b.c.d", ".A.B.C.D", "Rule 4 vs. 5", Section);
-----
2         Free_X_Rm_Database (Db);  
2         Add (Db, "a*c*d:        Rule 4 vs. 5", Section);  
2         Add (Db, "*b*d:         Rule 5 vs. 4", Section);  
2         Get (Db, ".a.b.c.d", ".A.B.C.D", "Rule 4 vs. 5", Section);  

* Change 299..303
1         Free_X_Rm_Database (Db);
1     exception
1         when others =>
1             Check (False, "Unhandled exception", Section);
1             raise;
-----
2         Free_X_Rm_Database (Db);  
2     exception  
2         when others =>  
2             Check (False, "Unhandled exception", Section);  
2             raise;  

* Change 308..312
1     Test_Rule_1;
1     Test_Rule_2;
1     Test_Rule_3;
1     Test_Rule_4;
1     Test_Rule_5;
-----
2     Test_Rule_1;  
2     Test_Rule_2;  
2     Test_Rule_3;  
2     Test_Rule_4;  
2     Test_Rule_5;  

* Change 316
1     Test_Mixed_Attributes;
-----
2     Test_Mixed_Attributes;  

* Change 319
1 end Rm_060;
-----
2 end Rm_060;  
16:13:34 ::: [end of File_Utilities.Difference].
16:13:34 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:34 !!! .RESOURCE_MANAGER.RM_060_RUN'BODY.
16:13:35 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:13:35 ... UNITS.RESOURCE_MANAGER.RM_060_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:13:35 ... REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_060_RUN'SPEC'V(1)", "",
16:13:35 ...  TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.RESOURCE_MANAGER.RM_060_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_060_RUN'SPEC
* Change 1..10
1 with Run_One_Test;
1 
1 with Rm_060;
1 
1 procedure Rm_060_Run is
1    new Run_One_Test (The_Test           => Rm_060,
1                      Test_Name          => "Rm_060",
1                      Test_Description   => "Xlbp_Rm precedence rules",
1                      Ignore_Case        => False,
1                      Ignore_Blank_Lines => False);
-----
2 procedure Rm_060_Run;  
16:13:36 ::: [end of File_Utilities.Difference].
16:13:37 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:13:37 ... UNITS.RESOURCE_MANAGER.RM_070'BODY'V(1)", "!X11.X_TESTING.
16:13:37 ... REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_070'BODY'V(1)", "", 
16:13:37 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.RESOURCE_MANAGER.RM_070'BODY
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_070'BODY
* Change 1
1 with Test_Io;
-----
2 with Test_Io;  

* Change 4..10
1 with Xlbt_Arithmetic;
1 use Xlbt_Arithmetic;
1 with Xlbt_Display3;
1 use Xlbt_Display3;
1 with Xlbt_Rm3;
1 use Xlbt_Rm3;
1 with Xlbt_String;
-----
2 with Xlbt_Arithmetic;  
2 use Xlbt_Arithmetic;  
2 with Xlbt_Display3;  
2 use Xlbt_Display3;  
2 with Xlbt_Rm3;  
2 use Xlbt_Rm3;  
2 with Xlbt_String;  

* Change 13..15
1 with Xlbp_Rm;
1 use Xlbp_Rm;
1 with Xlbp_Rm_Name;
-----
2 with Xlbp_Rm;  
2 use Xlbp_Rm;  
2 with Xlbp_Rm_Name;  

* Change 43..47
1     begin
1         if not Condition then
1             Test_Io.Put_Line (Message);
1             Test_Io.Put_Error ("Test failed.");
1         end if;
-----
2     begin  
2         if not Condition then  
2             Test_Io.Put_Line (Message);  
2             Test_Io.Put_Error ("Test failed.");  
2         end if;  

* Change 54..55
1     begin
1         Check (Error = Rm_Successful, "RM error");
-----
2     begin  
2         Check (Error = Rm_Successful, "RM error");  

* Change 62..66
1         Error : X_Rm_Status;
1     begin
1         Test_Io.Put_Line ("Adding """ & To_String (Line) & '"');
1         X_Rm_Add_Resource (Db, Line, Error);
1         Check (Error);
-----
2         Error : X_Rm_Status;  
2     begin  
2         Test_Io.Put_Line ("Adding """ & To_String (Line) & '"');  
2         X_Rm_Add_Resource (Db, Line, Error);  
2         Check (Error);  

* Change 71..75
1     function Name_List (Names : X_String) return X_Rm_Name_Array is
1         Result : X_Rm_Name_Array (1 .. Names'Length + 2);
1     begin
1         X_Rm_String_To_Name_List (Names, Result);
1         return Result;
-----
2     function Name_List (Names : X_String) return X_Rm_Name_Array is  
2         Result : X_Rm_Name_Array (1 .. Names'Length + 2);  
2     begin  
2         X_Rm_String_To_Name_List (Names, Result);  
2         return Result;  

* Change 78..82
1     function Class_List (Classes : X_String) return X_Rm_Class_Array is
1         Result : X_Rm_Class_Array (1 .. Classes'Length + 2);
1     begin
1         X_Rm_String_To_Class_List (Classes, Result);
1         return Result;
-----
2     function Class_List (Classes : X_String) return X_Rm_Class_Array is  
2         Result : X_Rm_Class_Array (1 .. Classes'Length + 2);  
2     begin  
2         X_Rm_String_To_Class_List (Classes, Result);  
2         return Result;  

* Change 91..101
1     procedure Create_Database (Db : in out X_Rm_Database) is
1     begin
1         Test_Io.Section ("Creating a sample database");
1         Add (Db, "*Anything:        *Anything");
1         Add (Db, "*anything:        *anything");
1         Add (Db, "A.Detailed.Class: A.Detailed.Class");
1         Add (Db, "a.detailed.name:  a.detailed.name");
1         Add (Db, "*A*Class:         *A*Class");
1         Add (Db, "*a*name:          *a*name");
1         Add (Db, ".a*Class:         .a*Class");
1         Test_Io.New_Line;
-----
2     procedure Create_Database (Db : in out X_Rm_Database) is  
2     begin  
2         Test_Io.Section ("Creating a sample database");  
2         Add (Db, "*Anything:        *Anything");  
2         Add (Db, "*anything:        *anything");  
2         Add (Db, "A.Detailed.Class: A.Detailed.Class");  
2         Add (Db, "a.detailed.name:  a.detailed.name");  
2         Add (Db, "*A*Class:         *A*Class");  
2         Add (Db, "*a*name:          *a*name");  
2         Add (Db, ".a*Class:         .a*Class");  
2         Test_Io.New_Line;  

* Change 105..107
1                               Names   : X_String;
1                               Classes : X_String) is
1         List : constant X_Rm_Search_List :=
-----
2                               Names   : X_String;  
2                               Classes : X_String) is  
2         List : constant X_Rm_Search_List :=  

* Change 110..113
1         procedure Get (Name : X_String; Class : X_String) is
1             Search_Entry : X_Rm_Entry;
1             Probe_Entry  : X_Rm_Entry;
1         begin
-----
2         procedure Get (Name : X_String; Class : X_String) is  
2             Search_Rep : X_Rm_Representation;  
2             Search_Val : X_Rm_Value;  
2             Probe_Rep  : X_Rm_Representation;  
2             Probe_Val  : X_Rm_Value;  
2         begin  

* Change 116..126
1             X_Rm_Get_Search_Resource
1                (List, X_Rm_String_To_Name (Name),
1                 X_Rm_String_To_Class (Class), Search_Entry);
1             Test_Io.Put_Line (Rm_Test_Utilities.Image (Search_Entry));
1             X_Rm_Get_Resource (Db, Names & '.' & Name,
1                                Classes & '.' & Class, Probe_Entry);
1             Check (Search_Entry = Probe_Entry,
1                    "Expected: " & Rm_Test_Utilities.Image (Probe_Entry));
1         end Get;
1     begin
1         Test_Io.Section (To_String ("Path (""" & Names &
-----
2             X_Rm_Get_Search_Resource  
2                (List, X_Rm_String_To_Name (Name),  
2                 X_Rm_String_To_Class (Class), Search_Rep, Search_Val);  
2             Test_Io.Put_Line (Rm_Test_Utilities.Image (Search_Val));  
2             X_Rm_Get_Resource (Db, Names & '.' & Name,  
2                                Classes & '.' & Class, Probe_Rep, Probe_Val);  
2             Check (Search_Val = Probe_Val and then Search_Rep = Probe_Rep,  
2                    "Expected: " & Rm_Test_Utilities.Image (Probe_Val));  
2         end Get;  
2     begin  
2         Test_Io.Section (To_String ("Path (""" & Names &  

* Change 129..132
1         Get ("name", "Junk");
1         Get ("junk", "Class");
1         Get ("name", "Class");
1         Get ("something", "Anything");
-----
2         Get ("name", "Junk");  
2         Get ("junk", "Class");  
2         Get ("name", "Class");  
2         Get ("something", "Anything");  

* Change 135
1         Test_Io.New_Line;
-----
2         Test_Io.New_Line;  

* Change 138
1 begin
-----
2 begin  

* Change 142..146
1     Lookup_Entries (Db, "", "");
1     Lookup_Entries (Db, "u.v.w", "x.A.z");
1     Lookup_Entries (Db, "u.a.w", "x.y.z");
1     Lookup_Entries (Db, "a", "A");
1     Lookup_Entries (Db, "a.a", "A.A");
-----
2     Lookup_Entries (Db, "", "");  
2     Lookup_Entries (Db, "u.v.w", "x.A.z");  
2     Lookup_Entries (Db, "u.a.w", "x.y.z");  
2     Lookup_Entries (Db, "a", "A");  
2     Lookup_Entries (Db, "a.a", "A.A");  

* Change 152..153
1     Free_X_Rm_Database (Db);
1 end Rm_070;
-----
2     Free_X_Rm_Database (Db);  
2 end Rm_070;  
16:13:39 ::: [end of File_Utilities.Difference].
16:13:40 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:40 !!! .RESOURCE_MANAGER.RM_070_RUN'BODY.
16:13:41 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:13:41 ... UNITS.RESOURCE_MANAGER.RM_070_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:13:41 ... REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_070_RUN'SPEC'V(1)", "",
16:13:41 ...  TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.RESOURCE_MANAGER.RM_070_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_070_RUN'SPEC
* Change 1..10
1 with Run_One_Test;
1 
1 with Rm_070;
1 
1 procedure Rm_070_Run is
1    new Run_One_Test (The_Test           => Rm_070,
1                      Test_Name          => "Rm_070",
1                      Test_Description   => "Xlbp_Rm search list tests",
1                      Ignore_Case        => False,
1                      Ignore_Blank_Lines => False);
-----
2 procedure Rm_070_Run;  
16:13:41 ::: [end of File_Utilities.Difference].
16:13:43 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:13:43 ... UNITS.RESOURCE_MANAGER.RM_080'BODY'V(1)", "!X11.X_TESTING.
16:13:43 ... REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_080'BODY'V(1)", "", 
16:13:43 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.RESOURCE_MANAGER.RM_080'BODY
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_080'BODY
* Change 1
1 with Test_Io;
-----
2 with Test_Io;  

* Change 4..10
1 with Xlbt_Arithmetic;
1 use Xlbt_Arithmetic;
1 with Xlbt_Display3;
1 use Xlbt_Display3;
1 with Xlbt_Rm3;
1 use Xlbt_Rm3;
1 with Xlbt_String;
-----
2 with Xlbt_Arithmetic;  
2 use Xlbt_Arithmetic;  
2 with Xlbt_Display3;  
2 use Xlbt_Display3;  
2 with Xlbt_Rm3;  
2 use Xlbt_Rm3;  
2 with Xlbt_String;  

* Change 13..15
1 with Xlbp_Rm;
1 use Xlbp_Rm;
1 with Xlbp_Rm_Name;
-----
2 with Xlbp_Rm;  
2 use Xlbp_Rm;  
2 with Xlbp_Rm_Name;  

* Change 35..39
1     begin
1         if not Condition then
1             Test_Io.Put_Line (Message);
1             Test_Io.Put_Error ("Test section " & Section & " failed.");
1         end if;
-----
2     begin  
2         if not Condition then  
2             Test_Io.Put_Line (Message);  
2             Test_Io.Put_Error ("Test section " & Section & " failed.");  
2         end if;  

* Change 46..47
1     begin
1         Check (Error = Rm_Successful, "RM error", Section);
-----
2     begin  
2         Check (Error = Rm_Successful, "RM error", Section);  

* Change 52..53
1     procedure Add (Db      : in out X_Rm_Database;
1                    Line    :        X_String;
-----
2     procedure Add (Db      : in out X_Rm_Database;  
2                    Line    :        X_String;  

* Change 56..60
1         Error : X_Rm_Status;
1     begin
1         Test_Io.Put_Line ("Adding """ & To_String (Line) & '"');
1         X_Rm_Add_Resource (Db, Line, Error);
1         Check (Error, Section);
-----
2         Error : X_Rm_Status;  
2     begin  
2         Test_Io.Put_Line ("Adding """ & To_String (Line) & '"');  
2         X_Rm_Add_Resource (Db, Line, Error);  
2         Check (Error, Section);  

* Change 65..67
1     procedure Get (Db      : X_Rm_Database;
1                    Names   : X_String;
1                    Classes : X_String;
-----
2     procedure Get (Db      : X_Rm_Database;  
2                    Names   : X_String;  
2                    Classes : X_String;  

* Change 70..74
1         The_Entry : X_Rm_Entry;
1     begin
1         Test_Io.Putx ("(""" & Names & """, """ & Classes & """) => ");
1         X_Rm_Get_Resource (Db, Names, Classes, The_Entry);
1         Test_Io.Put (Rm_Test_Utilities.Image (The_Entry));
-----
2         Db_Type  : X_Rm_Representation;  
2         Db_Value : X_Rm_Value;  
2     begin  
2         Test_Io.Putx ("(""" & Names & """, """ & Classes & """) => ");  
2         X_Rm_Get_Resource (Db, Names, Classes, Db_Type, Db_Value);  
2         Test_Io.Put (Rm_Test_Utilities.Image (Db_Value));  

* Change 84..89
1         Tmp_1 : constant String :=
1            Test_Io.Append_File_Extension ("RM_080_1", "TMP");
1         Tmp_2 : constant String :=
1            Test_Io.Append_File_Extension ("RM_080_2", "TMP");
1         Db_2  : X_Rm_Database;
1         Error : X_Rm_Status;
-----
2         Tmp_1 : constant String :=  
2            Test_Io.Append_File_Extension ("RM_080_1", "TMP");  
2         Tmp_2 : constant String :=  
2            Test_Io.Append_File_Extension ("RM_080_2", "TMP");  
2         Db_2  : X_Rm_Database;  
2         Error : X_Rm_Status;  

* Change 92..93
1         Test_Io.Put ("Write db_1 ... ");
1         X_Rm_Put_File_Database (Tmp_1, Db, Error);
-----
2         Test_Io.Put ("Write db_1 ... ");  
2         X_Rm_Put_File_Database (Tmp_1, Db, Error);  

* Change 97..98
1         Test_Io.Put ("read db_2 ... ");
1         X_Rm_Get_File_Database (Tmp_1, Db_2, Error);
-----
2         Test_Io.Put ("read db_2 ... ");  
2         X_Rm_Get_File_Database (Tmp_1, Db_2, Error);  

* Change 102..103
1         Test_Io.Put ("write db_2 ... ");
1         X_Rm_Put_File_Database (Tmp_2, Db_2, Error);
-----
2         Test_Io.Put ("write db_2 ... ");  
2         X_Rm_Put_File_Database (Tmp_2, Db_2, Error);  

* Change 107..110
1         Test_Io.Put ("compare dumps ... ");
1         if not Test_Io.Files_Equal (Tmp_1, Tmp_2, False, False) then
1             Check (False, "Database dumps differ.", Section);
1             Test_Io.Files_Diff (Tmp_1, Tmp_2, False, False);
-----
2         Test_Io.Put ("compare dumps ... ");  
2         if not Test_Io.Files_Equal (Tmp_1, Tmp_2, False, False) then  
2             Check (False, "Database dumps differ.", Section);  
2             Test_Io.Files_Diff (Tmp_1, Tmp_2, False, False);  

* Change 114..115
1         Test_Io.Put_Line ("done.");
1         Test_Io.File_Delete (Tmp_1);
-----
2         Test_Io.Put_Line ("done.");  
2         Test_Io.File_Delete (Tmp_1);  

* Change 119
1         return Db_2;
-----
2         return Db_2;  

* Change 127..129
1         Error : X_Rm_Status;
1         Db_1  : X_Rm_Database := None_X_Rm_Database;
1         Db_2  : X_Rm_Database := None_X_Rm_Database;
-----
2         Error : X_Rm_Status;  
2         Db_1  : X_Rm_Database := None_X_Rm_Database;  
2         Db_2  : X_Rm_Database := None_X_Rm_Database;  

* Change 132..134
1         Test_Io.Put_Line ("Create database from string:");
1         Test_Io.Putx_Line ('"' & Data & '"');
1         X_Rm_Get_String_Database (Data, Db_1, Error);
-----
2         Test_Io.Put_Line ("Create database from string:");  
2         Test_Io.Putx_Line ('"' & Data & '"');  
2         X_Rm_Get_String_Database (Data, Db_1, Error);  

* Change 141..142
1         Free_X_Rm_Database (Db_1);
1         return Db_2;
-----
2         Free_X_Rm_Database (Db_1);  
2         return Db_2;  

* Change 151..153
1     procedure Test_String_Db (Data : X_String; Section : String) is
1         Db : X_Rm_Database;
1     begin
-----
2     procedure Test_String_Db (Data : X_String; Section : String) is  
2         Db : X_Rm_Database;  
2     begin  

* Change 160..163
1         Get (Db, "", "", Section);
1         Get (Db, "a", "A", Section);
1         Get (Db, "a.b", "A.B", Section);
1         Get (Db, "a.b.c", "A.B.C", Section);
-----
2         Get (Db, "", "", Section);  
2         Get (Db, "a", "A", Section);  
2         Get (Db, "a.b", "A.B", Section);  
2         Get (Db, "a.b.c", "A.B.C", Section);  

* Change 166..167
1         Free_X_Rm_Database (Db);
1         Test_Io.New_Line;
-----
2         Free_X_Rm_Database (Db);  
2         Test_Io.New_Line;  

* Change 172..174
1     Test_String_Db ("", "Null_DB");
1     Test_String_Db ("! An empty database", "Empty_DB");
1     Test_String_Db ("*a: *a", "Simple_DB");
-----
2     Test_String_Db ("", "Null_DB");  
2     Test_String_Db ("! An empty database", "Empty_DB");  
2     Test_String_Db ("*a: *a", "Simple_DB");  

* Change 178
1                     "*b: *b" & Lf, "Short_DB");
-----
2                     "*b: *b" & Lf, "Short_DB");  

* Change 185..186
1                     "           *d", "Multi-Level_DB");
1 end Rm_080;
-----
2                     "           *d", "Multi-Level_DB");  
2 end Rm_080;  
16:13:45 ::: [end of File_Utilities.Difference].
16:13:46 !!! Only in !X11.X_TESTING.REV6_0_0_WORKING.UNITS.
16:13:46 !!! .RESOURCE_MANAGER.RM_080_RUN'BODY.
16:13:47 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:13:47 ... UNITS.RESOURCE_MANAGER.RM_080_RUN'SPEC'V(1)", "!X11.X_TESTING.
16:13:47 ... REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_080_RUN'SPEC'V(1)", "",
16:13:47 ...  TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.RESOURCE_MANAGER.RM_080_RUN'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_080_RUN'SPEC
* Change 1..10
1 with Run_One_Test;
1 
1 with Rm_080;
1 
1 procedure Rm_080_Run is
1    new Run_One_Test (The_Test           => Rm_080,
1                      Test_Name          => "Rm_080",
1                      Test_Description   => "Xlbp_Rm search list tests",
1                      Ignore_Case        => False,
1                      Ignore_Blank_Lines => False);
-----
2 procedure Rm_080_Run;  
16:13:47 ::: [end of File_Utilities.Difference].
16:13:48 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:13:48 ... UNITS.RESOURCE_MANAGER.RM_TEST_UTILITIES'BODY'V(1)", "!X11.
16:13:48 ... X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.
16:13:48 ... RM_TEST_UTILITIES'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.RESOURCE_MANAGER.RM_TEST_UTILITIES'BODY
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_TEST_UTILITIES'BODY
* Change 1..7
1 with Xlbt_Arithmetic;
1 use Xlbt_Arithmetic;
1 with Xlbt_Rm3;
1 use Xlbt_Rm3;
1 with Xlbt_String;
1 use Xlbt_String;
1 with Xlbt_String7;
-----
2 with Xlbt_Arithmetic;  
2 use Xlbt_Arithmetic;  
2 with Xlbt_Rm3;  
2 use Xlbt_Rm3;  
2 with Xlbt_String;  
2 use Xlbt_String;  
2 with Xlbt_String7;  

* Change 12..16
1     function Image (An_Entry : Xlbt_Rm3.X_Rm_Entry) return String is
1         -- Return an image of a resource database entry.
1     begin
1         if (An_Entry = None_X_Rm_Entry) then
1             return "no entry";
-----
2     function Image (Value : Xlbt_Rm3.X_Rm_Value) return String is
2         -- Return an image of a resource database value.
2     begin  
2         if (Value = None_X_Rm_Value) then  
2             return "no value";  

* Change 19..45
1         case An_Entry.Value.Kind is
1             when Is_None =>
1                 return "<none>";
1             when Is_Boolean =>
1                 return "<boolean> " & Boolean'Image (An_Entry.Value.V_Boolean);
1             when Is_U_Char_List =>
1                 return "<u_char_list>";
1             when Is_S_Long =>
1                 return "<s_long> " & S_Long'Image (An_Entry.Value.V_S_Long);
1             when Is_X_String7_Pointer =>
1                 if An_Entry.Value.V_X_String7_Pointer /= null then
1                     return "<string7> """ & An_Entry.Value.
1                                                V_X_String7_Pointer.all & '"';
1                 else
1                     return "<string7> null";
1                 end if;
1             when Is_X_String_Pointer =>
1                 if An_Entry.Value.V_X_String_Pointer /= null then
1                     return
1                        To_String
1                           ('"' & An_Entry.Value.V_X_String_Pointer.all & '"');
1                 else
1                     return "<string> null";
1                 end if;
1             when Is_X_String16_Pointer =>
1                 return "<string16>";
1             when Is_X_Universal_Pointer =>
-----
2         case Value.Kind is  
2             when Is_None =>  
2                 return "<none>";  
2             when Is_X_Rm_File_Type =>  
2                 return "<file>";  
2             when Is_Boolean =>  
2                 return "<boolean> " & Boolean'Image (Value.V_Boolean);  
2             when Is_Float =>  
2                 return "<float>";  
2             when Is_U_Char_List =>  
2                 return "<u_char_list>";  
2             when Is_U_Char =>  
2                 return "<U_Char> " & U_Char'Image (Value.V_U_Char);  
2             when Is_U_Short =>  
2                 return "<U_Short> " & U_Short'Image (Value.V_U_Short);  
2             when Is_S_Char =>  
2                 return "<S_Char> " & S_Char'Image (Value.V_S_Char);  
2             when Is_S_Short =>  
2                 return "<S_Short> " & S_Short'Image (Value.V_S_Short);  
2             when Is_S_Long =>  
2                 return "<s_long> " & S_Long'Image (Value.V_S_Long);  
2             when Is_X_String7_Pointer =>  
2                 if Value.V_X_String7_Pointer /= null then  
2                     return "<string7> """ & Value.V_X_String7_Pointer.all & '"';  
2                 else  
2                     return "<string7> null";  
2                 end if;  
2             when Is_X_String_Pointer =>  
2                 if Value.V_X_String_Pointer /= null then  
2                     return To_String ('"' & Value.V_X_String_Pointer.all & '"');  
2                 else  
2                     return "<string> null";  
2                 end if;  
2             when Is_X_String16_Pointer =>  
2                 return "<string16>";  
2             when Is_X_Universal_Pointer =>  

* Change 47
1         end case;
-----
2 
2             when Is_X_Atom =>  
2                 return "<X_Atom>";  
2             when Is_X_Color =>  
2                 return "<X_Color>";  
2             when Is_X_Colormap =>  
2                 return "<X_Colormap>";  
2             when Is_X_Cursor =>  
2                 return "<X_Cursor>";  
2             when Is_X_Display =>  
2                 return "<X_Display>";  
2             when Is_X_Font =>  
2                 return "<X_Font>";  
2             when Is_X_Font_Struct =>  
2                 return "<X_Font_Struct>";  
2             when Is_X_Initial_Window_State =>  
2                 return "<X_Initial_Window_State>";  
2             when Is_X_Pixel =>  
2                 return "<X_Pixel>";  
2             when Is_X_Pixmap =>  
2                 return "<X_Pixmap>";  
2             when Is_X_Screen =>  
2                 return "<X_Screen>";  
2             when Is_X_Time =>  
2                 return "<X_Time>";  
2             when Is_X_Visual =>  
2                 return "<X_Visual>";  
2             when Is_X_Window =>  
2                 return "<X_Window>";  
2         end case;  

* Change 50
1 end Rm_Test_Utilities;
-----
2 end Rm_Test_Utilities;  
16:13:49 ::: [end of File_Utilities.Difference].
16:13:50 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:13:50 ... UNITS.RESOURCE_MANAGER.RM_TEST_UTILITIES'SPEC'V(1)", "!X11.
16:13:50 ... X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.
16:13:50 ... RM_TEST_UTILITIES'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.RESOURCE_MANAGER.RM_TEST_UTILITIES'SPEC
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.RESOURCE_MANAGER.RM_TEST_UTILITIES'SPEC
* Change 1
1 with Xlbt_Rm3;
-----
2 with Xlbt_Rm3;  

* Change 6
1     function Image (An_Entry : Xlbt_Rm3.X_Rm_Entry) return String;
-----
2     function Image (Value : Xlbt_Rm3.X_Rm_Value) return String;

* Change 8..9
1     -- Return a printable image of an entry.
1     -- Returns "no entry" when passed None_X_Rm_Entry.
-----
2     -- Return a printable image of a value.
2     -- Returns "no value" when passed None_X_Rm_Value.

* Change 11
1 end Rm_Test_Utilities;
-----
2 end Rm_Test_Utilities;  
16:13:51 ::: [end of File_Utilities.Difference].
16:14:00 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:14:00 ... UNITS.TEST_UTILITIES.SWAP_RAW_DATA'BODY'V(4)", "!X11.X_TESTING.
16:14:00 ... REV6_0_0_WORKING.UNITS.TEST_UTILITIES.SWAP_RAW_DATA'BODY'V(1)", 
16:14:00 ... "", TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.TEST_UTILITIES.SWAP_RAW_DATA'BODY
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.TEST_UTILITIES.SWAP_RAW_DATA'BODY
* Insert after 0
2 with Xlbmt_Network_Types;  
2 use Xlbmt_Network_Types;
2 
2 ------------------------------------------------------------------------------
2 -- Data - Specifies the data to be byte-swapped.
2 --
2 -- If necessary, swap bytes in a Raw_Data_Array to match the internal
2 -- representation used on this machine.  The raw data array passed
2 -- should represent a single primitive item (E.g. a S_Long or U_Short).
2 ------------------------------------------------------------------------------
2 
2 --/ if Byte0_Sign_Byte then
2 

* Delete 2..3
1     Bias   : constant X_Raw_Data_Index := Data'Length + 1;  
1     Result : X_Raw_Data_Array (Data'Range);  

* Change 5..8
1     for Index in Data'Range loop  
1         Result (Index) := Data (Bias - Index);  
1     end loop;  
1     return Result;  
-----
2     return Data;  

* Insert after 10
2 --/ else
2 --//
2 --// function Swap_Raw_Data (Data : X_Raw_Data_Array) return X_Raw_Data_Array is
2 --//     Bias   : constant X_Raw_Data_Index := Data'Length + 1;
2 --//     Result : X_Raw_Data_Array (Data'Range);
2 --// begin
2 --//     for Index in Data'Range loop
2 --//         Result (Index) := Data (Bias - Index);
2 --//     end loop;
2 --//     return Result;
2 --// end Swap_Raw_Data;
2 --//
16:14:01 ::: [end of File_Utilities.Difference].
16:14:07 ::: [File_Utilities.Difference ("!X11.X_TESTING.REV5_6_2_WORKING.
16:14:07 ... UNITS.TEST_UTILITIES.TEST_IO'BODY'V(5)", "!X11.X_TESTING.
16:14:07 ... REV6_0_0_WORKING.UNITS.TEST_UTILITIES.TEST_IO'BODY'V(1)", "", 
16:14:07 ... TRUE, FALSE)].
* Object 1: !X11.X_TESTING.REV5_6_2_WORKING.UNITS.TEST_UTILITIES.TEST_IO'BODY
* Object 2: !X11.X_TESTING.REV6_0_0_WORKING.UNITS.TEST_UTILITIES.TEST_IO'BODY
* Insert after 133
2 
2 --
2     function To_String (Str : X_String) return String is  
2         Stro : String (1 .. Str'Length) := Xlbt_String.To_String (Str);  
2     begin  
2         for I in Stro'Range loop  
2             if Character'Pos (Stro (I)) not in 32 .. 127 then  
2                 return Stro (Stro'First .. I - 1) &  
2                           '\' & Natural'Image (Character'Pos (Stro (I))) & '\' &  
2                           To_String (Str (Str'First + S_Natural (I) ..  
2                                              Str'Last));  
2             end if;  
2         end loop;  
2         return Stro;  
2     end To_String;

* Change 608
1 --//         return Need_Something_Here;
-----
2 --//   return need_something_here;

* Change 2075
1 --//                     Wild_Outi                         := Wild_Outi + 1;
-----
2 --//                     Wild_Outi                        := Wild_Outi + 1;

* Change 2206..2207
1 --//             Name := new File_Name_Rec'(Next => null,
1 --//                                        Name => Str);
-----
2 --//             Name := new File_Name_Rec' (Next => null,
2 --//                                         Name => Str);
16:14:23 ::: [end of File_Utilities.Difference].
16:14:30 ::: [Diff done.].
16:14:30 --- ------------------------------------------------------------
16:14:30 --- Diff(!X11.X_Tools.Rev5_6_2_Working.Units,!X11.X_Tools.
16:14:30 ... Rev6_0_0_Working.Units).
16:14:53 ::: [Diff("!X11.X_Tools.Rev5_6_2_Working.Units.[??,~??.@_Log,~??.
16:14:53 ... Aaa_Load_@,~??.Documentation.??,~??.Ship_To.??,~??'c(Library,
16:14:53 ... Binary)]","!X11.X_Tools.Rev6_0_0_Working.Units.[??,~??.@_Log,~??.
16:14:53 ... Aaa_Load_@,~??.Documentation.??,~??.Ship_To.??,~??'c(Library,
16:14:53 ... Binary)]",TRUE);].
16:14:53 --- Resolve Old_Files.
16:15:25 --- Resolve New_Files.
16:15:58 --- Compare Old_Files to New_Files.
16:15:59 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:15:59 ... ADA_PARAMETIZER.ADA_PARAM'BODY'V(1)", "!X11.X_TOOLS.
16:15:59 ... REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.ADA_PARAM'BODY'V(1)", "", 
16:15:59 ... TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.ADA_PARAMETIZER.ADA_PARAM'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.ADA_PARAM'BODY
* Change 7
1 -- Copyright 1989, 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989, 1991 by Rational, Santa Clara, California.
16:16:00 ::: [end of File_Utilities.Difference].
16:16:02 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:16:02 ... ADA_PARAMETIZER.ADA_PARAMETERIZATION'BODY'V(5)", "!X11.X_TOOLS.
16:16:02 ... REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.
16:16:02 ... ADA_PARAMETERIZATION'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.ADA_PARAMETIZER.ADA_PARAMETERIZATION'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.ADA_PARAMETERIZATION'BODY
* Change 1..4
1 with Error_Report;  
1 use Error_Report;  
1 with Lexemes;  
1 use Lexemes;  
-----
2 with Error_Report;
2 use Error_Report;
2 with Lexemes;
2 use Lexemes;
2 with Symbol_Table;

* Change 7..16
1 with Vstring_Assign;  
1 use Vstring_Assign;  
1 with Vstring_Heap;  
1 use Vstring_Heap;  
1 with Vstring_Io;  
1 with Vstring_Query;  
1 use Vstring_Query;  
1 with Vstring_Scan;  
1 use Vstring_Scan;  
1 with Vstring_Type;  
-----
2 with Arithmetic;
2 use Arithmetic;
2 with Vstring_Assign;
2 use Vstring_Assign;
2 with Vstring_Heap;
2 use Vstring_Heap;
2 with Vstring_Io;
2 with Vstring_Query;
2 use Vstring_Query;
2 with Vstring_Scan;
2 use Vstring_Scan;
2 with Vstring_Type;

* Insert after 43
2 -- * 13-FEB-91 - /GEB/ Modify for the new E_String/VString changes.

* Change 50..53
1     Orig_Line   : Vstring := New_Vstring (512);  
1     Orig_Eop    : Boolean;  
1     Cur_Line    : Vstring := New_Vstring (512);  
1     Cur_Line_No : Natural := 0;
-----
2     Orig_Line   : Vstring   := New_Vstring (512);
2     Orig_Eop    : Boolean;
2     Cur_Line    : Vstring   := New_Vstring (512);
2     Cur_Line_No : S_Natural := 0;
2     On_R1000    : Boolean   := False;

* Change 59..62
1     Cur_Indent : Natural;  
1     Cur_Lexeme : Lexeme_Kind := Lk_Error;  
1     Cur_Text   : Vstring     := New_Vstring (64);  
1     Cur_Value  : Symbol_Value;  
-----
2     Cur_Indent : S_Natural;
2     Cur_Lexeme : Lexeme_Kind := Lk_Error;
2     Cur_Text   : Vstring     := New_Vstring (64);
2     Cur_Value  : Symbol_Value;

* Change 74
1        Operator_Flag_Array'  
-----
2        Operator_Flag_Array'

* Change 111
1                                 Cur_Hide_State : Boolean);  
-----
2                                 Cur_Hide_State : Boolean);

* Change 121..123
1     begin  
1         Error ("Line:" & Natural'Image (Cur_Line_No));  
1         Error (Line1);  
-----
2     begin
2         Error ("Line:" & S_Natural'Image (Cur_Line_No));
2         Error (Line1);

* Change 135..138
1     begin  
1         Error ("Line:" & Natural'Image (Cur_Line_No));  
1         Error (Line1);  
1         Error (Line2);  
-----
2     begin
2         Error ("Line:" & S_Natural'Image (Cur_Line_No));
2         Error (Line1);
2         Error (Line2);

* Change 148..149
1     begin  
1         return Str (Str'First + 3 .. Str'Last);  
-----
2     begin
2         return Str (Str'First + 3 .. Str'Last);

* Change 158..160
1         Eol : Boolean;  
1         Eop : Boolean;  
1         Eof : Boolean;  
-----
2         Eol : Boolean;
2         Eop : Boolean;
2         Eof : Boolean;

* Change 165
1         Cur_Line_No := Cur_Line_No + 1;  
-----
2         Cur_Line_No := Cur_Line_No + 1;

* Change 171..172
1            Eof then  
1             return True;  
-----
2            Eof then
2             return True;

* Change 177..180
1         Orig_Eop := Eop and then not Eof;  
1         if Orig_Eop then  
1             Append_Resize (Cur_Line, Ascii.Ff, Resize_Amount => 256);  
1         end if;
-----
2         Orig_Eop := Eop and then not Eof;

* Insert after 182
2 
2         Cur_Line.Length := 0;
2         Append_Resize (Cur_Line, Orig_Line, 256);
2 
2 ----In an attempt to get the R1000 parser to stop re-pretty-printing everything
2 --  (and thus making DIFF's harder than they need to be), add two blanks to
2 --  the end of every line that doesn't already have them.

* Change 184..185
1         Cur_Line.Length := 0;  
1         Append_Resize (Cur_Line, Orig_Line, 256);  
-----
2         if Cur_Line.Length >= 2 and then  
2            not Orig_Eop and then  
2            Cur_Line.Chars (Cur_Line.Length - 1 .. Cur_Line.Length) /= "  " then
2             Append_Resize (Orig_Line, "  ", 256);
2             Append_Resize (Cur_Line, "  ", 256);
2         end if;

* Change 205..209
1         if not Orig_Eop then  
1             Vstring_Io.Put_Line (Out_File, Line);  
1         else  
1             Vstring_Io.Put (Out_File, Line);  
1             Text_Io.Put (Out_File, Ascii.Ff);  
-----
2         if not Orig_Eop then
2             Vstring_Io.Put_Line (Out_File, Line);
2         else
2             Vstring_Io.Put (Out_File, Line);
2             if On_R1000 then
2                 declare
2                     I : S_Natural := 1;
2                 begin
2                     while I <= Line.Length loop
2                         if Line.Chars (I) = '-' then
2                             if I < Line.Length and then  
2                                Line.Chars (I + 1) = '-' then
2                                 exit;
2                             end if;
2                         elsif Line.Chars (I) = '"' then
2                             I := I + 1;
2                             while I <= Line.Length and then  
2                                      Line.Chars (I) /= '"' loop
2                                 I := I + 1;
2                             end loop;
2                         end if;
2                         I := I + 1;
2                     end loop;
2                     if I > Line.Length then
2                         Text_Io.Put (Out_File, "--");
2                     end if;
2                 end;
2                 Text_Io.Put (Out_File, "<!EOP!>");
2             end if;
2             Text_Io.Put (Out_File, Ascii.Ff);

* Change 215
1     function Cur_Line_Controls return Natural is
-----
2     function Cur_Line_Controls return S_Natural is

* Change 220
1         Brk : Character;  
-----
2         Brk : Character;

* Change 232..233
1            Cur_Line.Chars (3) /= '/' then  
1             return 0;  
-----
2            Cur_Line.Chars (3) /= '/' then
2             return 0;

* Change 239..242
1            Cur_Line.Chars (4) /= '/' then  
1             Cur_Indent := Orig_Line.Length - Cur_Line.Length;  
1             Truncstring_For (Cur_Line, 4, Positive'Last);  
1             return 1;  
-----
2            Cur_Line.Chars (4) /= '/' then
2             Cur_Indent := Orig_Line.Length - Cur_Line.Length;
2             Truncstring_For (Cur_Line, 4, Inf);
2             return 1;

* Change 248..252
1            Cur_Line.Chars (5) = ' ' then  
1             Truncstring_For (Cur_Line, 6, Positive'Last);  
1         else  
1             Truncstring_For (Cur_Line, 5, Positive'Last);  
1         end if;  
-----
2            Cur_Line.Chars (5) = ' ' then
2             Truncstring_For (Cur_Line, 6, Inf);
2         else
2             Truncstring_For (Cur_Line, 5, Inf);
2         end if;

* Change 268..284
1         loop  
1             Next_Lexeme (Cur_Line, Cur_Lexeme, Cur_Text, Cur_Value);  
1             if Want_Eol or else Cur_Lexeme /= Lk_Eol then  
1                 return Cur_Lexeme;  
1             end if;  
1             if Next_Line (In_File) then  
1                 Error1 ("Ran into End-of-File while reading control tokens.");  
1                 Cur_Lexeme := Lk_Error;  
1                 return Lk_Error;  
1             end if;  
1             Output_Line (Out_File, Orig_Line);  
1             if Cur_Line_Controls /= 1 then  
1                 Error1 ("This line is not a control line continuation of " &  
1                         "previous line.");  
1                 Cur_Lexeme := Lk_Error;  
1                 return Lk_Error;  
1             end if;  
-----
2         loop
2             Next_Lexeme (Cur_Line, Cur_Lexeme, Cur_Text, Cur_Value);
2             if Want_Eol or else Cur_Lexeme /= Lk_Eol then
2                 return Cur_Lexeme;
2             end if;
2             if Next_Line (In_File) then
2                 Error1 ("Ran into End-of-File while reading control tokens.");
2                 Cur_Lexeme := Lk_Error;
2                 return Lk_Error;
2             end if;
2             Output_Line (Out_File, Orig_Line);
2             if Cur_Line_Controls /= 1 then
2                 Error1 ("This line is not a control line continuation of " &
2                         "previous line.");
2                 Cur_Lexeme := Lk_Error;
2                 return Lk_Error;
2             end if;

* Change 306..307
1             when Lk_Identifier =>  
1                 Expr_Value := Cur_Value;  
-----
2             when Lk_Identifier =>
2                 Expr_Value := Cur_Value;
2                 Cur_Lexeme := Next_Token (In_File, Out_File, Want_Eol => False);

* Change 312..322
1             when Lk_Not =>  
1                 Cur_Lexeme := Next_Token (In_File, Out_File, Want_Eol => False);  
1                 if Parse_Primary (In_File, Out_File) then  
1                     return True;  
1                 end if;  
1                 if Expr_Value.Kind /= Sk_Boolean then  
1                     Error1  
1                        ("Argument to NOT operator was not a boolean value?");  
1                     return True;  
1                 end if;  
1                 Expr_Value.Bool := not Expr_Value.Bool;  
-----
2             when Lk_Not =>
2                 Cur_Lexeme := Next_Token (In_File, Out_File, Want_Eol => False);
2                 if Parse_Primary (In_File, Out_File) then
2                     return True;
2                 end if;
2                 if Expr_Value.Kind /= Sk_Boolean then
2                     Error1
2                        ("Argument to NOT operator was not a boolean value?");
2                     return True;
2                 end if;
2                 Expr_Value.Bool := not Expr_Value.Bool;

* Change 327..329
1             when Lk_Lparen =>  
1                 Cur_Lexeme := Next_Token (In_File, Out_File, Want_Eol => False);  
1                 return Parse_Expression (In_File, Out_File);
-----
2             when Lk_Lparen =>
2                 Cur_Lexeme := Next_Token (In_File, Out_File, Want_Eol => False);
2                 if Parse_Expression (In_File, Out_File) then
2                     return True;
2                 end if;
2                 Cur_Lexeme := Next_Token (In_File, Out_File, Want_Eol => False);
2                 return False;

* Change 333..342
1             when others =>  
1                 Error2 ("Found unexpected lexeme while parsing expression.",  
1                         "Lexeme kind: " &  
1                            Chop3 (Lexeme_Kind'Image (Cur_Lexeme)) &  
1                            " {" & To_String (Cur_Text) & "}");  
1                 Cur_Lexeme := Lk_Identifier;  
1                 Expr_Value := (Kind      => Sk_Boolean,  
1                                Permanent => False,  
1                                Bool      => False);  
1                 return False;  
-----
2             when others =>
2                 Error2
2                    ("Found unexpected lexeme while parsing expression.",  
2                     "Lexeme kind: " &  
2                        Chop3 (Lexeme_Kind'Image (Cur_Lexeme)) &  
2                        " {" & String (Substring_To (Cur_Text, 1, 512)) & "}");
2                 Cur_Lexeme := Lk_Identifier;
2                 Expr_Value := (Kind      => Sk_Boolean,
2                                Permanent => False,
2                                Bool      => False);
2                 return False;

* Change 363..373
1         function Both_Bool (Op : String) return Boolean is  
1         begin  
1             if First_Value.Kind /= Sk_Boolean then  
1                 Error1 ("1st argument to " & Op & " was not a boolean value?");  
1                 return True;  
1             end if;  
1             if Expr_Value.Kind /= Sk_Boolean then  
1                 Error1 ("2nd argument to " & Op & " was not a boolean value?");  
1                 return True;  
1             end if;  
1             return False;  
-----
2         function Both_Bool (Op : String) return Boolean is
2         begin
2             if First_Value.Kind /= Sk_Boolean then
2                 Error1 ("1st argument to " & Op & " was not a boolean value?");
2                 return True;
2             end if;
2             if Expr_Value.Kind /= Sk_Boolean then
2                 Error1 ("2nd argument to " & Op & " was not a boolean value?");
2                 return True;
2             end if;
2             return False;

* Change 376..382
1         function Same (Op : String) return Boolean is  
1         begin  
1             if First_Value.Kind /= Expr_Value.Kind then  
1                 Error1 ("Arguments to " & Op & " are not the same type?");  
1                 return True;  
1             end if;  
1             return False;  
-----
2         function Same (Op : String) return Boolean is
2         begin
2             if First_Value.Kind /= Expr_Value.Kind then
2                 Error1 ("Arguments to " & Op & " are not the same type?");
2                 return True;
2             end if;
2             return False;

* Change 389
1         Cur_Lexeme := Next_Token (In_File, Out_File, Want_Eol => False);  
-----
2         Cur_Lexeme := Next_Token (In_File, Out_File, Want_Eol => False);

* Change 393..394
1             Cur_Lexeme = Lk_Else) then  
1             Cur_Lexeme := Next_Token (In_File, Out_File, Want_Eol => False);  
-----
2             Cur_Lexeme = Lk_Else) then
2             Cur_Lexeme := Next_Token (In_File, Out_File, Want_Eol => False);

* Change 399..400
1         if Parse_Primary (In_File, Out_File) then  
1             return True;  
-----
2         if Parse_Primary (In_File, Out_File) then
2             return True;

* Change 406..412
1         if Binary_Operator (Next_Token (In_File,  
1                                         Out_File,  
1                                         Want_Eol => False)) and then  
1            Operator_Precedence (Bin_Op) < Operator_Precedence (Cur_Lexeme) then  
1             if Parse_Secondary (In_File, Out_File, Cur_Lexeme) then  
1                 return True;  
1             end if;  
-----
2         if Binary_Operator (Cur_Lexeme) and then
2            Operator_Precedence (Bin_Op) < Operator_Precedence (Cur_Lexeme) then
2             if Parse_Secondary (In_File, Out_File, Cur_Lexeme) then
2                 return True;
2             end if;

* Change 419..423
1             when Lk_And =>  
1                 if Both_Bool ("AND") then  
1                     return True;  
1                 end if;  
1                 Expr_Value.Bool := First_Value.Bool and Expr_Value.Bool;  
-----
2             when Lk_And =>
2                 if Both_Bool ("AND") then
2                     return True;
2                 end if;
2                 Expr_Value.Bool := First_Value.Bool and Expr_Value.Bool;

* Change 426..430
1             when Lk_Or =>  
1                 if Both_Bool ("OR") then  
1                     return True;  
1                 end if;  
1                 Expr_Value.Bool := First_Value.Bool or Expr_Value.Bool;  
-----
2             when Lk_Or =>
2                 if Both_Bool ("OR") then
2                     return True;
2                 end if;
2                 Expr_Value.Bool := First_Value.Bool or Expr_Value.Bool;

* Change 433..437
1             when Lk_Xor =>  
1                 if Both_Bool ("XOR") then  
1                     return True;  
1                 end if;  
1                 Expr_Value.Bool := First_Value.Bool xor Expr_Value.Bool;  
-----
2             when Lk_Xor =>
2                 if Both_Bool ("XOR") then
2                     return True;
2                 end if;
2                 Expr_Value.Bool := First_Value.Bool xor Expr_Value.Bool;

* Change 440..446
1             when Lk_Eql =>  
1                 if Same ("=") then  
1                     return True;  
1                 end if;  
1                 Expr_Value := (Permanent => False,  
1                                Kind      => Sk_Boolean,  
1                                Bool      => First_Value = Expr_Value);  
-----
2             when Lk_Eql =>
2                 if Same ("=") then
2                     return True;
2                 end if;
2                 Expr_Value := (Permanent => False,
2                                Kind      => Sk_Boolean,
2                                Bool      => First_Value = Expr_Value);

* Change 449..455
1             when Lk_Neq =>  
1                 if Same ("=") then  
1                     return True;  
1                 end if;  
1                 Expr_Value := (Permanent => False,  
1                                Kind      => Sk_Boolean,  
1                                Bool      => First_Value /= Expr_Value);  
-----
2             when Lk_Neq =>
2                 if Same ("=") then
2                     return True;
2                 end if;
2                 Expr_Value := (Permanent => False,
2                                Kind      => Sk_Boolean,
2                                Bool      => First_Value /= Expr_Value);

* Change 460..465
1             when others =>  
1                 Error2 ("Internal error: unknown binary operator?",  
1                         "Lexeme kind: " &  
1                            Chop3 (Lexeme_Kind'Image (Bin_Op)) &  
1                            " {" & To_String (Cur_Text) & "}");  
1                 return True;  
-----
2             when others =>
2                 Error2
2                    ("Internal error: unknown binary operator?",  
2                     "Lexeme kind: " &  
2                        Chop3 (Lexeme_Kind'Image (Bin_Op)) &  
2                        " {" & String (Substring_To (Cur_Text, 1, 512)) & "}");
2                 return True;

* Change 481..492
1         if Parse_Primary (In_File, Out_File) then  
1             return True;  
1         end if;  
1         if not Binary_Operator (Next_Token (In_File,  
1                                             Out_File,  
1                                             Want_Eol => False)) then  
1             return False;  
1         end if;  
1         if Parse_Secondary (In_File, Out_File, Cur_Lexeme) then  
1             return True;  
1         end if;  
1         return False;
-----
2         if Parse_Primary (In_File, Out_File) then
2             return True;
2         end if;
2         loop
2             if not Binary_Operator (Cur_Lexeme) then
2                 return False;
2             end if;
2             if Parse_Secondary (In_File, Out_File, Cur_Lexeme) then
2                 return True;
2             end if;
2         end loop;

* Change 504..508
1         Controls       : Natural;  
1         Control_Indent : Natural := Cur_Indent;  
1         Our_Outer      : Boolean := Cur_Hide_State;  
1         Our_Cur        : Boolean;  
1         Tmp            : Integer;  
-----
2         Controls       : S_Natural;
2         Control_Indent : S_Natural := Cur_Indent;
2         Our_Outer      : Boolean   := Cur_Hide_State;
2         Our_Cur        : Boolean;
2         Tmp            : S_Long;

* Change 514..519
1         <<Condition_Loop>> null;  
1         Cur_Lexeme := Next_Token (In_File, Out_File, Want_Eol => False);  
1         if Parse_Expression (In_File, Out_File) then  
1             return;  
1         end if;  
1         if Expr_Value.Kind /= Sk_Boolean then  
-----
2         <<Condition_Loop>> null;
2         Cur_Lexeme := Next_Token (In_File, Out_File, Want_Eol => False);
2         if Parse_Expression (In_File, Out_File) then
2             return;
2         end if;
2         if Expr_Value.Kind /= Sk_Boolean then

* Change 521..526
1                     "Expression kind : " &  
1                        Chop3 (Symbol_Kind'Image (Expr_Value.Kind)));  
1             Our_Outer := True and not Normalizing;  
1             Our_Cur   := True and not Normalizing;  
1         else  
1             Our_Cur := (Our_Outer or not Expr_Value.Bool) and not Normalizing;  
-----
2                     "Expression kind : " &
2                        Chop3 (Symbol_Kind'Image (Expr_Value.Kind)));
2             Our_Outer := True and not Normalizing;
2             Our_Cur   := True and not Normalizing;
2         else
2             Our_Cur := (Our_Outer or not Expr_Value.Bool) and not Normalizing;

* Change 532..537
1         if Cur_Lexeme /= Lk_Then then  
1             Error1 ("IF <EXPR> was not followed by a THEN?");  
1             return;  
1         end if;  
1         if Next_Token (In_File, Out_File, Want_Eol => True) /= Lk_Eol then  
1             Error2 ("IF <EXPR> THEN was followed by something other than " &  
-----
2         if Cur_Lexeme /= Lk_Then then
2             Error1 ("IF <EXPR> was not followed by a THEN?");
2             return;
2         end if;
2         if Next_Token (In_File, Out_File, Want_Eol => True) /= Lk_Eol then
2             Error2 ("IF <EXPR> THEN was followed by something other than " &

* Change 540..541
1                        " {" & To_String (Cur_Text) & "}");  
1             return;  
-----
2                        " {" & String (Substring_To (Cur_Text, 1, 512)) & "}");
2             return;

* Change 555..559
1         while not Next_Line (In_File) loop  
1             Controls := Cur_Line_Controls;  
1             if Controls = 1 then  
1                 Output_Line (Out_File, Orig_Line);  
1                 exit;  
-----
2         while not Next_Line (In_File) loop
2             Controls := Cur_Line_Controls;
2             if Controls = 1 then
2                 Output_Line (Out_File, Orig_Line);
2                 exit;

* Change 564..569
1             if Controls = 2 then  
1                 if Our_Cur then  
1                     Output_Line (Out_File, Orig_Line);  
1                 else  
1                     Tmp := 1 + (Orig_Line.Length - Cur_Line.Length);  
1                     if Tmp > 5 then  
-----
2             if Controls = 2 then
2                 if Our_Cur then
2                     Output_Line (Out_File, Orig_Line);
2                 else
2                     Tmp := 1 + (Orig_Line.Length - Cur_Line.Length);
2                     if Tmp > 5 then

* Change 572..575
1                             Text_Io.Positive_Count  
1                                (1 + (Orig_Line.Length - Cur_Line.Length) - 5));  
1                     end if;  
1                     Output_Line (Out_File, Cur_Line);  
-----
2                             Text_Io.Positive_Count
2                                (1 + (Orig_Line.Length - Cur_Line.Length) - 5));
2                     end if;
2                     Output_Line (Out_File, Cur_Line);

* Change 580..584
1             else  
1                 if Our_Cur then  
1                     Text_Io.Put (Out_File, "--// ");  
1                 end if;  
1                 Output_Line (Out_File, Orig_Line);  
-----
2             else
2                 if Our_Cur then
2                     Text_Io.Put (Out_File, "--// ");
2                 end if;
2                 Output_Line (Out_File, Orig_Line);

* Change 597
1             when Lk_Error =>  
-----
2             when Lk_Error =>

* Change 602
1             when Lk_Eol =>  
-----
2             when Lk_Eol =>

* Change 609
1             when Lk_Elsif =>  
-----
2             when Lk_Elsif =>

* Change 612..613
1                                     not Normalizing;  
1                 end if;  
-----
2                                     not Normalizing;
2                 end if;

* Change 618
1             when Lk_Else =>  
-----
2             when Lk_Else =>

* Change 621
1                                Want_Eol => True) /= Lk_Eol then  
-----
2                                Want_Eol => True) /= Lk_Eol then

* Change 623
1                             "Lexeme kind: " &  
-----
2                             "Lexeme kind: " &

* Change 625
1                                " {" & To_String (Cur_Text) & "}");  
-----
2                                " {" &
2                                String (Substring_To (Cur_Text, 1, 512)) & "}");

* Change 635
1                                   not Normalizing;  
-----
2                                   not Normalizing;

* Change 637..638
1                     Our_Cur := not Our_Cur and not Normalizing;  
1                 end if;  
-----
2                     Our_Cur := not Our_Cur and not Normalizing;
2                 end if;

* Change 643
1             when Lk_End =>  
-----
2             when Lk_End =>

* Change 646..647
1                                Want_Eol => False) /= Lk_If then  
1                     Error2  
-----
2                                Want_Eol => False) /= Lk_If then
2                     Error2

* Change 649
1                         "Lexeme kind: " &  
-----
2                         "Lexeme kind: " &

* Change 651
1                            " {" & To_String (Cur_Text) & "}");  
-----
2                            " {" &
2                            String (Substring_To (Cur_Text, 1, 512)) & "}");

* Change 654..655
1                                   Want_Eol => False) /= Lk_Semicolon then  
1                     Error2  
-----
2                                   Want_Eol => False) /= Lk_Semicolon then
2                     Error2

* Change 657
1                         "Lexeme kind: " &  
-----
2                         "Lexeme kind: " &

* Change 659..660
1                            " {" & To_String (Cur_Text) & "}");  
1                 end if;  
-----
2                            " {" &
2                            String (Substring_To (Cur_Text, 1, 512)) & "}");
2                 end if;

* Change 665..667
1             when others =>  
1                 Handle_Control (In_File, Out_File, Our_Cur);  
1                 goto Reading_Loop;  
-----
2             when others =>
2                 Handle_Control (In_File, Out_File, Our_Cur);
2                 goto Reading_Loop;

* Change 684..685
1             when Lk_If =>  
1                 Handle_Control_If (In_File, Out_File, Cur_Hide_State);  
-----
2             when Lk_If =>
2                 Handle_Control_If (In_File, Out_File, Cur_Hide_State);

* Change 690..694
1             when others =>  
1                 Error2 ("Unexpected control token found.",  
1                         "Lexeme kind: " &  
1                            Chop3 (Lexeme_Kind'Image (Cur_Lexeme)) &  
1                            " {" & To_String (Cur_Text) & "}");  
-----
2             when others =>
2                 Error2
2                    ("Unexpected control token found.",  
2                     "Lexeme kind: " &  
2                        Chop3 (Lexeme_Kind'Image (Cur_Lexeme)) &  
2                        " {" & String (Substring_To (Cur_Text, 1, 512)) & "}");

* Change 710..715
1         while not Next_Line (In_File) loop  
1             Output_Line (Out_File, Orig_Line);  
1             case Cur_Line_Controls is  
1                 when 0 =>  
1                     null;  
1                 when 1 =>  
-----
2         while not Next_Line (In_File) loop
2             Output_Line (Out_File, Orig_Line);
2             case Cur_Line_Controls is
2                 when 0 =>
2                     null;
2                 when 1 =>

* Change 719..724
1                        Cur_Lexeme /= Lk_Eol then  
1                         Handle_Control (In_File, Out_File,  
1                                         Cur_Hide_State => False);  
1                     end if;  
1                 when others =>  
1                     Error  
-----
2                        Cur_Lexeme /= Lk_Eol then
2                         Handle_Control (In_File, Out_File,
2                                         Cur_Hide_State => False);
2                     end if;
2                 when others =>
2                     Error

* Change 726
1             end case;  
-----
2             end case;

* Change 749
1         Normalizing := Normalize;  
-----
2         Normalizing := Normalize;

* Change 754..755
1         if There_Were_Errors then  
1             raise Ada_Parameterization_Errors;  
-----
2         if There_Were_Errors then
2             raise Ada_Parameterization_Errors;

* Change 774..775
1         In_File  : Text_Io.File_Type;  
1         Out_File : Text_Io.File_Type;  
-----
2         In_File  : Text_Io.File_Type;
2         Out_File : Text_Io.File_Type;
2         Value    : Symbol_Value;
2         Success  : Boolean;

* Insert after 776
2 
2 ----See if we are on/for an R1000.
2 
2         Symbol_Table.Symbol_Map.Find (Symbol_Table.Sym_Map,  
2                                       "R1000",  
2                                       Value,  
2                                       Success);
2         if not Success then
2             On_R1000 := False;
2         else
2             On_R1000 := Value.Bool;
2         end if;
2 

* Change 780..788
1         begin  
1             Text_Io.Open (In_File, Text_Io.In_File, Input);  
1         exception  
1             when Text_Io.Name_Error =>  
1                 Error ("Input file " & Input & " not found?");  
1                 raise;  
1             when others =>  
1                 Error ("Unexpected exception when opening input file " & Input);  
1                 raise;  
-----
2         begin
2             Text_Io.Open (In_File, Text_Io.In_File, Input);
2         exception
2             when Text_Io.Name_Error =>
2                 Error ("Input file " & Input & " not found?");
2                 raise;
2             when others =>
2                 Error ("Unexpected exception when opening input file " & Input);
2                 raise;

* Change 793..806
1         begin  
1             Text_Io.Create (Out_File, Text_Io.Out_File, Output);  
1         exception  
1             when others =>  
1                 begin  
1                     Text_Io.Open (Out_File, Text_Io.Out_File, Output);  
1                 exception  
1                     when others =>  
1                         Text_Io.Close (In_File);  
1                         Error  
1                            ("Unexpected exception when opening output file " &  
1                             Output);  
1                         raise;  
1                 end;  
-----
2         begin
2             Text_Io.Create (Out_File, Text_Io.Out_File, Output);
2         exception
2             when others =>
2                 begin
2                     Text_Io.Open (Out_File, Text_Io.Out_File, Output);
2                 exception
2                     when others =>
2                         Text_Io.Close (In_File);
2                         Error
2                            ("Unexpected exception when opening output file " &
2                             Output);
2                         raise;
2                 end;

* Change 811
1         Normalizing := Normalize;  
-----
2         Normalizing := Normalize;

* Change 816..819
1         if There_Were_Errors then  
1             raise Ada_Parameterization_Errors;  
1         end if;  
1         Text_Io.Close (In_File);  
-----
2         if There_Were_Errors then
2             raise Ada_Parameterization_Errors;
2         end if;
2         Text_Io.Close (In_File);

* Change 824..826
1         when others =>  
1             Text_Io.Close (In_File);  
1             Text_Io.Close (Out_File);  
-----
2         when others =>
2             Text_Io.Close (In_File);
2             Text_Io.Close (Out_File);

* Change 837..838
1     Set_Breakset  
1        (Skip_Whitespace,  
-----
2     Set_Breakset
2        (Skip_Whitespace,

* Change 841
1 end Ada_Parameterization;  
-----
2 end Ada_Parameterization;
16:16:11 ::: [end of File_Utilities.Difference].
16:16:12 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:16:12 ... ADA_PARAMETIZER.ADA_PARAMETERIZATION'SPEC'V(1)", "!X11.X_TOOLS.
16:16:12 ... REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.
16:16:12 ... ADA_PARAMETERIZATION'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.ADA_PARAMETIZER.ADA_PARAMETERIZATION'SPEC
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.ADA_PARAMETERIZATION'SPEC
* Change 7
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
16:16:13 ::: [end of File_Utilities.Difference].
16:16:14 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:16:14 ... ADA_PARAMETIZER.ADA_PARAM_DOC'V(1)", "!X11.X_TOOLS.
16:16:14 ... REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.ADA_PARAM_DOC'V(1)", "", 
16:16:14 ... TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.ADA_PARAMETIZER.ADA_PARAM_DOC
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.ADA_PARAM_DOC
* Change 23
1 "Porting the Rational X Library".  08/13/90  Please refer
-----
2 "Porting the Rational X Library" as of 08/13/90  Please refer
16:16:15 ::: [end of File_Utilities.Difference].
16:16:15 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:16:15 ... ADA_PARAMETIZER.ADA_PARAM_UNIX_BODY'V(1)", "!X11.X_TOOLS.
16:16:15 ... REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.ADA_PARAM_UNIX_BODY'V(1)", 
16:16:15 ... "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.ADA_PARAMETIZER.ADA_PARAM_UNIX_BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.ADA_PARAM_UNIX_BODY
* Insert after 20
2 with Arithmetic;
2 use Arithmetic;

* Change 31
1 -- Copyright 1989, 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 93
1                        Arg_Max_Len : Integer) return Integer;
-----
2                        Arg_Max_Len : Integer) return S_Long;

* Change 111..112
1     Argv    : String (1 .. 1024);
1     Argvlen : Integer;
-----
2     Argv    : E_String (1 .. 1024);
2     Argvlen : S_Long;

* Insert after 153
2         St_I     : Natural;
2         St_O     : Natural;
2         Fi_I     : Natural;
2         Fi_O     : Natural;

* Insert after 174
2 
2 ----Read a line.  Strip off leading and trailing blanks.
2 

* Insert after 175
2                     St_I := 1;
2                     for I in 1..Inp_Len loop
2                         if Inp_Line (I) = ' ' or else
2                            Inp_Line (I) = Ascii.Ht then
2                             St_I := I + 1;
2                         else
2                             exit;
2                         end if;
2                     end loop;
2                     Fi_I := Inp_Len;
2                     for I in reverse St_I..Inp_Len loop
2                         if Inp_Line (I) = ' ' or else  
2                            Inp_Line (I) = Ascii.Ht then
2                             Fi_I := I - 1;
2                         else
2                             exit;
2                         end if;
2                     end loop;
2 
2 ----Read a line.  Strip off leading and trailing blanks.
2 

* Insert after 176
2                     St_O := 1;
2                     for I in 1..Out_Len loop
2                         if Out_Line (I) = ' ' or else
2                            Out_Line (I) = Ascii.Ht then
2                             St_O := I + 1;
2                         else
2                             exit;
2                         end if;
2                     end loop;
2                     Fi_O := Out_Len;
2                     for I in reverse St_O..Out_Len loop
2                         if Out_Line (I) = ' ' or else  
2                            Out_Line (I) = Ascii.Ht then
2                             Fi_O := I - 1;
2                         else
2                             exit;
2                         end if;
2                     end loop;
2 
2 ----Are the two stripped lines the same?
2 

* Change 178..179
1                        Inp_Len /= Out_Len or else
1                        Inp_Line (1 .. Inp_Len) /= Out_Line (1 .. Out_Len) then
-----
2                        Fi_I - St_I /= Fi_O - St_O or else
2                        Inp_Line (St_I .. Fi_I) /= Out_Line (St_O .. Fi_O) then

* Insert after 271
2 
2                               & "TeleGen2               => True,"  
2                               & "Unix                   => True,"  
2                               & "SysV                   => False,"
2 
2 -- Bugs present in TeleGen2 68K Unix; including version 1.4A
2 
2                               & "TeleGen2_2d_Bug        => True,"  
2                               & "TeleGen2_Derive_Bug    => True,"  
2                               & "TeleGen2_Pack_Bug      => True,"

* Change 273..275
1                               & "TeleGen2,"  
1                               & "Unix                 => True,"  
1                               & "SysV                 => False,"
-----
2 -- Bugs fixed in TeleGen2 68K Unix; prior to version 1.4A

* Change 277..280
1                               & "TeleGen2_Derive_Bug,"  
1                               & "TeleGen2_2d_Bug,"  
1                               & "TeleGen2_Length_Bug,"  
1                               & "TeleGen2_Pack_Bug,"
-----
2                               & "TeleGen2_Length_Bug    => False,"

* Change 308
1         if "-x" = Argv (1 .. Argvlen) then
-----
2         if Argv (1 .. Argvlen) = "-x" then

* Change 312
1         elsif "-n" = Argv (1 .. Argvlen) then
-----
2         elsif Argv (1 .. Argvlen) = "-n" then

* Change 316
1         elsif "-p" = Argv (1 .. Argvlen) and then Argvi + 1 < Argc then
-----
2         elsif Argv (1 .. Argvlen) = "-p" and then Argvi + 1 < Argc then

* Change 323
1         elsif "-help" = Argv (1 .. Argvlen) then
-----
2         elsif Argv (1 .. Argvlen) = "-help" then

* Change 326
1         elsif "-" = Argv (1 .. Argvlen) or else
-----
2         elsif Argv (1 .. Argvlen) = "-" or else

* Change 330
1                        To_String (Input) & "  " & Argv (1 .. Argvlen));
-----
2                        To_String (To_String (Input)) & "  " &
2                        To_String (Argv (1 .. Argvlen)));

* Change 336
1         elsif "-i" = Argv (1 .. Argvlen) and then Argvi + 1 < Argc then
-----
2         elsif Argv (1 .. Argvlen) = "-i" and then Argvi + 1 < Argc then

* Change 341
1                        To_String (Input) & "  " & Argv (1 .. Argvlen));
-----
2                        To_String (To_String (Input)) & "  " &
2                        To_String (Argv (1 .. Argvlen)));

* Change 349
1                    Argv (1 .. Argvlen) & "}");
-----
2                    To_String (Argv (1 .. Argvlen)) & "}");

* Change 384..386
1     Information ("[Ada_Parameterization(Input=>" & To_String (Input) &
1                  ", Output => " & To_String (Output) &
1                  ", Parms => """ & To_String (Parms) & """" &    
-----
2     Information ("[Ada_Parameterization(Input=>" & 
2                  To_String (To_String (Input)) &
2                  ", Output => " & To_String (To_String (Output)) &
2                  ", Parms => """ & To_String (To_String (Parms)) & """" &    

* Change 391
1     Parameter_Definition (To_String (Parms));
-----
2     Parameter_Definition (To_String (To_String (Parms)));

* Change 395..397
1     if "-" /= To_String (Input) then
1         Process_File (To_String (Input), "ada.param.tmp", Normalize);
1         Replace_Old_File ("ada.param.tmp", To_String (Output));  
-----
2     if To_String (Input) /= "-" then
2         Process_File (To_String (To_String (Input)), "ada.param.tmp",
2                       Normalize);
2         Replace_Old_File ("ada.param.tmp", To_String (To_String (Output)));  

* Change 401
1             File_Ops.Unlink (To_String (Input));
-----
2             File_Ops.Unlink (To_String (To_String (Input)));
16:16:19 ::: [end of File_Utilities.Difference].
16:16:19 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:16:19 ... ADA_PARAMETIZER.ADA_PARAM_UNIX_SPEC'V(1)", "!X11.X_TOOLS.
16:16:19 ... REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.ADA_PARAM_UNIX_SPEC'V(1)", 
16:16:19 ... "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.ADA_PARAMETIZER.ADA_PARAM_UNIX_SPEC
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.ADA_PARAM_UNIX_SPEC
* Change 2
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
16:16:20 ::: [end of File_Utilities.Difference].
16:16:22 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:16:22 ... ADA_PARAMETIZER.ERROR_REPORT'BODY'V(5)", "!X11.X_TOOLS.
16:16:22 ... REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.ERROR_REPORT'BODY'V(1)", 
16:16:22 ... "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.ADA_PARAMETIZER.ERROR_REPORT'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.ERROR_REPORT'BODY
* Change 1
1 with Calendar;  
-----
2 with Calendar;

* Change 6
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 36..37
1     begin  
1         Error_Called := Yes;  
-----
2     begin
2         Error_Called := Yes;

* Change 45..46
1     begin  
1         return Error_Called;  
-----
2     begin
2         return Error_Called;

* Change 50
1     procedure Shoot (Preface : String; Msg : String) is  
-----
2     procedure Shoot (Preface : String; Msg : String) is

* Change 53..77
1         Dur      : Day_Duration := Seconds (Clock);  
1         Hrs      : Natural := Natural (Dur / Duration (3600.0));  
1         Dur_Hrs  : Day_Duration :=  
1            Day_Duration (Day_Duration (Hrs) * Day_Duration (3600.0));  
1         Mins     : Natural := Natural ((Dur - Dur_Hrs) / Day_Duration (60.0));  
1         Dur_Mins : Day_Duration :=  
1            Day_Duration (Day_Duration (Mins) * Day_Duration (60.0));  
1         Secs     : Natural := Natural (Dur - Dur_Hrs - Dur_Mins);  
1     begin  
1         if Hrs < 10 then  
1             Text_Io.Put (Text_Io.Standard_Output, '0');  
1         end if;  
1         Inte_Io.Put (Text_Io.Standard_Output, Hrs, Width => 0);  
1         Text_Io.Put (Text_Io.Standard_Output, ':');  
1         if Mins < 10 then  
1             Text_Io.Put (Text_Io.Standard_Output, '0');  
1         end if;  
1         Inte_Io.Put (Text_Io.Standard_Output, Mins, Width => 0);  
1         Text_Io.Put (Text_Io.Standard_Output, ':');  
1         if Secs < 10 then  
1             Text_Io.Put (Text_Io.Standard_Output, '0');  
1         end if;  
1         Inte_Io.Put (Text_Io.Standard_Output, Secs, Width => 0);  
1         Text_Io.Put (Text_Io.Standard_Output, Preface);  
1         Text_Io.Put_Line (Text_Io.Standard_Output, Msg);  
-----
2         Dur      : Day_Duration := Seconds (Clock);
2         Hrs      : Natural := Natural (Dur / Duration (3600.0));
2         Dur_Hrs  : Day_Duration :=
2            Day_Duration (Day_Duration (Hrs) * Day_Duration (3600.0));
2         Mins     : Natural := Natural ((Dur - Dur_Hrs) / Day_Duration (60.0));
2         Dur_Mins : Day_Duration :=
2            Day_Duration (Day_Duration (Mins) * Day_Duration (60.0));
2         Secs     : Natural := Natural (Dur - Dur_Hrs - Dur_Mins);
2     begin
2         if Hrs < 10 then
2             Text_Io.Put (Text_Io.Standard_Output, '0');
2         end if;
2         Inte_Io.Put (Text_Io.Standard_Output, Hrs, Width => 0);
2         Text_Io.Put (Text_Io.Standard_Output, ':');
2         if Mins < 10 then
2             Text_Io.Put (Text_Io.Standard_Output, '0');
2         end if;
2         Inte_Io.Put (Text_Io.Standard_Output, Mins, Width => 0);
2         Text_Io.Put (Text_Io.Standard_Output, ':');
2         if Secs < 10 then
2             Text_Io.Put (Text_Io.Standard_Output, '0');
2         end if;
2         Inte_Io.Put (Text_Io.Standard_Output, Secs, Width => 0);
2         Text_Io.Put (Text_Io.Standard_Output, Preface);
2         Text_Io.Put_Line (Text_Io.Standard_Output, Msg);

* Change 81..84
1     procedure Error (Msg : String) is  
1     begin  
1         Error_Called := True;  
1         Shoot (" *** ", Msg);  
-----
2     procedure Error (Msg : String) is
2     begin
2         Error_Called := True;
2         Shoot (" *** ", Msg);

* Change 88..90
1     procedure Warning (Msg : String) is  
1     begin  
1         Shoot (" !!! ", Msg);  
-----
2     procedure Warning (Msg : String) is
2     begin
2         Shoot (" !!! ", Msg);

* Change 94..96
1     procedure Information (Msg : String) is  
1     begin  
1         Shoot (" --- ", Msg);  
-----
2     procedure Information (Msg : String) is
2     begin
2         Shoot (" --- ", Msg);

* Change 100
1 end Error_Report;  
-----
2 end Error_Report;
16:16:23 ::: [end of File_Utilities.Difference].
16:16:24 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:16:24 ... ADA_PARAMETIZER.ERROR_REPORT'SPEC'V(1)", "!X11.X_TOOLS.
16:16:24 ... REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.ERROR_REPORT'SPEC'V(1)", 
16:16:24 ... "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.ADA_PARAMETIZER.ERROR_REPORT'SPEC
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.ERROR_REPORT'SPEC
* Change 3
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
16:16:25 ::: [end of File_Utilities.Difference].
16:16:26 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:16:26 ... ADA_PARAMETIZER.LEXEMES'BODY'V(5)", "!X11.X_TOOLS.
16:16:26 ... REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.LEXEMES'BODY'V(1)", "", 
16:16:26 ... TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.ADA_PARAMETIZER.LEXEMES'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.LEXEMES'BODY
* Change 1..9
1 with Symbol_Table;  
1 with Text_Io;  
1 with Vstring_Equal;  
1 use Vstring_Equal;  
1 with Vstring_Scan;  
1 use Vstring_Scan;  
1 with Vstring_Query;  
1 use Vstring_Query;  
1 with Vstring_Type;  
-----
2 with Text_Io;
2 
2 with Symbol_Table;
2 
2 with Arithmetic;
2 use Arithmetic;
2 with Vstring_Equal;
2 use Vstring_Equal;
2 with Vstring_Scan;
2 use Vstring_Scan;
2 with Vstring_Query;
2 use Vstring_Query;
2 with Vstring_Type;

* Change 14
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 44
1                            Text   : in out Vstring;  
-----
2                            Text   : in out Vstring;

* Change 59..60
1         Brk     : Character;  
1         Success : Boolean;  
-----
2         Brk     : Character;
2         Success : Boolean;

* Change 63
1         Trunc_Scan (Line, Skip_Whitespace, Brk);  
-----
2         Trunc_Scan (Line, Skip_Whitespace, Brk);

* Change 66..70
1             when Ascii.Nul =>  
1                 if Line.Length = 0 then  
1                     Lexeme := Lk_Eol;  
1                 else  
1                     Lexeme := Lk_Error;  
-----
2             when Ascii.Nul =>
2                 if Line.Length = 0 then
2                     Lexeme := Lk_Eol;
2                 else
2                     Lexeme := Lk_Error;

* Change 75..76
1             when 'A' .. 'Z' | 'a' .. 'z' =>  
1                 Scan (Text, Line, Over_Identifier, Brk);  
-----
2             when 'A' .. 'Z' | 'a' .. 'z' =>
2                 Scan (Text, Line, Over_Identifier, Brk);

* Change 80..86
1                                               Success);  
1                 if not Success then  
1                     Lexeme := Lk_Unknown;  
1                 elsif Value.Kind = Sk_Keyword then  
1                     Lexeme := Value.Kwd;  
1                 else  
1                     Lexeme := Lk_Identifier;  
-----
2                                               Success);
2                 if not Success then
2                     Lexeme := Lk_Unknown;
2                 elsif Value.Kind = Sk_Keyword then
2                     Lexeme := Value.Kwd;
2                 else
2                     Lexeme := Lk_Identifier;

* Change 91..104
1             when '|' =>  
1                 Brk    := Lop_First (Line);  
1                 Lexeme := Lk_Vbar;  
1             when ',' =>  
1                 Brk    := Lop_First (Line);  
1                 Lexeme := Lk_Comma;  
1             when ';' =>  
1                 Brk    := Lop_First (Line);  
1                 Lexeme := Lk_Semicolon;  
1             when '(' =>  
1                 Brk    := Lop_First (Line);  
1                 Lexeme := Lk_Lparen;  
1             when ')' =>  
1                 Brk    := Lop_First (Line);  
-----
2             when '|' =>
2                 Brk    := Lop_First (Line);
2                 Lexeme := Lk_Vbar;
2             when ',' =>
2                 Brk    := Lop_First (Line);
2                 Lexeme := Lk_Comma;
2             when ';' =>
2                 Brk    := Lop_First (Line);
2                 Lexeme := Lk_Semicolon;
2             when '(' =>
2                 Brk    := Lop_First (Line);
2                 Lexeme := Lk_Lparen;
2             when ')' =>
2                 Brk    := Lop_First (Line);

* Change 109
1             when '=' =>  
-----
2             when '=' =>

* Change 111..121
1                    Line.Chars (2) = '>' then  
1                     Lexeme := Lk_Arrow;  
1                     Truncstring_For (Line, 3, Positive'Last);  
1                 else  
1                     Brk    := Lop_First (Line);  
1                     Lexeme := Lk_Eql;  
1                 end if;  
1             when '/' =>  
1                 if Equal_Prefix (Line, "/=") then  
1                     Lexeme := Lk_Neq;  
1                     Truncstring_For (Line, 3, Positive'Last);  
-----
2                    Line.Chars (2) = '>' then
2                     Lexeme := Lk_Arrow;
2                     Truncstring_For (Line, 3, Inf);
2                 else
2                     Brk    := Lop_First (Line);
2                     Lexeme := Lk_Eql;
2                 end if;
2             when '/' =>
2                 if Equal_Prefix (Line, "/=") then
2                     Lexeme := Lk_Neq;
2                     Truncstring_For (Line, 3, Inf);

* Change 124
1                     Lexeme := Lk_Error;  
-----
2                     Lexeme := Lk_Error;

* Change 129
1             when '-' =>  
-----
2             when '-' =>

* Change 131..135
1                    Line.Chars (2) /= '-' then  
1                     Lexeme := Lk_Error;  
1                 else  
1                     Empty_Vstring (Line);  
1                     Lexeme := Lk_Eol;  
-----
2                    Line.Chars (2) /= '-' then
2                     Lexeme := Lk_Error;
2                 else
2                     Empty_Vstring (Line);
2                     Lexeme := Lk_Eol;

* Change 140
1             when others =>  
-----
2             when others =>

* Change 150..152
1     Set_Breakset  
1        (Over_Identifier,  
1         "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_",  
-----
2     Set_Breakset
2        (Over_Identifier,
2         "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_",

* Change 155..157
1     Set_Breakset  
1        (Skip_Whitespace,  
1         ' ' & Ascii.Ht & Ascii.Cr & Ascii.Lf & Ascii.Ff & Ascii.Vt & Ascii.Nul,  
-----
2     Set_Breakset
2        (Skip_Whitespace,
2         ' ' & Ascii.Ht & Ascii.Cr & Ascii.Lf & Ascii.Ff & Ascii.Vt & Ascii.Nul,

* Change 160
1 end Lexemes;  
-----
2 end Lexemes;
16:16:28 ::: [end of File_Utilities.Difference].
16:16:30 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:16:30 ... ADA_PARAMETIZER.LEXEMES'SPEC'V(5)", "!X11.X_TOOLS.
16:16:30 ... REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.LEXEMES'SPEC'V(1)", "", 
16:16:30 ... TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.ADA_PARAMETIZER.LEXEMES'SPEC
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.LEXEMES'SPEC
* Change 1..2
1 with Text_Io;  
1 with Vstring_Type;  
-----
2 with Text_Io;
2 
2 with Vstring_Type;

* Change 9
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 72..75
1     type Symbol_Value (Kind : Symbol_Kind := Sk_Boolean) is  
1         record  
1             Permanent : Boolean;  
1             case Kind is  
-----
2     type Symbol_Value (Kind : Symbol_Kind := Sk_Boolean) is
2         record
2             Permanent : Boolean;
2             case Kind is

* Change 77..80
1                     Kwd : Lexeme_Kind;  
1                 when Sk_Boolean =>  
1                     Bool : Boolean;  
1             end case;  
-----
2                     Kwd : Lexeme_Kind;
2                 when Sk_Boolean =>
2                     Bool : Boolean;
2             end case;

* Change 86
1                            Text   : in out Vstring;  
-----
2                            Text   : in out Vstring;

* Change 103
1 end Lexemes;  
-----
2 end Lexemes;
16:16:31 ::: [end of File_Utilities.Difference].
16:16:32 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:16:32 ... ADA_PARAMETIZER.PARAMETERIZE_ADA_UNIT'BODY'V(5)", "!X11.X_TOOLS.
16:16:32 ... REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.
16:16:32 ... PARAMETERIZE_ADA_UNIT'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.ADA_PARAMETIZER.PARAMETERIZE_ADA_UNIT'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.PARAMETERIZE_ADA_UNIT'BODY
* Change 1..7
1 with Compilation;  
1 with Debug_Tools;  
1 with Directory_Tools;  
1 with Io;  
1 with Library;  
1 with Log;  
1 with Profile;  
-----
2 with Ada;
2 with Common;
2 with Compilation;
2 with Debug_Tools;
2 with Directory_Tools;
2 with Editor;
2 with Io;
2 with Library;
2 with Log;
2 with Profile;

* Change 12..14
1 procedure Parameterize_Ada_Unit (Unit      : String  := "@'c(Ada)";  
1                                  Parms     : String  := "";  
1                                  Repromote : Boolean := False;  
-----
2 procedure Parameterize_Ada_Unit (Unit      : String  := "@'c(Ada)";
2                                  Parms     : String  := "";
2                                  Repromote : Boolean := False;

* Change 17
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 37
1     package Naming renames Directory_Tools.Naming;  
-----
2     package Naming renames Directory_Tools.Naming;

* Delete 43..62
1 
1     Total_Parms : constant String :=  
1        ""                           -- These all apply for R1000's
1            & "DEBUG,"
1 
1            & "R1000,"  
1            & "R1000_SIZE_BUG,"
1 
1            & "MULTITASK_LOCKING,"
1 
1            & "ENABLE_DEALLOCATION,"  
1            & "LENGTH_CLAUSES,"  
1            & "RECORD_REP_CLAUSES => FALSE,"
1 
1            & "BIT0_SIGN_BIT             => TRUE, "  
1            & "BYTE0_SIGN_BYTE           => TRUE, "  
1            & "RECORD_REP_STORAGE_UNIT_8 => TRUE, "  
1            & "POSITIVE_IS_LARGE         => TRUE, "  
1            & "RAW_IS_UNSIGNED           => TRUE, "  
1            & "ROW_MAJOR_ORDER           => TRUE, "

* Change 64
1            & Parms;
-----
2     -- Total_Parms : constant String :=
2     --    ""                           -- These all apply for R1000's
2     --        & "DEBUG,"
2     --
2     --        & "R1000,"
2     --        & "R1000_SIZE_BUG,"
2     --
2     --        & "MULTITASK_LOCKING,"
2     --
2     --        & "ENABLE_DEALLOCATION,"
2     --        & "LENGTH_CLAUSES,"
2     --        & "RECORD_REP_CLAUSES => FALSE,"
2     --
2     --        & "BIT0_SIGN_BIT             => TRUE, "
2     --        & "BYTE0_SIGN_BYTE           => TRUE, "
2     --        & "RECORD_REP_STORAGE_UNIT_8 => TRUE, "
2     --        & "POSITIVE_IS_LARGE         => TRUE, "
2     --        & "RAW_IS_UNSIGNED           => TRUE, "
2     --        & "ROW_MAJOR_ORDER           => TRUE, "
2     --
2     --        & Parms;

* Change 66..69
1     Temp_File_Name : constant String :=  
1        "!Machine.Temporary.Parameterize_Ada_Unit_" &  
1           Time_Utilities.Image (Time_Utilities.Get_Time,  
1                                 Date_Style => Time_Utilities.Ada,  
-----
2     Temp_File_Name : constant String :=
2        "!Machine.Temporary.Parameterize_Ada_Unit_" &
2           Time_Utilities.Image (Time_Utilities.Get_Time,
2                                 Date_Style => Time_Utilities.Ada,

* Change 72..73
1           Time_Utilities.Image (Time_Utilities.Get_Time,  
1                                 Time_Style => Time_Utilities.Ada,  
-----
2           Time_Utilities.Image (Time_Utilities.Get_Time,
2                                 Time_Style => Time_Utilities.Ada,

* Change 89..100
1         use Io;  
1         Inp_File : File_Type;  
1         Out_File : File_Type;  
1         Inp_Line : String (1 .. 1024);  
1         Out_Line : String (1 .. 1024);  
1         Inp_Len  : Natural;  
1         Out_Len  : Natural;  
1         Lno      : Positive_Count := 1;  
1         Pno      : Positive_Count := 1;  
1         Eof      : Boolean        := False;  
1         Eop      : Boolean        := False;  
1         Eol      : Boolean        := False;  
-----
2         use Io;
2         Inp_File : File_Type;
2         Out_File : File_Type;
2         Inp_Line : String (1 .. 1024);
2         Out_Line : String (1 .. 1024);
2         Inp_Len  : Natural;
2         Out_Len  : Natural;
2         Lno      : Positive_Count := 1;
2         Pno      : Positive_Count := 1;
2         Eof      : Boolean        := False;
2         Eop      : Boolean        := False;
2         Eol      : Boolean        := False;
2         St_I     : Natural;
2         St_O     : Natural;
2         Fi_I     : Natural;
2         Fi_O     : Natural;

* Change 105
1         Open (Inp_File, In_File, Input);  
-----
2         Open (Inp_File, In_File, Input);

* Change 110..115
1         begin  
1             loop  
1                 if End_Of_File (Inp_File) and then End_Of_File (Out_File) then  
1                     Close (Inp_File);  
1                     Close (Out_File);  
1                     return False;  
-----
2         begin
2             loop
2                 if End_Of_File (Inp_File) and then End_Of_File (Out_File) then
2                     Close (Inp_File);
2                     Close (Out_File);
2                     return False;

* Insert after 116
2 
2 ----Read a line.  Strip off leading and trailing blanks.
2 
2                 Get_Line (Inp_File, Inp_Line, Inp_Len);
2                 St_I := 1;
2                 for I in 1 .. Inp_Len loop
2                     if Inp_Line (I) = ' ' or else  
2                        Inp_Line (I) = Ascii.Ht then
2                         St_I := I + 1;
2                     else
2                         exit;
2                     end if;
2                 end loop;
2                 Fi_I := Inp_Len;
2                 for I in reverse St_I .. Inp_Len loop
2                     if Inp_Line (I) = ' ' or else  
2                        Inp_Line (I) = Ascii.Ht then
2                         Fi_I := I - 1;
2                     else
2                         exit;
2                     end if;
2                 end loop;
2 
2 ----Read a line.  Strip off leading and trailing blanks.
2 
2                 Get_Line (Out_File, Out_Line, Out_Len);
2                 St_O := 1;
2                 for I in 1 .. Out_Len loop
2                     if Out_Line (I) = ' ' or else  
2                        Out_Line (I) = Ascii.Ht then
2                         St_O := I + 1;
2                     else
2                         exit;
2                     end if;
2                 end loop;
2                 Fi_O := Out_Len;
2                 for I in reverse St_O .. Out_Len loop
2                     if Out_Line (I) = ' ' or else  
2                        Out_Line (I) = Ascii.Ht then
2                         Fi_O := I - 1;
2                     else
2                         exit;
2                     end if;
2                 end loop;

* Change 118
1 ----Get the next line, if it differs then exit the loop.
-----
2 ----Are the two stripped lines the same?

* Delete 120..121
1                 Get_Line (Inp_File, Inp_Line, Inp_Len);  
1                 Get_Line (Out_File, Out_Line, Out_Len);  

* Change 123..126
1                    Inp_Len /= Out_Len or else  
1                    Inp_Line (1 .. Inp_Len) /= Out_Line (1 .. Out_Len) then  
1                     exit;  
1                 end if;  
-----
2                    Fi_I - St_I /= Fi_O - St_O or else
2                    Inp_Line (St_I .. Fi_I) /= Out_Line (St_O .. Fi_O) then
2                     exit;
2                 end if;

* Change 131..133
1         exception  
1             when End_Error =>  
1                 null;  
-----
2         exception
2             when End_Error =>
2                 null;

* Change 138..139
1         Close (Inp_File);  
1         Close (Out_File);  
-----
2         Close (Inp_File);
2         Close (Out_File);

* Change 161
1         Ada_Parameterization.Process_File (Unit, Temp_File_Name);  
-----
2         Ada_Parameterization.Process_File (Unit, Temp_File_Name);

* Change 166..169
1             Compilation.Demote (Unit        => Unit,  
1                                 Goal        => Compilation.Source,  
1                                 Limit       => "<ALL_WORLDS>",  
1                                 Effort_Only => False,  
-----
2             Compilation.Demote (Unit        => Unit,
2                                 Goal        => Compilation.Source,
2                                 Limit       => "<ALL_WORLDS>",
2                                 Effort_Only => False,

* Insert after 172
2 
2             declare
2                 Old_Version : constant String :=
2                    Directory_Tools.Naming.Version_Attribute
2                       (Directory_Tools.Naming.Unique_Full_Name
2                           (Directory_Tools.Naming.Resolution (Unit)));
2             begin
2 
2                 Compilation.Parse  
2                    (File_Name      => Temp_File_Name,
2                     Directory      => Naming.Prefix (Unit) & ".$",
2                     List           => False,
2                     Source_Options => "",
2                     Response       => Response);
2 
2                 ----Silly damn Compilation does not RAISE on errors.  Arghhh...
2                 --  See if the version number changed.
2 
2                 if Old_Version =
2                    Directory_Tools.Naming.Version_Attribute
2                       (Directory_Tools.Naming.Unique_Full_Name
2                           (Directory_Tools.Naming.Resolution (Unit))) then
2 
2                     if Profile.Propagate (Response_Profile) then
2                         raise Library.Error;
2                     end if;
2                 end if;
2             end;
2 
2 ----Silly R1000 parser bug; it throws away all form-feeds.  Go put them
2 --  back into the image.
2 
2             Editor.Mark.Push (Repeat => 1);
2             Common.Edit (Name     => Unit,  
2                          In_Place => False,  
2                          Visible  => True);

* Change 174..178
1             Compilation.Parse (File_Name      => Temp_File_Name,  
1                                Directory      => Naming.Prefix (Unit),  
1                                List           => False,  
1                                Source_Options => "",  
1                                Response       => Response);  
-----
2             Editor.Image.Beginning_Of (Offset => 0);
2             Editor.Search.Replace_Next (Target      => "<!E" & "OP!>",
2                                         Replacement => (1 => Ascii.Ff),
2                                         Repeat      => 99999,
2                                         Wildcard    => False);
2             Ada.Source_Unit;
2             Common.Release (Window => "<IMAGE>");
2             Editor.Mark.Top;
2             Editor.Mark.Delete_Top;

* Insert after 181
2 
2 --
2     function No_Version (Name : String) return String is
2 ------------------------------------------------------------------------------
2 -- Remove the 'V(xxx) version attribute from a name.
2 ------------------------------------------------------------------------------
2     begin
2 
2         for I in reverse Name'Range loop
2             if Name (I) = ''' and then  
2                I <= Name'Last - 4 and then  
2                Name (I .. I + 2) = "'V(" then
2                 for J in I + 3 .. Name'Last loop
2                     if Name (J) = ')' then
2                         if J = Name'Last then
2                             return Name (Name'First .. I - 1);
2                         else
2                             return Name (Name'First .. I - 1) &
2                                       Name (J + 1 .. Name'Last);
2                         end if;
2                     end if;
2                 end loop;
2             end if;
2         end loop;
2 
2     end No_Version;

* Change 190..191
1         Unit_Iter   : Object.Iterator;  
1         Unit_Object : Object.Handle;  
-----
2         Unit_Iter   : Object.Iterator;
2         Unit_Object : Object.Handle;

* Change 196
1         Log.Put_Line ("[Parameterize_Ada_Unit (" & Unit & ")]",  
-----
2         Log.Put_Line ("[Parameterize_Ada_Unit (" & Unit & ")]",

* Change 202..204
1         Unit_Iter := Naming.Resolution (Unit);  
1         if Object.Done (Unit_Iter) then  
1             Log.Put_Line (Unit & " does not match any existing Ada units.",  
-----
2         Unit_Iter := Naming.Resolution ("[" & Unit & "]'c(ada)");
2         if Object.Done (Unit_Iter) then
2             Log.Put_Line (Unit & " does not match any existing Ada units.",

* Change 206..207
1                           Response_Profile);  
1             raise Quit;  
-----
2                           Response_Profile);
2             raise Quit;

* Insert after 210
2 
2         loop
2             Unit_Object := Object.Value (Unit_Iter);
2             declare
2                 Name : constant String :=
2                    No_Version (Naming.Unique_Full_Name (Unit_Object));
2             begin
2                 Process_Unit (Name);
2             end;
2 
2 ----Get the next unit.
2 
2             Object.Next (Unit_Iter);
2             if Object.Done (Unit_Iter) then
2                 exit;
2             end if;

* Delete 212..218
1         loop  
1             Unit_Object := Object.Value (Unit_Iter);  
1             Process_Unit (Naming.Unique_Full_Name (Unit_Object));  
1             Object.Next (Unit_Iter);  
1             if Object.Done (Unit_Iter) then  
1                 exit;  
1             end if;  

* Change 223..229
1         if Repromote then  
1             Compilation.Promote (Unit        => Unit,  
1                                  Scope       => Compilation.Subunits_Too,  
1                                  Goal        => Compilation.Installed,  
1                                  Limit       => "<WORLDS>",  
1                                  Effort_Only => False,  
1                                  Response    => Response);  
-----
2         if Repromote then
2             Compilation.Promote (Unit        => Unit,
2                                  Scope       => Compilation.Subunits_Too,
2                                  Goal        => Compilation.Installed,
2                                  Limit       => "<WORLDS>",
2                                  Effort_Only => False,
2                                  Response    => Response);

* Insert after 230
2 
2 ----Delete the temp file.
2 
2         Compilation.Delete (Unit     => Temp_File_Name,
2                             Limit    => "<WORLDS>",
2                             Response => Response & " ~:::");

* Delete 234..236
1         Compilation.Delete (Unit     => Temp_File_Name,  
1                             Limit    => "<WORLDS>",  
1                             Response => Response & " ~:::");  

* Change 239
1                       Response_Profile);  
-----
2                       Response_Profile);

* Change 251
1     Ada_Parameterization.Parameter_Definition (Total_Parms);  
-----
2     Ada_Parameterization.Parameter_Definition (Parms);

* Change 256
1     when Quit =>  
-----
2     when Quit | Library.Error =>

* Change 259
1                       Response_Profile);  
-----
2                       Response_Profile);

* Change 262..264
1     when others =>  
1         Log.Put_Line ("Unexpected exception: " &  
1                       Debug_Tools.Get_Exception_Name (True, True),  
-----
2     when others =>
2         Log.Put_Line ("Unexpected exception: " &
2                       Debug_Tools.Get_Exception_Name (True, True),

* Change 266
1                       Response_Profile);  
-----
2                       Response_Profile);

* Change 269
1 end Parameterize_Ada_Unit;  
-----
2 end Parameterize_Ada_Unit;
16:16:35 ::: [end of File_Utilities.Difference].
16:16:36 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:16:36 ... ADA_PARAMETIZER.PARAMETERIZE_ADA_UNIT'SPEC'V(1)", "!X11.X_TOOLS.
16:16:36 ... REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.
16:16:36 ... PARAMETERIZE_ADA_UNIT'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.ADA_PARAMETIZER.PARAMETERIZE_ADA_UNIT'SPEC
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.PARAMETERIZE_ADA_UNIT'SPEC
* Change 2
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.
16:16:37 ::: [end of File_Utilities.Difference].
16:16:37 !!! Only in !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.
16:16:37 !!! .ADA_PARAMETIZER.PARAMETERIZE_ADA_UNIT_CDF_HPUX'BODY.
16:16:37 !!! Only in !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.
16:16:37 !!! .ADA_PARAMETIZER.PARAMETERIZE_ADA_UNIT_CDF_HPUX'SPEC.
16:16:37 !!! Only in !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.
16:16:37 !!! .ADA_PARAMETIZER.PARAMETERIZE_ADA_UNIT_R1000'BODY.
16:16:37 !!! Only in !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.
16:16:37 !!! .ADA_PARAMETIZER.PARAMETERIZE_ADA_UNIT_R1000'SPEC.
16:16:37 !!! Only in !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:16:37 !!! .ADA_PARAMETIZER.STRING_MAP'BODY.
16:16:37 !!! Only in !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:16:37 !!! .ADA_PARAMETIZER.STRING_MAP'SPEC.
16:16:39 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:16:39 ... ADA_PARAMETIZER.SYMBOL_TABLE'BODY'V(5)", "!X11.X_TOOLS.
16:16:39 ... REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.SYMBOL_TABLE'BODY'V(1)", 
16:16:39 ... "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.ADA_PARAMETIZER.SYMBOL_TABLE'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.SYMBOL_TABLE'BODY
* Change 1..4
1 with Ada_Parameterization;  
1 with Error_Report;  
1 use Error_Report;  
1 with Lexemes;  
-----
2 with Ada_Parameterization;
2 with Error_Report;
2 use Error_Report;
2 with Lexemes;

* Change 7..13
1 with Vstring_Assign;  
1 use Vstring_Assign;  
1 with Vstring_Heap;  
1 use Vstring_Heap;  
1 with Vstring_Query;  
1 use Vstring_Query;  
1 with Vstring_Type;  
-----
2 with Arithmetic;
2 use Arithmetic;
2 with Vstring_Assign;
2 use Vstring_Assign;
2 with Vstring_Heap;
2 use Vstring_Heap;
2 with Vstring_Query;
2 use Vstring_Query;
2 with Vstring_Type;

* Change 20
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 41..42
1                       Key     : in String;  
1                       Rt      : in Symbol_Value;  
-----
2                       Key     : in E_String;  
2                       Rt      : in Symbol_Value;

* Change 46
1                             Name_Required :     Boolean;  
-----
2                             Name_Required :     Boolean;

* Change 73
1         Define (Sym_Map, "FALSE", (Sk_Boolean, True, Bool => False));  
-----
2         Define (Sym_Map, "FALSE", (Sk_Boolean, True, Bool => False));

* Change 88..91
1         Cur_Lexeme : Lexeme_Kind;  
1         Cur_Text   : Vstring := New_Vstring (64);  
1         Cur_Text2  : Vstring;  
1         Cur_Value  : Symbol_Value;  
-----
2         Cur_Lexeme : Lexeme_Kind;
2         Cur_Text   : Vstring := New_Vstring (64);
2         Cur_Text2  : Vstring;
2         Cur_Value  : Symbol_Value;

* Change 94
1         Empty_Vstring (Cur_Text);  
-----
2         Empty_Vstring (Cur_Text);

* Change 101
1            Cur_Lexeme = Lk_Comma then  
-----
2            Cur_Lexeme = Lk_Comma then

* Change 106..109
1         elsif Cur_Lexeme = Lk_Vbar then  
1             Parse_A_Name (Parms, True, Cur_Value);  
1             Symbol_Map.Insert  
1                (Sym_Map, To_String (Cur_Text), Cur_Value, Dups_Ok => True);  
-----
2         elsif Cur_Lexeme = Lk_Vbar then
2             Parse_A_Name (Parms, True, Cur_Value);
2             Symbol_Map.Insert
2                (Sym_Map, To_String (Cur_Text), Cur_Value, Dups_Ok => True);

* Change 115..137
1         elsif Cur_Lexeme = Lk_Arrow then  
1             Cur_Text2 := New_Vstring (64);  
1             Next_Lexeme (Parms, Cur_Lexeme, Cur_Text2, Cur_Value);  
1             Free_Vstring (Cur_Text2);  
1             if Cur_Lexeme = Lk_Identifier then  
1                 if Cur_Value.Kind = Sk_Keyword then  
1                     Error ("The keyword " & To_String (Cur_Text) &  
1                            " is not the name of a parameter.");  
1                     Cur_Value := (Sk_Boolean,  
1                                   Permanent => False,  
1                                   Bool      => False);  
1                 end if;  
1                 Cur_Value.Permanent := False;  
1             else  
1                 declare  
1                     Str : constant String := Lexeme_Kind'Image (Cur_Lexeme);  
1                 begin  
1                     Error ("Found a " & Str (Str'First + 3 .. Str'Last) &  
1                            " after " & To_String (Cur_Text) &  
1                            "=> in Additonal_Parameters argument?");  
1                 end;  
1                 Cur_Value := (Sk_Boolean, Permanent => False, Bool => False);  
1             end if;  
-----
2         elsif Cur_Lexeme = Lk_Arrow then
2             Cur_Text2 := New_Vstring (64);
2             Next_Lexeme (Parms, Cur_Lexeme, Cur_Text2, Cur_Value);
2             Free_Vstring (Cur_Text2);
2             if Cur_Lexeme = Lk_Identifier then
2                 if Cur_Value.Kind = Sk_Keyword then
2                     Error ("The keyword " &
2                            String (Substring_To (Cur_Text, 1, 512)) &
2                            " is not the name of a parameter.");
2                     Cur_Value := (Sk_Boolean,
2                                   Permanent => False,
2                                   Bool      => False);
2                 end if;
2                 Cur_Value.Permanent := False;
2             else
2                 declare
2                     Str : constant String := Lexeme_Kind'Image (Cur_Lexeme);
2                 begin
2                     Error ("Found a " &
2                            Str (Str'First + 3 .. Str'Last) & " after " &
2                            String (Substring_To (Cur_Text, 1, 512)) &
2                            "=> in Additonal_Parameters argument?");
2                 end;
2                 Cur_Value := (Sk_Boolean, Permanent => False, Bool => False);
2             end if;

* Change 142..150
1         else  
1             declare  
1                 Str : constant String := Lexeme_Kind'Image (Cur_Lexeme);  
1             begin  
1                 Error ("Found a " & Str (Str'First + 3 .. Str'Last) &  
1                        " (" & To_String (Cur_Text) &  
1                        ") in the Additional_Parameters argument?");  
1             end;  
1         end if;  
-----
2         else
2             declare
2                 Str : constant String := Lexeme_Kind'Image (Cur_Lexeme);
2             begin
2                 Error ("Found a " & Str (Str'First + 3 .. Str'Last) &
2                        " (" & String (Substring_To (Cur_Text, 1, 512)) &
2                        ") in the Additional_Parameters argument?");
2             end;
2         end if;

* Change 157
1                             Name_Required :     Boolean;  
-----
2                             Name_Required :     Boolean;

* Change 163..165
1         Cur_Lexeme : Lexeme_Kind;  
1         Cur_Text   : Vstring := New_Vstring (64);  
1         Cur_Value  : Symbol_Value;  
-----
2         Cur_Lexeme : Lexeme_Kind;
2         Cur_Text   : Vstring := New_Vstring (64);
2         Cur_Value  : Symbol_Value;

* Change 168..169
1         Empty_Vstring (Cur_Text);  
1         Next_Lexeme (Parms, Cur_Lexeme, Cur_Text, Cur_Value);  
-----
2         Empty_Vstring (Cur_Text);
2         Next_Lexeme (Parms, Cur_Lexeme, Cur_Text, Cur_Value);

* Change 171..177
1            Cur_Lexeme = Lk_Comma then  
1             if Name_Required then  
1                 Error ("Expected another parameter name at end of " &  
1                        "Additonal_Parameters string.");  
1             end if;  
1             Name_Value := (Sk_Boolean, Permanent => False, Bool => True);  
1         else  
-----
2            Cur_Lexeme = Lk_Comma then
2             if Name_Required then
2                 Error ("Expected another parameter name at end of " &
2                        "Additonal_Parameters string.");
2             end if;
2             Name_Value := (Sk_Boolean, Permanent => False, Bool => True);
2         else

* Change 179..182
1                Cur_Value.Permanent then  
1                 Error ("Not allowed to change the value for symbol: " &  
1                        To_String (Cur_Text));  
1             end if;  
-----
2                Cur_Value.Permanent then
2                 Error ("Not allowed to change the value for symbol: " &
2                        String (Substring_To (Cur_Text, 1, 512)));
2             end if;

* Change 184..198
1                Cur_Lexeme = Lk_Unknown then  
1                 Parse_After_Name (Parms, Cur_Value);  
1                 Symbol_Map.Insert  
1                    (Sym_Map, To_String (Cur_Text), Cur_Value, Dups_Ok => True);  
1                 Name_Value := Cur_Value;  
1             else  
1                 declare  
1                     Str : constant String := Lexeme_Kind'Image (Cur_Lexeme);  
1                 begin  
1                     Error ("Found a " & Str (Str'First + 3 .. Str'Last) &  
1                            " (" & To_String (Cur_Text) &  
1                            ") in the Additional_Parameters argument?");  
1                 end;  
1             end if;  
1         end if;  
-----
2                Cur_Lexeme = Lk_Unknown then
2                 Parse_After_Name (Parms, Cur_Value);
2                 Symbol_Map.Insert
2                    (Sym_Map, To_String (Cur_Text), Cur_Value, Dups_Ok => True);
2                 Name_Value := Cur_Value;
2             else
2                 declare
2                     Str : constant String := Lexeme_Kind'Image (Cur_Lexeme);
2                 begin
2                     Error ("Found a " & Str (Str'First + 3 .. Str'Last) &
2                            " (" & String (Substring_To (Cur_Text, 1, 512)) &
2                            ") in the Additional_Parameters argument?");
2                 end;
2             end if;
2         end if;

* Change 208
1         Cur_Value : Symbol_Value;  
-----
2         Cur_Value : Symbol_Value;

* Change 211..212
1         while Length (Parms) > 0 loop  
1             Parse_A_Name (Parms, False, Cur_Value);  
-----
2         while Length (Parms) > 0 loop
2             Parse_A_Name (Parms, False, Cur_Value);

* Change 238
1         Tmpstr : Vstring;  
-----
2         Tmpstr : Vstring;

* Change 251..255
1         Assign_New (Tmpstr, Additional_Parameters);  
1         Do_The_Parameter (Tmpstr);  
1         Free_Vstring (Tmpstr);  
1         if There_Were_Errors then  
1             raise Ada_Parameterization.Ada_Parameterization_Errors;  
-----
2         Assign_New (Tmpstr, E_String (Additional_Parameters));
2         Do_The_Parameter (Tmpstr);
2         Free_Vstring (Tmpstr);
2         if There_Were_Errors then
2             raise Ada_Parameterization.Ada_Parameterization_Errors;

* Change 266
1 end Symbol_Table;  
-----
2 end Symbol_Table;
16:16:41 ::: [end of File_Utilities.Difference].
16:16:42 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:16:42 ... ADA_PARAMETIZER.SYMBOL_TABLE'SPEC'V(5)", "!X11.X_TOOLS.
16:16:42 ... REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.SYMBOL_TABLE'SPEC'V(1)", 
16:16:42 ... "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.ADA_PARAMETIZER.SYMBOL_TABLE'SPEC
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.SYMBOL_TABLE'SPEC
* Change 1
1 with Lexemes;  
-----
2 with Arithmetic;
2 use Arithmetic;
2 with Lexemes;

* Change 8
1 -- Copyright 1989 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1989 - 1991 by Rational, Santa Clara, California.

* Change 61
1 end Symbol_Table;  
-----
2 end Symbol_Table;
16:16:43 ::: [end of File_Utilities.Difference].
16:16:45 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:16:45 ... ADA_PARAMETIZER.SYMBOL_TABLE.DEFINE_PREDEFINEDS'BODY'V(1)", "!X11.
16:16:45 ... X_TOOLS.REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.SYMBOL_TABLE.
16:16:45 ... DEFINE_PREDEFINEDS'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.ADA_PARAMETIZER.SYMBOL_TABLE.DEFINE_PREDEFINEDS'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.SYMBOL_TABLE.DEFINE_PREDEFINEDS'BODY
* Change 28
1     procedure Flag (Name : String) is
-----
2     procedure Flag (Name : E_String) is

* Insert after 42
2 
2     Flag ("OLD_CONTEXT_MANAGER");-- Do we want the old "Context Manager"
2                                  -- included in the library?  The context
2                                  -- manager was created by MIT/DEC as a tool
2                                  -- to aid the Xt Intrinsics.  However, they
2                                  -- don't use the interface as it is declared.
2                                  -- All of the interfaces take an X_Window
2                                  -- and less than have of the users of the
2                                  -- interface in the Xt layer pass an X_Window
2                                  -- value.  They mainly pass something that
2                                  -- *isn't* a window.  They pass in  all sorts
2                                  -- of things that happen to be the same bit
2                                  -- size as an X_Window.
2                                  -- Therefore the context manager is of no use
2                                  -- to the Ada Xt Intrinsics and the concept
2                                  -- has been reimplemented there.  However,
2                                  -- if someone "out there" wants the CM for
2                                  -- some other reason then set this parameter
2                                  -- to TRUE.

* Insert after 47
2     Flag ("Cdf_Hpux");            -- Target is Rational CDF for 68k HP Unix

* Insert after 52
2 
2     Flag ("R1000_Xlib_Only");     -- True only on R1000's without Xt, Xaw, etc.
2                                   -- Eliminates the extra tasking interfaces
2                                   -- required on R1000's otherwise.

* Insert after 77
2                                   --
2                                   -- TeleGen2 68K Unix - before v1.4A
16:16:47 ::: [end of File_Utilities.Difference].
16:16:48 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:16:48 ... ADA_PARAMETIZER.TEST_OUTPUT'V(1)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:16:48 ... UNITS.ADA_PARAMETIZER.TEST_OUTPUT'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.ADA_PARAMETIZER.TEST_OUTPUT
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.ADA_PARAMETIZER.TEST_OUTPUT
* Change 21
1     Parameter_Definition (Parms);
-----
2 --/ if R1000 then
2     Parameter_Definition (Parms, 1);
2 --/ else
2 --//     Parameter_Definition (Parms);
2 --/ end if;

* Change 90
1 --// false on an R1000
-----
2 --//     false on an R1000

* Change 95
1 --// always FALSE
-----
2 --//     always FALSE

* Change 97
1 --// false on an R1000
-----
2 --//     false on an R1000

* Change 102
1 --// always FALSE
-----
2 --//     always FALSE

* Change 104
1 --// always FALSE
-----
2 --//     always FALSE

* Change 107
1 --// always FALSE
-----
2 --//     always FALSE

* Change 113
1 --// should be false
-----
2 --//     should be false

* Change 115
1 --// should be false
-----
2 --//     should be false

* Change 117
1 --// should be false
-----
2 --//     should be false

* Change 127
1 --// should be false
-----
2 --//     should be false

* Change 135..136
1      some code for true r1000
1      some code for true r1000
-----
2 some code for true r1000
2 some code for true r1000

* Change 143..144
1          some code for true r1000
1          some code for true r1000
-----
2     some code for true r1000
2     some code for true r1000

* Change 154..155
1     --// some code for false r1000
1     --//    some code for false r1000
-----
2 --//     some code for false r1000
2 --//             some code for false r1000

* Change 160
1              this should be true
-----
2         this should be true

* Change 164
1          this should be true
-----
2     this should be true
16:16:50 ::: [end of File_Utilities.Difference].
16:16:51 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:16:51 ... C_TO_ADA.C_LEXER'BODY'V(5)", "!X11.X_TOOLS.REV6_0_0_WORKING.UNITS.
16:16:51 ... C_TO_ADA.C_LEXER'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.C_TO_ADA.C_LEXER'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.C_TO_ADA.C_LEXER'BODY
* Change 1..15
1 with C_Name_Map;  
1 with Debug_Tools;  
1 with Text_Io;  
1 with String_Map_Generic;  
1 with Vstring_Assign;  
1 use Vstring_Assign;  
1 with Vstring_Heap;  
1 use Vstring_Heap;  
1 with Vstring_Io;  
1 use Vstring_Io;  
1 with Vstring_Query;  
1 use Vstring_Query;  
1 with Vstring_Scan;  
1 use Vstring_Scan;  
1 with Vstring_Type;  
-----
2 with Debug_Tools;
2 with Text_Io;
2 
2 with C_Name_Map;
2 with Arithmetic;
2 use Arithmetic;
2 with String_Map_Generic;
2 with Vstring_Assign;
2 use Vstring_Assign;
2 with Vstring_Heap;
2 use Vstring_Heap;
2 with Vstring_Io;
2 use Vstring_Io;
2 with Vstring_Query;
2 use Vstring_Query;
2 with Vstring_Scan;
2 use Vstring_Scan;
2 with Vstring_Type;

* Change 31..37
1     begin  
1         Empty_Vstring (Line);  
1         Empty_Vstring (Tmp_Line);  
1         End_Of_Line   := False;  
1         End_Of_Page   := False;  
1         End_Of_File   := False;  
1         Scanner_Error := False;  
-----
2     begin
2         Empty_Vstring (Line);
2         Empty_Vstring (Tmp_Line);
2         End_Of_Line   := False;
2         End_Of_Page   := False;
2         End_Of_File   := False;
2         Scanner_Error := False;

* Change 42..45
1                               Line          : in out Vstring;  
1                               Resize_Amount :        Positive;  
1                               End_Of_Line   : in out Boolean;  
1                               End_Of_Page   : in out Boolean;  
-----
2                               Line          : in out Vstring;
2                               Resize_Amount :        S_Positive;  
2                               End_Of_Line   : in out Boolean;
2                               End_Of_Page   : in out Boolean;

* Change 52..61
1         Get_Resize (File, Line, Resize_Amount, End_Of_Line,  
1                     End_Of_Page, End_Of_File);  
1         if Line.Length = 0 then  
1             return;  
1         end if;  
1         for I in 1 .. Line.Length loop  
1             if Line.Chars (I) = Ascii.Ht then  
1                 goto Have_Ht;  
1             end if;  
1         end loop;  
-----
2         Get_Resize (File, Line, Resize_Amount, End_Of_Line,
2                     End_Of_Page, End_Of_File);
2         if Line.Length = 0 then
2             return;
2         end if;
2         for I in 1 .. Line.Length loop
2             if Line.Chars (I) = Ascii.Ht then
2                 goto Have_Ht;
2             end if;
2         end loop;

* Change 66..75
1         Tmp_Line.Length := 0;  
1         for I in 1 .. Line.Length loop  
1             if Line.Chars (I) /= Ascii.Ht then  
1                 Append_Resize (Tmp_Line, Line.Chars (I));  
1             else  
1                 Append_Resize (Tmp_Line, String'(1 .. 8 => ' '), 1024);  
1                 Tmp_Line.Length := Tmp_Line.Length - Tmp_Line.Length rem 8;  
1             end if;  
1         end loop;  
1         Line.Length := 0;  
-----
2         Tmp_Line.Length := 0;
2         for I in 1 .. Line.Length loop
2             if Line.Chars (I) /= Ascii.Ht then
2                 Append_Resize (Tmp_Line, Line.Chars (I));
2             else
2                 Append_Resize (Tmp_Line, E_String'(1 .. 8 => ' '), 1024);
2                 Tmp_Line.Length := Tmp_Line.Length - Tmp_Line.Length rem 8;
2             end if;
2         end loop;
2         Line.Length := 0;

* Change 82
1                             Comment_Prefix :        Natural) is
-----
2                             Comment_Prefix :        S_Natural) is

* Change 92
1         Chr : Character;  
-----
2         Chr : Character;

* Change 99
1         Truncstring_For (Line, 3, Positive'Last);  
-----
2         Truncstring_For (Line, 3, Inf);

* Change 101..104
1            Line.Chars (1) = ' ' then  
1             Append_Resize (Token.White, "--");  
1         else  
1             Append_Resize (Token.White, "-- ");  
-----
2            Line.Chars (1) = ' ' then
2             Append_Resize (Token.White, "--");
2         else
2             Append_Resize (Token.White, "-- ");

* Change 111..115
1         loop  
1             declare  
1                 Tmp : Vstring_Data (Line.Length);  
1             begin  
1                 Scan (Tmp, Line, Scan_Comment_Interior, Chr);  
-----
2         loop
2             declare
2                 Tmp : Vstring_Data (Line.Length);
2             begin
2                 Scan (Tmp, Line, Scan_Comment_Interior, Chr);

* Change 123..131
1                        Line.Chars (1) = '*' then  
1                         Scanner_Error := True;  
1                         Text_Io.Put_Line  
1                            ("C file has nested comments?  Will attempt to handle bogus comment.");  
1                         Prepend (Line, '/');  
1                         Debug_Tools.User_Break ("Recursive comment?");  
1                         Scan_Comment (Token, Tmp.Length);  
1                     else  
1                         Append_Resize (Token.White, '/');  
-----
2                        Line.Chars (1) = '*' then
2                         Scanner_Error := True;
2                         Text_Io.Put_Line
2                            ("C file has nested comments?  Will attempt to handle bogus comment.");
2                         Prepend (Line, '/');
2                         Debug_Tools.User_Break ("Recursive comment?");
2                         Scan_Comment (Token, Tmp.Length);
2                     else
2                         Append_Resize (Token.White, '/');

* Change 141..151
1                        Line.Chars (1) = '/' then  
1                         Truncstring_For (Line, 2, Positive'Last);  
1                         Trunc_Scan (Line, Scan_Over_Whitespace, Chr);  
1                         if Line.Length > 0 then  
1                             Append_Resize (Token.White, Ascii.Lf);  
1                             Append_Resize (Token.White, ' ',  
1                                            Comment_Prefix, 256);  
1                         end if;  
1                         return;  
1                     else  
1                         Append_Resize (Token.White, '*');  
-----
2                        Line.Chars (1) = '/' then
2                         Truncstring_For (Line, 2, Inf);
2                         Trunc_Scan (Line, Scan_Over_Whitespace, Chr);
2                         if Line.Length > 0 then
2                             Append_Resize (Token.White, Ascii.Lf);
2                             Append_Resize (Token.White, ' ',
2                                            Comment_Prefix, 256);
2                         end if;
2                         return;
2                     else
2                         Append_Resize (Token.White, '*');

* Change 157..168
1                 elsif Line.Length = 0 then  
1                     Append_Resize (Token.White, Ascii.Lf);  
1                     if End_Of_Page and not End_Of_File then  
1                         Append_Resize (Token.White, Ascii.Ff);  
1                     end if;  
1                     if End_Of_File then  
1                         Scanner_Error := True;  
1                         Text_Io.Put_Line  
1                            ("Comment in C_File extended past EOF?");  
1                         Text_Io.Put_Line (Token.White.Chars  
1                                              (1 .. Token.White.Length));  
1                         return;  
-----
2                 elsif Line.Length = 0 then
2                     Append_Resize (Token.White, Ascii.Lf);
2                     if End_Of_Page and not End_Of_File then
2                         Append_Resize (Token.White, Ascii.Ff);
2                     end if;
2                     if End_Of_File then
2                         Scanner_Error := True;
2                         Text_Io.Put_Line
2                            ("Comment in C_File extended past EOF?");
2                         Put_Line (Token.White);
2                         return;

* Change 170..171
1                     Our_Get_Resize (C_File, Line, 1024, End_Of_Line,  
1                                     End_Of_Page, End_Of_File);  
-----
2                     Our_Get_Resize (C_File, Line, 1024, End_Of_Line,
2                                     End_Of_Page, End_Of_File);

* Change 173
1                        Line.Chars (1) = '#' then  
-----
2                        Line.Chars (1) = '#' then

* Change 175..181
1                            Line.Chars (1 .. 8) = "#include" then  
1                             Append_Resize (Token.White, Line);  
1                             Line.Length := 0;  
1                         else  
1                             Append_Resize (Token.White, '#');  
1                             Truncstring_For (Line, 2, Positive'Last);  
1                         end if;  
-----
2                            Line.Chars (1 .. 8) = "#include" then
2                             Append_Resize (Token.White, Line);
2                             Line.Length := 0;
2                         else
2                             Append_Resize (Token.White, '#');
2                             Truncstring_For (Line, 2, Inf);
2                         end if;

* Change 192
1                     Trunc_Scan (Line, Scan_Over_Whitespace, Chr);  
-----
2                     Trunc_Scan (Line, Scan_Over_Whitespace, Chr);

* Change 199..205
1                            Line.Chars (2) = '/' then  
1                             Truncstring_For (Line, 3, Positive'Last);  
1                             Trunc_Scan (Line, Scan_Over_Whitespace, Chr);  
1                             if Line.Length > 0 then  
1                                 Append_Resize (Token.White, Ascii.Lf);  
1                                 Append_Resize (Token.White, ' ',  
1                                                Comment_Prefix, 256);  
-----
2                            Line.Chars (2) = '/' then
2                             Truncstring_For (Line, 3, Inf);
2                             Trunc_Scan (Line, Scan_Over_Whitespace, Chr);
2                             if Line.Length > 0 then
2                                 Append_Resize (Token.White, Ascii.Lf);
2                                 Append_Resize (Token.White, ' ',
2                                                Comment_Prefix, 256);

* Change 212..216
1                               Line.Chars (2) = ' ' then  
1                             Truncstring_For (Line, 3, Positive'Last);  
1                         else  
1                             Truncstring_For (Line, 2, Positive'Last);  
1                         end if;  
-----
2                               Line.Chars (2) = ' ' then
2                             Truncstring_For (Line, 3, Inf);
2                         else
2                             Truncstring_For (Line, 2, Inf);
2                         end if;

* Change 222..225
1                     Append_Resize (Token.White, ' ', Comment_Prefix, 256);  
1                     Append_Resize (Token.White, "-- ");  
1                 end if;  
1             end;  
-----
2                     Append_Resize (Token.White, ' ', Comment_Prefix, 256);
2                     Append_Resize (Token.White, "-- ");
2                 end if;
2             end;

* Insert after 228
2 

* Change 235..236
1         Chr    : Character;  
1         Prefix : Natural;  
-----
2         Chr    : Character;
2         Prefix : S_Natural;

* Change 242..251
1         Token.White.Length := 0;  
1         loop  
1             declare  
1                 Tmp : Vstring_Data (Line.Length + 100);  
1             begin  
1                 Scan (Tmp, Line, Scan_Over_Whitespace, Chr);  
1                 Prefix := Tmp.Length;  
1                 if Prefix > 0 then  
1                     Append_Resize (Token.White, Tmp);  
1                 end if;  
-----
2         Token.White.Length := 0;
2         loop
2             declare
2                 Tmp : Vstring_Data (Line.Length + 100);
2             begin
2                 Scan (Tmp, Line, Scan_Over_Whitespace, Chr);
2                 Prefix := Tmp.Length;
2                 if Prefix > 0 then
2                     Append_Resize (Token.White, Tmp);
2                 end if;

* Change 257
1             if Line.Length > 0 then  
-----
2             if Line.Length > 0 then

* Change 260..262
1                    Line.Chars (2) = '*' then  
1                     Scan_Comment (Token, Prefix);  
1                 else  
-----
2                    Line.Chars (2) = '*' then
2                     Scan_Comment (Token, Prefix);
2                 else

* Change 269..280
1             else  
1                 Append_Resize (Token.White, Ascii.Lf);  
1                 if End_Of_Page and not End_Of_File then  
1                     Append_Resize (Token.White, Ascii.Ff);  
1                 end if;  
1                 if End_Of_File then  
1                     Token.Image.Length := 0;  
1                     Token.Kind         := End_Of_File_Token;  
1                     return;  
1                 end if;  
1                 Our_Get_Resize (C_File, Line, 1024, End_Of_Line,  
1                                 End_Of_Page, End_Of_File);  
-----
2             else
2                 Append_Resize (Token.White, Ascii.Lf);
2                 if End_Of_Page and not End_Of_File then
2                     Append_Resize (Token.White, Ascii.Ff);
2                 end if;
2                 if End_Of_File then
2                     Token.Image.Length := 0;
2                     Token.Kind         := End_Of_File_Token;
2                     return;
2                 end if;
2                 Our_Get_Resize (C_File, Line, 1024, End_Of_Line,
2                                 End_Of_Page, End_Of_File);

* Change 282
1                    Line.Chars (1) = '#' then  
-----
2                    Line.Chars (1) = '#' then

* Change 284..292
1                        Line.Chars (1 .. 8) = "#include" then  
1                         Append_Resize (Token.White, Line);  
1                         Line.Length := 0;  
1                     else  
1                         Append_Resize (Token.White, '#');  
1                         Truncstring_For (Line, 2, Positive'Last);  
1                     end if;  
1                 end if;  
1             end if;  
-----
2                        Line.Chars (1 .. 8) = "#include" then
2                         Append_Resize (Token.White, Line);
2                         Line.Length := 0;
2                     else
2                         Append_Resize (Token.White, '#');
2                         Truncstring_For (Line, 2, Inf);
2                     end if;
2                 end if;
2             end if;

* Change 303
1         Chr : Character;  
-----
2         Chr : Character;

* Change 309..311
1         Scan_Whitespace (Token);  
1         if End_Of_File and then Token.Kind = End_Of_File_Token then  
1             return;  
-----
2         Scan_Whitespace (Token);
2         if End_Of_File and then Token.Kind = End_Of_File_Token then
2             return;

* Change 317
1         Token.Image.Length := 0;  
-----
2         Token.Image.Length := 0;

* Change 322..329
1             when 'A' .. 'Z' | 'a' .. 'z' | '_' =>  
1                 declare  
1                     Tmp  : Vstring_Data (Line.Length + 10);  
1                     Rt   : C_Name_Map.Range_Type;  
1                     Succ : Boolean;  
1                 begin  
1                     Scan (Tmp, Line, Scan_Over_C_Id, Chr);  
1                     C_Name_Map.Find (Tmp.Chars (1 .. Tmp.Length), Rt, Succ);  
-----
2             when 'A' .. 'Z' | 'a' .. 'z' | '_' =>
2                 declare
2                     Tmp  : Vstring_Data (Line.Length + 10);
2                     Rt   : C_Name_Map.Range_Type;
2                     Succ : Boolean;
2                 begin
2                     Scan (Tmp, Line, Scan_Over_C_Id, Chr);
2                     C_Name_Map.Find (Tmp.Chars (1 .. Tmp.Length), Rt, Succ);

* Change 331..344
1                         if Null_Names then  
1                             Text_Io.Put_Line (Name_File,  
1                                               Tmp.Chars (1 .. Tmp.Length));  
1                         end if;  
1                         if Tmp.Chars (1) = '_' then  
1                             Prepend (Tmp, "private");  
1                             C_Name_Map.Define  
1                                (Tmp.Chars (8 .. Tmp.Length), Tmp);  
1                         else  
1                             C_Name_Map.Define  
1                                (Tmp.Chars (1 .. Tmp.Length), Tmp);  
1                         end if;  
1                         Append_Resize (Token.Image, Tmp);  
1                         Token.Kind := Identifier;  
-----
2                         if Null_Names then
2                             Put_Line (Name_File, Tmp);
2                         end if;
2                         if Tmp.Chars (1) = '_' then
2                             Prepend (Tmp, "private");
2                             C_Name_Map.Define
2                                (Tmp.Chars (8 .. Tmp.Length), Tmp);
2                         else
2                             C_Name_Map.Define
2                                (Tmp.Chars (1 .. Tmp.Length), Tmp);
2                         end if;
2                         Append_Resize (Token.Image, Tmp);
2                         Token.Kind := Identifier;

* Change 346..353
1                         Append_Resize (Token.Image, Rt.Name);  
1                         if Rt.Keyword = 0 then  
1                             Token.Kind := Identifier;  
1                         else  
1                             Token.Kind := Token_Kind'Val (Rt.Keyword);  
1                         end if;  
1                     end if;  
1                     return;  
-----
2                         Append_Resize (Token.Image, Rt.Name);
2                         if Rt.Keyword = 0 then
2                             Token.Kind := Identifier;
2                         else
2                             Token.Kind := Token_Kind'Val (Rt.Keyword);
2                         end if;
2                     end if;
2                     return;

* Change 358..362
1             when '0' =>  
1                 declare  
1                     Tmp : Vstring_Data (Line.Length);  
1                 begin  
1                     if Line.Length > 1 then  
-----
2             when '0' =>
2                 declare
2                     Tmp : Vstring_Data (Line.Length);
2                 begin
2                     if Line.Length > 1 then

* Change 364
1                             Scan (Tmp, Line, Scan_Over_Decimal_Number, Chr);  
-----
2                             Scan (Tmp, Line, Scan_Over_Decimal_Number, Chr);

* Change 366..373
1                                Line.Chars (1) = 'L' then  
1                                 Truncstring_For (Line, 2, Positive'Last);  
1                             end if;  
1                             Append_Resize (Token.Image, "8#");  
1                             Append_Resize (Token.Image, Tmp);  
1                             Append_Resize (Token.Image, "#");  
1                             Token.Kind := Literal;  
1                             return;  
-----
2                                Line.Chars (1) = 'L' then
2                                 Truncstring_For (Line, 2, Inf);
2                             end if;
2                             Append_Resize (Token.Image, "8#");
2                             Append_Resize (Token.Image, Tmp);
2                             Append_Resize (Token.Image, "#");
2                             Token.Kind := Literal;
2                             return;

* Change 375..377
1                               Line.Chars (2) = 'X' then  
1                             Truncstring_For (Line, 3, Positive'Last);  
1                             Scan (Tmp, Line, Scan_Over_Hexadecimal_Number, Chr);  
-----
2                               Line.Chars (2) = 'X' then
2                             Truncstring_For (Line, 3, Inf);
2                             Scan (Tmp, Line, Scan_Over_Hexadecimal_Number, Chr);

* Change 379..387
1                                Line.Chars (1) = 'L' then  
1                                 Truncstring_For (Line, 2, Positive'Last);  
1                             end if;  
1                             Append_Resize (Token.Image, "16#");  
1                             Append_Resize (Token.Image, Tmp);  
1                             Append_Resize (Token.Image, "#");  
1                             Token.Kind := Literal;  
1                             return;  
1                         end if;  
-----
2                                Line.Chars (1) = 'L' then
2                                 Truncstring_For (Line, 2, Inf);
2                             end if;
2                             Append_Resize (Token.Image, "16#");
2                             Append_Resize (Token.Image, Tmp);
2                             Append_Resize (Token.Image, "#");
2                             Token.Kind := Literal;
2                             return;
2                         end if;

* Change 389
1                     Scan (Tmp, Line, Scan_Over_Decimal_Number, Chr);  
-----
2                     Scan (Tmp, Line, Scan_Over_Decimal_Number, Chr);

* Change 391..396
1                        Line.Chars (1) = 'L' then  
1                         Truncstring_For (Line, 2, Positive'Last);  
1                     end if;  
1                     Append_Resize (Token.Image, Tmp);  
1                     Token.Kind := Literal;  
1                     return;  
-----
2                        Line.Chars (1) = 'L' then
2                         Truncstring_For (Line, 2, Inf);
2                     end if;
2                     Append_Resize (Token.Image, Tmp);
2                     Token.Kind := Literal;
2                     return;

* Change 399..403
1             when '1' .. '9' =>  
1                 declare  
1                     Tmp : Vstring_Data (Line.Length);  
1                 begin  
1                     Scan (Tmp, Line, Scan_Over_Decimal_Number, Chr);  
-----
2             when '1' .. '9' =>
2                 declare
2                     Tmp : Vstring_Data (Line.Length);
2                 begin
2                     Scan (Tmp, Line, Scan_Over_Decimal_Number, Chr);

* Change 405..410
1                        Line.Chars (1) = 'L' then  
1                         Truncstring_For (Line, 2, Positive'Last);  
1                     end if;  
1                     Append_Resize (Token.Image, Tmp);  
1                     Token.Kind := Literal;  
1                     return;  
-----
2                        Line.Chars (1) = 'L' then
2                         Truncstring_For (Line, 2, Inf);
2                     end if;
2                     Append_Resize (Token.Image, Tmp);
2                     Token.Kind := Literal;
2                     return;

* Change 415
1             when '.' =>  
-----
2             when '.' =>

* Change 417..430
1                    Line.Chars (2) in '0' .. '9' then  
1                     declare  
1                         Tmp : Vstring_Data (Line.Length);  
1                     begin  
1                         Scan (Tmp, Line, Scan_Over_Decimal_Number, Chr);  
1                         Append_Resize (Token.Image, Tmp);  
1                         Token.Kind := Literal;  
1                         return;  
1                     end;  
1                 else  
1                     Append_Resize (Token.Image, '.');  
1                     Truncstring_For (Line, 2, Positive'Last);  
1                     Token.Kind := Dot;  
1                     return;  
-----
2                    Line.Chars (2) in '0' .. '9' then
2                     declare
2                         Tmp : Vstring_Data (Line.Length);
2                     begin
2                         Scan (Tmp, Line, Scan_Over_Decimal_Number, Chr);
2                         Append_Resize (Token.Image, Tmp);
2                         Token.Kind := Literal;
2                         return;
2                     end;
2                 else
2                     Append_Resize (Token.Image, '.');
2                     Truncstring_For (Line, 2, Inf);
2                     Token.Kind := Dot;
2                     return;

* Change 436
1             when ''' =>  
-----
2             when ''' =>

* Change 439..444
1                    Line.Chars (3) = ''' then  
1                     Append_Resize (Token.Image, Line.Chars (1 .. 3));  
1                     Truncstring_For (Line, 4, Positive'Last);  
1                     Token.Kind := Literal;  
1                     return;  
1                 end if;  
-----
2                    Line.Chars (3) = ''' then
2                     Append_Resize (Token.Image, Line.Chars (1 .. 3));
2                     Truncstring_For (Line, 4, Inf);
2                     Token.Kind := Literal;
2                     return;
2                 end if;

* Change 447..470
1                    Line.Chars (4) = ''' then  
1                     case Line.Chars (3) is  
1                         when ''' =>  
1                             Append_Resize (Token.Image, "'''");  
1                         when '\' =>  
1                             Append_Resize (Token.Image, "'\'");  
1                         when 'e' =>  
1                             Append_Resize (Token.Image, " Ascii.Esc");  
1                         when 'n' =>  
1                             Append_Resize (Token.Image, " Ascii.Lf");  
1                         when 't' =>  
1                             Append_Resize (Token.Image, " Ascii.Ht");  
1                         when others =>  
1                             Append_Resize (Token.Image, Line.Chars (1 .. 4));  
1                     end case;  
1                     Truncstring_For (Line, 5, Positive'Last);  
1                     Token.Kind := Literal;  
1                     return;  
1                 end if;  
1                 declare  
1                     I : Natural;  
1                     J : Natural;  
1                 begin  
1                     I := 2;  
-----
2                    Line.Chars (4) = ''' then
2                     case Line.Chars (3) is
2                         when ''' =>
2                             Append_Resize (Token.Image, "'''");
2                         when '\' =>
2                             Append_Resize (Token.Image, "'\'");
2                         when 'e' =>
2                             Append_Resize (Token.Image, " Ascii.Esc");
2                         when 'n' =>
2                             Append_Resize (Token.Image, " Ascii.Lf");
2                         when 't' =>
2                             Append_Resize (Token.Image, " Ascii.Ht");
2                         when others =>
2                             Append_Resize (Token.Image, Line.Chars (1 .. 4));
2                     end case;
2                     Truncstring_For (Line, 5, Inf);
2                     Token.Kind := Literal;
2                     return;
2                 end if;
2                 declare
2                     I : S_Natural;
2                     J : S_Natural;
2                 begin
2                     I := 2;

* Change 472..474
1                              Line.Chars (I) /= ''' loop  
1                         I := I + 1;  
1                     end loop;  
-----
2                              Line.Chars (I) /= ''' loop
2                         I := I + 1;
2                     end loop;

* Change 478..493
1                        Line.Chars (3) in '0' .. '7' then  
1                         Append_Resize (Token.Image, " character'val(8#");  
1                         Append_Resize (Token.Image, Line.Chars (3 .. I - 1));  
1                         Append_Resize (Token.Image, "#)");  
1                         Truncstring_For (Line, I + 1, Positive'Last);  
1                         Token.Kind := Literal;  
1                         return;  
1                     end if;  
1                     Scanner_Error := True;  
1                     Text_Io.Put_Line ("Bad character literal found: " &  
1                                       Line.Chars (1 .. Line.Length));  
1                     Debug_Tools.User_Break ("Bad character literal.");  
1                     Append_Resize (Token.Image, Line.Chars (1 .. I));  
1                     Truncstring_For (Line, I + 1, Positive'Last);  
1                     Token.Kind := Literal;  
1                     return;  
-----
2                        Line.Chars (3) in '0' .. '7' then
2                         Append_Resize (Token.Image, " character'val(8#");
2                         Append_Resize (Token.Image, Line.Chars (3 .. I - 1));
2                         Append_Resize (Token.Image, "#)");
2                         Truncstring_For (Line, I + 1, Inf);
2                         Token.Kind := Literal;
2                         return;
2                     end if;
2                     Scanner_Error := True;
2                     Text_Io.Put_Line ("Bad character literal found: " &
2                                       String (Line.Chars (1 .. Line.Length)));
2                     Debug_Tools.User_Break ("Bad character literal.");
2                     Append_Resize (Token.Image, Line.Chars (1 .. I));
2                     Truncstring_For (Line, I + 1, Inf);
2                     Token.Kind := Literal;
2                     return;

* Change 499..505
1             when '"' =>  
1                 declare  
1                     I : Natural;  
1                 begin  
1                     I := 2;  
1                     while I <= Line.Length loop  
1                         if Line.Chars (I) = '\' then  
-----
2             when '"' =>
2                 declare
2                     I : S_Natural;
2                 begin
2                     I := 2;
2                     while I <= Line.Length loop
2                         if Line.Chars (I) = '\' then

* Change 507..539
1                                 if Line.Chars (I + 1) = '"' then  
1                                     Line.Chars (I) := '"';  
1                                 end if;  
1                                 I := I + 2;  
1                             else  
1                                 Our_Get_Resize (C_File, Token.Image,  
1                                                 1024, End_Of_Line,  
1                                                 End_Of_Page, End_Of_File);  
1                                 Append_Resize (Line, Ascii.Lf);  
1                                 Append_Resize (Line, Token.Image);  
1                                 Empty_Vstring (Token.Image);  
1                                 if Token.Image.Length > 0 then  
1                                     I := I + 2;  
1                                 else  
1                                     I := I + 1;  
1                                 end if;  
1                             end if;  
1                         elsif Line.Chars (I) = '"' then  
1                             Append_Resize (Token.Image, Line.Chars (1 .. I));  
1                             Truncstring_For (Line, I + 1, Positive'Last);  
1                             Token.Kind := Literal;  
1                             return;  
1                         else  
1                             I := I + 1;  
1                         end if;  
1                     end loop;  
1                     Scanner_Error := True;  
1                     Text_Io.Put_Line ("Bad string literal found: " &  
1                                       Line.Chars (1 .. Line.Length));  
1                     Debug_Tools.User_Break ("Bad string literal.");  
1                     Append_Resize (Token.Image, Line);  
1                     Token.Kind := Literal;  
1                     return;  
-----
2                                 if Line.Chars (I + 1) = '"' then
2                                     Line.Chars (I) := '"';
2                                 end if;
2                                 I := I + 2;
2                             else
2                                 Our_Get_Resize (C_File, Token.Image,
2                                                 1024, End_Of_Line,
2                                                 End_Of_Page, End_Of_File);
2                                 Append_Resize (Line, Ascii.Lf);
2                                 Append_Resize (Line, Token.Image);
2                                 Empty_Vstring (Token.Image);
2                                 if Token.Image.Length > 0 then
2                                     I := I + 2;
2                                 else
2                                     I := I + 1;
2                                 end if;
2                             end if;
2                         elsif Line.Chars (I) = '"' then
2                             Append_Resize (Token.Image, Line.Chars (1 .. I));
2                             Truncstring_For (Line, I + 1, Inf);
2                             Token.Kind := Literal;
2                             return;
2                         else
2                             I := I + 1;
2                         end if;
2                     end loop;
2                     Scanner_Error := True;
2                     Text_Io.Put_Line ("Bad string literal found: " &
2                                       String (Line.Chars (1 .. Line.Length)));
2                     Debug_Tools.User_Break ("Bad string literal.");
2                     Append_Resize (Token.Image, Line);
2                     Token.Kind := Literal;
2                     return;

* Change 544
1             when '+' =>  
-----
2             when '+' =>

* Change 546..562
1                     if Line.Chars (2) = '=' then  
1                         Append_Resize (Token.Image, "+:=");  
1                         Truncstring_For (Line, 3, Positive'Last);  
1                         Token.Kind := Plus_Equal;  
1                         return;  
1                     elsif Line.Chars (2) = '+' then  
1                         Append_Resize (Token.Image, "++");  
1                         Truncstring_For (Line, 3, Positive'Last);  
1                         Token.Kind := Plus_Plus;  
1                         return;  
1                     end if;  
1                 end if;  
1                 Append_Resize (Token.Image, '+');  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Plus;  
1                 return;  
1             when '-' =>  
-----
2                     if Line.Chars (2) = '=' then
2                         Append_Resize (Token.Image, "+:=");
2                         Truncstring_For (Line, 3, Inf);
2                         Token.Kind := Plus_Equal;
2                         return;
2                     elsif Line.Chars (2) = '+' then
2                         Append_Resize (Token.Image, "++");
2                         Truncstring_For (Line, 3, Inf);
2                         Token.Kind := Plus_Plus;
2                         return;
2                     end if;
2                 end if;
2                 Append_Resize (Token.Image, '+');
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Plus;
2                 return;
2             when '-' =>

* Change 564..585
1                     if Line.Chars (2) = '=' then  
1                         Append_Resize (Token.Image, "-:=");  
1                         Truncstring_For (Line, 3, Positive'Last);  
1                         Token.Kind := Minus_Equal;  
1                         return;  
1                     elsif Line.Chars (2) = '-' then  
1                         Append_Resize (Token.Image, "--");  
1                         Truncstring_For (Line, 3, Positive'Last);  
1                         Token.Kind := Minus_Minus;  
1                         return;  
1                     elsif Line.Chars (2) = '>' then  
1                         Append_Resize (Token.Image, ".");  
1                         Truncstring_For (Line, 3, Positive'Last);  
1                         Token.Kind := Dot;  
1                         return;  
1                     end if;  
1                 end if;  
1                 Append_Resize (Token.Image, '-');  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Minus;  
1                 return;  
1             when '*' =>  
-----
2                     if Line.Chars (2) = '=' then
2                         Append_Resize (Token.Image, "-:=");
2                         Truncstring_For (Line, 3, Inf);
2                         Token.Kind := Minus_Equal;
2                         return;
2                     elsif Line.Chars (2) = '-' then
2                         Append_Resize (Token.Image, "--");
2                         Truncstring_For (Line, 3, Inf);
2                         Token.Kind := Minus_Minus;
2                         return;
2                     elsif Line.Chars (2) = '>' then
2                         Append_Resize (Token.Image, ".");
2                         Truncstring_For (Line, 3, Inf);
2                         Token.Kind := Dot;
2                         return;
2                     end if;
2                 end if;
2                 Append_Resize (Token.Image, '-');
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Minus;
2                 return;
2             when '*' =>

* Change 587..592
1                     if Line.Chars (2) = '=' then  
1                         Append_Resize (Token.Image, "*:=");  
1                         Truncstring_For (Line, 3, Positive'Last);  
1                         Token.Kind := Times_Equal;  
1                         return;  
1                     elsif Line.Chars (2) = '*' then  
-----
2                     if Line.Chars (2) = '=' then
2                         Append_Resize (Token.Image, "*:=");
2                         Truncstring_For (Line, 3, Inf);
2                         Token.Kind := Times_Equal;
2                         return;
2                     elsif Line.Chars (2) = '*' then

* Change 594..611
1                            Line.Chars (3) = '=' then  
1                             Append_Resize (Token.Image, "**:=");  
1                             Truncstring_For (Line, 4, Positive'Last);  
1                             Token.Kind := Powers_Equal;  
1                             return;  
1                         else  
1                             Append_Resize (Token.Image, "**");  
1                             Truncstring_For (Line, 3, Positive'Last);  
1                             Token.Kind := Powers;  
1                             return;  
1                         end if;  
1                     end if;  
1                 end if;  
1                 Append_Resize (Token.Image, '*');  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Times;  
1                 return;  
1             when '/' =>  
-----
2                            Line.Chars (3) = '=' then
2                             Append_Resize (Token.Image, "**:=");
2                             Truncstring_For (Line, 4, Inf);
2                             Token.Kind := Powers_Equal;
2                             return;
2                         else
2                             Append_Resize (Token.Image, "**");
2                             Truncstring_For (Line, 3, Inf);
2                             Token.Kind := Powers;
2                             return;
2                         end if;
2                     end if;
2                 end if;
2                 Append_Resize (Token.Image, '*');
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Times;
2                 return;
2             when '/' =>

* Change 613..623
1                    Line.Chars (2) = '=' then  
1                     Append_Resize (Token.Image, "/:=");  
1                     Truncstring_For (Line, 3, Positive'Last);  
1                     Token.Kind := Divide_Equal;  
1                     return;  
1                 end if;  
1                 Append_Resize (Token.Image, '/');  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Divide;  
1                 return;  
1             when '%' =>  
-----
2                    Line.Chars (2) = '=' then
2                     Append_Resize (Token.Image, "/:=");
2                     Truncstring_For (Line, 3, Inf);
2                     Token.Kind := Divide_Equal;
2                     return;
2                 end if;
2                 Append_Resize (Token.Image, '/');
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Divide;
2                 return;
2             when '%' =>

* Change 625..640
1                    Line.Chars (2) = '=' then  
1                     Append_Resize (Token.Image, " rem:=");  
1                     Truncstring_For (Line, 3, Positive'Last);  
1                     Token.Kind := Remainder_Equal;  
1                     return;  
1                 end if;  
1                 Append_Resize (Token.Image, " rem ");  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Remainder;  
1                 return;  
1             when '?' =>  
1                 Append_Resize (Token.Image, '?');  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Question_Mark;  
1                 return;  
1             when '&' =>  
-----
2                    Line.Chars (2) = '=' then
2                     Append_Resize (Token.Image, " rem:=");
2                     Truncstring_For (Line, 3, Inf);
2                     Token.Kind := Remainder_Equal;
2                     return;
2                 end if;
2                 Append_Resize (Token.Image, " rem ");
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Remainder;
2                 return;
2             when '?' =>
2                 Append_Resize (Token.Image, '?');
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Question_Mark;
2                 return;
2             when '&' =>

* Change 642..658
1                     if Line.Chars (2) = '=' then  
1                         Append_Resize (Token.Image, " and:=");  
1                         Truncstring_For (Line, 3, Positive'Last);  
1                         Token.Kind := Logical_And_Equal;  
1                         return;  
1                     elsif Line.Chars (2) = '&' then  
1                         Append_Resize (Token.Image, " and then ");  
1                         Truncstring_For (Line, 3, Positive'Last);  
1                         Token.Kind := And_Then;  
1                         return;  
1                     end if;  
1                 end if;  
1                 Append_Resize (Token.Image, " and ");  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Logical_And;  
1                 return;  
1             when '|' =>  
-----
2                     if Line.Chars (2) = '=' then
2                         Append_Resize (Token.Image, " and:=");
2                         Truncstring_For (Line, 3, Inf);
2                         Token.Kind := Logical_And_Equal;
2                         return;
2                     elsif Line.Chars (2) = '&' then
2                         Append_Resize (Token.Image, " and then ");
2                         Truncstring_For (Line, 3, Inf);
2                         Token.Kind := And_Then;
2                         return;
2                     end if;
2                 end if;
2                 Append_Resize (Token.Image, " and ");
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Logical_And;
2                 return;
2             when '|' =>

* Change 660..676
1                     if Line.Chars (2) = '=' then  
1                         Append_Resize (Token.Image, " or:=");  
1                         Truncstring_For (Line, 3, Positive'Last);  
1                         Token.Kind := Logical_Or_Equal;  
1                         return;  
1                     elsif Line.Chars (2) = '|' then  
1                         Append_Resize (Token.Image, " or else ");  
1                         Truncstring_For (Line, 3, Positive'Last);  
1                         Token.Kind := Or_Else;  
1                         return;  
1                     end if;  
1                 end if;  
1                 Append_Resize (Token.Image, " or ");  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Logical_Or;  
1                 return;  
1             when '^' =>  
-----
2                     if Line.Chars (2) = '=' then
2                         Append_Resize (Token.Image, " or:=");
2                         Truncstring_For (Line, 3, Inf);
2                         Token.Kind := Logical_Or_Equal;
2                         return;
2                     elsif Line.Chars (2) = '|' then
2                         Append_Resize (Token.Image, " or else ");
2                         Truncstring_For (Line, 3, Inf);
2                         Token.Kind := Or_Else;
2                         return;
2                     end if;
2                 end if;
2                 Append_Resize (Token.Image, " or ");
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Logical_Or;
2                 return;
2             when '^' =>

* Change 678..690
1                    Line.Chars (2) = '=' then  
1                     Append_Resize (Token.Image, " xor:=");  
1                     Truncstring_For (Line, 3, Positive'Last);  
1                     Token.Kind := Logical_Xor_Equal;  
1                     return;  
1                 end if;  
1                 Append_Resize (Token.Image, " xor ");  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Logical_Xor;  
1                 return;  
1             when '\' =>  
1                 Append_Resize (Token.Image, "\");  
1                 Truncstring_For (Line, 2, Positive'Last);
-----
2                    Line.Chars (2) = '=' then
2                     Append_Resize (Token.Image, " xor:=");
2                     Truncstring_For (Line, 3, Inf);
2                     Token.Kind := Logical_Xor_Equal;
2                     return;
2                 end if;
2                 Append_Resize (Token.Image, " xor ");
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Logical_Xor;
2                 return;
2             when '\' =>
2                 Append_Resize (Token.Image, "\");
2                 Truncstring_For (Line, 2, Inf);

* Change 694..701
1                 Token.Kind := Identifier;  
1                 return;  
1             when '~' =>  
1                 Append_Resize (Token.Image, " not ");  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Logical_Not;  
1                 return;  
1             when '!' =>  
-----
2                 Token.Kind := Identifier;
2                 return;
2             when '~' =>
2                 Append_Resize (Token.Image, " not ");
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Logical_Not;
2                 return;
2             when '!' =>

* Change 703..713
1                    Line.Chars (2) = '=' then  
1                     Append_Resize (Token.Image, "/=");  
1                     Truncstring_For (Line, 3, Positive'Last);  
1                     Token.Kind := Not_Equal;  
1                     return;  
1                 end if;  
1                 Append_Resize (Token.Image, " not ");  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Logical_Not;  
1                 return;  
1             when '>' =>  
-----
2                    Line.Chars (2) = '=' then
2                     Append_Resize (Token.Image, "/=");
2                     Truncstring_For (Line, 3, Inf);
2                     Token.Kind := Not_Equal;
2                     return;
2                 end if;
2                 Append_Resize (Token.Image, " not ");
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Logical_Not;
2                 return;
2             when '>' =>

* Change 715..720
1                     if Line.Chars (2) = '=' then  
1                         Append_Resize (Token.Image, ">=");  
1                         Truncstring_For (Line, 3, Positive'Last);  
1                         Token.Kind := Greater_Than_Or_Equal;  
1                         return;  
1                     elsif Line.Chars (2) = '>' then  
-----
2                     if Line.Chars (2) = '=' then
2                         Append_Resize (Token.Image, ">=");
2                         Truncstring_For (Line, 3, Inf);
2                         Token.Kind := Greater_Than_Or_Equal;
2                         return;
2                     elsif Line.Chars (2) = '>' then

* Change 722..738
1                            Line.Chars (3) = '=' then  
1                             Append_Resize (Token.Image, ">>:=");  
1                             Truncstring_For (Line, 4, Positive'Last);  
1                             Token.Kind := Right_Shift;  
1                             return;  
1                         end if;  
1                         Append_Resize (Token.Image, ">>");  
1                         Truncstring_For (Line, 3, Positive'Last);  
1                         Token.Kind := Right_Shift_Equal;  
1                         return;  
1                     end if;  
1                 end if;  
1                 Append_Resize (Token.Image, ">");  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Greater_Than;  
1                 return;  
1             when '<' =>  
-----
2                            Line.Chars (3) = '=' then
2                             Append_Resize (Token.Image, ">>:=");
2                             Truncstring_For (Line, 4, Inf);
2                             Token.Kind := Right_Shift;
2                             return;
2                         end if;
2                         Append_Resize (Token.Image, ">>");
2                         Truncstring_For (Line, 3, Inf);
2                         Token.Kind := Right_Shift_Equal;
2                         return;
2                     end if;
2                 end if;
2                 Append_Resize (Token.Image, ">");
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Greater_Than;
2                 return;
2             when '<' =>

* Change 740..745
1                     if Line.Chars (2) = '=' then  
1                         Append_Resize (Token.Image, "<=");  
1                         Truncstring_For (Line, 3, Positive'Last);  
1                         Token.Kind := Less_Than_Or_Equal;  
1                         return;  
1                     elsif Line.Chars (2) = '<' then  
-----
2                     if Line.Chars (2) = '=' then
2                         Append_Resize (Token.Image, "<=");
2                         Truncstring_For (Line, 3, Inf);
2                         Token.Kind := Less_Than_Or_Equal;
2                         return;
2                     elsif Line.Chars (2) = '<' then

* Change 747..763
1                            Line.Chars (3) = '=' then  
1                             Append_Resize (Token.Image, "<<:=");  
1                             Truncstring_For (Line, 4, Positive'Last);  
1                             Token.Kind := Left_Shift_Equal;  
1                             return;  
1                         end if;  
1                         Append_Resize (Token.Image, "<<");  
1                         Truncstring_For (Line, 3, Positive'Last);  
1                         Token.Kind := Left_Shift;  
1                         return;  
1                     end if;  
1                 end if;  
1                 Append_Resize (Token.Image, "<");  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Less_Than;  
1                 return;  
1             when '=' =>  
-----
2                            Line.Chars (3) = '=' then
2                             Append_Resize (Token.Image, "<<:=");
2                             Truncstring_For (Line, 4, Inf);
2                             Token.Kind := Left_Shift_Equal;
2                             return;
2                         end if;
2                         Append_Resize (Token.Image, "<<");
2                         Truncstring_For (Line, 3, Inf);
2                         Token.Kind := Left_Shift;
2                         return;
2                     end if;
2                 end if;
2                 Append_Resize (Token.Image, "<");
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Less_Than;
2                 return;
2             when '=' =>

* Change 765..773
1                    Line.Chars (2) = '=' then  
1                     Append_Resize (Token.Image, "=");  
1                     Truncstring_For (Line, 3, Positive'Last);  
1                     Token.Kind := Equal;  
1                     return;  
1                 end if;  
1                 Append_Resize (Token.Image, ":=");  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Assignment;  
-----
2                    Line.Chars (2) = '=' then
2                     Append_Resize (Token.Image, "=");
2                     Truncstring_For (Line, 3, Inf);
2                     Token.Kind := Equal;
2                     return;
2                 end if;
2                 Append_Resize (Token.Image, ":=");
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Assignment;

* Change 778..806
1             when '(' =>  
1                 Append_Resize (Token.Image, '(');  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Left_Paren;  
1                 return;  
1             when ')' =>  
1                 Append_Resize (Token.Image, ')');  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Right_Paren;  
1                 return;  
1             when '[' =>  
1                 Append_Resize (Token.Image, '(');  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Left_Bracket;  
1                 return;  
1             when ']' =>  
1                 Append_Resize (Token.Image, ')');  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Right_Bracket;  
1                 return;  
1             when '{' =>  
1                 Append_Resize (Token.Image, '{');  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Left_Curly;  
1                 return;  
1             when '}' =>  
1                 Append_Resize (Token.Image, '}');  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Right_Curly;  
-----
2             when '(' =>
2                 Append_Resize (Token.Image, '(');
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Left_Paren;
2                 return;
2             when ')' =>
2                 Append_Resize (Token.Image, ')');
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Right_Paren;
2                 return;
2             when '[' =>
2                 Append_Resize (Token.Image, '(');
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Left_Bracket;
2                 return;
2             when ']' =>
2                 Append_Resize (Token.Image, ')');
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Right_Bracket;
2                 return;
2             when '{' =>
2                 Append_Resize (Token.Image, '{');
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Left_Curly;
2                 return;
2             when '}' =>
2                 Append_Resize (Token.Image, '}');
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Right_Curly;

* Change 811..824
1             when ',' =>  
1                 Append_Resize (Token.Image, ',');  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Comma;  
1                 return;  
1             when ':' =>  
1                 Append_Resize (Token.Image, ':');  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Colon;  
1                 return;  
1             when ';' =>  
1                 Append_Resize (Token.Image, ';');  
1                 Truncstring_For (Line, 2, Positive'Last);  
1                 Token.Kind := Semicolon;  
-----
2             when ',' =>
2                 Append_Resize (Token.Image, ',');
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Comma;
2                 return;
2             when ':' =>
2                 Append_Resize (Token.Image, ':');
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Colon;
2                 return;
2             when ';' =>
2                 Append_Resize (Token.Image, ';');
2                 Truncstring_For (Line, 2, Inf);
2                 Token.Kind := Semicolon;

* Change 829..833
1             when others =>  
1                 Scanner_Error := True;  
1                 Text_Io.Put_Line ("Mysterious character? " & Line.Chars (1) &  
1                                   Line.Chars (2 .. Line.Length));  
1                 Debug_Tools.User_Break ("Weird character.");  
-----
2             when others =>
2                 Scanner_Error := True;
2                 Text_Io.Put_Line ("Mysterious character? " & Line.Chars (1) &
2                                   String (Line.Chars (2 .. Line.Length)));
2                 Debug_Tools.User_Break ("Weird character.");

* Change 850
1                   "ABCDEFGHIJKLMNOPQRSTUVWXYZ" &  
-----
2                   "ABCDEFGHIJKLMNOPQRSTUVWXYZ" &

* Change 857
1     Set_Breakset (Scan_Over_Hexadecimal_Number,  
-----
2     Set_Breakset (Scan_Over_Hexadecimal_Number,

* Change 864
1     C_Name_Map.Keyword (Token_Kind'Pos (Keyword_Case), "case", "when");  
-----
2     C_Name_Map.Keyword (Token_Kind'Pos (Keyword_Case), "case", "when");

* Change 868..871
1     C_Name_Map.Keyword (Token_Kind'Pos (Keyword_Repeat), "repeat");  
1     C_Name_Map.Keyword (Token_Kind'Pos (Keyword_Struct), "struct");  
1     C_Name_Map.Keyword (Token_Kind'Pos (Keyword_Switch), "switch", "case");  
1     C_Name_Map.Keyword (Token_Kind'Pos (Keyword_Typedef), "typedef");  
-----
2     C_Name_Map.Keyword (Token_Kind'Pos (Keyword_Repeat), "repeat");
2     C_Name_Map.Keyword (Token_Kind'Pos (Keyword_Struct), "struct");
2     C_Name_Map.Keyword (Token_Kind'Pos (Keyword_Switch), "switch", "case");
2     C_Name_Map.Keyword (Token_Kind'Pos (Keyword_Typedef), "typedef");

* Change 879
1     C_Name_Map.Keyword (Token_Kind'Pos (Type_Signed), "signed", "s_long");  
-----
2     C_Name_Map.Keyword (Token_Kind'Pos (Type_Signed), "signed", "s_long");

* Change 882
1 end C_Lexer;  
-----
2 end C_Lexer;
16:17:00 ::: [end of File_Utilities.Difference].
16:17:02 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:17:02 ... C_TO_ADA.C_MASTER_FILE'BODY'V(1)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:17:02 ... UNITS.C_TO_ADA.C_MASTER_FILE'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.C_TO_ADA.C_MASTER_FILE'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.C_TO_ADA.C_MASTER_FILE'BODY
* Change 3
1     return "!x11.x_tools.rev5_working.units.c_to_ada." &
-----
2     return "!x11.x_tools.rev6_working.units.c_to_ada." &
16:17:03 ::: [end of File_Utilities.Difference].
16:17:05 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:17:05 ... C_TO_ADA.C_NAME_MAP'BODY'V(5)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:17:05 ... UNITS.C_TO_ADA.C_NAME_MAP'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.C_TO_ADA.C_NAME_MAP'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.C_TO_ADA.C_NAME_MAP'BODY
* Change 1..12
1 with Debug_Tools;  
1 with Text_Io;  
1 with String_Map_Generic;  
1 with Vstring_Assign;  
1 use Vstring_Assign;  
1 with Vstring_Heap;  
1 use Vstring_Heap;  
1 with Vstring_Io;  
1 use Vstring_Io;  
1 with Vstring_Scan;  
1 use Vstring_Scan;  
1 with Vstring_Type;  
-----
2 with Debug_Tools;
2 with Text_Io;
2 with String_Map_Generic;
2 with Vstring_Assign;
2 use Vstring_Assign;
2 with Vstring_Heap;
2 use Vstring_Heap;
2 with Vstring_Io;
2 use Vstring_Io;
2 with Vstring_Scan;
2 use Vstring_Scan;
2 with Vstring_Type;

* Change 31..34
1         Result   : Vstring_Data (50000);  
1         Iter     : Name_Map.Iterator;  
1         Succ     : Boolean;  
1         Ada_Name : Range_Type;  
-----
2         Result   : Vstring_Data (50000);
2         Iter     : Name_Map.Iterator;
2         Succ     : Boolean;
2         Ada_Name : Range_Type;

* Change 37..64
1         Assign (Result, "Map entries: ");  
1         Append (Result, Natural'Image (Name_Map.Cardinality (Value)));  
1         Name_Map.Init (Iter, Value);  
1         while not Name_Map.Done (Iter) loop  
1             declare  
1                 Name : constant String := Name_Map.Value (Iter);  
1             begin  
1                 Append (Result, Ascii.Lf);  
1                 Append (Result, Prefix);  
1                 Append (Result, "  ");  
1                 Append (Result, Name);  
1                 Append (Result, " => ");  
1                 Name_Map.Find (Value, Name, Ada_Name, Succ);  
1                 if Succ then  
1                     if Ada_Name.Keyword /= 0 then  
1                         Append (Result, '<');  
1                         Append (Result, Natural'Image (Ada_Name.Keyword));  
1                         Append (Result, "> ");  
1                     end if;  
1                     Append (Result, Ada_Name.Name.Chars  
1                                        (1 .. Ada_Name.Name.Length));  
1                 else  
1                     Append (Result, "<not in map?>");  
1                 end if;  
1             end;  
1             Name_Map.Next (Iter);  
1         end loop;  
1         return Result.Chars (1 .. Result.Length);
-----
2         Assign (Result, "Map entries: ");
2         Append (Result, E_String (Natural'Image
2                                      (Name_Map.Cardinality (Value))));
2         Name_Map.Init (Iter, Value);
2         while not Name_Map.Done (Iter) loop
2             declare
2                 Name : constant String := Name_Map.Value (Iter);
2             begin
2                 Append (Result, Ascii.Lf);
2                 Append (Result, E_String (Prefix));
2                 Append (Result, "  ");
2                 Append (Result, E_String (Name));
2                 Append (Result, " => ");
2                 Name_Map.Find (Value, Name, Ada_Name, Succ);
2                 if Succ then
2                     if Ada_Name.Keyword /= 0 then
2                         Append (Result, '<');
2                         Append (Result, E_String
2                                            (Natural'Image (Ada_Name.Keyword)));
2                         Append (Result, "> ");
2                     end if;
2                     Append (Result, Ada_Name.Name.Chars
2                                        (1 .. Ada_Name.Name.Length));
2                 else
2                     Append (Result, "<not in map?>");
2                 end if;
2             end;
2             Name_Map.Next (Iter);
2         end loop;
2         return String (Result.Chars (1 .. Result.Length));

* Change 68
1     procedure Register_Name_Map is new Debug_Tools.Register  
-----
2     procedure Register_Name_Map is new Debug_Tools.Register

* Change 72
1     procedure Find (Map_From :        String;  
-----
2     procedure Find (Map_From :        E_String;  

* Change 79..80
1     begin  
1         Name_Map.Find (Map, Map_From, Map_To, Success);  
-----
2     begin
2         Name_Map.Find (Map, String (Map_From), Map_To, Success);

* Change 84
1     procedure Define (Map_From : String;  
-----
2     procedure Define (Map_From : E_String;  

* Change 90..91
1         New_Name : Range_Type := (Keyword => 0,  
1                                   Name    => New_Vstring (Map_To.Length));  
-----
2         New_Name : Range_Type := (Keyword => 0,
2                                   Name    => New_Vstring (Map_To.Length));

* Change 94..95
1         Assign (New_Name.Name, Map_To);  
1         Name_Map.Define (Map, Map_From, New_Name, Trap_Multiples => True);
-----
2         Assign (New_Name.Name, Map_To);
2         Name_Map.Define (Map, String (Map_From), New_Name,
2                          Trap_Multiples => True);

* Change 97..100
1     exception  
1         when Name_Map.Multiply_Defined =>  
1             Text_Io.Put_Line ("Mapping already in map? " & Map_From &  
1                               " => " & Map_To.Chars (1 .. Map_To.Length));  
-----
2     exception
2         when Name_Map.Multiply_Defined =>
2             Text_Io.Put_Line ("Mapping already in map? " &
2                               String (Map_From) & " => " &
2                               String (Map_To.Chars (1 .. Map_To.Length)));

* Change 106
1     procedure Define (Map_From : String;  
-----
2     procedure Define (Map_From : E_String;  

* Change 112..113
1         New_Name : Range_Type := (Keyword => 0,  
1                                   Name    => New_Vstring (Map_To.Length));  
-----
2         New_Name : Range_Type := (Keyword => 0,
2                                   Name    => New_Vstring (Map_To.Length));

* Change 116..117
1         Assign (New_Name.Name, Map_To);  
1         Name_Map.Define (Map, Map_From, New_Name, Trap_Multiples => True);
-----
2         Assign (New_Name.Name, Map_To);
2         Name_Map.Define (Map, String (Map_From), New_Name,
2                          Trap_Multiples => True);

* Change 119..122
1     exception  
1         when Name_Map.Multiply_Defined =>  
1             Text_Io.Put_Line ("Mapping already in map? " & Map_From &  
1                               " => " & Map_To.Chars (1 .. Map_To.Length));  
-----
2     exception
2         when Name_Map.Multiply_Defined =>
2             Text_Io.Put_Line ("Mapping already in map? " &
2                               String (Map_From) & " => " &
2                               String (Map_To.Chars (1 .. Map_To.Length)));

* Change 128..130
1     procedure Keyword (Keyword  : Natural;  
1                        Map_From : String;  
1                        Map_To   : String := "") is
-----
2     procedure Keyword (Keyword  : Natural;
2                        Map_From : E_String;  
2                        Map_To   : E_String := "") is

* Change 135
1         New_Name : Range_Type;  
-----
2         New_Name : Range_Type;

* Change 138..146
1         New_Name.Keyword := Keyword;  
1         if Map_To = "" then  
1             New_Name.Name := New_Vstring (Map_From'Length);  
1             Assign (New_Name.Name, Map_From);  
1         else  
1             New_Name.Name := New_Vstring (Map_To'Length);  
1             Assign (New_Name.Name, Map_To);  
1         end if;  
1         Name_Map.Define (Map, Map_From, New_Name, Trap_Multiples => True);
-----
2         New_Name.Keyword := Keyword;
2         if Map_To = "" then
2             New_Name.Name := New_Vstring (Map_From'Length);
2             Assign (New_Name.Name, Map_From);
2         else
2             New_Name.Name := New_Vstring (Map_To'Length);
2             Assign (New_Name.Name, Map_To);
2         end if;
2         Name_Map.Define (Map, String (Map_From), New_Name,
2                          Trap_Multiples => True);

* Change 148..151
1     exception  
1         when Name_Map.Multiply_Defined =>  
1             Text_Io.Put_Line ("Mapping already in map? " &  
1                               Map_From & " => " & Map_To);  
-----
2     exception
2         when Name_Map.Multiply_Defined =>
2             Text_Io.Put_Line ("Mapping already in map? " &
2                               String (Map_From) & " => " & String (Map_To));

* Change 159..161
1                                     Scan_Over_Whitespace :        Breakset;  
1                                     Scan_Over_From_Part  :        Breakset;  
1                                     Scan_Over_To_Part    :        Breakset;  
-----
2                                     Scan_Over_Whitespace :        Breakset;
2                                     Scan_Over_From_Part  :        Breakset;
2                                     Scan_Over_To_Part    :        Breakset;

* Change 164..167
1                                     Error                : in out Boolean) is  
1         Chr      : Character;  
1         New_Name : Range_Type;  
1         Dups     : Natural := 0;  
-----
2                                     Error                : in out Boolean) is
2         Chr      : Character;
2         New_Name : Range_Type;
2         Dups     : Natural := 0;

* Change 172..174
1         Trunc_Scan (Line, Scan_Over_Whitespace, Chr);  
1         if Line.Length = 0 then  
1             return;  
-----
2         Trunc_Scan (Line, Scan_Over_Whitespace, Chr);
2         if Line.Length = 0 then
2             return;

* Change 179..188
1         if Line.Length > C_Name.Maximum_Length then  
1             Resize_Vstring (C_Name, (Line.Length + 1023) / 1024 * 1024);  
1         end if;  
1         Scan (C_Name, Line, Scan_Over_From_Part, Chr);  
1         if C_Name.Length = 0 then  
1             Text_Io.Put_Line ("File:" & File &  
1                               "; line does not start with a valid C id: " &  
1                               Line.Chars (1 .. Line.Length));  
1             Error := True;  
1             return;  
-----
2         if Line.Length > C_Name.Maximum_Length then
2             Resize_Vstring (C_Name, (Line.Length + 1023) / 1024 * 1024);
2         end if;
2         Scan (C_Name, Line, Scan_Over_From_Part, Chr);
2         if C_Name.Length = 0 then
2             Text_Io.Put_Line ("File:" & File &
2                               "; line does not start with a valid C id: " &
2                               String (Line.Chars (1 .. Line.Length)));
2             Error := True;
2             return;

* Change 193..199
1         Trunc_Scan (Line, Scan_Over_Whitespace, Chr);  
1         if Line.Length = 0 then  
1             Text_Io.Put_Line ("File:" & File &  
1                               "; line contains only one name: " &  
1                               C_Name.Chars (1 .. C_Name.Length));  
1             Error := True;  
1             return;  
-----
2         Trunc_Scan (Line, Scan_Over_Whitespace, Chr);
2         if Line.Length = 0 then
2             Text_Io.Put_Line ("File:" & File &
2                               "; line contains only one name: " &
2                               String (C_Name.Chars (1 .. C_Name.Length)));
2             Error := True;
2             return;

* Change 204..212
1         if Line.Length > Ada_Name.Maximum_Length then  
1             Resize_Vstring (Ada_Name, (Line.Length + 1023) / 1024 * 1024);  
1         end if;  
1         Scan (Ada_Name, Line, Scan_Over_To_Part, Chr);  
1         if Ada_Name.Length = 0 then  
1             Text_Io.Put_Line ("File:" & File & "; 2nd ID is not a valid id?: " &  
1                               Line.Chars (1 .. Line.Length));  
1             Error := True;  
1             return;  
-----
2         if Line.Length > Ada_Name.Maximum_Length then
2             Resize_Vstring (Ada_Name, (Line.Length + 1023) / 1024 * 1024);
2         end if;
2         Scan (Ada_Name, Line, Scan_Over_To_Part, Chr);
2         if Ada_Name.Length = 0 then
2             Text_Io.Put_Line ("File:" & File & "; 2nd ID is not a valid id?: " &
2                               String (Line.Chars (1 .. Line.Length)));
2             Error := True;
2             return;

* Change 217..233
1         if Line.Length > 0 then  
1             Trunc_Scan (Line, Scan_Over_Whitespace, Chr);  
1         end if;  
1         if Line.Length > 0 then  
1             begin  
1                 Dups        := Natural'Value (Line.Chars (1 .. Line.Length));  
1                 Line.Length := 0;  
1             exception  
1                 when Constraint_Error =>  
1                     null;  
1             end;  
1         end if;  
1         if Line.Length > 0 then  
1             Text_Io.Put_Line ("File:" & File & "; garbage after 2nd name?: " &  
1                               Line.Chars (1 .. Line.Length));  
1             Error := True;  
1             return;  
-----
2         if Line.Length > 0 then
2             Trunc_Scan (Line, Scan_Over_Whitespace, Chr);
2         end if;
2         if Line.Length > 0 then
2             begin
2                 Dups := Natural'Value (String (Line.Chars (1 .. Line.Length)));
2                 Line.Length := 0;
2             exception
2                 when Constraint_Error =>
2                     null;
2             end;
2         end if;
2         if Line.Length > 0 then
2             Text_Io.Put_Line ("File:" & File & "; garbage after 2nd name?: " &
2                               String (Line.Chars (1 .. Line.Length)));
2             Error := True;
2             return;

* Change 239..240
1                      Name    => New_Vstring (Ada_Name.Length));  
1         Assign (New_Name.Name, Ada_Name);  
-----
2                      Name    => New_Vstring (Ada_Name.Length));
2         Assign (New_Name.Name, Ada_Name);

* Change 242
1                          C_Name.Chars (1 .. C_Name.Length),  
-----
2                          String (C_Name.Chars (1 .. C_Name.Length)),  

* Change 248
1         begin  
-----
2         begin

* Change 250
1                             Ada_Name.Chars (1 .. Ada_Name.Length),  
-----
2                             String (Ada_Name.Chars (1 .. Ada_Name.Length)),  

* Change 252..253
1                             Trap_Multiples => True);  
1         exception  
-----
2                             Trap_Multiples => True);
2         exception

* Change 255..268
1                 declare  
1                     Count : Natural;  
1                     Name  : constant String :=  
1                        Ada_Name.Chars (1 .. Ada_Name.Length);  
1                 begin  
1                     Count := Dup_Map.Eval (Dup, Name);  
1                     if Count = 0 then  
1                         Text_Io.Put ("Duplicate Ada name in Name_Map: ");  
1                         Text_Io.Put (C_Name.Chars (1 .. C_Name.Length));  
1                         Text_Io.Put (" => ");  
1                         Text_Io.Put_Line (Ada_Name.Chars  
1                                              (1 .. Ada_Name.Length));  
1                         Debug_Tools.User_Break ("Duplicate Ada name in map.");  
1                     else  
-----
2                 declare
2                     Count : Natural;
2                     Name  : constant E_String :=
2                        Ada_Name.Chars (1 .. Ada_Name.Length);
2                 begin
2                     Count := Dup_Map.Eval (Dup, String (Name));
2                     if Count = 0 then
2                         Text_Io.Put ("Duplicate Ada name in Name_Map: ");
2                         Put (C_Name);
2                         Text_Io.Put (" => ");
2                         Put_Line (Ada_Name);
2                         Debug_Tools.User_Break ("Duplicate Ada name in map.");
2                     else

* Change 270
1                                         Name,  
-----
2                                         String (Name),  

* Change 272..274
1                                         Trap_Multiples => False);  
1                     end if;  
1                 end;  
-----
2                                         Trap_Multiples => False);
2                     end if;
2                 end;

* Change 279..283
1     exception  
1         when Name_Map.Multiply_Defined =>  
1             Text_Io.Put_Line (File & "; C name already in map: " &  
1                               C_Name.Chars (1 .. C_Name.Length));  
1             Error := True;  
-----
2     exception
2         when Name_Map.Multiply_Defined =>
2             Text_Io.Put_Line (File & "; C name already in map: " &
2                               String (C_Name.Chars (1 .. C_Name.Length)));
2             Error := True;

* Change 290..292
1                                      Scan_Over_Whitespace :     Breakset;  
1                                      Scan_Over_From_Part  :     Breakset;  
1                                      Scan_Over_To_Part    :     Breakset;  
-----
2                                      Scan_Over_Whitespace :     Breakset;
2                                      Scan_Over_From_Part  :     Breakset;
2                                      Scan_Over_To_Part    :     Breakset;

* Change 299..307
1         Map_File    : Text_Io.File_Type;  
1         Line        : Vstring := New_Vstring (1000);  
1         C_Name      : Vstring := New_Vstring (1000);  
1         Ada_Name    : Vstring := New_Vstring (1000);  
1         Chr         : Character;  
1         End_Of_Line : Boolean;  
1         End_Of_Page : Boolean;  
1         End_Of_File : Boolean;  
1         Our_Error   : Boolean := False;  
-----
2         Map_File    : Text_Io.File_Type;
2         Line        : Vstring := New_Vstring (1000);
2         C_Name      : Vstring := New_Vstring (1000);
2         Ada_Name    : Vstring := New_Vstring (1000);
2         Chr         : Character;
2         End_Of_Line : Boolean;
2         End_Of_Page : Boolean;
2         End_Of_File : Boolean;
2         Our_Error   : Boolean := False;

* Change 312
1         begin  
-----
2         begin

* Change 317..320
1             End_Of_File := False;  
1             while not End_Of_File loop  
1                 Get_Resize (Map_File, Line, 1000, End_Of_Line,  
1                             End_Of_Page, End_Of_File);  
-----
2             End_Of_File := False;
2             while not End_Of_File loop
2                 Get_Resize (Map_File, Line, 1000, End_Of_Line,
2                             End_Of_Page, End_Of_File);

* Change 324
1                                       C_Name, Ada_Name, Our_Error);  
-----
2                                       C_Name, Ada_Name, Our_Error);

* Change 335..337
1             when Text_Io.Name_Error | Text_Io.Use_Error =>  
1                 Text_Io.Put_Line  
1                    ("Cannot open file for reading: [" & File & "]");  
-----
2             when Text_Io.Name_Error | Text_Io.Use_Error =>
2                 Text_Io.Put_Line
2                    ("Cannot open file for reading: [" & File & "]");

* Change 340
1             when Text_Io.End_Error =>  
-----
2             when Text_Io.End_Error =>

* Change 343..348
1             when others =>  
1                 Text_Io.Put_Line ("File:" & File &  
1                                   "; unknown exception while processing file");  
1                 Text_Io.Put_Line ("Exception: " &  
1                                   Debug_Tools.Get_Exception_Name);  
1                 Our_Error := True;  
-----
2             when others =>
2                 Text_Io.Put_Line ("File:" & File &
2                                   "; unknown exception while processing file");
2                 Text_Io.Put_Line ("Exception: " &
2                                   Debug_Tools.Get_Exception_Name);
2                 Our_Error := True;

* Change 355..357
1         Free_Vstring (Line);  
1         Free_Vstring (C_Name);  
1         Free_Vstring (Ada_Name);  
-----
2         Free_Vstring (Line);
2         Free_Vstring (C_Name);
2         Free_Vstring (Ada_Name);

* Change 363
1     procedure Duplicates (Name : String; How_Many : Natural) is
-----
2     procedure Duplicates (Name : E_String; How_Many : Natural) is

* Change 370
1     begin  
-----
2     begin

* Change 372
1                         Name,  
-----
2                         String (Name),  

* Change 374..378
1                         Trap_Multiples => True);  
1     exception  
1         when Dup_Map.Multiply_Defined =>  
1             Text_Io.Put_Line (Name & " is already in Duplicates map?");  
1             raise;  
-----
2                         Trap_Multiples => True);
2     exception
2         when Dup_Map.Multiply_Defined =>
2             Text_Io.Put_Line (String (Name) & " is already in Duplicates map?");
2             raise;

* Change 387..388
1     if Debug_Tools.Debugging then  
1         Register_Name_Map;  
-----
2     if Debug_Tools.Debugging then
2         Register_Name_Map;

* Change 393
1     Name_Map.Initialize (Map);  
-----
2     Name_Map.Initialize (Map);

* Change 396
1 end C_Name_Map;  
-----
2 end C_Name_Map;
16:17:09 ::: [end of File_Utilities.Difference].
16:17:10 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:17:10 ... C_TO_ADA.C_NAME_MAP'SPEC'V(1)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:17:10 ... UNITS.C_TO_ADA.C_NAME_MAP'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.C_TO_ADA.C_NAME_MAP'SPEC
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.C_TO_ADA.C_NAME_MAP'SPEC
* Insert after 0
2 with Arithmetic;
2 use Arithmetic;

* Change 26
1     procedure Find (Map_From :        String;  
-----
2     procedure Find (Map_From :        E_String;  

* Change 34
1     procedure Define (Map_From : String;  
-----
2     procedure Define (Map_From : E_String;  

* Change 36
1     procedure Define (Map_From : String;  
-----
2     procedure Define (Map_From : E_String;  

* Change 45..46
1                        Map_From : String;  
1                        Map_To   : String := "");
-----
2                        Map_From : E_String;  
2                        Map_To   : E_String := "");

* Change 65
1     procedure Duplicates (Name : String; How_Many : Natural);
-----
2     procedure Duplicates (Name : E_String; How_Many : Natural);
16:17:12 ::: [end of File_Utilities.Difference].
16:17:13 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:17:13 ... C_TO_ADA.C_SCAN'BODY'V(5)", "!X11.X_TOOLS.REV6_0_0_WORKING.UNITS.
16:17:13 ... C_TO_ADA.C_SCAN'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.C_TO_ADA.C_SCAN'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.C_TO_ADA.C_SCAN'BODY
* Change 1..19
1 with C_Lexer;  
1 use C_Lexer;  
1 with C_Name_Map;  
1 with Debug_Tools;  
1 with Text_Io;  
1 with Log;  
1 with Profile;  
1 with String_Map_Generic;  
1 with Vstring_Assign;  
1 use Vstring_Assign;  
1 with Vstring_Heap;  
1 use Vstring_Heap;  
1 with Vstring_Io;  
1 use Vstring_Io;  
1 with Vstring_Query;  
1 use Vstring_Query;  
1 with Vstring_Scan;  
1 use Vstring_Scan;  
1 with Vstring_Type;  
-----
2 with Debug_Tools;
2 with Text_Io;
2 with Log;
2 with Profile;
2 
2 with C_Lexer;
2 use C_Lexer;
2 with C_Name_Map;
2 
2 with Arithmetic;
2 use Arithmetic;
2 with String_Map_Generic;
2 with Vstring_Assign;
2 use Vstring_Assign;
2 with Vstring_Heap;
2 use Vstring_Heap;
2 with Vstring_Io;
2 use Vstring_Io;
2 with Vstring_Query;
2 use Vstring_Query;
2 with Vstring_Scan;
2 use Vstring_Scan;
2 with Vstring_Type;

* Change 39..41
1         Cur_Token : Token_Type;  
1         Nxt_Token : Token_Type;  
1         Str       : Vstring;  
-----
2         Cur_Token : Token_Type;
2         Nxt_Token : Token_Type;
2         Str       : Vstring;

* Change 50..53
1             Scan_Token (Cur_Token);  
1             <<Try_Cur_Again>> null;  
1             Text_Io.Put (Ada_File,  
1                          Cur_Token.White.Chars (1 .. Cur_Token.White.Length));
-----
2             Scan_Token (Cur_Token);
2             <<Try_Cur_Again>> null;
2             Put (Ada_File, Cur_Token.White);

* Change 61..65
1                 when Type_Unsigned =>  
1                     Scan_Token (Nxt_Token);  
1                     case Nxt_Token.Kind is  
1                         when Type_Long | Type_Int =>  
1                             Text_Io.Put (Ada_File, "u_long");  
-----
2                 when Type_Unsigned =>
2                     Scan_Token (Nxt_Token);
2                     case Nxt_Token.Kind is
2                         when Type_Long | Type_Int =>
2                             Text_Io.Put (Ada_File, "u_long");

* Change 67..71
1                             Text_Io.Put (Ada_File,  
1                                          Nxt_Token.White.Chars  
1                                             (1 .. Nxt_Token.White.Length));  
1                         when Type_Short =>  
1                             Text_Io.Put (Ada_File, "u_short");  
-----
2                             Put (Ada_File, Nxt_Token.White);
2                         when Type_Short =>
2                             Text_Io.Put (Ada_File, "u_short");

* Change 73..77
1                             Text_Io.Put (Ada_File,  
1                                          Nxt_Token.White.Chars  
1                                             (1 .. Nxt_Token.White.Length));  
1                         when Type_Char =>  
1                             Text_Io.Put (Ada_File, "u_char");  
-----
2                             Put (Ada_File, Nxt_Token.White);
2                         when Type_Char =>
2                             Text_Io.Put (Ada_File, "u_char");

* Change 79..82
1                             Text_Io.Put (Ada_File,  
1                                          Nxt_Token.White.Chars  
1                                             (1 .. Nxt_Token.White.Length));  
1                         when others =>  
-----
2                             Put (Ada_File, Nxt_Token.White);
2                         when others =>

* Change 84..91
1                             Str             := Cur_Token.White;  
1                             Cur_Token.White := Nxt_Token.White;  
1                             Nxt_Token.White := Str;  
1                             Str             := Cur_Token.Image;  
1                             Cur_Token.Image := Nxt_Token.Image;  
1                             Nxt_Token.Image := Str;  
1                             Cur_Token.Kind  := Nxt_Token.Kind;  
1                             goto Try_Cur_Again;  
-----
2                             Str             := Cur_Token.White;
2                             Cur_Token.White := Nxt_Token.White;
2                             Nxt_Token.White := Str;
2                             Str             := Cur_Token.Image;
2                             Cur_Token.Image := Nxt_Token.Image;
2                             Nxt_Token.Image := Str;
2                             Cur_Token.Kind  := Nxt_Token.Kind;
2                             goto Try_Cur_Again;

* Change 96..117
1                 when Type_Signed =>  
1                     Scan_Token (Nxt_Token);  
1                     case Nxt_Token.Kind is  
1                         when Type_Long | Type_Int =>  
1                             Text_Io.Put (Ada_File, "s_long");  
1                             Text_Io.Put (Ada_File, "    ");  
1                             Text_Io.Put (Ada_File,  
1                                          Nxt_Token.White.Chars  
1                                             (1 .. Nxt_Token.White.Length));  
1                         when Type_Short =>  
1                             Text_Io.Put (Ada_File, "s_short");  
1                             Text_Io.Put (Ada_File, "    ");  
1                             Text_Io.Put (Ada_File,  
1                                          Nxt_Token.White.Chars  
1                                             (1 .. Nxt_Token.White.Length));  
1                         when Type_Char =>  
1                             Text_Io.Put (Ada_File, "s_char");  
1                             Text_Io.Put (Ada_File, "    ");  
1                             Text_Io.Put (Ada_File,  
1                                          Nxt_Token.White.Chars  
1                                             (1 .. Nxt_Token.White.Length));  
1                         when others =>  
-----
2                 when Type_Signed =>
2                     Scan_Token (Nxt_Token);
2                     case Nxt_Token.Kind is
2                         when Type_Long | Type_Int =>
2                             Text_Io.Put (Ada_File, "s_long");
2                             Text_Io.Put (Ada_File, "    ");
2                             Put (Ada_File, Nxt_Token.White);
2                         when Type_Short =>
2                             Text_Io.Put (Ada_File, "s_short");
2                             Text_Io.Put (Ada_File, "    ");
2                             Put (Ada_File, Nxt_Token.White);
2                         when Type_Char =>
2                             Text_Io.Put (Ada_File, "s_char");
2                             Text_Io.Put (Ada_File, "    ");
2                             Put (Ada_File, Nxt_Token.White);
2                         when others =>

* Change 119..126
1                             Str             := Cur_Token.White;  
1                             Cur_Token.White := Nxt_Token.White;  
1                             Nxt_Token.White := Str;  
1                             Str             := Cur_Token.Image;  
1                             Cur_Token.Image := Nxt_Token.Image;  
1                             Nxt_Token.Image := Str;  
1                             Cur_Token.Kind  := Nxt_Token.Kind;  
1                             goto Try_Cur_Again;  
-----
2                             Str             := Cur_Token.White;
2                             Cur_Token.White := Nxt_Token.White;
2                             Nxt_Token.White := Str;
2                             Str             := Cur_Token.Image;
2                             Cur_Token.Image := Nxt_Token.Image;
2                             Nxt_Token.Image := Str;
2                             Cur_Token.Kind  := Nxt_Token.Kind;
2                             goto Try_Cur_Again;

* Change 131
1                 when End_Of_File_Token =>  
-----
2                 when End_Of_File_Token =>

* Change 136..140
1                 when others =>  
1                     Text_Io.Put  
1                        (Ada_File,  
1                         Cur_Token.Image.Chars (1 .. Cur_Token.Image.Length));  
1             end case;  
-----
2                 when others =>
2                     Put (Ada_File, Cur_Token.Image);
2             end case;

* Change 145
1         Free_Vstring (Cur_Token.Image);  
-----
2         Free_Vstring (Cur_Token.Image);

* Change 164
1         Our_Error : Boolean := False;  
-----
2         Our_Error : Boolean := False;

* Change 169..177
1         begin  
1             Log.Put_Line ("Read input file: " & C_In_File, Profile.Note_Msg);  
1             Text_Io.Open (C_File, Text_Io.In_File, C_In_File);  
1             Init_Scanner;  
1         exception  
1             when others =>  
1                 Text_Io.Put_Line ("Cannot open input file: " & C_In_File);  
1                 Error := True;  
1                 return;  
-----
2         begin
2             Log.Put_Line ("Read input file: " & C_In_File, Profile.Note_Msg);
2             Text_Io.Open (C_File, Text_Io.In_File, C_In_File);
2             Init_Scanner;
2         exception
2             when others =>
2                 Text_Io.Put_Line ("Cannot open input file: " & C_In_File);
2                 Error := True;
2                 return;

* Change 182..194
1         begin  
1             Text_Io.Create (Ada_File, Text_Io.Out_File, Ada_Out_File);  
1         exception  
1             when others =>  
1                 begin  
1                     Text_Io.Open (Ada_File, Text_Io.Out_File, Ada_Out_File);  
1                 exception  
1                     when others =>  
1                         Text_Io.Put_Line  
1                            ("Cannot open output file: " & Ada_Out_File);  
1                         Our_Error := True;  
1                         goto Close_C_File;  
1                 end;  
-----
2         begin
2             Text_Io.Create (Ada_File, Text_Io.Out_File, Ada_Out_File);
2         exception
2             when others =>
2                 begin
2                     Text_Io.Open (Ada_File, Text_Io.Out_File, Ada_Out_File);
2                 exception
2                     when others =>
2                         Text_Io.Put_Line
2                            ("Cannot open output file: " & Ada_Out_File);
2                         Our_Error := True;
2                         goto Close_C_File;
2                 end;

* Change 199..217
1         if Null_Name_Out_File /= "" then  
1             Null_Names := True;  
1             begin  
1                 Text_Io.Create (Name_File, Text_Io.Out_File,  
1                                 Null_Name_Out_File);  
1             exception  
1                 when others =>  
1                     begin  
1                         Text_Io.Open (Name_File, Text_Io.Out_File,  
1                                       Null_Name_Out_File);  
1                     exception  
1                         when others =>  
1                             Text_Io.Put_Line  
1                                ("Cannot open output null name file: " &  
1                                 Null_Name_Out_File);  
1                             Our_Error := True;  
1                             goto Close_Ada_File;  
1                     end;  
1             end;  
-----
2         if Null_Name_Out_File /= "" then
2             Null_Names := True;
2             begin
2                 Text_Io.Create (Name_File, Text_Io.Out_File,
2                                 Null_Name_Out_File);
2             exception
2                 when others =>
2                     begin
2                         Text_Io.Open (Name_File, Text_Io.Out_File,
2                                       Null_Name_Out_File);
2                     exception
2                         when others =>
2                             Text_Io.Put_Line
2                                ("Cannot open output null name file: " &
2                                 Null_Name_Out_File);
2                             Our_Error := True;
2                             goto Close_Ada_File;
2                     end;
2             end;

* Change 222..223
1         Our_Error := False;  
1         Do_Scanning;  
-----
2         Our_Error := False;
2         Do_Scanning;

* Change 228..236
1         if Null_Names then  
1             begin  
1                 Text_Io.Close (Name_File);  
1             exception  
1                 when others =>  
1                     Text_Io.Put_Line ("Cannot close Null_Names_File: " &  
1                                       Null_Name_Out_File);  
1                     Our_Error := True;  
1             end;  
-----
2         if Null_Names then
2             begin
2                 Text_Io.Close (Name_File);
2             exception
2                 when others =>
2                     Text_Io.Put_Line ("Cannot close Null_Names_File: " &
2                                       Null_Name_Out_File);
2                     Our_Error := True;
2             end;

* Change 241..248
1         <<Close_Ada_File>> null;  
1         begin  
1             Text_Io.Close (Ada_File);  
1         exception  
1             when others =>  
1                 Text_Io.Put_Line  
1                    ("Cannot close output Ada file: " & Ada_Out_File);  
1                 Our_Error := True;  
-----
2         <<Close_Ada_File>> null;
2         begin
2             Text_Io.Close (Ada_File);
2         exception
2             when others =>
2                 Text_Io.Put_Line
2                    ("Cannot close output Ada file: " & Ada_Out_File);
2                 Our_Error := True;

* Change 253..259
1         <<Close_C_File>> null;  
1         begin  
1             Text_Io.Close (C_File);  
1         exception  
1             when others =>  
1                 Text_Io.Put_Line ("Cannot close input C file: " & C_In_File);  
1                 Our_Error := True;  
-----
2         <<Close_C_File>> null;
2         begin
2             Text_Io.Close (C_File);
2         exception
2             when others =>
2                 Text_Io.Put_Line ("Cannot close input C file: " & C_In_File);
2                 Our_Error := True;

* Change 262
1         Log.Put_Line ("Done input file: " & C_In_File, Profile.Note_Msg);  
-----
2         Log.Put_Line ("Done input file: " & C_In_File, Profile.Note_Msg);

* Change 277
1         Log.Put_Line ("Read name file: " & File, Profile.Note_Msg);  
-----
2         Log.Put_Line ("Read name file: " & File, Profile.Note_Msg);

* Change 282..284
1                                           Error);  
1         Log.Put_Line ("Done name file: " & File, Profile.Note_Msg);
1 
-----
2                                           Error);

* Change 287
1 end C_Scan;  
-----
2 end C_Scan;
16:17:16 ::: [end of File_Utilities.Difference].
16:17:18 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:17:18 ... C_TO_ADA.MASTER_TRANSLATION_FILE'V(1)", "!X11.X_TOOLS.
16:17:18 ... REV6_0_0_WORKING.UNITS.C_TO_ADA.MASTER_TRANSLATION_FILE'V(1)", "",
16:17:18 ...  TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.C_TO_ADA.MASTER_TRANSLATION_FILE
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.C_TO_ADA.MASTER_TRANSLATION_FILE
* Change 1..3
1 XResourceManagerString                  Xlbp_Display.X_Resource_Manager_String
1 XGetCommand                             Xlbp_Hint.X_Get_Command
1 xDestroyWindowReq                       Xlbt_Request.X_Destroy_Window_Request
-----
2 __cplusplus                             __cplusplus

* Insert after 4
2 __STDC__                                __STDC__

* Change 24
1 _XtAddCallback                          Internal_Xt_Add_Callback
-----
2 _XtAddCallback                          Xt_Internal_Add_Callback

* Change 43..44
1 a                                       a                                   1
1 A                                       A                                   0
-----
2 A                                       A                                   1
2 a                                       a                                   0

* Change 53
1 AddCallbacks                            Add_Callbacks
-----
2 AddCallbacks                            Add_Callbacks                       0

* Change 65
1 AllocAll                                Xlbt_Colormap.Alloc_All
-----
2 AllocAll                                Xlbt_Color.Alloc_All

* Change 71
1 AllocNone                               Xlbt_Colormap.Alloc_None
-----
2 AllocNone                               Xlbt_Color.Alloc_None

* Change 97..98
1 arg                                     arg                                 5
1 Arg                                     Arg                                 0
-----
2 Arg                                     Arg                                 1
2 arg                                     arg                                 0

* Change 123..124
1 b                                       b                                   1
1 B                                       B                                   0
-----
2 B                                       B                                   1
2 b                                       b                                   0

* Change 129..130
1 background                              background                          1
1 Background                              Background                          0
-----
2 Background                              Background                          1
2 background                              background                          0

* Change 158..159
1 bcmp                                    bcmp
1 bcopy                                   bcopy
-----
2 bcmp                                    bcmp                                1
2 bcopy                                   bcopy                               1

* Change 200
1 border_width                            border_width
-----
2 border_width                            border_width                    0

* Change 203..204
1 Box                                     Xlbt_Region2.X_Box_Rec          3
1 BOX                                     Xlbt_Region2.X_Box_Rec          2
-----
2 BOX                                     Xlbt_Region2.X_Box_Rec          3
2 Box                                     Xlbt_Region2.X_Box_Rec          2

* Change 244
1 bzero                                   bzero
-----
2 bzero                                   bzero                               1

* Insert after 245
2 c_plusplus                              c_plusplus

* Change 247
1 call_data                               call_data
-----
2 call_data                               call_data                           0

* Change 252
1 CallbackRec                             Callback_Rec
-----
2 CallbackRec                             Xt_Callback_Rec                     0

* Change 265
1 Cardinality                             Xlbip_String_Map_Generic.Cardinality
-----
2 Cardinality                             Cardinality

* Change 269
1 change_managed                          change_managed
-----
2 change_managed                          change_managed                      0

* Change 291..292
1 class_name                              class_name
1 class_part_initialize                   class_part_initialize
-----
2 class_name                              class_name                          0
2 class_part_initialize                   class_part_initialize               0

* Change 301
1 close_display                           close_display
-----
2 close_display                           close_display                       0

* Change 319
1 compress_enterleave                     compress_enterleave
-----
2 compress_enterleave                     compress_enter_leave

* Change 327
1 const                                   const
-----
2 const                                   const                               0
2 CONST                                   CONSTant

* Change 331
1 constraint_size                         constraint_size
-----
2 constraint_size                         constraint_size                     0

* Insert after 369
2 CRAY                                    CRAY
2 CRAY2                                   CRAY2

* Change 422..423
1 data                                    data                            1
1 Data                                    data                            0
-----
2 Data                                    data                            1
2 data                                    data                            0

* Change 434..435
1 default_addr                            default_addr
1 default_char                            default_char
-----
2 default_addr                            default_addr                        1
2 default_char                            default_char                        

* Change 438
1 default_type                            default_type
-----
2 default_type                            default_type                        1

* Insert after 462
2 defined                                 defined

* Change 464
1 Delete                                  Xlbip_String_Map_Generic.Delete
-----
2 Delete                                  Delete                              0

* Change 469
1 Depth                                   Xlbt_Display2.X_Depth
-----
2 Depth                                   Xlbt_Basic2.X_Depth

* Change 476
1 DestroyList                             Destroy_List
-----
2 DestroyList                             Destroy_List                        0

* Change 494
1 display_name                            display_name
-----
2 display_name                            display_name                        0

* Change 510
1 Done                                    Xlbip_String_Map_Generic.Done
-----
2 Done                                    Done                                0

* Change 520
1 DuplicateEntry                          Xlbip_String_Map_Generic.Duplicate_Entry
-----
2 DuplicateEntry                          Duplicate_Entry

* Change 530..531
1 Element                                 Xlbip_String_Map_Generic.Element
1 ElemRec                                 Xlbip_String_Map_Generic.Elem_Rec
-----
2 Element                                 Element
2 ElemRec                                 Elem_Rec

* Change 568
1 event_mask                              event_mask
-----
2 event_mask                              event_mask                          1

* Change 571
1 eventCode                               event_Code
-----
2 eventCode                               event_Code                          0

* Change 573
1 EventMask                               Xlbt_Basic.X_Event_Mask
-----
2 EventMask                               Xlbt_Basic.X_Event_Mask             
2 eventMask                               event_Mask                          0

* Change 577..578
1 eventType                               event_Type
1 ExactCaseMatch                          Xlbip_String_Map_Generic.Exact_Case_Match
-----
2 eventType                               event_Type                          0
2 ExactCaseMatch                          Exact_Case_Match

* Insert after 588
2 externaldef                             externaldef
2 externalref                             externalref

* Change 591..592
1 False                                   False                               2
1 FALSE                                   false                               1
-----
2 FALSE                                   false                               2
2 False                                   False                               1

* Change 611
1 Find                                    Xlbip_String_Map_Generic.Find
-----
2 Find                                    Find

* Change 642..643
1 foreground                              foreground                          1
1 Foreground                              Foreground                          0
-----
2 Foreground                              Foreground                          1
2 foreground                              foreground                          0

* Change 652
1 free_Font                               free_Font
-----
2 free_Font                               free_Font                           0

* Change 660
1 FreeMap                                 Xlbip_String_Map_Generic.Free_Map
-----
2 FreeMap                                 Free_Map

* Change 664..667
1 FreeXContextHashList                    Xlbt_Context_Manager2.Free_X_Context_Hash_List
1 FreeXContextTableEntry                  Xlbt_Context_Manager2.Free_X_Context_Table_Entry
1 FreeXDepth                              Xlbt_Display2.Free_X_Depth
1 FreeXDepthList                          Xlbt_Display2.Free_X_Depth_List
-----
2 FreeXContextHashList                    Xlbt_Display2.Free_X_Context_Hash_List
2 FreeXContextTableEntry                  Xlbt_Display2.Free_X_Context_Table_Entry
2 FreeXDepth                              Xlbt_Basic2.Free_X_Depth
2 FreeXDepthList                          Xlbt_Basic2.Free_X_Depth_List

* Change 695..698
1 FreeXScreen                             Xlbt_Display2.Free_X_Screen
1 FreeXScreenFormat                       Xlbt_Display2.Free_X_Screen_Format
1 FreeXScreenFormatList                   Xlbt_Display2.Free_X_Screen_Format_List
1 FreeXScreenList                         Xlbt_Display2.Free_X_Screen_List
-----
2 FreeXScreen                             Xlbt_Basic2.Free_X_Screen
2 FreeXScreenFormat                       Xlbt_Basic2.Free_X_Screen_Format
2 FreeXScreenFormatList                   Xlbt_Basic2.Free_X_Screen_Format_List
2 FreeXScreenList                         Xlbt_Basic2.Free_X_Screen_List

* Insert after 699
2 FreeXString7Pointer                     Xlbt_String7.Free_X_String7_Pointer
2 FreeXString7PointerArray                Xlbt_String7.Free_X_String7_Pointer_Array
2 FreeXString7PointerList                 Xlbt_String7.Free_X_String7_Pointer_List

* Delete 703..705
1 FreeXString7Pointer                     Xlbt_String7.Free_X_String7_Pointer
1 FreeXString7PointerArray                Xlbt_String7.Free_X_String7_Pointer_Array
1 FreeXString7PointerList                 Xlbt_String7.Free_X_String7_Pointer_List

* Change 748
1 geometry_manager                        geometry_manager
-----
2 geometry_manager                        geometry_manager                        0

* Change 797..798
1 Grayscale                               Xlbt_Visual.Grayscale           1
1 GrayScale                               Xlbt_Visual.Grayscale           0
-----
2 GrayScale                               Xlbt_Visual.Grayscale           1
2 Grayscale                               Xlbt_Visual.Grayscale           0

* Change 821..823
1 h                                       h                               1
1 H                                       H                               0
1 HashSize                                Xlbip_String_Map_Generic.Hash_Size
-----
2 H                                       H                               1
2 h                                       h                               0
2 HashSize                                Hash_Size

* Change 832..833
1 hints                                   hints                               1
1 Hints                                   Hints                               0
-----
2 Hints                                   Hints                               1
2 hints                                   hints                               0

* Change 839..842
1 icon_name                               icon_name                           1
1 Icon_Name                               Icon_Name                           0
1 icon_pixmap                             icon_pixmap                         1
1 Icon_Pixmap                             Icon_Pixmap                         0
-----
2 Icon_Name                               Icon_Name                           1
2 icon_name                               icon_name                           0
2 Icon_Pixmap                             Icon_Pixmap                         1
2 icon_pixmap                             icon_pixmap                         0

* Change 846..847
1 iconic                                  iconic                              1
1 Iconic                                  Iconic                              0
-----
2 Iconic                                  Iconic                              1
2 iconic                                  iconic                              0

* Change 855..856
1 image                                   image                               1
1 Image                                   Image                               0
-----
2 Image                                   Image                               1
2 image                                   image                               0

* Change 864..865
1 initialize                              Initialize
1 Initialize                              Xlbip_String_Map_Generic.Initialize
-----
2 initialize                              Initialize                          1
2 Initialize                              Initialize                          0

* Change 872
1 Insert                                  Xlbip_String_Map_Generic.Insert
-----
2 Insert                                  Insert

* Change 886
1 IsEmpty                                 Xlbip_String_Map_Generic.Is_Empty
-----
2 IsEmpty                                 Is_Empty

* Change 904
1 Iter                                    Xlbip_String_Map_Generic.Iter
-----
2 Iter                                    Iter

* Change 920..921
1 key                                     key                                 1
1 Key                                     Xlbip_String_Map_Generic.Key
-----
2 key                                     key                                 2
2 Key                                     Key                                 1

* Change 943..944
1 LastEvent                               Xlbt_Event.Last_Event           1
1 LASTEvent                               Xlbt_Event.Last_Event           0
-----
2 LASTEvent                               Xlbt_Event.Last_Event           1
2 LastEvent                               Xlbt_Event.Last_Event           0

* Change 1007
1 Locate                                  Xlbip_String_Map_Generic.Locate
-----
2 Locate                                  Locate

* Change 1026..1027
1 map                                     map                                 1
1 Map                                     Xlbip_String_Map_Generic.Map
-----
2 map                                     map                                 2
2 Map                                     Map                                 1

* Change 1040
1 MapRec                                  Xlbip_String_Map_Generic.Map_Rec
-----
2 MapRec                                  Map_Rec

* Change 1044
1 mask                                    mask
-----
2 Mask                                    Mask                            1
2 mask                                    mask                            0

* Change 1048..1050
1 Max                                     max                             2
1 max                                     max                             1
1 MAX                                     max                             0
-----
2 match                                   match
2 MAX                                     max                             2
2 Max                                     max                             1
2 max                                     max                             0

* Change 1066..1068
1 Min                                     min                             2
1 min                                     min                             1
1 MIN                                     min                             0
-----
2 MIN                                     min                             2
2 Min                                     min                             1
2 min                                     min                             0

* Change 1081
1 MissingEntry                            Xlbip_String_Map_Generic.Missing_Entry
-----
2 MissingEntry                            Missing_Entry

* Change 1096
1 modifiers                               modifiers
-----
2 modifiers                               modifs

* Change 1113..1114
1 name                                    name                                1
1 Name                                    Name                                0
-----
2 Name                                    Name                                1
2 name                                    name                                0

* Change 1127..1129
1 NewMap                                  Xlbip_String_Map_Generic.New_Map
1 next                                    next
1 Next                                    Xlbip_String_Map_Generic.Next
-----
2 NewMap                                  New_Map
2 next                                    next                                1
2 Next                                    Next                                0

* Change 1143..1144
1 NoneIter                                Xlbip_String_Map_Generic.None_Iter
1 NoneMap                                 Xlbip_String_Map_Generic.None_Map
-----
2 NoneIter                                None_Iter
2 NoneMap                                 None_Map

* Change 1161
1 NoneXContextHashTable                   Xlbt_Context_Manager3.None_X_Context_Hash_Table
-----
2 NoneXContextHashTable                   Xlbt_Display2.None_X_Context_Hash_Table

* Change 1228..1230
1 NoneXScreenFormat                       Xlbt_Display2.None_X_Screen_Format
1 NoneXScreenFormatList                   Xlbt_Display2.None_X_Screen_Format_List
1 NoneXScreenList                         Xlbt_Display2.None_X_Screen_List
-----
2 NoneXScreenFormat                       Xlbt_Basic2.None_X_Screen_Format
2 NoneXScreenFormatList                   Xlbt_Basic2.None_X_Screen_Format_List
2 NoneXScreenList                         Xlbt_Basic2.None_X_Screen_List

* Insert after 1236
2 NoneXString7Pointer                     Xlbt_String7.None_X_String7_Pointer

* Delete 1238
1 NoneXString7Pointer                     Xlbt_String7.None_X_String7_Pointer

* Insert after 1277
2 null                                    null                                998

* Delete 1279
1 null                                    null                                998

* Change 1298
1 numQuarks                               num_Quarks
-----
2 numQuarks                               num_Quarks                          0

* Change 1304
1 offset                                  offset
-----
2 object                                  object
2 offset                                  offset                              0

* Change 1312
1 Opaque                                  Opaque
-----
2 Opaque                                  Xt_Opaque

* Insert after 1419
2 psect                                   psect

* Change 1576
1 RangeType                               Xlbip_String_Map_Generic.Range_Type
-----
2 RangeType                               Range_Type

* Change 1584
1 realize                                 realize
-----
2 realize                                 realize                             0

* Change 1605
1 Remove                                  Xlbip_String_Map_Generic.Remove
-----
2 Remove                                  Remove

* Change 1621
1 resize                                  resize
-----
2 resize                                  resize                              0

* Change 1626
1 resource_class                          resource_class
-----
2 resource_class                          resource_class                      1

* Change 1629..1633
1 resource_name                           resource_name
1 resource_offset                         resource_offset
1 resource_shift                          resource_shift
1 resource_size                           resource_size
1 resource_type                           resource_type
-----
2 resource_name                           resource_name                       1
2 resource_offset                         resource_offset                     1
2 resource_shift                          resource_shift                      
2 resource_size                           resource_size                       1
2 resource_type                           resource_type                       1

* Change 1671
1 ScreenFormat                            Xlbt_Display2.X_Screen_Format
-----
2 ScreenFormat                            Xlbt_Basic.X_Screen_Format

* Change 1690
1 set_values                              set_values
-----
2 set_values                              set_values                          0

* Change 1723..1724
1 sizeof                                  sizeof                          1
1 SIZEOF                                  SIZEOF                          0
-----
2 SIZEOF                                  SIZEOF                          1
2 sizeof                                  sizeof                          0

* Change 1813..1816
1 TranslateCoords                         Xlbt_Request.Translate_Coords           1
1 translations                            translations
1 TRUE                                    True                                    2
1 True                                    True                                    2
-----
2 TranslateCoords                         Xlbt_Request.Translate_Coords       1
2 translations                            translations   
2 TRUE                                    True                                2
2 True                                    True                                1

* Change 1859..1860
1 Value                                   Xlbip_String_Map_Generic.Value
1 value_mask                              value_mask
-----
2 value_mask                              value_mask                          0

* Insert after 1890
2 VMS                                     VMS

* Change 1894..1895
1 w                                       w                               1
1 W                                       W                               0
-----
2 W                                       W                               1
2 w                                       w                               0

* Change 1905..1907
1 Widget                                  Widget                              0
1 widget_class                            widget_class
1 widget_size                             widget_size
-----
2 Widget                                  Xt_Widget
2 widget_class                            object_class                        0
2 widget_size                             object_size

* Change 1928
1 WM_CONFIGURE_DENIED                     WM_CONFIGURE_DENIED
-----
2 WM_CONFIGURE_DENIED                     WM_CONFIGURE_DENIED             1
2 wm_configure_denied                     wm_configure_denied             0

* Change 1930
1 WM_MOVED                                WM_MOVED
-----
2 WM_MOVED                                WM_MOVED                        1
2 wm_moved                                wm_moved                        0

* Change 1943..1948
1 x                                       x                               1
1 X                                       X                               0
1 x1                                      x1                              1
1 X1                                      X1                              0
1 x2                                      x2                              1
1 X2                                      X2                              0
-----
2 X                                       X                               1
2 x                                       x                               0
2 X1                                      X1                              1
2 x1                                      x1                              0
2 X2                                      X2                              1
2 x2                                      x2                              0

* Change 2048
1 x_root                                  root_x
-----
2 x_root                                  root_x                              0

* Change 2172..2174
1 XAnyEvent                               Xlbt_Event.X_Event              1
1 xArc                                    Xlbt_Graphics.X_Arc             1
1 XArc                                    Xlbt_Graphics.X_Arc             0
-----
2 XAnyEvent                               Xlbt_Basic.X_Event              1
2 XArc                                    Xlbt_Graphics.X_Arc             1
2 xArc                                    Xlbt_Graphics.X_Arc             0

* Change 2177
1 XAssociativeReturns                     Xlbt_Context_Manager.X_Associative_Returns
-----
2 XAssociativeReturns                     Xlbt_Display.X_Associative_Returns

* Insert after 2224
2 XC_dot_box_mask                         Xlbt_Cursor_Font.Xc_Dot_Box_Mask 01

* Delete 2226
1 XC_dot_box_mask                         Xlbt_Cursor_Font.Xc_Dot_Box_Mask 01

* Insert after 2310
2 XCharacter                              Xlbt_String.X_Character

* Delete 2312
1 XCharacter                              Xlbt_String.X_Character

* Change 2350..2351
1 XCNOENT                                 Xlbt_Context_Manager.Xc_No_Ent
1 XCNOMEM                                 Xlbt_Context_Manager.Xc_No_Mem
-----
2 XCNOENT                                 Xlbt_Display.Xc_No_Ent
2 XCNOMEM                                 Xlbt_Display.Xc_No_Mem

* Change 2358
1 XColormapAlloc                          Xlbt_Colormap.X_Colormap_Alloc
-----
2 XColormapAlloc                          Xlbt_Color.X_Colormap_Alloc

* Change 2372..2374
1 XContextHashList                        Xlbt_Context_Manager2.X_Context_Hash_List
1 XContextHashTable                       Xlbt_Context_Manager2.X_Context_Hash_Table
1 XContextTableEntry                      Xlbt_Context_Manager2.X_Context_Table_Entry
-----
2 XContextHashList                        Xlbt_Display2.X_Context_Hash_List
2 XContextHashTable                       Xlbt_Display2.X_Context_Hash_Table
2 XContextTableEntry                      Xlbt_Display2.X_Context_Table_Entry

* Insert after 2397
2 XCreatePixmapFromBitmapData             Xlbp_Bitmap.X_Create_Pixmap_From_Bitmap_Data

* Delete 2399
1 XCreatePixmapFromBitmapData             Xlbp_Bitmap.X_Create_Pixmap_From_Bitmap_Data

* Change 2403
1 xcreatewindow                           Create
-----
2 xcreatewindow                           Create                              0

* Change 2409
1 XCSUCCESS                               Xlbt_Context_Manager.Xc_Success
-----
2 XCSUCCESS                               Xlbt_Display2.Xc_Success

* Insert after 2434
2 xDestroyWindowReq                       Xlbt_Request.X_Destroy_Window_Request

* Change 2442..2443
1 XDisplayKeyCodes                        Xlbp_Keyboard_Encoding.X_Display_Key_Codes 01
1 XDisplayKeycodes                        Xlbp_Keyboard_Encoding.X_Display_Key_Codes 00
-----
2 XDisplayKeyCodes                        Xlbp_Keyboard_Encoding.X_Display_Key_Codes 1
2 XDisplayKeycodes                        Xlbp_Keyboard_Encoding.X_Display_Key_Codes 0

* Insert after 2454
2 XDrawImageString                        Xlbp_Text.X_Draw_Image_String

* Delete 2456
1 XDrawImageString                        Xlbp_Text.X_Draw_Image_String

* Insert after 2463
2 XDrawString                             Xlbp_Text.X_Draw_String

* Change 2465
1 XDrawString                             Xlbp_Text.X_Draw_String
-----
2 XDrawText                               Xlbp_Text.X_Draw_Text

* Delete 2467
1 XDrawText                               Xlbp_Text.X_Draw_Text

* Change 2488
1 XEvent                                  Xlbt_Event.X_Event              0
-----
2 XEvent                                  Xlbt_Basic.X_Event              0

* Change 2522..2523
1 Xfree                                   Xfree                               1
1 XFree                                   XFree                               0
-----
2 XFree                                   XFree                               1
2 Xfree                                   Xfree                               0

* Insert after 2547
2 XGetCommand                             Xlbp_Hint.X_Get_Command

* Change 2602
1 XGetVisualInfo                          Xlbp_Visual_Info.X_Get_Visual_Info
-----
2 XGetVisualInfo                          Xlbp_Visual.X_Get_Visual_Info

* Change 3688
1 XMatchVisualInfo                        Xlbp_Visual_Info.X_Match_Visual_Info
-----
2 XMatchVisualInfo                        Xlbp_Visual.X_Match_Visual_Info

* Change 3717..3718
1 xPoint                                  Xlbt_Graphics.X_Point           1
1 XPoint                                  Xlbt_Graphics.X_Point           0
-----
2 XPoint                                  Xlbt_Graphics.X_Point           1
2 xPoint                                  Xlbt_Graphics.X_Point           0

* Insert after 3764
2 XQueryTextExtents                       Xlbp_Text.X_Query_Text_Extents

* Delete 3766
1 XQueryTextExtents                       Xlbp_Text.X_Query_Text_Extents

* Insert after 3797
2 XResourceManagerString                  Xlbp_Display.X_Resource_Manager_String

* Delete 3799..3805
1 xrm_class                               xrm_class
1 xrm_default_addr                        xrm_default_addr
1 xrm_default_type                        xrm_default_type
1 xrm_name                                xrm_name
1 xrm_offset                              xrm_offset
1 xrm_size                                xrm_size
1 xrm_type                                xrm_type

* Change 3819..3820
1 XrmEfalse                               Xlbt_Rm_Defs.X_Rm_E_False
1 XrmEno                                  Xlbt_Rm_Defs.X_Rm_E_No
-----
2 XrmEfalse                               X_Rm_E_False
2 XrmEno                                  X_Rm_E_No

* Change 3826..3829
1 XrmEoff                                 Xlbt_Rm_Defs.X_Rm_E_Off
1 XrmEon                                  Xlbt_Rm_Defs.X_Rm_E_On
1 XrmEtrue                                Xlbt_Rm_Defs.X_Rm_E_True
1 XrmEyes                                 Xlbt_Rm_Defs.X_Rm_E_Yes
-----
2 XrmEoff                                 X_Rm_E_Off
2 XrmEon                                  X_Rm_E_On
2 XrmEtrue                                X_Rm_E_True
2 XrmEyes                                 X_Rm_E_Yes

* Change 3841
1 XrmNameList                             Xblt_Rm.X_Rm_Name_List
-----
2 XrmNameList                             Xlbt_Rm.X_Rm_Name_List

* Change 3843
1 XrmOptionDescList                       Xlbt_Rm2.X_Rm_Option_Desc_Array
-----
2 XrmOptionDescList                       Xlbt_Rm.X_Rm_Option_Desc_Array

* Change 3864
1 XrmQuark                                Xlbt_Rm2.X_Rm_Quark
-----
2 XrmQuark                                Xlbt_Rm.X_Rm_Quark

* Change 3866..3870
1 XrmRBoolean                             Xlbt_Rm_Defs.X_Rm_R_Boolean
1 XrmRColor                               Xlbt_Rm_Defs.X_Rm_R_Color
1 XrmRCursor                              Xlbt_Rm_Defs.X_Rm_R_Cursor
1 XrmRDims                                Xlbt_Rm_Defs.X_Rm_R_Dims
1 XrmRDisplay                             Xlbt_Rm_Defs.X_Rm_R_Display
-----
2 XrmRBoolean                             X_Rm_R_Boolean
2 XrmRColor                               X_Rm_R_Color
2 XrmRCursor                              X_Rm_R_Cursor
2 XrmRDims                                X_Rm_R_Dims
2 XrmRDisplay                             X_Rm_R_Display

* Change 3873..3883
1 XrmRFile                                Xlbt_Rm_Defs.X_Rm_R_File
1 XrmRFloat                               Xlbt_Rm_Defs.X_Rm_R_Float
1 XrmRFont                                Xlbt_Rm_Defs.X_Rm_R_Font
1 XrmRFontStruct                          Xlbt_Rm_Defs.X_Rm_R_Font_Struct
1 XrmRGeometry                            Xlbt_Rm_Defs.X_Rm_R_Geometry
1 XrmRInt                                 Xlbt_Rm_Defs.X_Rm_R_S_Long
1 XrmRPixel                               Xlbt_Rm_Defs.X_Rm_R_Pixel
1 XrmRPixmap                              Xlbt_Rm_Defs.X_Rm_R_Pixmap
1 XrmRPointer                             Xlbt_Rm_Defs.X_Rm_R_Pointer
1 XrmRString                              Xlbt_Rm_Defs.X_Rm_R_String
1 XrmRWindow                              Xlbt_Rm_Defs.X_Rm_R_Window
-----
2 XrmRFile                                X_Rm_R_File
2 XrmRFloat                               X_Rm_R_Float
2 XrmRFont                                X_Rm_R_Font
2 XrmRFontStruct                          X_Rm_R_Font_Struct
2 XrmRGeometry                            X_Rm_R_Geometry
2 XrmRInt                                 X_Rm_R_S_Long
2 XrmRPixel                               X_Rm_R_Pixel
2 XrmRPixmap                              X_Rm_R_Pixmap
2 XrmRPointer                             X_Rm_R_Pointer
2 XrmRString                              X_Rm_R_String
2 XrmRWindow                              X_Rm_R_Window

* Insert after 3903
2 xrm_name                                Resource_Name                       0
2 xrm_class                               Resource_Class                      0
2 xrm_type                                Resource_Type                       0
2 xrm_size                                Resource_Size                       0
2 xrm_offset                              Resource_Offset                     0
2 xrm_default_type                        Default_Type                        0
2 xrm_default_addr                        Default_Addr                        0

* Insert after 3910
2 XScreenNumberOfScreen                   Xlbp_Display.X_Screen_Number_Of_Screen

* Change 3912..3914
1 XScreenNumberOfScreen                   Xlbp_Display.X_Screen_Number_Of_Display
1 xSegment                                Xlbt_Graphics.X_Segment         1
1 XSegment                                Xlbt_Graphics.X_Segment         0
-----
2 XSegment                                Xlbt_Graphics.X_Segment             1
2 xSegment                                Xlbt_Graphics.X_Segment             0

* Insert after 4016
2 XtBCmp                                  bcmp                                0
2 XtBCopy                                 bcopy                               0
2 XtBZero                                 bzero                               0

* Change 4020..4024
1 XtEFalse                                Xlbt_Rm_Defs.Xt_E_False
1 XtENo                                   Xlbt_Rm_Defs.Xt_E_No
1 XtEOff                                  Xlbt_Rm_Defs.Xt_E_Off
1 XtEOn                                   Xlbt_Rm_Defs.Xt_E_On
1 XtETrue                                 Xlbt_Rm_Defs.Xt_E_True
-----
2 XtEFalse                                Xt_E_False                          0
2 XtENo                                   Xt_E_No                             0
2 XtEOff                                  Xt_E_Off                            0
2 XtEOn                                   Xt_E_On                             0
2 XtETrue                                 Xt_E_True                           0

* Insert after 4025
2 XTextExtents                            Xlbp_Text.X_Text_Extents

* Delete 4027
1 XTextExtents                            Xlbp_Text.X_Text_Extents

* Insert after 4031
2 XTextWidth                              Xlbp_Text.X_Text_Width

* Change 4033..4034
1 XTextWidth                              Xlbp_Text.X_Text_Width
1 XtEYes                                  Xlbt_Rm_Defs.Xt_E_Yes
-----
2 XtEYes                                  Xt_E_Yes                            0

* Change 4039..4040
1 XtNew                                   XtNew
1 XtNumber                                XtNumber
-----
2 XtNew                                   new_kind'
2 XtNumber                                XtNumber{=>array'length<=}

* Change 4045..4049
1 XtRBoolean                              Xlbt_Rm_Defs.Xt_R_Boolean
1 XtRColor                                Xlbt_Rm_Defs.Xt_R_Color
1 XtRCursor                               Xlbt_Rm_Defs.Xt_R_Cursor
1 XtRDims                                 Xlbt_Rm_Defs.Xt_R_Dims
1 XtRDisplay                              Xlbt_Rm_Defs.Xt_R_Display
-----
2 XtRBoolean                              Xt_R_Boolean                        0
2 XtRColor                                Xt_R_Color
2 XtRCursor                               Xt_R_Cursor
2 XtRDims                                 Xt_R_Dims
2 XtRDisplay                              Xt_R_Display

* Change 4051..4063
1 XtRFile                                 Xlbt_Rm_Defs.Xt_R_File
1 XtRFont                                 Xlbt_Rm_Defs.Xt_R_Font
1 XtRFontStruct                           Xlbt_Rm_Defs.Xt_R_Font_Struct
1 XtRGeometry                             Xlbt_Rm_Defs.Xt_R_Geometry
1 XtRInt                                  Xlbt_Rm_Defs.Xt_R_Int
1 XtRPixel                                Xlbt_Rm_Defs.Xt_R_Pixel
1 XtRPixmap                               Xlbt_Rm_Defs.Xt_R_Pixmap
1 XtRPointer                              Xlbt_Rm_Defs.Xt_R_Pointer
1 XtRSLong                                Xlbt_Rm_Defs.Xt_R_S_Long
1 XtRString                               Xlbt_Rm_Defs.Xt_R_String
1 xTrue                                   True                                    0
1 XtRULong                                Xlbt_Rm_Defs.Xt_R_U_Long
1 XtRWindow                               Xlbt_Rm_Defs.Xt_R_Window
-----
2 XtRFile                                 Xt_R_File
2 XtRFont                                 Xt_R_Font
2 XtRFontStruct                           Xt_R_Font_Struct
2 XtRGeometry                             Xt_R_Geometry
2 XtRInt                                  Xt_R_Int
2 XtRPixel                                Xt_R_Pixel
2 XtRPixmap                               Xt_R_Pixmap
2 XtRPointer                              Xt_R_Pointer
2 XtRSLong                                Xt_R_S_Long
2 XtRString                               Xt_R_String
2 xTrue                                   True                                0
2 XtRULong                                Xt_R_U_Long
2 XtRWindow                               Xt_R_Window

* Change 4117..4122
1 y                                       y                               1
1 Y                                       Y                               0
1 y1                                      y1                              1
1 Y1                                      Y1                              0                               
1 y2                                      y2                              1
1 Y2                                      Y2                              0
-----
2 Y                                       Y                               1
2 y                                       y                               0
2 Y1                                      Y1                              1                               
2 y1                                      y1                              0
2 Y2                                      Y2                              1
2 y2                                      y2                              0

* Change 4124
1 y_root                                  root_y
-----
2 y_root                                  root_y                              0
16:18:04 ::: [end of File_Utilities.Difference].
16:18:05 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:18:05 ... C_TO_ADA.SCAN_C_FILE'BODY'V(1)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:18:05 ... UNITS.C_TO_ADA.SCAN_C_FILE'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.C_TO_ADA.SCAN_C_FILE'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.C_TO_ADA.SCAN_C_FILE'BODY
* Insert after 2
2 with Directory_Tools;
2 with Log;
2 with Profile;

* Insert after 13
2 
2     Cobj      : Directory_Tools.Object.Handle :=
2        Directory_Tools.Naming.Resolution (C_Input_File);
2     Cobj_Name : constant String := Directory_Tools.Naming.Simple_Name (Cobj);

* Change 24
1             return C_Input_File & "_Ada";
-----
2             return Cobj_Name & "_Ada";

* Insert after 40
2     Log.Put_Line ("[Scan_C_File(""" & C_Input_File & """)]",  
2                   Profile.Auxiliary_Msg);

* Change 60
1         C_Scan.Scan_C_File (C_Input_File, Ada_Name, Unk_Name, Error);
-----
2         C_Scan.Scan_C_File (Cobj_Name, Ada_Name, Unk_Name, Error);

* Insert after 64
2     Log.Put_Line ("[Done Scan_C_File]",  
2                   Profile.Auxiliary_Msg);
16:18:06 ::: [end of File_Utilities.Difference].
16:18:50 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:18:50 ... C_TO_ADA.X11_NAMES'V(1)", "!X11.X_TOOLS.REV6_0_0_WORKING.UNITS.
16:18:50 ... C_TO_ADA.X11_NAMES'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.C_TO_ADA.X11_NAMES
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.C_TO_ADA.X11_NAMES
* Change 236
1  ; Connection_Id ; Xlbmt_Network_Types ; subtype Connection_Id
-----
2  ; Connection_Id ; Xlbmt_Network_Types ; type access Connection_Id_Rec
2  ; Connection_Id_Rec ; Xlbmt_Network_Types ; type record
2  ; Connection_Reader ; Xlbmt_Network_Types ; task type
2  ; Connection_State ; Xlbmt_Network_Types ; type enumeration

* Insert after 462
2  ; Find_Ptr ; Xlbip_String_Map_Generic ; procedure

* Insert after 464
2  ; Float_Io ; Xlbt_Arithmetic ; package

* Insert after 520
2  ; Free_Both_X_Universal_Pointer ; Xlbt_Univ_Ptr.X_Universal_Pointer_Conversion ; procedure

* Insert after 524
2  ; Free_Connection_Id ; Xlbmt_Network_Types ; procedure

* Insert after 536
2  ; Free_X_Arc_List ; Xlbt_Graphics ; procedure

* Insert after 555
2  ; Free_X_Display_List ; Xlbt_Display2 ; procedure
2  ; Free_X_Display_List ; Xlbt_Display3 ; procedure
2  ; Free_X_Drawable_List ; Xlbt_Basic2 ; procedure
2  ; Free_X_Drawable_List ; Xlbt_Basic3 ; procedure

* Insert after 604
2  ; Free_X_Point_List ; Xlbt_Graphics ; procedure

* Insert after 608
2  ; Free_X_Rectangle_List ; Xlbt_Graphics ; procedure

* Delete 616..619
1 FreeXRmConverter ; Free_X_Rm_Converter ; Xlbt_Rm2 ; procedure
1 FreeXRmConverter ; Free_X_Rm_Converter ; Xlbt_Rm3 ; procedure
1 FreeXRmConverterList ; Free_X_Rm_Converter_List ; Xlbt_Rm2 ; procedure
1 FreeXRmConverterList ; Free_X_Rm_Converter_List ; Xlbt_Rm3 ; procedure

* Insert after 620
2  ; Free_X_Rm_File_Type ; Xlbt_Rm2 ; procedure
2  ; Free_X_Rm_File_Type ; Xlbt_Rm3 ; procedure

* Insert after 628
2  ; Free_X_Rm_Quark_List ; Xlbt_Rm ; procedure
2  ; Free_X_Rm_Quark_List ; Xlbt_Rm3 ; procedure

* Insert after 638
2  ; Free_X_Segment_List ; Xlbt_Graphics ; procedure

* Change 653
1  ; Free_X_Universal_Pointer ; Xlbt_Univ_Ptr.Univ_Ptr_Conversion ; procedure
-----
2  ; Free_X_Universal_Pointer ; Xlbt_Univ_Ptr.X_Universal_Pointer_Conversion ; function return Access_Type
2  ; Free_X_Universal_Pointer ; Xlbt_Univ_Ptr.X_Universal_Pointer_Conversion ; procedure

* Change 683
1  ; From_Univ_Ptr ; Xlbt_Univ_Ptr.Univ_Ptr_Conversion ; function return Access_Type
-----
2  ; From_X_Universal_Pointer ; Xlbt_Univ_Ptr.X_Universal_Pointer_Conversion ; function return Access_Type

* Change 820..821
1 Grayscale ; Grayscale ; Xlbt_Visual ; constant X_Display_Class
1 Grayscale ; Grayscale ; Xlbt_Visual3 ; literal X_Display_Class
-----
2 GrayScale ; Grayscale ; Xlbt_Visual ; constant X_Display_Class
2 GrayScale ; Grayscale ; Xlbt_Visual3 ; literal X_Display_Class

* Insert after 879
2 initialize ; Initialize ; Xlbmt_Network_Types.Connection_Reader ; entry

* Insert after 888
2  ; Insert_Ptr ; Xlbip_String_Map_Generic ; procedure

* Insert after 913
2  ; Is_Float ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_Float ; Xlbt_Rm3 ; literal X_Rm_Value_Kind

* Insert after 915
2  ; Is_S_Char ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_S_Char ; Xlbt_Rm3 ; literal X_Rm_Value_Kind

* Insert after 917
2  ; Is_S_Short ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_S_Short ; Xlbt_Rm3 ; literal X_Rm_Value_Kind
2  ; Is_U_Char ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_U_Char ; Xlbt_Rm3 ; literal X_Rm_Value_Kind

* Insert after 919
2  ; Is_U_Short ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_U_Short ; Xlbt_Rm3 ; literal X_Rm_Value_Kind

* Insert after 925
2  ; Is_X_Atom ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_X_Atom ; Xlbt_Rm3 ; literal X_Rm_Value_Kind
2  ; Is_X_Color ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_X_Color ; Xlbt_Rm3 ; literal X_Rm_Value_Kind
2  ; Is_X_Colormap ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_X_Colormap ; Xlbt_Rm3 ; literal X_Rm_Value_Kind
2  ; Is_X_Cursor ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_X_Cursor ; Xlbt_Rm3 ; literal X_Rm_Value_Kind
2  ; Is_X_Display ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_X_Display ; Xlbt_Rm3 ; literal X_Rm_Value_Kind
2  ; Is_X_Font ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_X_Font ; Xlbt_Rm3 ; literal X_Rm_Value_Kind
2  ; Is_X_Font_Struct ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_X_Font_Struct ; Xlbt_Rm3 ; literal X_Rm_Value_Kind
2  ; Is_X_Initial_Window_State ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_X_Initial_Window_State ; Xlbt_Rm3 ; literal X_Rm_Value_Kind
2  ; Is_X_Pixel ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_X_Pixel ; Xlbt_Rm3 ; literal X_Rm_Value_Kind
2  ; Is_X_Pixmap ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_X_Pixmap ; Xlbt_Rm3 ; literal X_Rm_Value_Kind
2  ; Is_X_Rm_File_Type ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_X_Rm_File_Type ; Xlbt_Rm3 ; literal X_Rm_Value_Kind
2  ; Is_X_Screen ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_X_Screen ; Xlbt_Rm3 ; literal X_Rm_Value_Kind

* Insert after 931
2  ; Is_X_Time ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_X_Time ; Xlbt_Rm3 ; literal X_Rm_Value_Kind

* Insert after 933
2  ; Is_X_Visual ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_X_Visual ; Xlbt_Rm3 ; literal X_Rm_Value_Kind
2  ; Is_X_Window ; Xlbt_Rm ; constant X_Rm_Value_Kind
2  ; Is_X_Window ; Xlbt_Rm3 ; literal X_Rm_Value_Kind

* Insert after 964
2  ; Key_Ptr ; Xlbip_String_Map_Generic ; function return String_Pointer

* Change 977..978
1 LastEvent ; Last_Event ; Xlbt_Event ; constant X_Event_Code
1 LastEvent ; Last_Event ; Xlbt_Event3 ; literal X_Event_Code_8
-----
2 LASTEvent ; Last_Event ; Xlbt_Event ; constant X_Event_Code
2 LASTEvent ; Last_Event ; Xlbt_Event3 ; literal X_Event_Code_8

* Insert after 1192
2  ; None_Notify_Complete ; Xlbmt_Network_Types ; constant Notify_Complete

* Insert after 1257
2  ; None_X_Display_List ; Xlbt_Display2 ; X_Display_List
2  ; None_X_Display_List ; Xlbt_Display3 ; constant X_Display_List

* Insert after 1261
2  ; None_X_Drawable_List ; Xlbt_Basic2 ; X_Drawable_List
2  ; None_X_Drawable_List ; Xlbt_Basic3 ; constant X_Drawable_List

* Insert after 1273
2  ; None_X_Event ; Xlbt_Basic ; X_Event
2  ; None_X_Event ; Xlbt_Display3 ; constant X_Event

* Insert after 1310
2  ; None_X_Gc_List ; Xlbt_Gc2 ; X_Gc_List
2  ; None_X_Gc_List ; Xlbt_Gc3 ; constant X_Gc_List

* Change 1377
1 NoValue ; None_X_Parse_Value ; Xlbt_Geometry ; constant X_Parse_Geometry_Flags
-----
2  ; None_X_Parse_Geometry_Flags ; Xlbt_Geometry ; constant X_Parse_Geometry_Flags

* Delete 1419..1422
1 NoneXRmConverter ; None_X_Rm_Converter ; Xlbt_Rm2 ; X_Rm_Converter
1 NoneXRmConverter ; None_X_Rm_Converter ; Xlbt_Rm3 ; constant X_Rm_Converter
1 NoneXRmConverterList ; None_X_Rm_Converter_List ; Xlbt_Rm2 ; X_Rm_Converter_List
1 NoneXRmConverterList ; None_X_Rm_Converter_List ; Xlbt_Rm3 ; constant X_Rm_Converter_List

* Insert after 1426
2  ; None_X_Rm_File_Type ; Xlbt_Rm2 ; X_Rm_File_Type
2  ; None_X_Rm_File_Type ; Xlbt_Rm3 ; constant X_Rm_File_Type

* Change 1439
1  ; None_X_Rm_Quark ; Xlbt_Rm2 ; X_Rm_Quark
-----
2  ; None_X_Rm_Quark ; Xlbt_Rm ; X_Rm_Quark

* Insert after 1442
2  ; None_X_Rm_Quark_List ; Xlbt_Rm ; X_Rm_Quark_List
2  ; None_X_Rm_Quark_List ; Xlbt_Rm3 ; constant X_Rm_Quark_List

* Insert after 1456
2 NoneXScreenList ; None_X_Screen_List ; Xlbt_Basic2 ; X_Screen_List

* Insert after 1487
2  ; None_X_Time ; Xlbt_Basic ; X_Time
2  ; None_X_Time ; Xlbt_Basic3 ; constant X_Time

* Insert after 1489
2  ; None_X_Universal_Pinter_List ; Xlbt_Univ_Ptr ; constant X_Universal_Pointer_List

* Insert after 1537
2  ; Notify_Complete ; Xlbmt_Network_Types ; type access Notify_Complete_Task
2  ; Notify_Complete_Task ; Xlbmt_Network_Types ; task type

* Insert after 1566
2  ; Pending_Read_Done ; Xlbmt_Network_Types ; literal Connection_State
2  ; Pending_Read_None ; Xlbmt_Network_Types ; literal Connection_State
2  ; Pending_Read_Wait ; Xlbmt_Network_Types ; literal Connection_State

* Insert after 1570
2  ; Place_Reserved_Request ; Xlbmp_Put ; generic procedure

* Insert after 1778
2  ; Put_X_Rectangle ; Xlbip_Put_Request ; procedure

* Insert after 1781
2  ; Put_X_Segment ; Xlbip_Put_Request ; procedure

* Insert after 1863
2  ; Receive_Maybe ; Xlbmt_Network_Types.Connection_Reader ; entry

* Insert after 1864
2  ; Receive_Must ; Xlbmt_Network_Types.Connection_Reader ; entry
2  ; Receive_Queue ; Xlbmp_Network_Interface ; procedure
2  ; Receive_Queue ; Xlbmt_Network_Types.Connection_Reader ; entry

* Insert after 1896
2  ; Reserve_Request_Large_1d ; Xlbmp_Put ; generic procedure
2  ; Reserve_X_Fill_Poly_Request ; Xlbip_Put_Request ; procedure
2  ; Reserve_X_Poly_Fill_Arc_Request ; Xlbip_Put_Request ; procedure
2  ; Reserve_X_Poly_Fill_Rectangle_Request ; Xlbip_Put_Request ; procedure
2  ; Reserve_X_Poly_Line_Request ; Xlbip_Put_Request ; procedure
2  ; Reserve_X_Poly_Point_Request ; Xlbip_Put_Request ; procedure
2  ; Reserve_X_Poly_Rectangle_Request ; Xlbip_Put_Request ; procedure
2  ; Reserve_X_Poly_Segment_Request ; Xlbip_Put_Request ; procedure

* Insert after 1930
2  ; S_Positive ; Xlbt_Arithmetic ; subtype S_Long range 1 .. S_Long'Last

* Insert after 1962
2  ; Set_Done ; Xlbmt_Network_Types.Notify_Complete_Task ; entry

* Insert after 1975
2  ; Set_Not_Done ; Xlbmt_Network_Types.Notify_Complete_Task ; entry

* Delete 2069
1  ; To_Univ_Ptr ; Xlbt_Univ_Ptr.Univ_Ptr_Conversion ; function return X_Universal_Pointer

* Insert after 2071
2  ; To_X_Universal_Pointer ; Xlbt_Univ_Ptr.X_Universal_Pointer_Conversion ; function return X_Universal_Pointer

* Change 2105
1  ; Univ_Ptr_Conversion ; Xlbt_Univ_Ptr ; generic package
-----
2  ; Univ_X_Context_Hash_List ; Xlbt_Context_Manager2 ; package
2  ; Univ_X_Context_Hash_List ; Xlbt_Context_Manager3 ; package
2  ; Univ_X_Rm_Database ; Xlbp_Rm ; package

* Change 2124..2138
1 Value ; Value ; Xlbip_String_Map_Generic ; function return Range_Type
1 Value ; Value ; Xlbt_Proc_Var.Func_In ; generic function return Pv
1 Value ; Value ; Xlbt_Proc_Var.Func_In10 ; generic function return Pv
1 Value ; Value ; Xlbt_Proc_Var.Func_In5 ; generic function return Pv
1 Value ; Value ; Xlbt_Proc_Var.Func_In_In_In ; generic function return Pv
1 Value ; Value ; Xlbt_Proc_Var.Func_In_In_In_X_String ; generic function return Pv
1 Value ; Value ; Xlbt_Proc_Var.Func_In_X_String ; generic function return Pv
1 Value ; Value ; Xlbt_Proc_Var.Proc_In ; generic function return Pv
1 Value ; Value ; Xlbt_Proc_Var.Proc_In10 ; generic function return Pv
1 Value ; Value ; Xlbt_Proc_Var.Proc_In_In ; generic function return Pv
1 Value ; Value ; Xlbt_Proc_Var.Proc_In_In_In ; generic function return Pv
1 Value ; Value ; Xlbt_Proc_Var.Proc_In_In_In_In ; generic function return Pv
1 Value ; Value ; Xlbt_Proc_Var.Proc_In_In_In_Out_Out ; generic function return Pv
1 Value ; Value ; Xlbt_Proc_Var.Proc_In_In_Out_Out ; generic function return Pv
1 Value ; Value ; Xlbt_Proc_Var.Proc_Inout ; generic function return Pv
-----
2  ; Value ; Xlbip_String_Map_Generic ; function return Range_Type
2  ; Value ; Xlbt_Proc_Var.Func_In ; generic function return Pv
2  ; Value ; Xlbt_Proc_Var.Func_In10 ; generic function return Pv
2  ; Value ; Xlbt_Proc_Var.Func_In5 ; generic function return Pv
2  ; Value ; Xlbt_Proc_Var.Func_In_In_In ; generic function return Pv
2  ; Value ; Xlbt_Proc_Var.Func_In_In_In_X_String ; generic function return Pv
2  ; Value ; Xlbt_Proc_Var.Func_In_X_String ; generic function return Pv
2  ; Value ; Xlbt_Proc_Var.Proc_In ; generic function return Pv
2  ; Value ; Xlbt_Proc_Var.Proc_In10 ; generic function return Pv
2  ; Value ; Xlbt_Proc_Var.Proc_In_In ; generic function return Pv
2  ; Value ; Xlbt_Proc_Var.Proc_In_In_In ; generic function return Pv
2  ; Value ; Xlbt_Proc_Var.Proc_In_In_In_In ; generic function return Pv
2  ; Value ; Xlbt_Proc_Var.Proc_In_In_In_Out_Out ; generic function return Pv
2  ; Value ; Xlbt_Proc_Var.Proc_In_In_Out_Out ; generic function return Pv
2  ; Value ; Xlbt_Proc_Var.Proc_Inout ; generic function return Pv

* Insert after 2172
2  ; Wait_For_Done ; Xlbmt_Network_Types.Notify_Complete_Task ; entry

* Change 2222..2223
1 xArc ; X_Arc ; Xlbt_Graphics ; subtype X_Arc
1 xArc ; X_Arc ; Xlbt_Graphics3 ; type record
-----
2 XArc ; X_Arc ; Xlbt_Graphics ; subtype X_Arc
2 XArc ; X_Arc ; Xlbt_Graphics3 ; type record

* Change 2265..2266
1 Box ; X_Box_Rec ; Xlbt_Region2 ; subtype X_Box_Rec
1 Box ; X_Box_Rec ; Xlbt_Region3 ; type record
-----
2 BOX ; X_Box_Rec ; Xlbt_Region2 ; subtype X_Box_Rec
2 BOX ; X_Box_Rec ; Xlbt_Region3 ; type record

* Insert after 2493
2  ; X_Display_Array ; Xlbt_Display2 ; subtype X_Display_Array
2  ; X_Display_Array ; Xlbt_Display3 ; type array of X_Display

* Insert after 2503
2  ; X_Display_List ; Xlbt_Display2 ; subtype X_Display_List
2  ; X_Display_List ; Xlbt_Display3 ; type access X_Display_Array

* Insert after 2533
2  ; X_Drawable_Array ; Xlbt_Basic2 ; subtype X_Drawable_Array
2  ; X_Drawable_Array ; Xlbt_Basic3 ; type array of X_Drawable
2  ; X_Drawable_List ; Xlbt_Basic2 ; subtype X_Drawable_List
2  ; X_Drawable_List ; Xlbt_Basic3 ; type access X_Drawable_Array

* Change 2557
1  ; X_Env_Concat_Dir_File ; Xlbmp_Environment ; function return String
-----
2  ; X_Env_Concat_Dir_File ; Xlbmp_Environment ; function return X_String

* Change 2559..2560
1  ; X_Env_Get_Home_Dir ; Xlbmp_Environment ; function return String
1  ; X_Env_Get_Host_Name ; Xlbmp_Environment ; function return String
-----
2  ; X_Env_Get_Home_Dir ; Xlbmp_Environment ; function return X_String
2  ; X_Env_Get_Host_Name ; Xlbmp_Environment ; function return X_String

* Insert after 2700
2  ; X_Gc_Array ; Xlbt_Gc2 ; subtype X_Gc_Array
2  ; X_Gc_Array ; Xlbt_Gc3 ; type array of X_Gc

* Insert after 2704
2  ; X_Gc_List ; Xlbt_Gc2 ; subtype X_Gc_List
2  ; X_Gc_List ; Xlbt_Gc3 ; type access X_Gc_Array

* Change 3129..3130
1 xPoint ; X_Point ; Xlbt_Graphics ; subtype X_Point
1 xPoint ; X_Point ; Xlbt_Graphics3 ; type record
-----
2 XPoint ; X_Point ; Xlbt_Graphics ; subtype X_Point
2 XPoint ; X_Point ; Xlbt_Graphics3 ; type record

* Delete 3273..3276
1  ; X_Req_Poly_Arc_Limit ; Xlbt_Display3 ; constant S_Natural
1  ; X_Req_Poly_Point_Limit ; Xlbt_Display3 ; constant S_Natural
1  ; X_Req_Poly_Rect_Limit ; Xlbt_Display3 ; constant S_Natural
1  ; X_Req_Poly_Seg_Limit ; Xlbt_Display3 ; constant S_Natural

* Change 3309..3316
1 XrmConverter ; X_Rm_Converter ; Xlbt_Rm2 ; subtype X_Rm_Converter
1 XrmConverter ; X_Rm_Converter ; Xlbt_Rm3 ; type access X_Rm_Converter_Rec
1  ; X_Rm_Converter_List ; Xlbt_Rm2 ; subtype X_Rm_Converter_List
1  ; X_Rm_Converter_List ; Xlbt_Rm3 ; type access X_Rm_Converter_Table
1  ; X_Rm_Converter_Rec ; Xlbt_Rm2 ; subtype X_Rm_Converter_Rec
1  ; X_Rm_Converter_Rec ; Xlbt_Rm3 ; type record
1  ; X_Rm_Converter_Table ; Xlbt_Rm2 ; subtype X_Rm_Converter_Table
1  ; X_Rm_Converter_Table ; Xlbt_Rm3 ; type array of X_Rm_Converter
-----
2  ; X_Rm_Class_To_String_Pointer ; Xlbp_Rm_Name ; function return X_String_Pointer

* Delete 3326..3328
1 XrmEntryAddConvertedValue ; X_Rm_Entry_Add_Converted_Value ; Xlbp_Rm ; procedure
1 XrmEntryAllRepresentations ; X_Rm_Entry_All_Representations ; Xlbp_Rm ; function return X_Rm_Representation_List
1 XrmEntryAssign ; X_Rm_Entry_Assign ; Xlbp_Rm ; procedure

* Change 3331..3332
1 XrmEntryRepresentation ; X_Rm_Entry_Representation ; Xlbp_Rm ; function return X_Rm_Representation
1 XrmEntryValue ; X_Rm_Entry_Value ; Xlbp_Rm ; function return X_Rm_Value
-----
2  ; X_Rm_File_Type ; Xlbt_Rm2 ; subtype X_Rm_File_Type
2  ; X_Rm_File_Type ; Xlbt_Rm3 ; type access Text_Io.File_Type

* Insert after 3357
2  ; X_Rm_Name_To_String_Pointer ; Xlbp_Rm_Name ; function return X_String_Pointer

* Change 3393
1 XrmQuark ; X_Rm_Quark ; Xlbt_Rm2 ; subtype X_Rm_Quark
-----
2 XrmQuark ; X_Rm_Quark ; Xlbt_Rm ; subtype X_Rm_Quark

* Insert after 3400
2  ; X_Rm_Quark_List ; Xlbt_Rm ; subtype X_Rm_Quark_List
2  ; X_Rm_Quark_List ; Xlbt_Rm3 ; type access X_Rm_Quark_Array

* Insert after 3402
2  ; X_Rm_Quark_To_String_Pointer ; Xlbp_Rm_Quark ; function return X_String_Pointer

* Insert after 3409
2  ; X_Rm_Representation_To_String_Pointer ; Xlbp_Rm_Name ; function return X_String_Pointer

* Insert after 3415
2  ; X_Rm_String_Pointer_To_Class ; Xlbp_Rm_Name ; procedure
2  ; X_Rm_String_Pointer_To_Name ; Xlbp_Rm_Name ; procedure
2  ; X_Rm_String_Pointer_To_Quark ; Xlbp_Rm_Quark ; procedure
2  ; X_Rm_String_Pointer_To_Representation ; Xlbp_Rm_Name ; procedure

* Insert after 3420
2 StringToClass ; X_Rm_String_To_Class ; Xlbp_Rm_Name ; procedure

* Insert after 3422
2 StringToName ; X_Rm_String_To_Name ; Xlbp_Rm_Name ; procedure

* Insert after 3424
2 StringToQuark ; X_Rm_String_To_Quark ; Xlbp_Rm_Quark ; procedure

* Insert after 3426
2 XrmStringToRepresentation ; X_Rm_String_To_Representation ; Xlbp_Rm_Name ; procedure

* Insert after 3457
2  ; X_Screen_List ; Xlbt_Basic2 ; subtype X_Screen_List

* Change 3462
1  ; X_Screen_Number_Of_Screen ; Xlbp_Display ; function return X_Screen_Number
-----
2 XScreenNumberOfScreen ; X_Screen_Number_Of_Screen ; Xlbp_Display ; function return X_Screen_Number

* Change 3469..3470
1 xSegment ; X_Segment ; Xlbt_Graphics ; subtype X_Segment
1 xSegment ; X_Segment ; Xlbt_Graphics3 ; type record
-----
2 XSegment ; X_Segment ; Xlbt_Graphics ; subtype X_Segment
2 XSegment ; X_Segment ; Xlbt_Graphics3 ; type record

* Insert after 3664
2  ; X_Universal_Pointer_Array ; Xlbt_Univ_Ptr ; type array of X_Universal_Pointer
2  ; X_Universal_Pointer_Conversion ; Xlbt_Univ_Ptr ; generic package

* Insert after 3666
2  ; X_Universal_Pointer_List ; Xlbt_Univ_Ptr ; type access X_Universal_Pointer

* Change 3856
1 XC_dotbox ; Xc_Dot_Box_Mask ; Xlbt_Cursor_Font ; constant X_Cursor_Font
-----
2 XC_dot_box_mask ; Xc_Dot_Box_Mask ; Xlbt_Cursor_Font ; constant X_Cursor_Font

* Delete 4162..4166
1  ; Xelfi0 ; Xlbt_Event2 ; constant X_Enter_Leave_Flags_Index
1  ; Xelfi0 ; Xlbt_Event3 ; literal X_Enter_Leave_Flags_Index
1  ; Xelfi1 ; Xlbt_Event2 ; constant X_Enter_Leave_Flags_Index
1  ; Xelfi1 ; Xlbt_Event3 ; literal X_Enter_Leave_Flags_Index
1  ; Xelfi2 ; Xlbt_Event2 ; constant X_Enter_Leave_Flags_Index

* Delete 4168
1  ; Xelfi3 ; Xlbt_Event2 ; constant X_Enter_Leave_Flags_Index

* Delete 4170
1  ; Xelfi4 ; Xlbt_Event2 ; constant X_Enter_Leave_Flags_Index

* Delete 4172
1  ; Xelfi5 ; Xlbt_Event2 ; constant X_Enter_Leave_Flags_Index

* Insert after 4173
2  ; Xelfi6 ; Xlbt_Event3 ; literal X_Enter_Leave_Flags_Index
2  ; Xelfi7 ; Xlbt_Event3 ; literal X_Enter_Leave_Flags_Index
16:19:53 ::: [end of File_Utilities.Difference].
16:19:53 !!! Only in !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.
16:19:53 !!! .VSTRING.ARITHMETIC'BODY.
16:19:53 !!! Only in !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.
16:19:53 !!! .VSTRING.ARITHMETIC'SPEC.
16:19:54 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:19:54 ... VSTRING.A_DOCUMENTATION'V(1)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:19:54 ... UNITS.VSTRING.A_DOCUMENTATION'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.A_DOCUMENTATION
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.A_DOCUMENTATION
* Change 2
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Change 50
1 !!Shelby!Users.Geb.Subsys.Source.Vstring
-----
2 !X11.X_Tools.RevNN_Working.Units.Vstring

* Insert after 76
2 
2 Goal: A library that is portable to all Ada compilers.

* Change 187
1     S : constant string := Substring_To( Vstr, From, To );
-----
2     S : constant e_string := Substring_To( Vstr, From, To );

* Change 199
1     S : constant string := Substring_For( Vstr, From, For );
-----
2     S : constant e_string := Substring_For( Vstr, From, For );

* Change 212
1     S : constant string := To_String( Vstr );
-----
2     S : constant e_string := To_String( Vstr );

* Change 262
1     Assign( Vstr1, Str );           -- Vstr1 := Ada string
-----
2     Assign( Vstr1, Str );           -- Vstr1 := Ada string literal

* Change 272
1     Append( Vstr1, Str );           -- Vstr1 := Vstr1 & Ada string
-----
2     Append( Vstr1, Str );           -- Vstr1 := Vstr1 & Ada string literal

* Change 282
1     Prepend( Vstr1, Str );           -- Vstr1 := Ada string & Vstr1
-----
2     Prepend( Vstr1, Str );           -- Vstr1 := Ada string literal & Vstr1

* Change 306
1     Equal( Vstr1, Str )             -- Vstr1 = Ada string
-----
2     Equal( Vstr1, Str )             -- Vstr1 = Ada string literal

* Change 313
1     Uc_Equal( Vstr1, Str )          -- Vstr1 = Ada string
-----
2     Uc_Equal( Vstr1, Str )          -- Vstr1 = Ada string literal

* Change 324
1 as the contents of the Ada string; with or without case.
-----
2 as the contents of the Ada string literal; with or without case.

* Change 333
1     Compare( Vstr1, Str )           -- Compare Vstr1 to Ada string
-----
2     Compare( Vstr1, Str )           -- Compare Vstr1 to Ada string literal

* Change 357..358
1     S : constant string := Upper_Case( Str );
1     S : constant string := Lower_Case( Str );
-----
2     S : constant e_string := Upper_Case( Str );
2     S : constant e_string := Lower_Case( Str );

* Change 360
1 Returns a string which is the upper/lower case form of its Ada string
-----
2 Returns a string which is the upper/lower case form of its Ada string literal
16:19:57 ::: [end of File_Utilities.Difference].
16:19:57 !!! Only in !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.
16:19:57 !!! .VSTRING.STRING_HEAP'BODY.
16:19:57 !!! Only in !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.
16:19:57 !!! .VSTRING.STRING_HEAP'SPEC.
16:19:57 !!! Only in !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.
16:19:57 !!! .VSTRING.STRING_MAP'BODY.
16:19:57 !!! Only in !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.
16:19:57 !!! .VSTRING.STRING_MAP'SPEC.
16:19:59 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:19:59 ... VSTRING.VSTRING_ASSIGN'BODY'V(5)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:19:59 ... UNITS.VSTRING.VSTRING_ASSIGN'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_ASSIGN'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_ASSIGN'BODY
* Change 1..3
1 with Vstring_Heap;  
1 use Vstring_Heap;  
1 with Vstring_Type;  
-----
2 with Arithmetic;
2 use Arithmetic;
2 with Vstring_Heap;
2 use Vstring_Heap;
2 with Vstring_Type;

* Change 8
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Change 29..36
1     procedure Assign (Vstr1 : in out Vstring_Data; Vstr2 : Vstring_Data) is  
1         Pos2 : Natural := Vstr2.Length;  
1     begin  
1         if Pos2 > Vstr1.Maximum_Length then  
1             Pos2 := Vstr1.Maximum_Length;  
1         end if;  
1         Vstr1.Chars (1 .. Pos2) := Vstr2.Chars (1 .. Pos2);  
1         Vstr1.Length            := Pos2;  
-----
2     procedure Assign (Vstr1 : in out Vstring_Data;  
2                       Vstr2 :        Vstring_Data) is
2         Pos2 : S_Natural := Vstr2.Length;
2     begin
2         if Pos2 > Vstr1.Maximum_Length then
2             Pos2 := Vstr1.Maximum_Length;
2         end if;
2         Vstr1.Chars (1 .. Pos2) := Vstr2.Chars (1 .. Pos2);
2         Vstr1.Length            := Pos2;

* Change 40..47
1     procedure Assign (Vstr1 : in out Vstring_Data; Vstr2 : Vstring) is  
1         Pos2 : Natural := Vstr2.Length;  
1     begin  
1         if Pos2 > Vstr1.Maximum_Length then  
1             Pos2 := Vstr1.Maximum_Length;  
1         end if;  
1         Vstr1.Chars (1 .. Pos2) := Vstr2.Chars (1 .. Pos2);  
1         Vstr1.Length            := Pos2;  
-----
2     procedure Assign (Vstr1 : in out Vstring_Data;  
2                       Vstr2 :        Vstring) is
2         Pos2 : S_Natural := Vstr2.Length;
2     begin
2         if Pos2 > Vstr1.Maximum_Length then
2             Pos2 := Vstr1.Maximum_Length;
2         end if;
2         Vstr1.Chars (1 .. Pos2) := Vstr2.Chars (1 .. Pos2);
2         Vstr1.Length            := Pos2;

* Change 51..56
1     procedure Assign (Vstr1 : in out Vstring_Data; Vstr2 : String) is  
1         Pos2 : Natural := Vstr2'Length;  
1     begin  
1         if Pos2 > Vstr1.Maximum_Length then  
1             Pos2 := Vstr1.Maximum_Length;  
1         end if;  
-----
2     procedure Assign (Vstr1 : in out Vstring_Data;  
2                       Vstr2 :        E_String) is
2         Pos2 : S_Natural := Vstr2'Length;
2     begin
2         if Pos2 > Vstr1.Maximum_Length then
2             Pos2 := Vstr1.Maximum_Length;
2         end if;

* Change 58..59
1            Vstr2 (Vstr2'First .. Vstr2'First + Pos2 - 1);  
1         Vstr1.Length            := Pos2;  
-----
2            Vstr2 (Vstr2'First .. Vstr2'First + Pos2 - 1);
2         Vstr1.Length            := Pos2;

* Change 63..69
1     procedure Assign (Vstr1 : in out Vstring_Data; Vstr2 : Character) is  
1     begin  
1         if Vstr1.Maximum_Length < 1 then  
1             return;  
1         end if;  
1         Vstr1.Chars (1) := Vstr2;  
1         Vstr1.Length    := 1;  
-----
2     procedure Assign (Vstr1 : in out Vstring_Data;  
2                       Vstr2 :        Character) is
2     begin
2         if Vstr1.Maximum_Length < 1 then
2             return;
2         end if;
2         Vstr1.Chars (1) := Vstr2;
2         Vstr1.Length    := 1;

* Change 75..83
1                       Copies :        Natural) is  
1     begin  
1         if Vstr1.Maximum_Length < Copies then  
1             Vstr1.Chars  := (others => Vstr2);  
1             Vstr1.Length := Vstr1.Maximum_Length;  
1         else  
1             Vstr1.Chars (1 .. Copies) := (others => Vstr2);  
1             Vstr1.Length              := Copies;  
1         end if;  
-----
2                       Copies :        S_Natural) is
2     begin
2         if Vstr1.Maximum_Length < Copies then
2             Vstr1.Chars  := (others => Vstr2);
2             Vstr1.Length := Vstr1.Maximum_Length;
2         else
2             Vstr1.Chars (1 .. Copies) := (others => Vstr2);
2             Vstr1.Length              := Copies;
2         end if;

* Change 87..94
1     procedure Assign (Vstr1 : Vstring; Vstr2 : Vstring_Data) is  
1         Pos2 : Natural := Vstr2.Length;  
1     begin  
1         if Pos2 > Vstr1.Maximum_Length then  
1             Pos2 := Vstr1.Maximum_Length;  
1         end if;  
1         Vstr1.Chars (1 .. Pos2) := Vstr2.Chars (1 .. Pos2);  
1         Vstr1.Length            := Pos2;  
-----
2     procedure Assign (Vstr1 : Vstring;  
2                       Vstr2 : Vstring_Data) is
2         Pos2 : S_Natural := Vstr2.Length;
2     begin
2         if Pos2 > Vstr1.Maximum_Length then
2             Pos2 := Vstr1.Maximum_Length;
2         end if;
2         Vstr1.Chars (1 .. Pos2) := Vstr2.Chars (1 .. Pos2);
2         Vstr1.Length            := Pos2;

* Change 98..105
1     procedure Assign (Vstr1 : Vstring; Vstr2 : Vstring) is  
1         Pos2 : Natural := Vstr2.Length;  
1     begin  
1         if Pos2 > Vstr1.Maximum_Length then  
1             Pos2 := Vstr1.Maximum_Length;  
1         end if;  
1         Vstr1.Chars (1 .. Pos2) := Vstr2.Chars (1 .. Pos2);  
1         Vstr1.Length            := Pos2;  
-----
2     procedure Assign (Vstr1 : Vstring;  
2                       Vstr2 : Vstring) is
2         Pos2 : S_Natural := Vstr2.Length;
2     begin
2         if Pos2 > Vstr1.Maximum_Length then
2             Pos2 := Vstr1.Maximum_Length;
2         end if;
2         Vstr1.Chars (1 .. Pos2) := Vstr2.Chars (1 .. Pos2);
2         Vstr1.Length            := Pos2;

* Change 109..114
1     procedure Assign (Vstr1 : Vstring; Vstr2 : String) is  
1         Pos2 : Natural := Vstr2'Length;  
1     begin  
1         if Pos2 > Vstr1.Maximum_Length then  
1             Pos2 := Vstr1.Maximum_Length;  
1         end if;  
-----
2     procedure Assign (Vstr1 : Vstring;  
2                       Vstr2 : E_String) is
2         Pos2 : S_Natural := Vstr2'Length;
2     begin
2         if Pos2 > Vstr1.Maximum_Length then
2             Pos2 := Vstr1.Maximum_Length;
2         end if;

* Change 116..117
1            Vstr2 (Vstr2'First .. Vstr2'First + Pos2 - 1);  
1         Vstr1.Length            := Pos2;  
-----
2            Vstr2 (Vstr2'First .. Vstr2'First + Pos2 - 1);
2         Vstr1.Length            := Pos2;

* Change 121..127
1     procedure Assign (Vstr1 : Vstring; Vstr2 : Character) is  
1     begin  
1         if Vstr1.Maximum_Length < 1 then  
1             return;  
1         end if;  
1         Vstr1.Chars (1) := Vstr2;  
1         Vstr1.Length    := 1;  
-----
2     procedure Assign (Vstr1 : Vstring;  
2                       Vstr2 : Character) is
2     begin
2         if Vstr1.Maximum_Length < 1 then
2             return;
2         end if;
2         Vstr1.Chars (1) := Vstr2;
2         Vstr1.Length    := 1;

* Change 133..141
1                       Copies : Natural) is  
1     begin  
1         if Vstr1.Maximum_Length < Copies then  
1             Vstr1.Chars  := (others => Vstr2);  
1             Vstr1.Length := Vstr1.Maximum_Length;  
1         else  
1             Vstr1.Chars (1 .. Copies) := (others => Vstr2);  
1             Vstr1.Length              := Copies;  
1         end if;  
-----
2                       Copies : S_Natural) is
2     begin
2         if Vstr1.Maximum_Length < Copies then
2             Vstr1.Chars  := (others => Vstr2);
2             Vstr1.Length := Vstr1.Maximum_Length;
2         else
2             Vstr1.Chars (1 .. Copies) := (others => Vstr2);
2             Vstr1.Length              := Copies;
2         end if;

* Change 145..151
1     procedure Assign_New (Vstr1 : out Vstring; Vstr2 : Vstring_Data) is  
1         V    : Vstring := New_Vstring (Vstr2.Length);  
1         Pos2 : Natural := Vstr2.Length;  
1     begin  
1         Vstr1               := V;  
1         V.Chars (1 .. Pos2) := Vstr2.Chars (1 .. Pos2);  
1         V.Length            := Pos2;  
-----
2     procedure Assign_New (Vstr1 : out Vstring;  
2                           Vstr2 :     Vstring_Data) is
2         V    : Vstring   := New_Vstring (Vstr2.Length);
2         Pos2 : S_Natural := Vstr2.Length;
2     begin
2         Vstr1               := V;
2         V.Chars (1 .. Pos2) := Vstr2.Chars (1 .. Pos2);
2         V.Length            := Pos2;

* Insert after 152
2 
2 --
2     procedure Assign_Resize (Vstr1         : in out Vstring;  
2                              Vstr2         :        E_String;  
2                              Resize_Amount :        S_Positive := 256) is
2 ----Just line Assign except that Vstr1 is resized upwards if necessary to
2 --  hold all of Vstr1&Vstr2.
2         Ns     : S_Natural;
2         Length : S_Natural := Vstr2'Length;
2     begin
2         Ns := Length;
2         if Vstr1.Maximum_Length < Ns then
2             Ns := Ns + Resize_Amount - 1;
2             Ns := Ns - Ns rem Resize_Amount;
2             Resize_Vstring (Vstr1, Ns);
2         end if;
2         Vstr1.Chars (1 .. Length) := Vstr2;
2         Vstr1.Length              := Length;
2     end Assign_Resize;
2 
2 --
2     procedure Assign_Resize (Vstr1         : in out Vstring;  
2                              Vstr2         :        Vstring_Data;  
2                              Resize_Amount :        S_Positive := 256) is
2 ----Just line Assign except that Vstr1 is resized upwards if necessary to
2 --  hold all of Vstr1&Vstr2.
2         Ns : S_Natural;
2     begin
2         Ns := Vstr2.Length;
2         if Vstr1.Maximum_Length < Ns then
2             Ns := Ns + Resize_Amount - 1;
2             Ns := Ns - Ns rem Resize_Amount;
2             Resize_Vstring (Vstr1, Ns);
2         end if;
2         Vstr1.Chars (1 .. Vstr2.Length) := Vstr2.Chars (1 .. Vstr2.Length);
2         Vstr1.Length                    := Vstr2.Length;
2     end Assign_Resize;
2 
2 --
2     procedure Assign_Resize (Vstr1         : in out Vstring;  
2                              Vstr2         :        Vstring;  
2                              Resize_Amount :        S_Positive := 256) is
2 ----Just line Assign except that Vstr1 is resized upwards if necessary to
2 --  hold all of Vstr1&Vstr2.
2         Ns : S_Natural;
2     begin
2         Ns := Vstr2.Length;
2         if Vstr1.Maximum_Length < Ns then
2             Ns := Ns + Resize_Amount - 1;
2             Ns := Ns - Ns rem Resize_Amount;
2             Resize_Vstring (Vstr1, Ns);
2         end if;
2         Vstr1.Chars (1 .. Vstr2.Length) := Vstr2.Chars (1 .. Vstr2.Length);
2         Vstr1.Length                    := Vstr2.Length;
2     end Assign_Resize;

* Change 155..161
1     procedure Assign_New (Vstr1 : out Vstring; Vstr2 : Vstring) is  
1         V    : Vstring := New_Vstring (Vstr2.Length);  
1         Pos2 : Natural := Vstr2.Length;  
1     begin  
1         Vstr1               := V;  
1         V.Chars (1 .. Pos2) := Vstr2.Chars (1 .. Pos2);  
1         V.Length            := Pos2;  
-----
2     procedure Assign_New (Vstr1 : out Vstring;  
2                           Vstr2 :     Vstring) is
2         V    : Vstring   := New_Vstring (Vstr2.Length);
2         Pos2 : S_Natural := Vstr2.Length;
2     begin
2         Vstr1               := V;
2         V.Chars (1 .. Pos2) := Vstr2.Chars (1 .. Pos2);
2         V.Length            := Pos2;

* Change 165..169
1     procedure Assign_New (Vstr1 : out Vstring; Vstr2 : String) is  
1         V    : Vstring := New_Vstring (Vstr2'Length);  
1         Pos2 : Natural := Vstr2'Length;  
1     begin  
1         Vstr1               := V;  
-----
2     procedure Assign_New (Vstr1 : out Vstring;  
2                           Vstr2 :     E_String) is
2         V    : Vstring   := New_Vstring (Vstr2'Length);
2         Pos2 : S_Natural := Vstr2'Length;
2     begin
2         Vstr1               := V;

* Change 171..172
1            Vstr2 (Vstr2'First .. Vstr2'First + Pos2 - 1);  
1         V.Length            := Pos2;  
-----
2            Vstr2 (Vstr2'First .. Vstr2'First + Pos2 - 1);
2         V.Length            := Pos2;

* Change 176..181
1     procedure Assign_New (Vstr1 : out Vstring; Vstr2 : Character) is  
1         V : Vstring := New_Vstring (1);  
1     begin  
1         Vstr1       := V;  
1         V.Chars (1) := Vstr2;  
1         V.Length    := 1;  
-----
2     procedure Assign_New (Vstr1 : out Vstring;  
2                           Vstr2 :     Character) is
2         V : Vstring := New_Vstring (1);
2     begin
2         Vstr1       := V;
2         V.Chars (1) := Vstr2;
2         V.Length    := 1;

* Change 187..192
1                           Copies :     Natural) is  
1         V : Vstring := New_Vstring (Copies);  
1     begin  
1         Vstr1                 := V;  
1         V.Chars (1 .. Copies) := (others => Vstr2);  
1         V.Length              := Copies;  
-----
2                           Copies :     S_Natural) is
2         V : Vstring := New_Vstring (Copies);
2     begin
2         Vstr1                 := V;
2         V.Chars (1 .. Copies) := (others => Vstr2);
2         V.Length              := Copies;

* Change 196..201
1     procedure Append (Vstr1 : in out Vstring_Data; Vstr2 : Vstring_Data) is  
1         Left : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1     begin  
1         if Left > Vstr2.Length then  
1             Left := Vstr2.Length;  
1         end if;  
-----
2     procedure Append (Vstr1 : in out Vstring_Data;  
2                       Vstr2 :        Vstring_Data) is
2         Left : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2     begin
2         if Left > Vstr2.Length then
2             Left := Vstr2.Length;
2         end if;

* Change 203..204
1            Vstr2.Chars (1 .. Left);  
1         Vstr1.Length := Vstr1.Length + Left;  
-----
2            Vstr2.Chars (1 .. Left);
2         Vstr1.Length := Vstr1.Length + Left;

* Change 208..213
1     procedure Append (Vstr1 : in out Vstring_Data; Vstr2 : Vstring) is  
1         Left : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1     begin  
1         if Left > Vstr2.Length then  
1             Left := Vstr2.Length;  
1         end if;  
-----
2     procedure Append (Vstr1 : in out Vstring_Data;  
2                       Vstr2 :        Vstring) is
2         Left : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2     begin
2         if Left > Vstr2.Length then
2             Left := Vstr2.Length;
2         end if;

* Change 215..216
1            Vstr2.Chars (1 .. Left);  
1         Vstr1.Length := Vstr1.Length + Left;  
-----
2            Vstr2.Chars (1 .. Left);
2         Vstr1.Length := Vstr1.Length + Left;

* Change 220..225
1     procedure Append (Vstr1 : in out Vstring_Data; Vstr2 : String) is  
1         Left : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1     begin  
1         if Left > Vstr2'Length then  
1             Left := Vstr2'Length;  
1         end if;  
-----
2     procedure Append (Vstr1 : in out Vstring_Data;  
2                       Vstr2 :        E_String) is
2         Left : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2     begin
2         if Left > Vstr2'Length then
2             Left := Vstr2'Length;
2         end if;

* Change 227..228
1            Vstr2 (Vstr2'First .. Vstr2'First + Left - 1);  
1         Vstr1.Length := Vstr1.Length + Left;  
-----
2            Vstr2 (Vstr2'First .. Vstr2'First + Left - 1);
2         Vstr1.Length := Vstr1.Length + Left;

* Change 232..238
1     procedure Append (Vstr1 : in out Vstring_Data; Vstr2 : Character) is  
1         Left : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1     begin  
1         if Left >= 1 then  
1             Vstr1.Chars (Vstr1.Length + 1) := Vstr2;  
1             Vstr1.Length                   := Vstr1.Length + 1;  
1         end if;  
-----
2     procedure Append (Vstr1 : in out Vstring_Data;  
2                       Vstr2 :        Character) is
2         Left : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2     begin
2         if Left >= 1 then
2             Vstr1.Chars (Vstr1.Length + 1) := Vstr2;
2             Vstr1.Length                   := Vstr1.Length + 1;
2         end if;

* Change 244..252
1                       Copies :        Natural) is  
1         Left : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1     begin  
1         if Left > Copies then  
1             Left := Copies;  
1         end if;  
1         Vstr1.Chars (Vstr1.Length + 1 .. Vstr1.Length + Left) :=  
1            (others => Vstr2);  
1         Vstr1.Length := Vstr1.Length + Copies;  
-----
2                       Copies :        S_Natural) is
2         Left : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2     begin
2         if Left > Copies then
2             Left := Copies;
2         end if;
2         Vstr1.Chars (Vstr1.Length + 1 .. Vstr1.Length + Left) :=
2            (others => Vstr2);
2         Vstr1.Length := Vstr1.Length + Copies;

* Change 256..261
1     procedure Append (Vstr1 : Vstring; Vstr2 : Vstring_Data) is  
1         Left : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1     begin  
1         if Left > Vstr2.Length then  
1             Left := Vstr2.Length;  
1         end if;  
-----
2     procedure Append (Vstr1 : Vstring;  
2                       Vstr2 : Vstring_Data) is
2         Left : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2     begin
2         if Left > Vstr2.Length then
2             Left := Vstr2.Length;
2         end if;

* Change 263..264
1            Vstr2.Chars (1 .. Left);  
1         Vstr1.Length := Vstr1.Length + Left;  
-----
2            Vstr2.Chars (1 .. Left);
2         Vstr1.Length := Vstr1.Length + Left;

* Change 268..273
1     procedure Append (Vstr1 : Vstring; Vstr2 : Vstring) is  
1         Left : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1     begin  
1         if Left > Vstr2.Length then  
1             Left := Vstr2.Length;  
1         end if;  
-----
2     procedure Append (Vstr1 : Vstring;  
2                       Vstr2 : Vstring) is
2         Left : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2     begin
2         if Left > Vstr2.Length then
2             Left := Vstr2.Length;
2         end if;

* Change 275..276
1            Vstr2.Chars (1 .. Left);  
1         Vstr1.Length := Vstr1.Length + Left;  
-----
2            Vstr2.Chars (1 .. Left);
2         Vstr1.Length := Vstr1.Length + Left;

* Change 280..285
1     procedure Append (Vstr1 : Vstring; Vstr2 : String) is  
1         Left : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1     begin  
1         if Left > Vstr2'Length then  
1             Left := Vstr2'Length;  
1         end if;  
-----
2     procedure Append (Vstr1 : Vstring;  
2                       Vstr2 : E_String) is
2         Left : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2     begin
2         if Left > Vstr2'Length then
2             Left := Vstr2'Length;
2         end if;

* Change 287..288
1            Vstr2 (Vstr2'First .. Vstr2'First + Left - 1);  
1         Vstr1.Length := Vstr1.Length + Left;  
-----
2            Vstr2 (Vstr2'First .. Vstr2'First + Left - 1);
2         Vstr1.Length := Vstr1.Length + Left;

* Change 292..298
1     procedure Append (Vstr1 : Vstring; Vstr2 : Character) is  
1         Left : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1     begin  
1         if Left >= 1 then  
1             Vstr1.Chars (Vstr1.Length + 1) := Vstr2;  
1             Vstr1.Length                   := Vstr1.Length + 1;  
1         end if;  
-----
2     procedure Append (Vstr1 : Vstring;  
2                       Vstr2 : Character) is
2         Left : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2     begin
2         if Left >= 1 then
2             Vstr1.Chars (Vstr1.Length + 1) := Vstr2;
2             Vstr1.Length                   := Vstr1.Length + 1;
2         end if;

* Change 304..312
1                       Copies : Natural) is  
1         Left : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1     begin  
1         if Left > Copies then  
1             Left := Copies;  
1         end if;  
1         Vstr1.Chars (Vstr1.Length + 1 .. Vstr1.Length + Left) :=  
1            (others => Vstr2);  
1         Vstr1.Length := Vstr1.Length + Copies;  
-----
2                       Copies : S_Natural) is
2         Left : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2     begin
2         if Left > Copies then
2             Left := Copies;
2         end if;
2         Vstr1.Chars (Vstr1.Length + 1 .. Vstr1.Length + Left) :=
2            (others => Vstr2);
2         Vstr1.Length := Vstr1.Length + Copies;

* Change 317..318
1                              Vstr2         :        String;  
1                              Resize_Amount :        Positive := 256) is
-----
2                              Vstr2         :        E_String;  
2                              Resize_Amount :        S_Positive := 256) is

* Change 321..329
1         Ns     : Natural;  
1         Length : Natural := Vstr2'Length;  
1     begin  
1         Ns := Vstr1.Length + Length;  
1         if Vstr1.Maximum_Length < Ns then  
1             Ns := Ns + Resize_Amount - 1;  
1             Ns := Ns - Ns rem Resize_Amount;  
1             Resize_Vstring (Vstr1, Ns);  
1         end if;  
-----
2         Ns     : S_Natural;
2         Length : S_Natural := Vstr2'Length;
2     begin
2         Ns := Vstr1.Length + Length;
2         if Vstr1.Maximum_Length < Ns then
2             Ns := Ns + Resize_Amount - 1;
2             Ns := Ns - Ns rem Resize_Amount;
2             Resize_Vstring (Vstr1, Ns);
2         end if;

* Change 331..332
1            Vstr2 (Vstr2'First .. Vstr2'Last);  
1         Vstr1.Length := Vstr1.Length + Length;  
-----
2            Vstr2 (Vstr2'First .. Vstr2'Last);
2         Vstr1.Length := Vstr1.Length + Length;

* Change 338
1                              Resize_Amount :        Positive := 256) is
-----
2                              Resize_Amount :        S_Positive := 256) is

* Change 341..350
1         Ns : Natural;  
1     begin  
1         Ns := Vstr1.Length + 1;  
1         if Vstr1.Maximum_Length < Ns then  
1             Ns := Ns + Resize_Amount - 1;  
1             Ns := Ns - Ns rem Resize_Amount;  
1             Resize_Vstring (Vstr1, Ns);  
1         end if;  
1         Vstr1.Chars (Vstr1.Length + 1) := Vstr2;  
1         Vstr1.Length                   := Vstr1.Length + 1;  
-----
2         Ns : S_Natural;
2     begin
2         Ns := Vstr1.Length + 1;
2         if Vstr1.Maximum_Length < Ns then
2             Ns := Ns + Resize_Amount - 1;
2             Ns := Ns - Ns rem Resize_Amount;
2             Resize_Vstring (Vstr1, Ns);
2         end if;
2         Vstr1.Chars (Vstr1.Length + 1) := Vstr2;
2         Vstr1.Length                   := Vstr1.Length + 1;

* Change 356..357
1                              Copies        :        Natural;  
1                              Resize_Amount :        Positive := 256) is
-----
2                              Copies        :        S_Natural;  
2                              Resize_Amount :        S_Positive := 256) is

* Change 360..370
1         Ns : Natural;  
1     begin  
1         Ns := Vstr1.Length + Copies;  
1         if Vstr1.Maximum_Length < Ns then  
1             Ns := Ns + Resize_Amount - 1;  
1             Ns := Ns - Ns rem Resize_Amount;  
1             Resize_Vstring (Vstr1, Ns);  
1         end if;  
1         Vstr1.Chars (Vstr1.Length + 1 .. Vstr1.Length + Copies) :=  
1            (others => Vstr2);  
1         Vstr1.Length := Vstr1.Length + Copies;  
-----
2         Ns : S_Natural;
2     begin
2         Ns := Vstr1.Length + Copies;
2         if Vstr1.Maximum_Length < Ns then
2             Ns := Ns + Resize_Amount - 1;
2             Ns := Ns - Ns rem Resize_Amount;
2             Resize_Vstring (Vstr1, Ns);
2         end if;
2         Vstr1.Chars (Vstr1.Length + 1 .. Vstr1.Length + Copies) :=
2            (others => Vstr2);
2         Vstr1.Length := Vstr1.Length + Copies;

* Change 376
1                              Resize_Amount :        Positive := 256) is
-----
2                              Resize_Amount :        S_Positive := 256) is

* Change 379..389
1         Ns : Natural;  
1     begin  
1         Ns := Vstr1.Length + Vstr2.Length;  
1         if Vstr1.Maximum_Length < Ns then  
1             Ns := Ns + Resize_Amount - 1;  
1             Ns := Ns - Ns rem Resize_Amount;  
1             Resize_Vstring (Vstr1, Ns);  
1         end if;  
1         Vstr1.Chars (Vstr1.Length + 1 .. Vstr1.Length + Vstr2.Length) :=  
1            Vstr2.Chars (1 .. Vstr2.Length);  
1         Vstr1.Length := Vstr1.Length + Vstr2.Length;  
-----
2         Ns : S_Natural;
2     begin
2         Ns := Vstr1.Length + Vstr2.Length;
2         if Vstr1.Maximum_Length < Ns then
2             Ns := Ns + Resize_Amount - 1;
2             Ns := Ns - Ns rem Resize_Amount;
2             Resize_Vstring (Vstr1, Ns);
2         end if;
2         Vstr1.Chars (Vstr1.Length + 1 .. Vstr1.Length + Vstr2.Length) :=
2            Vstr2.Chars (1 .. Vstr2.Length);
2         Vstr1.Length := Vstr1.Length + Vstr2.Length;

* Change 395
1                              Resize_Amount :        Positive := 256) is
-----
2                              Resize_Amount :        S_Positive := 256) is

* Change 398..408
1         Ns : Natural;  
1     begin  
1         Ns := Vstr1.Length + Vstr2.Length;  
1         if Vstr1.Maximum_Length < Ns then  
1             Ns := Ns + Resize_Amount - 1;  
1             Ns := Ns - Ns rem Resize_Amount;  
1             Resize_Vstring (Vstr1, Ns);  
1         end if;  
1         Vstr1.Chars (Vstr1.Length + 1 .. Vstr1.Length + Vstr2.Length) :=  
1            Vstr2.Chars (1 .. Vstr2.Length);  
1         Vstr1.Length := Vstr1.Length + Vstr2.Length;  
-----
2         Ns : S_Natural;
2     begin
2         Ns := Vstr1.Length + Vstr2.Length;
2         if Vstr1.Maximum_Length < Ns then
2             Ns := Ns + Resize_Amount - 1;
2             Ns := Ns - Ns rem Resize_Amount;
2             Resize_Vstring (Vstr1, Ns);
2         end if;
2         Vstr1.Chars (Vstr1.Length + 1 .. Vstr1.Length + Vstr2.Length) :=
2            Vstr2.Chars (1 .. Vstr2.Length);
2         Vstr1.Length := Vstr1.Length + Vstr2.Length;

* Change 412..415
1     procedure Prepend (Vstr1 : in out Vstring_Data; Vstr2 : Vstring_Data) is  
1         Left  : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1         Right : Natural;  
1     begin  
-----
2     procedure Prepend (Vstr1 : in out Vstring_Data;  
2                        Vstr2 :        Vstring_Data) is
2         Left  : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2         Right : S_Natural;
2     begin

* Change 418..421
1             Vstr1.Chars (Vstr2.Length + 1 .. Vstr2.Length + Vstr1.Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Length);  
1             Vstr1.Chars (1 .. Vstr2.Length) := Vstr2.Chars (1 .. Vstr2.Length);  
1             Vstr1.Length := Vstr1.Length + Vstr2.Length;  
-----
2             Vstr1.Chars (Vstr2.Length + 1 .. Vstr2.Length + Vstr1.Length) :=
2                Vstr1.Chars (1 .. Vstr1.Length);
2             Vstr1.Chars (1 .. Vstr2.Length) := Vstr2.Chars (1 .. Vstr2.Length);
2             Vstr1.Length := Vstr1.Length + Vstr2.Length;

* Change 424..425
1             Vstr1.Chars  := Vstr2.Chars (1 .. Vstr1.Maximum_Length);  
1             Vstr1.Length := Vstr1.Maximum_Length;  
-----
2             Vstr1.Chars  := Vstr2.Chars (1 .. Vstr1.Maximum_Length);
2             Vstr1.Length := Vstr1.Maximum_Length;

* Change 428..432
1             Vstr1.Chars (Vstr2.Length + 1 .. Vstr1.Maximum_Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Maximum_Length - Right);  
1             Vstr1.Chars (1 .. Vstr2.Length) := Vstr2.Chars (1 .. Vstr2.Length);  
1             Vstr1.Length := Vstr1.Maximum_Length;  
1         end if;  
-----
2             Vstr1.Chars (Vstr2.Length + 1 .. Vstr1.Maximum_Length) :=
2                Vstr1.Chars (1 .. Vstr1.Maximum_Length - Right);
2             Vstr1.Chars (1 .. Vstr2.Length) := Vstr2.Chars (1 .. Vstr2.Length);
2             Vstr1.Length := Vstr1.Maximum_Length;
2         end if;

* Change 436..439
1     procedure Prepend (Vstr1 : in out Vstring_Data; Vstr2 : Vstring) is  
1         Left  : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1         Right : Natural;  
1     begin  
-----
2     procedure Prepend (Vstr1 : in out Vstring_Data;  
2                        Vstr2 :        Vstring) is
2         Left  : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2         Right : S_Natural;
2     begin

* Change 442..445
1             Vstr1.Chars (Vstr2.Length + 1 .. Vstr2.Length + Vstr1.Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Length);  
1             Vstr1.Chars (1 .. Vstr2.Length) := Vstr2.Chars (1 .. Vstr2.Length);  
1             Vstr1.Length := Vstr1.Length + Vstr2.Length;  
-----
2             Vstr1.Chars (Vstr2.Length + 1 .. Vstr2.Length + Vstr1.Length) :=
2                Vstr1.Chars (1 .. Vstr1.Length);
2             Vstr1.Chars (1 .. Vstr2.Length) := Vstr2.Chars (1 .. Vstr2.Length);
2             Vstr1.Length := Vstr1.Length + Vstr2.Length;

* Change 448..449
1             Vstr1.Chars  := Vstr2.Chars (1 .. Vstr1.Maximum_Length);  
1             Vstr1.Length := Vstr1.Maximum_Length;  
-----
2             Vstr1.Chars  := Vstr2.Chars (1 .. Vstr1.Maximum_Length);
2             Vstr1.Length := Vstr1.Maximum_Length;

* Change 452..456
1             Vstr1.Chars (Vstr2.Length + 1 .. Vstr1.Maximum_Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Maximum_Length - Right);  
1             Vstr1.Chars (1 .. Vstr2.Length) := Vstr2.Chars (1 .. Vstr2.Length);  
1             Vstr1.Length := Vstr1.Maximum_Length;  
1         end if;  
-----
2             Vstr1.Chars (Vstr2.Length + 1 .. Vstr1.Maximum_Length) :=
2                Vstr1.Chars (1 .. Vstr1.Maximum_Length - Right);
2             Vstr1.Chars (1 .. Vstr2.Length) := Vstr2.Chars (1 .. Vstr2.Length);
2             Vstr1.Length := Vstr1.Maximum_Length;
2         end if;

* Change 460..464
1     procedure Prepend (Vstr1 : in out Vstring_Data; Vstr2 : String) is  
1         Left         : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1         Right        : Natural;  
1         Vstr2_Length : Natural := Vstr2'Length;  
1     begin  
-----
2     procedure Prepend (Vstr1 : in out Vstring_Data;  
2                        Vstr2 :        E_String) is
2         Left         : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2         Right        : S_Natural;
2         Vstr2_Length : S_Natural := Vstr2'Length;
2     begin

* Change 467..470
1             Vstr1.Chars (Vstr2_Length + 1 .. Vstr2_Length + Vstr1.Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Length);  
1             Vstr1.Chars (1 .. Vstr2_Length) := Vstr2 (1 .. Vstr2_Length);  
1             Vstr1.Length := Vstr1.Length + Vstr2_Length;  
-----
2             Vstr1.Chars (Vstr2_Length + 1 .. Vstr2_Length + Vstr1.Length) :=
2                Vstr1.Chars (1 .. Vstr1.Length);
2             Vstr1.Chars (1 .. Vstr2_Length) := Vstr2 (1 .. Vstr2_Length);
2             Vstr1.Length := Vstr1.Length + Vstr2_Length;

* Change 474..475
1                Vstr2 (Vstr2'First .. Vstr2'First + Vstr1.Maximum_Length - 1);  
1             Vstr1.Length := Vstr1.Maximum_Length;  
-----
2                Vstr2 (Vstr2'First .. Vstr2'First + Vstr1.Maximum_Length - 1);
2             Vstr1.Length := Vstr1.Maximum_Length;

* Change 478..482
1             Vstr1.Chars (Vstr2_Length + 1 .. Vstr1.Maximum_Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Maximum_Length - Right);  
1             Vstr1.Chars (1 .. Vstr2_Length) := Vstr2;  
1             Vstr1.Length := Vstr1.Maximum_Length;  
1         end if;  
-----
2             Vstr1.Chars (Vstr2_Length + 1 .. Vstr1.Maximum_Length) :=
2                Vstr1.Chars (1 .. Vstr1.Maximum_Length - Right);
2             Vstr1.Chars (1 .. Vstr2_Length) := Vstr2;
2             Vstr1.Length := Vstr1.Maximum_Length;
2         end if;

* Change 486..489
1     procedure Prepend (Vstr1 : in out Vstring_Data; Vstr2 : Character) is  
1         Left  : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1         Right : Natural;  
1     begin  
-----
2     procedure Prepend (Vstr1 : in out Vstring_Data;  
2                        Vstr2 :        Character) is
2         Left  : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2         Right : S_Natural;
2     begin

* Change 492..495
1             Vstr1.Chars (1 + 1 .. 1 + Vstr1.Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Length);  
1             Vstr1.Chars (1) := Vstr2;  
1             Vstr1.Length := Vstr1.Length + 1;  
-----
2             Vstr1.Chars (1 + 1 .. 1 + Vstr1.Length) :=
2                Vstr1.Chars (1 .. Vstr1.Length);
2             Vstr1.Chars (1) := Vstr2;
2             Vstr1.Length := Vstr1.Length + 1;

* Change 498
1             null;  
-----
2             null;

* Change 501..504
1             Vstr1.Chars (1 + 1 .. Vstr1.Maximum_Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Maximum_Length - 1);  
1             Vstr1.Chars (1) := Vstr2;  
1         end if;  
-----
2             Vstr1.Chars (1 + 1 .. Vstr1.Maximum_Length) :=
2                Vstr1.Chars (1 .. Vstr1.Maximum_Length - 1);
2             Vstr1.Chars (1) := Vstr2;
2         end if;

* Change 510..513
1                        Copies :        Natural) is  
1         Left  : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1         Right : Natural;  
1     begin  
-----
2                        Copies :        S_Natural) is
2         Left  : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2         Right : S_Natural;
2     begin

* Change 516..519
1             Vstr1.Chars (Copies + 1 .. Copies + Vstr1.Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Length);  
1             Vstr1.Chars (1 .. Copies) := (others => Vstr2);  
1             Vstr1.Length := Vstr1.Length + Copies;  
-----
2             Vstr1.Chars (Copies + 1 .. Copies + Vstr1.Length) :=
2                Vstr1.Chars (1 .. Vstr1.Length);
2             Vstr1.Chars (1 .. Copies) := (others => Vstr2);
2             Vstr1.Length := Vstr1.Length + Copies;

* Change 522..523
1             Vstr1.Chars  := (others => Vstr2);  
1             Vstr1.Length := Vstr1.Maximum_Length;  
-----
2             Vstr1.Chars  := (others => Vstr2);
2             Vstr1.Length := Vstr1.Maximum_Length;

* Change 526..530
1             Vstr1.Chars (Copies + 1 .. Vstr1.Maximum_Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Maximum_Length - Right);  
1             Vstr1.Chars (1 .. Copies) := (others => Vstr2);  
1             Vstr1.Length := Vstr1.Maximum_Length;  
1         end if;  
-----
2             Vstr1.Chars (Copies + 1 .. Vstr1.Maximum_Length) :=
2                Vstr1.Chars (1 .. Vstr1.Maximum_Length - Right);
2             Vstr1.Chars (1 .. Copies) := (others => Vstr2);
2             Vstr1.Length := Vstr1.Maximum_Length;
2         end if;

* Change 534..537
1     procedure Prepend (Vstr1 : Vstring; Vstr2 : Vstring_Data) is  
1         Left  : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1         Right : Natural;  
1     begin  
-----
2     procedure Prepend (Vstr1 : Vstring;  
2                        Vstr2 : Vstring_Data) is
2         Left  : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2         Right : S_Natural;
2     begin

* Change 540..543
1             Vstr1.Chars (Vstr2.Length + 1 .. Vstr2.Length + Vstr1.Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Length);  
1             Vstr1.Chars (1 .. Vstr2.Length) := Vstr2.Chars (1 .. Vstr2.Length);  
1             Vstr1.Length := Vstr1.Length + Vstr2.Length;  
-----
2             Vstr1.Chars (Vstr2.Length + 1 .. Vstr2.Length + Vstr1.Length) :=
2                Vstr1.Chars (1 .. Vstr1.Length);
2             Vstr1.Chars (1 .. Vstr2.Length) := Vstr2.Chars (1 .. Vstr2.Length);
2             Vstr1.Length := Vstr1.Length + Vstr2.Length;

* Change 546..547
1             Vstr1.Chars  := Vstr2.Chars (1 .. Vstr1.Maximum_Length);  
1             Vstr1.Length := Vstr1.Maximum_Length;  
-----
2             Vstr1.Chars  := Vstr2.Chars (1 .. Vstr1.Maximum_Length);
2             Vstr1.Length := Vstr1.Maximum_Length;

* Change 550..554
1             Vstr1.Chars (Vstr2.Length + 1 .. Vstr1.Maximum_Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Maximum_Length - Right);  
1             Vstr1.Chars (1 .. Vstr2.Length) := Vstr2.Chars (1 .. Vstr2.Length);  
1             Vstr1.Length := Vstr1.Maximum_Length;  
1         end if;  
-----
2             Vstr1.Chars (Vstr2.Length + 1 .. Vstr1.Maximum_Length) :=
2                Vstr1.Chars (1 .. Vstr1.Maximum_Length - Right);
2             Vstr1.Chars (1 .. Vstr2.Length) := Vstr2.Chars (1 .. Vstr2.Length);
2             Vstr1.Length := Vstr1.Maximum_Length;
2         end if;

* Change 558..561
1     procedure Prepend (Vstr1 : Vstring; Vstr2 : Vstring) is  
1         Left  : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1         Right : Natural;  
1     begin  
-----
2     procedure Prepend (Vstr1 : Vstring;  
2                        Vstr2 : Vstring) is
2         Left  : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2         Right : S_Natural;
2     begin

* Change 564..567
1             Vstr1.Chars (Vstr2.Length + 1 .. Vstr2.Length + Vstr1.Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Length);  
1             Vstr1.Chars (1 .. Vstr2.Length) := Vstr2.Chars (1 .. Vstr2.Length);  
1             Vstr1.Length := Vstr1.Length + Vstr2.Length;  
-----
2             Vstr1.Chars (Vstr2.Length + 1 .. Vstr2.Length + Vstr1.Length) :=
2                Vstr1.Chars (1 .. Vstr1.Length);
2             Vstr1.Chars (1 .. Vstr2.Length) := Vstr2.Chars (1 .. Vstr2.Length);
2             Vstr1.Length := Vstr1.Length + Vstr2.Length;

* Change 570..571
1             Vstr1.Chars  := Vstr2.Chars (1 .. Vstr1.Maximum_Length);  
1             Vstr1.Length := Vstr1.Maximum_Length;  
-----
2             Vstr1.Chars  := Vstr2.Chars (1 .. Vstr1.Maximum_Length);
2             Vstr1.Length := Vstr1.Maximum_Length;

* Change 574..578
1             Vstr1.Chars (Vstr2.Length + 1 .. Vstr1.Maximum_Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Maximum_Length - Right);  
1             Vstr1.Chars (1 .. Vstr2.Length) := Vstr2.Chars (1 .. Vstr2.Length);  
1             Vstr1.Length := Vstr1.Maximum_Length;  
1         end if;  
-----
2             Vstr1.Chars (Vstr2.Length + 1 .. Vstr1.Maximum_Length) :=
2                Vstr1.Chars (1 .. Vstr1.Maximum_Length - Right);
2             Vstr1.Chars (1 .. Vstr2.Length) := Vstr2.Chars (1 .. Vstr2.Length);
2             Vstr1.Length := Vstr1.Maximum_Length;
2         end if;

* Change 582..586
1     procedure Prepend (Vstr1 : Vstring; Vstr2 : String) is  
1         Left         : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1         Right        : Natural;  
1         Vstr2_Length : Natural := Vstr2'Length;  
1     begin  
-----
2     procedure Prepend (Vstr1 : Vstring;  
2                        Vstr2 : E_String) is
2         Left         : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2         Right        : S_Natural;
2         Vstr2_Length : S_Natural := Vstr2'Length;
2     begin

* Change 589..592
1             Vstr1.Chars (Vstr2_Length + 1 .. Vstr2_Length + Vstr1.Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Length);  
1             Vstr1.Chars (1 .. Vstr2_Length) := Vstr2 (1 .. Vstr2_Length);  
1             Vstr1.Length := Vstr1.Length + Vstr2_Length;  
-----
2             Vstr1.Chars (Vstr2_Length + 1 .. Vstr2_Length + Vstr1.Length) :=
2                Vstr1.Chars (1 .. Vstr1.Length);
2             Vstr1.Chars (1 .. Vstr2_Length) := Vstr2;
2             Vstr1.Length := Vstr1.Length + Vstr2_Length;

* Change 596..597
1                Vstr2 (Vstr2'First .. Vstr2'First + Vstr1.Maximum_Length - 1);  
1             Vstr1.Length := Vstr1.Maximum_Length;  
-----
2                Vstr2 (Vstr2'First .. Vstr2'First + Vstr1.Maximum_Length - 1);
2             Vstr1.Length := Vstr1.Maximum_Length;

* Change 600..604
1             Vstr1.Chars (Vstr2_Length + 1 .. Vstr1.Maximum_Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Maximum_Length - Right);  
1             Vstr1.Chars (1 .. Vstr2_Length) := Vstr2;  
1             Vstr1.Length := Vstr1.Maximum_Length;  
1         end if;  
-----
2             Vstr1.Chars (Vstr2_Length + 1 .. Vstr1.Maximum_Length) :=
2                Vstr1.Chars (1 .. Vstr1.Maximum_Length - Right);
2             Vstr1.Chars (1 .. Vstr2_Length) := Vstr2;
2             Vstr1.Length := Vstr1.Maximum_Length;
2         end if;

* Change 608..611
1     procedure Prepend (Vstr1 : Vstring; Vstr2 : Character) is  
1         Left  : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1         Right : Natural;  
1     begin  
-----
2     procedure Prepend (Vstr1 : Vstring;  
2                        Vstr2 : Character) is
2         Left  : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2         Right : S_Natural;
2     begin

* Change 614..617
1             Vstr1.Chars (1 + 1 .. 1 + Vstr1.Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Length);  
1             Vstr1.Chars (1) := Vstr2;  
1             Vstr1.Length := Vstr1.Length + 1;  
-----
2             Vstr1.Chars (1 + 1 .. 1 + Vstr1.Length) :=
2                Vstr1.Chars (1 .. Vstr1.Length);
2             Vstr1.Chars (1) := Vstr2;
2             Vstr1.Length := Vstr1.Length + 1;

* Change 620
1             null;  
-----
2             null;

* Change 623..626
1             Vstr1.Chars (1 + 1 .. Vstr1.Maximum_Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Maximum_Length - 1);  
1             Vstr1.Chars (1) := Vstr2;  
1         end if;  
-----
2             Vstr1.Chars (1 + 1 .. Vstr1.Maximum_Length) :=
2                Vstr1.Chars (1 .. Vstr1.Maximum_Length - 1);
2             Vstr1.Chars (1) := Vstr2;
2         end if;

* Change 632..635
1                        Copies : Natural) is  
1         Left  : Natural := Vstr1.Maximum_Length - Vstr1.Length;  
1         Right : Natural;  
1     begin  
-----
2                        Copies : S_Natural) is
2         Left  : S_Natural := Vstr1.Maximum_Length - Vstr1.Length;
2         Right : S_Natural;
2     begin

* Change 638..641
1             Vstr1.Chars (Copies + 1 .. Copies + Vstr1.Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Length);  
1             Vstr1.Chars (1 .. Copies) := (others => Vstr2);  
1             Vstr1.Length := Vstr1.Length + Copies;  
-----
2             Vstr1.Chars (Copies + 1 .. Copies + Vstr1.Length) :=
2                Vstr1.Chars (1 .. Vstr1.Length);
2             Vstr1.Chars (1 .. Copies) := (others => Vstr2);
2             Vstr1.Length := Vstr1.Length + Copies;

* Change 644..645
1             Vstr1.Chars  := (others => Vstr2);  
1             Vstr1.Length := Vstr1.Maximum_Length;  
-----
2             Vstr1.Chars  := (others => Vstr2);
2             Vstr1.Length := Vstr1.Maximum_Length;

* Change 648..652
1             Vstr1.Chars (Copies + 1 .. Vstr1.Maximum_Length) :=  
1                Vstr1.Chars (1 .. Vstr1.Maximum_Length - Right);  
1             Vstr1.Chars (1 .. Copies) := (others => Vstr2);  
1             Vstr1.Length := Vstr1.Maximum_Length;  
1         end if;  
-----
2             Vstr1.Chars (Copies + 1 .. Vstr1.Maximum_Length) :=
2                Vstr1.Chars (1 .. Vstr1.Maximum_Length - Right);
2             Vstr1.Chars (1 .. Copies) := (others => Vstr2);
2             Vstr1.Length := Vstr1.Maximum_Length;
2         end if;

* Delete 654
1 

* Change 656
1 end Vstring_Assign;  
-----
2 --
2 end Vstring_Assign;
16:20:05 ::: [end of File_Utilities.Difference].
16:20:06 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:20:06 ... VSTRING.VSTRING_ASSIGN'SPEC'V(1)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:20:06 ... UNITS.VSTRING.VSTRING_ASSIGN'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_ASSIGN'SPEC
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_ASSIGN'SPEC
* Insert after 0
2 with Arithmetic;
2 use Arithmetic;

* Change 8
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Change 28..41
1     procedure Assign (Vstr1 : in out Vstring_Data; Vstr2 : Vstring_Data);
1     procedure Assign (Vstr1 : in out Vstring_Data; Vstr2 : Vstring);
1     procedure Assign (Vstr1 : in out Vstring_Data; Vstr2 : String);
1     procedure Assign (Vstr1 : in out Vstring_Data; Vstr2 : Character);
1     procedure Assign (Vstr1  : in out Vstring_Data;  
1                       Vstr2  :        Character;  
1                       Copies :        Natural);
1     procedure Assign (Vstr1 : Vstring; Vstr2 : Vstring_Data);
1     procedure Assign (Vstr1 : Vstring; Vstr2 : Vstring);
1     procedure Assign (Vstr1 : Vstring; Vstr2 : String);
1     procedure Assign (Vstr1 : Vstring; Vstr2 : Character);
1     procedure Assign (Vstr1  : Vstring;  
1                       Vstr2  : Character;  
1                       Copies : Natural);
-----
2     procedure Assign        (Vstr1 : in out Vstring_Data; Vstr2 : Vstring_Data);
2     procedure Assign        (Vstr1 : in out Vstring_Data; Vstr2 : Vstring);
2     procedure Assign        (Vstr1 : in out Vstring_Data; Vstr2 : E_String);
2     procedure Assign        (Vstr1 : in out Vstring_Data; Vstr2 : Character);
2     procedure Assign        (Vstr1  : in out Vstring_Data;  
2                              Vstr2  :        Character;  
2                              Copies :        S_Natural);
2     procedure Assign        (Vstr1 : Vstring; Vstr2 : Vstring_Data);
2     procedure Assign        (Vstr1 : Vstring; Vstr2 : Vstring);
2     procedure Assign        (Vstr1 : Vstring; Vstr2 : E_String);
2     procedure Assign        (Vstr1 : Vstring; Vstr2 : Character);
2     procedure Assign        (Vstr1  : Vstring;  
2                              Vstr2  : Character;  
2                              Copies : S_Natural);
2     procedure Assign_Resize (Vstr1         : in out Vstring;  
2                              Vstr2         :        E_String;  
2                              Resize_Amount :        S_Positive := 256);
2     procedure Assign_Resize (Vstr1         : in out Vstring;
2                              Vstr2         :        Vstring_Data;
2                              Resize_Amount :        S_Positive := 256);
2     procedure Assign_Resize (Vstr1         : in out Vstring;
2                              Vstr2         :        Vstring;
2                              Resize_Amount :        S_Positive := 256);

* Change 49
1     procedure Assign_New (Vstr1 : out Vstring; Vstr2 : String);
-----
2     procedure Assign_New (Vstr1 : out Vstring; Vstr2 : E_String);

* Change 53
1                           Copies :     Natural);
-----
2                           Copies :     S_Natural);

* Change 60
1     procedure Append (Vstr1 : in out Vstring_Data; Vstr2 : String);
-----
2     procedure Append (Vstr1 : in out Vstring_Data; Vstr2 : E_String);

* Change 64
1                       Copies :        Natural);
-----
2                       Copies :        S_Natural);

* Change 67
1     procedure Append (Vstr1 : Vstring; Vstr2 : String);
-----
2     procedure Append (Vstr1 : Vstring; Vstr2 : E_String);

* Change 71
1                       Copies : Natural);
-----
2                       Copies : S_Natural);

* Change 79..80
1                              Vstr2         :        String;  
1                              Resize_Amount :        Positive := 256);
-----
2                              Vstr2         :        E_String;  
2                              Resize_Amount :        S_Positive := 256);

* Change 83
1                              Resize_Amount :        Positive := 256);
-----
2                              Resize_Amount :        S_Positive := 256);

* Change 86..87
1                              Copies        :        Natural;  
1                              Resize_Amount :        Positive := 256);
-----
2                              Copies        :        S_Natural;  
2                              Resize_Amount :        S_Positive := 256);

* Change 90
1                              Resize_Amount :        Positive := 256);
-----
2                              Resize_Amount :        S_Positive := 256);

* Change 93
1                              Resize_Amount :        Positive := 256);
-----
2                              Resize_Amount :        S_Positive := 256);

* Change 99
1     procedure Prepend (Vstr1 : in out Vstring_Data; Vstr2 : String);
-----
2     procedure Prepend (Vstr1 : in out Vstring_Data; Vstr2 : E_String);

* Change 103
1                        Copies :        Natural);
-----
2                        Copies :        S_Natural);

* Change 106
1     procedure Prepend (Vstr1 : Vstring; Vstr2 : String);
-----
2     procedure Prepend (Vstr1 : Vstring; Vstr2 : E_String);

* Change 110
1                        Copies : Natural);
-----
2                        Copies : S_Natural);
16:20:08 ::: [end of File_Utilities.Difference].
16:20:10 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:20:10 ... VSTRING.VSTRING_CASE'BODY'V(5)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:20:10 ... UNITS.VSTRING.VSTRING_CASE'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_CASE'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_CASE'BODY
* Change 1
1 with Vstring_Type;  
-----
2 with Arithmetic;
2 use Arithmetic;
2 with Vstring_Type;

* Change 8
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Change 29..33
1     procedure Upper_Case (Vstr : in out Vstring_Data) is  
1     begin  
1         for I in reverse 1 .. Vstr.Length loop  
1             Vstr.Chars (I) := Uc_Char (Vstr.Chars (I));  
1         end loop;  
-----
2     procedure Upper_Case (Vstr : in out Vstring_Data) is
2     begin
2         for I in reverse 1 .. Vstr.Length loop
2             Vstr.Chars (I) := Uc_Char (Vstr.Chars (I));
2         end loop;

* Change 37..41
1     procedure Upper_Case (Vstr : Vstring) is  
1     begin  
1         for I in reverse 1 .. Vstr.Length loop  
1             Vstr.Chars (I) := Uc_Char (Vstr.Chars (I));  
1         end loop;  
-----
2     procedure Upper_Case (Vstr : Vstring) is
2     begin
2         for I in reverse 1 .. Vstr.Length loop
2             Vstr.Chars (I) := Uc_Char (Vstr.Chars (I));
2         end loop;

* Change 45..49
1     procedure Lower_Case (Vstr : in out Vstring_Data) is  
1     begin  
1         for I in reverse 1 .. Vstr.Length loop  
1             Vstr.Chars (I) := Lc_Char (Vstr.Chars (I));  
1         end loop;  
-----
2     procedure Lower_Case (Vstr : in out Vstring_Data) is
2     begin
2         for I in reverse 1 .. Vstr.Length loop
2             Vstr.Chars (I) := Lc_Char (Vstr.Chars (I));
2         end loop;

* Change 53..57
1     procedure Lower_Case (Vstr : Vstring) is  
1     begin  
1         for I in reverse 1 .. Vstr.Length loop  
1             Vstr.Chars (I) := Lc_Char (Vstr.Chars (I));  
1         end loop;  
-----
2     procedure Lower_Case (Vstr : Vstring) is
2     begin
2         for I in reverse 1 .. Vstr.Length loop
2             Vstr.Chars (I) := Lc_Char (Vstr.Chars (I));
2         end loop;

* Change 61..67
1     function Upper_Case (Str : String) return String is  
1         Str2 : String (1 .. Str'Length);  
1     begin  
1         for I in reverse 0 .. Str2'Last - 1 loop  
1             Str2 (I + 1) := Uc_Char (Str (I + Str'First));  
1         end loop;  
1         return Str2;  
-----
2     function Upper_Case (Str : E_String) return E_String is
2         Str2 : E_String (1 .. Str'Length);
2     begin
2         for I in reverse S_Natural range 0 .. Str2'Last - 1 loop
2             Str2 (I + 1) := Uc_Char (Str (I + Str'First));
2         end loop;
2         return Str2;

* Change 71..75
1     procedure Upper_Case (Str : in out String) is  
1     begin  
1         for I in reverse Str'Range loop  
1             Str (I) := Uc_Char (Str (I));  
1         end loop;  
-----
2     procedure Upper_Case (Str : in out E_String) is
2     begin
2         for I in reverse Str'Range loop
2             Str (I) := Uc_Char (Str (I));
2         end loop;

* Change 79..85
1     function Lower_Case (Str : String) return String is  
1         Str2 : String (1 .. Str'Length);  
1     begin  
1         for I in reverse 0 .. Str2'Last - 1 loop  
1             Str2 (I + 1) := Lc_Char (Str (I + Str'First));  
1         end loop;  
1         return Str2;  
-----
2     function Lower_Case (Str : E_String) return E_String is
2         Str2 : E_String (1 .. Str'Length);
2     begin
2         for I in reverse S_Natural range 0 .. Str2'Last - 1 loop
2             Str2 (I + 1) := Lc_Char (Str (I + Str'First));
2         end loop;
2         return Str2;

* Change 89..93
1     procedure Lower_Case (Str : in out String) is  
1     begin  
1         for I in reverse Str'Range loop  
1             Str (I) := Uc_Char (Str (I));  
1         end loop;  
-----
2     procedure Lower_Case (Str : in out E_String) is
2     begin
2         for I in reverse Str'Range loop
2             Str (I) := Uc_Char (Str (I));
2         end loop;

* Change 96
1 end Vstring_Case;  
-----
2 --
2 end Vstring_Case;
16:20:11 ::: [end of File_Utilities.Difference].
16:20:12 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:20:12 ... VSTRING.VSTRING_CASE'SPEC'V(1)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:20:12 ... UNITS.VSTRING.VSTRING_CASE'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_CASE'SPEC
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_CASE'SPEC
* Change 8
1 -- Copyright 198 -, 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Change 73..76
1     function  Upper_Case (Str : String) return String;
1     procedure Upper_Case (Str : in out String);
1     function  Lower_Case (Str : String) return String;
1     procedure Lower_Case (Str : in out String);
-----
2     function  Upper_Case (Str : E_String) return E_String;
2     procedure Upper_Case (Str : in out E_String);
2     function  Lower_Case (Str : E_String) return E_String;
2     procedure Lower_Case (Str : in out E_String);
16:20:13 ::: [end of File_Utilities.Difference].
16:20:15 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:20:15 ... VSTRING.VSTRING_COMPARE'BODY'V(5)", "!X11.X_TOOLS.
16:20:15 ... REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_COMPARE'BODY'V(1)", "", 
16:20:15 ... TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_COMPARE'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_COMPARE'BODY
* Change 1
1 with Vstring_Type;  
-----
2 with Arithmetic;
2 use Arithmetic;
2 with Vstring_Type;

* Change 8
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Change 30..49
1                       Vstr2 : Vstring_Data) return Result_Type is  
1         Len    : Natural     := Vstr1.Length;  
1         Result : Result_Type := -1;  
1         Diff   : Integer;  
1     begin  
1         if Len > Vstr2.Length then  
1             Len    := Vstr2.Length;  
1             Result := 1;  
1         end if;  
1         for I in 1 .. Len loop  
1             Diff := Character'Pos (Vstr1.Chars (I)) -  
1                        Character'Pos (Vstr2.Chars (I));  
1             if Diff /= 0 then  
1                 return Diff;  
1             end if;  
1         end loop;  
1         if Vstr1.Length = Vstr2.Length then  
1             return 0;  
1         end if;  
1         return Result;  
-----
2                       Vstr2 : Vstring_Data) return Result_Type is
2         Len    : S_Natural   := Vstr1.Length;
2         Result : Result_Type := -1;
2         Diff   : S_Long;
2     begin
2         if Len > Vstr2.Length then
2             Len    := Vstr2.Length;
2             Result := 1;
2         end if;
2         for I in 1 .. Len loop
2             Diff := Character'Pos (Vstr1.Chars (I)) -
2                        Character'Pos (Vstr2.Chars (I));
2             if Diff /= 0 then
2                 return Diff;
2             end if;
2         end loop;
2         if Vstr1.Length = Vstr2.Length then
2             return 0;
2         end if;
2         return Result;

* Change 54..73
1                       Vstr2 : Vstring) return Result_Type is  
1         Len    : Natural     := Vstr1.Length;  
1         Result : Result_Type := -1;  
1         Diff   : Integer;  
1     begin  
1         if Len > Vstr2.Length then  
1             Len    := Vstr2.Length;  
1             Result := 1;  
1         end if;  
1         for I in 1 .. Len loop  
1             Diff := Character'Pos (Vstr1.Chars (I)) -  
1                        Character'Pos (Vstr2.Chars (I));  
1             if Diff /= 0 then  
1                 return Diff;  
1             end if;  
1         end loop;  
1         if Vstr1.Length = Vstr2.Length then  
1             return 0;  
1         end if;  
1         return Result;  
-----
2                       Vstr2 : Vstring) return Result_Type is
2         Len    : S_Natural   := Vstr1.Length;
2         Result : Result_Type := -1;
2         Diff   : S_Long;
2     begin
2         if Len > Vstr2.Length then
2             Len    := Vstr2.Length;
2             Result := 1;
2         end if;
2         for I in 1 .. Len loop
2             Diff := Character'Pos (Vstr1.Chars (I)) -
2                        Character'Pos (Vstr2.Chars (I));
2             if Diff /= 0 then
2                 return Diff;
2             end if;
2         end loop;
2         if Vstr1.Length = Vstr2.Length then
2             return 0;
2         end if;
2         return Result;

* Change 78..97
1                       Vstr2 : Vstring_Data) return Result_Type is  
1         Len    : Natural     := Vstr1.Length;  
1         Result : Result_Type := -1;  
1         Diff   : Integer;  
1     begin  
1         if Len > Vstr2.Length then  
1             Len    := Vstr2.Length;  
1             Result := 1;  
1         end if;  
1         for I in 1 .. Len loop  
1             Diff := Character'Pos (Vstr1.Chars (I)) -  
1                        Character'Pos (Vstr2.Chars (I));  
1             if Diff /= 0 then  
1                 return Diff;  
1             end if;  
1         end loop;  
1         if Vstr1.Length = Vstr2.Length then  
1             return 0;  
1         end if;  
1         return Result;  
-----
2                       Vstr2 : Vstring_Data) return Result_Type is
2         Len    : S_Natural   := Vstr1.Length;
2         Result : Result_Type := -1;
2         Diff   : S_Long;
2     begin
2         if Len > Vstr2.Length then
2             Len    := Vstr2.Length;
2             Result := 1;
2         end if;
2         for I in 1 .. Len loop
2             Diff := Character'Pos (Vstr1.Chars (I)) -
2                        Character'Pos (Vstr2.Chars (I));
2             if Diff /= 0 then
2                 return Diff;
2             end if;
2         end loop;
2         if Vstr1.Length = Vstr2.Length then
2             return 0;
2         end if;
2         return Result;

* Change 102..121
1                       Vstr2 : Vstring) return Result_Type is  
1         Len    : Natural     := Vstr1.Length;  
1         Result : Result_Type := -1;  
1         Diff   : Integer;  
1     begin  
1         if Len > Vstr2.Length then  
1             Len    := Vstr2.Length;  
1             Result := 1;  
1         end if;  
1         for I in 1 .. Len loop  
1             Diff := Character'Pos (Vstr1.Chars (I)) -  
1                        Character'Pos (Vstr2.Chars (I));  
1             if Diff /= 0 then  
1                 return Diff;  
1             end if;  
1         end loop;  
1         if Vstr1.Length = Vstr2.Length then  
1             return 0;  
1         end if;  
1         return Result;  
-----
2                       Vstr2 : Vstring) return Result_Type is
2         Len    : S_Natural   := Vstr1.Length;
2         Result : Result_Type := -1;
2         Diff   : S_Long;
2     begin
2         if Len > Vstr2.Length then
2             Len    := Vstr2.Length;
2             Result := 1;
2         end if;
2         for I in 1 .. Len loop
2             Diff := Character'Pos (Vstr1.Chars (I)) -
2                        Character'Pos (Vstr2.Chars (I));
2             if Diff /= 0 then
2                 return Diff;
2             end if;
2         end loop;
2         if Vstr1.Length = Vstr2.Length then
2             return 0;
2         end if;
2         return Result;

* Change 126..145
1                       Vstr2 : String) return Result_Type is  
1         Len    : Natural     := Vstr2'Length;  
1         Result : Result_Type := 1;  
1         Diff   : Integer;  
1     begin  
1         if Len > Vstr1.Length then  
1             Len    := Vstr1.Length;  
1             Result := -1;  
1         end if;  
1         for I in 0 .. Len - 1 loop  
1             Diff := Character'Pos (Vstr1.Chars (I + 1)) -  
1                        Character'Pos (Vstr2 (I + Vstr2'First));  
1             if Diff /= 0 then  
1                 return Diff;  
1             end if;  
1         end loop;  
1         if Vstr1.Length = Vstr2'Length then  
1             return 0;  
1         end if;  
1         return Result;  
-----
2                       Vstr2 : E_String) return Result_Type is
2         Len    : S_Natural   := Vstr2'Length;
2         Result : Result_Type := 1;
2         Diff   : S_Long;
2     begin
2         if Len > Vstr1.Length then
2             Len    := Vstr1.Length;
2             Result := -1;
2         end if;
2         for I in 0 .. Len - 1 loop
2             Diff := Character'Pos (Vstr1.Chars (I + 1)) -
2                        Character'Pos (Vstr2 (I + Vstr2'First));
2             if Diff /= 0 then
2                 return Diff;
2             end if;
2         end loop;
2         if Vstr1.Length = Vstr2'Length then
2             return 0;
2         end if;
2         return Result;

* Change 150..155
1                       Vstr2 : Character) return Result_Type is  
1     begin  
1         if Vstr1.Length = 0 then  
1             return -1;  
1         end if;  
1         return Character'Pos (Vstr1.Chars (1)) - Character'Pos (Vstr2);  
-----
2                       Vstr2 : Character) return Result_Type is
2     begin
2         if Vstr1.Length = 0 then
2             return -1;
2         end if;
2         return Character'Pos (Vstr1.Chars (1)) - Character'Pos (Vstr2);

* Change 161..179
1                       Copies : Natural) return Result_Type is  
1         Len    : Natural     := Vstr1.Length;  
1         Result : Result_Type := -1;  
1         Diff   : Integer;  
1     begin  
1         if Len > Copies then  
1             Len    := Copies;  
1             Result := 1;  
1         end if;  
1         for I in 1 .. Len loop  
1             Diff := Character'Pos (Vstr1.Chars (I)) - Character'Pos (Vstr2);  
1             if Diff /= 0 then  
1                 return Diff;  
1             end if;  
1         end loop;  
1         if Vstr1.Length = Copies then  
1             return 0;  
1         end if;  
1         return Result;  
-----
2                       Copies : S_Natural) return Result_Type is
2         Len    : S_Natural   := Vstr1.Length;
2         Result : Result_Type := -1;
2         Diff   : S_Long;
2     begin
2         if Len > Copies then
2             Len    := Copies;
2             Result := 1;
2         end if;
2         for I in 1 .. Len loop
2             Diff := Character'Pos (Vstr1.Chars (I)) - Character'Pos (Vstr2);
2             if Diff /= 0 then
2                 return Diff;
2             end if;
2         end loop;
2         if Vstr1.Length = Copies then
2             return 0;
2         end if;
2         return Result;

* Change 184..203
1                       Vstr2 : String) return Result_Type is  
1         Len    : Natural     := Vstr2'Length;  
1         Result : Result_Type := 1;  
1         Diff   : Integer;  
1     begin  
1         if Len > Vstr1.Length then  
1             Len    := Vstr1.Length;  
1             Result := -1;  
1         end if;  
1         for I in 0 .. Len - 1 loop  
1             Diff := Character'Pos (Vstr1.Chars (I + 1)) -  
1                        Character'Pos (Vstr2 (I + Vstr2'First));  
1             if Diff /= 0 then  
1                 return Diff;  
1             end if;  
1         end loop;  
1         if Vstr1.Length = Vstr2'Length then  
1             return 0;  
1         end if;  
1         return Result;  
-----
2                       Vstr2 : E_String) return Result_Type is
2         Len    : S_Natural   := Vstr2'Length;
2         Result : Result_Type := 1;
2         Diff   : S_Long;
2     begin
2         if Len > Vstr1.Length then
2             Len    := Vstr1.Length;
2             Result := -1;
2         end if;
2         for I in 0 .. Len - 1 loop
2             Diff := Character'Pos (Vstr1.Chars (I + 1)) -
2                        Character'Pos (Vstr2 (I + Vstr2'First));
2             if Diff /= 0 then
2                 return Diff;
2             end if;
2         end loop;
2         if Vstr1.Length = Vstr2'Length then
2             return 0;
2         end if;
2         return Result;

* Change 208..213
1                       Vstr2 : Character) return Result_Type is  
1     begin  
1         if Vstr1.Length = 0 then  
1             return -1;  
1         end if;  
1         return Character'Pos (Vstr1.Chars (1)) - Character'Pos (Vstr2);  
-----
2                       Vstr2 : Character) return Result_Type is
2     begin
2         if Vstr1.Length = 0 then
2             return -1;
2         end if;
2         return Character'Pos (Vstr1.Chars (1)) - Character'Pos (Vstr2);

* Change 219..237
1                       Copies : Natural) return Result_Type is  
1         Len    : Natural     := Vstr1.Length;  
1         Result : Result_Type := -1;  
1         Diff   : Integer;  
1     begin  
1         if Len > Copies then  
1             Len    := Copies;  
1             Result := 1;  
1         end if;  
1         for I in 1 .. Len loop  
1             Diff := Character'Pos (Vstr1.Chars (I)) - Character'Pos (Vstr2);  
1             if Diff /= 0 then  
1                 return Diff;  
1             end if;  
1         end loop;  
1         if Vstr1.Length = Copies then  
1             return 0;  
1         end if;  
1         return Result;  
-----
2                       Copies : S_Natural) return Result_Type is
2         Len    : S_Natural   := Vstr1.Length;
2         Result : Result_Type := -1;
2         Diff   : S_Long;
2     begin
2         if Len > Copies then
2             Len    := Copies;
2             Result := 1;
2         end if;
2         for I in 1 .. Len loop
2             Diff := Character'Pos (Vstr1.Chars (I)) - Character'Pos (Vstr2);
2             if Diff /= 0 then
2                 return Diff;
2             end if;
2         end loop;
2         if Vstr1.Length = Copies then
2             return 0;
2         end if;
2         return Result;

* Change 240
1 end Vstring_Compare;  
-----
2 --
2 end Vstring_Compare;
16:20:17 ::: [end of File_Utilities.Difference].
16:20:18 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:20:18 ... VSTRING.VSTRING_COMPARE'SPEC'V(1)", "!X11.X_TOOLS.
16:20:18 ... REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_COMPARE'SPEC'V(1)", "", 
16:20:18 ... TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_COMPARE'SPEC
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_COMPARE'SPEC
* Insert after 0
2 with Arithmetic;
2 use Arithmetic;

* Change 8
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Change 28
1     subtype Result_Type is Integer range -127 .. 127;
-----
2     subtype Result_Type is S_Long range -127 .. 127;

* Change 45
1                       Vstr2 : String)    return Result_Type;
-----
2                       Vstr2 : E_String)   return Result_Type;

* Change 47
1                       Vstr2 : Character) return Result_Type;
-----
2                       Vstr2 : Character)  return Result_Type;

* Change 50
1                       Copies : Natural)  return Result_Type;
-----
2                       Copies : S_Natural) return Result_Type;

* Change 52
1                       Vstr2 : String)    return Result_Type;
-----
2                       Vstr2 : E_String)   return Result_Type;

* Change 54
1                       Vstr2 : Character) return Result_Type;
-----
2                       Vstr2 : Character)  return Result_Type;

* Change 57
1                       Copies : Natural)  return Result_Type;
-----
2                       Copies : S_Natural) return Result_Type;
16:20:19 ::: [end of File_Utilities.Difference].
16:20:21 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:20:21 ... VSTRING.VSTRING_EQUAL'BODY'V(5)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:20:21 ... UNITS.VSTRING.VSTRING_EQUAL'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_EQUAL'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_EQUAL'BODY
* Change 1..3
1 with Vstring_Case;  
1 use Vstring_Case;  
1 with Vstring_Type;  
-----
2 with Arithmetic;
2 use Arithmetic;
2 with Vstring_Case;
2 use Vstring_Case;
2 with Vstring_Type;

* Change 10
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Change 32..42
1                     Vstr2 : Vstring_Data) return Boolean is  
1     begin  
1         if Vstr1.Length = Vstr2.Length then  
1             for I in reverse 1 .. Vstr1.Length loop  
1                 if Vstr1.Chars (I) /= Vstr2.Chars (I) then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2                     Vstr2 : Vstring_Data) return Boolean is
2     begin
2         if Vstr1.Length = Vstr2.Length then
2             for I in reverse 1 .. Vstr1.Length loop
2                 if Vstr1.Chars (I) /= Vstr2.Chars (I) then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 46..56
1     function Equal (Vstr1 : Vstring_Data; Vstr2 : Vstring) return Boolean is  
1     begin  
1         if Vstr1.Length = Vstr2.Length then  
1             for I in reverse 1 .. Vstr1.Length loop  
1                 if Vstr1.Chars (I) /= Vstr2.Chars (I) then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2     function Equal (Vstr1 : Vstring_Data;  
2                     Vstr2 : Vstring) return Boolean is
2     begin
2         if Vstr1.Length = Vstr2.Length then
2             for I in reverse 1 .. Vstr1.Length loop
2                 if Vstr1.Chars (I) /= Vstr2.Chars (I) then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 60..70
1     function Equal (Vstr1 : Vstring; Vstr2 : Vstring_Data) return Boolean is  
1     begin  
1         if Vstr1.Length = Vstr2.Length then  
1             for I in reverse 1 .. Vstr1.Length loop  
1                 if Vstr1.Chars (I) /= Vstr2.Chars (I) then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2     function Equal (Vstr1 : Vstring;  
2                     Vstr2 : Vstring_Data) return Boolean is
2     begin
2         if Vstr1.Length = Vstr2.Length then
2             for I in reverse 1 .. Vstr1.Length loop
2                 if Vstr1.Chars (I) /= Vstr2.Chars (I) then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 74..84
1     function Equal (Vstr1 : Vstring; Vstr2 : Vstring) return Boolean is  
1     begin  
1         if Vstr1.Length = Vstr2.Length then  
1             for I in reverse 1 .. Vstr1.Length loop  
1                 if Vstr1.Chars (I) /= Vstr2.Chars (I) then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2     function Equal (Vstr1 : Vstring;  
2                     Vstr2 : Vstring) return Boolean is
2     begin
2         if Vstr1.Length = Vstr2.Length then
2             for I in reverse 1 .. Vstr1.Length loop
2                 if Vstr1.Chars (I) /= Vstr2.Chars (I) then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 88..98
1     function Equal (Vstr1 : Vstring_Data; Vstr2 : String) return Boolean is  
1     begin  
1         if Vstr1.Length = Vstr2'Length then  
1             for I in reverse 0 .. Vstr1.Length - 1 loop  
1                 if Vstr1.Chars (I + 1) /= Vstr2 (I + Vstr2'First) then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2     function Equal (Vstr1 : Vstring_Data;  
2                     Vstr2 : E_String) return Boolean is
2     begin
2         if Vstr1.Length = Vstr2'Length then
2             for I in reverse 0 .. Vstr1.Length - 1 loop
2                 if Vstr1.Chars (I + 1) /= Vstr2 (I + Vstr2'First) then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 102..104
1     function Equal (Vstr1 : Vstring_Data; Vstr2 : Character) return Boolean is  
1     begin  
1         return Vstr1.Length /= 1 or else Vstr1.Chars (1) /= Vstr2;  
-----
2     function Equal (Vstr1 : Vstring_Data;  
2                     Vstr2 : Character) return Boolean is
2     begin
2         return Vstr1.Length /= 1 or else Vstr1.Chars (1) /= Vstr2;

* Change 110..120
1                     Copies : Natural) return Boolean is  
1     begin  
1         if Vstr1.Length = Copies then  
1             for I in reverse 1 .. Copies loop  
1                 if Vstr1.Chars (I) /= Vstr2 then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2                     Copies : S_Natural) return Boolean is
2     begin
2         if Vstr1.Length = Copies then
2             for I in reverse 1 .. Copies loop
2                 if Vstr1.Chars (I) /= Vstr2 then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 124..134
1     function Equal (Vstr1 : Vstring; Vstr2 : String) return Boolean is  
1     begin  
1         if Vstr1.Length = Vstr2'Length then  
1             for I in reverse 0 .. Vstr1.Length - 1 loop  
1                 if Vstr1.Chars (I + 1) /= Vstr2 (I + Vstr2'First) then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2     function Equal (Vstr1 : Vstring;  
2                     Vstr2 : E_String) return Boolean is
2     begin
2         if Vstr1.Length = Vstr2'Length then
2             for I in reverse 0 .. Vstr1.Length - 1 loop
2                 if Vstr1.Chars (I + 1) /= Vstr2 (I + Vstr2'First) then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 138..140
1     function Equal (Vstr1 : Vstring; Vstr2 : Character) return Boolean is  
1     begin  
1         return Vstr1.Length /= 1 or else Vstr1.Chars (1) /= Vstr2;  
-----
2     function Equal (Vstr1 : Vstring;  
2                     Vstr2 : Character) return Boolean is
2     begin
2         return Vstr1.Length /= 1 or else Vstr1.Chars (1) /= Vstr2;

* Change 146..156
1                     Copies : Natural) return Boolean is  
1     begin  
1         if Vstr1.Length = Copies then  
1             for I in reverse 1 .. Copies loop  
1                 if Vstr1.Chars (I) /= Vstr2 then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2                     Copies : S_Natural) return Boolean is
2     begin
2         if Vstr1.Length = Copies then
2             for I in reverse 1 .. Copies loop
2                 if Vstr1.Chars (I) /= Vstr2 then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 161..171
1                        Vstr2 : Vstring_Data) return Boolean is  
1     begin  
1         if Vstr1.Length = Vstr2.Length then  
1             for I in reverse 1 .. Vstr1.Length loop  
1                 if Uc_Char (Vstr1.Chars (I)) /= Uc_Char (Vstr2.Chars (I)) then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2                        Vstr2 : Vstring_Data) return Boolean is
2     begin
2         if Vstr1.Length = Vstr2.Length then
2             for I in reverse 1 .. Vstr1.Length loop
2                 if Uc_Char (Vstr1.Chars (I)) /= Uc_Char (Vstr2.Chars (I)) then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 175..185
1     function Uc_Equal (Vstr1 : Vstring_Data; Vstr2 : Vstring) return Boolean is  
1     begin  
1         if Vstr1.Length = Vstr2.Length then  
1             for I in reverse 1 .. Vstr1.Length loop  
1                 if Uc_Char (Vstr1.Chars (I)) /= Uc_Char (Vstr2.Chars (I)) then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2     function Uc_Equal (Vstr1 : Vstring_Data;  
2                        Vstr2 : Vstring) return Boolean is
2     begin
2         if Vstr1.Length = Vstr2.Length then
2             for I in reverse 1 .. Vstr1.Length loop
2                 if Uc_Char (Vstr1.Chars (I)) /= Uc_Char (Vstr2.Chars (I)) then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 189..199
1     function Uc_Equal (Vstr1 : Vstring; Vstr2 : Vstring_Data) return Boolean is  
1     begin  
1         if Vstr1.Length = Vstr2.Length then  
1             for I in reverse 1 .. Vstr1.Length loop  
1                 if Uc_Char (Vstr1.Chars (I)) /= Uc_Char (Vstr2.Chars (I)) then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2     function Uc_Equal (Vstr1 : Vstring;  
2                        Vstr2 : Vstring_Data) return Boolean is
2     begin
2         if Vstr1.Length = Vstr2.Length then
2             for I in reverse 1 .. Vstr1.Length loop
2                 if Uc_Char (Vstr1.Chars (I)) /= Uc_Char (Vstr2.Chars (I)) then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 203..213
1     function Uc_Equal (Vstr1 : Vstring; Vstr2 : Vstring) return Boolean is  
1     begin  
1         if Vstr1.Length = Vstr2.Length then  
1             for I in reverse 1 .. Vstr1.Length loop  
1                 if Uc_Char (Vstr1.Chars (I)) /= Uc_Char (Vstr2.Chars (I)) then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2     function Uc_Equal (Vstr1 : Vstring;  
2                        Vstr2 : Vstring) return Boolean is
2     begin
2         if Vstr1.Length = Vstr2.Length then
2             for I in reverse 1 .. Vstr1.Length loop
2                 if Uc_Char (Vstr1.Chars (I)) /= Uc_Char (Vstr2.Chars (I)) then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 217..228
1     function Uc_Equal (Vstr1 : Vstring_Data; Vstr2 : String) return Boolean is  
1     begin  
1         if Vstr1.Length = Vstr2'Length then  
1             for I in reverse 0 .. Vstr1.Length - 1 loop  
1                 if Uc_Char (Vstr1.Chars (I + 1)) /=  
1                    Uc_Char (Vstr2 (I + Vstr2'First)) then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2     function Uc_Equal (Vstr1 : Vstring_Data;  
2                        Vstr2 : E_String) return Boolean is
2     begin
2         if Vstr1.Length = Vstr2'Length then
2             for I in reverse 0 .. Vstr1.Length - 1 loop
2                 if Uc_Char (Vstr1.Chars (I + 1)) /=
2                    Uc_Char (Vstr2 (I + Vstr2'First)) then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 232..236
1     function Uc_Equal  
1                 (Vstr1 : Vstring_Data; Vstr2 : Character) return Boolean is  
1     begin  
1         return Vstr1.Length /= 1 or else  
1                   Uc_Char (Vstr1.Chars (1)) /= Uc_Char (Vstr2);  
-----
2     function Uc_Equal (Vstr1 : Vstring_Data;  
2                        Vstr2 : Character) return Boolean is
2     begin
2         return Vstr1.Length /= 1 or else
2                   Uc_Char (Vstr1.Chars (1)) /= Uc_Char (Vstr2);

* Change 242..253
1                        Copies : Natural) return Boolean is  
1         Chr : constant Character := Uc_Char (Vstr2);  
1     begin  
1         if Vstr1.Length = Copies then  
1             for I in reverse 1 .. Copies loop  
1                 if Uc_Char (Vstr1.Chars (I)) /= Chr then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2                        Copies : S_Natural) return Boolean is
2         Chr : constant Character := Uc_Char (Vstr2);
2     begin
2         if Vstr1.Length = Copies then
2             for I in reverse 1 .. Copies loop
2                 if Uc_Char (Vstr1.Chars (I)) /= Chr then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 257..268
1     function Uc_Equal (Vstr1 : Vstring; Vstr2 : String) return Boolean is  
1     begin  
1         if Vstr1.Length = Vstr2'Length then  
1             for I in reverse 0 .. Vstr1.Length - 1 loop  
1                 if Uc_Char (Vstr1.Chars (I + 1)) /=  
1                    Uc_Char (Vstr2 (I + Vstr2'First)) then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2     function Uc_Equal (Vstr1 : Vstring;  
2                        Vstr2 : E_String) return Boolean is
2     begin
2         if Vstr1.Length = Vstr2'Length then
2             for I in reverse 0 .. Vstr1.Length - 1 loop
2                 if Uc_Char (Vstr1.Chars (I + 1)) /=
2                    Uc_Char (Vstr2 (I + Vstr2'First)) then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 272..275
1     function Uc_Equal (Vstr1 : Vstring; Vstr2 : Character) return Boolean is  
1     begin  
1         return Vstr1.Length /= 1 or else  
1                   Uc_Char (Vstr1.Chars (1)) /= Uc_Char (Vstr2);  
-----
2     function Uc_Equal (Vstr1 : Vstring;  
2                        Vstr2 : Character) return Boolean is
2     begin
2         return Vstr1.Length /= 1 or else
2                   Uc_Char (Vstr1.Chars (1)) /= Uc_Char (Vstr2);

* Change 281..292
1                        Copies : Natural) return Boolean is  
1         Chr : constant Character := Uc_Char (Vstr2);  
1     begin  
1         if Vstr1.Length = Copies then  
1             for I in reverse 1 .. Copies loop  
1                 if Uc_Char (Vstr1.Chars (I)) /= Chr then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2                        Copies : S_Natural) return Boolean is
2         Chr : constant Character := Uc_Char (Vstr2);
2     begin
2         if Vstr1.Length = Copies then
2             for I in reverse 1 .. Copies loop
2                 if Uc_Char (Vstr1.Chars (I)) /= Chr then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 297..307
1                            Vstr2 : String) return Boolean is  
1     begin  
1         if Vstr1.Length >= Vstr2'Length then  
1             for I in reverse Integer range 0 .. Vstr2'Length - 1 loop  
1                 if Vstr1.Chars (I + 1) /= Vstr2 (I + Vstr2'First) then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2                            Vstr2 : E_String) return Boolean is
2     begin
2         if Vstr1.Length >= Vstr2'Length then
2             for I in reverse S_Natural range 0 .. Vstr2'Length - 1 loop
2                 if Vstr1.Chars (I + 1) /= Vstr2 (I + Vstr2'First) then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 312..322
1                            Vstr2 : String) return Boolean is  
1     begin  
1         if Vstr1.Length >= Vstr2'Length then  
1             for I in reverse Integer range 0 .. Vstr2'Length - 1 loop  
1                 if Vstr1.Chars (I + 1) /= Vstr2 (I + Vstr2'First) then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2                            Vstr2 : E_String) return Boolean is
2     begin
2         if Vstr1.Length >= Vstr2'Length then
2             for I in reverse S_Natural range 0 .. Vstr2'Length - 1 loop
2                 if Vstr1.Chars (I + 1) /= Vstr2 (I + Vstr2'First) then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 327..338
1                               Vstr2 : String) return Boolean is  
1     begin  
1         if Vstr1.Length >= Vstr2'Length then  
1             for I in reverse Integer range 0 .. Vstr2'Length - 1 loop  
1                 if Uc_Char (Vstr1.Chars (I + 1)) /=  
1                    Uc_Char (Vstr2 (I + Vstr2'First)) then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2                               Vstr2 : E_String) return Boolean is
2     begin
2         if Vstr1.Length >= Vstr2'Length then
2             for I in reverse S_Natural range 0 .. Vstr2'Length - 1 loop
2                 if Uc_Char (Vstr1.Chars (I + 1)) /=
2                    Uc_Char (Vstr2 (I + Vstr2'First)) then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 343..354
1                               Vstr2 : String) return Boolean is  
1     begin  
1         if Vstr1.Length >= Vstr2'Length then  
1             for I in reverse Integer range 0 .. Vstr2'Length - 1 loop  
1                 if Uc_Char (Vstr1.Chars (I + 1)) /=  
1                    Uc_Char (Vstr2 (I + Vstr2'First)) then  
1                     return False;  
1                 end if;  
1             end loop;  
1             return True;  
1         end if;  
1         return False;  
-----
2                               Vstr2 : E_String) return Boolean is
2     begin
2         if Vstr1.Length >= Vstr2'Length then
2             for I in reverse S_Natural range 0 .. Vstr2'Length - 1 loop
2                 if Uc_Char (Vstr1.Chars (I + 1)) /=
2                    Uc_Char (Vstr2 (I + Vstr2'First)) then
2                     return False;
2                 end if;
2             end loop;
2             return True;
2         end if;
2         return False;

* Change 357
1 end Vstring_Equal;  
-----
2 --
2 end Vstring_Equal;
16:20:24 ::: [end of File_Utilities.Difference].
16:20:25 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:20:25 ... VSTRING.VSTRING_EQUAL'SPEC'V(1)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:20:25 ... UNITS.VSTRING.VSTRING_EQUAL'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_EQUAL'SPEC
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_EQUAL'SPEC
* Insert after 0
2 with Arithmetic;
2 use Arithmetic;

* Change 8
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Change 35
1     function Equal (Vstr1 : Vstring_Data; Vstr2 : String)    return Boolean;
-----
2     function Equal (Vstr1 : Vstring_Data; Vstr2 : E_String)  return Boolean;

* Change 39..40
1                     Copies : Natural)                        return Boolean;
1     function Equal (Vstr1 : Vstring; Vstr2 : String)         return Boolean;
-----
2                     Copies : S_Natural)                      return Boolean;
2     function Equal (Vstr1 : Vstring; Vstr2 : E_String)       return Boolean;

* Change 44
1                     Copies : Natural)                        return Boolean;
-----
2                     Copies : S_Natural)                      return Boolean;

* Change 55
1     function Uc_Equal (Vstr1 : Vstring_Data; Vstr2 : String)    return Boolean;
-----
2     function Uc_Equal (Vstr1 : Vstring_Data; Vstr2 : E_String)  return Boolean;

* Change 59..60
1                        Copies : Natural)                        return Boolean;
1     function Uc_Equal (Vstr1 : Vstring; Vstr2 : String)         return Boolean;
-----
2                        Copies : S_Natural)                      return Boolean;
2     function Uc_Equal (Vstr1 : Vstring; Vstr2 : E_String)       return Boolean;

* Change 64
1                        Copies : Natural)                        return Boolean;
-----
2                        Copies : S_Natural)                      return Boolean;

* Change 68
1                               Vstr2 : String) return Boolean;
-----
2                               Vstr2 : E_String) return Boolean;

* Change 70
1                               Vstr2 : String) return Boolean;
-----
2                               Vstr2 : E_String) return Boolean;

* Change 72
1                               Vstr2 : String) return Boolean;
-----
2                               Vstr2 : E_String) return Boolean;

* Change 74
1                               Vstr2 : String) return Boolean;
-----
2                               Vstr2 : E_String) return Boolean;
16:20:26 ::: [end of File_Utilities.Difference].
16:20:28 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:20:28 ... VSTRING.VSTRING_HASH'BODY'V(1)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:20:28 ... UNITS.VSTRING.VSTRING_HASH'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_HASH'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_HASH'BODY
* Insert after 0
2 with Arithmetic;
2 use Arithmetic;

* Change 5
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Change 25
1 function Vstring_Hash (Vstr : Vstring_Data) return Natural is
-----
2 function Vstring_Hash (Vstr : Vstring_Data) return S_Natural is

* Change 31..33
1     Hash : Natural := 0;
1     Tmp  : Natural := 0;
1     Pos  : Natural := 1;
-----
2     Hash : S_Natural := 0;
2     Tmp  : S_Natural := 0;
2     Pos  : S_Natural := 1;

* Change 40..41
1         if Tmp > (Natural'Last - Character'Pos (Character'Last)) / 3 then
1             if Natural'Last - Hash < Tmp then
-----
2         if Tmp > (S_Natural'Last - Character'Pos (Character'Last)) / 3 then
2             if S_Natural'Last - Hash < Tmp then

* Change 54
1     if Natural'Last - Hash < Tmp then
-----
2     if S_Natural'Last - Hash < Tmp then
16:20:28 ::: [end of File_Utilities.Difference].
16:20:29 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:20:29 ... VSTRING.VSTRING_HASH'SPEC'V(1)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:20:29 ... UNITS.VSTRING.VSTRING_HASH'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_HASH'SPEC
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_HASH'SPEC
* Insert after 0
2 with Arithmetic;
2 use Arithmetic;

* Change 3
1 function Vstring_Hash (Vstr : Vstring_Data) return Natural;
-----
2 
2 function Vstring_Hash (Vstr : Vstring_Data) return S_Natural;

* Change 5
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.
16:20:30 ::: [end of File_Utilities.Difference].
16:20:32 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:20:32 ... VSTRING.VSTRING_HEAP'BODY'V(5)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:20:32 ... UNITS.VSTRING.VSTRING_HEAP'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_HEAP'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_HEAP'BODY
* Change 1..2
1 with Unchecked_Deallocation;  
1 with Vstring_Type;  
-----
2 with Unchecked_Deallocation;
2 with Vstring_Type;

* Change 7
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Change 28..30
1     function New_Vstring (Maximum_Length : Natural) return Vstring is  
1     begin  
1         return new Vstring_Data (Maximum_Length);  
-----
2     function New_Vstring (Maximum_Length : S_Natural) return Vstring is
2     begin
2         return new Vstring_Data (Maximum_Length);

* Change 35..37
1     procedure Free_Vstring (Vstr : in out Vstring) is  
1     begin  
1         Free (Vstr);  
-----
2     procedure Free_Vstring (Vstr : in out Vstring) is
2     begin
2         Free (Vstr);

* Change 41
1     procedure Resize_Vstring (Vstr : in out Vstring; New_Size : Natural) is
-----
2     procedure Resize_Vstring (Vstr : in out Vstring; New_Size : S_Natural) is

* Change 45
1         Vs : Vstring;  
-----
2         Vs : Vstring;

* Change 50..51
1         if Vstr.Maximum_Length = New_Size then  
1             return;  
-----
2         if Vstr.Maximum_Length = New_Size then
2             return;

* Change 56..62
1         Vs := new Vstring_Data (New_Size);  
1         if Vstr.Length <= New_Size then  
1             Vs.Length                   := Vstr.Length;  
1             Vs.Chars (1 .. Vstr.Length) := Vstr.Chars (1 .. Vstr.Length);  
1         else  
1             Vs.Length                := New_Size;  
1             Vs.Chars (1 .. New_Size) := Vstr.Chars (1 .. New_Size);  
-----
2         Vs := new Vstring_Data (New_Size);
2         if Vstr.Length <= New_Size then
2             Vs.Length                   := Vstr.Length;
2             Vs.Chars (1 .. Vstr.Length) := Vstr.Chars (1 .. Vstr.Length);
2         else
2             Vs.Length                := New_Size;
2             Vs.Chars (1 .. New_Size) := Vstr.Chars (1 .. New_Size);

* Change 67
1         Free (Vstr);  
-----
2         Free (Vstr);

* Change 72
1 end Vstring_Heap;  
-----
2 --
2 end Vstring_Heap;
16:20:33 ::: [end of File_Utilities.Difference].
16:20:34 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:20:34 ... VSTRING.VSTRING_HEAP'SPEC'V(1)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:20:34 ... UNITS.VSTRING.VSTRING_HEAP'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_HEAP'SPEC
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_HEAP'SPEC
* Insert after 0
2 with Arithmetic;
2 use Arithmetic;

* Change 6
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Change 26
1     function New_Vstring (Maximum_Length : Natural) return Vstring;
-----
2     function New_Vstring (Maximum_Length : S_Natural) return Vstring;

* Change 34
1     procedure Resize_Vstring (Vstr : in out Vstring; New_Size : Natural);
-----
2     procedure Resize_Vstring (Vstr : in out Vstring; New_Size : S_Natural);
16:20:34 ::: [end of File_Utilities.Difference].
16:20:36 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:20:36 ... VSTRING.VSTRING_IO'BODY'V(5)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:20:36 ... UNITS.VSTRING.VSTRING_IO'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_IO'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_IO'BODY
* Change 1..5
1 with Text_Io;  
1 use Text_Io;  
1 with Vstring_Heap;  
1 use Vstring_Heap;  
1 with Vstring_Type;  
-----
2 with Text_Io;
2 use Text_Io;
2 with Vstring_Heap;
2 use Vstring_Heap;
2 with Vstring_Type;

* Change 12
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Insert after 30
2 
2 ----Some Text_Io's have problems with strings(1..Natural'Last) so we'll do
2 --  approximately (1..Natural'Last/2) at most in one I/O.
2 
2     Natural_Last : constant S_Natural := (S_Natural (Natural'Last) + 1) / 2;

* Change 34..36
1                    Line        : in out Vstring_Data;  
1                    End_Of_Line : in out Boolean;  
1                    End_Of_Page : in out Boolean;  
-----
2                    Line        : in out Vstring_Data;
2                    End_Of_Line : in out Boolean;
2                    End_Of_Page : in out Boolean;

* Change 46..47
1         Lno : Positive_Count := Text_Io.Line (File);  
1         Pno : Positive_Count := Text_Io.Page (File);  
-----
2         Lno    : Positive_Count := Text_Io.Line (File);
2         Pno    : Positive_Count := Text_Io.Page (File);
2         Length : Natural;
2         Buffer : String (1 .. Natural (Min (512, Line.Maximum_Length)));

* Change 50..58
1         if Text_Io.End_Of_File (File) then  
1             Line.Length := 0;  
1             End_Of_File := True;  
1             End_Of_Page := True;  
1             End_Of_Line := True;  
1             return;  
1         end if;  
1         Get_Line (File, Line.Chars, Line.Length);  
1         End_Of_File := Text_Io.End_Of_File (File);  
-----
2         if Text_Io.End_Of_File (File) then
2             Line.Length := 0;
2             End_Of_File := True;
2             End_Of_Page := True;
2             End_Of_Line := True;
2             return;
2         end if;
2         Get_Line (File, Buffer, Length);
2         Line.Length                   := S_Natural (Length);
2         Line.Chars (1 .. Line.Length) := E_String (Buffer (1 .. Length));
2         while Line.Length < Line.Maximum_Length and then  
2                  not Text_Io.End_Of_Line (File) loop
2             if S_Natural (Buffer'Length) >
2                Line.Maximum_Length - Line.Length then
2                 Get_Line
2                    (File,  
2                     Buffer (1 .. Natural (Line.Maximum_Length - Line.Length)),  
2                     Length);
2             else
2                 Get_Line (File, Buffer, Length);
2             end if;
2             Line.Chars (Line.Length + 1 .. Line.Length + S_Natural (Length)) :=
2                E_String (Buffer (1 .. Length));
2             Line.Length := Line.Length + S_Natural (Length);
2         end loop;
2         End_Of_File := Text_Io.End_Of_File (File);

* Change 60
1                           Pno /= Text_Io.Page (File);  
-----
2                           Pno /= Text_Io.Page (File);

* Change 68..70
1                    Line        :        Vstring;  
1                    End_Of_Line : in out Boolean;  
1                    End_Of_Page : in out Boolean;  
-----
2                    Line        :        Vstring;
2                    End_Of_Line : in out Boolean;
2                    End_Of_Page : in out Boolean;

* Change 80..81
1         Lno : Positive_Count := Text_Io.Line (File);  
1         Pno : Positive_Count := Text_Io.Page (File);  
-----
2         Lno    : Positive_Count := Text_Io.Line (File);
2         Pno    : Positive_Count := Text_Io.Page (File);
2         Length : Natural;
2         Buffer : String (1 .. Natural (Min (512, Line.Maximum_Length)));

* Change 84..92
1         if Text_Io.End_Of_File (File) then  
1             Line.Length := 0;  
1             End_Of_File := True;  
1             End_Of_Page := True;  
1             End_Of_Line := True;  
1             return;  
1         end if;  
1         Get_Line (File, Line.Chars, Line.Length);  
1         End_Of_File := Text_Io.End_Of_File (File);  
-----
2         if Text_Io.End_Of_File (File) then
2             Line.Length := 0;
2             End_Of_File := True;
2             End_Of_Page := True;
2             End_Of_Line := True;
2             return;
2         end if;
2         Get_Line (File, Buffer, Length);
2         Line.Length                   := S_Natural (Length);
2         Line.Chars (1 .. Line.Length) := E_String (Buffer (1 .. Length));
2         while Line.Length < Line.Maximum_Length and then  
2                  not Text_Io.End_Of_Line (File) loop
2             if S_Natural (Buffer'Length) >
2                Line.Maximum_Length - Line.Length then
2                 Get_Line
2                    (File,  
2                     Buffer (1 .. Natural (Line.Maximum_Length - Line.Length)),  
2                     Length);
2             else
2                 Get_Line (File, Buffer, Length);
2             end if;
2             Line.Chars (Line.Length + 1 .. Line.Length + S_Natural (Length)) :=
2                E_String (Buffer (1 .. Length));
2             Line.Length := Line.Length + S_Natural (Length);
2         end loop;
2         End_Of_File := Text_Io.End_Of_File (File);

* Change 94
1                           Pno /= Text_Io.Page (File);  
-----
2                           Pno /= Text_Io.Page (File);

* Change 102..105
1                           Line          : in out Vstring;  
1                           Resize_Amount :        Positive;  
1                           End_Of_Line   : in out Boolean;  
1                           End_Of_Page   : in out Boolean;  
-----
2                           Line          : in out Vstring;
2                           Resize_Amount :        S_Positive;  
2                           End_Of_Line   : in out Boolean;
2                           End_Of_Page   : in out Boolean;

* Change 110..111
1         Lno : Positive_Count := Text_Io.Line (File);  
1         Pno : Positive_Count := Text_Io.Page (File);  
-----
2         Lno    : Positive_Count := Text_Io.Line (File);
2         Pno    : Positive_Count := Text_Io.Page (File);
2         Length : Natural;
2         Buffer : String (1 .. 512);

* Change 116..128
1         if Text_Io.End_Of_File (File) then  
1             Line.Length := 0;  
1             End_Of_File := True;  
1             End_Of_Page := True;  
1             End_Of_Line := True;  
1             return;  
1         end if;  
1         Get_Line (File, Line.Chars, Line.Length);  
1         End_Of_File := Text_Io.End_Of_File (File);  
1         End_Of_Page := End_Of_File or else  
1                           Pno /= Text_Io.Page (File);  
1         End_Of_Line := End_Of_Page or else  
1                           Lno /= Text_Io.Line (File);
-----
2         if Text_Io.End_Of_File (File) then
2             Line.Length := 0;
2             End_Of_File := True;
2             End_Of_Page := True;
2             End_Of_Line := True;
2             return;
2         end if;
2         Get_Line
2            (File,  
2             Buffer
2                (1 .. Natural
2                         (Min (S_Natural (Buffer'Last), Line.Maximum_Length))),  
2             Length);
2         Line.Length                   := S_Natural (Length);
2         Line.Chars (1 .. Line.Length) := E_String (Buffer (1 .. Length));
2         End_Of_File                   := Text_Io.End_Of_File (File);
2         End_Of_Page                   := End_Of_File or else  
2                                             Pno /= Text_Io.Page (File);
2         End_Of_Line                   := End_Of_Page or else  
2                                             Lno /= Text_Io.Line (File);

* Change 132..133
1         if End_Of_Line then  
1             return;  
-----
2         if End_Of_Line then
2             return;

* Change 138..142
1         declare  
1             Start  : Natural;  
1             Finish : Natural;  
1         begin  
1             Start := Line.Length + 1;  
-----
2         declare
2             Start  : S_Natural := Line.Length + 1;
2             Finish : S_Natural;
2         begin

* Insert after 143
2 
2 ----Grab up to the next 512 characters of line.
2 
2                 Get_Line (File, Buffer, Length);

* Insert after 145
2 
2                 Finish := Line.Length + S_Natural (Length);
2                 if Finish > Line.Maximum_Length then
2                     Resize_Vstring (Line, (Finish + Resize_Amount - 1)  
2                                               / Resize_Amount * Resize_Amount);
2                 end if;
2 
2                 Line.Chars (Start .. Finish) := E_String (Buffer (1 .. Length));
2                 Line.Length                  := Finish;

* Change 147..156
1                 Resize_Vstring (Line, Line.Maximum_Length + Resize_Amount);  
1                 if Text_Io.End_Of_File (File) then  
1                     Line.Length := 0;  
1                     End_Of_File := True;  
1                     End_Of_Page := True;  
1                     End_Of_Line := True;  
1                     return;  
1                 end if;  
1                 Get_Line (File, Line.Chars (Start .. Line.Chars'Last), Finish);  
1                 End_Of_File := Text_Io.End_Of_File (File);  
-----
2                 End_Of_File := Text_Io.End_Of_File (File);

* Change 158
1                                   Pno /= Text_Io.Page (File);  
-----
2                                   Pno /= Text_Io.Page (File);

* Change 164..166
1                 Line.Length := Finish;  
1                 if End_Of_Line then  
1                     return;  
-----
2                 Line.Length := Finish;
2                 if End_Of_Line then
2                     return;

* Change 171..172
1                 Start := Finish + 1;  
1             end loop;  
-----
2                 Start := Finish + 1;
2             end loop;

* Change 180..183
1     begin  
1         if Vstr.Length > 0 then  
1             Put (Vstr.Chars (1 .. Vstr.Length));  
1         end if;  
-----
2         Start  : S_Natural := 1;
2         Finish : S_Natural;
2     begin
2         if Vstr.Length > 0 then
2             for I in S_Natural range 0 .. (Vstr.Length - 1) / Natural_Last loop
2                 Finish := Min (Vstr.Length, Start + Natural_Last - 1);
2                 Put (String (Vstr.Chars (Start .. Finish)));
2                 Start := Finish + 1;
2             end loop;
2         end if;

* Change 189..192
1     begin  
1         if Vstr.Length > 0 then  
1             Put (File, Vstr.Chars (1 .. Vstr.Length));  
1         end if;  
-----
2         Start  : S_Natural := 1;
2         Finish : S_Natural;
2     begin
2         if Vstr.Length > 0 then
2             for I in S_Natural range 0 .. (Vstr.Length - 1) / Natural_Last loop
2                 Finish := Min (Vstr.Length, Start + Natural_Last - 1);
2                 Put (File, String (Vstr.Chars (Start .. Finish)));
2                 Start := Finish + 1;
2             end loop;
2         end if;

* Change 198..203
1     begin  
1         if Vstr.Length > 0 then  
1             Put_Line (Vstr.Chars (1 .. Vstr.Length));  
1         else  
1             New_Line;  
1         end if;  
-----
2         Start  : S_Natural := 1;
2         Finish : S_Natural;
2     begin
2         if Vstr.Length > 0 then
2             for I in S_Natural range 1 .. (Vstr.Length - 1) / Natural_Last loop
2                 Finish := Min (Vstr.Length, Start + Natural_Last - 1);
2                 Put (String (Vstr.Chars (Start .. Finish)));
2                 Start := Finish + 1;
2             end loop;
2             Put_Line (String (Vstr.Chars (Start .. Vstr.Length)));
2         else
2             New_Line;
2         end if;

* Change 209..213
1     begin  
1         if Vstr.Length > 0 then  
1             Put_Line (File, Vstr.Chars (1 .. Vstr.Length));  
1         else  
1             New_Line (File);  
-----
2         Start  : S_Natural := 1;
2         Finish : S_Natural;
2     begin
2         if Vstr.Length > 0 then
2             for I in S_Natural range 1 .. (Vstr.Length - 1) / Natural_Last loop
2                 Finish := Min (Vstr.Length, Start + Natural_Last - 1);
2                 Put (File, String (Vstr.Chars (Start .. Finish)));
2                 Start := Finish + 1;
2             end loop;
2             Put_Line (File, String (Vstr.Chars (Start .. Vstr.Length)));
2         else
2             New_Line (File);

* Delete 215
1 

* Change 221..224
1     begin  
1         if Vstr.Length > 0 then  
1             Put (Vstr.Chars (1 .. Vstr.Length));  
1         end if;  
-----
2         Start  : S_Natural := 1;
2         Finish : S_Natural;
2     begin
2         if Vstr.Length > 0 then
2             for I in S_Natural range 0 .. (Vstr.Length - 1) / Natural_Last loop
2                 Finish := Min (Vstr.Length, Start + Natural_Last - 1);
2                 Put (String (Vstr.Chars (Start .. Finish)));
2                 Start := Finish + 1;
2             end loop;
2         end if;

* Change 230..233
1     begin  
1         if Vstr.Length > 0 then  
1             Put (File, Vstr.Chars (1 .. Vstr.Length));  
1         end if;  
-----
2         Start  : S_Natural := 1;
2         Finish : S_Natural;
2     begin
2         if Vstr.Length > 0 then
2             for I in S_Natural range 0 .. (Vstr.Length - 1) / Natural_Last loop
2                 Finish := Min (Vstr.Length, Start + Natural_Last - 1);
2                 Put (File, String (Vstr.Chars (Start .. Finish)));
2                 Start := Finish + 1;
2             end loop;
2         end if;

* Change 239..244
1     begin  
1         if Vstr.Length > 0 then  
1             Put_Line (Vstr.Chars (1 .. Vstr.Length));  
1         else  
1             New_Line;  
1         end if;  
-----
2         Start  : S_Natural := 1;
2         Finish : S_Natural;
2     begin
2         if Vstr.Length > 0 then
2             for I in S_Natural range 1 .. (Vstr.Length - 1) / Natural_Last loop
2                 Finish := Min (Vstr.Length, Start + Natural_Last - 1);
2                 Put (String (Vstr.Chars (Start .. Finish)));
2                 Start := Finish + 1;
2             end loop;
2             Put_Line (String (Vstr.Chars (Start .. Vstr.Length)));
2         else
2             New_Line;
2         end if;

* Change 250..254
1     begin  
1         if Vstr.Length > 0 then  
1             Put_Line (File, Vstr.Chars (1 .. Vstr.Length));  
1         else  
1             New_Line (File);  
-----
2         Start  : S_Natural := 1;
2         Finish : S_Natural;
2     begin
2         if Vstr.Length > 0 then
2             for I in S_Natural range 1 .. (Vstr.Length - 1) / Natural_Last loop
2                 Finish := Min (Vstr.Length, Start + Natural_Last - 1);
2                 Put (File, String (Vstr.Chars (Start .. Finish)));
2                 Start := Finish + 1;
2             end loop;
2             Put_Line (File, String (Vstr.Chars (Start .. Vstr.Length)));
2         else
2             New_Line (File);

* Delete 256
1 

* Delete 258
1 

* Change 260
1 end Vstring_Io;  
-----
2 --
2 end Vstring_Io;
16:20:40 ::: [end of File_Utilities.Difference].
16:20:40 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:20:40 ... VSTRING.VSTRING_IO'SPEC'V(1)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:20:40 ... UNITS.VSTRING.VSTRING_IO'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_IO'SPEC
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_IO'SPEC
* Insert after 1
2 
2 with Arithmetic;
2 use Arithmetic;

* Change 9
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Change 50
1                           Resize_Amount :        Positive;  
-----
2                           Resize_Amount :        S_Positive;  
16:20:41 ::: [end of File_Utilities.Difference].
16:20:43 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:20:43 ... VSTRING.VSTRING_QUERY'BODY'V(5)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:20:43 ... UNITS.VSTRING.VSTRING_QUERY'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_QUERY'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_QUERY'BODY
* Change 1
1 with Vstring_Type;  
-----
2 with Vstring_Type;

* Change 8
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Change 31..32
1     begin  
1         Vstr.Length := 0;  
-----
2     begin
2         Vstr.Length := 0;

* Change 38..39
1     begin  
1         Vstr.Length := 0;  
-----
2     begin
2         Vstr.Length := 0;

* Change 43
1     function Length (Vstr : Vstring_Data) return Natural is
-----
2     function Length (Vstr : Vstring_Data) return S_Natural is

* Change 45..46
1     begin  
1         return Vstr.Length;  
-----
2     begin
2         return Vstr.Length;

* Change 50
1     function Length (Vstr : Vstring) return Natural is
-----
2     function Length (Vstr : Vstring) return S_Natural is

* Change 52..53
1     begin  
1         return Vstr.Length;  
-----
2     begin
2         return Vstr.Length;

* Change 58
1     function Maximum_Length (Vstr : Vstring_Data) return Natural is
-----
2     function Maximum_Length (Vstr : Vstring_Data) return S_Natural is

* Change 60..61
1     begin  
1         return Vstr.Maximum_Length;  
-----
2     begin
2         return Vstr.Maximum_Length;

* Change 65
1     function Maximum_Length (Vstr : Vstring) return Natural is
-----
2     function Maximum_Length (Vstr : Vstring) return S_Natural is

* Change 67..68
1     begin  
1         return Vstr.Maximum_Length;  
-----
2     begin
2         return Vstr.Maximum_Length;

* Change 73
1     function Length_Left (Vstr : Vstring_Data) return Natural is
-----
2     function Length_Left (Vstr : Vstring_Data) return S_Natural is

* Change 75..76
1     begin  
1         return Vstr.Maximum_Length - Vstr.Length;  
-----
2     begin
2         return Vstr.Maximum_Length - Vstr.Length;

* Change 80
1     function Length_Left (Vstr : Vstring) return Natural is
-----
2     function Length_Left (Vstr : Vstring) return S_Natural is

* Change 82..83
1     begin  
1         return Vstr.Maximum_Length - Vstr.Length;  
-----
2     begin
2         return Vstr.Maximum_Length - Vstr.Length;

* Change 88
1     function Char_At (Vstr : Vstring_Data; Pos : Positive) return Character is
-----
2     function Char_At (Vstr : Vstring_Data; Pos : S_Positive) return Character is

* Change 93..95
1         if Pos > Vstr.Length then  
1             return Ascii.Nul;  
1         end if;  
-----
2         if Pos > Vstr.Length then
2             return Ascii.Nul;
2         end if;

* Change 101
1     function Char_At (Vstr : Vstring; Pos : Positive) return Character is
-----
2     function Char_At (Vstr : Vstring; Pos : S_Positive) return Character is

* Change 106..108
1         if Pos > Vstr.Length then  
1             return Ascii.Nul;  
1         end if;  
-----
2         if Pos > Vstr.Length then
2             return Ascii.Nul;
2         end if;

* Change 117..122
1     begin  
1         if Vstr.Length > 0 then  
1             return Vstr.Chars (1);  
1         else  
1             return Ascii.Nul;  
1         end if;  
-----
2     begin
2         if Vstr.Length > 0 then
2             return Vstr.Chars (1);
2         else
2             return Ascii.Nul;
2         end if;

* Change 129..134
1     begin  
1         if Vstr.Length > 0 then  
1             return Vstr.Chars (1);  
1         else  
1             return Ascii.Nul;  
1         end if;  
-----
2     begin
2         if Vstr.Length > 0 then
2             return Vstr.Chars (1);
2         else
2             return Ascii.Nul;
2         end if;

* Change 140..147
1     begin  
1         if Vstr.Length = 0 then  
1             Char := Ascii.Nul;  
1             return;  
1         end if;  
1         Char                          := Vstr.Chars (1);  
1         Vstr.Length                   := Vstr.Length - 1;  
1         Vstr.Chars (1 .. Vstr.Length) := Vstr.Chars (2 .. Vstr.Length + 1);  
-----
2     begin
2         if Vstr.Length = 0 then
2             Char := Ascii.Nul;
2             return;
2         end if;
2         Char                          := Vstr.Chars (1);
2         Vstr.Length                   := Vstr.Length - 1;
2         Vstr.Chars (1 .. Vstr.Length) := Vstr.Chars (2 .. Vstr.Length + 1);

* Change 153..161
1         Char : Character;  
1     begin  
1         if Vstr.Length = 0 then  
1             return Ascii.Nul;  
1         end if;  
1         Char                          := Vstr.Chars (1);  
1         Vstr.Length                   := Vstr.Length - 1;  
1         Vstr.Chars (1 .. Vstr.Length) := Vstr.Chars (2 .. Vstr.Length + 1);  
1         return Char;  
-----
2         Char : Character;
2     begin
2         if Vstr.Length = 0 then
2             return Ascii.Nul;
2         end if;
2         Char                          := Vstr.Chars (1);
2         Vstr.Length                   := Vstr.Length - 1;
2         Vstr.Chars (1 .. Vstr.Length) := Vstr.Chars (2 .. Vstr.Length + 1);
2         return Char;

* Change 168..173
1     begin  
1         if Vstr.Length > 0 then  
1             return Vstr.Chars (Vstr.Length);  
1         else  
1             return Ascii.Nul;  
1         end if;  
-----
2     begin
2         if Vstr.Length > 0 then
2             return Vstr.Chars (Vstr.Length);
2         else
2             return Ascii.Nul;
2         end if;

* Change 180..185
1     begin  
1         if Vstr.Length > 0 then  
1             return Vstr.Chars (Vstr.Length);  
1         else  
1             return Ascii.Nul;  
1         end if;  
-----
2     begin
2         if Vstr.Length > 0 then
2             return Vstr.Chars (Vstr.Length);
2         else
2             return Ascii.Nul;
2         end if;

* Change 191..197
1     begin  
1         if Vstr.Length = 0 then  
1             Char := Ascii.Nul;  
1             return;  
1         end if;  
1         Char        := Vstr.Chars (Vstr.Length);  
1         Vstr.Length := Vstr.Length - 1;  
-----
2     begin
2         if Vstr.Length = 0 then
2             Char := Ascii.Nul;
2             return;
2         end if;
2         Char        := Vstr.Chars (Vstr.Length);
2         Vstr.Length := Vstr.Length - 1;

* Change 203..208
1     begin  
1         if Vstr.Length = 0 then  
1             return Ascii.Nul;  
1         end if;  
1         Vstr.Length := Vstr.Length - 1;  
1         return Vstr.Chars (Vstr.Length + 1);  
-----
2     begin
2         if Vstr.Length = 0 then
2             return Ascii.Nul;
2         end if;
2         Vstr.Length := Vstr.Length - 1;
2         return Vstr.Chars (Vstr.Length + 1);

* Change 213..214
1                            Pos  : Positive;  
1                            To   : Positive) return String is
-----
2                            Pos  : S_Positive;  
2                            To   : S_Positive) return E_String is

* Change 221..223
1         if To > Vstr.Length then  
1             return Vstr.Chars (Pos .. Vstr.Length);  
1         end if;  
-----
2         if To > Vstr.Length then
2             return Vstr.Chars (Pos .. Vstr.Length);
2         end if;

* Change 230..231
1                            Pos  : Positive;  
1                            To   : Positive) return String is
-----
2                            Pos  : S_Positive;  
2                            To   : S_Positive) return E_String is

* Change 238..240
1         if To > Vstr.Length then  
1             return Vstr.Chars (Pos .. Vstr.Length);  
1         end if;  
-----
2         if To > Vstr.Length then
2             return Vstr.Chars (Pos .. Vstr.Length);
2         end if;

* Change 247..248
1                               Pos  :        Positive;  
1                               To   :        Positive) is
-----
2                               Pos  :        S_Positive;  
2                               To   :        S_Positive) is

* Change 253..254
1         Pos2   : Natural := To;  
1         Length : Natural := To - Pos + 1;  
-----
2         Pos2   : S_Natural := To;
2         Length : S_Natural := To - Pos + 1;

* Change 260
1         end if;  
-----
2         end if;

* Change 263..265
1             return;  
1         end if;  
1         Vstr.Chars (1 .. Length) := Vstr.Chars (Pos .. Pos2);  
-----
2             return;
2         end if;
2         Vstr.Chars (1 .. Length) := Vstr.Chars (Pos .. Pos2);

* Change 272..273
1                               Pos  : Positive;  
1                               To   : Positive) is
-----
2                               Pos  : S_Positive;  
2                               To   : S_Positive) is

* Change 278..279
1         Pos2   : Natural := To;  
1         Length : Natural := To - Pos + 1;  
-----
2         Pos2   : S_Natural := To;
2         Length : S_Natural := To - Pos + 1;

* Change 285
1         end if;  
-----
2         end if;

* Change 288..290
1             return;  
1         end if;  
1         Vstr.Chars (1 .. Length) := Vstr.Chars (Pos .. Pos2);  
-----
2             return;
2         end if;
2         Vstr.Chars (1 .. Length) := Vstr.Chars (Pos .. Pos2);

* Change 297..298
1                             Pos  : Positive;  
1                             Cnt  : Positive) return String is
-----
2                             Pos  : S_Positive;  
2                             Cnt  : S_Positive) return E_String is

* Change 303
1         Pos2 : Natural;  
-----
2         Pos2 : S_Natural;

* Change 306
1 ----Since Pos+Cnt-1 can be > Natural'Last we check this way first.
-----
2 ----Since Pos+Cnt-1 can be > S_Natural'Last we check this way first.

* Change 308..309
1         if Cnt >= Vstr.Length then  
1             return Vstr.Chars (Pos .. Vstr.Length);  
-----
2         if Cnt >= Vstr.Length then
2             return Vstr.Chars (Pos .. Vstr.Length);

* Change 316
1             return Vstr.Chars (Pos .. Vstr.Length);  
-----
2             return Vstr.Chars (Pos .. Vstr.Length);

* Change 327..328
1                             Pos  : Positive;  
1                             Cnt  : Positive) return String is
-----
2                             Pos  : S_Positive;  
2                             Cnt  : S_Positive) return E_String is

* Change 333
1         Pos2 : Natural;  
-----
2         Pos2 : S_Natural;

* Change 336
1 ----Since Pos+Cnt-1 can be > Natural'Last we check this way first.
-----
2 ----Since Pos+Cnt-1 can be > S_Natural'Last we check this way first.

* Change 338..339
1         if Cnt >= Vstr.Length then  
1             return Vstr.Chars (Pos .. Vstr.Length);  
-----
2         if Cnt >= Vstr.Length then
2             return Vstr.Chars (Pos .. Vstr.Length);

* Change 346
1             return Vstr.Chars (Pos .. Vstr.Length);  
-----
2             return Vstr.Chars (Pos .. Vstr.Length);

* Change 357..358
1                                Pos  :        Positive;  
1                                Cnt  :        Positive) is
-----
2                                Pos  :        S_Positive;  
2                                Cnt  :        S_Positive) is

* Change 363..364
1         Pos2   : Natural;  
1         Length : Natural := Cnt;  
-----
2         Pos2   : S_Natural;
2         Length : S_Natural := Cnt;

* Change 367
1 ----Since Pos+Cnt-1 can be > Natural'Last we check this way first.
-----
2 ----Since Pos+Cnt-1 can be > S_Natural'Last we check this way first.

* Change 369..371
1         if Cnt >= Vstr.Length then  
1             Pos2   := Vstr.Length;  
1             Length := Vstr.Length - Pos + 1;  
-----
2         if Cnt >= Vstr.Length then
2             Pos2   := Vstr.Length;
2             Length := Vstr.Length - Pos + 1;

* Change 377..378
1             Pos2 := Pos + Cnt - 1;  
1             if Pos2 >= Vstr.Length then  
-----
2             Pos2 := Pos + Cnt - 1;
2             if Pos2 >= Vstr.Length then

* Change 380..381
1                 Length := Vstr.Length - Pos + 1;  
1             end if;  
-----
2                 Length := Vstr.Length - Pos + 1;
2             end if;

* Change 388
1             return;  
-----
2             return;

* Change 393
1         Vstr.Chars (1 .. Length) := Vstr.Chars (Pos .. Pos2);  
-----
2         Vstr.Chars (1 .. Length) := Vstr.Chars (Pos .. Pos2);

* Change 400..401
1                                Pos  : Positive;  
1                                Cnt  : Positive) is
-----
2                                Pos  : S_Positive;  
2                                Cnt  : S_Positive) is

* Change 406..407
1         Pos2   : Natural;  
1         Length : Natural := Cnt;  
-----
2         Pos2   : S_Natural;
2         Length : S_Natural := Cnt;

* Change 410
1 ----Since Pos+Cnt-1 can be > Natural'Last we check this way first.
-----
2 ----Since Pos+Cnt-1 can be > S_Natural'Last we check this way first.

* Change 412..414
1         if Cnt >= Vstr.Length then  
1             Pos2   := Vstr.Length;  
1             Length := Vstr.Length - Pos + 1;  
-----
2         if Cnt >= Vstr.Length then
2             Pos2   := Vstr.Length;
2             Length := Vstr.Length - Pos + 1;

* Change 420..421
1             Pos2 := Pos + Cnt - 1;  
1             if Pos2 >= Vstr.Length then  
-----
2             Pos2 := Pos + Cnt - 1;
2             if Pos2 >= Vstr.Length then

* Change 423..424
1                 Length := Vstr.Length - Pos + 1;  
1             end if;  
-----
2                 Length := Vstr.Length - Pos + 1;
2             end if;

* Change 431
1             return;  
-----
2             return;

* Change 436
1         Vstr.Chars (1 .. Length) := Vstr.Chars (Pos .. Pos2);  
-----
2         Vstr.Chars (1 .. Length) := Vstr.Chars (Pos .. Pos2);

* Change 442
1     function To_String (Vstr : Vstring_Data) return String is
-----
2     function To_String (Vstr : Vstring_Data) return E_String is

* Change 444..445
1     begin  
1         return Vstr.Chars (1 .. Vstr.Length);  
-----
2     begin
2         return Vstr.Chars (1 .. Vstr.Length);

* Change 449
1     function To_String (Vstr : Vstring) return String is
-----
2     function To_String (Vstr : Vstring) return E_String is

* Change 451..452
1     begin  
1         return Vstr.Chars (1 .. Vstr.Length);  
-----
2     begin
2         return Vstr.Chars (1 .. Vstr.Length);

* Change 455
1 end Vstring_Query;  
-----
2 --
2 end Vstring_Query;
16:20:47 ::: [end of File_Utilities.Difference].
16:20:48 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:20:48 ... VSTRING.VSTRING_QUERY'SPEC'V(1)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:20:48 ... UNITS.VSTRING.VSTRING_QUERY'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_QUERY'SPEC
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_QUERY'SPEC
* Insert after 0
2 with Arithmetic;
2 use Arithmetic;

* Change 8
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Change 32..33
1     function Length (Vstr : Vstring_Data) return Natural;
1     function Length (Vstr : Vstring)      return Natural;
-----
2     function Length (Vstr : Vstring_Data) return S_Natural;
2     function Length (Vstr : Vstring)      return S_Natural;

* Change 36..37
1     function Maximum_Length (Vstr : Vstring_Data) return Natural;
1     function Maximum_Length (Vstr : Vstring)      return Natural;
-----
2     function Maximum_Length (Vstr : Vstring_Data) return S_Natural;
2     function Maximum_Length (Vstr : Vstring)      return S_Natural;

* Change 40..41
1     function Length_Left (Vstr : Vstring_Data) return Natural;
1     function Length_Left (Vstr : Vstring)      return Natural;
-----
2     function Length_Left (Vstr : Vstring_Data) return S_Natural;
2     function Length_Left (Vstr : Vstring)      return S_Natural;

* Change 44..45
1     function Char_At (Vstr : Vstring_Data; Pos : Positive) return Character;
1     function Char_At (Vstr : Vstring; Pos : Positive)      return Character;
-----
2     function Char_At (Vstr : Vstring_Data; Pos : S_Positive) return Character;
2     function Char_At (Vstr : Vstring; Pos : S_Positive)      return Character;

* Insert after 65
2 
2     Inf : constant S_Positive := S_Positive'Last;   -- Infinity

* Change 68..69
1                            Pos  : Positive;  
1                            To   : Positive) return String;
-----
2                            Pos  : S_Positive;  
2                            To   : S_Positive) return E_String;

* Change 71..72
1                            Pos  : Positive;  
1                            To   : Positive) return String;
-----
2                            Pos  : S_Positive;  
2                            To   : S_Positive) return E_String;

* Change 79..80
1                               Pos  :        Positive;  
1                               To   :        Positive);
-----
2                               Pos  :        S_Positive;  
2                               To   :        S_Positive);

* Change 82..83
1                               Pos  : Positive;  
1                               To   : Positive);
-----
2                               Pos  : S_Positive;  
2                               To   : S_Positive);

* Change 90..91
1                             Pos  : Positive;  
1                             Cnt  : Positive) return String;
-----
2                             Pos  : S_Positive;  
2                             Cnt  : S_Positive) return E_String;

* Change 93..94
1                             Pos  : Positive;  
1                             Cnt  : Positive) return String;
-----
2                             Pos  : S_Positive;  
2                             Cnt  : S_Positive) return E_String;

* Change 101..102
1                                Pos  :        Positive;  
1                                Cnt  :        Positive);
-----
2                                Pos  :        S_Positive;  
2                                Cnt  :        S_Positive);

* Change 104..105
1                                Pos  : Positive;  
1                                Cnt  : Positive);
-----
2                                Pos  : S_Positive;  
2                                Cnt  : S_Positive);

* Change 111..112
1     function To_String (Vstr : Vstring_Data) return String;
1     function To_String (Vstr : Vstring)      return String;
-----
2     function To_String (Vstr : Vstring_Data) return E_String;
2     function To_String (Vstr : Vstring)      return E_String;
16:20:50 ::: [end of File_Utilities.Difference].
16:20:51 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:20:51 ... VSTRING.VSTRING_SCAN'BODY'V(5)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:20:51 ... UNITS.VSTRING.VSTRING_SCAN'BODY'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_SCAN'BODY
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_SCAN'BODY
* Change 1..3
1 with Vstring_Case;  
1 use Vstring_Case;  
1 with Vstring_Type;  
-----
2 with Arithmetic;
2 use Arithmetic;
2 with Vstring_Case;
2 use Vstring_Case;
2 with Vstring_Type;

* Change 8
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Change 29..36
1     procedure Scan_Body (To         : in out Vstring_Data;  
1                          To_Start   :        Natural;  
1                          From       : in out Vstring_Data;  
1                          Brk        :        Breakset;  
1                          Break_Char : out    Character) is  
1         To_Pos : Natural := To_Start;  
1         Pos    : Natural := 1;  
1         Last   : Natural := From.Length;  
-----
2     procedure Scan_Body (To         : in out Vstring_Data;
2                          To_Start   :        S_Natural;
2                          From       : in out Vstring_Data;
2                          Brk        :        Breakset;
2                          Break_Char : out    Character) is
2         To_Pos : S_Natural := To_Start;
2         Pos    : S_Natural := 1;
2         Last   : S_Natural := From.Length;

* Change 42..44
1         Break_Char := Ascii.Nul;  
1         if Last > To.Maximum_Length then  
1             Last := To.Maximum_Length;  
-----
2         Break_Char := Ascii.Nul;
2         if Last > To.Maximum_Length then
2             Last := To.Maximum_Length;

* Change 50..89
1         while Pos <= Last loop  
1             case Brk (From.Chars (Pos)) is  
1                 when Sa_Transfer =>  
1                     To_Pos            := To_Pos + 1;  
1                     To.Chars (To_Pos) := From.Chars (Pos);  
1                 when Sa_Skip =>  
1                     null;  
1                 when Sa_Transfer_Uc =>  
1                     To_Pos            := To_Pos + 1;  
1                     To.Chars (To_Pos) := Uc_Char (From.Chars (Pos));  
1                 when Sa_Transfer_Lc =>  
1                     To_Pos            := To_Pos + 1;  
1                     To.Chars (To_Pos) := Lc_Char (From.Chars (Pos));  
1                 when Sa_Transfer_Break =>  
1                     To_Pos            := To_Pos + 1;  
1                     To.Chars (To_Pos) := From.Chars (Pos);  
1                     Break_Char        := From.Chars (Pos);  
1                     Pos               := Pos + 1;  
1                     goto Found_Break;  
1                 when Sa_Transfer_Uc_Break =>  
1                     To_Pos            := To_Pos + 1;  
1                     To.Chars (To_Pos) := Uc_Char (From.Chars (Pos));  
1                     Break_Char        := From.Chars (Pos);  
1                     Pos               := Pos + 1;  
1                     goto Found_Break;  
1                 when Sa_Transfer_Lc_Break =>  
1                     To_Pos            := To_Pos + 1;  
1                     To.Chars (To_Pos) := Lc_Char (From.Chars (Pos));  
1                     Break_Char        := From.Chars (Pos);  
1                     Pos               := Pos + 1;  
1                     goto Found_Break;  
1                 when Sa_Skip_Break =>  
1                     Break_Char := From.Chars (Pos);  
1                     Pos        := Pos + 1;  
1                     goto Found_Break;  
1                 when Sa_Retain_Break =>  
1                     Break_Char := From.Chars (Pos);  
1                     goto Found_Break;  
1             end case;  
1             Pos := Pos + 1;  
-----
2         while Pos <= Last loop
2             case Brk (From.Chars (Pos)) is
2                 when Sa_Transfer =>
2                     To_Pos            := To_Pos + 1;
2                     To.Chars (To_Pos) := From.Chars (Pos);
2                 when Sa_Skip =>
2                     null;
2                 when Sa_Transfer_Uc =>
2                     To_Pos            := To_Pos + 1;
2                     To.Chars (To_Pos) := Uc_Char (From.Chars (Pos));
2                 when Sa_Transfer_Lc =>
2                     To_Pos            := To_Pos + 1;
2                     To.Chars (To_Pos) := Lc_Char (From.Chars (Pos));
2                 when Sa_Transfer_Break =>
2                     To_Pos            := To_Pos + 1;
2                     To.Chars (To_Pos) := From.Chars (Pos);
2                     Break_Char        := From.Chars (Pos);
2                     Pos               := Pos + 1;
2                     goto Found_Break;
2                 when Sa_Transfer_Uc_Break =>
2                     To_Pos            := To_Pos + 1;
2                     To.Chars (To_Pos) := Uc_Char (From.Chars (Pos));
2                     Break_Char        := From.Chars (Pos);
2                     Pos               := Pos + 1;
2                     goto Found_Break;
2                 when Sa_Transfer_Lc_Break =>
2                     To_Pos            := To_Pos + 1;
2                     To.Chars (To_Pos) := Lc_Char (From.Chars (Pos));
2                     Break_Char        := From.Chars (Pos);
2                     Pos               := Pos + 1;
2                     goto Found_Break;
2                 when Sa_Skip_Break =>
2                     Break_Char := From.Chars (Pos);
2                     Pos        := Pos + 1;
2                     goto Found_Break;
2                 when Sa_Retain_Break =>
2                     Break_Char := From.Chars (Pos);
2                     goto Found_Break;
2             end case;
2             Pos := Pos + 1;

* Change 95..126
1         Last := From.Length;  
1         while Pos <= Last loop  
1             case Brk (From.Chars (Pos)) is  
1                 when Sa_Transfer =>  
1                     null;  
1                 when Sa_Skip =>  
1                     null;  
1                 when Sa_Transfer_Uc =>  
1                     null;  
1                 when Sa_Transfer_Lc =>  
1                     null;  
1                 when Sa_Transfer_Break =>  
1                     Break_Char := From.Chars (Pos);  
1                     Pos        := Pos + 1;  
1                     exit;  
1                 when Sa_Transfer_Uc_Break =>  
1                     Break_Char := From.Chars (Pos);  
1                     Pos        := Pos + 1;  
1                     exit;  
1                 when Sa_Transfer_Lc_Break =>  
1                     Break_Char := From.Chars (Pos);  
1                     Pos        := Pos + 1;  
1                     exit;  
1                 when Sa_Skip_Break =>  
1                     Break_Char := From.Chars (Pos);  
1                     Pos        := Pos + 1;  
1                     exit;  
1                 when Sa_Retain_Break =>  
1                     Break_Char := From.Chars (Pos);  
1                     exit;  
1             end case;  
1             Pos := Pos + 1;  
-----
2         Last := From.Length;
2         while Pos <= Last loop
2             case Brk (From.Chars (Pos)) is
2                 when Sa_Transfer =>
2                     null;
2                 when Sa_Skip =>
2                     null;
2                 when Sa_Transfer_Uc =>
2                     null;
2                 when Sa_Transfer_Lc =>
2                     null;
2                 when Sa_Transfer_Break =>
2                     Break_Char := From.Chars (Pos);
2                     Pos        := Pos + 1;
2                     exit;
2                 when Sa_Transfer_Uc_Break =>
2                     Break_Char := From.Chars (Pos);
2                     Pos        := Pos + 1;
2                     exit;
2                 when Sa_Transfer_Lc_Break =>
2                     Break_Char := From.Chars (Pos);
2                     Pos        := Pos + 1;
2                     exit;
2                 when Sa_Skip_Break =>
2                     Break_Char := From.Chars (Pos);
2                     Pos        := Pos + 1;
2                     exit;
2                 when Sa_Retain_Break =>
2                     Break_Char := From.Chars (Pos);
2                     exit;
2             end case;
2             Pos := Pos + 1;

* Change 132..135
1         <<Found_Break>> null;  
1         Last                   := From.Length - Pos + 1;  
1         From.Chars (1 .. Last) := From.Chars (Pos .. From.Length);  
1         From.Length            := Last;  
-----
2         <<Found_Break>> null;
2         Last                   := From.Length - Pos + 1;
2         From.Chars (1 .. Last) := From.Chars (Pos .. From.Length);
2         From.Length            := Last;

* Change 141..146
1     procedure Scan (To         : in out Vstring_Data;  
1                     From       : in out Vstring_Data;  
1                     Brk        :        Breakset;  
1                     Break_Char : out    Character) is  
1     begin  
1         Scan_Body (To, 0, From, Brk, Break_Char);  
-----
2     procedure Scan (To         : in out Vstring_Data;
2                     From       : in out Vstring_Data;
2                     Brk        :        Breakset;
2                     Break_Char : out    Character) is
2     begin
2         Scan_Body (To, 0, From, Brk, Break_Char);

* Change 149..154
1     procedure Scan (To         : in out Vstring_Data;  
1                     From       :        Vstring;  
1                     Brk        :        Breakset;  
1                     Break_Char : out    Character) is  
1     begin  
1         Scan_Body (To, 0, From.all, Brk, Break_Char);  
-----
2     procedure Scan (To         : in out Vstring_Data;
2                     From       :        Vstring;
2                     Brk        :        Breakset;
2                     Break_Char : out    Character) is
2     begin
2         Scan_Body (To, 0, From.all, Brk, Break_Char);

* Change 157..162
1     procedure Scan (To         :        Vstring;  
1                     From       : in out Vstring_Data;  
1                     Brk        :        Breakset;  
1                     Break_Char : out    Character) is  
1     begin  
1         Scan_Body (To.all, 0, From, Brk, Break_Char);  
-----
2     procedure Scan (To         :        Vstring;
2                     From       : in out Vstring_Data;
2                     Brk        :        Breakset;
2                     Break_Char : out    Character) is
2     begin
2         Scan_Body (To.all, 0, From, Brk, Break_Char);

* Change 165..170
1     procedure Scan (To         :     Vstring;  
1                     From       :     Vstring;  
1                     Brk        :     Breakset;  
1                     Break_Char : out Character) is  
1     begin  
1         Scan_Body (To.all, 0, From.all, Brk, Break_Char);  
-----
2     procedure Scan (To         :     Vstring;
2                     From       :     Vstring;
2                     Brk        :     Breakset;
2                     Break_Char : out Character) is
2     begin
2         Scan_Body (To.all, 0, From.all, Brk, Break_Char);

* Change 174..179
1     procedure Append_Scan (To         : in out Vstring_Data;  
1                            From       : in out Vstring_Data;  
1                            Brk        :        Breakset;  
1                            Break_Char : out    Character) is  
1     begin  
1         Scan_Body (To, To.Length, From, Brk, Break_Char);  
-----
2     procedure Append_Scan (To         : in out Vstring_Data;
2                            From       : in out Vstring_Data;
2                            Brk        :        Breakset;
2                            Break_Char : out    Character) is
2     begin
2         Scan_Body (To, To.Length, From, Brk, Break_Char);

* Change 182..187
1     procedure Append_Scan (To         : in out Vstring_Data;  
1                            From       :        Vstring;  
1                            Brk        :        Breakset;  
1                            Break_Char : out    Character) is  
1     begin  
1         Scan_Body (To, To.Length, From.all, Brk, Break_Char);  
-----
2     procedure Append_Scan (To         : in out Vstring_Data;
2                            From       :        Vstring;
2                            Brk        :        Breakset;
2                            Break_Char : out    Character) is
2     begin
2         Scan_Body (To, To.Length, From.all, Brk, Break_Char);

* Change 190..195
1     procedure Append_Scan (To         : in out Vstring;  
1                            From       : in out Vstring_Data;  
1                            Brk        :        Breakset;  
1                            Break_Char : out    Character) is  
1     begin  
1         Scan_Body (To.all, To.Length, From, Brk, Break_Char);  
-----
2     procedure Append_Scan (To         : in out Vstring;
2                            From       : in out Vstring_Data;
2                            Brk        :        Breakset;
2                            Break_Char : out    Character) is
2     begin
2         Scan_Body (To.all, To.Length, From, Brk, Break_Char);

* Change 198..203
1     procedure Append_Scan (To         : in out Vstring;  
1                            From       :        Vstring;  
1                            Brk        :        Breakset;  
1                            Break_Char : out    Character) is  
1     begin  
1         Scan_Body (To.all, To.Length, From.all, Brk, Break_Char);  
-----
2     procedure Append_Scan (To         : in out Vstring;
2                            From       :        Vstring;
2                            Brk        :        Breakset;
2                            Break_Char : out    Character) is
2     begin
2         Scan_Body (To.all, To.Length, From.all, Brk, Break_Char);

* Change 209..211
1                           Break_Char : out    Character) is  
1         Pos  : Natural := 1;  
1         Last : Natural := From.Length;  
-----
2                           Break_Char : out    Character) is
2         Pos  : S_Natural := 1;
2         Last : S_Natural := From.Length;

* Change 217..248
1         Break_Char := Ascii.Nul;  
1         while Pos <= Last loop  
1             case Brk (From.Chars (Pos)) is  
1                 when Sa_Transfer =>  
1                     null;  
1                 when Sa_Skip =>  
1                     null;  
1                 when Sa_Transfer_Uc =>  
1                     null;  
1                 when Sa_Transfer_Lc =>  
1                     null;  
1                 when Sa_Transfer_Break =>  
1                     Break_Char := From.Chars (Pos);  
1                     Pos        := Pos + 1;  
1                     exit;  
1                 when Sa_Transfer_Uc_Break =>  
1                     Break_Char := From.Chars (Pos);  
1                     Pos        := Pos + 1;  
1                     exit;  
1                 when Sa_Transfer_Lc_Break =>  
1                     Break_Char := From.Chars (Pos);  
1                     Pos        := Pos + 1;  
1                     exit;  
1                 when Sa_Skip_Break =>  
1                     Break_Char := From.Chars (Pos);  
1                     Pos        := Pos + 1;  
1                     exit;  
1                 when Sa_Retain_Break =>  
1                     Break_Char := From.Chars (Pos);  
1                     exit;  
1             end case;  
1             Pos := Pos + 1;  
-----
2         Break_Char := Ascii.Nul;
2         while Pos <= Last loop
2             case Brk (From.Chars (Pos)) is
2                 when Sa_Transfer =>
2                     null;
2                 when Sa_Skip =>
2                     null;
2                 when Sa_Transfer_Uc =>
2                     null;
2                 when Sa_Transfer_Lc =>
2                     null;
2                 when Sa_Transfer_Break =>
2                     Break_Char := From.Chars (Pos);
2                     Pos        := Pos + 1;
2                     exit;
2                 when Sa_Transfer_Uc_Break =>
2                     Break_Char := From.Chars (Pos);
2                     Pos        := Pos + 1;
2                     exit;
2                 when Sa_Transfer_Lc_Break =>
2                     Break_Char := From.Chars (Pos);
2                     Pos        := Pos + 1;
2                     exit;
2                 when Sa_Skip_Break =>
2                     Break_Char := From.Chars (Pos);
2                     Pos        := Pos + 1;
2                     exit;
2                 when Sa_Retain_Break =>
2                     Break_Char := From.Chars (Pos);
2                     exit;
2             end case;
2             Pos := Pos + 1;

* Change 254
1         From.Length                   := Last - Pos + 1;  
-----
2         From.Length                   := Last - Pos + 1;

* Change 262..264
1                           Break_Char : out Character) is  
1     begin  
1         Trunc_Scan (From.all, Brk, Break_Char);  
-----
2                           Break_Char : out Character) is
2     begin
2         Trunc_Scan (From.all, Brk, Break_Char);

* Change 269..271
1                             Break :        String;  
1                             Omit  :        String;  
1                             Mode  :        String) is
-----
2                             Break :        E_String;  
2                             Omit  :        E_String;  
2                             Mode  :        E_String) is

* Change 285..287
1         Stop_Type     : Scan_Action := Sa_Skip_Break;  
1         Transfer_Type : Scan_Action := Sa_Transfer;  
1         Inclusive     : Boolean     := True;  
-----
2         Stop_Type     : Scan_Action := Sa_Skip_Break;
2         Transfer_Type : Scan_Action := Sa_Transfer;
2         Inclusive     : Boolean     := True;

* Change 295..296
1         for I in Mode'Range loop  
1             case Mode (I) is  
-----
2         for I in Mode'Range loop
2             case Mode (I) is

* Change 298
1                     Inclusive := True;  
-----
2                     Inclusive := True;

* Change 300
1                     Inclusive := False;  
-----
2                     Inclusive := False;

* Change 302..311
1                     case Transfer_Type is  
1                         when Sa_Transfer =>  
1                             Stop_Type := Sa_Transfer_Break;  
1                         when Sa_Transfer_Uc =>  
1                             Stop_Type := Sa_Transfer_Uc_Break;  
1                         when Sa_Transfer_Lc =>  
1                             Stop_Type := Sa_Transfer_Lc_Break;  
1                         when others =>  
1                             null;  
1                     end case;  
-----
2                     case Transfer_Type is
2                         when Sa_Transfer =>
2                             Stop_Type := Sa_Transfer_Break;
2                         when Sa_Transfer_Uc =>
2                             Stop_Type := Sa_Transfer_Uc_Break;
2                         when Sa_Transfer_Lc =>
2                             Stop_Type := Sa_Transfer_Lc_Break;
2                         when others =>
2                             null;
2                     end case;

* Change 313
1                     Stop_Type := Sa_Retain_Break;  
-----
2                     Stop_Type := Sa_Retain_Break;

* Change 315
1                     Stop_Type := Sa_Skip_Break;  
-----
2                     Stop_Type := Sa_Skip_Break;

* Change 317
1                     Transfer_Type := Sa_Transfer_Uc;  
-----
2                     Transfer_Type := Sa_Transfer_Uc;

* Change 319..321
1                        Stop_Type /= Sa_Skip_Break then  
1                         Stop_Type := Sa_Transfer_Uc_Break;  
1                     end if;  
-----
2                        Stop_Type /= Sa_Skip_Break then
2                         Stop_Type := Sa_Transfer_Uc_Break;
2                     end if;

* Change 323
1                     Transfer_Type := Sa_Transfer_Lc;  
-----
2                     Transfer_Type := Sa_Transfer_Lc;

* Change 325..330
1                        Stop_Type /= Sa_Skip_Break then  
1                         Stop_Type := Sa_Transfer_Lc_Break;  
1                     end if;  
1                 when others =>  
1                     raise Program_Error;  
1             end case;  
-----
2                        Stop_Type /= Sa_Skip_Break then
2                         Stop_Type := Sa_Transfer_Lc_Break;
2                     end if;
2                 when others =>
2                     raise Program_Error;
2             end case;

* Change 336..339
1         if Inclusive then  
1             Brk := (others => Transfer_Type);  
1         else  
1             Brk := (others => Stop_Type);  
-----
2         if Inclusive then
2             Brk := (others => Transfer_Type);
2         else
2             Brk := (others => Stop_Type);

* Change 344..345
1         for I in Omit'Range loop  
1             Brk (Omit (I)) := Sa_Skip;  
-----
2         for I in Omit'Range loop
2             Brk (Omit (I)) := Sa_Skip;

* Change 351..358
1         if Inclusive then  
1             for I in Break'Range loop  
1                 Brk (Break (I)) := Stop_Type;  
1             end loop;  
1         else  
1             for I in Break'Range loop  
1                 Brk (Break (I)) := Transfer_Type;  
1             end loop;  
-----
2         if Inclusive then
2             for I in Break'Range loop
2                 Brk (Break (I)) := Stop_Type;
2             end loop;
2         else
2             for I in Break'Range loop
2                 Brk (Break (I)) := Transfer_Type;
2             end loop;

* Delete 362
1 

* Change 364
1 end Vstring_Scan;  
-----
2 --
2 end Vstring_Scan;
16:20:55 ::: [end of File_Utilities.Difference].
16:20:56 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:20:56 ... VSTRING.VSTRING_SCAN'SPEC'V(1)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:20:56 ... UNITS.VSTRING.VSTRING_SCAN'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_SCAN'SPEC
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_SCAN'SPEC
* Change 8
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Change 95..97
1                             Break :        String;  
1                             Omit  :        String;  
1                             Mode  :        String);
-----
2                             Break :        E_String;  
2                             Omit  :        E_String;  
2                             Mode  :        E_String);
16:20:57 ::: [end of File_Utilities.Difference].
16:20:57 !!! Only in !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.
16:20:57 !!! .VSTRING.VSTRING_TYPE'BODY.
16:20:58 ::: [File_Utilities.Difference ("!X11.X_TOOLS.REV5_6_2_WORKING.UNITS.
16:20:58 ... VSTRING.VSTRING_TYPE'SPEC'V(1)", "!X11.X_TOOLS.REV6_0_0_WORKING.
16:20:58 ... UNITS.VSTRING.VSTRING_TYPE'SPEC'V(1)", "", TRUE, FALSE)].
* Object 1: !X11.X_TOOLS.REV5_6_2_WORKING.UNITS.VSTRING.VSTRING_TYPE'SPEC
* Object 2: !X11.X_TOOLS.REV6_0_0_WORKING.UNITS.VSTRING.VSTRING_TYPE'SPEC
* Insert after 0
2 with Arithmetic;
2 use Arithmetic;
2 

* Change 5
1 -- Copyright 1988 - 1990 by Rational, Santa Clara, California.
-----
2 -- Copyright 1988 - 1991 by Rational, Santa Clara, California.

* Insert after 22
2 ------------------------------------------------------------------------------
2 
2     type E_String         is array (S_Positive range <>) of Character;
2     type E_String_Pointer is access E_String;
2 
2     type E_String_Array is array (S_Positive range <>) of E_String_Pointer;
2     type E_String_List  is access E_String_Array;
2 
2     function To_String (Estr : E_String) return String;
2 ------------------------------------------------------------------------------
2 -- Changes the E_String into a normal Ada string.  Truncates the E_String,
2 -- if necessary, in order to create a maximally sized Ada String.  (This is
2 -- in the case where Integer'Size is 16 bits.)

* Change 25
1     type Vstring_Data (Maximum_Length : Natural) is
-----
2     type Vstring_Data (Maximum_Length : S_Natural) is

* Change 28..30
1             Length : Natural := 0;                  -- Current string length
1             Chars  : String (1 .. Maximum_Length) := -- Current string contents
1                (others => Ascii.Nul);
-----
2             Length : S_Natural := 0;                 -- Current string length
2             Chars  : E_String (1 .. Maximum_Length); -- Current string contents

* Insert after 34
2 
2     None_Vstring : constant Vstring := null;
2 
2     type Vstring_Array is array (S_Positive range <>) of Vstring;
2     type Vstring_List  is access Vstring_Array;

* Change 43
1 --  Length is alwasy in the 0..Maximum_Length range.
-----
2 --  Length is always in the 0..Maximum_Length range.
16:20:59 ::: [end of File_Utilities.Difference].
16:20:59 ::: [Diff done.].