From: Kenichi Handa Date: Wed, 12 Jun 2002 00:12:34 +0000 (+0000) Subject: (Fmodify_category_entry): Don't modify the contents X-Git-Tag: emacs-pretest-23.0.90~8295^2~1864^2~663 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d8887a31dd12c18d0fb545f04d02e282e44ba642;p=emacs.git (Fmodify_category_entry): Don't modify the contents of category_set for characters out of the range. Avoid unnecessary modification. --- diff --git a/src/category.c b/src/category.c index e6c180f29c1..4e89c98a027 100644 --- a/src/category.c +++ b/src/category.c @@ -364,18 +364,15 @@ then delete CATEGORY from the category set instead of adding it. */) 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;