Function: register-code-conversion-map
register-code-conversion-map is a function defined in ccl.c.
Signature
(register-code-conversion-map SYMBOL MAP)
Documentation
Register SYMBOL as code conversion map MAP.
Return index number of the registered map.
Source Code
// Defined in /usr/src/emacs/src/ccl.c
{
ptrdiff_t len;
ptrdiff_t i;
Lisp_Object idx;
CHECK_SYMBOL (symbol);
CHECK_VECTOR (map);
if (! VECTORP (Vcode_conversion_map_vector))
error ("Invalid code-conversion-map-vector");
len = ASIZE (Vcode_conversion_map_vector);
for (i = 0; i < len; i++)
{
Lisp_Object slot = AREF (Vcode_conversion_map_vector, i);
if (!CONSP (slot))
break;
if (EQ (symbol, XCAR (slot)))
{
idx = make_fixnum (i);
XSETCDR (slot, map);
Fput (symbol, Qcode_conversion_map, map);
Fput (symbol, Qcode_conversion_map_id, idx);
return idx;
}
}
if (i == len)
Vcode_conversion_map_vector = larger_vector (Vcode_conversion_map_vector,
1, -1);
idx = make_fixnum (i);
Fput (symbol, Qcode_conversion_map, map);
Fput (symbol, Qcode_conversion_map_id, idx);
ASET (Vcode_conversion_map_vector, i, Fcons (symbol, map));
return idx;
}