Last-Modified: Fri, 07 Mar 2025 06:07:08 GMT
Expires: Mon, 05 Mar 2035 06:07:08 GMT

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
<head>
<title>tcl.git - Tcl is a high-level, general-purpose, interpreted, dynamic programming language. It was designed with the goal of being very simple but powerful.</title>
<meta name='generator' content='cgit v0.12'/>
<meta name='robots' content='index, nofollow'/>
<link rel='stylesheet' type='text/css' href='/cgit-data/cgit-techsat.css'/>
<link rel='shortcut icon' href='/favicon.ico'/>
<link rel='alternate' title='Atom feed' href='http://service.techsat.com/oss-git/tcl.git/atom/tests/pkg.test?h=sebres_trunk_timerate' type='application/atom+xml'/>
</head>
<body>
<div id='cgit'><table id='header'>
<tr>
<td class='logo' rowspan='2'><a href='/oss-git/'><img src='/cgit-data/cgit.png' alt='cgit logo'/></a></td>
<td class='main'><a href='/oss-git/'>index</a> : <a title='tcl.git' href='/oss-git/tcl.git/'>tcl.git</a></td><td class='form'><form method='get' action=''>
<input type='hidden' name='id' value='eaba13bb7910dc41da26122b827bbee773468360'/><select name='h' onchange='this.form.submit();'>
<option value='8_5_with_8_6_regexp'>8_5_with_8_6_regexp</option>
<option value='Coverity_CID_1251203'>Coverity_CID_1251203</option>
<option value='ISC_peephole'>ISC_peephole</option>
<option value='activestate_nre_excised_variant_1_roll_forward'>activestate_nre_excised_variant_1_roll_forward</option>
<option value='activestate_nre_excised_variant_2_subtracted'>activestate_nre_excised_variant_2_subtracted</option>
<option value='adjust_fix'>adjust_fix</option>
<option value='ajuba_ajuba2_2_0_synthetic'>ajuba_ajuba2_2_0_synthetic</option>
<option value='ajuba_ajuba2_2_1_base_synthetic'>ajuba_ajuba2_2_1_base_synthetic</option>
<option value='aku_mem_debug_allow_regular'>aku_mem_debug_allow_regular</option>
<option value='aku_review'>aku_review</option>
<option value='aku_tip_280_cl_perf_trial'>aku_tip_280_cl_perf_trial</option>
<option value='aku_tkt_6141c15186'>aku_tkt_6141c15186</option>
<option value='amg_array_enum_c_api'>amg_array_enum_c_api</option>
<option value='amg_string_insert'>amg_string_insert</option>
<option value='androwish'>androwish</option>
<option value='apn_hash_opt'>apn_hash_opt</option>
<option value='array_search_unset'>array_search_unset</option>
<option value='aspect_async_pipe'>aspect_async_pipe</option>
<option value='aspect_bug_391bc0fd2c'>aspect_bug_391bc0fd2c</option>
<option value='aspect_lreplace_cleanup'>aspect_lreplace_cleanup</option>
<option value='aspect_lreplace_fix'>aspect_lreplace_fix</option>
<option value='aspect_lreplace_refix'>aspect_lreplace_refix</option>
<option value='aspect_shimmer_singleton_lists'>aspect_shimmer_singleton_lists</option>
<option value='aspect_string_match'>aspect_string_match</option>
<option value='aspect_tip288'>aspect_tip288</option>
<option value='avl_strcat_fix'>avl_strcat_fix</option>
<option value='avl_tip_282'>avl_tip_282</option>
<option value='backout_memaccounting'>backout_memaccounting</option>
<option value='bch_coverity'>bch_coverity</option>
<option value='better_deprecation'>better_deprecation</option>
<option value='better_deprecation_85'>better_deprecation_85</option>
<option value='bg_tip_282'>bg_tip_282</option>
<option value='bsg_0d_radix_prefix'>bsg_0d_radix_prefix</option>
<option value='bug3036566'>bug3036566</option>
<option value='bug_010f4162ef'>bug_010f4162ef</option>
<option value='bug_0520d17284'>bug_0520d17284</option>
<option value='bug_05489ce335'>bug_05489ce335</option>
<option value='bug_0b874c344d'>bug_0b874c344d</option>
<option value='bug_0b874c344d_ak_info_frame_coro'>bug_0b874c344d_ak_info_frame_coro</option>
<option value='bug_0b8c387cf7'>bug_0b8c387cf7</option>
<option value='bug_0c043a175'>bug_0c043a175</option>
<option value='bug_0e4d88b650'>bug_0e4d88b650</option>
<option value='bug_0f42ff7871'>bug_0f42ff7871</option>
<option value='bug_1189293'>bug_1189293</option>
<option value='bug_1224888'>bug_1224888</option>
<option value='bug_12b0997ce7'>bug_12b0997ce7</option>
<option value='bug_13d3af3ad5'>bug_13d3af3ad5</option>
<option value='bug_13d3af3ad5_fork'>bug_13d3af3ad5_fork</option>
<option value='bug_1493a43044'>bug_1493a43044</option>
<option value='bug_1536227'>bug_1536227</option>
<option value='bug_16828b3744'>bug_16828b3744</option>
<option value='bug_1712098'>bug_1712098</option>
<option value='bug_1758a0b603'>bug_1758a0b603</option>
<option value='bug_1a25fdfec6'>bug_1a25fdfec6</option>
<option value='bug_1b0266d8bb'>bug_1b0266d8bb</option>
<option value='bug_2152292'>bug_2152292</option>
<option value='bug_219866c1e9'>bug_219866c1e9</option>
<option value='bug_2413550'>bug_2413550</option>
<option value='bug_2502002'>bug_2502002</option>
<option value='bug_25842c161f'>bug_25842c161f</option>
<option value='bug_272e866f1e'>bug_272e866f1e</option>
<option value='bug_2902268'>bug_2902268</option>
<option value='bug_2911139'>bug_2911139</option>
<option value='bug_2992970'>bug_2992970</option>
<option value='bug_2a94652ee1'>bug_2a94652ee1</option>
<option value='bug_2f7cbd01c3'>bug_2f7cbd01c3</option>
<option value='bug_2f9df4c4fa'>bug_2f9df4c4fa</option>
<option value='bug_3024359'>bug_3024359</option>
<option value='bug_3033307'>bug_3033307</option>
<option value='bug_3092089'>bug_3092089</option>
<option value='bug_3154ea2759'>bug_3154ea2759</option>
<option value='bug_31661d2135'>bug_31661d2135</option>
<option value='bug_3173086'>bug_3173086</option>
<option value='bug_3185407'>bug_3185407</option>
<option value='bug_3202171'>bug_3202171</option>
<option value='bug_3216070'>bug_3216070</option>
<option value='bug_3288345'>bug_3288345</option>
<option value='bug_3293874'>bug_3293874</option>
<option value='bug_32ae34e63a'>bug_32ae34e63a</option>
<option value='bug_3362446'>bug_3362446</option>
<option value='bug_336441ed59'>bug_336441ed59</option>
<option value='bug_3365156'>bug_3365156</option>
<option value='bug_3389764'>bug_3389764</option>
<option value='bug_3392070'>bug_3392070</option>
<option value='bug_3397515'>bug_3397515</option>
<option value='bug_3401704'>bug_3401704</option>
<option value='bug_3413857'>bug_3413857</option>
<option value='bug_3414754'>bug_3414754</option>
<option value='bug_3418547'>bug_3418547</option>
<option value='bug_3466099'>bug_3466099</option>
<option value='bug_3475569'>bug_3475569</option>
<option value='bug_3480599'>bug_3480599</option>
<option value='bug_3484402'>bug_3484402</option>
<option value='bug_3485833'>bug_3485833</option>
<option value='bug_3493120'>bug_3493120</option>
<option value='bug_3496014'>bug_3496014</option>
<option value='bug_3508771'>bug_3508771</option>
<option value='bug_3511806'>bug_3511806</option>
<option value='bug_3514475'>bug_3514475</option>
<option value='bug_3519357'>bug_3519357</option>
<option value='bug_3522560'>bug_3522560</option>
<option value='bug_3525762'>bug_3525762</option>
<option value='bug_3525907'>bug_3525907</option>
<option value='bug_3530536'>bug_3530536</option>
<option value='bug_3532959'>bug_3532959</option>
<option value='bug_3536888'>bug_3536888</option>
<option value='bug_3544685'>bug_3544685</option>
<option value='bug_3545363'>bug_3545363</option>
<option value='bug_3555001'>bug_3555001</option>
<option value='bug_3562640'>bug_3562640</option>
<option value='bug_3562640_alt'>bug_3562640_alt</option>
<option value='bug_3564735'>bug_3564735</option>
<option value='bug_3566106'>bug_3566106</option>
<option value='bug_3567063'>bug_3567063</option>
<option value='bug_3588687'>bug_3588687</option>
<option value='bug_3592747'>bug_3592747</option>
<option value='bug_3598300'>bug_3598300</option>
<option value='bug_3598580'>bug_3598580</option>
<option value='bug_3599789'>bug_3599789</option>
<option value='bug_3600057'>bug_3600057</option>
<option value='bug_3600057_85'>bug_3600057_85</option>
<option value='bug_3600058_td'>bug_3600058_td</option>
<option value='bug_3600328'>bug_3600328</option>
<option value='bug_3601260'>bug_3601260</option>
<option value='bug_3602706'>bug_3602706</option>
<option value='bug_3603434'>bug_3603434</option>
<option value='bug_3603553'>bug_3603553</option>
<option value='bug_3603695'>bug_3603695</option>
<option value='bug_3604074'>bug_3604074</option>
<option value='bug_3604576'>bug_3604576</option>
<option value='bug_3605401'>bug_3605401</option>
<option value='bug_3605447'>bug_3605447</option>
<option value='bug_3606121'>bug_3606121</option>
<option value='bug_3606683'>bug_3606683</option>
<option value='bug_3606683_84'>bug_3606683_84</option>
<option value='bug_3606683_85'>bug_3606683_85</option>
<option value='bug_3607246'>bug_3607246</option>
<option value='bug_3607372'>bug_3607372</option>
<option value='bug_3608360'>bug_3608360</option>
<option value='bug_3608714'>bug_3608714</option>
<option value='bug_3609693'>bug_3609693</option>
<option value='bug_3610026'>bug_3610026</option>
<option value='bug_3610383'>bug_3610383</option>
<option value='bug_3610404'>bug_3610404</option>
<option value='bug_3611974'>bug_3611974</option>
<option value='bug_3613609'>bug_3613609</option>
<option value='bug_3613671'>bug_3613671</option>
<option value='bug_3614342'>bug_3614342</option>
<option value='bug_39f6304c2e'>bug_39f6304c2e</option>
<option value='bug_46f801ea5a'>bug_46f801ea5a</option>
<option value='bug_473946'>bug_473946</option>
<option value='bug_47d66253c9'>bug_47d66253c9</option>
<option value='bug_4a0c163d24'>bug_4a0c163d24</option>
<option value='bug_4b61afd660'>bug_4b61afd660</option>
<option value='bug_4dbdd9af14'>bug_4dbdd9af14</option>
<option value='bug_50750c735a'>bug_50750c735a</option>
<option value='bug_510001'>bug_510001</option>
<option value='bug_547989'>bug_547989</option>
<option value='bug_57945b574a'>bug_57945b574a</option>
<option value='bug_57945b574a_without_stub'>bug_57945b574a_without_stub</option>
<option value='bug_581937ab1e'>bug_581937ab1e</option>
<option value='bug_58b96f6744'>bug_58b96f6744</option>
<option value='bug_593baa032c'>bug_593baa032c</option>
<option value='bug_5adc350683'>bug_5adc350683</option>
<option value='bug_5adc350683_86'>bug_5adc350683_86</option>
<option value='bug_5d170b5ca5'>bug_5d170b5ca5</option>
<option value='bug_5f71353740'>bug_5f71353740</option>
<option value='bug_67aa9a2070'>bug_67aa9a2070</option>
<option value='bug_6ca52aec14'>bug_6ca52aec14</option>
<option value='bug_716b427f76'>bug_716b427f76</option>
<option value='bug_734138ded8'>bug_734138ded8</option>
<option value='bug_75b8433707'>bug_75b8433707</option>
<option value='bug_7a87a9bc5b'>bug_7a87a9bc5b</option>
<option value='bug_7f02ff1efa'>bug_7f02ff1efa</option>
<option value='bug_80304238ac'>bug_80304238ac</option>
<option value='bug_85ce4bf928'>bug_85ce4bf928</option>
<option value='bug_86ceb4e2b6'>bug_86ceb4e2b6</option>
<option value='bug_879a0747be'>bug_879a0747be</option>
<option value='bug_894da183c8'>bug_894da183c8</option>
<option value='bug_8bd13f07bd'>bug_8bd13f07bd</option>
<option value='bug_900cb0284bc'>bug_900cb0284bc</option>
<option value='bug_96c3f3b47d1'>bug_96c3f3b47d1</option>
<option value='bug_97069ea11a'>bug_97069ea11a</option>
<option value='bug_9b47029467631832'>bug_9b47029467631832</option>
<option value='bug_a3309d01db'>bug_a3309d01db</option>
<option value='bug_adb198c256'>bug_adb198c256</option>
<option value='bug_af08e89777'>bug_af08e89777</option>
<option value='bug_b26e38a3e4'>bug_b26e38a3e4</option>
<option value='bug_b5ced5865b'>bug_b5ced5865b</option>
<option value='bug_b87ad7e914'>bug_b87ad7e914</option>
<option value='bug_b9b2079e6d'>bug_b9b2079e6d</option>
<option value='bug_ba44e415a0'>bug_ba44e415a0</option>
<option value='bug_bbc304f61a'>bug_bbc304f61a</option>
<option value='bug_bc1a96407a'>bug_bc1a96407a</option>
<option value='bug_bd7f17bce8'>bug_bd7f17bce8</option>
<option value='bug_bdd91c7e43'>bug_bdd91c7e43</option>
<option value='bug_c4e230f29b'>bug_c4e230f29b</option>
<option value='bug_c7d0bc9a549714e0'>bug_c7d0bc9a549714e0</option>
<option value='bug_d2ffcca163'>bug_d2ffcca163</option>
<option value='bug_d3071887dbc7aeac'>bug_d3071887dbc7aeac</option>
<option value='bug_d4e464ae48'>bug_d4e464ae48</option>
<option value='bug_d4e7780ca1'>bug_d4e7780ca1</option>
<option value='bug_d5ddbc7f49'>bug_d5ddbc7f49</option>
<option value='bug_db0a5f6417'>bug_db0a5f6417</option>
<option value='bug_dcc03414f5'>bug_dcc03414f5</option>
<option value='bug_dfc08326e3'>bug_dfc08326e3</option>
<option value='bug_e0a7b3e5f8'>bug_e0a7b3e5f8</option>
<option value='bug_e21fc32c2aa'>bug_e21fc32c2aa</option>
<option value='bug_e711ffb458'>bug_e711ffb458</option>
<option value='bug_f1253530cd'>bug_f1253530cd</option>
<option value='bug_f1253530cd_alt'>bug_f1253530cd_alt</option>
<option value='bug_f4f44174e'>bug_f4f44174e</option>
<option value='bug_f97d4ee020'>bug_f97d4ee020</option>
<option value='bug_f9fe90d0fa'>bug_f9fe90d0fa</option>
<option value='bug_io_32_11'>bug_io_32_11</option>
<option value='bug_itcl_1b2865'>bug_itcl_1b2865</option>
<option value='bug_unknown_no_errorcode'>bug_unknown_no_errorcode</option>
<option value='bugfix_832a1994c7_for_precompiled_bc'>bugfix_832a1994c7_for_precompiled_bc</option>
<option value='cjo_hydra'>cjo_hydra</option>
<option value='compile_ensemble'>compile_ensemble</option>
<option value='contrib_patrick_fradin_code_cleanup'>contrib_patrick_fradin_code_cleanup</option>
<option value='core_8_0_2_synthetic'>core_8_0_2_synthetic</option>
<option value='core_8_0_3_pr'>core_8_0_3_pr</option>
<option value='core_8_0_4_synthetic'>core_8_0_4_synthetic</option>
<option value='core_8_0_5_base_synthetic'>core_8_0_5_base_synthetic</option>
<option value='core_8_0_5_branch'>core_8_0_5_branch</option>
<option value='core_8_0_5_synthetic'>core_8_0_5_synthetic</option>
<option value='core_8_0_6_branch'>core_8_0_6_branch</option>
<option value='core_8_1_0_synthetic'>core_8_1_0_synthetic</option>
<option value='core_8_1_b1_synthetic'>core_8_1_b1_synthetic</option>
<option value='core_8_1_b2_synthetic'>core_8_1_b2_synthetic</option>
<option value='core_8_1_b3_synthetic'>core_8_1_b3_synthetic</option>
<option value='core_8_1_branch_old'>core_8_1_branch_old</option>
<option value='core_8_2_1_branch'>core_8_2_1_branch</option>
<option value='core_8_2_b1_synthetic'>core_8_2_b1_synthetic</option>
<option value='core_8_2_b3_branch'>core_8_2_b3_branch</option>
<option value='core_8_3_1_branch'>core_8_3_1_branch</option>
<option value='core_8_3_1_io_rewrite'>core_8_3_1_io_rewrite</option>
<option value='core_8_3_1_synthetic'>core_8_3_1_synthetic</option>
<option value='core_8_4_20_rc'>core_8_4_20_rc</option>
<option value='core_8_4_a2_synthetic'>core_8_4_a2_synthetic</option>
<option value='core_8_4_branch'>core_8_4_branch</option>
<option value='core_8_5_10_rc'>core_8_5_10_rc</option>
<option value='core_8_5_11_rc'>core_8_5_11_rc</option>
<option value='core_8_5_12_rc'>core_8_5_12_rc</option>
<option value='core_8_5_13_rc'>core_8_5_13_rc</option>
<option value='core_8_5_14rc'>core_8_5_14rc</option>
<option value='core_8_5_15_rc'>core_8_5_15_rc</option>
<option value='core_8_5_16_rc'>core_8_5_16_rc</option>
<option value='core_8_5_17_rc'>core_8_5_17_rc</option>
<option value='core_8_5_18_rc'>core_8_5_18_rc</option>
<option value='core_8_5_19_rc'>core_8_5_19_rc</option>
<option value='core_8_5_a5_synthetic'>core_8_5_a5_synthetic</option>
<option value='core_8_5_branch'>core_8_5_branch</option>
<option value='core_8_5_branch_fix_1997007'>core_8_5_branch_fix_1997007</option>
<option value='core_8_6_0_rc'>core_8_6_0_rc</option>
<option value='core_8_6_1_rc'>core_8_6_1_rc</option>
<option value='core_8_6_2_rc'>core_8_6_2_rc</option>
<option value='core_8_6_3_rc'>core_8_6_3_rc</option>
<option value='core_8_6_4_rc'>core_8_6_4_rc</option>
<option value='core_8_6_5_rc'>core_8_6_5_rc</option>
<option value='core_8_6_6_rc'>core_8_6_6_rc</option>
<option value='core_8_6_7_rc'>core_8_6_7_rc</option>
<option value='core_8_6_b2_rc'>core_8_6_b2_rc</option>
<option value='core_8_6_b3_rc'>core_8_6_b3_rc</option>
<option value='core_8_6_branch'>core_8_6_branch</option>
<option value='core_8_6_branch_fork'>core_8_6_branch_fork</option>
<option value='core_8_7_a1_rc'>core_8_7_a1_rc</option>
<option value='core_stabilizer_branch'>core_stabilizer_branch</option>
<option value='core_stabilizer_merge_synthetic'>core_stabilizer_merge_synthetic</option>
<option value='core_zip_vfs'>core_zip_vfs</option>
<option value='core_zip_vfs_c_encoder'>core_zip_vfs_c_encoder</option>
<option value='core_zip_vfs_static'>core_zip_vfs_static</option>
<option value='cpuid_on_unix'>cpuid_on_unix</option>
<option value='cygwin_environment_changes'>cygwin_environment_changes</option>
<option value='dah_proc_arg_upvar'>dah_proc_arg_upvar</option>
<option value='damkerngt_file_utime'>damkerngt_file_utime</option>
<option value='daves_chop_branch'>daves_chop_branch</option>
<option value='daves_mk_branch'>daves_mk_branch</option>
<option value='dev_8_1_stubs_branch'>dev_8_1_stubs_branch</option>
<option value='dev_hobbs_branch'>dev_hobbs_branch</option>
<option value='dev_stubs_branch'>dev_stubs_branch</option>
<option value='dgp_3401704'>dgp_3401704</option>
<option value='dgp_async_socket'>dgp_async_socket</option>
<option value='dgp_bug_find'>dgp_bug_find</option>
<option value='dgp_bye_ctx_eval_flag'>dgp_bye_ctx_eval_flag</option>
<option value='dgp_bye_location_eval_list'>dgp_bye_location_eval_list</option>
<option value='dgp_channel_flag_repair'>dgp_channel_flag_repair</option>
<option value='dgp_cmd_epoch'>dgp_cmd_epoch</option>
<option value='dgp_compile_list_shimmer'>dgp_compile_list_shimmer</option>
<option value='dgp_defer_string_rep'>dgp_defer_string_rep</option>
<option value='dgp_demo'>dgp_demo</option>
<option value='dgp_dup_encoding_fix'>dgp_dup_encoding_fix</option>
<option value='dgp_ecr'>dgp_ecr</option>
<option value='dgp_encoding_flags'>dgp_encoding_flags</option>
<option value='dgp_ensemble_rewrite'>dgp_ensemble_rewrite</option>
<option value='dgp_eof'>dgp_eof</option>
<option value='dgp_experiment'>dgp_experiment</option>
<option value='dgp_flush_channel'>dgp_flush_channel</option>
<option value='dgp_hoehrmann_decoder'>dgp_hoehrmann_decoder</option>
<option value='dgp_init_bytecode'>dgp_init_bytecode</option>
<option value='dgp_list_simplify'>dgp_list_simplify</option>
<option value='dgp_literal_reform'>dgp_literal_reform</option>
<option value='dgp_may_be_pointless'>dgp_may_be_pointless</option>
<option value='dgp_move_buffers'>dgp_move_buffers</option>
<option value='dgp_no_buffer_recycle'>dgp_no_buffer_recycle</option>
<option value='dgp_optimize_output_stage'>dgp_optimize_output_stage</option>
<option value='dgp_pkg_migration'>dgp_pkg_migration</option>
<option value='dgp_properbytearray'>dgp_properbytearray</option>
<option value='dgp_purge_NRRunObjProc'>dgp_purge_NRRunObjProc</option>
<option value='dgp_read_bytes'>dgp_read_bytes</option>
<option value='dgp_read_bytes_detour'>dgp_read_bytes_detour</option>
<option value='dgp_read_chars'>dgp_read_chars</option>
<option value='dgp_refactor'>dgp_refactor</option>
<option value='dgp_refactor_merge_synthetic'>dgp_refactor_merge_synthetic</option>
<option value='dgp_remove_string_result'>dgp_remove_string_result</option>
<option value='dgp_review'>dgp_review</option>
<option value='dgp_revise_parsedvarnametype'>dgp_revise_parsedvarnametype</option>
<option value='dgp_scan_element'>dgp_scan_element</option>
<option value='dgp_slow_read'>dgp_slow_read</option>
<option value='dgp_sprintf'>dgp_sprintf</option>
<option value='dgp_stack_depth_tester'>dgp_stack_depth_tester</option>
<option value='dgp_stackedstdchan'>dgp_stackedstdchan</option>
<option value='dgp_stop_regexp_test_crash'>dgp_stop_regexp_test_crash</option>
<option value='dgp_string_cat'>dgp_string_cat</option>
<option value='dgp_string_find'>dgp_string_find</option>
<option value='dgp_stringcat_delaystringrep'>dgp_stringcat_delaystringrep</option>
<option value='dgp_switch_compile'>dgp_switch_compile</option>
<option value='dgp_tailcall_errorinfo'>dgp_tailcall_errorinfo</option>
<option value='dgp_tailcall_errorinfo_alt'>dgp_tailcall_errorinfo_alt</option>
<option value='dgp_tcs_rewrite'>dgp_tcs_rewrite</option>
<option value='dgp_thread_leaks'>dgp_thread_leaks</option>
<option value='dgp_trunk_flag_repair'>dgp_trunk_flag_repair</option>
<option value='dgp_trunk_read'>dgp_trunk_read</option>
<option value='dgp_win_specific_strict'>dgp_win_specific_strict</option>
<option value='dgp_writebytes_optimize'>dgp_writebytes_optimize</option>
<option value='dkf_64bit_support_branch'>dkf_64bit_support_branch</option>
<option value='dkf_alias_encoding'>dkf_alias_encoding</option>
<option value='dkf_asm_crash_20131022'>dkf_asm_crash_20131022</option>
<option value='dkf_bcc_optimize'>dkf_bcc_optimize</option>
<option value='dkf_better_try_compilation'>dkf_better_try_compilation</option>
<option value='dkf_bytecode_8_6'>dkf_bytecode_8_6</option>
<option value='dkf_bytecode_8_6_eval'>dkf_bytecode_8_6_eval</option>
<option value='dkf_bytecode_8_6_join'>dkf_bytecode_8_6_join</option>
<option value='dkf_bytecode_8_6_next'>dkf_bytecode_8_6_next</option>
<option value='dkf_bytecode_8_6_string_is'>dkf_bytecode_8_6_string_is</option>
<option value='dkf_bytecode_8_6_string_replace'>dkf_bytecode_8_6_string_replace</option>
<option value='dkf_bytecode_8_6_yield'>dkf_bytecode_8_6_yield</option>
<option value='dkf_bytecode_optimizer'>dkf_bytecode_optimizer</option>
<option value='dkf_command_type'>dkf_command_type</option>
<option value='dkf_compile_improvements'>dkf_compile_improvements</option>
<option value='dkf_dict_with_compiled'>dkf_dict_with_compiled</option>
<option value='dkf_documentation_figures'>dkf_documentation_figures</option>
<option value='dkf_expose_ptrgetvar'>dkf_expose_ptrgetvar</option>
<option value='dkf_expose_ptrgetvar_8_6'>dkf_expose_ptrgetvar_8_6</option>
<option value='dkf_http_cookies'>dkf_http_cookies</option>
<option value='dkf_improved_disassembler'>dkf_improved_disassembler</option>
<option value='dkf_loop_exception_range_work'>dkf_loop_exception_range_work</option>
<option value='dkf_namespace_as_ensemble'>dkf_namespace_as_ensemble</option>
<option value='dkf_notifier_poll'>dkf_notifier_poll</option>
<option value='dkf_oo_override_definition_namespaces'>dkf_oo_override_definition_namespaces</option>
<option value='dkf_quieter_compiles'>dkf_quieter_compiles</option>
<option value='dkf_review'>dkf_review</option>
<option value='dkf_utf16_branch'>dkf_utf16_branch</option>
<option value='dkf_wait_with_poll'>dkf_wait_with_poll</option>
<option value='dogeen_assembler_branch'>dogeen_assembler_branch</option>
<option value='dogeen_assembler_merge_synthetic'>dogeen_assembler_merge_synthetic</option>
<option value='drh_micro_optimization'>drh_micro_optimization</option>
<option value='editorconfig'>editorconfig</option>
<option value='empty_bodies'>empty_bodies</option>
<option value='experiment'>experiment</option>
<option value='experimental'>experimental</option>
<option value='ferrieux_nacl'>ferrieux_nacl</option>
<option value='fix_1997007'>fix_1997007</option>
<option value='fix_42202ba1e5ff566e'>fix_42202ba1e5ff566e</option>
<option value='fix_8_5_578155d5a19b348d'>fix_8_5_578155d5a19b348d</option>
<option value='fix_win_native_access'>fix_win_native_access</option>
<option value='fix_windows_zlib'>fix_windows_zlib</option>
<option value='forgiving_pkgconfig'>forgiving_pkgconfig</option>
<option value='freq_3010352_impl'>freq_3010352_impl</option>
<option value='frq_3527238'>frq_3527238</option>
<option value='frq_3544967'>frq_3544967</option>
<option value='frq_3579001'>frq_3579001</option>
<option value='frq_3599786'>frq_3599786</option>
<option value='gahr_split_install'>gahr_split_install</option>
<option value='gahr_ticket_dee3d66bc7'>gahr_ticket_dee3d66bc7</option>
<option value='gahr_ticket_e6f27aa56f'>gahr_ticket_e6f27aa56f</option>
<option value='gahr_tip_447'>gahr_tip_447</option>
<option value='griffin_numlevels'>griffin_numlevels</option>
<option value='htmlCopyrightsFix'>htmlCopyrightsFix</option>
<option value='htmlhelpFix'>htmlhelpFix</option>
<option value='http3'>http3</option>
<option value='hypnotoad'>hypnotoad</option>
<option value='hypnotoad_bug_3598385'>hypnotoad_bug_3598385</option>
<option value='hypnotoad_prefer_native_8_6'>hypnotoad_prefer_native_8_6</option>
<option value='hypnotoad_vexpr'>hypnotoad_vexpr</option>
<option value='info_linkedname'>info_linkedname</option>
<option value='initsubsystems'>initsubsystems</option>
<option value='initsubsystems2'>initsubsystems2</option>
<option value='initsubsystems2_split'>initsubsystems2_split</option>
<option value='iocmd_leaks'>iocmd_leaks</option>
<option value='ios'>ios</option>
<option value='irontcl'>irontcl</option>
<option value='jcr_notifier_poll'>jcr_notifier_poll</option>
<option value='je_tty_cleanup'>je_tty_cleanup</option>
<option value='jenglish_termios_cleanup'>jenglish_termios_cleanup</option>
<option value='jn_0d_radix_prefix'>jn_0d_radix_prefix</option>
<option value='jn_Tcl_requirement'>jn_Tcl_requirement</option>
<option value='jn_emptystring'>jn_emptystring</option>
<option value='jn_frq_3257396'>jn_frq_3257396</option>
<option value='jn_no_struct_names'>jn_no_struct_names</option>
<option value='jn_unc_vfs'>jn_unc_vfs</option>
<option value='jn_wide_printf'>jn_wide_printf</option>
<option value='kbk_clock_encoding_ensembles'>kbk_clock_encoding_ensembles</option>
<option value='kennykb_numerics_branch'>kennykb_numerics_branch</option>
<option value='kennykb_tip_22_33'>kennykb_tip_22_33</option>
<option value='kennykb_tip_22_33_botched'>kennykb_tip_22_33_botched</option>
<option value='lanam_array_for_impl'>lanam_array_for_impl</option>
<option value='libtommath'>libtommath</option>
<option value='libtommath_1_0'>libtommath_1_0</option>
<option value='libtommath_1_0_1'>libtommath_1_0_1</option>
<option value='libtommath_tcl_fixes_75'>libtommath_tcl_fixes_75</option>
<option value='little'>little</option>
<option value='macosx_8_4_branch'>macosx_8_4_branch</option>
<option value='master'>master</option>
<option value='merge_tzdata_to_trunk'>merge_tzdata_to_trunk</option>
<option value='micro_opt'>micro_opt</option>
<option value='mig_alloc_reform'>mig_alloc_reform</option>
<option value='mig_catch_compiler'>mig_catch_compiler</option>
<option value='mig_err'>mig_err</option>
<option value='mig_no280'>mig_no280</option>
<option value='mig_nre_mods'>mig_nre_mods</option>
<option value='mig_opt2'>mig_opt2</option>
<option value='mig_opt2_tmp'>mig_opt2_tmp</option>
<option value='mig_opt_foreach'>mig_opt_foreach</option>
<option value='mig_optimize'>mig_optimize</option>
<option value='mig_review'>mig_review</option>
<option value='mig_stacklevels'>mig_stacklevels</option>
<option value='mig_strip_brutal'>mig_strip_brutal</option>
<option value='mig_tailcall_cleanup'>mig_tailcall_cleanup</option>
<option value='mig_tmp'>mig_tmp</option>
<option value='mig_tmp_optimize'>mig_tmp_optimize</option>
<option value='minimal_fix_for_3598300_problems'>minimal_fix_for_3598300_problems</option>
<option value='miniz'>miniz</option>
<option value='mistachkin_review'>mistachkin_review</option>
<option value='mistake'>mistake</option>
<option value='mistake_20110314'>mistake_20110314</option>
<option value='mistake_20110314a'>mistake_20110314a</option>
<option value='mistkae'>mistkae</option>
<option value='mod_8_3_4_branch'>mod_8_3_4_branch</option>
<option value='more_macros'>more_macros</option>
<option value='msgcat_dyn_locale'>msgcat_dyn_locale</option>
<option value='msofer_bcEngine'>msofer_bcEngine</option>
<option value='msofer_wcodes_branch'>msofer_wcodes_branch</option>
<option value='msvc_with_64bit_zlib1_dll'>msvc_with_64bit_zlib1_dll</option>
<option value='no_shimmer_string_length'>no_shimmer_string_length</option>
<option value='no_smartref'>no_smartref</option>
<option value='nonmonotonic_obj_alloc'>nonmonotonic_obj_alloc</option>
<option value='notifier'>notifier</option>
<option value='novem'>novem</option>
<option value='novem_64bit_sizes'>novem_64bit_sizes</option>
<option value='novem_ak_iframe_direct'>novem_ak_iframe_direct</option>
<option value='novem_ak_preserve_experiments'>novem_ak_preserve_experiments</option>
<option value='novem_bighash'>novem_bighash</option>
<option value='novem_bug_3598300'>novem_bug_3598300</option>
<option value='novem_demo_bug_3588687'>novem_demo_bug_3588687</option>
<option value='novem_freeifrefcountzero'>novem_freeifrefcountzero</option>
<option value='novem_more_memory_API'>novem_more_memory_API</option>
<option value='novem_no_register_objtypes'>novem_no_register_objtypes</option>
<option value='novem_no_shimmer_string_length'>novem_no_shimmer_string_length</option>
<option value='novem_no_startcmd'>novem_no_startcmd</option>
<option value='novem_numbers_eias'>novem_numbers_eias</option>
<option value='novem_purge_literals'>novem_purge_literals</option>
<option value='novem_reduced_bytecodes'>novem_reduced_bytecodes</option>
<option value='novem_reduced_symbol_export'>novem_reduced_symbol_export</option>
<option value='novem_remove_string_result'>novem_remove_string_result</option>
<option value='novem_remove_va'>novem_remove_va</option>
<option value='novem_rename_memory_API'>novem_rename_memory_API</option>
<option value='novem_review'>novem_review</option>
<option value='novem_saveresult_as_macro'>novem_saveresult_as_macro</option>
<option value='novem_support'>novem_support</option>
<option value='novem_two_layer_list'>novem_two_layer_list</option>
<option value='novem_unversioned_stub'>novem_unversioned_stub</option>
<option value='off_8_4_branch'>off_8_4_branch</option>
<option value='off_trunk'>off_trunk</option>
<option value='on_hold_84'>on_hold_84</option>
<option value='on_hold_85'>on_hold_85</option>
<option value='on_hold_trunk'>on_hold_trunk</option>
<option value='oo_copy_ns'>oo_copy_ns</option>
<option value='other_64bit_candidates'>other_64bit_candidates</option>
<option value='package_files'>package_files</option>
<option value='panic_noreturn'>panic_noreturn</option>
<option value='prevent_inline'>prevent_inline</option>
<option value='private'>private</option>
<option value='pseudotrunk_2011_03_08'>pseudotrunk_2011_03_08</option>
<option value='pyk_emptystring'>pyk_emptystring</option>
<option value='pyk_expr_numeric'>pyk_expr_numeric</option>
<option value='pyk_listdictstringrep'>pyk_listdictstringrep</option>
<option value='pyk_pkgrequirenre'>pyk_pkgrequirenre</option>
<option value='pyk_trunk'>pyk_trunk</option>
<option value='remove_pathappend_intrep'>remove_pathappend_intrep</option>
<option value='remove_trim_header'>remove_trim_header</option>
<option value='revert_3396731'>revert_3396731</option>
<option value='rfe_1711975'>rfe_1711975</option>
<option value='rfe_3216010'>rfe_3216010</option>
<option value='rfe_3389978'>rfe_3389978</option>
<option value='rfe_3432962'>rfe_3432962</option>
<option value='rfe_3464401'>rfe_3464401</option>
<option value='rfe_3473670'>rfe_3473670</option>
<option value='rfe_6c0d7aec67'>rfe_6c0d7aec67</option>
<option value='rfe_854941'>rfe_854941</option>
<option value='rfe_b42b208ba4'>rfe_b42b208ba4</option>
<option value='rfe_dfc08326e3'>rfe_dfc08326e3</option>
<option value='rfe_notifier_fork'>rfe_notifier_fork</option>
<option value='rmax_ipv6_branch'>rmax_ipv6_branch</option>
<option value='rmax_ipv6_merge_synthetic'>rmax_ipv6_merge_synthetic</option>
<option value='robust_async_connect_tests'>robust_async_connect_tests</option>
<option value='scriptics_sc_1_0_branch'>scriptics_sc_1_0_branch</option>
<option value='scriptics_sc_1_1_branch'>scriptics_sc_1_1_branch</option>
<option value='scriptics_sc_2_0_b2_synthetic'>scriptics_sc_2_0_b2_synthetic</option>
<option value='scriptics_sc_2_0_b5_synthetic'>scriptics_sc_2_0_b5_synthetic</option>
<option value='scriptics_sc_2_0_fixed_synthetic'>scriptics_sc_2_0_fixed_synthetic</option>
<option value='scriptics_tclpro_1_2'>scriptics_tclpro_1_2</option>
<option value='scriptics_tclpro_1_2_old'>scriptics_tclpro_1_2_old</option>
<option value='scriptics_tclpro_1_2_synthetic'>scriptics_tclpro_1_2_synthetic</option>
<option value='scriptics_tclpro_1_3_b2_branch'>scriptics_tclpro_1_3_b2_branch</option>
<option value='scriptics_tclpro_1_3_b3_synthetic'>scriptics_tclpro_1_3_b3_synthetic</option>
<option value='sebres_8_5_event_perf_branch'>sebres_8_5_event_perf_branch</option>
<option value='sebres_8_5_timerate'>sebres_8_5_timerate</option>
<option value='sebres_8_6_clock_speedup'>sebres_8_6_clock_speedup</option>
<option value='sebres_8_6_clock_speedup_cr1'>sebres_8_6_clock_speedup_cr1</option>
<option value='sebres_8_6_event_perf_branch'>sebres_8_6_event_perf_branch</option>
<option value='sebres_8_6_timerate'>sebres_8_6_timerate</option>
<option value='sebres_clean_core_8_5'>sebres_clean_core_8_5</option>
<option value='sebres_clock_speedup'>sebres_clock_speedup</option>
<option value='sebres_clock_tz_fix'>sebres_clock_tz_fix</option>
<option value='sebres_event_perf_fix_busy_wait'>sebres_event_perf_fix_busy_wait</option>
<option value='sebres_optimized_8_5'>sebres_optimized_8_5</option>
<option value='sebres_trunk_clock_speedup'>sebres_trunk_clock_speedup</option>
<option value='sebres_trunk_timerate' selected='selected'>sebres_trunk_timerate</option>
<option value='semver'>semver</option>
<option value='stwo_dev86'>stwo_dev86</option>
<option value='tclPlatformEngine'>tclPlatformEngine</option>
<option value='tcl_nosize'>tcl_nosize</option>
<option value='tclchan_assertions'>tclchan_assertions</option>
<option value='tclpro_1_5_0_synthetic'>tclpro_1_5_0_synthetic</option>
<option value='tcltest_verbose_desc'>tcltest_verbose_desc</option>
<option value='tgl_pg_re'>tgl_pg_re</option>
<option value='thread_leaks'>thread_leaks</option>
<option value='ticket_9b2e636361'>ticket_9b2e636361</option>
<option value='ticket_e770d92d6'>ticket_e770d92d6</option>
<option value='tip280_test_coverage'>tip280_test_coverage</option>
<option value='tip404_tcl8_5'>tip404_tcl8_5</option>
<option value='tip429_only_id'>tip429_only_id</option>
<option value='tip_106_impl'>tip_106_impl</option>
<option value='tip_162_branch'>tip_162_branch</option>
<option value='tip_257_implementation_branch'>tip_257_implementation_branch</option>
<option value='tip_257_implementation_branch_root_synthetic'>tip_257_implementation_branch_root_synthetic</option>
<option value='tip_257_merge1_branch_20061020T1300'>tip_257_merge1_branch_20061020T1300</option>
<option value='tip_278_branch'>tip_278_branch</option>
<option value='tip_282'>tip_282</option>
<option value='tip_302'>tip_302</option>
<option value='tip_312'>tip_312</option>
<option value='tip_318_update'>tip_318_update</option>
<option value='tip_388_impl'>tip_388_impl</option>
<option value='tip_389_impl'>tip_389_impl</option>
<option value='tip_395_with_alt_name'>tip_395_with_alt_name</option>
<option value='tip_398_impl'>tip_398_impl</option>
<option value='tip_400_impl'>tip_400_impl</option>
<option value='tip_401'>tip_401</option>
<option value='tip_404'>tip_404</option>
<option value='tip_405_impl_td'>tip_405_impl_td</option>
<option value='tip_427'>tip_427</option>
<option value='tip_428'>tip_428</option>
<option value='tip_429'>tip_429</option>
<option value='tip_436'>tip_436</option>
<option value='tip_440_alt'>tip_440_alt</option>
<option value='tip_440_backport'>tip_440_backport</option>
<option value='tip_444'>tip_444</option>
<option value='tip_445'>tip_445</option>
<option value='tip_445_fork'>tip_445_fork</option>
<option value='tip_445_reject'>tip_445_reject</option>
<option value='tip_452'>tip_452</option>
<option value='tip_456'>tip_456</option>
<option value='tip_456_fork'>tip_456_fork</option>
<option value='tip_457'>tip_457</option>
<option value='tip_458'>tip_458</option>
<option value='tip_458_experiment'>tip_458_experiment</option>
<option value='tip_463'>tip_463</option>
<option value='tip_465'>tip_465</option>
<option value='tip_468'>tip_468</option>
<option value='tip_468_bis'>tip_468_bis</option>
<option value='tip_469'>tip_469</option>
<option value='tip_470'>tip_470</option>
<option value='tip_473'>tip_473</option>
<option value='tip_59_implementation'>tip_59_implementation</option>
<option value='tip_improve_exec'>tip_improve_exec</option>
<option value='tk_bug_9eb55debc5'>tk_bug_9eb55debc5</option>
<option value='tkt3328635_posix_monotonic_clock'>tkt3328635_posix_monotonic_clock</option>
<option value='tkt_04e26c02c0'>tkt_04e26c02c0</option>
<option value='tkt_414d10346b'>tkt_414d10346b</option>
<option value='tkt_4d5ae7d88a'>tkt_4d5ae7d88a</option>
<option value='unbreak_tclcompiler'>unbreak_tclcompiler</option>
<option value='unknown_rewrite'>unknown_rewrite</option>
<option value='unproven'>unproven</option>
<option value='unsetThreadData'>unsetThreadData</option>
<option value='unwanted'>unwanted</option>
<option value='updateextended'>updateextended</option>
<option value='vc_reform'>vc_reform</option>
<option value='vs_ide_compile'>vs_ide_compile</option>
<option value='werner_utf_max_6'>werner_utf_max_6</option>
<option value='win32_arm'>win32_arm</option>
<option value='winFixes'>winFixes</option>
<option value='win_console_panic'>win_console_panic</option>
<option value='win_sock_async_connect_race_fix'>win_sock_async_connect_race_fix</option>
<option value='z_modifier'>z_modifier</option>
<option value='zipfs'>zipfs</option>
<option value='zippy_fifo'>zippy_fifo</option>
<option value='zlib_1_2_6'>zlib_1_2_6</option>
</select> <input type='submit' name='' value='switch'/></form></td></tr>
<tr><td class='sub'>Tcl is a high-level, general-purpose, interpreted, dynamic programming language. It was designed with the goal of being very simple but powerful.</td><td class='sub right'></td></tr></table>
<table class='tabs'><tr><td>
<a href='/oss-git/tcl.git/?h=sebres_trunk_timerate'>summary</a><a href='/oss-git/tcl.git/refs/?h=sebres_trunk_timerate&amp;id=eaba13bb7910dc41da26122b827bbee773468360'>refs</a><a href='/oss-git/tcl.git/log/tests/pkg.test?h=sebres_trunk_timerate'>log</a><a class='active' href='/oss-git/tcl.git/tree/tests/pkg.test?h=sebres_trunk_timerate&amp;id=eaba13bb7910dc41da26122b827bbee773468360'>tree</a><a href='/oss-git/tcl.git/commit/tests/pkg.test?h=sebres_trunk_timerate&amp;id=eaba13bb7910dc41da26122b827bbee773468360'>commit</a><a href='/oss-git/tcl.git/diff/tests/pkg.test?h=sebres_trunk_timerate&amp;id=eaba13bb7910dc41da26122b827bbee773468360'>diff</a><a href='/oss-git/tcl.git/stats/tests/pkg.test?h=sebres_trunk_timerate'>stats</a></td><td class='form'><form class='right' method='get' action='/oss-git/tcl.git/log/tests/pkg.test'>
<input type='hidden' name='h' value='sebres_trunk_timerate'/><input type='hidden' name='id' value='eaba13bb7910dc41da26122b827bbee773468360'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='text' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/oss-git/tcl.git/tree/?h=sebres_trunk_timerate&amp;id=eaba13bb7910dc41da26122b827bbee773468360'>root</a>/<a href='/oss-git/tcl.git/tree/tests?h=sebres_trunk_timerate&amp;id=eaba13bb7910dc41da26122b827bbee773468360'>tests</a>/<a href='/oss-git/tcl.git/tree/tests/pkg.test?h=sebres_trunk_timerate&amp;id=eaba13bb7910dc41da26122b827bbee773468360'>pkg.test</a></div><div class='content'>blob: e6a99c6f7657a4a35e95464b11ce400cc2fc5d4d (<a href='/oss-git/tcl.git/plain/tests/pkg.test?h=sebres_trunk_timerate&amp;id=eaba13bb7910dc41da26122b827bbee773468360'>plain</a>)
<table summary='blob content' class='blob'>
<tr><td class='linenumbers'><pre><a id='n1' href='#n1'>1</a>
<a id='n2' href='#n2'>2</a>
<a id='n3' href='#n3'>3</a>
<a id='n4' href='#n4'>4</a>
<a id='n5' href='#n5'>5</a>
<a id='n6' href='#n6'>6</a>
<a id='n7' href='#n7'>7</a>
<a id='n8' href='#n8'>8</a>
<a id='n9' href='#n9'>9</a>
<a id='n10' href='#n10'>10</a>
<a id='n11' href='#n11'>11</a>
<a id='n12' href='#n12'>12</a>
<a id='n13' href='#n13'>13</a>
<a id='n14' href='#n14'>14</a>
<a id='n15' href='#n15'>15</a>
<a id='n16' href='#n16'>16</a>
<a id='n17' href='#n17'>17</a>
<a id='n18' href='#n18'>18</a>
<a id='n19' href='#n19'>19</a>
<a id='n20' href='#n20'>20</a>
<a id='n21' href='#n21'>21</a>
<a id='n22' href='#n22'>22</a>
<a id='n23' href='#n23'>23</a>
<a id='n24' href='#n24'>24</a>
<a id='n25' href='#n25'>25</a>
<a id='n26' href='#n26'>26</a>
<a id='n27' href='#n27'>27</a>
<a id='n28' href='#n28'>28</a>
<a id='n29' href='#n29'>29</a>
<a id='n30' href='#n30'>30</a>
<a id='n31' href='#n31'>31</a>
<a id='n32' href='#n32'>32</a>
<a id='n33' href='#n33'>33</a>
<a id='n34' href='#n34'>34</a>
<a id='n35' href='#n35'>35</a>
<a id='n36' href='#n36'>36</a>
<a id='n37' href='#n37'>37</a>
<a id='n38' href='#n38'>38</a>
<a id='n39' href='#n39'>39</a>
<a id='n40' href='#n40'>40</a>
<a id='n41' href='#n41'>41</a>
<a id='n42' href='#n42'>42</a>
<a id='n43' href='#n43'>43</a>
<a id='n44' href='#n44'>44</a>
<a id='n45' href='#n45'>45</a>
<a id='n46' href='#n46'>46</a>
<a id='n47' href='#n47'>47</a>
<a id='n48' href='#n48'>48</a>
<a id='n49' href='#n49'>49</a>
<a id='n50' href='#n50'>50</a>
<a id='n51' href='#n51'>51</a>
<a id='n52' href='#n52'>52</a>
<a id='n53' href='#n53'>53</a>
<a id='n54' href='#n54'>54</a>
<a id='n55' href='#n55'>55</a>
<a id='n56' href='#n56'>56</a>
<a id='n57' href='#n57'>57</a>
<a id='n58' href='#n58'>58</a>
<a id='n59' href='#n59'>59</a>
<a id='n60' href='#n60'>60</a>
<a id='n61' href='#n61'>61</a>
<a id='n62' href='#n62'>62</a>
<a id='n63' href='#n63'>63</a>
<a id='n64' href='#n64'>64</a>
<a id='n65' href='#n65'>65</a>
<a id='n66' href='#n66'>66</a>
<a id='n67' href='#n67'>67</a>
<a id='n68' href='#n68'>68</a>
<a id='n69' href='#n69'>69</a>
<a id='n70' href='#n70'>70</a>
<a id='n71' href='#n71'>71</a>
<a id='n72' href='#n72'>72</a>
<a id='n73' href='#n73'>73</a>
<a id='n74' href='#n74'>74</a>
<a id='n75' href='#n75'>75</a>
<a id='n76' href='#n76'>76</a>
<a id='n77' href='#n77'>77</a>
<a id='n78' href='#n78'>78</a>
<a id='n79' href='#n79'>79</a>
<a id='n80' href='#n80'>80</a>
<a id='n81' href='#n81'>81</a>
<a id='n82' href='#n82'>82</a>
<a id='n83' href='#n83'>83</a>
<a id='n84' href='#n84'>84</a>
<a id='n85' href='#n85'>85</a>
<a id='n86' href='#n86'>86</a>
<a id='n87' href='#n87'>87</a>
<a id='n88' href='#n88'>88</a>
<a id='n89' href='#n89'>89</a>
<a id='n90' href='#n90'>90</a>
<a id='n91' href='#n91'>91</a>
<a id='n92' href='#n92'>92</a>
<a id='n93' href='#n93'>93</a>
<a id='n94' href='#n94'>94</a>
<a id='n95' href='#n95'>95</a>
<a id='n96' href='#n96'>96</a>
<a id='n97' href='#n97'>97</a>
<a id='n98' href='#n98'>98</a>
<a id='n99' href='#n99'>99</a>
<a id='n100' href='#n100'>100</a>
<a id='n101' href='#n101'>101</a>
<a id='n102' href='#n102'>102</a>
<a id='n103' href='#n103'>103</a>
<a id='n104' href='#n104'>104</a>
<a id='n105' href='#n105'>105</a>
<a id='n106' href='#n106'>106</a>
<a id='n107' href='#n107'>107</a>
<a id='n108' href='#n108'>108</a>
<a id='n109' href='#n109'>109</a>
<a id='n110' href='#n110'>110</a>
<a id='n111' href='#n111'>111</a>
<a id='n112' href='#n112'>112</a>
<a id='n113' href='#n113'>113</a>
<a id='n114' href='#n114'>114</a>
<a id='n115' href='#n115'>115</a>
<a id='n116' href='#n116'>116</a>
<a id='n117' href='#n117'>117</a>
<a id='n118' href='#n118'>118</a>
<a id='n119' href='#n119'>119</a>
<a id='n120' href='#n120'>120</a>
<a id='n121' href='#n121'>121</a>
<a id='n122' href='#n122'>122</a>
<a id='n123' href='#n123'>123</a>
<a id='n124' href='#n124'>124</a>
<a id='n125' href='#n125'>125</a>
<a id='n126' href='#n126'>126</a>
<a id='n127' href='#n127'>127</a>
<a id='n128' href='#n128'>128</a>
<a id='n129' href='#n129'>129</a>
<a id='n130' href='#n130'>130</a>
<a id='n131' href='#n131'>131</a>
<a id='n132' href='#n132'>132</a>
<a id='n133' href='#n133'>133</a>
<a id='n134' href='#n134'>134</a>
<a id='n135' href='#n135'>135</a>
<a id='n136' href='#n136'>136</a>
<a id='n137' href='#n137'>137</a>
<a id='n138' href='#n138'>138</a>
<a id='n139' href='#n139'>139</a>
<a id='n140' href='#n140'>140</a>
<a id='n141' href='#n141'>141</a>
<a id='n142' href='#n142'>142</a>
<a id='n143' href='#n143'>143</a>
<a id='n144' href='#n144'>144</a>
<a id='n145' href='#n145'>145</a>
<a id='n146' href='#n146'>146</a>
<a id='n147' href='#n147'>147</a>
<a id='n148' href='#n148'>148</a>
<a id='n149' href='#n149'>149</a>
<a id='n150' href='#n150'>150</a>
<a id='n151' href='#n151'>151</a>
<a id='n152' href='#n152'>152</a>
<a id='n153' href='#n153'>153</a>
<a id='n154' href='#n154'>154</a>
<a id='n155' href='#n155'>155</a>
<a id='n156' href='#n156'>156</a>
<a id='n157' href='#n157'>157</a>
<a id='n158' href='#n158'>158</a>
<a id='n159' href='#n159'>159</a>
<a id='n160' href='#n160'>160</a>
<a id='n161' href='#n161'>161</a>
<a id='n162' href='#n162'>162</a>
<a id='n163' href='#n163'>163</a>
<a id='n164' href='#n164'>164</a>
<a id='n165' href='#n165'>165</a>
<a id='n166' href='#n166'>166</a>
<a id='n167' href='#n167'>167</a>
<a id='n168' href='#n168'>168</a>
<a id='n169' href='#n169'>169</a>
<a id='n170' href='#n170'>170</a>
<a id='n171' href='#n171'>171</a>
<a id='n172' href='#n172'>172</a>
<a id='n173' href='#n173'>173</a>
<a id='n174' href='#n174'>174</a>
<a id='n175' href='#n175'>175</a>
<a id='n176' href='#n176'>176</a>
<a id='n177' href='#n177'>177</a>
<a id='n178' href='#n178'>178</a>
<a id='n179' href='#n179'>179</a>
<a id='n180' href='#n180'>180</a>
<a id='n181' href='#n181'>181</a>
<a id='n182' href='#n182'>182</a>
<a id='n183' href='#n183'>183</a>
<a id='n184' href='#n184'>184</a>
<a id='n185' href='#n185'>185</a>
<a id='n186' href='#n186'>186</a>
<a id='n187' href='#n187'>187</a>
<a id='n188' href='#n188'>188</a>
<a id='n189' href='#n189'>189</a>
<a id='n190' href='#n190'>190</a>
<a id='n191' href='#n191'>191</a>
<a id='n192' href='#n192'>192</a>
<a id='n193' href='#n193'>193</a>
<a id='n194' href='#n194'>194</a>
<a id='n195' href='#n195'>195</a>
<a id='n196' href='#n196'>196</a>
<a id='n197' href='#n197'>197</a>
<a id='n198' href='#n198'>198</a>
<a id='n199' href='#n199'>199</a>
<a id='n200' href='#n200'>200</a>
<a id='n201' href='#n201'>201</a>
<a id='n202' href='#n202'>202</a>
<a id='n203' href='#n203'>203</a>
<a id='n204' href='#n204'>204</a>
<a id='n205' href='#n205'>205</a>
<a id='n206' href='#n206'>206</a>
<a id='n207' href='#n207'>207</a>
<a id='n208' href='#n208'>208</a>
<a id='n209' href='#n209'>209</a>
<a id='n210' href='#n210'>210</a>
<a id='n211' href='#n211'>211</a>
<a id='n212' href='#n212'>212</a>
<a id='n213' href='#n213'>213</a>
<a id='n214' href='#n214'>214</a>
<a id='n215' href='#n215'>215</a>
<a id='n216' href='#n216'>216</a>
<a id='n217' href='#n217'>217</a>
<a id='n218' href='#n218'>218</a>
<a id='n219' href='#n219'>219</a>
<a id='n220' href='#n220'>220</a>
<a id='n221' href='#n221'>221</a>
<a id='n222' href='#n222'>222</a>
<a id='n223' href='#n223'>223</a>
<a id='n224' href='#n224'>224</a>
<a id='n225' href='#n225'>225</a>
<a id='n226' href='#n226'>226</a>
<a id='n227' href='#n227'>227</a>
<a id='n228' href='#n228'>228</a>
<a id='n229' href='#n229'>229</a>
<a id='n230' href='#n230'>230</a>
<a id='n231' href='#n231'>231</a>
<a id='n232' href='#n232'>232</a>
<a id='n233' href='#n233'>233</a>
<a id='n234' href='#n234'>234</a>
<a id='n235' href='#n235'>235</a>
<a id='n236' href='#n236'>236</a>
<a id='n237' href='#n237'>237</a>
<a id='n238' href='#n238'>238</a>
<a id='n239' href='#n239'>239</a>
<a id='n240' href='#n240'>240</a>
<a id='n241' href='#n241'>241</a>
<a id='n242' href='#n242'>242</a>
<a id='n243' href='#n243'>243</a>
<a id='n244' href='#n244'>244</a>
<a id='n245' href='#n245'>245</a>
<a id='n246' href='#n246'>246</a>
<a id='n247' href='#n247'>247</a>
<a id='n248' href='#n248'>248</a>
<a id='n249' href='#n249'>249</a>
<a id='n250' href='#n250'>250</a>
<a id='n251' href='#n251'>251</a>
<a id='n252' href='#n252'>252</a>
<a id='n253' href='#n253'>253</a>
<a id='n254' href='#n254'>254</a>
<a id='n255' href='#n255'>255</a>
<a id='n256' href='#n256'>256</a>
<a id='n257' href='#n257'>257</a>
<a id='n258' href='#n258'>258</a>
<a id='n259' href='#n259'>259</a>
<a id='n260' href='#n260'>260</a>
<a id='n261' href='#n261'>261</a>
<a id='n262' href='#n262'>262</a>
<a id='n263' href='#n263'>263</a>
<a id='n264' href='#n264'>264</a>
<a id='n265' href='#n265'>265</a>
<a id='n266' href='#n266'>266</a>
<a id='n267' href='#n267'>267</a>
<a id='n268' href='#n268'>268</a>
<a id='n269' href='#n269'>269</a>
<a id='n270' href='#n270'>270</a>
<a id='n271' href='#n271'>271</a>
<a id='n272' href='#n272'>272</a>
<a id='n273' href='#n273'>273</a>
<a id='n274' href='#n274'>274</a>
<a id='n275' href='#n275'>275</a>
<a id='n276' href='#n276'>276</a>
<a id='n277' href='#n277'>277</a>
<a id='n278' href='#n278'>278</a>
<a id='n279' href='#n279'>279</a>
<a id='n280' href='#n280'>280</a>
<a id='n281' href='#n281'>281</a>
<a id='n282' href='#n282'>282</a>
<a id='n283' href='#n283'>283</a>
<a id='n284' href='#n284'>284</a>
<a id='n285' href='#n285'>285</a>
<a id='n286' href='#n286'>286</a>
<a id='n287' href='#n287'>287</a>
<a id='n288' href='#n288'>288</a>
<a id='n289' href='#n289'>289</a>
<a id='n290' href='#n290'>290</a>
<a id='n291' href='#n291'>291</a>
<a id='n292' href='#n292'>292</a>
<a id='n293' href='#n293'>293</a>
<a id='n294' href='#n294'>294</a>
<a id='n295' href='#n295'>295</a>
<a id='n296' href='#n296'>296</a>
<a id='n297' href='#n297'>297</a>
<a id='n298' href='#n298'>298</a>
<a id='n299' href='#n299'>299</a>
<a id='n300' href='#n300'>300</a>
<a id='n301' href='#n301'>301</a>
<a id='n302' href='#n302'>302</a>
<a id='n303' href='#n303'>303</a>
<a id='n304' href='#n304'>304</a>
<a id='n305' href='#n305'>305</a>
<a id='n306' href='#n306'>306</a>
<a id='n307' href='#n307'>307</a>
<a id='n308' href='#n308'>308</a>
<a id='n309' href='#n309'>309</a>
<a id='n310' href='#n310'>310</a>
<a id='n311' href='#n311'>311</a>
<a id='n312' href='#n312'>312</a>
<a id='n313' href='#n313'>313</a>
<a id='n314' href='#n314'>314</a>
<a id='n315' href='#n315'>315</a>
<a id='n316' href='#n316'>316</a>
<a id='n317' href='#n317'>317</a>
<a id='n318' href='#n318'>318</a>
<a id='n319' href='#n319'>319</a>
<a id='n320' href='#n320'>320</a>
<a id='n321' href='#n321'>321</a>
<a id='n322' href='#n322'>322</a>
<a id='n323' href='#n323'>323</a>
<a id='n324' href='#n324'>324</a>
<a id='n325' href='#n325'>325</a>
<a id='n326' href='#n326'>326</a>
<a id='n327' href='#n327'>327</a>
<a id='n328' href='#n328'>328</a>
<a id='n329' href='#n329'>329</a>
<a id='n330' href='#n330'>330</a>
<a id='n331' href='#n331'>331</a>
<a id='n332' href='#n332'>332</a>
<a id='n333' href='#n333'>333</a>
<a id='n334' href='#n334'>334</a>
<a id='n335' href='#n335'>335</a>
<a id='n336' href='#n336'>336</a>
<a id='n337' href='#n337'>337</a>
<a id='n338' href='#n338'>338</a>
<a id='n339' href='#n339'>339</a>
<a id='n340' href='#n340'>340</a>
<a id='n341' href='#n341'>341</a>
<a id='n342' href='#n342'>342</a>
<a id='n343' href='#n343'>343</a>
<a id='n344' href='#n344'>344</a>
<a id='n345' href='#n345'>345</a>
<a id='n346' href='#n346'>346</a>
<a id='n347' href='#n347'>347</a>
<a id='n348' href='#n348'>348</a>
<a id='n349' href='#n349'>349</a>
<a id='n350' href='#n350'>350</a>
<a id='n351' href='#n351'>351</a>
<a id='n352' href='#n352'>352</a>
<a id='n353' href='#n353'>353</a>
<a id='n354' href='#n354'>354</a>
<a id='n355' href='#n355'>355</a>
<a id='n356' href='#n356'>356</a>
<a id='n357' href='#n357'>357</a>
<a id='n358' href='#n358'>358</a>
<a id='n359' href='#n359'>359</a>
<a id='n360' href='#n360'>360</a>
<a id='n361' href='#n361'>361</a>
<a id='n362' href='#n362'>362</a>
<a id='n363' href='#n363'>363</a>
<a id='n364' href='#n364'>364</a>
<a id='n365' href='#n365'>365</a>
<a id='n366' href='#n366'>366</a>
<a id='n367' href='#n367'>367</a>
<a id='n368' href='#n368'>368</a>
<a id='n369' href='#n369'>369</a>
<a id='n370' href='#n370'>370</a>
<a id='n371' href='#n371'>371</a>
<a id='n372' href='#n372'>372</a>
<a id='n373' href='#n373'>373</a>
<a id='n374' href='#n374'>374</a>
<a id='n375' href='#n375'>375</a>
<a id='n376' href='#n376'>376</a>
<a id='n377' href='#n377'>377</a>
<a id='n378' href='#n378'>378</a>
<a id='n379' href='#n379'>379</a>
<a id='n380' href='#n380'>380</a>
<a id='n381' href='#n381'>381</a>
<a id='n382' href='#n382'>382</a>
<a id='n383' href='#n383'>383</a>
<a id='n384' href='#n384'>384</a>
<a id='n385' href='#n385'>385</a>
<a id='n386' href='#n386'>386</a>
<a id='n387' href='#n387'>387</a>
<a id='n388' href='#n388'>388</a>
<a id='n389' href='#n389'>389</a>
<a id='n390' href='#n390'>390</a>
<a id='n391' href='#n391'>391</a>
<a id='n392' href='#n392'>392</a>
<a id='n393' href='#n393'>393</a>
<a id='n394' href='#n394'>394</a>
<a id='n395' href='#n395'>395</a>
<a id='n396' href='#n396'>396</a>
<a id='n397' href='#n397'>397</a>
<a id='n398' href='#n398'>398</a>
<a id='n399' href='#n399'>399</a>
<a id='n400' href='#n400'>400</a>
<a id='n401' href='#n401'>401</a>
<a id='n402' href='#n402'>402</a>
<a id='n403' href='#n403'>403</a>
<a id='n404' href='#n404'>404</a>
<a id='n405' href='#n405'>405</a>
<a id='n406' href='#n406'>406</a>
<a id='n407' href='#n407'>407</a>
<a id='n408' href='#n408'>408</a>
<a id='n409' href='#n409'>409</a>
<a id='n410' href='#n410'>410</a>
<a id='n411' href='#n411'>411</a>
<a id='n412' href='#n412'>412</a>
<a id='n413' href='#n413'>413</a>
<a id='n414' href='#n414'>414</a>
<a id='n415' href='#n415'>415</a>
<a id='n416' href='#n416'>416</a>
<a id='n417' href='#n417'>417</a>
<a id='n418' href='#n418'>418</a>
<a id='n419' href='#n419'>419</a>
<a id='n420' href='#n420'>420</a>
<a id='n421' href='#n421'>421</a>
<a id='n422' href='#n422'>422</a>
<a id='n423' href='#n423'>423</a>
<a id='n424' href='#n424'>424</a>
<a id='n425' href='#n425'>425</a>
<a id='n426' href='#n426'>426</a>
<a id='n427' href='#n427'>427</a>
<a id='n428' href='#n428'>428</a>
<a id='n429' href='#n429'>429</a>
<a id='n430' href='#n430'>430</a>
<a id='n431' href='#n431'>431</a>
<a id='n432' href='#n432'>432</a>
<a id='n433' href='#n433'>433</a>
<a id='n434' href='#n434'>434</a>
<a id='n435' href='#n435'>435</a>
<a id='n436' href='#n436'>436</a>
<a id='n437' href='#n437'>437</a>
<a id='n438' href='#n438'>438</a>
<a id='n439' href='#n439'>439</a>
<a id='n440' href='#n440'>440</a>
<a id='n441' href='#n441'>441</a>
<a id='n442' href='#n442'>442</a>
<a id='n443' href='#n443'>443</a>
<a id='n444' href='#n444'>444</a>
<a id='n445' href='#n445'>445</a>
<a id='n446' href='#n446'>446</a>
<a id='n447' href='#n447'>447</a>
<a id='n448' href='#n448'>448</a>
<a id='n449' href='#n449'>449</a>
<a id='n450' href='#n450'>450</a>
<a id='n451' href='#n451'>451</a>
<a id='n452' href='#n452'>452</a>
<a id='n453' href='#n453'>453</a>
<a id='n454' href='#n454'>454</a>
<a id='n455' href='#n455'>455</a>
<a id='n456' href='#n456'>456</a>
<a id='n457' href='#n457'>457</a>
<a id='n458' href='#n458'>458</a>
<a id='n459' href='#n459'>459</a>
<a id='n460' href='#n460'>460</a>
<a id='n461' href='#n461'>461</a>
<a id='n462' href='#n462'>462</a>
<a id='n463' href='#n463'>463</a>
<a id='n464' href='#n464'>464</a>
<a id='n465' href='#n465'>465</a>
<a id='n466' href='#n466'>466</a>
<a id='n467' href='#n467'>467</a>
<a id='n468' href='#n468'>468</a>
<a id='n469' href='#n469'>469</a>
<a id='n470' href='#n470'>470</a>
<a id='n471' href='#n471'>471</a>
<a id='n472' href='#n472'>472</a>
<a id='n473' href='#n473'>473</a>
<a id='n474' href='#n474'>474</a>
<a id='n475' href='#n475'>475</a>
<a id='n476' href='#n476'>476</a>
<a id='n477' href='#n477'>477</a>
<a id='n478' href='#n478'>478</a>
<a id='n479' href='#n479'>479</a>
<a id='n480' href='#n480'>480</a>
<a id='n481' href='#n481'>481</a>
<a id='n482' href='#n482'>482</a>
<a id='n483' href='#n483'>483</a>
<a id='n484' href='#n484'>484</a>
<a id='n485' href='#n485'>485</a>
<a id='n486' href='#n486'>486</a>
<a id='n487' href='#n487'>487</a>
<a id='n488' href='#n488'>488</a>
<a id='n489' href='#n489'>489</a>
<a id='n490' href='#n490'>490</a>
<a id='n491' href='#n491'>491</a>
<a id='n492' href='#n492'>492</a>
<a id='n493' href='#n493'>493</a>
<a id='n494' href='#n494'>494</a>
<a id='n495' href='#n495'>495</a>
<a id='n496' href='#n496'>496</a>
<a id='n497' href='#n497'>497</a>
<a id='n498' href='#n498'>498</a>
<a id='n499' href='#n499'>499</a>
<a id='n500' href='#n500'>500</a>
<a id='n501' href='#n501'>501</a>
<a id='n502' href='#n502'>502</a>
<a id='n503' href='#n503'>503</a>
<a id='n504' href='#n504'>504</a>
<a id='n505' href='#n505'>505</a>
<a id='n506' href='#n506'>506</a>
<a id='n507' href='#n507'>507</a>
<a id='n508' href='#n508'>508</a>
<a id='n509' href='#n509'>509</a>
<a id='n510' href='#n510'>510</a>
<a id='n511' href='#n511'>511</a>
<a id='n512' href='#n512'>512</a>
<a id='n513' href='#n513'>513</a>
<a id='n514' href='#n514'>514</a>
<a id='n515' href='#n515'>515</a>
<a id='n516' href='#n516'>516</a>
<a id='n517' href='#n517'>517</a>
<a id='n518' href='#n518'>518</a>
<a id='n519' href='#n519'>519</a>
<a id='n520' href='#n520'>520</a>
<a id='n521' href='#n521'>521</a>
<a id='n522' href='#n522'>522</a>
<a id='n523' href='#n523'>523</a>
<a id='n524' href='#n524'>524</a>
<a id='n525' href='#n525'>525</a>
<a id='n526' href='#n526'>526</a>
<a id='n527' href='#n527'>527</a>
<a id='n528' href='#n528'>528</a>
<a id='n529' href='#n529'>529</a>
<a id='n530' href='#n530'>530</a>
<a id='n531' href='#n531'>531</a>
<a id='n532' href='#n532'>532</a>
<a id='n533' href='#n533'>533</a>
<a id='n534' href='#n534'>534</a>
<a id='n535' href='#n535'>535</a>
<a id='n536' href='#n536'>536</a>
<a id='n537' href='#n537'>537</a>
<a id='n538' href='#n538'>538</a>
<a id='n539' href='#n539'>539</a>
<a id='n540' href='#n540'>540</a>
<a id='n541' href='#n541'>541</a>
<a id='n542' href='#n542'>542</a>
<a id='n543' href='#n543'>543</a>
<a id='n544' href='#n544'>544</a>
<a id='n545' href='#n545'>545</a>
<a id='n546' href='#n546'>546</a>
<a id='n547' href='#n547'>547</a>
<a id='n548' href='#n548'>548</a>
<a id='n549' href='#n549'>549</a>
<a id='n550' href='#n550'>550</a>
<a id='n551' href='#n551'>551</a>
<a id='n552' href='#n552'>552</a>
<a id='n553' href='#n553'>553</a>
<a id='n554' href='#n554'>554</a>
<a id='n555' href='#n555'>555</a>
<a id='n556' href='#n556'>556</a>
<a id='n557' href='#n557'>557</a>
<a id='n558' href='#n558'>558</a>
<a id='n559' href='#n559'>559</a>
<a id='n560' href='#n560'>560</a>
<a id='n561' href='#n561'>561</a>
<a id='n562' href='#n562'>562</a>
<a id='n563' href='#n563'>563</a>
</pre></td>
<td class='lines'><pre><code># Commands covered:  pkg
#
# This file contains a collection of tests for one or more of the Tcl
# built-in commands.  Sourcing this file into Tcl runs the tests and
# generates output for errors.  No output means no errors were found.
#
# Copyright (c) 1995-1996 Sun Microsystems, Inc.
#
# See the file &quot;license.terms&quot; for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# SCCS: &#64;(#) pkg.test 1.12 97/08/14 01:33:54

