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 -- [email protected] -- 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
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui