Mercurial > emacs
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, |