Loading ...
Sorry, an error occurred while loading the content.

No break checks during shell operations in GUI mode?

Expand Messages
  • björn
    Hi, I noticed that it is pretty much impossible to interrupt Vim in GUI mode during lengthy shell operations and am wondering if this might be MacVim specific
    Message 1 of 16 , Jan 8, 2009
    • 0 Attachment
      Hi,

      I noticed that it is pretty much impossible to interrupt Vim in GUI
      mode during lengthy shell operations and am wondering if this might be
      MacVim specific or not. This probably only applies to Unix variants
      of Vim since it deals with code inside os_unix.c.

      This is what I did: go to the Vim 'src/' folder and type ":grep a *.c"
      (to the people using MacVim: don't try this at the moment, there is a
      bug which will cause MacVim to beachball -- I am working on fixing
      this right now). I then hit Ctrl-C to interrupt this operation (which
      will take a while...there are _many_ matches) but nothing happens.

      Whilst debugging this I noticed that in GUI mode it seems that Vim
      does little or no break checking during this operation. It ends up in
      a loop inside mch_call_shell() (starting at line 4358 in os_unix.c).
      At the end of this loop there is a check "if (got_int) break;" but I
      could not find where the actual break check is done inside this loop.
      If I add the statement "fast_breakcheck()" (so that the GUI gets a
      chance to check for key presses) before that if statement at the end
      of the loop I can properly interrupt the above test case.

      First of all, can somebody on a *nix machine (not Mac) test to see if
      they can break the above grep operation in GUI mode (_not_ in console
      mode, everything works fine there) and tell me if they are able to
      interrupt the grep operation. If so, I guess this is Mac specific but
      I'd still like to know when it checks for input (as I said, on the Mac
      this never happens). If not, I can provide the above one-liner patch
      (i.e. call fast_breakcheck()) to take care of this bug.

      Björn

      --~--~---------~--~----~------------~-------~--~----~
      You received this message from the "vim_dev" maillist.
      For more information, visit http://www.vim.org/maillist.php
      -~----------~----~----~----~------~----~------~--~---
    • _sc_
      ... excuse me, but what s beachball mean? am i to picture a beachball caught by the wind bouncing away from me so fast there s no way i can catch it? ... i
      Message 2 of 16 , Jan 8, 2009
      • 0 Attachment
        On Thursday 08 January 2009 2:08 pm, björn wrote:
        >
        > Hi,
        >
        > I noticed that it is pretty much impossible to interrupt Vim in GUI
        > mode during lengthy shell operations and am wondering if this might be
        > MacVim specific or not. This probably only applies to Unix variants
        > of Vim since it deals with code inside os_unix.c.
        >
        > This is what I did: go to the Vim 'src/' folder and type ":grep a *.c"
        > (to the people using MacVim: don't try this at the moment, there is a
        > bug which will cause MacVim to beachball -- I am working on fixing

        excuse me, but what's "beachball" mean? am i to picture a
        beachball caught by the wind bouncing away from me so fast
        there's no way i can catch it?

        > this right now). I then hit Ctrl-C to interrupt this operation (which
        > will take a while...there are _many_ matches) but nothing happens.
        >
        > Whilst debugging this I noticed that in GUI mode it seems that Vim
        > does little or no break checking during this operation. It ends up in
        > a loop inside mch_call_shell() (starting at line 4358 in os_unix.c).
        > At the end of this loop there is a check "if (got_int) break;" but I
        > could not find where the actual break check is done inside this loop.
        > If I add the statement "fast_breakcheck()" (so that the GUI gets a
        > chance to check for key presses) before that if statement at the end
        > of the loop I can properly interrupt the above test case.
        >
        > First of all, can somebody on a *nix machine (not Mac) test to see if
        > they can break the above grep operation in GUI mode (_not_ in console
        > mode, everything works fine there) and tell me if they are able to
        > interrupt the grep operation. If so, I guess this is Mac specific but
        > I'd still like to know when it checks for input (as I said, on the Mac
        > this never happens). If not, I can provide the above one-liner patch
        > (i.e. call fast_breakcheck()) to take care of this bug.

        i am on suse linux 10.2 -- my gvim is 7.2.79, including the
        relative number patch from markus heidelberg

        if ctrl-c is supposed to halt this search, it does not, not
        for me -- i tried ctrl-s too, to no avail

        i tried hitting the close window button with the mouse, and
        it took several hits before i got a kwin dialog telling me
        the window was not responding, and giving me the option of
        terminating it -- taking the terminate option in this dialog
        does indeed close the window, by virtue of kde sending the
        kill command, but that seems a rather extreme stoppage

        hth,

        sc



        --~--~---------~--~----~------------~-------~--~----~
        You received this message from the "vim_dev" maillist.
        For more information, visit http://www.vim.org/maillist.php
        -~----------~----~----~----~------~----~------~--~---
      • björn
        ... On a Mac when an app is unresponsive the mouse cursor is replaced by a colorful round spinning ball that is commonly referred to as a beachball . Hence
        Message 3 of 16 , Jan 8, 2009
        • 0 Attachment
          2009/1/8 _sc_ <toothpik@...>:
          >
          > On Thursday 08 January 2009 2:08 pm, björn wrote:
          >>
          >> This is what I did: go to the Vim 'src/' folder and type ":grep a *.c"
          >> (to the people using MacVim: don't try this at the moment, there is a
          >> bug which will cause MacVim to beachball -- I am working on fixing
          >
          > excuse me, but what's "beachball" mean? am i to picture a
          > beachball caught by the wind bouncing away from me so fast
          > there's no way i can catch it?

          On a Mac when an app is unresponsive the mouse cursor is replaced by a
          colorful round spinning ball that is commonly referred to as a
          "beachball". Hence phrases such as "the application beachballed" are
          used to indicate that the application is unresponsive. ;-)

          >> First of all, can somebody on a *nix machine (not Mac) test to see if
          >> they can break the above grep operation in GUI mode (_not_ in console
          >> mode, everything works fine there) and tell me if they are able to
          >> interrupt the grep operation. If so, I guess this is Mac specific but
          >
          > i am on suse linux 10.2 -- my gvim is 7.2.79, including the
          > relative number patch from markus heidelberg
          >
          > if ctrl-c is supposed to halt this search, it does not, not
          > for me -- i tried ctrl-s too, to no avail
          >
          > i tried hitting the close window button with the mouse, and
          > it took several hits before i got a kwin dialog telling me
          > the window was not responding, and giving me the option of
          > terminating it -- taking the terminate option in this dialog
          > does indeed close the window, by virtue of kde sending the
          > kill command, but that seems a rather extreme stoppage

          Thanks, then it most likely is as I suspected: that loop is missing a
          break check. I'll prepare a patch.

          Björn

          --~--~---------~--~----~------------~-------~--~----~
          You received this message from the "vim_dev" maillist.
          For more information, visit http://www.vim.org/maillist.php
          -~----------~----~----~----~------~----~------~--~---
        • björn
          ... I ve attached the patch to this post. The break check is only done when the GUI is active since Ctrl-C already works in console mode (I am guessing this
          Message 4 of 16 , Jan 8, 2009
          • 0 Attachment
            > Thanks, then it most likely is as I suspected: that loop is missing a
            > break check. I'll prepare a patch.

            I've attached the patch to this post. The break check is only done
            when the GUI is active since Ctrl-C already works in console mode (I
            am guessing this is because Ctrl-C sends SIGINT in console mode
            whereas in GUI mode Ctrl-C is treated as a regular key stroke>).

            Björn

            --~--~---------~--~----~------------~-------~--~----~
            You received this message from the "vim_dev" maillist.
            For more information, visit http://www.vim.org/maillist.php
            -~----------~----~----~----~------~----~------~--~---
          • Tony Mechelynck
            On 08/01/09 21:45, björn wrote: [...] ... [...] Sounds like a Mac-only idiom. IIUC, in similar circumstances the mouse pointer is replaced by a spinning clock
            Message 5 of 16 , Jan 8, 2009
            • 0 Attachment
              On 08/01/09 21:45, björn wrote:
              [...]
              > On a Mac when an app is unresponsive the mouse cursor is replaced by a
              > colorful round spinning ball that is commonly referred to as a
              > "beachball". Hence phrases such as "the application beachballed" are
              > used to indicate that the application is unresponsive. ;-)
              [...]

              Sounds like a Mac-only idiom. IIUC, in similar circumstances the mouse
              pointer is replaced by a spinning clock dial on Linux, or by an
              hourglass on Windows.

              Best regards,
              Tony.
              --
              "I don't believe in astrology. But then I'm an Aquarius, and Aquarians
              don't believe in astrology."
              -- James R. F. Quirk

              --~--~---------~--~----~------------~-------~--~----~
              You received this message from the "vim_dev" maillist.
              For more information, visit http://www.vim.org/maillist.php
              -~----------~----~----~----~------~----~------~--~---
            • björn
              ... I ve looked in todo.txt and not found this patch mentioned. Bram: did you perhaps miss this patch? Björn
              Message 6 of 16 , Feb 4 8:47 AM
              • 0 Attachment
                2009/1/8 björn <bjorn.winckler@...>:
                >> Thanks, then it most likely is as I suspected: that loop is missing a
                >> break check. I'll prepare a patch.
                >
                > I've attached the patch to this post. The break check is only done
                > when the GUI is active since Ctrl-C already works in console mode (I
                > am guessing this is because Ctrl-C sends SIGINT in console mode
                > whereas in GUI mode Ctrl-C is treated as a regular key stroke>).

                I've looked in todo.txt and not found this patch mentioned. Bram: did
                you perhaps miss this patch?

                Björn

                --~--~---------~--~----~------------~-------~--~----~
                You received this message from the "vim_dev" maillist.
                For more information, visit http://www.vim.org/maillist.php
                -~----------~----~----~----~------~----~------~--~---
              • Bram Moolenaar
                ... Eh, what patch? -- George: I just got a new set of golf clubs for my wife! John: Great trade! /// Bram Moolenaar -- Bram@Moolenaar.net --
                Message 7 of 16 , Feb 4 9:31 AM
                • 0 Attachment
                  Bjorn Winckler wrote:

                  > 2009/1/8 bj=F6rn <bjorn.winckler@...>:
                  > >> Thanks, then it most likely is as I suspected: that loop is missing a
                  > >> break check. I'll prepare a patch.
                  > >
                  > > I've attached the patch to this post. The break check is only done
                  > > when the GUI is active since Ctrl-C already works in console mode (I
                  > > am guessing this is because Ctrl-C sends SIGINT in console mode
                  > > whereas in GUI mode Ctrl-C is treated as a regular key stroke>).
                  >
                  > I've looked in todo.txt and not found this patch mentioned. Bram: did
                  > you perhaps miss this patch?

                  Eh, what patch?

                  --
                  George: "I just got a new set of golf clubs for my wife!"
                  John: "Great trade!"

                  /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
                  /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
                  \\\ download, build and distribute -- http://www.A-A-P.org ///
                  \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

                  --~--~---------~--~----~------------~-------~--~----~
                  You received this message from the "vim_dev" maillist.
                  For more information, visit http://www.vim.org/maillist.php
                  -~----------~----~----~----~------~----~------~--~---
                • björn
                  ... It was attached to the post I replied to in the original thread (I did not include it inline since last time I did so the text got mangled). Here it is
                  Message 8 of 16 , Feb 4 9:59 AM
                  • 0 Attachment
                    2009/2/4 Bram Moolenaar:
                    >
                    > Bjorn Winckler wrote:
                    >>
                    >> I've looked in todo.txt and not found this patch mentioned. Bram: did
                    >> you perhaps miss this patch?
                    >
                    > Eh, what patch?

                    It was attached to the post I replied to in the original thread (I did
                    not include it inline since last time I did so the text got mangled).
                    Here it is again.

                    Björn

                    --~--~---------~--~----~------------~-------~--~----~
                    You received this message from the "vim_dev" maillist.
                    For more information, visit http://www.vim.org/maillist.php
                    -~----------~----~----~----~------~----~------~--~---
                  • Bram Moolenaar
                    ... This looks wrong. fast_breakcheck() reads input to see if a CTRL-C was typed. But the loop above has ui_inchar() that does this already. It sends a
                    Message 9 of 16 , Feb 4 11:53 AM
                    • 0 Attachment
                      Bjorn Winckler wrote:

                      > >> I've looked in todo.txt and not found this patch mentioned. Bram: did
                      > >> you perhaps miss this patch?
                      > >
                      > > Eh, what patch?
                      >
                      > It was attached to the post I replied to in the original thread (I did
                      > not include it inline since last time I did so the text got mangled).
                      > Here it is again.

                      This looks wrong. fast_breakcheck() reads input to see if a CTRL-C was
                      typed. But the loop above has ui_inchar() that does this already. It
                      sends a SIGINT to the child process group then.

                      So what's the problem you are trying to solve?

                      --
                      The future isn't what it used to be.

                      /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
                      /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
                      \\\ download, build and distribute -- http://www.A-A-P.org ///
                      \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

                      --~--~---------~--~----~------------~-------~--~----~
                      You received this message from the "vim_dev" maillist.
                      For more information, visit http://www.vim.org/maillist.php
                      -~----------~----~----~----~------~----~------~--~---
                    • björn
                      ... The original problem was this: go to e.g. the vim src/ directory and enter :grep a *.c . During this operation it is impossible to halt Vim using
                      Message 10 of 16 , Feb 4 12:12 PM
                      • 0 Attachment
                        2009/2/4 Bram Moolenaar:
                        >
                        > Bjorn Winckler wrote:
                        >>
                        >> It was attached to the post I replied to in the original thread (I did
                        >> not include it inline since last time I did so the text got mangled).
                        >> Here it is again.
                        >
                        > This looks wrong. fast_breakcheck() reads input to see if a CTRL-C was
                        > typed. But the loop above has ui_inchar() that does this already. It
                        > sends a SIGINT to the child process group then.
                        >
                        > So what's the problem you are trying to solve?

                        The original problem was this: go to e.g. the vim src/ directory and
                        enter ":grep a *.c". During this operation it is impossible to halt
                        Vim using ctrl-c. (I've tested on Mac OS X, and sc confirmed the
                        problem on Linux).

                        When using a gui it seems ctrl-c is never handled but it does work
                        without the gui so I figured that particular loop (where I added the
                        breakcheck) only checked for SIGINT (since it is sent in console mode
                        when ctrl-c is pressed, but not in the GUI). Adding the breakcheck
                        fixed the problem so I guessed that this loop had only been tested
                        properly without a gui.

                        I had a look at ui_inchar() but I can't see where it handles ctrl-c
                        when the gui is in use?

                        Björn

                        --~--~---------~--~----~------------~-------~--~----~
                        You received this message from the "vim_dev" maillist.
                        For more information, visit http://www.vim.org/maillist.php
                        -~----------~----~----~----~------~----~------~--~---
                      • Andreas Bernauer
                        ... I can t confirm this behavior for vim 7.2.095 on Linux 2.6.24 (in either gui or console mode). :grep interrupts as soon as I press Ctrl-C. -- Andreas.
                        Message 11 of 16 , Feb 4 11:43 PM
                        • 0 Attachment
                          björn wrote:
                          > 2009/2/4 Bram Moolenaar:
                          >> So what's the problem you are trying to solve?
                          >
                          > The original problem was this: go to e.g. the vim src/ directory and
                          > enter ":grep a *.c". During this operation it is impossible to halt
                          > Vim using ctrl-c. (I've tested on Mac OS X, and sc confirmed the
                          > problem on Linux).

                          I can't confirm this behavior for vim 7.2.095 on Linux 2.6.24 (in either gui or
                          console mode). :grep interrupts as soon as I press Ctrl-C.

                          --
                          Andreas.

                          --~--~---------~--~----~------------~-------~--~----~
                          You received this message from the "vim_dev" maillist.
                          For more information, visit http://www.vim.org/maillist.php
                          -~----------~----~----~----~------~----~------~--~---
                        • Dominique Pelle
                          ... I can reproduce the problem with gvim on Linux x86 (GUI GTK2): pressing CTRL-C does not interrupt :grep a * in gvim. In terminal, CTRL-C interrupts
                          Message 12 of 16 , Feb 5 12:20 AM
                          • 0 Attachment
                            2009/2/5 Andreas Bernauer <andreas@...>:
                            >
                            > björn wrote:
                            >> 2009/2/4 Bram Moolenaar:
                            >>> So what's the problem you are trying to solve?
                            >>
                            >> The original problem was this: go to e.g. the vim src/ directory and
                            >> enter ":grep a *.c". During this operation it is impossible to halt
                            >> Vim using ctrl-c. (I've tested on Mac OS X, and sc confirmed the
                            >> problem on Linux).
                            >
                            > I can't confirm this behavior for vim 7.2.095 on Linux 2.6.24 (in either gui or
                            > console mode). :grep interrupts as soon as I press Ctrl-C.

                            I can reproduce the problem with gvim on Linux x86 (GUI GTK2):
                            pressing CTRL-C does not interrupt ":grep a *" in gvim.

                            In terminal, CTRL-C interrupts ":grep a *" immediately (good).

                            I tried the proposed patch, but it does not fix it for me: CTRL-C
                            still does not interrupt ":grep a *" in the GUI.

                            -- Dominique

                            --~--~---------~--~----~------------~-------~--~----~
                            You received this message from the "vim_dev" maillist.
                            For more information, visit http://www.vim.org/maillist.php
                            -~----------~----~----~----~------~----~------~--~---
                          • Bram Moolenaar
                            ... OK, I see the problem on FreeBSD as well. ... I m not sure how it is supposed to work. A brief look shows that it may have been intended that: the loop in
                            Message 13 of 16 , Feb 5 11:44 AM
                            • 0 Attachment
                              Bjorn Winckler wrote:

                              > >> It was attached to the post I replied to in the original thread (I did
                              > >> not include it inline since last time I did so the text got mangled).
                              > >> Here it is again.
                              > >
                              > > This looks wrong. fast_breakcheck() reads input to see if a CTRL-C was
                              > > typed. But the loop above has ui_inchar() that does this already. It
                              > > sends a SIGINT to the child process group then.
                              > >
                              > > So what's the problem you are trying to solve?
                              >
                              > The original problem was this: go to e.g. the vim src/ directory and
                              > enter ":grep a *.c". During this operation it is impossible to halt
                              > Vim using ctrl-c. (I've tested on Mac OS X, and sc confirmed the
                              > problem on Linux).

                              OK, I see the problem on FreeBSD as well.

                              > When using a gui it seems ctrl-c is never handled but it does work
                              > without the gui so I figured that particular loop (where I added the
                              > breakcheck) only checked for SIGINT (since it is sent in console mode
                              > when ctrl-c is pressed, but not in the GUI). Adding the breakcheck
                              > fixed the problem so I guessed that this loop had only been tested
                              > properly without a gui.
                              >
                              > I had a look at ui_inchar() but I can't see where it handles ctrl-c
                              > when the gui is in use?

                              I'm not sure how it is supposed to work. A brief look shows that it
                              may have been intended that:
                              the loop in os_unix.c calls ui_inchar()
                              ui_inchar()
                              -> read_from_input_buf()
                              -> fill_input_buf()
                              checks for CTRL-C and sets got_int

                              So something in between stops this from happening.

                              If I do ":!cat" then typing CTRL-C does appear to work. Perhaps it's
                              the flood of output to the screen that stops the CTRL-C check? No time
                              to investigate further right now.

                              --
                              hundred-and-one symptoms of being an internet addict:
                              47. You are so familiar with the WWW that you find the search engines useless.

                              /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
                              /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
                              \\\ download, build and distribute -- http://www.A-A-P.org ///
                              \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

                              --~--~---------~--~----~------------~-------~--~----~
                              You received this message from the "vim_dev" maillist.
                              For more information, visit http://www.vim.org/maillist.php
                              -~----------~----~----~----~------~----~------~--~---
                            • björn
                              ... Yes, this seems to be the problem. The difference between :!cat and :grep a *.c is that the former produces no output whereas the latter does and
                              Message 14 of 16 , Feb 7 6:07 AM
                              • 0 Attachment
                                2009/2/5 Bram Moolenaar:
                                >
                                > If I do ":!cat" then typing CTRL-C does appear to work. Perhaps it's
                                > the flood of output to the screen that stops the CTRL-C check? No time
                                > to investigate further right now.

                                Yes, this seems to be the problem. The difference between ":!cat" and
                                ":grep a *.c" is that the former produces no output whereas the latter
                                does and consequently Vim gets stuck in the loop on line 4368
                                (os_unix.c) starting with

                                while (RealWaitForChar(fromshell_fd, 10L, NULL))

                                This loop is where I added the break check since there are no other
                                checks for ctrl-c here. Only when this loop exits is ui_inchar()
                                called and in the case of ":grep a *.c" this loop is iterated _many_
                                times (up to 60000) before breaking out to call ui_inchar() again.

                                Dominique: It is strange that my patch does not fix the problem for
                                you...maybe fast_breakcheck() doesn't call gui_mch_update() often
                                enough on your system (although that seems unlikely judging from the
                                amount of times this loop iterates as I mentioned above)? It does
                                take care of the problem on my machine (Mac OS X 10.5.6, Vim 7.2
                                patches 1-102, with MacVim GUI).

                                Anyway, I don't know what the proper way to fix this problem is then
                                seeing as it's not working for Dominique. But somehow we have to
                                ensure that this problematic loop doesn't get stuck for "too long"
                                (whatever metric we may use to measure that) or that we check for
                                ctrl-c explicitly during the loop (which was what my patch was
                                supposed to do). Any ideas?

                                Björn

                                --~--~---------~--~----~------------~-------~--~----~
                                You received this message from the "vim_dev" maillist.
                                For more information, visit http://www.vim.org/maillist.php
                                -~----------~----~----~----~------~----~------~--~---
                              • Bram Moolenaar
                                ... I think we need to break out of the loop now and then to check for a CTRL-C. Question is: when? There is some code in place to avoid calling ui_inchar(),
                                Message 15 of 16 , Feb 7 7:56 AM
                                • 0 Attachment
                                  Bjorn Winckler wrote:

                                  > 2009/2/5 Bram Moolenaar:
                                  > >
                                  > > If I do ":!cat" then typing CTRL-C does appear to work. Perhaps it's
                                  > > the flood of output to the screen that stops the CTRL-C check? No time
                                  > > to investigate further right now.
                                  >
                                  > Yes, this seems to be the problem. The difference between ":!cat" and
                                  > ":grep a *.c" is that the former produces no output whereas the latter
                                  > does and consequently Vim gets stuck in the loop on line 4368
                                  > (os_unix.c) starting with
                                  >
                                  > while (RealWaitForChar(fromshell_fd, 10L, NULL))
                                  >
                                  > This loop is where I added the break check since there are no other
                                  > checks for ctrl-c here. Only when this loop exits is ui_inchar()
                                  > called and in the case of ":grep a *.c" this loop is iterated _many_
                                  > times (up to 60000) before breaking out to call ui_inchar() again.
                                  >
                                  > Dominique: It is strange that my patch does not fix the problem for
                                  > you...maybe fast_breakcheck() doesn't call gui_mch_update() often
                                  > enough on your system (although that seems unlikely judging from the
                                  > amount of times this loop iterates as I mentioned above)? It does
                                  > take care of the problem on my machine (Mac OS X 10.5.6, Vim 7.2
                                  > patches 1-102, with MacVim GUI).
                                  >
                                  > Anyway, I don't know what the proper way to fix this problem is then
                                  > seeing as it's not working for Dominique. But somehow we have to
                                  > ensure that this problematic loop doesn't get stuck for "too long"
                                  > (whatever metric we may use to measure that) or that we check for
                                  > ctrl-c explicitly during the loop (which was what my patch was
                                  > supposed to do). Any ideas?

                                  I think we need to break out of the loop now and then to check for a
                                  CTRL-C. Question is: when? There is some code in place to avoid
                                  calling ui_inchar(), because it eats typeahead.

                                  Perhaps the "noread_cnt" variable can be extended with something that
                                  keeps track of how long ago ui_inchar() was called. It should probably
                                  be called every half a second to be responsive to CTRL-C.

                                  --
                                  hundred-and-one symptoms of being an internet addict:
                                  58. You turn on your computer and turn off your wife.

                                  /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
                                  /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
                                  \\\ download, build and distribute -- http://www.A-A-P.org ///
                                  \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

                                  --~--~---------~--~----~------------~-------~--~----~
                                  You received this message from the "vim_dev" maillist.
                                  For more information, visit http://www.vim.org/maillist.php
                                  -~----------~----~----~----~------~----~------~--~---
                                • Dominique Pelle
                                  ... Ah, I now notice that the patch does not work when I use gvim in a ssh session ssh -Y (which is how I tested initially). But if I use gvim locally,
                                  Message 16 of 16 , Feb 7 8:17 AM
                                  • 0 Attachment
                                    björn wrote:

                                    > Dominique: It is strange that my patch does not fix the problem for
                                    > you...maybe fast_breakcheck() doesn't call gui_mch_update() often
                                    > enough on your system (although that seems unlikely judging from the
                                    > amount of times this loop iterates as I mentioned above)?  It does
                                    > take care of the problem on my machine (Mac OS X 10.5.6, Vim 7.2
                                    > patches 1-102, with MacVim GUI).

                                    Ah, I now notice that the patch does not work when I use gvim in
                                    a ssh session 'ssh -Y' (which is how I tested initially). But if I
                                    use gvim locally, then your patch works. Well, there is a bit of
                                    lag: when pressing <ctrl-c> it stops grep after maybe 2 seconds
                                    or so. Still better than not stopping it at all. In the terminal,
                                    pressing <ctrl-c> stops grep immediately. I'm using gvim-7.2.102
                                    with GTK2 GUI on Linux x86.

                                    -- Dominique

                                    --~--~---------~--~----~------------~-------~--~----~
                                    You received this message from the "vim_dev" maillist.
                                    For more information, visit http://www.vim.org/maillist.php
                                    -~----------~----~----~----~------~----~------~--~---
                                  Your message has been successfully submitted and would be delivered to recipients shortly.