On Unix, when dropping a file that has spaces or other special characters in its path, `primitiveDropRequestFileName` returns a [percent-encoded](https://en.wikipedia.org/wiki/Percent-encoding) version of the path and `primitiveDropRequestFileHandle` fails.
I think the problem is that [`dropRequestFileName`](https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/330d6779ad2ecbce1f071...) [skips the `file:///` prefix of the URI](https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/330d6779ad2ecbce1f071...), but does not percent-decode it. Interestingly, [`uri2string`](https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/330d6779ad2ecbce1f071...), which [isn't currently used](https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/330d6779ad2ecbce1f071...), [does percent-decoding](https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/330d6779ad2ecbce1f071...).
`dropRequestFileName` [is used by `primitiveDropRequestFileName`](https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/330d6779ad2ecbce1f071...) and also by [`dropRequestFileHandle`](https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/330d6779ad2ecbce1f071...), which is why `primitiveDropRequestFileHandle` fails.
Note: I did not check whether this problem exists on other platforms.
vm-dev@lists.squeakfoundation.org