mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-28 13:53:10 +00:00
Save the screen status after running command bindings
This concerns running a key binding which invokes a command. If that command modifies the tty, then fish will spot the modification later and then react to it by redrawing the prompt. However tty modifications may be benign or desirable; for example switching the cursor from a line to a block. Fix this by re-fstating the tty after running external commands. Fixes #3481
This commit is contained in:
parent
49567a060e
commit
b8ad117e87
2 changed files with 5 additions and 0 deletions
|
@ -89,6 +89,7 @@ Interactive improvements
|
||||||
- ``time`` now emits an error if used after the first command in a pipeline (:issue:`8841`).
|
- ``time`` now emits an error if used after the first command in a pipeline (:issue:`8841`).
|
||||||
- ``fish_add_path`` now prints a message for skipped non-existent paths when using the ``-v`` flag.
|
- ``fish_add_path`` now prints a message for skipped non-existent paths when using the ``-v`` flag.
|
||||||
- Since fish 3.2.0, pressing :kbd:`Control-D` while a command is running would end up inserting a space into the next commandline, which has been fixed (:issue:`8871`).
|
- Since fish 3.2.0, pressing :kbd:`Control-D` while a command is running would end up inserting a space into the next commandline, which has been fixed (:issue:`8871`).
|
||||||
|
- A bug that caused multi-line prompts to be moved down a line when switching between insert and normal mode has been fixed (:issue:`3481`).
|
||||||
|
|
||||||
New or improved bindings
|
New or improved bindings
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
@ -3079,6 +3079,10 @@ void reader_data_t::run_input_command_scripts(const wcstring_list_t &cmds) {
|
||||||
wperror(L"tcsetattr");
|
wperror(L"tcsetattr");
|
||||||
}
|
}
|
||||||
termsize_container_t::shared().invalidate_tty();
|
termsize_container_t::shared().invalidate_tty();
|
||||||
|
|
||||||
|
// The input command scripts may have changed our tty - ignore any such changes.
|
||||||
|
// See #3481.
|
||||||
|
screen.save_status();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Read normal characters, inserting them into the command line.
|
/// Read normal characters, inserting them into the command line.
|
||||||
|
|
Loading…
Reference in a new issue