# HG changeset patch # User Kenichi Handa # Date 1023840754 0 # Node ID a93a8b796b91f07c632198cac2b3292c91445ff9 # Parent 62f922836c9b61e4a0f90caae177fd6e9eb5130d (Fmodify_category_entry): Don't modify the contents of category_set for characters out of the range. Avoid unnecessary modification. diff -r 62f922836c9b -r a93a8b796b91 src/category.c --- 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;