fish-shell/tests/pexpects
ridiculousfish 3cb105adbd Restore terminal modes after running key bindings with external commands
This concerns the behavior when running an external command from a key
binding. The history is:

Prior to 5f16a299a7, fish would run these external commands in shell
modes. This meant that fish would pick up any tty changes from external
commands (see #2114).

After 5f16a299a7, fish would save and restore its shell modes around
these external commands. This introduced a regression where anything the
user typed while a bound external command was executing would be echoed,
because external command mode has ECHO set in c_lflag. (This can be
reproed easily with `bind -q 'sleep 1'` and then pressing q and typing).
So 5f16a299a7 was reverted in fd9355966.

This commit partially reverts fd9355966. It has it both ways: external
commands are launched with shell modes, but/and shell modes are restored
after the external command completes. This allows commands to muck with
the tty, as long as they can handle getting shell modes; but it does not
enable ECHO mode so it fixes the regression found in #7770.

Fixes #7770. Fixes #2114 (for the third time!)

This partially reverts commit fd9355966e.
2021-03-10 22:36:33 -08:00
..
bind_mode_events.py Reformat pexpects 2020-06-08 17:33:04 +02:00
bind.py tests: Deactivate that one bind test that still keeps failing 2021-01-26 07:07:51 +01:00
cancel_event.py Reformat 2020-11-22 14:39:48 +01:00
commandline.py Don't enqueue a repaint in the middle of one 2020-09-11 19:23:26 +02:00
complete.py Reset the readline loop state when setting the buffer 2021-02-25 16:19:28 +01:00
exit_handlers.py Add a test that fish_exit handlers run on receipt of SIGHUP 2020-08-30 15:09:34 -07:00
exit.py Reformat 2020-11-22 14:39:48 +01:00
fg.py Restore terminal modes after running key bindings with external commands 2021-03-10 22:36:33 -08:00
fkr.py Tests: Yet another delay change 2020-11-11 19:20:55 +01:00
generic.py type: Add missing newline 2021-01-03 17:48:25 +01:00
histfile.py Another formatting run 2020-06-24 20:43:56 +02:00
history.py Make history search smartcase 2020-09-22 16:13:24 +02:00
isatty.py Reformat 2020-11-22 14:39:48 +01:00
job_summary.py Reformat 2020-11-22 14:39:48 +01:00
pipeline.py Restyle codebase 2020-12-06 15:39:54 +01:00
postexec.py Reformat 2020-11-22 14:39:48 +01:00
private_mode.py Allow fish_private_mode to change at runtime 2021-01-02 22:01:47 -08:00
read.py Port read tests to expect 2020-06-13 15:21:40 +02:00
set_color.py Fix crash with set_color --print-colors --background normal 2021-03-09 13:46:08 +01:00
sigint.py Correctly propagate signals from cancelled jobs into parse_execution_context 2020-08-13 15:30:15 -07:00
signals.py tests: Add yet another sleep 2020-09-27 09:22:45 +02:00
terminal.py Only enable actual flow control on Linux 2021-02-15 17:30:50 +01:00
tty_ownership.py Reformat 2020-11-22 14:39:48 +01:00
undo.py Add simple pexpect test for undo 2021-01-07 23:53:31 +01:00
wait.py tests: Increase another timeout 2020-11-06 17:56:38 +01:00