diff --git a/jedi/_compatibility.py b/jedi/_compatibility.py index 7b549746..3245ae07 100644 --- a/jedi/_compatibility.py +++ b/jedi/_compatibility.py @@ -442,64 +442,6 @@ try: import cPickle as pickle except ImportError: import pickle -if sys.version_info[:2] == (3, 3): - """ - Monkeypatch the unpickler in Python 3.3. This is needed, because the - argument `encoding='bytes'` is not supported in 3.3, but badly needed to - communicate with Python 2. - """ - - class NewUnpickler(pickle._Unpickler): - dispatch = dict(pickle._Unpickler.dispatch) - - def _decode_string(self, value): - # Used to allow strings from Python 2 to be decoded either as - # bytes or Unicode strings. This should be used only with the - # STRING, BINSTRING and SHORT_BINSTRING opcodes. - if self.encoding == "bytes": - return value - else: - return value.decode(self.encoding, self.errors) - - def load_string(self): - data = self.readline()[:-1] - # Strip outermost quotes - if len(data) >= 2 and data[0] == data[-1] and data[0] in b'"\'': - data = data[1:-1] - else: - raise pickle.UnpicklingError("the STRING opcode argument must be quoted") - self.append(self._decode_string(pickle.codecs.escape_decode(data)[0])) - dispatch[pickle.STRING[0]] = load_string - - def load_binstring(self): - # Deprecated BINSTRING uses signed 32-bit length - len, = pickle.struct.unpack('