This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author eryksun
Recipients Drekin, abarry, eryksun, ezio.melotti, paul.moore, steve.dower, tim.golden, vstinner, zach.ware
Date 2016-07-10.22:38:31
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1468190311.62.0.540278816721.issue27469@psf.upfronthosting.co.za>
In-reply-to
Content
The WSH drop handler was added to resolve issue 1656675. It was chosen because it supports long filenames. OTOH, the EXE drop handler probably uses short filenames because the command line is limited to 32,768 characters. (Actually, it only uses the short name for a path element if it's longer than 12 characters or contains whitespace, which was why my example still had non-ASCII "Ā" in the filename.)

If Python.File switches to the EXE drop handler, then I think PySys_SetArgv should automatically expand short filenames. A command-line option could be added to disable automatic expansion. It would be nice to implement this change in 2.7 as well since the WSH drop handler has been used since 2.6. 

The alternative is to distribute a DLL with the launcher that implements the IPersistFile and IDropTarget interfaces [1], with support for both long filenames and Unicode. It has to be a shell extension, so AFAIK it can't be hosted in a local server process, if that's what Steve meant by embedding it in py.exe.

[1]: https://msdn.microsoft.com/en-us/library/cc144165
History
Date User Action Args
2016-07-10 22:38:31eryksunsetrecipients: + eryksun, paul.moore, vstinner, tim.golden, ezio.melotti, zach.ware, Drekin, steve.dower, abarry
2016-07-10 22:38:31eryksunsetmessageid: <1468190311.62.0.540278816721.issue27469@psf.upfronthosting.co.za>
2016-07-10 22:38:31eryksunlinkissue27469 messages
2016-07-10 22:38:31eryksuncreate