an array of Lisp_Objects (which are only ever integers anyway).
2007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
+ * fns.c (map_char_table): Use an array of int for `indices' rather than
+ an array of Lisp_Objects (which are only ever integers anyway).
+ (Fmap_char_table): Update caller.
+ * lisp.h: Update prototype.
+ * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
+ * fontset.c (Ffontset_info):
+ * casetab.c (set_case_table): Update callers.
+
+ * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
+
* keymap.c (struct accessible_keymaps_data)
(struct where_is_internal_data): New structures.
(accessible_keymaps_1, where_is_internal_1): Use them to change
(string_match_1, search_buffer, set_search_regs): Likewise.
(syms_of_search): Add Lisp level definition for
`inhibit-changing-match-data' and set it to nil.
- (boyer_moore): If `inhibit-changing-match-data' is non-nil,
- compute start and end of the match, instead of using values in
- search_regs.
+ (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
+ start and end of the match, instead of using values in search_regs.
2007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
int standard;
{
Lisp_Object up, canon, eqv;
- Lisp_Object indices[3];
+ int indices[3];
check_case_table (table);
void
map_char_table (c_function, function, table, subtable, arg, depth, indices)
void (*c_function) P_ ((Lisp_Object, Lisp_Object, Lisp_Object));
- Lisp_Object function, table, subtable, arg, *indices;
- int depth;
+ Lisp_Object function, table, subtable, arg;
+ int depth, *indices;
{
int i, to;
struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
}
else
{
- int charset = XFASTINT (indices[0]) - 128;
+ int charset = indices[0] - 128;
i = 32;
to = SUB_CHAR_TABLE_ORDINARY_SLOTS;
int charset;
elt = XCHAR_TABLE (subtable)->contents[i];
- XSETFASTINT (indices[depth], i);
- charset = XFASTINT (indices[0]) - 128;
+ indices[depth] = i;
+ charset = indices[0] - 128;
if (depth == 0
&& (!CHARSET_DEFINED_P (charset)
|| charset == CHARSET_8_BIT_CONTROL
{
int c1, c2, c;
- c1 = depth >= 1 ? XFASTINT (indices[1]) : 0;
- c2 = depth >= 2 ? XFASTINT (indices[2]) : 0;
+ c1 = depth >= 1 ? indices[1] : 0;
+ c2 = depth >= 2 ? indices[2] : 0;
c = MAKE_CHAR (charset, c1, c2);
if (NILP (elt))
Lisp_Object function, char_table;
{
/* The depth of char table is at most 3. */
- Lisp_Object indices[3];
+ int indices[3];
CHECK_CHAR_TABLE (char_table);
/* When Lisp_Object is represented as a union, `call2' cannot directly
be passed to map_char_table because it returns a Lisp_Object rather
than returning nothing.
- Casting leads to crashes on some architectures. -stef */
+ Casting leads to crashes on some architectures. --Stef */
map_char_table (void_call2, Qnil, char_table, char_table, function, 0, indices);
return Qnil;
}
{
Lisp_Object fontset;
FRAME_PTR f;
- Lisp_Object indices[3];
+ int indices[3];
Lisp_Object val, tail, elt;
Lisp_Object *realized;
struct font_info *fontp = NULL;
if (CHAR_TABLE_P (XCAR (list)))
{
- Lisp_Object indices[3];
+ int indices[3];
map_char_table (fix_submap_inheritance, Qnil,
XCAR (list), XCAR (list),
}
else if (CHAR_TABLE_P (binding))
{
- Lisp_Object indices[3];
+ int indices[3];
map_char_table (map_keymap_char_table_item, Qnil, binding, binding,
Fcons (make_save_value (fun, 0),
Fcons (make_save_value (data, 0),
Lisp_Object elt = XCAR (keymap);
if (CHAR_TABLE_P (elt))
{
- Lisp_Object indices[3];
+ int indices[3];
elt = Fcopy_sequence (elt);
map_char_table (copy_keymap_1, Qnil, elt, elt, elt, 0, indices);
}
extern int char_table_translate P_ ((Lisp_Object, int));
extern void map_char_table P_ ((void (*) (Lisp_Object, Lisp_Object, Lisp_Object),
Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, int,
- Lisp_Object *));
+ int *));
extern Lisp_Object char_table_ref_and_index P_ ((Lisp_Object, int, int *));
extern void syms_of_fns P_ ((void));
#endif
/* Defined in xfaces.c */
+EXFUN (Fclear_face_cache, 1);
extern void syms_of_xfaces P_ ((void));
#ifndef HAVE_GETLOADAVG
extern void syms_of_xsmfns P_ ((void));
/* Defined in xselect.c */
+EXFUN (Fx_send_client_event, 6);
extern void syms_of_xselect P_ ((void));
/* Defined in xterm.c */