# HG changeset patch # User Stefan Monnier # Date 1138130098 0 # Node ID 05d6eb9afa08181ab1f2cdf495837a47a51da232 # Parent 89e7eb7d165b380a5eddfe52b6f11b6e8d35dea0 (IMMEDIATE_QUIT_CHECK): Use it with SYNC_INPUT as well. (re_match_2_internal) : Don't check for quit, since any loop will go through fail or jump. diff -r 89e7eb7d165b -r 05d6eb9afa08 src/ChangeLog --- a/src/ChangeLog Tue Jan 24 18:43:22 2006 +0000 +++ b/src/ChangeLog Tue Jan 24 19:14:58 2006 +0000 @@ -1,3 +1,9 @@ +2006-01-24 Stefan Monnier + + * regex.c (IMMEDIATE_QUIT_CHECK): Use it with SYNC_INPUT as well. + (re_match_2_internal) : + Don't check for quit, since any loop will go through fail or jump. + 2006-01-24 Chong Yidong * alloc.c (allocate_string_data): Update next_free immediately, to diff -r 89e7eb7d165b -r 05d6eb9afa08 src/regex.c --- a/src/regex.c Tue Jan 24 18:43:22 2006 +0000 +++ b/src/regex.c Tue Jan 24 19:14:58 2006 +0000 @@ -3,7 +3,7 @@ internationalization features.) Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, - 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1874,8 +1874,9 @@ /* The next available element. */ #define COMPILE_STACK_TOP (compile_stack.stack[compile_stack.avail]) -/* Explicit quit checking is only used on NTemacs. */ -#if defined WINDOWSNT && defined emacs && defined QUIT +/* Explicit quit checking is only used on NTemacs and whenever we + use polling to process input events. */ +#if defined emacs && (defined WINDOWSNT || defined SYNC_INPUT) && defined QUIT extern int immediate_quit; # define IMMEDIATE_QUIT_CHECK \ do { \ @@ -5636,7 +5637,6 @@ the repetition text and either the following jump or pop_failure_jump back to this on_failure_jump. */ case on_failure_jump: - IMMEDIATE_QUIT_CHECK; EXTRACT_NUMBER_AND_INCR (mcnt, p); DEBUG_PRINT3 ("EXECUTING on_failure_jump %d (to %p):\n", mcnt, p + mcnt); @@ -5652,7 +5652,6 @@ then we can use a non-backtracking loop based on on_failure_keep_string_jump instead of on_failure_jump. */ case on_failure_jump_smart: - IMMEDIATE_QUIT_CHECK; EXTRACT_NUMBER_AND_INCR (mcnt, p); DEBUG_PRINT3 ("EXECUTING on_failure_jump_smart %d (to %p).\n", mcnt, p + mcnt);