git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Fernando Ramos <greenfoo@u92.eu>
To: Felipe Contreras <felipe.contreras@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH v3 2/3] mergetools: vimdiff: fix single tab mode, single window mode and colors
Date: Mon, 8 Aug 2022 20:14:26 +0200	[thread overview]
Message-ID: <YvFSgjK0P5kzoOfg@zacax395.localdomain> (raw)
In-Reply-To: <CAMP44s3v_4PdOfaviXCxik1LL5k_kkmZ2Yp=+Qfb8CqyNCdMUQ@mail.gmail.com>

On 22/08/08 01:37AM, Felipe Contreras wrote:
> On Mon, Aug 8, 2022 at 12:35 AM Fernando Ramos <greenfoo@u92.eu> wrote:
> >
> > vimdiff3 was introduced in 7c147b77d3 (mergetools: add vimdiff3 mode,
> > 2014-04-20) and then partially broken in 0041797449 (vimdiff: new
> > implementation with layout support, 2022-03-30) in two ways:
> >
> >     - It does not show colors unless the user has "set hidden" in his
> >       .vimrc file
> >
> >     - It prompts the user to "Press ENTER" every time it runs.
> 
> For the record, in my version these two issues are fixed in a much simpler way:
> 

Yes, it was simpler but remember it had two small issues:

  1. In "vimdiff3" mode, if you switch to buffers #2 or #3, highlighting
     disappears.

  2. It treats a single tab with a single window as a special case, when in
     fact it is just a subcase of a layout with many tabs where one of them
     contains just one window.
     The new patch series makes no distinction between them by keeping track
     of the number of windows opened on each tab which, as you noted, adds
     some extra complexity (but needed complexity nevertheless if we want to
     have highlighting enabled in all cases)


> >         # Add an extra "-c" option to move to the first tab (notice that we
> >         # can't simply append the command to the previous "-c" string as
> >         # explained here: https://github.com/vim/vim/issues/9076
> >
> > -       FINAL_CMD="-c \"$CMD\" -c \"tabfirst\""
> > +       FINAL_CMD="-c \"set hidden diffopt-=hiddenoff diffopt-=closeoff\" -c \"$CMD\" -c \"tabfirst\""
> >  }
> 
> These diffopt settings look awfully familiar.
> 

I would go as far as saying they are the same :)

As you explained, it is better to keep these options explicitly set so that
buffer diff'ing works in all cases.

Notice that in this new patch series, however, these options apply to all
layouts (and not just to "vimdiff3"), as we want highlighting to also be
enabled in multi-tab single window layouts.


PS: I have been testing many layouts today with and without an empty .vimrc and
everything seems to work. But it would be great if others reading this did the
same to make sure there are no other strange vim configuration options that
affect the way diffs are displayed (as, unfortunately, we have found out in the
past more than once!)

Thanks!

  reply	other threads:[~2022-08-08 18:14 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-07  2:49 [PATCH v2 0/9] mergetools: vimdiff: regression fix and reorg Felipe Contreras
2022-08-07  2:49 ` [PATCH v2 1/9] mergetools: vimdiff: fix comment Felipe Contreras
2022-08-07  2:49 ` [PATCH v2 2/9] mergetools: vimdiff: shuffle single window case Felipe Contreras
2022-08-07 14:46   ` Fernando Ramos
2022-08-07 15:44     ` Felipe Contreras
2022-08-07  2:49 ` [PATCH v2 3/9] mergetools: vimdiff: add get_buf() helper Felipe Contreras
2022-08-07  2:49 ` [PATCH v2 4/9] mergetools: vimdiff: make vimdiff3 actually work Felipe Contreras
2022-08-07  2:49 ` [PATCH v2 5/9] mergetools: vimdiff: silence annoying messages Felipe Contreras
2022-08-07  2:49 ` [PATCH v2 6/9] mergetools: vimdiff: fix for diffopt Felipe Contreras
2022-08-07  2:49 ` [PATCH v2 7/9] mergetools: vimdiff: cleanup cruft Felipe Contreras
2022-08-07  2:49 ` [PATCH v2 8/9] mergetools: vimdiff: fix single window mode Felipe Contreras
2022-08-07  2:49 ` [PATCH v2 9/9] mergetools: vimdiff: use vimdiff for vimdiff3 Felipe Contreras
2022-08-07 14:46   ` Fernando Ramos
2022-08-07  7:54 ` [PATCH v2 0/9] mergetools: vimdiff: regression fix and reorg Fernando Ramos
2022-08-07 15:39   ` Felipe Contreras
2022-08-07 18:39     ` Fernando Ramos
2022-08-07 18:43       ` [PATCH 1/2] vimdiff: fix single tab mode, single window mode and colors Fernando Ramos
2022-08-07 18:43         ` [PATCH 2/2] vimdiff: update unit tests Fernando Ramos
2022-08-07 22:27       ` [PATCH v2 0/9] mergetools: vimdiff: regression fix and reorg Felipe Contreras
2022-08-08  5:34 ` [PATCH v3 0/3] mergetools: vimdiff: regression fix (vimdiff3 mode) Fernando Ramos
2022-08-08  5:34   ` [PATCH v3 1/3] mergetools: vimdiff: fix comment Fernando Ramos
2022-08-08  5:34   ` [PATCH v3 2/3] mergetools: vimdiff: fix single tab mode, single window mode and colors Fernando Ramos
2022-08-08  6:37     ` Felipe Contreras
2022-08-08 18:14       ` Fernando Ramos [this message]
2022-08-08 21:00         ` Felipe Contreras
2022-08-08 21:51           ` Fernando Ramos
2022-08-09  0:59             ` Felipe Contreras
2022-08-08  5:34   ` [PATCH v3 3/3] mergetools: vimdiff: update unit tests Fernando Ramos

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YvFSgjK0P5kzoOfg@zacax395.localdomain \
    --to=greenfoo@u92.eu \
    --cc=felipe.contreras@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).