Mercurial > emacs
comparison src/charset.c @ 89471:31ac7465ef51
(Fset_charset_priority): Pay attention to dumplicated arguments.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Fri, 06 Jun 2003 03:57:34 +0000 |
parents | 6cc7c4aa53cc |
children | 2f877ed80fa6 |
comparison
equal
deleted
inserted
replaced
89470:63f863a2a2e2 | 89471:31ac7465ef51 |
---|---|
1992 usage: (set-charset-priority &rest charsets) */) | 1992 usage: (set-charset-priority &rest charsets) */) |
1993 (nargs, args) | 1993 (nargs, args) |
1994 int nargs; | 1994 int nargs; |
1995 Lisp_Object *args; | 1995 Lisp_Object *args; |
1996 { | 1996 { |
1997 Lisp_Object new_head = Qnil, old_list, arglist[2]; | 1997 Lisp_Object new_head, old_list, arglist[2]; |
1998 int i, id; | 1998 int i, id; |
1999 | 1999 |
2000 old_list = Fcopy_sequence (Vcharset_ordered_list); | 2000 old_list = Fcopy_sequence (Vcharset_ordered_list); |
2001 new_head = Qnil; | |
2001 for (i = 0; i < nargs; i++) | 2002 for (i = 0; i < nargs; i++) |
2002 { | 2003 { |
2003 CHECK_CHARSET_GET_ID (args[i], id); | 2004 CHECK_CHARSET_GET_ID (args[i], id); |
2004 old_list = Fdelq (make_number (id), old_list); | 2005 if (! NILP (Fmemq (make_number (id), old_list))) |
2005 new_head = Fcons (make_number (id), new_head); | 2006 { |
2007 old_list = Fdelq (make_number (id), old_list); | |
2008 new_head = Fcons (make_number (id), new_head); | |
2009 } | |
2006 } | 2010 } |
2007 arglist[0] = Fnreverse (new_head); | 2011 arglist[0] = Fnreverse (new_head); |
2008 arglist[1] = old_list; | 2012 arglist[1] = old_list; |
2009 Vcharset_ordered_list = Fnconc (2, arglist); | 2013 Vcharset_ordered_list = Fnconc (2, arglist); |
2010 charset_ordered_list_tick++; | 2014 charset_ordered_list_tick++; |