System.Data.SQLite
Check-in [6bac273f81]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Update Eagle in externals to the beta 39 release.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 6bac273f81ea1cbcb9bc5db95a2c6f816792b66d
User & Date: mistachkin 2017-01-26 21:56:43
Context
2017-01-27
20:33
In the SQLiteIndex.FreeNative method, zero out pointers to the freed memory blocks. check-in: 72929d612b user: mistachkin tags: trunk
2017-01-26
21:56
Update Eagle in externals to the beta 39 release. check-in: 6bac273f81 user: mistachkin tags: trunk
2017-01-19
18:28
Update SQLite core library to the latest trunk code. check-in: 523636b86d user: mistachkin tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to Externals/Eagle/bin/Eagle.dll.

cannot compute difference between binary files

Changes to Externals/Eagle/bin/EagleShell.exe.

cannot compute difference between binary files

Changes to Externals/Eagle/bin/EagleShell32.exe.

cannot compute difference between binary files

Changes to Externals/Eagle/bin/x64/Spilornis.dll.

cannot compute difference between binary files

Changes to Externals/Eagle/bin/x86/Spilornis.dll.

cannot compute difference between binary files

Changes to Externals/Eagle/lib/Eagle1.0/init.eagle.

177
178
179
180
181
182
183

184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228






















