git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Dragan Simic <dsimic@manjaro.org>
To: Christoph Anton Mitterer <calestyo@scientia.org>
Cc: git@vger.kernel.org
Subject: Re: why does git set X in LESS env var?
Date: Fri, 13 Oct 2023 00:36:33 +0200	[thread overview]
Message-ID: <60f1922b12a6ef304ffa36c334348e34@manjaro.org> (raw)
In-Reply-To: <c6cd3133573d5ade6d02b5da1051853a4b3885e1.camel@scientia.org>

On 2023-10-12 23:48, Christoph Anton Mitterer wrote:
> On Thu, 2023-10-12 at 23:15 +0200, Dragan Simic wrote:
>> 
>> Ah, I can finally see what are you talking about...  Thank you very 
>> much
>> for all the testing you've performed and for supplying this screen
>> recording!  I can confirm that my environment is also affected, but 
>> for
>> some reason I haven't observed it this way before.
> 
> Well... perhaps because it's not really "easy" to spot unless one
> carefully reads through the lines (which I guess, one does not that
> often in the terminal "history").
> 
> Have a look at my ticket at less, especially:
> https://github.com/gwsw/less/issues/445#issuecomment-1758887183

Great, thanks, it's full of very useful information.

> Where it was confirmed that the issue I describe might happen (and I
> guess is non-fixable?
> 
> The whole issue also contains an explanation on why scrolling doesn't
> work when -X is used (but --mouse is not) on VTE terminals (and maybe
> others, though not xterm).
> And it's basically not "fixable" but simply "by design".

It seems that "--redraw-on-quit" is a possible candidate for replacing 
"-X" in the set of default options for less(1), and also in other CLI 
utilities, but I still need to test it in detail.

>> Huh, that's really worrisome and I'm willing to help you with
>> debugging
>> and fixing this issue.  Please, let me perform some debugging and
>> digging around, and I'll come back to you with some further insights,
> 
> Well, my assumption (though I'm really not a terminal expert) would be
> that it's not fixable... because less would somehow make sure that
> everything it prints (in the alt screen buffer) is properly
> concatenated in the the regular one.

I did some work on terminal emulators, but I'm also not very much of an 
expert when it comes to terminal emulators.

> less upstream made some suggestions:
> https://github.com/gwsw/less/issues/445#issuecomment-1759986293
> 
> One would be to change the terminfo entry, which I guess is not really
> feasible as a general solution.
> 
> The other would be less’ --redraw-on-quit option.

I agree that the latter seems like a viable solution, but as I already 
wrote above, I need to test it first, together with doing some digging 
through the less(1) source code.

> Maybe that would be an even better solution for git?
> AFAICS, we could have -F, the VTE mouse scrolling out of the box, plus
> (via that option) the final screen buffer of less printed when exiting.

Exactly, but still needs testing and a detailed insight.

> Would give some context (what one did in the pager, where one was) on
> the regular screen buffer, but (presumably) avoid that mess up... and
> perhaps even prevent unneeded pages of output from the pager, if one
> scrolled down a lot, which maybe aren't even needed?

Yes, it seems to tick all the boxes.

> (Also note, that less` upstream calls `-X` "a risky flag" ;-) )

In general, "-X" seems to be more of a bandaid option.

>> Those people, just as anyone else, can use $PAGER or $GIT_PAGER to
>> configure the pagination the way they like it.  In the end, that's
>> also
>> what I do in my environment.
> 
> Sure... all I said, that (IMO) in the case of `-X` it's not like with
> `-R` but rater like with `-S`... i.e. neither mode has more right to be
> the default than the other.


  reply	other threads:[~2023-10-12 22:36 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-11 22:19 why does git set X in LESS env var? Christoph Anton Mitterer
2023-10-11 22:23 ` Junio C Hamano
2023-10-11 22:26   ` Christoph Anton Mitterer
2023-10-11 22:51     ` Dragan Simic
2023-10-11 23:16       ` Christoph Anton Mitterer
2023-10-11 23:29         ` Dragan Simic
2023-10-11 23:43           ` Christoph Anton Mitterer
2023-10-12  0:06             ` Dragan Simic
2023-10-12  0:22               ` Christoph Anton Mitterer
2023-10-12  0:31                 ` Dragan Simic
2023-10-12  1:39                   ` Christoph Anton Mitterer
2023-10-12  5:46                     ` Dragan Simic
2023-10-12 20:23                       ` Christoph Anton Mitterer
2023-10-12 21:15                         ` Dragan Simic
2023-10-12 21:48                           ` Christoph Anton Mitterer
2023-10-12 22:36                             ` Dragan Simic [this message]
2023-10-12 23:06                               ` Christoph Anton Mitterer
2023-10-13  4:43                                 ` Dragan Simic
2023-10-13 13:45                                   ` Christoph Anton Mitterer
2023-10-13 15:00                                     ` Dragan Simic
2023-10-12  0:04   ` Jeff King
2023-10-12  0:16     ` Dragan Simic
2023-10-12  1:39     ` Junio C Hamano
2023-10-12  5:30       ` Dragan Simic
2023-10-12 16:19         ` Junio C Hamano
2023-10-13 20:12           ` Dragan Simic
     [not found]             ` <cfbe174f-23ac-4a35-8db4-66bdfdfdc14e@gmail.com>
2023-11-02  6:01               ` Thomas Guyot
2023-11-02  6:14                 ` Dragan Simic
2023-11-02  6:48               ` Dragan Simic
2023-11-02 13:19                 ` Thomas Guyot
2023-11-02 14:19                   ` Dragan Simic
2023-11-03 11:47                     ` Thomas Guyot
2023-11-03 15:28                       ` Andy Koppe
2023-11-03 18:38                         ` Dragan Simic
2023-11-03 18:22                       ` Dragan Simic
2023-11-06  3:47                     ` Dragan Simic
2024-03-21 15:53                       ` Dragan Simic
2023-10-12  3:54     ` Christoph Anton Mitterer
2023-10-12  5:57       ` Dragan Simic

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=60f1922b12a6ef304ffa36c334348e34@manjaro.org \
    --to=dsimic@manjaro.org \
    --cc=calestyo@scientia.org \
    --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).