On Wed, Jun 15, 2016 at 5:48 AM, Kazunobu Kuriyama < kazunobu.kuriy...@gmail.com> wrote:
> I couldn't reproduce the bug with Athena, GTK+ 2, GTK+ 3 GUIs, but did > with MacVim, although I'm not sure which X11 GUI the reporter meant by that > doubly quoted word, "regular." I wish the description could be more > specific in order to save other devs' time. > > As to the mentioned "-1H", it looked to me that it was part of a piece of > control code with CSI chopped off. Accordingly, I guessed it's original > form was "ESC|-1H" (= stop highlight forcefully cf. > screen_stop_highlight() of screen.c). > > Along that line, I dug into the issue and arrived at gui_write() of gui.c. > > What I found there was, when a given control code had a parameter and the > parameter was a negative integer, the function was unable to handle it > correctly. IOW, because the minus sign in "-1H" was not considered as part > of an integer by the function and was not handled in the succeeding switch > statement as control code either, "-1H" was eventually passed to GUI as > ordinary text and appeared on the screen. > > The attached patch should fix our own issue I've just described, and > hopefully, resolve the MacVim issue, too. > Thanks for this, I'll test the patch. I was not more specific about the X11 GUI because, as far as I know, there is only one X11 GUI that works "out of the box" on the Mac: Athena. I've never been able to make the others work. Even --enable-gui=auto won't work; one has to explicitly request Athena. So it was with Athena that I got the bug to occur. I found it harder to get it to show its face in Athena than in MacVim. -Manny -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.