229
230
231
232
233
234
235
        catch {
          object invoke -flags +NonPublic Interpreter.GetActive \
              EndNoArgumentCache savedCacheFlags
        }
      }
    }
 

    #
    # NOTE: This is the [unknown] command for Eagle.  It will normally be
    #       executed by the script engine when a command is not found.
    #       By default, it will simply raise a script error; however, if
    #       the "eagleUnknownObjectInvoke" runtime option is set, it will
    #       first attempt to use the (unknown) command name as the name
    #       of a CLR type.
    #
    # <create>
    proc unknown { name args } {
      #
      # NOTE: This is an [unknown] procedure that normally produces an
      #       appropriate error message; however, it can optionally try
      #       to invoke a static object method.
      #
      # TODO: Add support for auto-loading packages here in the future?
      #
      if {[llength [info commands hasRuntimeOption]] > 0 && \
          [hasRuntimeOption eagleUnknownObjectInvoke] && \
          [llength [info commands object]] > 0 && \
          [llength [info commands unknownObjectInvoke]] > 0} then {
        #
        # NOTE: In the context of the caller, attempt to invoke a static
        #       object method using the specified arguments (which may
        #       contain variable names).
        #
        if {[catch {
          eval unknownObjectInvoke 1 [list $name] $args
        } result] == 0} then {
          #
          # NOTE: The static object method was invoked successfully.
          #       Return its result.
          #
          return -code ok $result
        } elseif {[string length $result] > 0} then {
          #
          # NOTE: Attempting to invoke the static object method raised
          #       an error.  Re-raise it now.  If no error message was
          #       provided, fallback on the default (below).
          #
          return -code error $result
        }
      }

      return -code error [appendArgs "invalid command name \"" $name \"]






















    }
 
    #
    # NOTE: This namespace and the procedure defined within it are used for
    #       compatibility with native Tcl.
    #
    namespace eval ::tcl::tm {







>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
        catch {
          object invoke -flags +NonPublic Interpreter.GetActive \
              EndNoArgumentCache savedCacheFlags
        }
      }
    }
 
    if {![interp issafe]} then {
      #
      # NOTE: This is the [unknown] command for Eagle.  It will normally be
      #       executed by the script engine when a command is not found.
      #       By default, it will simply raise a script error; however, if
      #       the "eagleUnknownObjectInvoke" runtime option is set, it will
      #       first attempt to use the (unknown) command name as the name
      #       of a CLR type.
      #
      # <create>
      proc unknown { name args } {
        #
        # NOTE: This is an [unknown] procedure that normally produces an
        #       appropriate error message; however, it can optionally try
        #       to invoke a static object method.
        #
        # TODO: Add support for auto-loading packages here in the future?
        #
        if {[llength [info commands hasRuntimeOption]] > 0 && \
            [hasRuntimeOption eagleUnknownObjectInvoke] && \
            [llength [info commands object]] > 0 && \
            [llength [info commands unknownObjectInvoke]] > 0} then {
          #
          # NOTE: In the context of the caller, attempt to invoke a static
          #       object method using the specified arguments (which may
          #       contain variable names).
          #
          if {[catch {
            eval unknownObjectInvoke 1 [list $name] $args
          } result] == 0} then {
            #
            # NOTE: The static object method was invoked successfully.
            #       Return its result.
            #
            return -code ok $result
          } elseif {[string length $result] > 0} then {
            #
            # NOTE: Attempting to invoke the static object method raised
            #       an error.  Re-raise it now.  If no error message was
            #       provided, fallback on the default (below).
            #
            return -code error $result
          }
        }

        return -code error [appendArgs "invalid command name \"" $name \"]
      }
    } else {
      #
      # NOTE: This is the [unknown] command for Eagle.  It will normally be
      #       executed by the script engine when a command is not found.
      #       It will simply raise a script error.  This procedure is also
      #       defined in "safe.eagle".
      #
      # <create>
      proc unknown { name args } {
        #
        # NOTE: This is an [unknown] procedure that produces an appropriate
        #       error message.
        #
        # TODO: Add support for auto-loading packages here in the future?
        #
        # NOTE: This command cannot use [appendArgs] because that procedure
        #       is defined in another file that is never loaded into "safe"
        #       interpreters.
        #
        return -code error "invalid command name \"$name\""
      }
    }
 
    #
    # NOTE: This namespace and the procedure defined within it are used for
    #       compatibility with native Tcl.
    #
    namespace eval ::tcl::tm {

Changes to Externals/Eagle/lib/Eagle1.0/object.eagle.

144
145
146
147
148
149
150


151
152
153
154
155
156
157
158
 
  #
  # NOTE: This procedure returns a string obtained by using the specified
  #       value as an opaque object handle -OR- a default value (e.g. an
  #       empty string) if the value is not a valid opaque object handle.
  #
  proc getStringFromObjectHandle { value {default ""} } {


    if {[isObjectHandle $value]} then {
      return [object invoke $value ToString]
    }

    if {[string length $default] > 0} then {
      return $default
    }








>
>
|







144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
 
  #
  # NOTE: This procedure returns a string obtained by using the specified
  #       value as an opaque object handle -OR- a default value (e.g. an
  #       empty string) if the value is not a valid opaque object handle.
  #
  proc getStringFromObjectHandle { value {default ""} } {
    global null

    if {[isObjectHandle $value] && $value ne $null} then {
      return [object invoke $value ToString]
    }

    if {[string length $default] > 0} then {
      return $default
    }

Changes to Externals/Eagle/lib/Eagle1.0/process.eagle.

107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
    #
    # NOTE: If requested, run the garbage collector now.  This may be
    #       necessary to successfully wait for processes that are being
    #       kept alive via runtime callable wrappers for out-of-process
    #       COM servers (e.g. Excel).
    #
    if {$collect} then {
      debug collect true true
    }

    #
    # NOTE: Wait for each process in the list to exit.
    #
    foreach id $ids {
      #







|







107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
    #
    # NOTE: If requested, run the garbage collector now.  This may be
    #       necessary to successfully wait for processes that are being
    #       kept alive via runtime callable wrappers for out-of-process
    #       COM servers (e.g. Excel).
    #
    if {$collect} then {
      debug collect
    }

    #
    # NOTE: Wait for each process in the list to exit.
    #
    foreach id $ids {
      #

Changes to Externals/Eagle/lib/Eagle1.0/safe.eagle.

53
54
55
56
57
58
59




60
61
62
63
64
65
66
    # <create>
    proc unknown { name args } {
      #
      # NOTE: This is an [unknown] procedure that produces an appropriate
      #       error message.
      #
      # TODO: Add support for auto-loading packages here in the future?




      #
      return -code error "invalid command name \"$name\""
    }
 
    #
    # NOTE: This namespace and the procedure defined within it are used for
    #       compatibility with native Tcl.







>
>
>
>







53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
    # <create>
    proc unknown { name args } {
      #
      # NOTE: This is an [unknown] procedure that produces an appropriate
      #       error message.
      #
      # TODO: Add support for auto-loading packages here in the future?
      #
      # NOTE: This command cannot use [appendArgs] because that procedure
      #       is defined in another file that is never loaded into "safe"
      #       interpreters.
      #
      return -code error "invalid command name \"$name\""
    }
 
    #
    # NOTE: This namespace and the procedure defined within it are used for
    #       compatibility with native Tcl.

Changes to Externals/Eagle/lib/Eagle1.0/test.eagle.

164
165
166
167
168
169
170















171
172
173
174
175
176
177
....
3294
3295
3296
3297
3298
3299
3300






3301
3302
3303
3304
3305
3306
3307
....
3723
3724
3725
3726
3727
3728
3729
3730

3731
3732
3733
3734
3735
3736
3737
          lappend result $name
        }
      }
    }

    return $result
  }















 
  proc removeConstraint { name } {
    if {[isEagle]} then {
      if {[info exists ::eagle_tests(Constraints)]} then {
        set index [lsearch -exact $::eagle_tests(Constraints) $name]

        if {$index != -1} then {
................................................................................
          "---- HelpOps cleanup results: " $result \n]

      catch {uplevel 1 [list object invoke -flags +NonPublic \
          Eagle._Components.Private.StringOps ClearPreambleEncodings]} result

      tputs $channel [appendArgs \
          "---- StringOps cleanup results: " $result \n]






    }
 
    proc evalWithTimeout { script {milliseconds 2000} {resultVarName ""} } {
      #
      # NOTE: Verify that the number of milliseconds requested is greater than
      #       zero.
      #
................................................................................

    #
    # NOTE: We need several of our test related commands in the global
    #       namespace as well.
    #
    exportAndImportPackageCommands [namespace current] [list \
        tputs ttclLog tlog getSoftwareRegistryKey haveConstraint \
        addConstraint haveOrAddConstraint getConstraints removeConstraint \

        fixConstraints fixTimingConstraints calculateBogoCops \
        calculateRelativePerformance formatTimeStamp formatElapsedTime \
        sourceIfValid processTestArguments getTclShellFileName \
        getTemporaryPath getFiles getTestFiles getTestRunId getTestLogId \
        getDefaultTestLog getTestLog getLastTestLog getTestSuite \
        getTestMachine getTestPlatform getTestConfiguration getTestSuffix \
        getTestUncountedLeaks getTestAssemblyName canTestExec testExec \







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>
>
>
>
>







 







|
>







164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
....
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
....
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
          lappend result $name
        }
      }
    }

    return $result
  }
 
  proc getCachedConstraints {} {
    if {[info exists ::test_constraints] && \
        [llength $::test_constraints] > 0} then {
      return $::test_constraints
    }

    return [getConstraints]
  }
 
  proc useCachedConstraints {} {
    foreach name [getCachedConstraints] {
      addConstraint $name
    }
  }
 
  proc removeConstraint { name } {
    if {[isEagle]} then {
      if {[info exists ::eagle_tests(Constraints)]} then {
        set index [lsearch -exact $::eagle_tests(Constraints) $name]

        if {$index != -1} then {
................................................................................
          "---- HelpOps cleanup results: " $result \n]

      catch {uplevel 1 [list object invoke -flags +NonPublic \
          Eagle._Components.Private.StringOps ClearPreambleEncodings]} result

      tputs $channel [appendArgs \
          "---- StringOps cleanup results: " $result \n]

      catch {uplevel 1 [list object invoke -flags +NonPublic \
          Eagle._Comparers.FileName ClearCache]} result

      tputs $channel [appendArgs \
          "---- Comparers.FileName cleanup results: " $result \n]
    }
 
    proc evalWithTimeout { script {milliseconds 2000} {resultVarName ""} } {
      #
      # NOTE: Verify that the number of milliseconds requested is greater than
      #       zero.
      #
................................................................................

    #
    # NOTE: We need several of our test related commands in the global
    #       namespace as well.
    #
    exportAndImportPackageCommands [namespace current] [list \
        tputs ttclLog tlog getSoftwareRegistryKey haveConstraint \
        addConstraint haveOrAddConstraint getConstraints \
        getCachedConstraints useCachedConstraints removeConstraint \
        fixConstraints fixTimingConstraints calculateBogoCops \
        calculateRelativePerformance formatTimeStamp formatElapsedTime \
        sourceIfValid processTestArguments getTclShellFileName \
        getTemporaryPath getFiles getTestFiles getTestRunId getTestLogId \
        getDefaultTestLog getTestLog getLastTestLog getTestSuite \
        getTestMachine getTestPlatform getTestConfiguration getTestSuffix \
        getTestUncountedLeaks getTestAssemblyName canTestExec testExec \

Changes to Externals/Eagle/lib/Test1.0/constraints.eagle.

74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
    #       the Mono runtime is released.
    #
    if {$force || ![info exists ::no(monoVersions)]} then {
      return [list \
          [list 2 0] [list 2 2] [list 2 4] [list 2 6] [list 2 8] [list 2 10] \
          [list 2 11] [list 3 0] [list 3 1] [list 3 2] [list 3 4] [list 3 6] \
          [list 3 8] [list 3 10] [list 3 12] [list 4 0] [list 4 2] [list 4 4] \
          [list 4 6]]
    } else {
      return [list]
    }
  }
 
  proc addKnownMonoConstraints { generic } {
    #







|







74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
    #       the Mono runtime is released.
    #
    if {$force || ![info exists ::no(monoVersions)]} then {
      return [list \
          [list 2 0] [list 2 2] [list 2 4] [list 2 6] [list 2 8] [list 2 10] \
          [list 2 11] [list 3 0] [list 3 1] [list 3 2] [list 3 4] [list 3 6] \
          [list 3 8] [list 3 10] [list 3 12] [list 4 0] [list 4 2] [list 4 4] \
          [list 4 6] [list 4 8] [list 5 0]]
    } else {
      return [list]
    }
  }
 
  proc addKnownMonoConstraints { generic } {
    #

Changes to Externals/Eagle/lib/Test1.0/prologue.eagle.

215
216
217
218
219
220
221

222
223
224
225
226
227
228

229
230
231
232
233
234
235
236

237
238
239
240
241
242
243
244
....
2221
2222
2223
2224
2225
2226
2227






2228
2229
2230
2231
2232
2233
2234
....
3369
3370
3371
3372
3373
3374
3375


3376
3377
3378
3379
3380
3381
3382
....
3468
3469
3470
3471
3472
3473
3474









3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
....
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551



3552
3553
3554
3555
3556
3557
3558
  if {![info exists test_package_path]} then {
    set test_package_path [file join $base_path lib]
  }

  #
  # NOTE: Make sure our primary package path is part of the auto-path.
  #

  if {[lsearch -exact $auto_path $test_package_path] == -1} then {
    lappend auto_path $test_package_path
  }

  #
  # NOTE: Make sure the test suite package is part of the auto-path.
  #

  if {[lsearch -exact $auto_path $test_all_path] == -1} then {
    lappend auto_path $test_all_path
  }

  #
  # NOTE: Make sure the test suite is part of the auto-path.  This is
  #       now done for legacy compatibility only.
  #

  if {[lsearch -exact $auto_path $test_path] == -1} then {
    lappend auto_path $test_path
  }

  #############################################################################

  #
  # NOTE: Check for and load the Eagle library package, if necessary.
................................................................................

        #
        # NOTE: For tests "object-3.12" and "object-3.13".
        #
        checkForObjectMember $test_channel Eagle._Tests.Default \
            *TestStringIDictionaryReturnValue*







        #
        # NOTE: For test "object-4.1".
        #
        checkForObjectMember $test_channel Eagle._Tests.Default \
            *TestExpr*

        #
................................................................................
  # NOTE: Check for network connectivity to our test host (i.e.
  #       the Eagle distribution site).
  #
  if {![info exists no(core)] && ![info exists no(network)]} then {
    checkForNetwork $test_channel $test_host $test_timeout
  }



  #
  # NOTE: Figure out the approximate relative performance of this machine.
  #
  if {![info exists no(bogoCops)] && [haveConstraint performance]} then {
    tputs $test_channel \
        "---- checking for baseline BogoCops (commands-per-second)... "

................................................................................
        "---- current BogoCops (commands-per-second) is " [formatDecimal \
        [expr {$percent > 100 ? $percent - 100 : $percent}] 2] "% " \
        [expr {$percent > 100 ? "faster than" : "as fast as"}] \
        " the baseline\n"]

    unset percent
  }










  #############################################################################
  ######################## END Eagle & Tcl Constraints ########################
  #############################################################################

  #
  # NOTE: For Eagle, dump the platform information, including
  #       the compile options.
  #
  if {[isEagle]} then {
    set timeStamp [getPlatformInfo timeStamp ""]

    if {[string length $timeStamp] > 0} then {
      #########################################################################
      # MONO: Bug, see: https://bugzilla.novell.com/show_bug.cgi?id=479061
................................................................................
  # NOTE: Show the current test file name, if any.
  #
  tputs $test_channel [appendArgs "---- test file: " \
      [expr {[info exists test_file] && [string length $test_file] > 0 ? \
      $test_file : "<none>"}] \n]

  #
  # NOTE: Show the active test constraints.
  #
  tputs $test_channel [appendArgs "---- constraints: " \
      [formatList [lsort [getConstraints]] <none>] \n]




  #
  # NOTE: Show the starting command count (for both Tcl and Eagle).
  #
  tputs $test_channel [appendArgs "---- starting command count: " \
      [info cmdcount] \n]








>
|






>
|







>
|







 







>
>
>
>
>
>







 







>
>







 







>
>
>
>
>
>
>
>
>






|
|







 







|

|

>
>
>







215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
....
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
....
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
....
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
....
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
  if {![info exists test_package_path]} then {
    set test_package_path [file join $base_path lib]
  }

  #
  # NOTE: Make sure our primary package path is part of the auto-path.
  #
  if {[info exists auto_path] && \
      [lsearch -exact $auto_path $test_package_path] == -1} then {
    lappend auto_path $test_package_path
  }

  #
  # NOTE: Make sure the test suite package is part of the auto-path.
  #
  if {[info exists auto_path] && \
      [lsearch -exact $auto_path $test_all_path] == -1} then {
    lappend auto_path $test_all_path
  }

  #
  # NOTE: Make sure the test suite is part of the auto-path.  This is
  #       now done for legacy compatibility only.
  #
  if {[info exists auto_path] && \
      [lsearch -exact $auto_path $test_path] == -1} then {
    lappend auto_path $test_path
  }

  #############################################################################

  #
  # NOTE: Check for and load the Eagle library package, if necessary.
................................................................................

        #
        # NOTE: For tests "object-3.12" and "object-3.13".
        #
        checkForObjectMember $test_channel Eagle._Tests.Default \
            *TestStringIDictionaryReturnValue*

        #
        # NOTE: For tests "object-3.14" and "object-3.15".
        #
        checkForObjectMember $test_channel Eagle._Tests.Default \
            *TestReturnOfSelf*

        #
        # NOTE: For test "object-4.1".
        #
        checkForObjectMember $test_channel Eagle._Tests.Default \
            *TestExpr*

        #
................................................................................
  # NOTE: Check for network connectivity to our test host (i.e.
  #       the Eagle distribution site).
  #
  if {![info exists no(core)] && ![info exists no(network)]} then {
    checkForNetwork $test_channel $test_host $test_timeout
  }

  #############################################################################

  #
  # NOTE: Figure out the approximate relative performance of this machine.
  #
  if {![info exists no(bogoCops)] && [haveConstraint performance]} then {
    tputs $test_channel \
        "---- checking for baseline BogoCops (commands-per-second)... "

................................................................................
        "---- current BogoCops (commands-per-second) is " [formatDecimal \
        [expr {$percent > 100 ? $percent - 100 : $percent}] 2] "% " \
        [expr {$percent > 100 ? "faster than" : "as fast as"}] \
        " the baseline\n"]

    unset percent
  }

  #############################################################################

  #
  # NOTE: The test constraints should now be fully built, cache them.
  #
  if {![info exists test_constraints]} then {
    set test_constraints [getConstraints]
  }

  #############################################################################
  ######################## END Eagle & Tcl Constraints ########################
  #############################################################################

  #
  # NOTE: For Eagle, dump the platform information, including the compile
  #       options.
  #
  if {[isEagle]} then {
    set timeStamp [getPlatformInfo timeStamp ""]

    if {[string length $timeStamp] > 0} then {
      #########################################################################
      # MONO: Bug, see: https://bugzilla.novell.com/show_bug.cgi?id=479061
................................................................................
  # NOTE: Show the current test file name, if any.
  #
  tputs $test_channel [appendArgs "---- test file: " \
      [expr {[info exists test_file] && [string length $test_file] > 0 ? \
      $test_file : "<none>"}] \n]

  #
  # NOTE: Show the active and cached test constraints.
  #
  tputs $test_channel [appendArgs "---- active constraints: " \
      [formatList [lsort [getConstraints]] <none>] \n]

  tputs $test_channel [appendArgs "---- cached constraints: " \
      [formatList [lsort [getCachedConstraints]] <none>] \n]

  #
  # NOTE: Show the starting command count (for both Tcl and Eagle).
  #
  tputs $test_channel [appendArgs "---- starting command count: " \
      [info cmdcount] \n]