get_export_entry() fails on script names with pluses

Issue #84 resolved
Anonymous created an issue

I'm using setuptools with a 'console_scripts' specification of ['smc++ = smcpp.frontend:console']. I get a weird crash when trying to install this package via a wheel on Mac OS X. The crash seems to caused by the failure of ENTRY_RE in util.py:543 to match the pluses in my script name. Since this is a valid filename on OS X, this seems like a bug. A possible fix might be to modify ENTRY_RE to ENTRY_RE = re.compile(r'''(?P<name>(\w|[-.+])+) \s*=\s*(?P<callable>(\w+)([:\.]\w+)*) \s*(\[\s*(?P<flags>\w+(=\w+)?(,\s*\w+(=\w+)?)*)\s*\])? ''', re.VERBOSE) although other characters which are valid on the OS X filesystem should probably also be allowed.

Comments (3)

  1. Vinay Sajip

    Noted, but on POSIX almost every character other than NUL is allowed in a filename (even if not on OS X, on Linux that's the case). However, cross-platform, Windows will likely be the limiting case. I will look at allowing additional characters on an as-needs basis - "anything goes" probably won't be a good idea.

  2. Log in to comment