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

53223Re: No break checks during shell operations in GUI mode?

Expand Messages
  • Bram Moolenaar
    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
      -~----------~----~----~----~------~----~------~--~---
    • Show all 16 messages in this topic