tkinterdnd2 0.4.2__tar.gz → 0.4.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. {tkinterdnd2-0.4.2/tkinterdnd2.egg-info → tkinterdnd2-0.4.4}/PKG-INFO +10 -2
  2. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/setup.py +1 -1
  3. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/TkinterDnD.py +23 -9
  4. tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/linux-x64/libtkdnd2.9.5.so +0 -0
  5. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/linux-x64/pkgIndex.tcl +4 -4
  6. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-x64 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/linux-x64}/tkdnd.tcl +17 -1
  7. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/osx-x64 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/linux-x64}/tkdnd_unix.tcl +6 -6
  8. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/osx-x64 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/linux-x64}/tkdnd_windows.tcl +1 -1
  9. tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/osx-arm64/libtkdnd2.9.3.dylib → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/osx-arm64/libtcl9tkdnd2.9.5.dylib +0 -0
  10. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/osx-arm64/pkgIndex.tcl +4 -4
  11. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-x86 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/osx-arm64}/tkdnd.tcl +17 -1
  12. tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/osx-arm64/tkdnd_unix.tcl +883 -0
  13. tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/osx-arm64/tkdnd_windows.tcl +167 -0
  14. tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-x64/libtkdnd2.9.5.dll +0 -0
  15. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/win-x64/pkgIndex.tcl +4 -4
  16. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/osx-x64 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-x64}/tkdnd.tcl +17 -1
  17. tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-x64/tkdnd2.9.5.lib +0 -0
  18. tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-x64/tkdnd_unix.tcl +883 -0
  19. tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-x64/tkdnd_windows.tcl +167 -0
  20. tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-x86/libtkdnd2.9.5.dll +0 -0
  21. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/win-x86/pkgIndex.tcl +4 -4
  22. tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-x86/tkdnd.tcl +554 -0
  23. tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-x86/tkdnd2.9.5.lib +0 -0
  24. tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-x86/tkdnd_generic.tcl +587 -0
  25. tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-x86/tkdnd_macosx.tcl +144 -0
  26. tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-x86/tkdnd_unix.tcl +883 -0
  27. tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-x86/tkdnd_windows.tcl +167 -0
  28. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4/tkinterdnd2.egg-info}/PKG-INFO +10 -2
  29. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2.egg-info/SOURCES.txt +6 -7
  30. tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/linux-x64/libtkdnd2.9.4.so +0 -0
  31. tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-arm64/tkdnd.tcl +0 -539
  32. tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-arm64/tkdnd_generic.tcl +0 -587
  33. tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-arm64/tkdnd_macosx.tcl +0 -144
  34. tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-arm64/tkdnd_unix.tcl +0 -883
  35. tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-arm64/tkdnd_windows.tcl +0 -167
  36. tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-x64/libtkdnd2.9.4.dll +0 -0
  37. tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-x64/tkdnd2.9.3.lib +0 -0
  38. tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-x64/tkdnd2.9.4.lib +0 -0
  39. tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-x64/tkdnd_unix.tcl +0 -883
  40. tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-x64/tkdnd_windows.tcl +0 -167
  41. tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-x86/libtkdnd2.9.4.dll +0 -0
  42. tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-x86/tkdnd2.9.4.lib +0 -0
  43. tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-x86/tkdnd_unix.tcl +0 -883
  44. tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-x86/tkdnd_windows.tcl +0 -167
  45. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/LICENSE +0 -0
  46. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/README.md +0 -0
  47. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/setup.cfg +0 -0
  48. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tests/test_tkinterdnd2.py +0 -0
  49. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/__init__.py +0 -0
  50. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/linux-arm64/libtkdnd2.9.3.so +0 -0
  51. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/linux-arm64/pkgIndex.tcl +0 -0
  52. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/linux-arm64/tkdnd.tcl +0 -0
  53. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/linux-arm64/tkdnd_compat.tcl +0 -0
  54. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/linux-arm64/tkdnd_generic.tcl +0 -0
  55. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/linux-arm64/tkdnd_macosx.tcl +0 -0
  56. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/linux-arm64/tkdnd_unix.tcl +0 -0
  57. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/linux-arm64/tkdnd_utils.tcl +0 -0
  58. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/linux-arm64/tkdnd_windows.tcl +0 -0
  59. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/linux-x64/tkdnd_compat.tcl +0 -0
  60. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/linux-x64/tkdnd_generic.tcl +0 -0
  61. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/linux-x64/tkdnd_macosx.tcl +0 -0
  62. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/linux-x64/tkdnd_utils.tcl +0 -0
  63. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/osx-arm64/tkdnd_compat.tcl +0 -0
  64. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/osx-x64 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/osx-arm64}/tkdnd_generic.tcl +0 -0
  65. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/osx-x64 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/osx-arm64}/tkdnd_macosx.tcl +0 -0
  66. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/osx-arm64/tkdnd_utils.tcl +0 -0
  67. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/osx-x64/libtkdnd2.9.4.dylib +0 -0
  68. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/osx-x64/pkgIndex.tcl +0 -0
  69. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/linux-x64 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/osx-x64}/tkdnd.tcl +0 -0
  70. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/osx-x64/tkdnd_compat.tcl +0 -0
  71. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-x64 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/osx-x64}/tkdnd_generic.tcl +0 -0
  72. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-x64 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/osx-x64}/tkdnd_macosx.tcl +0 -0
  73. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/linux-x64 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/osx-x64}/tkdnd_unix.tcl +0 -0
  74. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/osx-x64/tkdnd_utils.tcl +0 -0
  75. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/linux-x64 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/osx-x64}/tkdnd_windows.tcl +0 -0
  76. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/win-arm64/libtkdnd2.9.3.dll +0 -0
  77. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/win-arm64/pkgIndex.tcl +0 -0
  78. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/osx-arm64 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-arm64}/tkdnd.tcl +0 -0
  79. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/win-arm64/tkdnd2.9.3.lib +0 -0
  80. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/win-arm64/tkdnd_compat.tcl +0 -0
  81. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/osx-arm64 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-arm64}/tkdnd_generic.tcl +0 -0
  82. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/osx-arm64 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-arm64}/tkdnd_macosx.tcl +0 -0
  83. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/osx-arm64 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-arm64}/tkdnd_unix.tcl +0 -0
  84. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/win-arm64/tkdnd_utils.tcl +0 -0
  85. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/osx-arm64 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-arm64}/tkdnd_windows.tcl +0 -0
  86. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/win-x64/tkdnd_compat.tcl +0 -0
  87. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-x86 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-x64}/tkdnd_generic.tcl +0 -0
  88. {tkinterdnd2-0.4.2/tkinterdnd2/tkdnd/win-x86 → tkinterdnd2-0.4.4/tkinterdnd2/tkdnd/win-x64}/tkdnd_macosx.tcl +0 -0
  89. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/win-x64/tkdnd_utils.tcl +0 -0
  90. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/win-x86/tkdnd_compat.tcl +0 -0
  91. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2/tkdnd/win-x86/tkdnd_utils.tcl +0 -0
  92. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2.egg-info/dependency_links.txt +0 -0
  93. {tkinterdnd2-0.4.2 → tkinterdnd2-0.4.4}/tkinterdnd2.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: tkinterdnd2
