From 01c9aa3af4214b6d70b0e8d372df68ce6884a898 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 6 Feb 2011 11:56:30 -0800 Subject: [PATCH] * keymap.c: conform to C89 pointer rules --- src/ChangeLog | 4 ++++ src/keymap.c | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 3588322019..5e2831ea67 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -17,6 +17,7 @@ * image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load): Likewise. * keyboard.c (echo_char, MULTI_LETTER_MOD, tty_read_avail_input): Likewise. + * keymap.c (Ftext_char_description): Likewise. * insdel.c (insert, insert_and_inherit, insert_before_markers): (insert_before_markers_and_inherit, insert_1, insert_1_both): Likewise. This changes these functions' signatures, which is @@ -24,6 +25,9 @@ callers changed. * editfns.c (general_insert_function): Change signature to match changes to insert functions' signatures. + * keymap.c (map_keymap_char_table_item, map_keymap_internal): Use + explicit cast when converting between void * and function pointer + types, as C89 requires this. 2011-02-05 Paul Eggert diff --git a/src/keymap.c b/src/keymap.c index 1e6b76a464..8ee4f41bd6 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -584,7 +584,8 @@ map_keymap_char_table_item (Lisp_Object args, Lisp_Object key, Lisp_Object val) { if (!NILP (val)) { - map_keymap_function_t fun = XSAVE_VALUE (XCAR (args))->pointer; + map_keymap_function_t fun = + (map_keymap_function_t) XSAVE_VALUE (XCAR (args))->pointer; args = XCDR (args); /* If the key is a range, make a copy since map_char_table modifies it in place. */ @@ -629,7 +630,7 @@ map_keymap_internal (Lisp_Object map, else if (CHAR_TABLE_P (binding)) { map_char_table (map_keymap_char_table_item, Qnil, binding, - Fcons (make_save_value (fun, 0), + Fcons (make_save_value ((void *) fun, 0), Fcons (make_save_value (data, 0), args))); } @@ -2474,7 +2475,7 @@ See Info node `(elisp)Describing Characters' for examples. */) (Lisp_Object character) { /* Currently MAX_MULTIBYTE_LENGTH is 4 (< 6). */ - unsigned char str[6]; + char str[6]; int c; CHECK_NUMBER (character); @@ -2482,7 +2483,7 @@ See Info node `(elisp)Describing Characters' for examples. */) c = XINT (character); if (!ASCII_CHAR_P (c)) { - int len = CHAR_STRING (c, str); + int len = CHAR_STRING (c, (unsigned char *) str); return make_multibyte_string (str, 1, len); } @@ -3975,4 +3976,3 @@ keys_of_keymap (void) initial_define_key (global_map, 033, "ESC-prefix"); initial_define_key (global_map, Ctl ('X'), "Control-X-prefix"); } - -- 2.20.1