if {[string compare test [info procs test]] == 1} then {source defs}

# Do all this in a slave interp to avoid garbaging the
# package list
set i [interp create]
interp eval $i [list set VERBOSE $VERBOSE]
interp eval $i [list set TESTS $TESTS]
interp eval $i {

if {[string compare test [info procs test]] == 1} then {source defs}

eval package forget [package names]
set oldPkgUnknown [package unknown]
package unknown {}
set oldPath $auto_path
set auto_path &quot;&quot;

test pkg-1.1 {Tcl_PkgProvide procedure} {
    package forget t
    package provide t 2.3
} {}
test pkg-1.2 {Tcl_PkgProvide procedure} {
    package forget t
    package provide t 2.3
    list [catch {package provide t 2.2} msg] $msg
} {1 {conflicting versions provided for package &quot;t&quot;: 2.3, then 2.2}}
test pkg-1.3 {Tcl_PkgProvide procedure} {
    package forget t
    package provide t 2.3
    list [catch {package provide t 2.4} msg] $msg
} {1 {conflicting versions provided for package &quot;t&quot;: 2.3, then 2.4}}
test pkg-1.4 {Tcl_PkgProvide procedure} {
    package forget t
    package provide t 2.3
    list [catch {package provide t 3.3} msg] $msg
} {1 {conflicting versions provided for package &quot;t&quot;: 2.3, then 3.3}}
test pkg-1.5 {Tcl_PkgProvide procedure} {
    package forget t
    package provide t 2.3
    package provide t 2.3
} {}

test pkg-2.1 {Tcl_PkgRequire procedure, picking best version} {
    package forget t
    foreach i {1.4 3.4 2.3 2.4 2.2} {
	package ifneeded t $i &quot;set x $i; package provide t $i&quot;
    }
    set x xxx
    package require t
    set x
} {3.4}
test pkg-2.2 {Tcl_PkgRequire procedure, picking best version} {
    package forget t
    foreach i {1.4 3.4 2.3 2.4 2.2 3.5 3.2} {
	package ifneeded t $i &quot;set x $i; package provide t $i&quot;
    }
    set x xxx
    package require t
    set x
} {3.5}
test pkg-2.3 {Tcl_PkgRequire procedure, picking best version} {
    package forget t
    foreach i {3.5 2.1 2.3} {
	package ifneeded t $i &quot;set x $i; package provide t $i&quot;
    }
    set x xxx
    package require t 2.2
    set x
} {2.3}
test pkg-2.4 {Tcl_PkgRequire procedure, picking best version} {
    package forget t
    foreach i {1.4 3.4 2.3 2.4 2.2} {
	package ifneeded t $i &quot;set x $i; package provide t $i&quot;
    }
    set x xxx
    package require -exact t 2.3
    set x
} {2.3}
test pkg-2.5 {Tcl_PkgRequire procedure, picking best version} {
    package forget t
    foreach i {1.4 3.4 2.3 2.4 2.2} {
	package ifneeded t $i &quot;set x $i; package provide t $i&quot;
    }
    set x xxx
    package require t 2.1
    set x
} {2.4}
test pkg-2.6 {Tcl_PkgRequire procedure, can't find suitable version} {
    package forget t
    package unknown {}
    foreach i {1.4 3.4 2.3 2.4 2.2} {
	package ifneeded t $i &quot;set x $i&quot;
    }
    list [catch {package require t 2.5} msg] $msg
} {1 {can't find package t 2.5}}
test pkg-2.7 {Tcl_PkgRequire procedure, can't find suitable version} {
    package forget t
    package unknown {}
    foreach i {1.4 3.4 2.3 2.4 2.2} {
	package ifneeded t $i &quot;set x $i&quot;
    }
    list [catch {package require t 4.1} msg] $msg
} {1 {can't find package t 4.1}}
test pkg-2.8 {Tcl_PkgRequire procedure, can't find suitable version} {
    package forget t
    package unknown {}
    foreach i {1.4 3.4 2.3 2.4 2.2} {
	package ifneeded t $i &quot;set x $i&quot;
    }
    list [catch {package require -exact t 1.3} msg] $msg
} {1 {can't find package t 1.3}}
test pkg-2.9 {Tcl_PkgRequire procedure, can't find suitable version} {
    package forget t
    package unknown {}
    list [catch {package require t} msg] $msg
} {1 {can't find package t}}
test pkg-2.10 {Tcl_PkgRequire procedure, error in ifneeded script} {
    package forget t
    package ifneeded t 2.1 {package provide t 2.1; error &quot;ifneeded test&quot;}
    list [catch {package require t 2.1} msg] $msg $errorInfo
} {1 {ifneeded test} {ifneeded test
    while executing
&quot;error &quot;ifneeded test&quot;&quot;
    (&quot;package ifneeded&quot; script)
    invoked from within
&quot;package require t 2.1&quot;}}
test pkg-2.11 {Tcl_PkgRequire procedure, ifneeded script doesn't provide package} {
    package forget t
    package ifneeded t 2.1 &quot;set x invoked&quot;
    set x xxx
    list [catch {package require t 2.1} msg] $msg $x
} {1 {can't find package t 2.1} invoked}
test pkg-2.12 {Tcl_PkgRequire procedure, self-deleting script} {
    package forget t
    package ifneeded t 1.2 &quot;package forget t; set x 1.2; package provide t 1.2&quot;
    set x xxx
    package require t 1.2
    set x
} {1.2}
test pkg-2.13 {Tcl_PkgRequire procedure, &quot;package unknown&quot; support} {
    proc pkgUnknown args {
	global x
	set x $args
	package provide [lindex $args 0] [lindex $args 1]
    }
    package forget t
    foreach i {1.4 3.4 2.3 2.4 2.2} {
	package ifneeded t $i &quot;set x $i&quot;
    }
    package unknown pkgUnknown
    set x xxx
    package require -exact t 1.5
    package unknown {}
    set x
} {t 1.5 -exact}
test pkg-2.14 {Tcl_PkgRequire procedure, &quot;package unknown&quot; support} {
    proc pkgUnknown args {
	package ifneeded t 1.2 &quot;set x loaded; package provide t 1.2&quot;
    }
    package forget t
    package unknown pkgUnknown
    set x xxx
    set result [list [package require t] $x]
    package unknown {}
    set result
} {1.2 loaded}
test pkg-2.15 {Tcl_PkgRequire procedure, &quot;package unknown&quot; support} {
    proc pkgUnknown args {
	global x
	set x $args
	package provide [lindex $args 0] 2.0
    }
    package forget {a b}
    package unknown pkgUnknown
    set x xxx
    package require {a b}
    package unknown {}
    set x
} {{a b} {}}
test pkg-2.16 {Tcl_PkgRequire procedure, &quot;package unknown&quot; error} {
    proc pkgUnknown args {
	error &quot;testing package unknown&quot;
    }
    package forget t 
    package unknown pkgUnknown
    set result [list [catch {package require t} msg] $msg $errorInfo]
    package unknown {}
    set result
} {1 {testing package unknown} {testing package unknown
    while executing
&quot;error &quot;testing package unknown&quot;&quot;
    (procedure &quot;pkgUnknown&quot; line 2)
    invoked from within
&quot;pkgUnknown t {}&quot;
    (&quot;package unknown&quot; script)
    invoked from within
&quot;package require t&quot;}}
test pkg-2.17 {Tcl_PkgRequire procedure, &quot;package unknown&quot; doesn't load package} {
    proc pkgUnknown args {
	global x
	set x $args
    }
    package forget t
    foreach i {1.4 3.4 2.3 2.4 2.2} {
	package ifneeded t $i &quot;set x $i&quot;
    }
    package unknown pkgUnknown
    set x xxx
    set result [list [catch {package require -exact t 1.5} msg] $msg $x]
    package unknown {}
    set result
} {1 {can't find package t 1.5} {t 1.5 -exact}}
test pkg-2.18 {Tcl_PkgRequire procedure, version checks} {
    package forget t
    package provide t 2.3
    package require t
} {2.3}
test pkg-2.19 {Tcl_PkgRequire procedure, version checks} {
    package forget t
    package provide t 2.3
    package require t 2.1
} {2.3}
test pkg-2.20 {Tcl_PkgRequire procedure, version checks} {
    package forget t
    package provide t 2.3
    package require t 2.3
} {2.3}
test pkg-2.21 {Tcl_PkgRequire procedure, version checks} {
    package forget t
    package provide t 2.3
    list [catch {package require t 2.4} msg] $msg
} {1 {version conflict for package &quot;t&quot;: have 2.3, need 2.4}}
test pkg-2.22 {Tcl_PkgRequire procedure, version checks} {
    package forget t
    package provide t 2.3
    list [catch {package require t 1.2} msg] $msg
} {1 {version conflict for package &quot;t&quot;: have 2.3, need 1.2}}
test pkg-2.23 {Tcl_PkgRequire procedure, version checks} {
    package forget t
    package provide t 2.3
    package require -exact t 2.3
} {2.3}
test pkg-2.24 {Tcl_PkgRequire procedure, version checks} {
    package forget t
    package provide t 2.3
    list [catch {package require -exact t 2.2} msg] $msg
} {1 {version conflict for package &quot;t&quot;: have 2.3, need 2.2}}

test pkg-3.1 {Tcl_PackageCmd procedure} {
    list [catch {package} msg] $msg
} {1 {wrong # args: should be &quot;package option ?arg arg ...?&quot;}}
test pkg-3.2 {Tcl_PackageCmd procedure, &quot;forget&quot; option} {
    foreach i [package names] {
	package forget $i
    }
    package names
} {}
test pkg-3.3 {Tcl_PackageCmd procedure, &quot;forget&quot; option} {
    foreach i [package names] {
	package forget $i
    }
    package forget foo
} {}
test pkg-3.4 {Tcl_PackageCmd procedure, &quot;forget&quot; option} {
    foreach i [package names] {
	package forget $i
    }
    package ifneeded t 1.1 {first script}
    package ifneeded t 2.3 {second script}
    package ifneeded x 1.4 {x's script}
    set result {}
    lappend result [lsort [package names]] [package versions t]
    package forget t
    lappend result [lsort [package names]] [package versions t]
} {{t x} {1.1 2.3} x {}}
test pkg-3.5 {Tcl_PackageCmd procedure, &quot;forget&quot; option} {
    foreach i [package names] {
	package forget $i
    }
    package ifneeded a 1.1 {first script}
    package ifneeded b 2.3 {second script}
    package ifneeded c 1.4 {third script}
    package forget
    set result [list [lsort [package names]]]
    package forget a c
    lappend result [lsort [package names]]
} {{a b c} b}
test pkg-3.6 {Tcl_PackageCmd procedure, &quot;ifneeded&quot; option} {
    list [catch {package ifneeded a} msg] $msg
} {1 {wrong # args: should be &quot;package ifneeded package version ?script?&quot;}}
test pkg-3.7 {Tcl_PackageCmd procedure, &quot;ifneeded&quot; option} {
    list [catch {package ifneeded a b c d} msg] $msg
} {1 {wrong # args: should be &quot;package ifneeded package version ?script?&quot;}}
test pkg-3.8 {Tcl_PackageCmd procedure, &quot;ifneeded&quot; option} {
    list [catch {package ifneeded t xyz} msg] $msg
} {1 {expected version number but got &quot;xyz&quot;}}
test pkg-3.9 {Tcl_PackageCmd procedure, &quot;ifneeded&quot; option} {
    foreach i [package names] {
	package forget $i
    }
    list [package ifneeded foo 1.1] [package names]
} {{} {}}
test pkg-3.10 {Tcl_PackageCmd procedure, &quot;ifneeded&quot; option} {
    package forget t
    package ifneeded t 1.4 &quot;script for t 1.4&quot;
    list [package names] [package ifneeded t 1.4] [package versions t]
} {t {script for t 1.4} 1.4}
test pkg-3.11 {Tcl_PackageCmd procedure, &quot;ifneeded&quot; option} {
    package forget t
    package ifneeded t 1.4 &quot;script for t 1.4&quot;
    list [package ifneeded t 1.5] [package names] [package versions t]
} {{} t 1.4}
test pkg-3.12 {Tcl_PackageCmd procedure, &quot;ifneeded&quot; option} {
    package forget t
    package ifneeded t 1.4 &quot;script for t 1.4&quot;
    package ifneeded t 1.4 &quot;second script for t 1.4&quot;
    list [package ifneeded t 1.4] [package names] [package versions t]
} {{second script for t 1.4} t 1.4}
test pkg-3.13 {Tcl_PackageCmd procedure, &quot;ifneeded&quot; option} {
    package forget t
    package ifneeded t 1.4 &quot;script for t 1.4&quot;
    package ifneeded t 1.2 &quot;second script&quot;
    package ifneeded t 3.1 &quot;last script&quot;
    list [package ifneeded t 1.2] [package versions t]
} {{second script} {1.4 1.2 3.1}}
test pkg-3.14 {Tcl_PackageCmd procedure, &quot;names&quot; option} {
    list [catch {package names a} msg] $msg
} {1 {wrong # args: should be &quot;package names&quot;}}
test pkg-3.15 {Tcl_PackageCmd procedure, &quot;names&quot; option} {
    foreach i [package names] {
	package forget $i
    }
    package names
} {}
test pkg-3.16 {Tcl_PackageCmd procedure, &quot;names&quot; option} {
    foreach i [package names] {
	package forget $i
    }
    package ifneeded x 1.2 {dummy}
    package provide x 1.3
    package provide y 2.4
    catch {package require z 47.16}
    lsort [package names]
} {x y}
test pkg-3.17 {Tcl_PackageCmd procedure, &quot;provide&quot; option} {
    list [catch {package provide} msg] $msg
} {1 {wrong # args: should be &quot;package provide package ?version?&quot;}}
test pkg-3.18 {Tcl_PackageCmd procedure, &quot;provide&quot; option} {
    list [catch {package provide a b c} msg] $msg
} {1 {wrong # args: should be &quot;package provide package ?version?&quot;}}
test pkg-3.19 {Tcl_PackageCmd procedure, &quot;provide&quot; option} {
    package forget t
    package provide t
} {}
test pkg-3.20 {Tcl_PackageCmd procedure, &quot;provide&quot; option} {
    package forget t
    package provide t 2.3
    package provide t
} {2.3}
test pkg-3.21 {Tcl_PackageCmd procedure, &quot;provide&quot; option} {
    package forget t
    list [catch {package provide t a.b} msg] $msg
} {1 {expected version number but got &quot;a.b&quot;}}
test pkg-3.22 {Tcl_PackageCmd procedure, &quot;require&quot; option} {
    list [catch {package require} msg] $msg
} {1 {wrong # args: should be &quot;package require ?-exact? package ?version?&quot;}}
test pkg-3.23 {Tcl_PackageCmd procedure, &quot;require&quot; option} {
    list [catch {package require a b c} msg] $msg
} {1 {wrong # args: should be &quot;package require ?-exact? package ?version?&quot;}}
test pkg-3.24 {Tcl_PackageCmd procedure, &quot;require&quot; option} {
    list [catch {package require -exact a b c} msg] $msg
} {1 {wrong # args: should be &quot;package require ?-exact? package ?version?&quot;}}
test pkg-3.25 {Tcl_PackageCmd procedure, &quot;require&quot; option} {
    list [catch {package require -bs a b} msg] $msg
} {1 {wrong # args: should be &quot;package require ?-exact? package ?version?&quot;}}
test pkg-3.26 {Tcl_PackageCmd procedure, &quot;require&quot; option} {
    list [catch {package require x a.b} msg] $msg
} {1 {expected version number but got &quot;a.b&quot;}}
test pkg-3.27 {Tcl_PackageCmd procedure, &quot;require&quot; option} {
    list [catch {package require -exact x a.b} msg] $msg
} {1 {expected version number but got &quot;a.b&quot;}}
test pkg-3.28 {Tcl_PackageCmd procedure, &quot;require&quot; option} {
    list [catch {package require -exact x} msg] $msg
} {1 {wrong # args: should be &quot;package require ?-exact? package ?version?&quot;}}
test pkg-3.29 {Tcl_PackageCmd procedure, &quot;require&quot; option} {
    list [catch {package require -exact} msg] $msg
} {1 {wrong # args: should be &quot;package require ?-exact? package ?version?&quot;}}
test pkg-3.30 {Tcl_PackageCmd procedure, &quot;require&quot; option} {
    package forget t
    package provide t 2.3
    package require t 2.1
} {2.3}
test pkg-3.31 {Tcl_PackageCmd procedure, &quot;require&quot; option} {
    package forget t
    list [catch {package require t} msg] $msg
} {1 {can't find package t}}
test pkg-3.32 {Tcl_PackageCmd procedure, &quot;require&quot; option} {
    package forget t
    package ifneeded t 2.3 &quot;error {synthetic error}&quot;
    list [catch {package require t 2.3} msg] $msg
} {1 {synthetic error}}
test pkg-3.33 {Tcl_PackageCmd procedure, &quot;unknown&quot; option} {
    list [catch {package unknown a b} msg] $msg
} {1 {wrong # args: should be &quot;package unknown ?command?&quot;}}
test pkg-3.34 {Tcl_PackageCmd procedure, &quot;unknown&quot; option} {
    package unknown &quot;test script&quot;
    package unknown
} {test script}
test pkg-3.35 {Tcl_PackageCmd procedure, &quot;unknown&quot; option} {
    package unknown &quot;test script&quot;
    package unknown {}
    package unknown
} {}
test pkg-3.36 {Tcl_PackageCmd procedure, &quot;vcompare&quot; option} {
    list [catch {package vcompare a} msg] $msg
} {1 {wrong # args: should be &quot;package vcompare version1 version2&quot;}}
test pkg-3.37 {Tcl_PackageCmd procedure, &quot;vcompare&quot; option} {
    list [catch {package vcompare a b c} msg] $msg
} {1 {wrong # args: should be &quot;package vcompare version1 version2&quot;}}
test pkg-3.38 {Tcl_PackageCmd procedure, &quot;vcompare&quot; option} {
    list [catch {package vcompare x.y 3.4} msg] $msg
} {1 {expected version number but got &quot;x.y&quot;}}
test pkg-3.39 {Tcl_PackageCmd procedure, &quot;vcompare&quot; option} {
    list [catch {package vcompare 2.1 a.b} msg] $msg
} {1 {expected version number but got &quot;a.b&quot;}}
test pkg-3.40 {Tcl_PackageCmd procedure, &quot;vcompare&quot; option} {
    package vc 2.1 2.3
} {-1}
test pkg-3.41 {Tcl_PackageCmd procedure, &quot;vcompare&quot; option} {
    package vc 2.2.4 2.2.4
} {0}
test pkg-3.42 {Tcl_PackageCmd procedure, &quot;versions&quot; option} {
    list [catch {package versions} msg] $msg
} {1 {wrong # args: should be &quot;package versions package&quot;}}
test pkg-3.43 {Tcl_PackageCmd procedure, &quot;versions&quot; option} {
    list [catch {package versions a b} msg] $msg
} {1 {wrong # args: should be &quot;package versions package&quot;}}
test pkg-3.44 {Tcl_PackageCmd procedure, &quot;versions&quot; option} {
    package forget t
    package versions t
} {}
test pkg-3.45 {Tcl_PackageCmd procedure, &quot;versions&quot; option} {
    package forget t
    package provide t 2.3
    package versions t
} {}
test pkg-3.46 {Tcl_PackageCmd procedure, &quot;versions&quot; option} {
    package forget t
    package ifneeded t 2.3 x
    package ifneeded t 2.4 y
    package versions t
} {2.3 2.4}
test pkg-3.47 {Tcl_PackageCmd procedure, &quot;vsatisfies&quot; option} {
    list [catch {package vsatisfies a} msg] $msg
} {1 {wrong # args: should be &quot;package vsatisfies version1 version2&quot;}}
test pkg-3.48 {Tcl_PackageCmd procedure, &quot;vsatisfies&quot; option} {
    list [catch {package vsatisfies a b c} msg] $msg
} {1 {wrong # args: should be &quot;package vsatisfies version1 version2&quot;}}
test pkg-3.49 {Tcl_PackageCmd procedure, &quot;vsatisfies&quot; option} {
    list [catch {package vsatisfies x.y 3.4} msg] $msg
} {1 {expected version number but got &quot;x.y&quot;}}
test pkg-3.50 {Tcl_PackageCmd procedure, &quot;vsatisfies&quot; option} {
    list [catch {package vcompare 2.1 a.b} msg] $msg
} {1 {expected version number but got &quot;a.b&quot;}}
test pkg-3.51 {Tcl_PackageCmd procedure, &quot;vsatisfies&quot; option} {
    package vs 2.3 2.1
} {1}
test pkg-3.52 {Tcl_PackageCmd procedure, &quot;vsatisfies&quot; option} {
    package vs 2.3 1.2
} {0}
test pkg-3.53 {Tcl_PackageCmd procedure, &quot;versions&quot; option} {
    list [catch {package foo} msg] $msg
} {1 {bad option &quot;foo&quot;: should be forget, ifneeded, names, provide, require, unknown, vcompare, versions, or vsatisfies}}

# No tests for FindPackage;  can't think up anything detectable
# errors.

test pkg-4.1 {TclFreePackageInfo procedure} {
    interp create foo
    foo eval {
	package ifneeded t 2.3 x
	package ifneeded t 2.4 y
	package ifneeded x 3.1 z
	package provide q 4.3
	package unknown &quot;will this get freed?&quot;
    }
    interp delete foo
} {}
test pkg-4.2 {TclFreePackageInfo procedure} {
    interp create foo
    foo eval {
	package ifneeded t 2.3 x
	package ifneeded t 2.4 y
	package ifneeded x 3.1 z
	package provide q 4.3
    }
    foo alias z kill
    proc kill {} {
	interp delete foo
    }
    list [catch {foo eval package require x 3.1} msg] $msg
} {1 {can't find package x 3.1}}

test pkg-5.1 {CheckVersion procedure} {
    list [catch {package vcompare 1 2.1} msg] $msg
} {0 -1}
test pkg-5.2 {CheckVersion procedure} {
    list [catch {package vcompare .1 2.1} msg] $msg
} {1 {expected version number but got &quot;.1&quot;}}
test pkg-5.3 {CheckVersion procedure} {
    list [catch {package vcompare 111.2a.3 2.1} msg] $msg
} {1 {expected version number but got &quot;111.2a.3&quot;}}
test pkg-5.4 {CheckVersion procedure} {
    list [catch {package vcompare 1.2.3. 2.1} msg] $msg
} {1 {expected version number but got &quot;1.2.3.&quot;}}

test pkg-6.1 {ComparePkgVersions procedure} {
    package vcompare 1.23 1.22
} {1}
test pkg-6.2 {ComparePkgVersions procedure} {
    package vcompare 1.22.1.2.3 1.22.1.2.3
} {0}
test pkg-6.3 {ComparePkgVersions procedure} {
    package vcompare 1.21 1.22
} {-1}
test pkg-6.4 {ComparePkgVersions procedure} {
    package vcompare 1.21 1.21.2
} {-1}
test pkg-6.5 {ComparePkgVersions procedure} {
    package vcompare 1.21.1 1.21
} {1}
test pkg-6.6 {ComparePkgVersions procedure} {
    package vsatisfies 1.21.1 1.21
} {1}
test pkg-6.7 {ComparePkgVersions procedure} {
    package vsatisfies 2.22.3 1.21
} {0}
test pkg-6.8 {ComparePkgVersions procedure} {
    package vsatisfies 1 1
} {1}
test pkg-6.9 {ComparePkgVersions procedure} {
    package vsatisfies 2 1
} {0}

set auto_path $oldPath
package unknown $oldPkgUnknown
concat

}
interp delete $i
</code></pre></td></tr></table>
</div> <!-- class=content -->
<div class='footer'>generated by <a href='http://git.zx2c4.com/cgit/about/'>cgit v0.12</a> at 2025-03-07 06:07:13 (GMT)</div>
</div> <!-- id=cgit -->
</body>
</html>