diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2022-02-19 10:50:10 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2022-02-19 10:50:10 -0800 |
commit | c914063fd0eb8c02d8362b86a61933c656a938bc (patch) | |
tree | a81db16032450b5ece94b70c2d824e6bd2c79571 /chksums/sha256.c | |
parent | f20db9ab6cacd73f4276c6541d3009e731811a7e (diff) | |
download | txr-c914063fd0eb8c02d8362b86a61933c656a938bc.tar.gz txr-c914063fd0eb8c02d8362b86a61933c656a938bc.tar.bz2 txr-c914063fd0eb8c02d8362b86a61933c656a938bc.zip |
listener: restore and improve method completion.
The recent autoload changes have degraded method completion,
which didn't work well in the first place.
Test case: with this change you can type term.(go[Tab] to
complete to term.(go-raw or term.(go-cbreak.
* parser.c (find_matching_syms): Do not use the get_slot_syms
function for finding method and slot symbols. Just use
get_visible_syms, like for other bindings. Instead, in the switch
statement in the loop, for the 'M' (method) and 'S' (slot)
completion types, we use the static_slot_types and slot_types
functions to inquire whether a symbol has a binding. And these
two functions do something important: unlike get_slot_syms,
they trigger autoload.
* struct.c (get_slot_syms): Function removed.
* struct.h (get_slot_syms): Declaration removed.
Diffstat (limited to 'chksums/sha256.c')
0 files changed, 0 insertions, 0 deletions