When using parsley exceptions kill bpython
The following traceback is thrown
Traceback (most recent call last):
File "/home/jakob/.virtualenvs/copper/bin/bpython", line 11, in <module>
sys.exit(main())
File "/home/jakob/.virtualenvs/copper/lib/python3.5/site-packages/bpython/curtsies.py", line 190, in main
exit_value = repl.mainloop()
File "/home/jakob/.virtualenvs/copper/lib/python3.5/site-packages/bpython/curtsies.py", line 125, in mainloop
self.process_event_and_paint(e)
File "/home/jakob/.virtualenvs/copper/lib/python3.5/site-packages/bpython/curtsies.py", line 89, in process_event_and_paint
self.process_event(e)
File "/home/jakob/.virtualenvs/copper/lib/python3.5/site-packages/bpython/curtsiesfrontend/repl.py", line 584, in process_event
return self.process_key_event(e)
File "/home/jakob/.virtualenvs/copper/lib/python3.5/site-packages/bpython/curtsiesfrontend/repl.py", line 711, in process_key_event
self.on_enter()
File "/home/jakob/.virtualenvs/copper/lib/python3.5/site-packages/bpython/curtsiesfrontend/repl.py", line 794, in on_enter
self.push(self.current_line, insert_into_history=insert_into_history)
File "/home/jakob/.virtualenvs/copper/lib/python3.5/site-packages/bpython/curtsiesfrontend/repl.py", line 1058, in push
self.run_code_and_maybe_finish()
File "/home/jakob/.virtualenvs/copper/lib/python3.5/site-packages/bpython/curtsiesfrontend/repl.py", line 1061, in run_code_and_maybe_finish
r = self.coderunner.run_code(for_code=for_code)
File "/home/jakob/.virtualenvs/copper/lib/python3.5/site-packages/bpython/curtsiesfrontend/coderunner.py", line 136, in run_code
request = self.code_greenlet.switch()
File "/home/jakob/.virtualenvs/copper/lib/python3.5/site-packages/bpython/curtsiesfrontend/coderunner.py", line 178, in _blocking_run_code
unfinished = self.interp.runsource(self.source)
File "/home/jakob/.virtualenvs/copper/lib/python3.5/site-packages/bpython/repl.py", line 160, in runsource
filename, symbol)
File "/usr/lib64/python3.5/code.py", line 75, in runsource
self.runcode(code)
File "/usr/lib64/python3.5/code.py", line 95, in runcode
self.showtraceback()
File "/home/jakob/.virtualenvs/copper/lib/python3.5/site-packages/bpython/repl.py", line 215, in showtraceback
l[len(l):] = traceback.format_exception_only(t, v)
File "/usr/lib64/python3.5/traceback.py", line 136, in format_exception_only
return list(TracebackException(etype, value, None).format_exception_only())
File "/usr/lib64/python3.5/traceback.py", line 439, in __init__
_seen.add(exc_value)
TypeError: unhashable type: 'ParseError'
When an exception in parsely is thrown
Smallest reproducable example is
import parsley
grammar = """
name = <letter letterOrDigit*>
"""
parser = parsley.makeGrammar(grammar, {})
parser("3").name()