aboutsummaryrefslogtreecommitdiffstats
path: root/src/search.c
diff options
context:
space:
mode:
authorKarl Heuer1997-02-23 22:49:18 +0000
committerKarl Heuer1997-02-23 22:49:18 +0000
commitf73d78a2f4a325cc943bd464eccc566ceb8fddfa (patch)
tree9efdae7676bc7ef07d1728672872f526576d841f /src/search.c
parent369314dc63fa395283a103cbeb1c66ed10baf1bd (diff)
downloademacs-f73d78a2f4a325cc943bd464eccc566ceb8fddfa.tar.gz
emacs-f73d78a2f4a325cc943bd464eccc566ceb8fddfa.zip
Fix previous change.
Diffstat (limited to 'src/search.c')
-rw-r--r--src/search.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/search.c b/src/search.c
index f96e9e53bd9..d321ec1901e 100644
--- a/src/search.c
+++ b/src/search.c
@@ -848,10 +848,11 @@ skip_chars (forwardp, syntaxp, string, lim)
848 { 848 {
849 while (pos > XINT (lim)) 849 while (pos > XINT (lim))
850 { 850 {
851 int savepos = pos;
851 DEC_POS (pos); 852 DEC_POS (pos);
852 if (!fastmap[(int) SYNTAX (FETCH_CHAR (pos))]) 853 if (!fastmap[(int) SYNTAX (FETCH_CHAR (pos))])
853 { 854 {
854 INC_POS (pos); 855 pos = savepos;
855 break; 856 break;
856 } 857 }
857 } 858 }
@@ -889,6 +890,7 @@ skip_chars (forwardp, syntaxp, string, lim)
889 { 890 {
890 while (pos > XINT (lim)) 891 while (pos > XINT (lim))
891 { 892 {
893 int savepos = pos;
892 DEC_POS (pos); 894 DEC_POS (pos);
893 if (fastmap[(c = FETCH_BYTE (pos))]) 895 if (fastmap[(c = FETCH_BYTE (pos))])
894 { 896 {
@@ -903,14 +905,23 @@ skip_chars (forwardp, syntaxp, string, lim)
903 if (ch >= char_ranges[i] && ch <= char_ranges[i + 1]) 905 if (ch >= char_ranges[i] && ch <= char_ranges[i + 1])
904 break; 906 break;
905 if (!(negate ^ (i < n_char_ranges))) 907 if (!(negate ^ (i < n_char_ranges)))
906 break; 908 {
909 pos = savepos;
910 break;
911 }
907 } 912 }
908 else 913 else
909 if (!negate) 914 if (!negate)
910 break; 915 {
916 pos = savepos;
917 break;
918 }
911 } 919 }
912 else 920 else
913 break; 921 {
922 pos = savepos;
923 break;
924 }
914 } 925 }
915 } 926 }
916 } 927 }