prasb commited on
Commit
de75ef1
·
verified ·
1 Parent(s): 0b51b3a

Add files using upload-large-folder tool

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +1 -0
  2. my_container_sandbox/workspace/anaconda3/lib/libyaml-0.so.2.0.9 +3 -0
  3. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/af_za.msg +6 -0
  4. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/be.msg +52 -0
  5. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/de.msg +54 -0
  6. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/de_at.msg +35 -0
  7. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/en_au.msg +7 -0
  8. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/en_bw.msg +6 -0
  9. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/en_ie.msg +7 -0
  10. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/en_in.msg +8 -0
  11. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/en_nz.msg +7 -0
  12. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/en_ph.msg +8 -0
  13. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/en_za.msg +6 -0
  14. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/es.msg +52 -0
  15. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/es_ec.msg +6 -0
  16. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/es_mx.msg +6 -0
  17. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/es_pr.msg +6 -0
  18. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/eu_es.msg +7 -0
  19. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/fr.msg +52 -0
  20. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/fr_ca.msg +7 -0
  21. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/fr_ch.msg +7 -0
  22. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/ga_ie.msg +7 -0
  23. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/gl_es.msg +6 -0
  24. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/gv.msg +47 -0
  25. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/hi.msg +39 -0
  26. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/id.msg +47 -0
  27. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/is.msg +50 -0
  28. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/it.msg +54 -0
  29. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/it_ch.msg +6 -0
  30. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/kw_gb.msg +6 -0
  31. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/ms_my.msg +6 -0
  32. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/mt.msg +27 -0
  33. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/nn.msg +52 -0
  34. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/pl.msg +52 -0
  35. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/pt.msg +50 -0
  36. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/ru_ua.msg +6 -0
  37. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/sh.msg +52 -0
  38. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/sq.msg +54 -0
  39. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/sw.msg +49 -0
  40. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/te.msg +47 -0
  41. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/uk.msg +52 -0
  42. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/zh_hk.msg +28 -0
  43. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/zh_tw.msg +8 -0
  44. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/opt0.4/optparse.tcl +1072 -0
  45. my_container_sandbox/workspace/anaconda3/lib/tcl8.6/opt0.4/pkgIndex.tcl +12 -0
  46. my_container_sandbox/workspace/anaconda3/lib/tk8.6/demos/anilabel.tcl +160 -0
  47. my_container_sandbox/workspace/anaconda3/lib/tk8.6/demos/bind.tcl +78 -0
  48. my_container_sandbox/workspace/anaconda3/lib/tk8.6/demos/button.tcl +47 -0
  49. my_container_sandbox/workspace/anaconda3/lib/tk8.6/demos/colors.tcl +99 -0
  50. my_container_sandbox/workspace/anaconda3/lib/tk8.6/demos/dialog1.tcl +25 -0
.gitattributes CHANGED
@@ -156,3 +156,4 @@ my_container_sandbox/workspace/anaconda3/lib/libpython3.8.so.1.0 filter=lfs diff
156
  my_container_sandbox/workspace/anaconda3/lib/libyaml.a filter=lfs diff=lfs merge=lfs -text
157
  my_container_sandbox/workspace/anaconda3/lib/libnppial.so.11.3.3.95 filter=lfs diff=lfs merge=lfs -text
158
  my_container_sandbox/workspace/anaconda3/lib/libnppisu.so.11.3.3.95 filter=lfs diff=lfs merge=lfs -text
 
 
156
  my_container_sandbox/workspace/anaconda3/lib/libyaml.a filter=lfs diff=lfs merge=lfs -text
157
  my_container_sandbox/workspace/anaconda3/lib/libnppial.so.11.3.3.95 filter=lfs diff=lfs merge=lfs -text
158
  my_container_sandbox/workspace/anaconda3/lib/libnppisu.so.11.3.3.95 filter=lfs diff=lfs merge=lfs -text
