changeset 88741:a93a8b796b91

(Fmodify_category_entry): Don't modify the contents of category_set for characters out of the range. Avoid unnecessary modification.
author Kenichi Handa <handa@m17n.org>
date Wed, 12 Jun 2002 00:12:34 +0000
parents 62f922836c9b
children 55e36a0cf0ee
files src/category.c
diffstat 1 files changed, 3 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/category.c	Tue Jun 11 18:45:36 2002 +0000
+++ b/src/category.c	Wed Jun 12 00:12:34 2002 +0000
@@ -364,18 +364,15 @@
   while (start <= end)
     {
       category_set = char_table_ref_and_range (table, start, &from, &to);
-      if (from < start || to > end)
-	category_set = Fcopy_sequence (category_set);
-      SET_CATEGORY_SET (category_set, category, set_value);
-      if (from < start)
+      if (CATEGORY_MEMBER (category, category_set) != NILP (reset))
 	{
+	  category_set = Fcopy_sequence (category_set);
+	  SET_CATEGORY_SET (category_set, category, set_value);
 	  if (to > end)
 	    char_table_set_range (table, start, end, category_set);
 	  else
 	    char_table_set_range (table, start, to, category_set);
 	}
-      else if (to > end)
-	char_table_set_range (table, start, end, category_set);
       start = to + 1;
     }
   return Qnil;