diff src/syntax.c @ 95856:f13a77e0e34f

* character.h (CHAR_TO_BYTE_SAFE): New macro. * character.c (Fmultibyte_char_to_unibyte): Obey the docstring. * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro. (WEAK_ALIAS): Simplify. * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap when searching a unibyte buffer.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Thu, 12 Jun 2008 20:25:47 +0000
parents 8971ddf55736
children d45acf0c8d23
line wrap: on
line diff
--- a/src/syntax.c	Thu Jun 12 17:28:00 2008 +0000
+++ b/src/syntax.c	Thu Jun 12 20:25:47 2008 +0000
@@ -1711,7 +1711,11 @@
 	      int c2 = char_ranges[i + 1];
 
 	      for (; c1 <= c2; c1++)
-		fastmap[CHAR_TO_BYTE8 (c1)] = 1;
+		{
+		  int b = CHAR_TO_BYTE_SAFE (c1);
+		  if (b >= 0)
+		    fastmap[b] = 1;
+		}
 	    }
 	}
     }