emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/syntax.c [emacs-unicode-2]


From: Kenichi Handa
Subject: [Emacs-diffs] Changes to emacs/src/syntax.c [emacs-unicode-2]
Date: Fri, 14 Nov 2003 19:59:37 -0500

Index: emacs/src/syntax.c
diff -c emacs/src/syntax.c:1.166.4.1 emacs/src/syntax.c:1.166.4.2
*** emacs/src/syntax.c:1.166.4.1        Mon Sep  8 08:48:12 2003
--- emacs/src/syntax.c  Fri Nov 14 19:59:37 2003
***************
*** 1418,1425 ****
    string_multibyte = SBYTES (string) > SCHARS (string);
  
    bzero (fastmap, sizeof fastmap);
-   if (multibyte)
-     char_ranges = (int *) alloca (SCHARS (string) * (sizeof (int)) * 2);
  
    str = SDATA (string);
    size_byte = SBYTES (string);
--- 1418,1423 ----
***************
*** 1502,1507 ****
--- 1500,1506 ----
          fastmap[CHAR_LEADING_CODE (c)] = 1;
          range_start_byte = i;
          range_start_char = c;
+         char_ranges = (int *) alloca (sizeof (int) * 128 * 2);
          for (i = 129; i < 0400; i++)
            {
              c = unibyte_char_to_multibyte (i);
***************
*** 1520,1527 ****
                                          + range_start_char);
        }
      }
!   else
      {
        while (i_byte < size_byte)
        {
          unsigned char leading_code;
--- 1519,1528 ----
                                          + range_start_char);
        }
      }
!   else                                /* STRING is multibyte */
      {
+       char_ranges = (int *) alloca (sizeof (int) * SCHARS (string) * 2);
+ 
        while (i_byte < size_byte)
        {
          unsigned char leading_code;
***************
*** 1564,1569 ****
--- 1565,1572 ----
                  i_byte += len;
                }
  
+             if (c > c2)
+               continue;
              if (ASCII_CHAR_P (c))
                {
                  while (c <= c2 && c < 0x80)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]