From: Kenichi Handa <handa@m17n.org>
Date: Fri, 6 Jun 2003 03:57:34 +0000 (+0000)
Subject: (Fset_charset_priority): Pay attention to dumplicated arguments.
X-Git-Tag: emacs-pretest-23.0.90~8295^2~1864^2~9
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=af7c60ca4fabbc0bbcf047c1656930e75ab8ac30;p=emacs.git

(Fset_charset_priority): Pay attention to dumplicated arguments.
---

diff --git a/src/charset.c b/src/charset.c
index e53fbf915fa..a651d2ffb74 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -1994,15 +1994,19 @@ usage: (set-charset-priority &rest charsets)  */)
      int nargs;
      Lisp_Object *args;
 {
-  Lisp_Object new_head = Qnil, old_list, arglist[2];
+  Lisp_Object new_head, old_list, arglist[2];
   int i, id;
 
   old_list = Fcopy_sequence (Vcharset_ordered_list);
+  new_head = Qnil;
   for (i = 0; i < nargs; i++)
     {
       CHECK_CHARSET_GET_ID (args[i], id);
-      old_list = Fdelq (make_number (id), old_list);
-      new_head = Fcons (make_number (id), new_head);
+      if (! NILP (Fmemq (make_number (id), old_list)))
+	{
+	  old_list = Fdelq (make_number (id), old_list);
+	  new_head = Fcons (make_number (id), new_head);
+	}
     }
   arglist[0] = Fnreverse (new_head);
   arglist[1] = old_list;