Closed
Description
This issue is not reproducible with several different dict
s that I've tried, but it can be reproduced with the dict
below.
my_dict = {
'Circle': {'Ellipse',
'Shape',
'ShapeDriver'},
'Ellipse': {'Shape'},
'Rectangle': {'Shape'},
'Shape': {'Circle'},
'ShapeDriver': {'Circle',
'Ellipse',
'Shape'},
'Square': {'Rectangle'}
}
Steps to recreate:
- create new
dict
- type
my_dict[
- press key to use tab-completion
- crash
~ % bpython
bpython version 0.21 on top of Python 3.8.2 /Library/Developer/CommandLineTools/usr/bin/python3
>>> my_dict = {
... 'a/Circle': {'Ellipse',
... 'Shape',
... 'ShapeDriver'},
...
... 'a/Ellipse': {'Shape'},
...
... 'a/Rectangle': {'Shape'},
...
... 'a/Shape': {'Circle'},
...
... 'a/ShapeDriver': {'Circle',
... 'Ellipse',
... 'Shape'},
...
... 'a/Square': {'Rectangle'}
... }
>>> my_dict['b/banana']
Traceback (most recent call last):
File "/Users/arian/Library/Python/3.8/bin/bpython", line 8, in <module>
sys.exit(main())
File "/Users/arian/Library/Python/3.8/lib/python/site-packages/bpython/curtsies.py", line 201, in main
exit_value = repl.mainloop(True, paste)
File "/Users/arian/Library/Python/3.8/lib/python/site-packages/bpython/curtsies.py", line 121, in mainloop
self.process_event_and_paint(e)
File "/Users/arian/Library/Python/3.8/lib/python/site-packages/bpython/curtsies.py", line 85, in process_event_and_paint
self.process_event(e)
File "/Users/arian/Library/Python/3.8/lib/python/site-packages/bpython/curtsiesfrontend/repl.py", line 615, in process_event
return self.process_key_event(e)
File "/Users/arian/Library/Python/3.8/lib/python/site-packages/bpython/curtsiesfrontend/repl.py", line 757, in process_key_event
self.on_tab()
File "/Users/arian/Library/Python/3.8/lib/python/site-packages/bpython/curtsiesfrontend/repl.py", line 891, in on_tab
cursor_and_line = self.matches_iter.substitute_cseq()
File "/Users/arian/Library/Python/3.8/lib/python/site-packages/bpython/repl.py", line 297, in substitute_cseq
self.update(
File "/Users/arian/Library/Python/3.8/lib/python/site-packages/bpython/repl.py", line 318, in update
self.start, self.end, self.current_word = self.completer.locate(
TypeError: cannot unpack non-iterable NoneType object
Metadata
Metadata
Assignees
Labels
No labels