Title: Exception thrown by shlex.quote changed in 3.14 and is not documented · Issue #138804 · python/cpython · GitHub
Open Graph Title: Exception thrown by shlex.quote changed in 3.14 and is not documented · Issue #138804 · python/cpython
X Title: Exception thrown by shlex.quote changed in 3.14 and is not documented · Issue #138804 · python/cpython
Description: Bug report Bug description: It seems to me that #132036 not only made the import time faster but did also change the exception thrown if the arguments in shlex.quote are not of type str. It used to be "TypeError", now it is "AttributeErr...
Open Graph Description: Bug report Bug description: It seems to me that #132036 not only made the import time faster but did also change the exception thrown if the arguments in shlex.quote are not of type str. It used to...
X Description: Bug report Bug description: It seems to me that #132036 not only made the import time faster but did also change the exception thrown if the arguments in shlex.quote are not of type str. It used to...
Opengraph URL: https://github.com/python/cpython/issues/138804
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Exception thrown by shlex.quote changed in 3.14 and is not documented","articleBody":"# Bug report\n\n### Bug description:\n\nIt seems to me that https://github.com/python/cpython/pull/132036 not only made the import time faster but did also change the exception thrown if the arguments in shlex.quote are not of type str. \n\nIt used to be \"TypeError\", now it is \"AttributeError\" .\n\nI am not able to find this change in the release notes or the PR.\n\nTest code:\n```python\nimport shlex\n\nshlex.quote(123)\n```\n\nTest run on the shell:\n```bash\n➜ for i in 10 11 12 13 14 ; do echo \"3.$i\" ; uv run --python 3.$i test.py 2\u003e\u00261 | tail -n 1 ; done\n3.10\nTypeError: expected string or bytes-like object\n3.11\nTypeError: expected string or bytes-like object, got 'int'\n3.12\nTypeError: expected string or bytes-like object, got 'int'\n3.13\nTypeError: expected string or bytes-like object, got 'int'\n3.14\nAttributeError: 'int' object has no attribute 'isascii'\n```\n\n### CPython versions tested on:\n\n3.10, 3.11, 3.12, 3.13, 3.14\n\n### Operating systems tested on:\n\nmacOS\n\n\u003c!-- gh-linked-prs --\u003e\n### Linked PRs\n* gh-138809\n* gh-138846\n\u003c!-- /gh-linked-prs --\u003e\n","author":{"url":"https://github.com/cybit","@type":"Person","name":"cybit"},"datePublished":"2025-09-11T18:53:25.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":5},"url":"https://github.com/138804/cpython/issues/138804"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:17aab58e-ca66-8b73-f380-36baa8c8e095 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 8A92:2016E2:9E42EF:DAB923:6969EC87 |
| html-safe-nonce | f491e236341fbdd386364c66b8ae63b8dc9c2c6a6e135949f157236d1f7bdf27 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4QTkyOjIwMTZFMjo5RTQyRUY6REFCOTIzOjY5NjlFQzg3IiwidmlzaXRvcl9pZCI6IjQzNjA2OTI2MTk2NTg1MjE3MzUiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 67bfc82cbed37aa3a3661366642f3b5393bb75746f158bdcc2191cef7955c8ef |
| hovercard-subject-tag | issue:3407708064 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/cpython/138804/issue_layout |
| twitter:image | https://opengraph.githubassets.com/ec3c987f3cdd260d7bcc87d0321d841122174c9e9a41fe19fef397bb22cda453/python/cpython/issues/138804 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/ec3c987f3cdd260d7bcc87d0321d841122174c9e9a41fe19fef397bb22cda453/python/cpython/issues/138804 |
| og:image:alt | Bug report Bug description: It seems to me that #132036 not only made the import time faster but did also change the exception thrown if the arguments in shlex.quote are not of type str. It used to... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | cybit |
| hostname | github.com |
| expected-hostname | github.com |
| None | 7b32f1c7c4549428ee399213e8345494fc55b5637195d3fc5f493657579235e8 |
| turbo-cache-control | no-preview |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | bdde15ad1b403e23b08bbd89b53fbe6bdf688cad |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width