git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/2] terminal: teach git how to save/restore its terminal settings

From
Junio C Hamano <gitster@pobox.com>
Date
Oct 4, 2021, 18:10 UTC
Message-ID
<xmqqlf38wthy.fsf@gitster.g>
In-Reply-To
<CAPUEsph_Aqaveur4qZ+Z+85gw1z2CvPOkzbkqW9zt56RoHhUJw@mail.gmail.com>
Carlo Arenas <carenas@gmail.com> writes:
Show 21 quoted lines
> On Mon, Oct 4, 2021 at 9:36 AM Junio C Hamano <gitster@pobox.com> wrote:
>> Carlo Marcelo Arenas Belón  <carenas@gmail.com> writes:
>> > diff --git a/compat/terminal.c b/compat/terminal.c
>> > index 43b73ddc75..1fadbfd6b6 100644
>> > --- a/compat/terminal.c
>> > +++ b/compat/terminal.c
>> > @@ -8,7 +8,7 @@
>> >
>> >  #if defined(HAVE_DEV_TTY) || defined(GIT_WINDOWS_NATIVE)
>> >
>> > -static void restore_term(void);
>> > +void restore_term(void);
>>
>> Curious why you need this because (1) we do not have the same for
>> save_term() here, and (2) we include compat/terminal.h where these
>> two are declared next to each other.
>
> It is in preparation for the next patch where we will call these newly
> public functions from editor.c
> I'll be reusing restore_term(), while save_term() is new, hence why
> only one had this change.
I think I understand all that correctly.

I was curious why the patch left a forward declaration, instead of just removing it, which it can do because now we have the necessary declaration in the header file it includes.

With only [1/2]:
 - we already have save_term() and restore_term() externally
   declared, so even outside users can use them (which is a good
   thing to do), as long as they include <compat/terminal.h>.
 - we include <compat/terminal.h> in compat/terminal.c; I do not see
   why the patch needs to turn a static forward declaration into an
   extern one in the hunk in question.
Thanks.
Previous: Carlo ArenasNext: Carlo Arenas
Message 8 of 14 in “protect git from a rogue editor”
  1. 0/2 protect git from a rogue editorCarlo Marcelo Arenas Belón, Oct 2, 2021
  2. 1/2 terminal: teach git how to save/restore its terminal settingsCarlo Marcelo Arenas Belón, Oct 2, 2021
  3. 2/2 editor: save and reset terminal after calling EDITORCarlo Marcelo Arenas Belón, Oct 2, 2021
  4. 0/2 protect git from a rogue editorCarlo Marcelo Arenas Belón, Oct 4, 2021
  5. 1/2 terminal: teach git how to save/restore its terminal settingsCarlo Marcelo Arenas Belón, Oct 4, 2021
  6. Junio C HamanoOct 4, 2021
  7. Carlo ArenasOct 4, 2021
  8. Junio C HamanoOct 4, 2021
  9. Carlo ArenasOct 4, 2021
  10. 2/2 editor: save and reset terminal after calling EDITORCarlo Marcelo Arenas Belón, Oct 4, 2021
  11. Junio C HamanoOct 4, 2021
  12. 0/2 protect git from a rogue editorCarlo Marcelo Arenas Belón, Oct 5, 2021
  13. 1/2 terminal: teach git how to save/restore its terminal settingsCarlo Marcelo Arenas Belón, Oct 5, 2021
  14. 2/2 editor: save and reset terminal after calling EDITORCarlo Marcelo Arenas Belón, Oct 5, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.