comparison src/regex.c @ 24119:aceb3b94328d

(re_match_2_internal) [WINDOWSNT & emacs]: Insert QUIT at various places.
author Richard M. Stallman <rms@gnu.org>
date Tue, 19 Jan 1999 03:24:03 +0000
parents 11c5dd0a7bd7
children 0a1099580297
comparison
equal deleted inserted replaced
24118:e9cc3f97cdc3 24119:aceb3b94328d
5005 pop_failure_jump back to this on_failure_jump. */ 5005 pop_failure_jump back to this on_failure_jump. */
5006 case on_failure_jump: 5006 case on_failure_jump:
5007 on_failure: 5007 on_failure:
5008 DEBUG_PRINT1 ("EXECUTING on_failure_jump"); 5008 DEBUG_PRINT1 ("EXECUTING on_failure_jump");
5009 5009
5010 #if defined (WINDOWSNT) && defined (emacs)
5011 QUIT;
5012 #endif
5013
5010 EXTRACT_NUMBER_AND_INCR (mcnt, p); 5014 EXTRACT_NUMBER_AND_INCR (mcnt, p);
5011 DEBUG_PRINT3 (" %d (to 0x%x)", mcnt, p + mcnt); 5015 DEBUG_PRINT3 (" %d (to 0x%x)", mcnt, p + mcnt);
5012 5016
5013 /* If this on_failure_jump comes right before a group (i.e., 5017 /* If this on_failure_jump comes right before a group (i.e.,
5014 the original * applied to a group), save the information 5018 the original * applied to a group), save the information
5045 5049
5046 5050
5047 /* A smart repeat ends with `maybe_pop_jump'. 5051 /* A smart repeat ends with `maybe_pop_jump'.
5048 We change it to either `pop_failure_jump' or `jump'. */ 5052 We change it to either `pop_failure_jump' or `jump'. */
5049 case maybe_pop_jump: 5053 case maybe_pop_jump:
5054 #if defined (WINDOWSNT) && defined (emacs)
5055 QUIT;
5056 #endif
5050 EXTRACT_NUMBER_AND_INCR (mcnt, p); 5057 EXTRACT_NUMBER_AND_INCR (mcnt, p);
5051 DEBUG_PRINT2 ("EXECUTING maybe_pop_jump %d.\n", mcnt); 5058 DEBUG_PRINT2 ("EXECUTING maybe_pop_jump %d.\n", mcnt);
5052 { 5059 {
5053 register unsigned char *p2 = p; 5060 register unsigned char *p2 = p;
5054 5061
5265 5272
5266 5273
5267 /* Unconditionally jump (without popping any failure points). */ 5274 /* Unconditionally jump (without popping any failure points). */
5268 case jump: 5275 case jump:
5269 unconditional_jump: 5276 unconditional_jump:
5277 #if defined (WINDOWSNT) && defined (emacs)
5278 QUIT;
5279 #endif
5270 EXTRACT_NUMBER_AND_INCR (mcnt, p); /* Get the amount to jump. */ 5280 EXTRACT_NUMBER_AND_INCR (mcnt, p); /* Get the amount to jump. */
5271 DEBUG_PRINT2 ("EXECUTING jump %d ", mcnt); 5281 DEBUG_PRINT2 ("EXECUTING jump %d ", mcnt);
5272 p += mcnt; /* Do the jump. */ 5282 p += mcnt; /* Do the jump. */
5273 DEBUG_PRINT2 ("(to 0x%x).\n", p); 5283 DEBUG_PRINT2 ("(to 0x%x).\n", p);
5274 break; 5284 break;
5668 continue; /* Successfully executed one pattern command; keep going. */ 5678 continue; /* Successfully executed one pattern command; keep going. */
5669 5679
5670 5680
5671 /* We goto here if a matching operation fails. */ 5681 /* We goto here if a matching operation fails. */
5672 fail: 5682 fail:
5683 #if defined (WINDOWSNT) && defined (emacs)
5684 QUIT;
5685 #endif
5673 if (!FAIL_STACK_EMPTY ()) 5686 if (!FAIL_STACK_EMPTY ())
5674 { /* A restart point is known. Restore to that state. */ 5687 { /* A restart point is known. Restore to that state. */
5675 DEBUG_PRINT1 ("\nFAIL:\n"); 5688 DEBUG_PRINT1 ("\nFAIL:\n");
5676 POP_FAILURE_POINT (d, p, 5689 POP_FAILURE_POINT (d, p,
5677 lowest_active_reg, highest_active_reg, 5690 lowest_active_reg, highest_active_reg,