mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-25 09:39:52 +08:00
c3cd68dda5
A long standing issue is that bindings cannot mix special input functions and shell commands. For example, bind x end-of-line "commandline -i x" silently does nothing. Instead we have to do lift everything to shell commands bind x "commandline -f end-of-line; commandline -i x" for no good reason. Additionally, there is a weird ordering difference between special input functions and shell commands. Special input functions are pushed into the the queue whereas shell commands are executed immediately. This weird ordering means that the above "bind x" still doesn't work as expected, because "commandline -i" is processed before "end-of-line". Finally, this is all implemented via weird hack to allow recursive use of a mutable reference to the reader state. Fix all of this by processing shell commands the same as both special input functions and regular chars. Hopefully this doesn't break anything. Fixes #8186 Fixes #10360 Closes #9398 |
||
---|---|---|
.. | ||
abbrs.py | ||
bind_mode_events.py | ||
bind.py | ||
cancel_event.py | ||
commandline.py | ||
complete-group-order.py | ||
complete.py | ||
cursor_selection.py | ||
disable_mouse.py | ||
eval-stack-overflow.py | ||
exit_handlers.py | ||
exit_nohang.py | ||
exit.py | ||
fg.py | ||
fkr.py | ||
generic.py | ||
histfile.py | ||
history.py | ||
isatty.py | ||
job_summary.py | ||
nullterm.py | ||
pipeline.py | ||
postexec.py | ||
private_mode.py | ||
read.py | ||
set_color.py | ||
sigint.py | ||
signals.py | ||
status.py | ||
stdin_nonblocking.py | ||
terminal.py | ||
torn_escapes.py | ||
tty_ownership.py | ||
undo.py | ||
wait.py | ||
wildcard_tab.py |