159
+ my_container_sandbox/workspace/anaconda3/lib/libyaml-0.so.2.0.9 filter=lfs diff=lfs merge=lfs -text
my_container_sandbox/workspace/anaconda3/lib/libyaml-0.so.2.0.9 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ea079a6864ca10a6f8ea7d2d312c71121f5c966dc8e334f713a3bc8eb242ee49
3
+ size 125072
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/af_za.msg ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset af_ZA DATE_FORMAT "%d %B %Y"
4
+ ::msgcat::mcset af_ZA TIME_FORMAT_12 "%l:%M:%S %P"
5
+ ::msgcat::mcset af_ZA DATE_TIME_FORMAT "%d %B %Y %l:%M:%S %P %z"
6
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/be.msg ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset be DAYS_OF_WEEK_ABBREV [list \
4
+ "\u043d\u0434"\
5
+ "\u043f\u043d"\
6
+ "\u0430\u0442"\
7
+ "\u0441\u0440"\
8
+ "\u0447\u0446"\
9
+ "\u043f\u0442"\
10
+ "\u0441\u0431"]
11
+ ::msgcat::mcset be DAYS_OF_WEEK_FULL [list \
12
+ "\u043d\u044f\u0434\u0437\u0435\u043b\u044f"\
13
+ "\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a"\
14
+ "\u0430\u045e\u0442\u043e\u0440\u0430\u043a"\
15
+ "\u0441\u0435\u0440\u0430\u0434\u0430"\
16
+ "\u0447\u0430\u0446\u0432\u0435\u0440"\
17
+ "\u043f\u044f\u0442\u043d\u0456\u0446\u0430"\
18
+ "\u0441\u0443\u0431\u043e\u0442\u0430"]
19
+ ::msgcat::mcset be MONTHS_ABBREV [list \
20
+ "\u0441\u0442\u0434"\
21
+ "\u043b\u044e\u0442"\
22
+ "\u0441\u043a\u0432"\
23
+ "\u043a\u0440\u0441"\
24
+ "\u043c\u0430\u0439"\
25
+ "\u0447\u0440\u0432"\
26
+ "\u043b\u043f\u043d"\
27
+ "\u0436\u043d\u0432"\
28
+ "\u0432\u0440\u0441"\
29
+ "\u043a\u0441\u0442"\
30
+ "\u043b\u0441\u0442"\
31
+ "\u0441\u043d\u0436"\
32
+ ""]
33
+ ::msgcat::mcset be MONTHS_FULL [list \
34
+ "\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f"\
35
+ "\u043b\u044e\u0442\u0430\u0433\u0430"\
36
+ "\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430"\
37
+ "\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430"\
38
+ "\u043c\u0430\u044f"\
39
+ "\u0447\u0440\u0432\u0435\u043d\u044f"\
40
+ "\u043b\u0456\u043f\u0435\u043d\u044f"\
41
+ "\u0436\u043d\u0456\u045e\u043d\u044f"\
42
+ "\u0432\u0435\u0440\u0430\u0441\u043d\u044f"\
43
+ "\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430"\
44
+ "\u043b\u0438\u0441\u0442\u0430\u043f\u0430\u0434\u0430"\
45
+ "\u0441\u043d\u0435\u0436\u043d\u044f"\
46
+ ""]
47
+ ::msgcat::mcset be BCE "\u0434\u0430 \u043d.\u0435."
48
+ ::msgcat::mcset be CE "\u043d.\u0435."
49
+ ::msgcat::mcset be DATE_FORMAT "%e.%m.%Y"
50
+ ::msgcat::mcset be TIME_FORMAT "%k.%M.%S"
51
+ ::msgcat::mcset be DATE_TIME_FORMAT "%e.%m.%Y %k.%M.%S %z"
52
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/de.msg ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset de DAYS_OF_WEEK_ABBREV [list \
4
+ "So"\
5
+ "Mo"\
6
+ "Di"\
7
+ "Mi"\
8
+ "Do"\
9
+ "Fr"\
10
+ "Sa"]
11
+ ::msgcat::mcset de DAYS_OF_WEEK_FULL [list \
12
+ "Sonntag"\
13
+ "Montag"\
14
+ "Dienstag"\
15
+ "Mittwoch"\
16
+ "Donnerstag"\
17
+ "Freitag"\
18
+ "Samstag"]
19
+ ::msgcat::mcset de MONTHS_ABBREV [list \
20
+ "Jan"\
21
+ "Feb"\
22
+ "Mrz"\
23
+ "Apr"\
24
+ "Mai"\
25
+ "Jun"\
26
+ "Jul"\
27
+ "Aug"\
28
+ "Sep"\
29
+ "Okt"\
30
+ "Nov"\
31
+ "Dez"\
32
+ ""]
33
+ ::msgcat::mcset de MONTHS_FULL [list \
34
+ "Januar"\
35
+ "Februar"\
36
+ "M\u00e4rz"\
37
+ "April"\
38
+ "Mai"\
39
+ "Juni"\
40
+ "Juli"\
41
+ "August"\
42
+ "September"\
43
+ "Oktober"\
44
+ "November"\
45
+ "Dezember"\
46
+ ""]
47
+ ::msgcat::mcset de BCE "v. Chr."
48
+ ::msgcat::mcset de CE "n. Chr."
49
+ ::msgcat::mcset de AM "vorm."
50
+ ::msgcat::mcset de PM "nachm."
51
+ ::msgcat::mcset de DATE_FORMAT "%d.%m.%Y"
52
+ ::msgcat::mcset de TIME_FORMAT "%H:%M:%S"
53
+ ::msgcat::mcset de DATE_TIME_FORMAT "%d.%m.%Y %H:%M:%S %z"
54
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/de_at.msg ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset de_AT MONTHS_ABBREV [list \
4
+ "J\u00e4n"\
5
+ "Feb"\
6
+ "M\u00e4r"\
7
+ "Apr"\
8
+ "Mai"\
9
+ "Jun"\
10
+ "Jul"\
11
+ "Aug"\
12
+ "Sep"\
13
+ "Okt"\
14
+ "Nov"\
15
+ "Dez"\
16
+ ""]
17
+ ::msgcat::mcset de_AT MONTHS_FULL [list \
18
+ "J\u00e4nner"\
19
+ "Februar"\
20
+ "M\u00e4rz"\
21
+ "April"\
22
+ "Mai"\
23
+ "Juni"\
24
+ "Juli"\
25
+ "August"\
26
+ "September"\
27
+ "Oktober"\
28
+ "November"\
29
+ "Dezember"\
30
+ ""]
31
+ ::msgcat::mcset de_AT DATE_FORMAT "%Y-%m-%d"
32
+ ::msgcat::mcset de_AT TIME_FORMAT "%T"
33
+ ::msgcat::mcset de_AT TIME_FORMAT_12 "%T"
34
+ ::msgcat::mcset de_AT DATE_TIME_FORMAT "%a %d %b %Y %T %z"
35
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/en_au.msg ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset en_AU DATE_FORMAT "%e/%m/%Y"
4
+ ::msgcat::mcset en_AU TIME_FORMAT "%H:%M:%S"
5
+ ::msgcat::mcset en_AU TIME_FORMAT_12 "%I:%M:%S %P %z"
6
+ ::msgcat::mcset en_AU DATE_TIME_FORMAT "%e/%m/%Y %H:%M:%S %z"
7
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/en_bw.msg ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset en_BW DATE_FORMAT "%d %B %Y"
4
+ ::msgcat::mcset en_BW TIME_FORMAT_12 "%l:%M:%S %P"
5
+ ::msgcat::mcset en_BW DATE_TIME_FORMAT "%d %B %Y %l:%M:%S %P %z"
6
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/en_ie.msg ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset en_IE DATE_FORMAT "%d/%m/%y"
4
+ ::msgcat::mcset en_IE TIME_FORMAT "%T"
5
+ ::msgcat::mcset en_IE TIME_FORMAT_12 "%T"
6
+ ::msgcat::mcset en_IE DATE_TIME_FORMAT "%a %d %b %Y %T %z"
7
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/en_in.msg ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset en_IN AM "AM"
4
+ ::msgcat::mcset en_IN PM "PM"
5
+ ::msgcat::mcset en_IN DATE_FORMAT "%d %B %Y"
6
+ ::msgcat::mcset en_IN TIME_FORMAT "%H:%M:%S"
7
+ ::msgcat::mcset en_IN DATE_TIME_FORMAT "%d %B %Y %H:%M:%S %z"
8
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/en_nz.msg ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset en_NZ DATE_FORMAT "%e/%m/%Y"
4
+ ::msgcat::mcset en_NZ TIME_FORMAT "%H:%M:%S"
5
+ ::msgcat::mcset en_NZ TIME_FORMAT_12 "%I:%M:%S %P %z"
6
+ ::msgcat::mcset en_NZ DATE_TIME_FORMAT "%e/%m/%Y %H:%M:%S %z"
7
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/en_ph.msg ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset en_PH AM "AM"
4
+ ::msgcat::mcset en_PH PM "PM"
5
+ ::msgcat::mcset en_PH DATE_FORMAT "%B %e, %Y"
6
+ ::msgcat::mcset en_PH TIME_FORMAT_12 "%l:%M:%S %P"
7
+ ::msgcat::mcset en_PH DATE_TIME_FORMAT "%B %e, %Y %l:%M:%S %P %z"
8
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/en_za.msg ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset en_ZA DATE_FORMAT "%Y/%m/%d"
4
+ ::msgcat::mcset en_ZA TIME_FORMAT_12 "%I:%M:%S"
5
+ ::msgcat::mcset en_ZA DATE_TIME_FORMAT "%Y/%m/%d %I:%M:%S %z"
6
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/es.msg ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset es DAYS_OF_WEEK_ABBREV [list \
4
+ "dom"\
5
+ "lun"\
6
+ "mar"\
7
+ "mi\u00e9"\
8
+ "jue"\
9
+ "vie"\
10
+ "s\u00e1b"]
11
+ ::msgcat::mcset es DAYS_OF_WEEK_FULL [list \
12
+ "domingo"\
13
+ "lunes"\
14
+ "martes"\
15
+ "mi\u00e9rcoles"\
16
+ "jueves"\
17
+ "viernes"\
18
+ "s\u00e1bado"]
19
+ ::msgcat::mcset es MONTHS_ABBREV [list \
20
+ "ene"\
21
+ "feb"\
22
+ "mar"\
23
+ "abr"\
24
+ "may"\
25
+ "jun"\
26
+ "jul"\
27
+ "ago"\
28
+ "sep"\
29
+ "oct"\
30
+ "nov"\
31
+ "dic"\
32
+ ""]
33
+ ::msgcat::mcset es MONTHS_FULL [list \
34
+ "enero"\
35
+ "febrero"\
36
+ "marzo"\
37
+ "abril"\
38
+ "mayo"\
39
+ "junio"\
40
+ "julio"\
41
+ "agosto"\
42
+ "septiembre"\
43
+ "octubre"\
44
+ "noviembre"\
45
+ "diciembre"\
46
+ ""]
47
+ ::msgcat::mcset es BCE "a.C."
48
+ ::msgcat::mcset es CE "d.C."
49
+ ::msgcat::mcset es DATE_FORMAT "%e de %B de %Y"
50
+ ::msgcat::mcset es TIME_FORMAT "%k:%M:%S"
51
+ ::msgcat::mcset es DATE_TIME_FORMAT "%e de %B de %Y %k:%M:%S %z"
52
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/es_ec.msg ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset es_EC DATE_FORMAT "%d/%m/%Y"
4
+ ::msgcat::mcset es_EC TIME_FORMAT_12 "%I:%M:%S %P"
5
+ ::msgcat::mcset es_EC DATE_TIME_FORMAT "%d/%m/%Y %I:%M:%S %P %z"
6
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/es_mx.msg ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset es_MX DATE_FORMAT "%e/%m/%Y"
4
+ ::msgcat::mcset es_MX TIME_FORMAT_12 "%I:%M:%S %P"
5
+ ::msgcat::mcset es_MX DATE_TIME_FORMAT "%e/%m/%Y %I:%M:%S %P %z"
6
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/es_pr.msg ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset es_PR DATE_FORMAT "%m-%d-%Y"
4
+ ::msgcat::mcset es_PR TIME_FORMAT_12 "%I:%M:%S %P"
5
+ ::msgcat::mcset es_PR DATE_TIME_FORMAT "%m-%d-%Y %I:%M:%S %P %z"
6
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/eu_es.msg ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset eu_ES DATE_FORMAT "%a, %Yeko %bren %da"
4
+ ::msgcat::mcset eu_ES TIME_FORMAT "%T"
5
+ ::msgcat::mcset eu_ES TIME_FORMAT_12 "%T"
6
+ ::msgcat::mcset eu_ES DATE_TIME_FORMAT "%y-%m-%d %T %z"
7
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/fr.msg ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset fr DAYS_OF_WEEK_ABBREV [list \
4
+ "dim."\
5
+ "lun."\
6
+ "mar."\
7
+ "mer."\
8
+ "jeu."\
9
+ "ven."\
10
+ "sam."]
11
+ ::msgcat::mcset fr DAYS_OF_WEEK_FULL [list \
12
+ "dimanche"\
13
+ "lundi"\
14
+ "mardi"\
15
+ "mercredi"\
16
+ "jeudi"\
17
+ "vendredi"\
18
+ "samedi"]
19
+ ::msgcat::mcset fr MONTHS_ABBREV [list \
20
+ "janv."\
21
+ "f\u00e9vr."\
22
+ "mars"\
23
+ "avr."\
24
+ "mai"\
25
+ "juin"\
26
+ "juil."\
27
+ "ao\u00fbt"\
28
+ "sept."\
29
+ "oct."\
30
+ "nov."\
31
+ "d\u00e9c."\
32
+ ""]
33
+ ::msgcat::mcset fr MONTHS_FULL [list \
34
+ "janvier"\
35
+ "f\u00e9vrier"\
36
+ "mars"\
37
+ "avril"\
38
+ "mai"\
39
+ "juin"\
40
+ "juillet"\
41
+ "ao\u00fbt"\
42
+ "septembre"\
43
+ "octobre"\
44
+ "novembre"\
45
+ "d\u00e9cembre"\
46
+ ""]
47
+ ::msgcat::mcset fr BCE "av. J.-C."
48
+ ::msgcat::mcset fr CE "ap. J.-C."
49
+ ::msgcat::mcset fr DATE_FORMAT "%e %B %Y"
50
+ ::msgcat::mcset fr TIME_FORMAT "%H:%M:%S"
51
+ ::msgcat::mcset fr DATE_TIME_FORMAT "%e %B %Y %H:%M:%S %z"
52
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/fr_ca.msg ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset fr_CA DATE_FORMAT "%Y-%m-%d"
4
+ ::msgcat::mcset fr_CA TIME_FORMAT "%T"
5
+ ::msgcat::mcset fr_CA TIME_FORMAT_12 "%T"
6
+ ::msgcat::mcset fr_CA DATE_TIME_FORMAT "%a %d %b %Y %T %z"
7
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/fr_ch.msg ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset fr_CH DATE_FORMAT "%d. %m. %y"
4
+ ::msgcat::mcset fr_CH TIME_FORMAT "%T"
5
+ ::msgcat::mcset fr_CH TIME_FORMAT_12 "%T"
6
+ ::msgcat::mcset fr_CH DATE_TIME_FORMAT "%a %d %b %Y %T %z"
7
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/ga_ie.msg ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset ga_IE DATE_FORMAT "%d.%m.%y"
4
+ ::msgcat::mcset ga_IE TIME_FORMAT "%T"
5
+ ::msgcat::mcset ga_IE TIME_FORMAT_12 "%T"
6
+ ::msgcat::mcset ga_IE DATE_TIME_FORMAT "%a %d %b %Y %T %z"
7
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/gl_es.msg ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset gl_ES DATE_FORMAT "%d %B %Y"
4
+ ::msgcat::mcset gl_ES TIME_FORMAT_12 "%l:%M:%S %P"
5
+ ::msgcat::mcset gl_ES DATE_TIME_FORMAT "%d %B %Y %l:%M:%S %P %z"
6
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/gv.msg ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset gv DAYS_OF_WEEK_ABBREV [list \
4
+ "Jed"\
5
+ "Jel"\
6
+ "Jem"\
7
+ "Jerc"\
8
+ "Jerd"\
9
+ "Jeh"\
10
+ "Jes"]
11
+ ::msgcat::mcset gv DAYS_OF_WEEK_FULL [list \
12
+ "Jedoonee"\
13
+ "Jelhein"\
14
+ "Jemayrt"\
15
+ "Jercean"\
16
+ "Jerdein"\
17
+ "Jeheiney"\
18
+ "Jesarn"]
19
+ ::msgcat::mcset gv MONTHS_ABBREV [list \
20
+ "J-guer"\
21
+ "T-arree"\
22
+ "Mayrnt"\
23
+ "Avrril"\
24
+ "Boaldyn"\
25
+ "M-souree"\
26
+ "J-souree"\
27
+ "Luanistyn"\
28
+ "M-fouyir"\
29
+ "J-fouyir"\
30
+ "M.Houney"\
31
+ "M.Nollick"\
32
+ ""]
33
+ ::msgcat::mcset gv MONTHS_FULL [list \
34
+ "Jerrey-geuree"\
35
+ "Toshiaght-arree"\
36
+ "Mayrnt"\
37
+ "Averil"\
38
+ "Boaldyn"\
39
+ "Mean-souree"\
40
+ "Jerrey-souree"\
41
+ "Luanistyn"\
42
+ "Mean-fouyir"\
43
+ "Jerrey-fouyir"\
44
+ "Mee Houney"\
45
+ "Mee ny Nollick"\
46
+ ""]
47
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/hi.msg ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset hi DAYS_OF_WEEK_FULL [list \
4
+ "\u0930\u0935\u093f\u0935\u093e\u0930"\
5
+ "\u0938\u094b\u092e\u0935\u093e\u0930"\
6
+ "\u092e\u0902\u0917\u0932\u0935\u093e\u0930"\
7
+ "\u092c\u0941\u0927\u0935\u093e\u0930"\
8
+ "\u0917\u0941\u0930\u0941\u0935\u093e\u0930"\
9
+ "\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930"\
10
+ "\u0936\u0928\u093f\u0935\u093e\u0930"]
11
+ ::msgcat::mcset hi MONTHS_ABBREV [list \
12
+ "\u091c\u0928\u0935\u0930\u0940"\
13
+ "\u092b\u093c\u0930\u0935\u0930\u0940"\
14
+ "\u092e\u093e\u0930\u094d\u091a"\
15
+ "\u0905\u092a\u094d\u0930\u0947\u0932"\
16
+ "\u092e\u0908"\
17
+ "\u091c\u0942\u0928"\
18
+ "\u091c\u0941\u0932\u093e\u0908"\
19
+ "\u0905\u0917\u0938\u094d\u0924"\
20
+ "\u0938\u093f\u0924\u092e\u094d\u092c\u0930"\
21
+ "\u0905\u0915\u094d\u091f\u0942\u092c\u0930"\
22
+ "\u0928\u0935\u092e\u094d\u092c\u0930"\
23
+ "\u0926\u093f\u0938\u092e\u094d\u092c\u0930"]
24
+ ::msgcat::mcset hi MONTHS_FULL [list \
25
+ "\u091c\u0928\u0935\u0930\u0940"\
26
+ "\u092b\u093c\u0930\u0935\u0930\u0940"\
27
+ "\u092e\u093e\u0930\u094d\u091a"\
28
+ "\u0905\u092a\u094d\u0930\u0947\u0932"\
29
+ "\u092e\u0908"\
30
+ "\u091c\u0942\u0928"\
31
+ "\u091c\u0941\u0932\u093e\u0908"\
32
+ "\u0905\u0917\u0938\u094d\u0924"\
33
+ "\u0938\u093f\u0924\u092e\u094d\u092c\u0930"\
34
+ "\u0905\u0915\u094d\u091f\u0942\u092c\u0930"\
35
+ "\u0928\u0935\u092e\u094d\u092c\u0930"\
36
+ "\u0926\u093f\u0938\u092e\u094d\u092c\u0930"]
37
+ ::msgcat::mcset hi AM "\u0908\u0938\u093e\u092a\u0942\u0930\u094d\u0935"
38
+ ::msgcat::mcset hi PM "."
39
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/id.msg ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset id DAYS_OF_WEEK_ABBREV [list \
4
+ "Min"\
5
+ "Sen"\
6
+ "Sel"\
7
+ "Rab"\
8
+ "Kam"\
9
+ "Jum"\
10
+ "Sab"]
11
+ ::msgcat::mcset id DAYS_OF_WEEK_FULL [list \
12
+ "Minggu"\
13
+ "Senin"\
14
+ "Selasa"\
15
+ "Rabu"\
16
+ "Kamis"\
17
+ "Jumat"\
18
+ "Sabtu"]
19
+ ::msgcat::mcset id MONTHS_ABBREV [list \
20
+ "Jan"\
21
+ "Peb"\
22
+ "Mar"\
23
+ "Apr"\
24
+ "Mei"\
25
+ "Jun"\
26
+ "Jul"\
27
+ "Agu"\
28
+ "Sep"\
29
+ "Okt"\
30
+ "Nov"\
31
+ "Des"\
32
+ ""]
33
+ ::msgcat::mcset id MONTHS_FULL [list \
34
+ "Januari"\
35
+ "Pebruari"\
36
+ "Maret"\
37
+ "April"\
38
+ "Mei"\
39
+ "Juni"\
40
+ "Juli"\
41
+ "Agustus"\
42
+ "September"\
43
+ "Oktober"\
44
+ "November"\
45
+ "Desember"\
46
+ ""]
47
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/is.msg ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset is DAYS_OF_WEEK_ABBREV [list \
4
+ "sun."\
5
+ "m\u00e1n."\
6
+ "\u00feri."\
7
+ "mi\u00f0."\
8
+ "fim."\
9
+ "f\u00f6s."\
10
+ "lau."]
11
+ ::msgcat::mcset is DAYS_OF_WEEK_FULL [list \
12
+ "sunnudagur"\
13
+ "m\u00e1nudagur"\
14
+ "\u00feri\u00f0judagur"\
15
+ "mi\u00f0vikudagur"\
16
+ "fimmtudagur"\
17
+ "f\u00f6studagur"\
18
+ "laugardagur"]
19
+ ::msgcat::mcset is MONTHS_ABBREV [list \
20
+ "jan."\
21
+ "feb."\
22
+ "mar."\
23
+ "apr."\
24
+ "ma\u00ed"\
25
+ "j\u00fan."\
26
+ "j\u00fal."\
27
+ "\u00e1g\u00fa."\
28
+ "sep."\
29
+ "okt."\
30
+ "n\u00f3v."\
31
+ "des."\
32
+ ""]
33
+ ::msgcat::mcset is MONTHS_FULL [list \
34
+ "jan\u00faar"\
35
+ "febr\u00faar"\
36
+ "mars"\
37
+ "apr\u00edl"\
38
+ "ma\u00ed"\
39
+ "j\u00fan\u00ed"\
40
+ "j\u00fal\u00ed"\
41
+ "\u00e1g\u00fast"\
42
+ "september"\
43
+ "okt\u00f3ber"\
44
+ "n\u00f3vember"\
45
+ "desember"\
46
+ ""]
47
+ ::msgcat::mcset is DATE_FORMAT "%e.%m.%Y"
48
+ ::msgcat::mcset is TIME_FORMAT "%H:%M:%S"
49
+ ::msgcat::mcset is DATE_TIME_FORMAT "%e.%m.%Y %H:%M:%S %z"
50
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/it.msg ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset it DAYS_OF_WEEK_ABBREV [list \
4
+ "dom"\
5
+ "lun"\
6
+ "mar"\
7
+ "mer"\
8
+ "gio"\
9
+ "ven"\
10
+ "sab"]
11
+ ::msgcat::mcset it DAYS_OF_WEEK_FULL [list \
12
+ "domenica"\
13
+ "luned\u00ec"\
14
+ "marted\u00ec"\
15
+ "mercoled\u00ec"\
16
+ "gioved\u00ec"\
17
+ "venerd\u00ec"\
18
+ "sabato"]
19
+ ::msgcat::mcset it MONTHS_ABBREV [list \
20
+ "gen"\
21
+ "feb"\
22
+ "mar"\
23
+ "apr"\
24
+ "mag"\
25
+ "giu"\
26
+ "lug"\
27
+ "ago"\
28
+ "set"\
29
+ "ott"\
30
+ "nov"\
31
+ "dic"\
32
+ ""]
33
+ ::msgcat::mcset it MONTHS_FULL [list \
34
+ "gennaio"\
35
+ "febbraio"\
36
+ "marzo"\
37
+ "aprile"\
38
+ "maggio"\
39
+ "giugno"\
40
+ "luglio"\
41
+ "agosto"\
42
+ "settembre"\
43
+ "ottobre"\
44
+ "novembre"\
45
+ "dicembre"\
46
+ ""]
47
+ ::msgcat::mcset it BCE "aC"
48
+ ::msgcat::mcset it CE "dC"
49
+ ::msgcat::mcset it AM "m."
50
+ ::msgcat::mcset it PM "p."
51
+ ::msgcat::mcset it DATE_FORMAT "%d %B %Y"
52
+ ::msgcat::mcset it TIME_FORMAT "%H:%M:%S"
53
+ ::msgcat::mcset it DATE_TIME_FORMAT "%d %B %Y %H:%M:%S %z"
54
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/it_ch.msg ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset it_CH DATE_FORMAT "%e. %B %Y"
4
+ ::msgcat::mcset it_CH TIME_FORMAT "%H:%M:%S"
5
+ ::msgcat::mcset it_CH DATE_TIME_FORMAT "%e. %B %Y %H:%M:%S %z"
6
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/kw_gb.msg ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset kw_GB DATE_FORMAT "%d %B %Y"
4
+ ::msgcat::mcset kw_GB TIME_FORMAT_12 "%l:%M:%S %P"
5
+ ::msgcat::mcset kw_GB DATE_TIME_FORMAT "%d %B %Y %l:%M:%S %P %z"
6
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/ms_my.msg ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset ms_MY DATE_FORMAT "%A %d %b %Y"
4
+ ::msgcat::mcset ms_MY TIME_FORMAT_12 "%I:%M:%S %z"
5
+ ::msgcat::mcset ms_MY DATE_TIME_FORMAT "%A %d %b %Y %I:%M:%S %z %z"
6
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/mt.msg ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset mt DAYS_OF_WEEK_ABBREV [list \
4
+ "\u0126ad"\
5
+ "Tne"\
6
+ "Tli"\
7
+ "Erb"\
8
+ "\u0126am"\
9
+ "\u0120im"]
10
+ ::msgcat::mcset mt MONTHS_ABBREV [list \
11
+ "Jan"\
12
+ "Fra"\
13
+ "Mar"\
14
+ "Apr"\
15
+ "Mej"\
16
+ "\u0120un"\
17
+ "Lul"\
18
+ "Awi"\
19
+ "Set"\
20
+ "Ott"\
21
+ "Nov"]
22
+ ::msgcat::mcset mt BCE "QK"
23
+ ::msgcat::mcset mt CE ""
24
+ ::msgcat::mcset mt DATE_FORMAT "%A, %e ta %B, %Y"
25
+ ::msgcat::mcset mt TIME_FORMAT_12 "%l:%M:%S %P"
26
+ ::msgcat::mcset mt DATE_TIME_FORMAT "%A, %e ta %B, %Y %l:%M:%S %P %z"
27
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/nn.msg ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset nn DAYS_OF_WEEK_ABBREV [list \
4
+ "su"\
5
+ "m\u00e5"\
6
+ "ty"\
7
+ "on"\
8
+ "to"\
9
+ "fr"\
10
+ "lau"]
11
+ ::msgcat::mcset nn DAYS_OF_WEEK_FULL [list \
12
+ "sundag"\
13
+ "m\u00e5ndag"\
14
+ "tysdag"\
15
+ "onsdag"\
16
+ "torsdag"\
17
+ "fredag"\
18
+ "laurdag"]
19
+ ::msgcat::mcset nn MONTHS_ABBREV [list \
20
+ "jan"\
21
+ "feb"\
22
+ "mar"\
23
+ "apr"\
24
+ "mai"\
25
+ "jun"\
26
+ "jul"\
27
+ "aug"\
28
+ "sep"\
29
+ "okt"\
30
+ "nov"\
31
+ "des"\
32
+ ""]
33
+ ::msgcat::mcset nn MONTHS_FULL [list \
34
+ "januar"\
35
+ "februar"\
36
+ "mars"\
37
+ "april"\
38
+ "mai"\
39
+ "juni"\
40
+ "juli"\
41
+ "august"\
42
+ "september"\
43
+ "oktober"\
44
+ "november"\
45
+ "desember"\
46
+ ""]
47
+ ::msgcat::mcset nn BCE "f.Kr."
48
+ ::msgcat::mcset nn CE "e.Kr."
49
+ ::msgcat::mcset nn DATE_FORMAT "%e. %B %Y"
50
+ ::msgcat::mcset nn TIME_FORMAT "%H:%M:%S"
51
+ ::msgcat::mcset nn DATE_TIME_FORMAT "%e. %B %Y %H:%M:%S %z"
52
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/pl.msg ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset pl DAYS_OF_WEEK_ABBREV [list \
4
+ "N"\
5
+ "Pn"\
6
+ "Wt"\
7
+ "\u015ar"\
8
+ "Cz"\
9
+ "Pt"\
10
+ "So"]
11
+ ::msgcat::mcset pl DAYS_OF_WEEK_FULL [list \
12
+ "niedziela"\
13
+ "poniedzia\u0142ek"\
14
+ "wtorek"\
15
+ "\u015broda"\
16
+ "czwartek"\
17
+ "pi\u0105tek"\
18
+ "sobota"]
19
+ ::msgcat::mcset pl MONTHS_ABBREV [list \
20
+ "sty"\
21
+ "lut"\
22
+ "mar"\
23
+ "kwi"\
24
+ "maj"\
25
+ "cze"\
26
+ "lip"\
27
+ "sie"\
28
+ "wrz"\
29
+ "pa\u017a"\
30
+ "lis"\
31
+ "gru"\
32
+ ""]
33
+ ::msgcat::mcset pl MONTHS_FULL [list \
34
+ "stycze\u0144"\
35
+ "luty"\
36
+ "marzec"\
37
+ "kwiecie\u0144"\
38
+ "maj"\
39
+ "czerwiec"\
40
+ "lipiec"\
41
+ "sierpie\u0144"\
42
+ "wrzesie\u0144"\
43
+ "pa\u017adziernik"\
44
+ "listopad"\
45
+ "grudzie\u0144"\
46
+ ""]
47
+ ::msgcat::mcset pl BCE "p.n.e."
48
+ ::msgcat::mcset pl CE "n.e."
49
+ ::msgcat::mcset pl DATE_FORMAT "%Y-%m-%d"
50
+ ::msgcat::mcset pl TIME_FORMAT "%H:%M:%S"
51
+ ::msgcat::mcset pl DATE_TIME_FORMAT "%Y-%m-%d %H:%M:%S %z"
52
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/pt.msg ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset pt DAYS_OF_WEEK_ABBREV [list \
4
+ "Dom"\
5
+ "Seg"\
6
+ "Ter"\
7
+ "Qua"\
8
+ "Qui"\
9
+ "Sex"\
10
+ "S\u00e1b"]
11
+ ::msgcat::mcset pt DAYS_OF_WEEK_FULL [list \
12
+ "Domingo"\
13
+ "Segunda-feira"\
14
+ "Ter\u00e7a-feira"\
15
+ "Quarta-feira"\
16
+ "Quinta-feira"\
17
+ "Sexta-feira"\
18
+ "S\u00e1bado"]
19
+ ::msgcat::mcset pt MONTHS_ABBREV [list \
20
+ "Jan"\
21
+ "Fev"\
22
+ "Mar"\
23
+ "Abr"\
24
+ "Mai"\
25
+ "Jun"\
26
+ "Jul"\
27
+ "Ago"\
28
+ "Set"\
29
+ "Out"\
30
+ "Nov"\
31
+ "Dez"\
32
+ ""]
33
+ ::msgcat::mcset pt MONTHS_FULL [list \
34
+ "Janeiro"\
35
+ "Fevereiro"\
36
+ "Mar\u00e7o"\
37
+ "Abril"\
38
+ "Maio"\
39
+ "Junho"\
40
+ "Julho"\
41
+ "Agosto"\
42
+ "Setembro"\
43
+ "Outubro"\
44
+ "Novembro"\
45
+ "Dezembro"\
46
+ ""]
47
+ ::msgcat::mcset pt DATE_FORMAT "%d-%m-%Y"
48
+ ::msgcat::mcset pt TIME_FORMAT "%k:%M:%S"
49
+ ::msgcat::mcset pt DATE_TIME_FORMAT "%d-%m-%Y %k:%M:%S %z"
50
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/ru_ua.msg ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset ru_UA DATE_FORMAT "%d.%m.%Y"
4
+ ::msgcat::mcset ru_UA TIME_FORMAT "%k:%M:%S"
5
+ ::msgcat::mcset ru_UA DATE_TIME_FORMAT "%d.%m.%Y %k:%M:%S %z"
6
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/sh.msg ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset sh DAYS_OF_WEEK_ABBREV [list \
4
+ "Ned"\
5
+ "Pon"\
6
+ "Uto"\
7
+ "Sre"\
8
+ "\u010cet"\
9
+ "Pet"\
10
+ "Sub"]
11
+ ::msgcat::mcset sh DAYS_OF_WEEK_FULL [list \
12
+ "Nedelja"\
13
+ "Ponedeljak"\
14
+ "Utorak"\
15
+ "Sreda"\
16
+ "\u010cetvrtak"\
17
+ "Petak"\
18
+ "Subota"]
19
+ ::msgcat::mcset sh MONTHS_ABBREV [list \
20
+ "Jan"\
21
+ "Feb"\
22
+ "Mar"\
23
+ "Apr"\
24
+ "Maj"\
25
+ "Jun"\
26
+ "Jul"\
27
+ "Avg"\
28
+ "Sep"\
29
+ "Okt"\
30
+ "Nov"\
31
+ "Dec"\
32
+ ""]
33
+ ::msgcat::mcset sh MONTHS_FULL [list \
34
+ "Januar"\
35
+ "Februar"\
36
+ "Mart"\
37
+ "April"\
38
+ "Maj"\
39
+ "Juni"\
40
+ "Juli"\
41
+ "Avgust"\
42
+ "Septembar"\
43
+ "Oktobar"\
44
+ "Novembar"\
45
+ "Decembar"\
46
+ ""]
47
+ ::msgcat::mcset sh BCE "p. n. e."
48
+ ::msgcat::mcset sh CE "n. e."
49
+ ::msgcat::mcset sh DATE_FORMAT "%d.%m.%Y."
50
+ ::msgcat::mcset sh TIME_FORMAT "%k.%M.%S"
51
+ ::msgcat::mcset sh DATE_TIME_FORMAT "%d.%m.%Y. %k.%M.%S %z"
52
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/sq.msg ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset sq DAYS_OF_WEEK_ABBREV [list \
4
+ "Die"\
5
+ "H\u00ebn"\
6
+ "Mar"\
7
+ "M\u00ebr"\
8
+ "Enj"\
9
+ "Pre"\
10
+ "Sht"]
11
+ ::msgcat::mcset sq DAYS_OF_WEEK_FULL [list \
12
+ "e diel"\
13
+ "e h\u00ebn\u00eb"\
14
+ "e mart\u00eb"\
15
+ "e m\u00ebrkur\u00eb"\
16
+ "e enjte"\
17
+ "e premte"\
18
+ "e shtun\u00eb"]
19
+ ::msgcat::mcset sq MONTHS_ABBREV [list \
20
+ "Jan"\
21
+ "Shk"\
22
+ "Mar"\
23
+ "Pri"\
24
+ "Maj"\
25
+ "Qer"\
26
+ "Kor"\
27
+ "Gsh"\
28
+ "Sht"\
29
+ "Tet"\
30
+ "N\u00ebn"\
31
+ "Dhj"\
32
+ ""]
33
+ ::msgcat::mcset sq MONTHS_FULL [list \
34
+ "janar"\
35
+ "shkurt"\
36
+ "mars"\
37
+ "prill"\
38
+ "maj"\
39
+ "qershor"\
40
+ "korrik"\
41
+ "gusht"\
42
+ "shtator"\
43
+ "tetor"\
44
+ "n\u00ebntor"\
45
+ "dhjetor"\
46
+ ""]
47
+ ::msgcat::mcset sq BCE "p.e.r."
48
+ ::msgcat::mcset sq CE "n.e.r."
49
+ ::msgcat::mcset sq AM "PD"
50
+ ::msgcat::mcset sq PM "MD"
51
+ ::msgcat::mcset sq DATE_FORMAT "%Y-%m-%d"
52
+ ::msgcat::mcset sq TIME_FORMAT_12 "%l:%M:%S.%P"
53
+ ::msgcat::mcset sq DATE_TIME_FORMAT "%Y-%m-%d %l:%M:%S.%P %z"
54
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/sw.msg ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset sw DAYS_OF_WEEK_ABBREV [list \
4
+ "Jpi"\
5
+ "Jtt"\
6
+ "Jnn"\
7
+ "Jtn"\
8
+ "Alh"\
9
+ "Iju"\
10
+ "Jmo"]
11
+ ::msgcat::mcset sw DAYS_OF_WEEK_FULL [list \
12
+ "Jumapili"\
13
+ "Jumatatu"\
14
+ "Jumanne"\
15
+ "Jumatano"\
16
+ "Alhamisi"\
17
+ "Ijumaa"\
18
+ "Jumamosi"]
19
+ ::msgcat::mcset sw MONTHS_ABBREV [list \
20
+ "Jan"\
21
+ "Feb"\
22
+ "Mar"\
23
+ "Apr"\
24
+ "Mei"\
25
+ "Jun"\
26
+ "Jul"\
27
+ "Ago"\
28
+ "Sep"\
29
+ "Okt"\
30
+ "Nov"\
31
+ "Des"\
32
+ ""]
33
+ ::msgcat::mcset sw MONTHS_FULL [list \
34
+ "Januari"\
35
+ "Februari"\
36
+ "Machi"\
37
+ "Aprili"\
38
+ "Mei"\
39
+ "Juni"\
40
+ "Julai"\
41
+ "Agosti"\
42
+ "Septemba"\
43
+ "Oktoba"\
44
+ "Novemba"\
45
+ "Desemba"\
46
+ ""]
47
+ ::msgcat::mcset sw BCE "KK"
48
+ ::msgcat::mcset sw CE "BK"
49
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/te.msg ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset te DAYS_OF_WEEK_ABBREV [list \
4
+ "\u0c06\u0c26\u0c3f"\
5
+ "\u0c38\u0c4b\u0c2e"\
6
+ "\u0c2e\u0c02\u0c17\u0c33"\
7
+ "\u0c2c\u0c41\u0c27"\
8
+ "\u0c17\u0c41\u0c30\u0c41"\
9
+ "\u0c36\u0c41\u0c15\u0c4d\u0c30"\
10
+ "\u0c36\u0c28\u0c3f"]
11
+ ::msgcat::mcset te DAYS_OF_WEEK_FULL [list \
12
+ "\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02"\
13
+ "\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02"\
14
+ "\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02"\
15
+ "\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02"\
16
+ "\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02"\
17
+ "\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02"\
18
+ "\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02"]
19
+ ::msgcat::mcset te MONTHS_ABBREV [list \
20
+ "\u0c1c\u0c28\u0c35\u0c30\u0c3f"\
21
+ "\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f"\
22
+ "\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f"\
23
+ "\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d"\
24
+ "\u0c2e\u0c47"\
25
+ "\u0c1c\u0c42\u0c28\u0c4d"\
26
+ "\u0c1c\u0c42\u0c32\u0c48"\
27
+ "\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41"\
28
+ "\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d"\
29
+ "\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d"\
30
+ "\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d"\
31
+ "\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d"\
32
+ ""]
33
+ ::msgcat::mcset te MONTHS_FULL [list \
34
+ "\u0c1c\u0c28\u0c35\u0c30\u0c3f"\
35
+ "\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f"\
36
+ "\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f"\
37
+ "\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d"\
38
+ "\u0c2e\u0c47"\
39
+ "\u0c1c\u0c42\u0c28\u0c4d"\
40
+ "\u0c1c\u0c42\u0c32\u0c48"\
41
+ "\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41"\
42
+ "\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d"\
43
+ "\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d"\
44
+ "\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d"\
45
+ "\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d"\
46
+ ""]
47
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/uk.msg ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset uk DAYS_OF_WEEK_ABBREV [list \
4
+ "\u043d\u0434"\
5
+ "\u043f\u043d"\
6
+ "\u0432\u0442"\
7
+ "\u0441\u0440"\
8
+ "\u0447\u0442"\
9
+ "\u043f\u0442"\
10
+ "\u0441\u0431"]
11
+ ::msgcat::mcset uk DAYS_OF_WEEK_FULL [list \
12
+ "\u043d\u0435\u0434\u0456\u043b\u044f"\
13
+ "\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a"\
14
+ "\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a"\
15
+ "\u0441\u0435\u0440\u0435\u0434\u0430"\
16
+ "\u0447\u0435\u0442\u0432\u0435\u0440"\
17
+ "\u043f'\u044f\u0442\u043d\u0438\u0446\u044f"\
18
+ "\u0441\u0443\u0431\u043e\u0442\u0430"]
19
+ ::msgcat::mcset uk MONTHS_ABBREV [list \
20
+ "\u0441\u0456\u0447"\
21
+ "\u043b\u044e\u0442"\
22
+ "\u0431\u0435\u0440"\
23
+ "\u043a\u0432\u0456\u0442"\
24
+ "\u0442\u0440\u0430\u0432"\
25
+ "\u0447\u0435\u0440\u0432"\
26
+ "\u043b\u0438\u043f"\
27
+ "\u0441\u0435\u0440\u043f"\
28
+ "\u0432\u0435\u0440"\
29
+ "\u0436\u043e\u0432\u0442"\
30
+ "\u043b\u0438\u0441\u0442"\
31
+ "\u0433\u0440\u0443\u0434"\
32
+ ""]
33
+ ::msgcat::mcset uk MONTHS_FULL [list \
34
+ "\u0441\u0456\u0447\u043d\u044f"\
35
+ "\u043b\u044e\u0442\u043e\u0433\u043e"\
36
+ "\u0431\u0435\u0440\u0435\u0437\u043d\u044f"\
37
+ "\u043a\u0432\u0456\u0442\u043d\u044f"\
38
+ "\u0442\u0440\u0430\u0432\u043d\u044f"\
39
+ "\u0447\u0435\u0440\u0432\u043d\u044f"\
40
+ "\u043b\u0438\u043f\u043d\u044f"\
41
+ "\u0441\u0435\u0440\u043f\u043d\u044f"\
42
+ "\u0432\u0435\u0440\u0435\u0441\u043d\u044f"\
43
+ "\u0436\u043e\u0432\u0442\u043d\u044f"\
44
+ "\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430"\
45
+ "\u0433\u0440\u0443\u0434\u043d\u044f"\
46
+ ""]
47
+ ::msgcat::mcset uk BCE "\u0434\u043e \u043d.\u0435."
48
+ ::msgcat::mcset uk CE "\u043f\u0456\u0441\u043b\u044f \u043d.\u0435."
49
+ ::msgcat::mcset uk DATE_FORMAT "%e/%m/%Y"
50
+ ::msgcat::mcset uk TIME_FORMAT "%k:%M:%S"
51
+ ::msgcat::mcset uk DATE_TIME_FORMAT "%e/%m/%Y %k:%M:%S %z"
52
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/zh_hk.msg ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset zh_HK DAYS_OF_WEEK_ABBREV [list \
4
+ "\u65e5"\
5
+ "\u4e00"\
6
+ "\u4e8c"\
7
+ "\u4e09"\
8
+ "\u56db"\
9
+ "\u4e94"\
10
+ "\u516d"]
11
+ ::msgcat::mcset zh_HK MONTHS_ABBREV [list \
12
+ "1\u6708"\
13
+ "2\u6708"\
14
+ "3\u6708"\
15
+ "4\u6708"\
16
+ "5\u6708"\
17
+ "6\u6708"\
18
+ "7\u6708"\
19
+ "8\u6708"\
20
+ "9\u6708"\
21
+ "10\u6708"\
22
+ "11\u6708"\
23
+ "12\u6708"\
24
+ ""]
25
+ ::msgcat::mcset zh_HK DATE_FORMAT "%Y\u5e74%m\u6708%e\u65e5"
26
+ ::msgcat::mcset zh_HK TIME_FORMAT_12 "%P%I:%M:%S"
27
+ ::msgcat::mcset zh_HK DATE_TIME_FORMAT "%Y\u5e74%m\u6708%e\u65e5 %P%I:%M:%S %z"
28
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/msgs/zh_tw.msg ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ # created by tools/loadICU.tcl -- do not edit
2
+ namespace eval ::tcl::clock {
3
+ ::msgcat::mcset zh_TW BCE "\u6c11\u570b\u524d"
4
+ ::msgcat::mcset zh_TW CE "\u6c11\u570b"
5
+ ::msgcat::mcset zh_TW DATE_FORMAT "%Y/%m/%e"
6
+ ::msgcat::mcset zh_TW TIME_FORMAT_12 "%P %I:%M:%S"
7
+ ::msgcat::mcset zh_TW DATE_TIME_FORMAT "%Y/%m/%e %P %I:%M:%S %z"
8
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/opt0.4/optparse.tcl ADDED
@@ -0,0 +1,1072 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # optparse.tcl --
2
+ #
3
+ # (private) Option parsing package
4
+ # Primarily used internally by the safe:: code.
5
+ #
6
+ # WARNING: This code will go away in a future release
7
+ # of Tcl. It is NOT supported and you should not rely
8
+ # on it. If your code does rely on this package you
9
+ # may directly incorporate this code into your application.
10
+
11
+ package require Tcl 8.5-
12
+ # When this version number changes, update the pkgIndex.tcl file
13
+ # and the install directory in the Makefiles.
14
+ package provide opt 0.4.8
15
+
16
+ namespace eval ::tcl {
17
+
18
+ # Exported APIs
19
+ namespace export OptKeyRegister OptKeyDelete OptKeyError OptKeyParse \
20
+ OptProc OptProcArgGiven OptParse \
21
+ Lempty Lget \
22
+ Lassign Lvarpop Lvarpop1 Lvarset Lvarincr \
23
+ SetMax SetMin
24
+
25
+
26
+ ################# Example of use / 'user documentation' ###################
27
+
28
+ proc OptCreateTestProc {} {
29
+
30
+ # Defines ::tcl::OptParseTest as a test proc with parsed arguments
31
+ # (can't be defined before the code below is loaded (before "OptProc"))
32
+
33
+ # Every OptProc give usage information on "procname -help".
34
+ # Try "tcl::OptParseTest -help" and "tcl::OptParseTest -a" and
35
+ # then other arguments.
36
+ #
37
+ # example of 'valid' call:
38
+ # ::tcl::OptParseTest save -4 -pr 23 -libsok SybTcl\
39
+ # -nostatics false ch1
40
+ OptProc OptParseTest {
41
+ {subcommand -choice {save print} "sub command"}
42
+ {arg1 3 "some number"}
43
+ {-aflag}
44
+ {-intflag 7}
45
+ {-weirdflag "help string"}
46
+ {-noStatics "Not ok to load static packages"}
47
+ {-nestedloading1 true "OK to load into nested children"}
48
+ {-nestedloading2 -boolean true "OK to load into nested children"}
49
+ {-libsOK -choice {Tk SybTcl}
50
+ "List of packages that can be loaded"}
51
+ {-precision -int 12 "Number of digits of precision"}
52
+ {-intval 7 "An integer"}
53
+ {-scale -float 1.0 "Scale factor"}
54
+ {-zoom 1.0 "Zoom factor"}
55
+ {-arbitrary foobar "Arbitrary string"}
56
+ {-random -string 12 "Random string"}
57
+ {-listval -list {} "List value"}
58
+ {-blahflag -blah abc "Funny type"}
59
+ {arg2 -boolean "a boolean"}
60
+ {arg3 -choice "ch1 ch2"}
61
+ {?optarg? -list {} "optional argument"}
62
+ } {
63
+ foreach v [info locals] {
64
+ puts stderr [format "%14s : %s" $v [set $v]]
65
+ }
66
+ }
67
+ }
68
+
69
+ ################### No User serviceable part below ! ###############
70
+
71
+ # Array storing the parsed descriptions
72
+ variable OptDesc
73
+ array set OptDesc {}
74
+ # Next potentially free key id (numeric)
75
+ variable OptDescN 0
76
+
77
+ # Inside algorithm/mechanism description:
78
+ # (not for the faint hearted ;-)
79
+ #
80
+ # The argument description is parsed into a "program tree"
81
+ # It is called a "program" because it is the program used by
82
+ # the state machine interpreter that use that program to
83
+ # actually parse the arguments at run time.
84
+ #
85
+ # The general structure of a "program" is
86
+ # notation (pseudo bnf like)
87
+ # name :== definition defines "name" as being "definition"
88
+ # { x y z } means list of x, y, and z
89
+ # x* means x repeated 0 or more time
90
+ # x+ means "x x*"
91
+ # x? means optionally x
92
+ # x | y means x or y
93
+ # "cccc" means the literal string
94
+ #
95
+ # program :== { programCounter programStep* }
96
+ #
97
+ # programStep :== program | singleStep
98
+ #
99
+ # programCounter :== {"P" integer+ }
100
+ #
101
+ # singleStep :== { instruction parameters* }
102
+ #
103
+ # instruction :== single element list
104
+ #
105
+ # (the difference between singleStep and program is that \
106
+ # llength [lindex $program 0] >= 2
107
+ # while
108
+ # llength [lindex $singleStep 0] == 1
109
+ # )
110
+ #
111
+ # And for this application:
112
+ #
113
+ # singleStep :== { instruction varname {hasBeenSet currentValue} type
114
+ # typeArgs help }
115
+ # instruction :== "flags" | "value"
116
+ # type :== knowType | anyword
117
+ # knowType :== "string" | "int" | "boolean" | "boolflag" | "float"
118
+ # | "choice"
119
+ #
120
+ # for type "choice" typeArgs is a list of possible choices, the first one
121
+ # is the default value. for all other types the typeArgs is the default value
122
+ #
123
+ # a "boolflag" is the type for a flag whose presence or absence, without
124
+ # additional arguments means respectively true or false (default flag type).
125
+ #
126
+ # programCounter is the index in the list of the currently processed
127
+ # programStep (thus starting at 1 (0 is {"P" prgCounterValue}).
128
+ # If it is a list it points toward each currently selected programStep.
129
+ # (like for "flags", as they are optional, form a set and programStep).
130
+
131
+ # Performance/Implementation issues
132
+ # ---------------------------------
133
+ # We use tcl lists instead of arrays because with tcl8.0
134
+ # they should start to be much faster.
135
+ # But this code use a lot of helper procs (like Lvarset)
136
+ # which are quite slow and would be helpfully optimized
137
+ # for instance by being written in C. Also our struture
138
+ # is complex and there is maybe some places where the
139
+ # string rep might be calculated at great exense. to be checked.
140
+
141
+ #
142
+ # Parse a given description and saves it here under the given key
143
+ # generate a unused keyid if not given
144
+ #
145
+ proc ::tcl::OptKeyRegister {desc {key ""}} {
146
+ variable OptDesc
147
+ variable OptDescN
148
+ if {[string equal $key ""]} {
149
+ # in case a key given to us as a parameter was a number
150
+ while {[info exists OptDesc($OptDescN)]} {incr OptDescN}
151
+ set key $OptDescN
152
+ incr OptDescN
153
+ }
154
+ # program counter
155
+ set program [list [list "P" 1]]
156
+
157
+ # are we processing flags (which makes a single program step)
158
+ set inflags 0
159
+
160
+ set state {}
161
+
162
+ # flag used to detect that we just have a single (flags set) subprogram.
163
+ set empty 1
164
+
165
+ foreach item $desc {
166
+ if {$state == "args"} {
167
+ # more items after 'args'...
168
+ return -code error "'args' special argument must be the last one"
169
+ }
170
+ set res [OptNormalizeOne $item]
171
+ set state [lindex $res 0]
172
+ if {$inflags} {
173
+ if {$state == "flags"} {
174
+ # add to 'subprogram'
175
+ lappend flagsprg $res
176
+ } else {
177
+ # put in the flags
178
+ # structure for flag programs items is a list of
179
+ # {subprgcounter {prg flag 1} {prg flag 2} {...}}
180
+ lappend program $flagsprg
181
+ # put the other regular stuff
182
+ lappend program $res
183
+ set inflags 0
184
+ set empty 0
185
+ }
186
+ } else {
187
+ if {$state == "flags"} {
188
+ set inflags 1
189
+ # sub program counter + first sub program
190
+ set flagsprg [list [list "P" 1] $res]
191
+ } else {
192
+ lappend program $res
193
+ set empty 0
194
+ }
195
+ }
196
+ }
197
+ if {$inflags} {
198
+ if {$empty} {
199
+ # We just have the subprogram, optimize and remove
200
+ # unneeded level:
201
+ set program $flagsprg
202
+ } else {
203
+ lappend program $flagsprg
204
+ }
205
+ }
206
+
207
+ set OptDesc($key) $program
208
+
209
+ return $key
210
+ }
211
+
212
+ #
213
+ # Free the storage for that given key
214
+ #
215
+ proc ::tcl::OptKeyDelete {key} {
216
+ variable OptDesc
217
+ unset OptDesc($key)
218
+ }
219
+
220
+ # Get the parsed description stored under the given key.
221
+ proc OptKeyGetDesc {descKey} {
222
+ variable OptDesc
223
+ if {![info exists OptDesc($descKey)]} {
224
+ return -code error "Unknown option description key \"$descKey\""
225
+ }
226
+ set OptDesc($descKey)
227
+ }
228
+
229
+ # Parse entry point for ppl who don't want to register with a key,
230
+ # for instance because the description changes dynamically.
231
+ # (otherwise one should really use OptKeyRegister once + OptKeyParse
232
+ # as it is way faster or simply OptProc which does it all)
233
+ # Assign a temporary key, call OptKeyParse and then free the storage
234
+ proc ::tcl::OptParse {desc arglist} {
235
+ set tempkey [OptKeyRegister $desc]
236
+ set ret [catch {uplevel 1 [list ::tcl::OptKeyParse $tempkey $arglist]} res]
237
+ OptKeyDelete $tempkey
238
+ return -code $ret $res
239
+ }
240
+
241
+ # Helper function, replacement for proc that both
242
+ # register the description under a key which is the name of the proc
243
+ # (and thus unique to that code)
244
+ # and add a first line to the code to call the OptKeyParse proc
245
+ # Stores the list of variables that have been actually given by the user
246
+ # (the other will be sets to their default value)
247
+ # into local variable named "Args".
248
+ proc ::tcl::OptProc {name desc body} {
249
+ set namespace [uplevel 1 [list ::namespace current]]
250
+ if {[string match "::*" $name] || [string equal $namespace "::"]} {
251
+ # absolute name or global namespace, name is the key
252
+ set key $name
253
+ } else {
254
+ # we are relative to some non top level namespace:
255
+ set key "${namespace}::${name}"
256
+ }
257
+ OptKeyRegister $desc $key
258
+ uplevel 1 [list ::proc $name args "set Args \[::tcl::OptKeyParse $key \$args\]\n$body"]
259
+ return $key
260
+ }
261
+ # Check that a argument has been given
262
+ # assumes that "OptProc" has been used as it will check in "Args" list
263
+ proc ::tcl::OptProcArgGiven {argname} {
264
+ upvar Args alist
265
+ expr {[lsearch $alist $argname] >=0}
266
+ }
267
+
268
+ #######
269
+ # Programs/Descriptions manipulation
270
+
271
+ # Return the instruction word/list of a given step/(sub)program
272
+ proc OptInstr {lst} {
273
+ lindex $lst 0
274
+ }
275
+ # Is a (sub) program or a plain instruction ?
276
+ proc OptIsPrg {lst} {
277
+ expr {[llength [OptInstr $lst]]>=2}
278
+ }
279
+ # Is this instruction a program counter or a real instr
280
+ proc OptIsCounter {item} {
281
+ expr {[lindex $item 0]=="P"}
282
+ }
283
+ # Current program counter (2nd word of first word)
284
+ proc OptGetPrgCounter {lst} {
285
+ Lget $lst {0 1}
286
+ }
287
+ # Current program counter (2nd word of first word)
288
+ proc OptSetPrgCounter {lstName newValue} {
289
+ upvar $lstName lst
290
+ set lst [lreplace $lst 0 0 [concat "P" $newValue]]
291
+ }
292
+ # returns a list of currently selected items.
293
+ proc OptSelection {lst} {
294
+ set res {}
295
+ foreach idx [lrange [lindex $lst 0] 1 end] {
296
+ lappend res [Lget $lst $idx]
297
+ }
298
+ return $res
299
+ }
300
+
301
+ # Advance to next description
302
+ proc OptNextDesc {descName} {
303
+ uplevel 1 [list Lvarincr $descName {0 1}]
304
+ }
305
+
306
+ # Get the current description, eventually descend
307
+ proc OptCurDesc {descriptions} {
308
+ lindex $descriptions [OptGetPrgCounter $descriptions]
309
+ }
310
+ # get the current description, eventually descend
311
+ # through sub programs as needed.
312
+ proc OptCurDescFinal {descriptions} {
313
+ set item [OptCurDesc $descriptions]
314
+ # Descend untill we get the actual item and not a sub program
315
+ while {[OptIsPrg $item]} {
316
+ set item [OptCurDesc $item]
317
+ }
318
+ return $item
319
+ }
320
+ # Current final instruction adress
321
+ proc OptCurAddr {descriptions {start {}}} {
322
+ set adress [OptGetPrgCounter $descriptions]
323
+ lappend start $adress
324
+ set item [lindex $descriptions $adress]
325
+ if {[OptIsPrg $item]} {
326
+ return [OptCurAddr $item $start]
327
+ } else {
328
+ return $start
329
+ }
330
+ }
331
+ # Set the value field of the current instruction
332
+ proc OptCurSetValue {descriptionsName value} {
333
+ upvar $descriptionsName descriptions
334
+ # get the current item full adress
335
+ set adress [OptCurAddr $descriptions]
336
+ # use the 3th field of the item (see OptValue / OptNewInst)
337
+ lappend adress 2
338
+ Lvarset descriptions $adress [list 1 $value]
339
+ # ^hasBeenSet flag
340
+ }
341
+
342
+ # empty state means done/paste the end of the program
343
+ proc OptState {item} {
344
+ lindex $item 0
345
+ }
346
+
347
+ # current state
348
+ proc OptCurState {descriptions} {
349
+ OptState [OptCurDesc $descriptions]
350
+ }
351
+
352
+ #######
353
+ # Arguments manipulation
354
+
355
+ # Returns the argument that has to be processed now
356
+ proc OptCurrentArg {lst} {
357
+ lindex $lst 0
358
+ }
359
+ # Advance to next argument
360
+ proc OptNextArg {argsName} {
361
+ uplevel 1 [list Lvarpop1 $argsName]
362
+ }
363
+ #######
364
+
365
+
366
+
367
+
368
+
369
+ # Loop over all descriptions, calling OptDoOne which will
370
+ # eventually eat all the arguments.
371
+ proc OptDoAll {descriptionsName argumentsName} {
372
+ upvar $descriptionsName descriptions
373
+ upvar $argumentsName arguments
374
+ # puts "entered DoAll"
375
+ # Nb: the places where "state" can be set are tricky to figure
376
+ # because DoOne sets the state to flagsValue and return -continue
377
+ # when needed...
378
+ set state [OptCurState $descriptions]
379
+ # We'll exit the loop in "OptDoOne" or when state is empty.
380
+ while 1 {
381
+ set curitem [OptCurDesc $descriptions]
382
+ # Do subprograms if needed, call ourselves on the sub branch
383
+ while {[OptIsPrg $curitem]} {
384
+ OptDoAll curitem arguments
385
+ # puts "done DoAll sub"
386
+ # Insert back the results in current tree
387
+ Lvarset1nc descriptions [OptGetPrgCounter $descriptions]\
388
+ $curitem
389
+ OptNextDesc descriptions
390
+ set curitem [OptCurDesc $descriptions]
391
+ set state [OptCurState $descriptions]
392
+ }
393
+ # puts "state = \"$state\" - arguments=($arguments)"
394
+ if {[Lempty $state]} {
395
+ # Nothing left to do, we are done in this branch:
396
+ break
397
+ }
398
+ # The following statement can make us terminate/continue
399
+ # as it use return -code {break, continue, return and error}
400
+ # codes
401
+ OptDoOne descriptions state arguments
402
+ # If we are here, no special return code where issued,
403
+ # we'll step to next instruction :
404
+ # puts "new state = \"$state\""
405
+ OptNextDesc descriptions
406
+ set state [OptCurState $descriptions]
407
+ }
408
+ }
409
+
410
+ # Process one step for the state machine,
411
+ # eventually consuming the current argument.
412
+ proc OptDoOne {descriptionsName stateName argumentsName} {
413
+ upvar $argumentsName arguments
414
+ upvar $descriptionsName descriptions
415
+ upvar $stateName state
416
+
417
+ # the special state/instruction "args" eats all
418
+ # the remaining args (if any)
419
+ if {($state == "args")} {
420
+ if {![Lempty $arguments]} {
421
+ # If there is no additional arguments, leave the default value
422
+ # in.
423
+ OptCurSetValue descriptions $arguments
424
+ set arguments {}
425
+ }
426
+ # puts "breaking out ('args' state: consuming every reminding args)"
427
+ return -code break
428
+ }
429
+
430
+ if {[Lempty $arguments]} {
431
+ if {$state == "flags"} {
432
+ # no argument and no flags : we're done
433
+ # puts "returning to previous (sub)prg (no more args)"
434
+ return -code return
435
+ } elseif {$state == "optValue"} {
436
+ set state next; # not used, for debug only
437
+ # go to next state
438
+ return
439
+ } else {
440
+ return -code error [OptMissingValue $descriptions]
441
+ }
442
+ } else {
443
+ set arg [OptCurrentArg $arguments]
444
+ }
445
+
446
+ switch $state {
447
+ flags {
448
+ # A non-dash argument terminates the options, as does --
449
+
450
+ # Still a flag ?
451
+ if {![OptIsFlag $arg]} {
452
+ # don't consume the argument, return to previous prg
453
+ return -code return
454
+ }
455
+ # consume the flag
456
+ OptNextArg arguments
457
+ if {[string equal "--" $arg]} {
458
+ # return from 'flags' state
459
+ return -code return
460
+ }
461
+
462
+ set hits [OptHits descriptions $arg]
463
+ if {$hits > 1} {
464
+ return -code error [OptAmbigous $descriptions $arg]
465
+ } elseif {$hits == 0} {
466
+ return -code error [OptFlagUsage $descriptions $arg]
467
+ }
468
+ set item [OptCurDesc $descriptions]
469
+ if {[OptNeedValue $item]} {
470
+ # we need a value, next state is
471
+ set state flagValue
472
+ } else {
473
+ OptCurSetValue descriptions 1
474
+ }
475
+ # continue
476
+ return -code continue
477
+ }
478
+ flagValue -
479
+ value {
480
+ set item [OptCurDesc $descriptions]
481
+ # Test the values against their required type
482
+ if {[catch {OptCheckType $arg\
483
+ [OptType $item] [OptTypeArgs $item]} val]} {
484
+ return -code error [OptBadValue $item $arg $val]
485
+ }
486
+ # consume the value
487
+ OptNextArg arguments
488
+ # set the value
489
+ OptCurSetValue descriptions $val
490
+ # go to next state
491
+ if {$state == "flagValue"} {
492
+ set state flags
493
+ return -code continue
494
+ } else {
495
+ set state next; # not used, for debug only
496
+ return ; # will go on next step
497
+ }
498
+ }
499
+ optValue {
500
+ set item [OptCurDesc $descriptions]
501
+ # Test the values against their required type
502
+ if {![catch {OptCheckType $arg\
503
+ [OptType $item] [OptTypeArgs $item]} val]} {
504
+ # right type, so :
505
+ # consume the value
506
+ OptNextArg arguments
507
+ # set the value
508
+ OptCurSetValue descriptions $val
509
+ }
510
+ # go to next state
511
+ set state next; # not used, for debug only
512
+ return ; # will go on next step
513
+ }
514
+ }
515
+ # If we reach this point: an unknown
516
+ # state as been entered !
517
+ return -code error "Bug! unknown state in DoOne \"$state\"\
518
+ (prg counter [OptGetPrgCounter $descriptions]:\
519
+ [OptCurDesc $descriptions])"
520
+ }
521
+
522
+ # Parse the options given the key to previously registered description
523
+ # and arguments list
524
+ proc ::tcl::OptKeyParse {descKey arglist} {
525
+
526
+ set desc [OptKeyGetDesc $descKey]
527
+
528
+ # make sure -help always give usage
529
+ if {[string equal -nocase "-help" $arglist]} {
530
+ return -code error [OptError "Usage information:" $desc 1]
531
+ }
532
+
533
+ OptDoAll desc arglist
534
+
535
+ if {![Lempty $arglist]} {
536
+ return -code error [OptTooManyArgs $desc $arglist]
537
+ }
538
+
539
+ # Analyse the result
540
+ # Walk through the tree:
541
+ OptTreeVars $desc "#[expr {[info level]-1}]"
542
+ }
543
+
544
+ # determine string length for nice tabulated output
545
+ proc OptTreeVars {desc level {vnamesLst {}}} {
546
+ foreach item $desc {
547
+ if {[OptIsCounter $item]} continue
548
+ if {[OptIsPrg $item]} {
549
+ set vnamesLst [OptTreeVars $item $level $vnamesLst]
550
+ } else {
551
+ set vname [OptVarName $item]
552
+ upvar $level $vname var
553
+ if {[OptHasBeenSet $item]} {
554
+ # puts "adding $vname"
555
+ # lets use the input name for the returned list
556
+ # it is more usefull, for instance you can check that
557
+ # no flags at all was given with expr
558
+ # {![string match "*-*" $Args]}
559
+ lappend vnamesLst [OptName $item]
560
+ set var [OptValue $item]
561
+ } else {
562
+ set var [OptDefaultValue $item]
563
+ }
564
+ }
565
+ }
566
+ return $vnamesLst
567
+ }
568
+
569
+
570
+ # Check the type of a value
571
+ # and emit an error if arg is not of the correct type
572
+ # otherwise returns the canonical value of that arg (ie 0/1 for booleans)
573
+ proc ::tcl::OptCheckType {arg type {typeArgs ""}} {
574
+ # puts "checking '$arg' against '$type' ($typeArgs)"
575
+
576
+ # only types "any", "choice", and numbers can have leading "-"
577
+
578
+ switch -exact -- $type {
579
+ int {
580
+ if {![string is integer -strict $arg]} {
581
+ error "not an integer"
582
+ }
583
+ return $arg
584
+ }
585
+ float {
586
+ return [expr {double($arg)}]
587
+ }
588
+ script -
589
+ list {
590
+ # if llength fail : malformed list
591
+ if {[llength $arg]==0 && [OptIsFlag $arg]} {
592
+ error "no values with leading -"
593
+ }
594
+ return $arg
595
+ }
596
+ boolean {
597
+ if {![string is boolean -strict $arg]} {
598
+ error "non canonic boolean"
599
+ }
600
+ # convert true/false because expr/if is broken with "!,...
601
+ return [expr {$arg ? 1 : 0}]
602
+ }
603
+ choice {
604
+ if {$arg ni $typeArgs} {
605
+ error "invalid choice"
606
+ }
607
+ return $arg
608
+ }
609
+ any {
610
+ return $arg
611
+ }
612
+ string -
613
+ default {
614
+ if {[OptIsFlag $arg]} {
615
+ error "no values with leading -"
616
+ }
617
+ return $arg
618
+ }
619
+ }
620
+ return neverReached
621
+ }
622
+
623
+ # internal utilities
624
+
625
+ # returns the number of flags matching the given arg
626
+ # sets the (local) prg counter to the list of matches
627
+ proc OptHits {descName arg} {
628
+ upvar $descName desc
629
+ set hits 0
630
+ set hitems {}
631
+ set i 1
632
+
633
+ set larg [string tolower $arg]
634
+ set len [string length $larg]
635
+ set last [expr {$len-1}]
636
+
637
+ foreach item [lrange $desc 1 end] {
638
+ set flag [OptName $item]
639
+ # lets try to match case insensitively
640
+ # (string length ought to be cheap)
641
+ set lflag [string tolower $flag]
642
+ if {$len == [string length $lflag]} {
643
+ if {[string equal $larg $lflag]} {
644
+ # Exact match case
645
+ OptSetPrgCounter desc $i
646
+ return 1
647
+ }
648
+ } elseif {[string equal $larg [string range $lflag 0 $last]]} {
649
+ lappend hitems $i
650
+ incr hits
651
+ }
652
+ incr i
653
+ }
654
+ if {$hits} {
655
+ OptSetPrgCounter desc $hitems
656
+ }
657
+ return $hits
658
+ }
659
+
660
+ # Extract fields from the list structure:
661
+
662
+ proc OptName {item} {
663
+ lindex $item 1
664
+ }
665
+ proc OptHasBeenSet {item} {
666
+ Lget $item {2 0}
667
+ }
668
+ proc OptValue {item} {
669
+ Lget $item {2 1}
670
+ }
671
+
672
+ proc OptIsFlag {name} {
673
+ string match "-*" $name
674
+ }
675
+ proc OptIsOpt {name} {
676
+ string match {\?*} $name
677
+ }
678
+ proc OptVarName {item} {
679
+ set name [OptName $item]
680
+ if {[OptIsFlag $name]} {
681
+ return [string range $name 1 end]
682
+ } elseif {[OptIsOpt $name]} {
683
+ return [string trim $name "?"]
684
+ } else {
685
+ return $name
686
+ }
687
+ }
688
+ proc OptType {item} {
689
+ lindex $item 3
690
+ }
691
+ proc OptTypeArgs {item} {
692
+ lindex $item 4
693
+ }
694
+ proc OptHelp {item} {
695
+ lindex $item 5
696
+ }
697
+ proc OptNeedValue {item} {
698
+ expr {![string equal [OptType $item] boolflag]}
699
+ }
700
+ proc OptDefaultValue {item} {
701
+ set val [OptTypeArgs $item]
702
+ switch -exact -- [OptType $item] {
703
+ choice {return [lindex $val 0]}
704
+ boolean -
705
+ boolflag {
706
+ # convert back false/true to 0/1 because expr !$bool
707
+ # is broken..
708
+ if {$val} {
709
+ return 1
710
+ } else {
711
+ return 0
712
+ }
713
+ }
714
+ }
715
+ return $val
716
+ }
717
+
718
+ # Description format error helper
719
+ proc OptOptUsage {item {what ""}} {
720
+ return -code error "invalid description format$what: $item\n\
721
+ should be a list of {varname|-flagname ?-type? ?defaultvalue?\
722
+ ?helpstring?}"
723
+ }
724
+
725
+
726
+ # Generate a canonical form single instruction
727
+ proc OptNewInst {state varname type typeArgs help} {
728
+ list $state $varname [list 0 {}] $type $typeArgs $help
729
+ # ^ ^
730
+ # | |
731
+ # hasBeenSet=+ +=currentValue
732
+ }
733
+
734
+ # Translate one item to canonical form
735
+ proc OptNormalizeOne {item} {
736
+ set lg [Lassign $item varname arg1 arg2 arg3]
737
+ # puts "called optnormalizeone '$item' v=($varname), lg=$lg"
738
+ set isflag [OptIsFlag $varname]
739
+ set isopt [OptIsOpt $varname]
740
+ if {$isflag} {
741
+ set state "flags"
742
+ } elseif {$isopt} {
743
+ set state "optValue"
744
+ } elseif {![string equal $varname "args"]} {
745
+ set state "value"
746
+ } else {
747
+ set state "args"
748
+ }
749
+
750
+ # apply 'smart' 'fuzzy' logic to try to make
751
+ # description writer's life easy, and our's difficult :
752
+ # let's guess the missing arguments :-)
753
+
754
+ switch $lg {
755
+ 1 {
756
+ if {$isflag} {
757
+ return [OptNewInst $state $varname boolflag false ""]
758
+ } else {
759
+ return [OptNewInst $state $varname any "" ""]
760
+ }
761
+ }
762
+ 2 {
763
+ # varname default
764
+ # varname help
765
+ set type [OptGuessType $arg1]
766
+ if {[string equal $type "string"]} {
767
+ if {$isflag} {
768
+ set type boolflag
769
+ set def false
770
+ } else {
771
+ set type any
772
+ set def ""
773
+ }
774
+ set help $arg1
775
+ } else {
776
+ set help ""
777
+ set def $arg1
778
+ }
779
+ return [OptNewInst $state $varname $type $def $help]
780
+ }
781
+ 3 {
782
+ # varname type value
783
+ # varname value comment
784
+
785
+ if {[regexp {^-(.+)$} $arg1 x type]} {
786
+ # flags/optValue as they are optional, need a "value",
787
+ # on the contrary, for a variable (non optional),
788
+ # default value is pointless, 'cept for choices :
789
+ if {$isflag || $isopt || ($type == "choice")} {
790
+ return [OptNewInst $state $varname $type $arg2 ""]
791
+ } else {
792
+ return [OptNewInst $state $varname $type "" $arg2]
793
+ }
794
+ } else {
795
+ return [OptNewInst $state $varname\
796
+ [OptGuessType $arg1] $arg1 $arg2]
797
+ }
798
+ }
799
+ 4 {
800
+ if {[regexp {^-(.+)$} $arg1 x type]} {
801
+ return [OptNewInst $state $varname $type $arg2 $arg3]
802
+ } else {
803
+ return -code error [OptOptUsage $item]
804
+ }
805
+ }
806
+ default {
807
+ return -code error [OptOptUsage $item]
808
+ }
809
+ }
810
+ }
811
+
812
+ # Auto magic lazy type determination
813
+ proc OptGuessType {arg} {
814
+ if { $arg == "true" || $arg == "false" } {
815
+ return boolean
816
+ }
817
+ if {[string is integer -strict $arg]} {
818
+ return int
819
+ }
820
+ if {[string is double -strict $arg]} {
821
+ return float
822
+ }
823
+ return string
824
+ }
825
+
826
+ # Error messages front ends
827
+
828
+ proc OptAmbigous {desc arg} {
829
+ OptError "ambigous option \"$arg\", choose from:" [OptSelection $desc]
830
+ }
831
+ proc OptFlagUsage {desc arg} {
832
+ OptError "bad flag \"$arg\", must be one of" $desc
833
+ }
834
+ proc OptTooManyArgs {desc arguments} {
835
+ OptError "too many arguments (unexpected argument(s): $arguments),\
836
+ usage:"\
837
+ $desc 1
838
+ }
839
+ proc OptParamType {item} {
840
+ if {[OptIsFlag $item]} {
841
+ return "flag"
842
+ } else {
843
+ return "parameter"
844
+ }
845
+ }
846
+ proc OptBadValue {item arg {err {}}} {
847
+ # puts "bad val err = \"$err\""
848
+ OptError "bad value \"$arg\" for [OptParamType $item]"\
849
+ [list $item]
850
+ }
851
+ proc OptMissingValue {descriptions} {
852
+ # set item [OptCurDescFinal $descriptions]
853
+ set item [OptCurDesc $descriptions]
854
+ OptError "no value given for [OptParamType $item] \"[OptName $item]\"\
855
+ (use -help for full usage) :"\
856
+ [list $item]
857
+ }
858
+
859
+ proc ::tcl::OptKeyError {prefix descKey {header 0}} {
860
+ OptError $prefix [OptKeyGetDesc $descKey] $header
861
+ }
862
+
863
+ # determine string length for nice tabulated output
864
+ proc OptLengths {desc nlName tlName dlName} {
865
+ upvar $nlName nl
866
+ upvar $tlName tl
867
+ upvar $dlName dl
868
+ foreach item $desc {
869
+ if {[OptIsCounter $item]} continue
870
+ if {[OptIsPrg $item]} {
871
+ OptLengths $item nl tl dl
872
+ } else {
873
+ SetMax nl [string length [OptName $item]]
874
+ SetMax tl [string length [OptType $item]]
875
+ set dv [OptTypeArgs $item]
876
+ if {[OptState $item] != "header"} {
877
+ set dv "($dv)"
878
+ }
879
+ set l [string length $dv]
880
+ # limit the space allocated to potentially big "choices"
881
+ if {([OptType $item] != "choice") || ($l<=12)} {
882
+ SetMax dl $l
883
+ } else {
884
+ if {![info exists dl]} {
885
+ set dl 0
886
+ }
887
+ }
888
+ }
889
+ }
890
+ }
891
+ # output the tree
892
+ proc OptTree {desc nl tl dl} {
893
+ set res ""
894
+ foreach item $desc {
895
+ if {[OptIsCounter $item]} continue
896
+ if {[OptIsPrg $item]} {
897
+ append res [OptTree $item $nl $tl $dl]
898
+ } else {
899
+ set dv [OptTypeArgs $item]
900
+ if {[OptState $item] != "header"} {
901
+ set dv "($dv)"
902
+ }
903
+ append res [string trimright [format "\n %-*s %-*s %-*s %s" \
904
+ $nl [OptName $item] $tl [OptType $item] \
905
+ $dl $dv [OptHelp $item]]]
906
+ }
907
+ }
908
+ return $res
909
+ }
910
+
911
+ # Give nice usage string
912
+ proc ::tcl::OptError {prefix desc {header 0}} {
913
+ # determine length
914
+ if {$header} {
915
+ # add faked instruction
916
+ set h [list [OptNewInst header Var/FlagName Type Value Help]]
917
+ lappend h [OptNewInst header ------------ ---- ----- ----]
918
+ lappend h [OptNewInst header {(-help} "" "" {gives this help)}]
919
+ set desc [concat $h $desc]
920
+ }
921
+ OptLengths $desc nl tl dl
922
+ # actually output
923
+ return "$prefix[OptTree $desc $nl $tl $dl]"
924
+ }
925
+
926
+
927
+ ################ General Utility functions #######################
928
+
929
+ #
930
+ # List utility functions
931
+ # Naming convention:
932
+ # "Lvarxxx" take the list VARiable name as argument
933
+ # "Lxxxx" take the list value as argument
934
+ # (which is not costly with Tcl8 objects system
935
+ # as it's still a reference and not a copy of the values)
936
+ #
937
+
938
+ # Is that list empty ?
939
+ proc ::tcl::Lempty {list} {
940
+ expr {[llength $list]==0}
941
+ }
942
+
943
+ # Gets the value of one leaf of a lists tree
944
+ proc ::tcl::Lget {list indexLst} {
945
+ if {[llength $indexLst] <= 1} {
946
+ return [lindex $list $indexLst]
947
+ }
948
+ Lget [lindex $list [lindex $indexLst 0]] [lrange $indexLst 1 end]
949
+ }
950
+ # Sets the value of one leaf of a lists tree
951
+ # (we use the version that does not create the elements because
952
+ # it would be even slower... needs to be written in C !)
953
+ # (nb: there is a non trivial recursive problem with indexes 0,
954
+ # which appear because there is no difference between a list
955
+ # of 1 element and 1 element alone : [list "a"] == "a" while
956
+ # it should be {a} and [listp a] should be 0 while [listp {a b}] would be 1
957
+ # and [listp "a b"] maybe 0. listp does not exist either...)
958
+ proc ::tcl::Lvarset {listName indexLst newValue} {
959
+ upvar $listName list
960
+ if {[llength $indexLst] <= 1} {
961
+ Lvarset1nc list $indexLst $newValue
962
+ } else {
963
+ set idx [lindex $indexLst 0]
964
+ set targetList [lindex $list $idx]
965
+ # reduce refcount on targetList (not really usefull now,
966
+ # could be with optimizing compiler)
967
+ # Lvarset1 list $idx {}
968
+ # recursively replace in targetList
969
+ Lvarset targetList [lrange $indexLst 1 end] $newValue
970
+ # put updated sub list back in the tree
971
+ Lvarset1nc list $idx $targetList
972
+ }
973
+ }
974
+ # Set one cell to a value, eventually create all the needed elements
975
+ # (on level-1 of lists)
976
+ variable emptyList {}
977
+ proc ::tcl::Lvarset1 {listName index newValue} {
978
+ upvar $listName list
979
+ if {$index < 0} {return -code error "invalid negative index"}
980
+ set lg [llength $list]
981
+ if {$index >= $lg} {
982
+ variable emptyList
983
+ for {set i $lg} {$i<$index} {incr i} {
984
+ lappend list $emptyList
985
+ }
986
+ lappend list $newValue
987
+ } else {
988
+ set list [lreplace $list $index $index $newValue]
989
+ }
990
+ }
991
+ # same as Lvarset1 but no bound checking / creation
992
+ proc ::tcl::Lvarset1nc {listName index newValue} {
993
+ upvar $listName list
994
+ set list [lreplace $list $index $index $newValue]
995
+ }
996
+ # Increments the value of one leaf of a lists tree
997
+ # (which must exists)
998
+ proc ::tcl::Lvarincr {listName indexLst {howMuch 1}} {
999
+ upvar $listName list
1000
+ if {[llength $indexLst] <= 1} {
1001
+ Lvarincr1 list $indexLst $howMuch
1002
+ } else {
1003
+ set idx [lindex $indexLst 0]
1004
+ set targetList [lindex $list $idx]
1005
+ # reduce refcount on targetList
1006
+ Lvarset1nc list $idx {}
1007
+ # recursively replace in targetList
1008
+ Lvarincr targetList [lrange $indexLst 1 end] $howMuch
1009
+ # put updated sub list back in the tree
1010
+ Lvarset1nc list $idx $targetList
1011
+ }
1012
+ }
1013
+ # Increments the value of one cell of a list
1014
+ proc ::tcl::Lvarincr1 {listName index {howMuch 1}} {
1015
+ upvar $listName list
1016
+ set newValue [expr {[lindex $list $index]+$howMuch}]
1017
+ set list [lreplace $list $index $index $newValue]
1018
+ return $newValue
1019
+ }
1020
+ # Removes the first element of a list
1021
+ # and returns the new list value
1022
+ proc ::tcl::Lvarpop1 {listName} {
1023
+ upvar $listName list
1024
+ set list [lrange $list 1 end]
1025
+ }
1026
+ # Same but returns the removed element
1027
+ # (Like the tclX version)
1028
+ proc ::tcl::Lvarpop {listName} {
1029
+ upvar $listName list
1030
+ set el [lindex $list 0]
1031
+ set list [lrange $list 1 end]
1032
+ return $el
1033
+ }
1034
+ # Assign list elements to variables and return the length of the list
1035
+ proc ::tcl::Lassign {list args} {
1036
+ # faster than direct blown foreach (which does not byte compile)
1037
+ set i 0
1038
+ set lg [llength $list]
1039
+ foreach vname $args {
1040
+ if {$i>=$lg} break
1041
+ uplevel 1 [list ::set $vname [lindex $list $i]]
1042
+ incr i
1043
+ }
1044
+ return $lg
1045
+ }
1046
+
1047
+ # Misc utilities
1048
+
1049
+ # Set the varname to value if value is greater than varname's current value
1050
+ # or if varname is undefined
1051
+ proc ::tcl::SetMax {varname value} {
1052
+ upvar 1 $varname var
1053
+ if {![info exists var] || $value > $var} {
1054
+ set var $value
1055
+ }
1056
+ }
1057
+
1058
+ # Set the varname to value if value is smaller than varname's current value
1059
+ # or if varname is undefined
1060
+ proc ::tcl::SetMin {varname value} {
1061
+ upvar 1 $varname var
1062
+ if {![info exists var] || $value < $var} {
1063
+ set var $value
1064
+ }
1065
+ }
1066
+
1067
+
1068
+ # everything loaded fine, lets create the test proc:
1069
+ # OptCreateTestProc
1070
+ # Don't need the create temp proc anymore:
1071
+ # rename OptCreateTestProc {}
1072
+ }
my_container_sandbox/workspace/anaconda3/lib/tcl8.6/opt0.4/pkgIndex.tcl ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Tcl package index file, version 1.1
2
+ # This file is generated by the "pkg_mkIndex -direct" command
3
+ # and sourced either when an application starts up or
4
+ # by a "package unknown" script. It invokes the
5
+ # "package ifneeded" command to set up package-related
6
+ # information so that packages will be loaded automatically
7
+ # in response to "package require" commands. When this
8
+ # script is sourced, the variable $dir must contain the
9
+ # full path name of this file's directory.
10
+
11
+ if {![package vsatisfies [package provide Tcl] 8.5-]} {return}
12
+ package ifneeded opt 0.4.8 [list source [file join $dir optparse.tcl]]
my_container_sandbox/workspace/anaconda3/lib/tk8.6/demos/anilabel.tcl ADDED
@@ -0,0 +1,160 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # anilabel.tcl --
2
+ #
3
+ # This demonstration script creates a toplevel window containing
4
+ # several animated label widgets.
5
+
6
+ if {![info exists widgetDemo]} {
7
+ error "This script should be run from the \"widget\" demo."
8
+ }
9
+
10
+ package require Tk
11
+
12
+ set w .anilabel
13
+ catch {destroy $w}
14
+ toplevel $w
15
+ wm title $w "Animated Label Demonstration"
16
+ wm iconname $w "anilabel"
17
+ positionWindow $w
18
+
19
+ label $w.msg -font $font -wraplength 4i -justify left -text "Four animated labels are displayed below; each of the labels on the left is animated by making the text message inside it appear to scroll, and the label on the right is animated by animating the image that it displays."
20
+ pack $w.msg -side top
21
+
22
+ ## See Code / Dismiss buttons
23
+ set btns [addSeeDismiss $w.buttons $w]
24
+ pack $btns -side bottom -fill x
25
+
26
+ # Ensure that this this is an array
27
+ array set animationCallbacks {}
28
+
29
+ ## This callback is the core of how to do animation in Tcl/Tk; all
30
+ ## animations work in basically the same way, with a procedure that
31
+ ## uses the [after] command to reschedule itself at some point in the
32
+ ## future. Of course, the details of how to update the state will vary
33
+ ## according to what is being animated.
34
+ proc RotateLabelText {w interval} {
35
+ global animationCallbacks
36
+
37
+ # Schedule the calling of this procedure again in the future
38
+ set animationCallbacks($w) [after $interval RotateLabelText $w $interval]
39
+
40
+ # We do marquee-like scrolling text by chopping characters off the
41
+ # front of the text and sticking them on the end.
42
+ set text [$w cget -text]
43
+ set newText [string range $text 1 end][string index $text 0]
44
+ $w configure -text $newText
45
+ }
46
+
47
+ ## A helper procedure to start the animation happening.
48
+ proc animateLabelText {w text interval} {
49
+ global animationCallbacks
50
+
51
+ # Install the text into the widget
52
+ $w configure -text $text
53
+
54
+ # Schedule the start of the animation loop
55
+ set animationCallbacks($w) [after $interval RotateLabelText $w $interval]
56
+
57
+ # Make sure that the animation stops and is cleaned up after itself
58
+ # when the animated label is destroyed. Note that at this point we
59
+ # cannot manipulate the widget itself, as that has already died.
60
+ bind $w <Destroy> {
61
+ after cancel $animationCallbacks(%W)
62
+ unset animationCallbacks(%W)
63
+ }
64
+ }
65
+
66
+ ## Next, a similar pair of procedures to animate a GIF loaded into a
67
+ ## photo image.
68
+ proc SelectNextImageFrame {w interval} {
69
+ global animationCallbacks
70
+ set animationCallbacks($w) \
71
+ [after $interval SelectNextImageFrame $w $interval]
72
+ set image [$w cget -image]
73
+
74
+ # The easy way to animate a GIF!
75
+ set idx -1
76
+ scan [$image cget -format] "GIF -index %d" idx
77
+ if {[catch {
78
+ # Note that we get an error if the index is out of range
79
+ $image configure -format "GIF -index [incr idx]"
80
+ }]} then {
81
+ $image configure -format "GIF -index 0"
82
+ }
83
+ }
84
+ proc animateLabelImage {w imageData interval} {
85
+ global animationCallbacks
86
+
87
+ # Create a multi-frame GIF from base-64-encoded data
88
+ set image [image create photo -format GIF -data $imageData]
89
+
90
+ # Install the image into the widget
91
+ $w configure -image $image
92
+
93
+ # Schedule the start of the animation loop
94
+ set animationCallbacks($w) \
95
+ [after $interval SelectNextImageFrame $w $interval]
96
+
97
+ # Make sure that the animation stops and is cleaned up after itself
98
+ # when the animated label is destroyed. Note that at this point we
99
+ # cannot manipulate the widget itself, as that has already died.
100
+ # Also note that this script is in double-quotes; this is always OK
101
+ # because image names are chosen automatically to be simple words.
102
+ bind $w <Destroy> "
103
+ after cancel \$animationCallbacks(%W)
104
+ unset animationCallbacks(%W)
105
+ rename $image {}
106
+ "
107
+ }
108
+
109
+ # Make some widgets to contain the animations
110
+ labelframe $w.left -text "Scrolling Texts"
111
+ labelframe $w.right -text "GIF Image"
112
+ pack $w.left $w.right -side left -padx 10 -pady 10 -expand yes
113
+
114
+ # This method of scrolling text looks far better with a fixed-width font
115
+ label $w.left.l1 -bd 4 -relief ridge -font fixedFont
116
+ label $w.left.l2 -bd 4 -relief groove -font fixedFont
117
+ label $w.left.l3 -bd 4 -relief flat -font fixedFont -width 18
118
+ pack $w.left.l1 $w.left.l2 $w.left.l3 -side top -expand yes -padx 10 -pady 10 -anchor w
119
+ # Don't need to do very much with this label except turn off the border
120
+ label $w.right.l -bd 0
121
+ pack $w.right.l -side top -expand yes -padx 10 -pady 10
122
+
123
+ # This is a base-64-encoded animated GIF file.
124
+ set tclPoweredData {
125
+ R0lGODlhKgBAAPQAAP//////zP//AP/MzP/Mmf/MAP+Zmf+ZZv+ZAMz//8zM
126
+ zMyZmcyZZsxmZsxmAMwzAJnMzJmZzJmZmZlmmZlmZplmM5kzM2aZzGZmzGZm
127
+ mWZmZmYzZmYzMzNmzDMzZgAzmSH+IE1hZGUgd2l0aCBHSU1QIGJ5IExARGVt
128
+ YWlsbHkuY29tACH5BAVkAAEALAAAAAAqAEAAAAX+YCCOZEkyTKM2jOm66yPP
129
+ dF03bx7YcuHIDkGBR7SZeIyhTID4FZ+4Es8nQyCe2EeUNJ0peY2s9mi7PhAM
130
+ ngEAMGRbUpvzSxskLh1J+Hkg134OdDIDEB+GHxtYMEQMTjMGEYeGFoomezaC
131
+ DZGSHFmLXTQKkh8eNQVpZ2afmDQGHaOYSoEyhhcklzVmMpuHnaZmDqiGJbg0
132
+ qFqvh6UNAwB7VA+OwydEjgujkgrPNhbTI8dFvNgEYcHcHx0lB1kX2IYeA2G6
133
+ NN0YfkXJ2BsAMuAzHB9cZMk3qoEbRzUACsRCUBK5JxsC3iMiKd8GN088SIyT
134
+ 0RAFSROyeEg38caDiB/+JEgqxsODrZJ1BkT0oHKSmI0ceQxo94HDpg0qsuDk
135
+ UmRAMgu8OgwQ+uIJgUMVeGXA+IQkzEeHGvD8cIGlDXsLiRjQ+EHroQhea7xY
136
+ 8IQBSgYYDi1IS+OFBCgaDMGVS3fGi5BPJpBaENdQ0EomKGD56IHwO39EXiSC
137
+ Ysgxor5+Xfgq0qByYUpiXmwuoredB2aYH4gWWda0B7SeNENpEJHC1ghi+pS4
138
+ AJpIAwWvKPBi+8YEht5EriEqpFfMlhEdkBNpx0HUhwypx5T4IB1MBg/Ws2sn
139
+ wV3MSQOkzI8fUd48Aw3dOZto71x85hHtHijYv18Gf/3GqCdDCXHNoICBobSo
140
+ IqBqJLyCoH8JPrLgdh88CKCFD0CGmAiGYPgffwceZh6FC2ohIIklnkhehTNY
141
+ 4CIHHGzgwYw01ujBBhvAqKOLLq5AAk9kuSPkkKO40NB+h1gnypJIIvkBf09a
142
+ N5QIRz5p5ZJXJpmlIVhOGQA2TmIJZZhKKmmll2BqyWSXWUrZpQtpatlmk1c2
143
+ KaWRHeTZEJF8SqLDn/hhsOeQgBbqAh6DGqronxeARUIIACH5BAUeAAAALAUA
144
+ LgAFAAUAAAUM4CeKz/OV5YmqaRkCACH5BAUeAAEALAUALgAKAAUAAAUUICCK
145
+ z/OdJVCaa7p+7aOWcDvTZwgAIfkEBR4AAQAsCwAuAAkABQAABRPgA4zP95zA
146
+ eZqoWqqpyqLkZ38hACH5BAUKAAEALAcALgANAA4AAAU7ICA+jwiUJEqeKau+
147
+ r+vGaTmac63v/GP9HM7GQyx+jsgkkoRUHJ3Qx0cK/VQVTKtWwbVKn9suNunc
148
+ WkMAIfkEBQoAAAAsBwA3AAcABQAABRGgIHzk842j+Yjlt5KuO8JmCAAh+QQF
149
+ CgAAACwLADcABwAFAAAFEeAnfN9TjqP5oOWziq05lmUIACH5BAUKAAAALA8A
150
+ NwAHAAUAAAUPoPCJTymS3yiQj4qOcPmEACH5BAUKAAAALBMANwAHAAUAAAUR
151
+ oCB+z/MJX2o+I2miKimiawgAIfkEBQoAAAAsFwA3AAcABQAABRGgIHzfY47j
152
+ Q4qk+aHl+pZmCAAh+QQFCgAAACwbADcABwAFAAAFEaAgfs/zCV9qPiNJouo7
153
+ ll8IACH5BAUKAAAALB8ANwADAAUAAAUIoCB8o0iWZggAOw==
154
+ }
155
+
156
+ # Finally, set up the text scrolling animation
157
+ animateLabelText $w.left.l1 "* Slow Animation *" 300
158
+ animateLabelText $w.left.l2 "* Fast Animation *" 80
159
+ animateLabelText $w.left.l3 "This is a longer scrolling text in a widget that will not show the whole message at once. " 150
160
+ animateLabelImage $w.right.l $tclPoweredData 100
my_container_sandbox/workspace/anaconda3/lib/tk8.6/demos/bind.tcl ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # bind.tcl --
2
+ #
3
+ # This demonstration script creates a text widget with bindings set
4
+ # up for hypertext-like effects.
5
+
6
+ if {![info exists widgetDemo]} {
7
+ error "This script should be run from the \"widget\" demo."
8
+ }
9
+
10
+ package require Tk
11
+
12
+ set w .bind
13
+ catch {destroy $w}
14
+ toplevel $w
15
+ wm title $w "Text Demonstration - Tag Bindings"
16
+ wm iconname $w "bind"
17
+ positionWindow $w
18
+
19
+ ## See Code / Dismiss buttons
20
+ set btns [addSeeDismiss $w.buttons $w]
21
+ pack $btns -side bottom -fill x
22
+
23
+ text $w.text -yscrollcommand "$w.scroll set" -setgrid true \
24
+ -width 60 -height 24 -font $font -wrap word
25
+ ttk::scrollbar $w.scroll -command "$w.text yview"
26
+ pack $w.scroll -side right -fill y
27
+ pack $w.text -expand yes -fill both
28
+
29
+ # Set up display styles.
30
+
31
+ if {[winfo depth $w] > 1} {
32
+ set bold "-background #43ce80 -relief raised -borderwidth 1"
33
+ set normal "-background {} -relief flat"
34
+ } else {
35
+ set bold "-foreground white -background black"
36
+ set normal "-foreground {} -background {}"
37
+ }
38
+
39
+ # Add text to widget.
40
+
41
+ $w.text insert 0.0 {\
42
+ The same tag mechanism that controls display styles in text widgets can also be used to associate Tcl commands with regions of text, so that mouse or keyboard actions on the text cause particular Tcl commands to be invoked. For example, in the text below the descriptions of the canvas demonstrations have been tagged. When you move the mouse over a demo description the description lights up, and when you press button 1 over a description then that particular demonstration is invoked.
43
+
44
+ }
45
+ $w.text insert end \
46
+ {1. Samples of all the different types of items that can be created in canvas widgets.} d1
47
+ $w.text insert end \n\n
48
+ $w.text insert end \
49
+ {2. A simple two-dimensional plot that allows you to adjust the positions of the data points.} d2
50
+ $w.text insert end \n\n
51
+ $w.text insert end \
52
+ {3. Anchoring and justification modes for text items.} d3
53
+ $w.text insert end \n\n
54
+ $w.text insert end \
55
+ {4. An editor for arrow-head shapes for line items.} d4
56
+ $w.text insert end \n\n
57
+ $w.text insert end \
58
+ {5. A ruler with facilities for editing tab stops.} d5
59
+ $w.text insert end \n\n
60
+ $w.text insert end \
61
+ {6. A grid that demonstrates how canvases can be scrolled.} d6
62
+
63
+ # Create bindings for tags.
64
+
65
+ foreach tag {d1 d2 d3 d4 d5 d6} {
66
+ $w.text tag bind $tag <Enter> "$w.text tag configure $tag $bold"
67
+ $w.text tag bind $tag <Leave> "$w.text tag configure $tag $normal"
68
+ }
69
+ # Main widget program sets variable tk_demoDirectory
70
+ $w.text tag bind d1 <Button-1> {source -encoding utf-8 [file join $tk_demoDirectory items.tcl]}
71
+ $w.text tag bind d2 <Button-1> {source -encoding utf-8 [file join $tk_demoDirectory plot.tcl]}
72
+ $w.text tag bind d3 <Button-1> {source -encoding utf-8 [file join $tk_demoDirectory ctext.tcl]}
73
+ $w.text tag bind d4 <Button-1> {source -encoding utf-8 [file join $tk_demoDirectory arrow.tcl]}
74
+ $w.text tag bind d5 <Button-1> {source -encoding utf-8 [file join $tk_demoDirectory ruler.tcl]}
75
+ $w.text tag bind d6 <Button-1> {source -encoding utf-8 [file join $tk_demoDirectory cscroll.tcl]}
76
+
77
+ $w.text mark set insert 0.0
78
+ $w.text configure -state disabled
my_container_sandbox/workspace/anaconda3/lib/tk8.6/demos/button.tcl ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # button.tcl --
2
+ #
3
+ # This demonstration script creates a toplevel window containing
4
+ # several button widgets.
5
+
6
+ if {![info exists widgetDemo]} {
7
+ error "This script should be run from the \"widget\" demo."
8
+ }
9
+
10
+ package require Tk
11
+
12
+ set w .button
13
+ catch {destroy $w}
14
+ toplevel $w
15
+ wm title $w "Button Demonstration"
16
+ wm iconname $w "button"
17
+ positionWindow $w
18
+
19
+ label $w.msg -font $font -wraplength 4i -justify left -text "If you click on any of the four buttons below, the background of the button area will change to the color indicated in the button. You can press Tab to move among the buttons, then press Space to invoke the current button."
20
+ pack $w.msg -side top
21
+
22
+ ## See Code / Dismiss buttons
23
+ pack [addSeeDismiss $w.buttons $w] -side bottom -fill x
24
+
25
+ proc colorrefresh {w col} {
26
+ $w configure -bg $col
27
+ if {[tk windowingsystem] eq "aqua"} {
28
+ # set highlightbackground of all buttons in $w
29
+ set l [list $w]
30
+ while {[llength $l]} {
31
+ set l [concat [lassign $l b] [winfo children $b]]
32
+ if {[winfo class $b] eq "Button"} {
33
+ $b configure -highlightbackground $col
34
+ }
35
+ }
36
+ }
37
+ }
38
+
39
+ button $w.b1 -text "Peach Puff" -width 10 \
40
+ -command [list colorrefresh $w PeachPuff1]
41
+ button $w.b2 -text "Light Blue" -width 10 \
42
+ -command [list colorrefresh $w LightBlue1]
43
+ button $w.b3 -text "Sea Green" -width 10 \
44
+ -command [list colorrefresh $w SeaGreen2]
45
+ button $w.b4 -text "Yellow" -width 10 \
46
+ -command [list colorrefresh $w Yellow1]
47
+ pack $w.b1 $w.b2 $w.b3 $w.b4 -side top -expand yes -pady 2
my_container_sandbox/workspace/anaconda3/lib/tk8.6/demos/colors.tcl ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # colors.tcl --
2
+ #
3
+ # This demonstration script creates a listbox widget that displays
4
+ # many of the colors from the X color database. You can click on
5
+ # a color to change the application's palette.
6
+
7
+ if {![info exists widgetDemo]} {
8
+ error "This script should be run from the \"widget\" demo."
9
+ }
10
+
11
+ package require Tk
12
+
13
+ set w .colors
14
+ catch {destroy $w}
15
+ toplevel $w
16
+ wm title $w "Listbox Demonstration (colors)"
17
+ wm iconname $w "Listbox"
18
+ positionWindow $w
19
+
20
+ label $w.msg -font $font -wraplength 4i -justify left -text "A listbox containing several color names is displayed below, along with a scrollbar. You can scan the list either using the scrollbar or by dragging in the listbox window with button 2 pressed. If you double-click button 1 on a color, then the application's color palette will be set to match that color"
21
+ pack $w.msg -side top
22
+
23
+ ## See Code / Dismiss buttons
24
+ set btns [addSeeDismiss $w.buttons $w]
25
+ pack $btns -side bottom -fill x
26
+
27
+ frame $w.frame -borderwidth 10
28
+ pack $w.frame -side top -expand yes -fill y
29
+
30
+ scrollbar $w.frame.scroll -command "$w.frame.list yview"
31
+ listbox $w.frame.list -yscroll "$w.frame.scroll set" \
32
+ -width 20 -height 16 -setgrid 1
33
+ pack $w.frame.list $w.frame.scroll -side left -fill y -expand 1
34
+
35
+ bind $w.frame.list <Double-Button-1> {
36
+ tk_setPalette [selection get]
37
+ }
38
+ $w.frame.list insert 0 gray60 gray70 gray80 gray85 gray90 gray95 \
39
+ snow1 snow2 snow3 snow4 seashell1 seashell2 \
40
+ seashell3 seashell4 AntiqueWhite1 AntiqueWhite2 AntiqueWhite3 \
41
+ AntiqueWhite4 bisque1 bisque2 bisque3 bisque4 PeachPuff1 \
42
+ PeachPuff2 PeachPuff3 PeachPuff4 NavajoWhite1 NavajoWhite2 \
43
+ NavajoWhite3 NavajoWhite4 LemonChiffon1 LemonChiffon2 \
44
+ LemonChiffon3 LemonChiffon4 cornsilk1 cornsilk2 cornsilk3 \
45
+ cornsilk4 ivory1 ivory2 ivory3 ivory4 honeydew1 honeydew2 \
46
+ honeydew3 honeydew4 LavenderBlush1 LavenderBlush2 \
47
+ LavenderBlush3 LavenderBlush4 MistyRose1 MistyRose2 \
48
+ MistyRose3 MistyRose4 azure1 azure2 azure3 azure4 \
49
+ SlateBlue1 SlateBlue2 SlateBlue3 SlateBlue4 RoyalBlue1 \
50
+ RoyalBlue2 RoyalBlue3 RoyalBlue4 blue1 blue2 blue3 blue4 \
51
+ DodgerBlue1 DodgerBlue2 DodgerBlue3 DodgerBlue4 SteelBlue1 \
52
+ SteelBlue2 SteelBlue3 SteelBlue4 DeepSkyBlue1 DeepSkyBlue2 \
53
+ DeepSkyBlue3 DeepSkyBlue4 SkyBlue1 SkyBlue2 SkyBlue3 \
54
+ SkyBlue4 LightSkyBlue1 LightSkyBlue2 LightSkyBlue3 \
55
+ LightSkyBlue4 SlateGray1 SlateGray2 SlateGray3 SlateGray4 \
56
+ LightSteelBlue1 LightSteelBlue2 LightSteelBlue3 \
57
+ LightSteelBlue4 LightBlue1 LightBlue2 LightBlue3 \
58
+ LightBlue4 LightCyan1 LightCyan2 LightCyan3 LightCyan4 \
59
+ PaleTurquoise1 PaleTurquoise2 PaleTurquoise3 PaleTurquoise4 \
60
+ CadetBlue1 CadetBlue2 CadetBlue3 CadetBlue4 turquoise1 \
61
+ turquoise2 turquoise3 turquoise4 cyan1 cyan2 cyan3 cyan4 \
62
+ DarkSlateGray1 DarkSlateGray2 DarkSlateGray3 \
63
+ DarkSlateGray4 aquamarine1 aquamarine2 aquamarine3 \
64
+ aquamarine4 DarkSeaGreen1 DarkSeaGreen2 DarkSeaGreen3 \
65
+ DarkSeaGreen4 SeaGreen1 SeaGreen2 SeaGreen3 SeaGreen4 \
66
+ PaleGreen1 PaleGreen2 PaleGreen3 PaleGreen4 SpringGreen1 \
67
+ SpringGreen2 SpringGreen3 SpringGreen4 green1 green2 \
68
+ green3 green4 chartreuse1 chartreuse2 chartreuse3 \
69
+ chartreuse4 OliveDrab1 OliveDrab2 OliveDrab3 OliveDrab4 \
70
+ DarkOliveGreen1 DarkOliveGreen2 DarkOliveGreen3 \
71
+ DarkOliveGreen4 khaki1 khaki2 khaki3 khaki4 \
72
+ LightGoldenrod1 LightGoldenrod2 LightGoldenrod3 \
73
+ LightGoldenrod4 LightYellow1 LightYellow2 LightYellow3 \
74
+ LightYellow4 yellow1 yellow2 yellow3 yellow4 gold1 gold2 \
75
+ gold3 gold4 goldenrod1 goldenrod2 goldenrod3 goldenrod4 \
76
+ DarkGoldenrod1 DarkGoldenrod2 DarkGoldenrod3 DarkGoldenrod4 \
77
+ RosyBrown1 RosyBrown2 RosyBrown3 RosyBrown4 IndianRed1 \
78
+ IndianRed2 IndianRed3 IndianRed4 sienna1 sienna2 sienna3 \
79
+ sienna4 burlywood1 burlywood2 burlywood3 burlywood4 wheat1 \
80
+ wheat2 wheat3 wheat4 tan1 tan2 tan3 tan4 chocolate1 \
81
+ chocolate2 chocolate3 chocolate4 firebrick1 firebrick2 \
82
+ firebrick3 firebrick4 brown1 brown2 brown3 brown4 salmon1 \
83
+ salmon2 salmon3 salmon4 LightSalmon1 LightSalmon2 \
84
+ LightSalmon3 LightSalmon4 orange1 orange2 orange3 orange4 \
85
+ DarkOrange1 DarkOrange2 DarkOrange3 DarkOrange4 coral1 \
86
+ coral2 coral3 coral4 tomato1 tomato2 tomato3 tomato4 \
87
+ OrangeRed1 OrangeRed2 OrangeRed3 OrangeRed4 red1 red2 red3 \
88
+ red4 DeepPink1 DeepPink2 DeepPink3 DeepPink4 HotPink1 \
89
+ HotPink2 HotPink3 HotPink4 pink1 pink2 pink3 pink4 \
90
+ LightPink1 LightPink2 LightPink3 LightPink4 PaleVioletRed1 \
91
+ PaleVioletRed2 PaleVioletRed3 PaleVioletRed4 maroon1 \
92
+ maroon2 maroon3 maroon4 VioletRed1 VioletRed2 VioletRed3 \
93
+ VioletRed4 magenta1 magenta2 magenta3 magenta4 orchid1 \
94
+ orchid2 orchid3 orchid4 plum1 plum2 plum3 plum4 \
95
+ MediumOrchid1 MediumOrchid2 MediumOrchid3 MediumOrchid4 \
96
+ DarkOrchid1 DarkOrchid2 DarkOrchid3 DarkOrchid4 purple1 \
97
+ purple2 purple3 purple4 MediumPurple1 MediumPurple2 \
98
+ MediumPurple3 MediumPurple4 thistle1 thistle2 thistle3 \
99
+ thistle4
my_container_sandbox/workspace/anaconda3/lib/tk8.6/demos/dialog1.tcl ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # dialog1.tcl --
2
+ #
3
+ # This demonstration script creates a dialog box with a local grab.
4
+
5
+ interp create child
6
+ load {} Tk child
7
+ child eval {
8
+ wm title . child
9
+ wm geometry . +700+30
10
+ pack [text .t -width 30 -height 10]
11
+ }
12
+
13
+ after idle {.dialog1.msg configure -wraplength 4i}
14
+ set i [tk_dialog .dialog1 "Dialog with local grab" {This is a modal dialog box. It uses Tk's "grab" command to create a "local grab" on the dialog box. The grab prevents any mouse or keyboard events from getting to any other windows in the application until you have answered the dialog by invoking one of the buttons below. However, you can still interact with other applications. For example, you should be able to edit text in the window named "child" which was created by a child interpreter.} \
15
+ info 0 OK Cancel {Show Code}]
16
+
17
+ switch $i {
18
+ 0 {puts "You pressed OK"}
19
+ 1 {puts "You pressed Cancel"}
20
+ 2 {showCode .dialog1}
21
+ }
22
+
23
+ if {[interp exists child]} {
24
+ interp delete child
25
+ }