-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Request] Don't Block at End of Stream #572
Comments
What about |
If I understand correctly, that flag has no affect on an unfinished/blocking stream. For example, run A pager like |
At least there's no freeze in macOS. |
You can use ESC-G to jump to the end of the buffered data and retain control of the UI. However there are cases where if you attempt to read past the end of buffered data (on an open pipe), less will block waiting for data from the pipe. The pipe must remain open for this situation to arise; for example
If you let the screen fill up and then page forward, eventually you will reach a point where less is waiting for data from the pipe. You can break out of the wait and regain control by entering ^X. |
If I understand ^X correctly, it causes On the other hand, If such feature were to be implemented in |
There were some changes in this area in the post659 branch. I think it behaves more like you want. If you are on a 40 line terminal and press If you want to try this branch, let me know if you find any behavior that doesn't act like you expect. |
That's great, so it seems most the functionally to behave without freezing on streams is already there. Perhaps it could be added. If implemented, a
|
I think changes mentioned here are in 9933cf1 commit which was the result of discussion in issue #553.
For me this would be surprising and not coherent with behavior described in points 1 and 2 which seem to suggest that no action should implicitly try to read more data.
I'm not sure most people would agree that by pressing f they requested 39 lines. I think the intention is to request at most the next 39 lines as one (most of the time) does not know how much data is left. I think the most natural behavior and what most people want is how it works in lnav where new data is being read continuously, without blocking UI, and ready to be accessed in whatever way; going to the end, searching etc.. In addition user can pause reading new data anytime by pressing Generally the fact that less' UI freezes when reading more data is the root cause of many complaints from users which find (rightly so) such behavior unexpected and undesirable. The big problem seems to be that instead of fixing this root cause less went the other way and started to introduce new commands (like |
Fair point. If it blocks on search, then that would mean the searched text was not found YET, but will continue to search as new input arrives. Though,
Yes
Unfortunately, I have to agree. |
Recently I've been testing the pagers
ov
andmoar
.When piping data to these pagers, then scrolling to the end of the stream, the program doesn't lockup and block. An indicator that the end of the stream has been reached, and normal functionality of the program to scroll, search, charge view, etc continues.
I'd like to make a feature request that
less
would also not freeze waiting for more data. Waiting endlessly for more data that may or may not ever come.The text was updated successfully, but these errors were encountered: