[3.6] bpo-33422: Fix quotation marks getting deleted when looking up byte/string literals on pydoc. (GH-6701) by miss-islington · Pull Request #6710 · python/cpython

Expand Up @@ -1716,8 +1716,9 @@ class Helper: } # Either add symbols to this dictionary or to the symbols dictionary # directly: Whichever is easier. They are merged later. _strprefixes = [p + q for p in ('b', 'f', 'r', 'u') for q in ("'", '"')] _symbols_inverse = { 'STRINGS' : ("'", "'''", "r'", "b'", '"""', '"', 'r"', 'b"'), 'STRINGS' : ("'", "'''", '"', '"""', *_strprefixes), 'OPERATORS' : ('+', '-', '*', '**', '/', '//', '%', '<<', '>>', '&', '|', '^', '~', '<', '>', '<=', '>=', '==', '!=', '<>'), 'COMPARISON' : ('<', '>', '<=', '>=', '==', '!=', '<>'), Expand Down Expand Up @@ -1874,7 +1875,13 @@ def interact(self): if not request: break except (KeyboardInterrupt, EOFError): break request = replace(request, '"', '', "'", '').strip() request = request.strip()
# Make sure significant trailing quoting marks of literals don't # get deleted while cleaning input if (len(request) > 2 and request[0] == request[-1] in ("'", '"') and request[0] not in request[1:-1]): request = request[1:-1] if request.lower() in ('q', 'quit'): break if request == 'help': self.intro() Expand Down