[PATCH v2 0/2] protect git from a rogue editor
- From
Carlo Marcelo Arenas Belón <carenas@gmail.com>
- Date
- Oct 5, 2021, 07:46 UTC
- Message-ID
- <20211005074648.86032-1-carenas@gmail.com>
- In-Reply-To
- <20211004072600.74241-1-carenas@gmail.com>
This is a reroll of cm/save-restore-terminal that removes the unnecessary forward declaration in compat/terminal that was patiently reported[1] by Junio.
Also changed the wording used in the first paragraph of the commit message for the first patch, which hopefully has better grammar.
The series implements a way for git to save and restore the terminal settings around EDITOR calls to avoid having to deal with botched output if the editor misbehaves.
Carlo Marcelo Arenas Belón (2): terminal: teach git how to save/restore its terminal settings editor: save and reset terminal after calling EDITOR
compat/terminal.c | 75 +++++++++++++++++++++++++++++++++++++---------- compat/terminal.h | 3 ++ editor.c | 8 +++++ 3 files changed, 71 insertions(+), 15 deletions(-)
[1] https://lore.kernel.org/git/CAPUEspiQrGDyYrBUmeMh0C1uPDjUE5d--5zT4vZZUdNr+xtAxA@mail.gmail.com/T/#u
Range-diff against v1:
1: 63cfeda4b7 ! 1: cf8306816d terminal: teach git how to save/restore its terminal settings
@@ compat/terminal.c
#if defined(HAVE_DEV_TTY) || defined(GIT_WINDOWS_NATIVE)
-static void restore_term(void);
-+void restore_term(void);
-
+-
static void restore_term_on_signal(int sig)
{
+ restore_term();
@@ compat/terminal.c: static void restore_term_on_signal(int sig)
static int term_fd = -1;
static struct termios old_term;
2: 0f409b6d00 = 2: d83cd3f712 editor: save and reset terminal after calling EDITOR-- 2.33.0.955.gee03ddbf0e