This PR attempts to fix #2865 by removing newlines marked as « continuation » line feeds from the terminal output, when pushing these lines to the buffer.
This allows e.g. to open a file with gf when the file name is long and split across several lines. Also nice visually because the
The good:
The bad:
add_scrollback_line_to_buffer(): Is ml_replace the correct approach ?vterm_state_get_line_info ?sb_pushline callback ? It seems to be a minimal change and I’ve checked other occurrences of this callback.add_scrollback_line_to_buffer() is not done yetAsking for any and all opinions at this stage.
I’ve added the continuation info to the scrollback lines, which may not be 100% necessary (there could be a work-around) at this time − however I believe this will be useful to « reflow » lines, that is move the continuation line breaks on window resizes. See discussion in #2865.
Terminal mode: long line causing « continuation » line feeds (same for both vim version):

Switching to normal mode (current vim master), long output line is artifically split, causes problems to select as 1 word and messy display:

Switching to normal mode (vim built from this PR), long output line appears as a single line (see line numbers), line split is moved due to gutter size, single word split across displayed lines is really a single word:
https://github.com/vim/vim/pull/8365
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.![]()
Appveyor build fails on this line ? Not sure why
Cc @leonerd
@Cimbali pushed 4 commits.
—
You are receiving this because you are subscribed to this thread.
@Cimbali pushed 4 commits.
—
You are receiving this because you are subscribed to this thread.
Appveyor build fails on this line ? Not sure why
Because MSVC 10 doesn't support C99 style variable declaration.
All the variables should be declared at the top of the block.
Merging #8365 (ab72d87) into master (3044324) will decrease coverage by
87.26%.
The diff coverage is2.42%.
❗ Current head ab72d87 differs from pull request most recent head d9115c2. Consider uploading reports for the commit d9115c2 to get more accurate results
@@ Coverage Diff @@ ## master #8365 +/- ## =========================================== - Coverage 89.77% 2.50% -87.27% =========================================== Files 149 147 -2 Lines 167282 162254 -5028 =========================================== - Hits 150178 4068 -146110 - Misses 17104 158186 +141082
| Flag | Coverage Δ | |
|---|---|---|
| huge-clang-none | ? |
|
| huge-gcc-none | ? |
|
| huge-gcc-testgui | ? |
|
| huge-gcc-unittests | 2.50% <2.42%> (-0.01%) |
⬇️ |
Flags with carried forward coverage won't be shown. Click here to find out more.
| Impacted Files | Coverage Δ | |
|---|---|---|
| src/cmdexpand.c | 0.00% <0.00%> (-93.75%) |
⬇️ |
| src/eval.c | 0.10% <0.00%> (-96.08%) |
⬇️ |
| src/evalvars.c | 5.31% <0.00%> (-91.03%) |
⬇️ |
| src/libvterm/include/vterm.h | 0.00% <ø> (-37.50%) |
⬇️ |
| src/libvterm/src/screen.c | 0.00% <0.00%> (-60.58%) |
⬇️ |
| src/libvterm/src/state.c | 0.00% <0.00%> (-90.00%) |
⬇️ |
| src/scriptfile.c | 0.94% <0.00%> (-90.59%) |
⬇️ |
| src/spell.c | 3.71% <0.00%> (-85.32%) |
⬇️ |
| src/spellfile.c | 0.76% <0.00%> (-88.17%) |
⬇️ |
| src/spellsuggest.c | 0.78% <0.00%> (-92.88%) |
⬇️ |
| ... and 154 more |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact),ø = not affected,? = missing data
Powered by Codecov. Last update 3044324...d9115c2. Read the comment docs.
Just FYI: I was pinged on this PR but I'm not intending to look into it all that much. vim's forked copy of libvterm has continued to diverge from my upstream copy to the point that it isn't easy to synchronise these things in again. In any case this particular development has happened entirely without my thoughts or input on the matter, and is somewhat different to the still in-progress work I have in a similar direction upstream.
Overall if youfolks want to try to synchronise these things back together again we need to do a much better job of coördinating things; otherwise I suspect you're on your own at this point.
@Cimbali pushed 4 commits.
—
You are receiving this because you are subscribed to this thread.
TBH @leonerd this PR modifies one callback from libvterm, the rest are just modifications to vim. There’s no real functional changes to libvterm: text reflowing is not implemented in libvterm in this PR − only in the vim buffer.
The sb_pushline callback is changed to send some info on the line being pushed (specifically the VTermLineInfo since we need to know whether the line has a continuation marker):
If anyone suggests a better way I’m happy to go with it:
sb_pushline (row from sb_pushline_from_row(VTermScreen *screen, int row)) does not seem trivial to find out without modifying the callback (at least to my novice eyes). However if someone can suggest how to do that I can leave the callback unchanged.VTermLineInfo I can do that too: the lineinfo array is accessible through the cbdata in this case.@leonerd You can easily subscribe to Vim changes and filter on "libvterm" to see what changes are made in the Vim copy of libvterm code.
Is there a way to subscribe to changes in the root libvterm? Not the copy that neovim has made (I believe it lags behind, I rather follow the original).
@Cimbali pushed 4 commits.
—
You are receiving this because you are subscribed to this thread.
I did the missing case for Windows wide-chars, but this approach seems somwhat doomed I’m afraid due to unforeseen interactions with scroll.
lineinfos are shifted before calling scrollrect, which in turn calls the sb_pushline callback − this makes it impossible to find out whether lines that were just pushed out of screen are continuations of the previous line.scrollrect actually seems to require the lineinfo to be scrolled, as shifting after lineinfo after causes « DWL spill over », i.e. the last test of libvterm’s test 67 fails.The ways this manifests in vim is that lines are incorrectly joined (joins are shift by 1) when the continuation lines are offscreen.
So we either have scrolling broken or the automatic resize?
Especially in TermDebug sessions with GDB often having to output longer content it would be very nice if making the gdb window wider would also show the content instead of multiple hard-broken lines and a lot of spaces.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub.
Triage notifications on the go with GitHub Mobile for iOS or Android.
![]()
At least that’s the issue with this attempt of implementing reflow @GitMensch. I’m sure there could be another way, but likely not without some input from people who have a better understanding of libvterm and/or vim’s src/terminal.c code.
—
You are receiving this because you are subscribed to this thread.
@Cimbali pushed 6 commits.
—
You are receiving this because you are subscribed to this thread.
After some more debugging I’ve managed to actually make this work as expected. Just to reiterate, this doesn’t handle resizing the terminal when it’s running, just displaying the terminal contents without undesired linebreaks when in normal buffer mode (and all that entails, see discussion above).
I’ve opened a discussion on the libvterm launchpad to see whether this would cause some additional divergence, or if we can keep that as low as possible.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub.
Sounds like this will address #5769 as well if I'm not mistaken.
For me personally it's the wraps when using termdebug that's the hardest to deal with that @GitMensch is also alluding to.
—
You are receiving this because you are subscribed to this thread.
I haven’t heard back from @leonerd yet, but I’ve been able to have a look at his work on reflowing in libvterm and the changes proposed there seem perfectly complementary to those in this PR. In the mean time, I’ve setup some mirrors so you can visualize the libvterm reflow changes etc.
—
You are receiving this because you are subscribed to this thread.
Hi @Cimbali what are you waiting for from me?
—
You are receiving this because you are subscribed to this thread.
Just your input on the changes affecting libvterm really (of which I also provided a rebased version on the upstream codebase on launchpad).
There’s a callback change, so it’s a pretty significant change. However I believe it fits in well with your work in progress on reflowing. Roughly, it allows history to be reflowed, so in this instance the vim buffer. It will also allow to pull lines with proper length from history with sb_popline after resize (or during resize if adding more rows to the window).
If you think these changes are good and you’re likely to integrate them into your reflow work, then I suppose it’s low risk to merge them here. If you’d prefer another way of doing, I can look into it. And if you’d think you’d rather not do these changes in ilbvterm at all, it’s up to @brammool to arbitrate the risk of diverging codebases further versus the added functionality.
—
You are receiving this because you are subscribed to this thread.
I've added comment on the launchpad issue; copied here:
Overall this looks quite a lot of code change to have without any sort of unit tests. I'd like to see some tests.
Moreover, I'd like to have seen the tests first as a way to discuss what actual behaviour is required. Once we agree that's useful I can likely go about implementing it.
But please start first with the tests. Always.
—
You are receiving this because you are subscribed to this thread.
Hi @leonerd, just a ping to notify you that I replied on launchpad last month and added a test. It’s also in this PR.
The changeset is really small, just adding a value to a callback. Please let us know if you plan on reviewing it.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali I tried the patch and it mostly works great. However there is a problem with very long lines.
Try seq 1000 | paste -sd+ several times, go to normal mode and scroll the buffer. You will notice that at some point the line breaks disappear and colors from the shell prompt (if your prompt has colors) shift to other lines or completely disappear.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Thanks for testing @noscript, I'll look into it. Do you maybe have a screenshot?
—
Reply to this email directly, view it on GitHub.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.![]()
vim -g --clean +'set lines=30 columns=22' +'term bash --noprofile --norc' +'only'
then
seq 100 | paste -sd+
tput setab 1; echo "this is red text"; tput sgr0
seq 100 | paste -sd+
—
Reply to this email directly, view it on GitHub.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali Any updates? Finishing this would be so helpful for debugging...
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
I can reproduce noscript’s issue but did not have time to delve into it much further I’m afraid.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali pushed 2 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
I fixed the last line unwrapping too eagerly. The next issue is the assumption that the number of buffer lines and scrollback lines are the same doesn’t hold any longer. This messes up cleanup_scrollback() from what I can see, as to few lines are popped from the buffer, and thus switching from normal to terminal repeatedly adds the same parts of some lines to the buffer.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali pushed 6 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Still slightly a WIP: I’ve managed to work out all the kinks I could find and wrapping works for terminal usage, including properly colouring scrolled text etc − only terminal dump read/write (whose tests fail) still needs some love.
There is something I am slightly unhappy about in my implementation: whenever information from sb_line_T is needed in the buffer (typically cell attributes), the tl_scrollback garray needs to be walked to find the corresponding line. For on-screen line it’s not much work (though it happens for every cell being redrawn), since the search can happen from the top of the screen (we keep track of this to un-scroll lines when returning to terminal mode). However for a buffer being scrolled upwards, the lines coming into view need to be found and this search happens from the beginning of the buffer.
Basically: it works, but I’m afraid there could be lagging when scrolling up large terminal buffers in normal mode.
There’s 2 potential solutions I can think of that could be added:
sb_line_T the corresponding line number in the buffer. Seems the simplest but probably requires a lot of work whenever cleanup_scrollback() is called to remove the (10%?) top lines of a buffer.term_S?) the latest buffer line -> scrollback line lookup result and start search from there (if it’s closer than the top of the buffer). That would make repeated calls for lookups on the same or neighbouring lines very efficient.—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali pushed 3 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali pushed 8 commits.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali pushed 9 commits.
You are receiving this because you are subscribed to this thread.![]()
The initial "bad" points are fixed and the reported wrapping issues seem to be fixed (according to the commits), correct?
@Cimbali: it's there anything you'd like to tackle before this is (hopefully) merged?
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Thanks for checking in @GitMensch! It should be 100% done, functionally. I’d be happy to get feedback on it.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali pushed 7 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Tried fixing the test but I’m not really sure why it doesn’t work 🤔 It does locally.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali pushed 11 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Rebased on latest master due to some changes in libvterm − all works fine, still ready for review.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@brammool Looks good to me (but I'm only a mere user); is there any reason that this may not be merged?
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
I see lots of details that need to be improved (code style, missing comments, etc.), but let's first look at the high level.
Have you discussed the changes in the libvterm directory with @leonerd ? Especially the change in sb_pushline, which is not backwards compatible. For a change local to Vim that's OK, but if the original libvterm would take over this change it probably has to be done differently.
I kind of lost track of what this PR is changing. The test should illustrate it, but it only seems to check that some command is wrapped at the right place. Why is there no check for what displays after restoring the width?
BTW: setting 'columns' in a test like this might cause trouble, better use a vertical split to reduce the width of the window. Then the terminal doesn't get resized.
exe "set columns=30"
There is no need for "exe" here.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
At a high level, this PR takes terminal lines that are scrolled out of view and joins them together into a single buffer line when appropriate.
This is because terminal lines are often wrapped artificially due to their length, rather than to a line break. With these changes, resizing the vim buffer will properly display the wrapped lines, wapped words will no longer contain line breaks, etc. These are common occurrences as reported in #2865, i.e. if your normal buffer has line numbering then switching to normal view already causes resizes, paths can often be long and broken by artificial line breaks which mean they can’t be copied and pasted anymore, etc.
The test is checking that a command which is wrapped in the terminal (non-empty term_getline(…, 2)) is not wrapped in the buffer. Without the PR let lines = line('$') would return 2, not 1.
This PR is disconnecting the terminal lines (stored in tl_scrollback) from lines in the buffer, and adds mechanisms to get the corresponding buffer line from a scrollback line and conversely, typically to get terminal colour info in the normal view of a terminal buffer.
I have tried to get an opinion of @leonerd on these changes both here, on launchpad, and by email, but have never gotten a concrete answer. In essence all these changes are doing in the libvterm directory are adding a needed value to a callback, and correctly reordering the scrollrect and setlineinfo callbacks at the end of scroll() so the callbacks contain the values for the right lines.
I’ve really tried to keep the changes in libvterm to a minimum, and I’ve rebased them onto the libvterm codebase and offered them as a patch there. I’m not sure what else can be done.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Hi. I'm generally around and stuff. I really don't recall having seen much discussion on this before.
I'm often in two minds about libvterm from vim in particular. I recall youfolks took a copy of it then did lots of changes like making it C89 compatible by shuffling all the variable declarations and comments. That makes merging back upstream somewhat more difficult for me.
I'm happy to discuss on general concepts and my future plans going forward, especially in the scrollback management area. It's just a little more tricky to directly see how the exact changes here might apply.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
I'm happy to discuss on general concepts and my future plans going forward, especially in the scrollback management area. It's just a little more tricky to directly see how the exact changes here might apply.
@leonerd what about https://bugs.launchpad.net/libvterm/+bug/1952530 and especially https://bugs.launchpad.net/libvterm/+bug/1952530/+attachment/5546517/+files/smaller-4-commits.patch ?
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Yeah they all look good. Maybe can merge some of them together, there seems little point in keeping them all individually.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Turns out though that causes some test failures: https://bugs.launchpad.net/libvterm/+bug/1952530/comments/9
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
But also I'll add a general note (I'm sure I've said this before): The best way to get features added or bugs fixed is just to explain it to me. Tell me in English what wants adding or what the problem is and I will go fix it. Starting off by sending me code-first is not the best way.
Perhaps that's unusual for opensource projects but I much prefer the discussion and interaction to happen first in English on general concepts and then for me to write the code afterwards. That always works a lot better for me than trying to understand what is being added or fixed, when the first interaction comes in the form of a code patch.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Just to recheck @leonerd: the note at #8365 (comment) and at launchpad are clear, aren't they?
Tell me in English what wants adding or what the problem is and I will go fix it
So that means you're fixing the bug / implement that feature in libvterm now and we then can take that changes into vim?
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Would an accurate description be: "sb_pushline needs to be told the lineinfo so it can know if the line has the continuation mark?"
If so, that's all the description I need, and I can go and implement that.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Part of that has recently been reversed, now that we dropped support for older MS-Windows compilers. Still, we can't use all of C99, unfortunately, there are still some compilers missing parts of the implementation. The struct initializations appears to be the biggest one right now. I have tried to sync back to a recent libvterm version, but it's very tricky, since some things in the Vim fork of it are really bug fixes and enhancements. And you have fixed bugs in a slightly different way. My plan is to try to bring them back in sync a little piece at a time. If you have suggestions of where it would help most, let me know.
Ah - with my other hat on as a Perl core maintainer, I wonder if we could swap notes here. We recently decided to adopt C99, as basically enough of it is supported everywhere we care about. So now we get mixed declarations and code, bool, struct initializers, etc.. Those seem to work just fine for us - where are your tricky platforms for that?
I'm happy to discuss on general concepts and my future plans going forward, especially in the scrollback management area. It's just a little more tricky to directly see how the exact changes here might apply.
My overall plan is to migrate the "scrollback manager" parts out of pangoterm into their own optional side-layer in libvterm, as it seems everyone else who uses it basically just copypastes that part anyway. I might as well provide one standard one.
I think the handling of terminal width changes is a basic libvterm thing, which now pops up in Vim. That's why I thought you might have a broader look at what solution works, especially when it involves adjustments to the API. From the Vim point of view, users may run some shell commands in the terminal, which causes lines to wrap. When then making the terminal window wider users will want to see those wraps adjust to the new width. Thus there needs to be a difference between "soft wraps" (running into the right border) and "hard wraps" (outputting a line break). Would be nice to have a generic solution for that. But I know it might not be so simple.
libvterm 0.3 now has reflow on resize, but only within the "active" buffer, not the scrollback buffer. That's part of an ongoing design rethink to make that possible. It needs extensions and overlaps with the way the scrollback API works, so I thought I'd tackle it after I've moved it into libvterm itself.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Would an accurate description be: "sb_pushline needs to be told the lineinfo so it can know if the line has the continuation mark?"
If so, that's all the description I need, and I can go and implement that.
Yes that’s accurate. If you want to make a fix yourself I can certainly use that and rebase the changes on it.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali pushed 11 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali pushed 8 commits.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali pushed 6 commits.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali pushed 2 commits.
You are receiving this because you are subscribed to this thread.![]()
Mostly a straightforward rebase on current master, to handle conflicts created by changed indents in 032713f. Also fixed the curly bracket positions the CI complained about.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali, I tried the current PR. I'm not sure if this is intended but it seems switching between modes while resizing the window breaks rewrapping for old lines.
Steps:
vim -g --clean +'set lines=20 columns=22' +'term bash --noprofile --norc' +'only'seq 100 | paste -sd+At the 2nd window resize, the old lines are no longer rewrapped.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Interactions with resize don’t work really well indeed, except for lines that are already off screen. That’s because these lines are still handled by libvterm, which doesn’t support reflowing. This PR adds support for reflowing in vim of terminal lines, so switching normal/insert without resizing works, and regardless of resizing for off-screen lines (which, granted, you can only see in NORMAL mode).
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali pushed 12 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali pushed 12 commits.
You are receiving this because you are subscribed to this thread.![]()
Is there any perspective to this moving forward?
Could maybe a feature change/add and a structured description of intended behavior help? @Cimbali
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
libvterm has optional reflow now, since some time ago.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
This PR has never been about reflow in an active terminal session, but about reflowing terminal contents once passed on to vim.
We’re still stuck at the same point @simlei:
There’s just no way to reflow without knowing which line breaks can be moved and which can’t.
So far (1) seemed the preferred option, with @leonerd stating in this thread he preferred implementing his own version of this requirement over the patches I sent, to which I replied I’ll happily rebase on that work when made available. That was 20 months ago.
I think the correct way forward is to set a deadline by which we fall back to option (2) if this current reminder (and any potential future ones) keep remaining unaddressed.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
I'm sure I could look into adding something in libvterm for that then, yes.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Right - thinking out loud this is slightly nontrivial. If there were no API compat guaratnees at all, then I could simply add a VTermLineInfo * parameter to sb_pushline and all would be well. But I can't because that would break older code.
I'm in a dilemma of
It leads to a messier API but it's only temporary, so I'm going to go for option 2.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Let me know if I can help, however I have very limited knowledge of the vim codebase.
Ah this is all in libvterm, it's really not directly vim-related code at all.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
- either libvterm adds an info to its pushline callback (whether line breaks are “soft”, i.e. line wraps, or “hard”, i.e. line ends).
Right then. Took me a while to remember to getting around to do it, but this is now done in latest source on bzr. What would be a good way to deliver this for your use? I'd like you to try it out a bit first before I call it the official 0.3.4 version tarball, but I could pack you a pre-release version, or make a .diff out of the relevant commits... or something else?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Thanks a lot @leonerd ! I’ve fetch the commits from bazaar and am playing around with it. It seems to work well as a drop-in replacement for what I had written, but I need to do some further testing.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali pushed 14 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
I’ve confirmed this doesn’t work on Windows for some reason. Will have to get my hands on an appropriate setup to build where I can investigate properly why that is (appveyor rdp is a fallback but a bit too limited at this stage).
I can’t reproduce the linux uchar test issue/flakiness however.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
I'd like to again offer my support in debugging this issue. Have a windows PC. gdb noob though; instructions required.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Thanks @simlei. I think good first steps would be compiling and running the unit tests, to reproduce. Then figuring out why the failing unit test fails. Probably adding stderr printfs in handle_pushline and add_scrollback_line_to_buffer and redirecting that to a log with vim 2> log to understand what’s going on, whether continuation flags are correctly received, if so why pasting lines together doesn’t work, and so on.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali Can you give an update on the current state of this PR?
Also, is there any way to assist you? I would be happy to help :)
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali pushed 17 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali pushed 12 commits.
You are receiving this because you are subscribed to this thread.![]()
Just to check where the state is:
Is that correct?
Also: Would there be the need to change Vim runtime files to make that usable (for example in TermDebug)?
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
That is correct, but previously most CIs used to run - all except Windows. I’ve pushed rebases without checking CIs it’s probably not compliant with recent CI changes.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@Cimbali pushed 17 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()