3
- Version: 0.4.2
3
+ Version: 0.4.4
4
4
  Summary: TkinterDnD2 is a python wrapper for George Petasis'' tkDnD Tk extension version 2
5
5
  Home-page: https://github.com/Eliav2/tkinterdnd2
6
6
  Author: petasis\pmgagne\eliav2
@@ -10,6 +10,14 @@ Classifier: License :: OSI Approved :: MIT License
10
10
  Requires-Python: >=3.6
11
11
  Description-Content-Type: text/markdown
12
12
  License-File: LICENSE
13
+ Dynamic: author
14
+ Dynamic: classifier
15
+ Dynamic: description
16
+ Dynamic: description-content-type
17
+ Dynamic: home-page
18
+ Dynamic: license-file
19
+ Dynamic: requires-python
20
+ Dynamic: summary
13
21
 
14
22
  ## TkinterDnD2
15
23
 
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
5
5
 
6
6
  setuptools.setup(
7
7
  name="tkinterdnd2",
8
- version="0.4.2",
8
+ version="0.4.4",
9
9
  author="petasis\\pmgagne\\eliav2",
10
10
  description="TkinterDnD2 is a python wrapper for George Petasis'' tkDnD Tk extension version 2",
11
11
  long_description=long_description,
@@ -30,26 +30,40 @@ def _require(tkroot):
30
30
  '''Internal function.'''
31
31
  global TkdndVersion
32
32
  try:
33
- import os.path
33
+ import os
34
34
  import platform
35
35
 
36
- if platform.system()=="Darwin" and platform.machine()=="arm64":
36
+ # On Windows, platform.machine() returns the identifier of the
37
+ # *host* architecture, which does not necessarily match the
38
+ # architecture of the running python process. For example, when
39
+ # running x86 python under x64 Windows, the return value is AMD64;
40
+ # when running either x86 or x64 python under arm64 Windows, the
41
+ # return value is ARM64. The architecture of the running process
42
+ # can be obtained from the PROCESSOR_ARCHITECTURE environment variable,
43
+ # which is automatically set by Windows / WOW subsystem.
44
+ system = platform.system()
45
+ if system=="Windows":
46
+ machine = os.environ.get('PROCESSOR_ARCHITECTURE', platform.machine())
47
+ else:
48
+ machine = platform.machine()
49
+
50
+ if system=="Darwin" and machine=="arm64":
37
51
  tkdnd_platform_rep = "osx-arm64"
38
- elif platform.system()=="Darwin" and platform.machine()=="x86_64":
52
+ elif system=="Darwin" and machine=="x86_64":
39
53
  tkdnd_platform_rep = "osx-x64"
40
- elif platform.system()=="Linux" and platform.machine()=="aarch64":
54
+ elif system=="Linux" and machine=="aarch64":
41
55
  tkdnd_platform_rep = "linux-arm64"
42
- elif platform.system()=="Linux" and platform.machine()=="x86_64":
56
+ elif system=="Linux" and machine=="x86_64":
43
57
  tkdnd_platform_rep = "linux-x64"
44
- elif platform.system()=="Windows" and platform.machine()=="ARM64":
58
+ elif system=="Windows" and machine=="ARM64":
45
59
  tkdnd_platform_rep = "win-arm64"
46
- elif platform.system()=="Windows" and platform.machine()=="AMD64":
60
+ elif system=="Windows" and machine=="AMD64":
47
61
  tkdnd_platform_rep = "win-x64"
48
- elif platform.system()=="Windows" and platform.machine()=="x86":
62
+ elif system=="Windows" and machine=="x86":
49
63
  tkdnd_platform_rep = "win-x86"
50
64
  else:
51
65
  raise RuntimeError('Plaform not supported.')
52
-
66
+
53
67
  module_path = os.path.join(os.path.dirname(__file__), 'tkdnd', tkdnd_platform_rep)
54
68
  tkroot.tk.call('lappend', 'auto_path', module_path)
55
69
  TkdndVersion = tkroot.tk.call('package', 'require', 'tkdnd')
@@ -53,10 +53,10 @@ namespace eval ::tkdnd {
53
53
 
54
54
  }; # namespace ::tkdnd
55
55
 
56
- package ifneeded tkdnd 2.9.4 \
56
+ package ifneeded tkdnd 2.9.5 \
57
57
  "tkdnd::source \{$dir/tkdnd.tcl\} ; \
58
- tkdnd::initialise \{$dir\} libtkdnd2.9.4.so tkdnd"
58
+ tkdnd::initialise \{$dir\} libtkdnd2.9.5.so tkdnd"
59
59
 
60
- package ifneeded tkdnd::utils 2.9.4 \
60
+ package ifneeded tkdnd::utils 2.9.5 \
61
61
  "tkdnd::source \{$dir/tkdnd_utils.tcl\} ; \
62
- package provide tkdnd::utils 2.9.4"
62
+ package provide tkdnd::utils 2.9.5"
@@ -534,5 +534,21 @@ proc ::tkdnd::urn_unquote {url} {
534
534
  set start [incr last]
535
535
  }
536
536
  append result [string range $url $start end]
537
- return [encoding convertfrom utf-8 $result]
537
+ return [from_encoding utf-8 $result]
538
538
  };# tkdnd::urn_unquote
539
+
540
+ if {[package vsatisfies [package require Tcl] 9]} {
541
+ proc ::tkdnd::to_encoding {enc str} {
542
+ encoding convertto -profile replace $enc $str
543
+ }
544
+ proc ::tkdnd::from_encoding {enc data} {
545
+ encoding convertfrom -profile replace $enc $data
546
+ }
547
+ } else {
548
+ proc ::tkdnd::to_encoding {enc str} {
549
+ encoding convertto $enc $str
550
+ }
551
+ proc ::tkdnd::from_encoding {enc data} {
552
+ encoding convertfrom $enc $data
553
+ }
554
+ }
@@ -231,7 +231,7 @@ proc xdnd::normalise_data { type data } {
231
231
  STRING - UTF8_STRING - TEXT - COMPOUND_TEXT {return $data}
232
232
  text/html {
233
233
  if {[catch {
234
- encoding convertfrom unicode $data
234
+ ::tkdnd::from_encoding unicode $data
235
235
  } string]} {
236
236
  set string $data
237
237
  }
@@ -241,7 +241,7 @@ proc xdnd::normalise_data { type data } {
241
241
  text/plain\;charset=utf-8 -
242
242
  text/plain {
243
243
  if {[catch {
244
- encoding convertfrom utf-8 [tkdnd::bytes_to_string $data]
244
+ ::tkdnd::from_encoding utf-8 [tkdnd::bytes_to_string $data]
245
245
  } string]} {
246
246
  set string $data
247
247
  }
@@ -249,7 +249,7 @@ proc xdnd::normalise_data { type data } {
249
249
  }
250
250
  text/uri-list* {
251
251
  if {[catch {
252
- encoding convertfrom utf-8 [tkdnd::bytes_to_string $data]
252
+ ::tkdnd::from_encoding utf-8 [tkdnd::bytes_to_string $data]
253
253
  } string]} {
254
254
  set string $data
255
255
  }
@@ -800,7 +800,7 @@ proc xdnd::_SendData {type offset bytes args} {
800
800
  ## Prepare the data to be transferred...
801
801
  switch -glob $type {
802
802
  text/plain* - UTF8_STRING - STRING - TEXT - COMPOUND_TEXT {
803
- binary scan [encoding convertto utf-8 $typed_data] \
803
+ binary scan [::tkdnd::to_encoding utf-8 $typed_data] \
804
804
  c* _dodragdrop_transfer_data
805
805
  set _dodragdrop_transfer_data \
806
806
  [_convert_to_unsigned $_dodragdrop_transfer_data $format]
@@ -813,7 +813,7 @@ proc xdnd::_SendData {type offset bytes args} {
813
813
  default {lappend files file://$file}
814
814
  }
815
815
  }
816
- binary scan [encoding convertto utf-8 "[join $files \r\n]\r\n"] \
816
+ binary scan [::tkdnd::to_encoding utf-8 "[join $files \r\n]\r\n"] \
817
817
  c* _dodragdrop_transfer_data
818
818
  set _dodragdrop_transfer_data \
819
819
  [_convert_to_unsigned $_dodragdrop_transfer_data $format]
@@ -849,7 +849,7 @@ proc xdnd::_SendData {type offset bytes args} {
849
849
  set data [lrange $_dodragdrop_transfer_data $offset [expr {$offset+$bytes-1}]]
850
850
  switch $format {
851
851
  8 {
852
- set data [encoding convertfrom utf-8 [binary format c* $data]]
852
+ set data [::tkdnd::from_encoding utf-8 [binary format c* $data]]
853
853
  }
854
854
  16 {
855
855
  variable _dodragdrop_selection_requestor
@@ -161,7 +161,7 @@ proc olednd::normalise_data { type data } {
161
161
  switch [lindex [::tkdnd::generic::platform_independent_type $type] 0] {
162
162
  DND_Text {return $data}
163
163
  DND_Files {return $data}
164
- DND_HTML {return [encoding convertfrom utf-8 $data]}
164
+ DND_HTML {return [::tkdnd::from_encoding utf-8 $data]}
165
165
  default {return $data}
166
166
  }
167
167
  }; # olednd::normalise_data
@@ -53,10 +53,10 @@ namespace eval ::tkdnd {
53
53
 
54
54
  }; # namespace ::tkdnd
55
55
 
56
- package ifneeded tkdnd 2.9.3 \
56
+ package ifneeded tkdnd 2.9.5 \
57
57
  "tkdnd::source \{$dir/tkdnd.tcl\} ; \
58
- tkdnd::initialise \{$dir\} libtkdnd2.9.3.dylib tkdnd"
58
+ tkdnd::initialise \{$dir\} libtcl9tkdnd2.9.5.dylib tkdnd"
59
59
 
60
- package ifneeded tkdnd::utils 2.9.3 \
60
+ package ifneeded tkdnd::utils 2.9.5 \
61
61
  "tkdnd::source \{$dir/tkdnd_utils.tcl\} ; \
62
- package provide tkdnd::utils 2.9.3"
62
+ package provide tkdnd::utils 2.9.5"
@@ -534,5 +534,21 @@ proc ::tkdnd::urn_unquote {url} {
534
534
  set start [incr last]
535
535
  }
536
536
  append result [string range $url $start end]
537
- return [encoding convertfrom utf-8 $result]
537
+ return [from_encoding utf-8 $result]
538
538
  };# tkdnd::urn_unquote
539
+
540
+ if {[package vsatisfies [package require Tcl] 9]} {
541
+ proc ::tkdnd::to_encoding {enc str} {
542
+ encoding convertto -profile replace $enc $str
543
+ }
544
+ proc ::tkdnd::from_encoding {enc data} {
545
+ encoding convertfrom -profile replace $enc $data
546
+ }
547
+ } else {
548
+ proc ::tkdnd::to_encoding {enc str} {
549
+ encoding convertto $enc $str
550
+ }
551
+ proc ::tkdnd::from_encoding {enc data} {
552
+ encoding convertfrom $enc $data
553
+ }
554
+ }