mbox series

[v2,0/2] protect git from a rogue editor

Message ID 20211005074648.86032-1-carenas@gmail.com (mailing list archive)
Headers show
Series protect git from a rogue editor | expand

Message

Carlo Marcelo Arenas Belón Oct. 5, 2021, 7:46 a.m. UTC
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