Copyright (C) 1995, 1997, 1999 Electrotechnical Laboratory, JAPAN.
Licensed to the Free Software Foundation.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008,
- 2010, 2011 MORIOKA Tomohiko
+ 2010, 2011, 2012 MORIOKA Tomohiko
This file is part of XEmacs.
INLINE_HEADER int INT_UINT8_P (Lisp_Object obj);
INLINE_HEADER int UINT8_VALUE_P (Lisp_Object obj);
INLINE_HEADER unsigned char UINT8_ENCODE (Lisp_Object obj);
-INLINE_HEADER Lisp_Object UINT8_DECODE (unsigned char n);
+/* INLINE_HEADER */ Lisp_Object UINT8_DECODE (unsigned char n);
INLINE_HEADER unsigned short UINT8_TO_UINT16 (unsigned char n);
INLINE_HEADER int
return XINT (obj);
}
-INLINE_HEADER Lisp_Object
+/* INLINE_HEADER */ Lisp_Object
UINT8_DECODE (unsigned char n)
{
if (n == BT_UINT8_unloaded)
INLINE_HEADER int INT_UINT16_P (Lisp_Object obj);
INLINE_HEADER int UINT16_VALUE_P (Lisp_Object obj);
INLINE_HEADER unsigned short UINT16_ENCODE (Lisp_Object obj);
-INLINE_HEADER Lisp_Object UINT16_DECODE (unsigned short us);
+/* INLINE_HEADER */ Lisp_Object UINT16_DECODE (unsigned short us);
INLINE_HEADER int
INT_UINT16_P (Lisp_Object obj)
return XINT (obj);
}
-INLINE_HEADER Lisp_Object
+/* INLINE_HEADER */ Lisp_Object
UINT16_DECODE (unsigned short n)
{
if (n == BT_UINT16_unloaded)
{
Lisp_Object ancestors
= Fget_char_attribute (character, con_feature, Qnil);
+#if 0
while (!NILP (ancestors))
{
if (!NILP (ret))
ancestors = nconc2 (Fcopy_sequence (ancestors), ret);
}
+#else
+ Lisp_Object ancestor;
+
+ if (CONSP (ancestors))
+ ancestor = XCAR (ancestors);
+ else
+ ancestor = ancestors;
+
+ if (!NILP (ancestor))
+ {
+ Lisp_Object ret;
+ Lisp_Object anc;
+
+ if (EQ (ancestor, character))
+ return Qunbound;
+
+ ret = Fchar_feature (ancestor, feature, Qunbound,
+ Qnil, make_int (0));
+ if (!UNBOUNDP (ret))
+ return ret;
+
+ ret = find_char_feature_in_family (ancestor, Q_subsumptive_from,
+ feature, feature_rel_max);
+ if (!UNBOUNDP (ret))
+ return ret;
+
+ ret = find_char_feature_in_family (ancestor, Q_denotational_from,
+ feature, feature_rel_max);
+ if (!UNBOUNDP (ret))
+ return ret;
+ }
+#endif
return Qunbound;
}
if (!NILP (ccs))
{
- value = put_char_ccs_code_point (character, ccs, value);
+ if ( !NILP (value) )
+ value = put_char_ccs_code_point (character, ccs, value);
attribute = XCHARSET_NAME (ccs);
}
else if (