changeset 4976:16112448d484

Rename xfree(FOO, TYPE) -> xfree(FOO) -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2010-02-04 Ben Wing <ben@xemacs.org> * alloc.c (release_breathing_space): * alloc.c (resize_string): * alloc.c (sweep_lcrecords_1): * alloc.c (SWEEP_FIXED_TYPE_BLOCK_1): * alloc.c (ADDITIONAL_FREE_compiled_function): * alloc.c (compact_string_chars): * alloc.c (ADDITIONAL_FREE_string): * alloc.c (sweep_strings): * alloca.c (xemacs_c_alloca): * alsaplay.c (alsa_play_sound_file): * buffer.c (init_initial_directory): * buffer.h: * buffer.h (BUFFER_FREE): * console-stream.c (stream_delete_console): * console-tty.c (free_tty_console_struct): * data.c (Fnumber_to_string): * device-gtk.c (gtk_init_device): * device-gtk.c (free_gtk_device_struct): * device-gtk.c (gtk_delete_device): * device-msw.c (mswindows_delete_device): * device-msw.c (msprinter_delete_device): * device-tty.c (free_tty_device_struct): * device-tty.c (tty_delete_device): * device-x.c (x_init_device): * device-x.c (free_x_device_struct): * device-x.c (x_delete_device): * dialog-msw.c (handle_directory_dialog_box): * dialog-x.c (dbox_descriptor_to_widget_value): * dired-msw.c (Fmswindows_insert_directory): * dired.c (free_user_cache): * dired.c (user_name_completion_unwind): * doc.c (unparesseuxify_doc_string): * doc.c (Fsubstitute_command_keys): * doprnt.c (emacs_doprnt_1): * dumper.c (pdump_load_finish): * dumper.c (pdump_file_free): * dumper.c (pdump_file_unmap): * dynarr.c: * dynarr.c (Dynarr_free): * editfns.c (uncache_home_directory): * editfns.c (Fset_time_zone_rule): * elhash.c: * elhash.c (pdump_reorganize_hash_table): * elhash.c (maphash_unwind): * emacs.c (make_arg_list_1): * emacs.c (free_argc_argv): * emacs.c (sort_args): * emacs.c (Frunning_temacs_p): * emodules.c (attempt_module_delete): * eval.c (free_pointer): * event-Xt.c (unselect_filedesc): * event-Xt.c (emacs_Xt_select_process): * event-gtk.c (unselect_filedesc): * event-gtk.c (dragndrop_data_received): * event-msw.c (winsock_closer): * event-msw.c (mswindows_dde_callback): * event-msw.c (mswindows_wnd_proc): * event-stream.c (finalize_command_builder): * event-stream.c (free_command_builder): * extents.c (free_gap_array): * extents.c (free_extent_list): * extents.c (free_soe): * extents.c (extent_fragment_delete): * extents.c (extent_priority_sort_function): * file-coding.c (make_coding_system_1): * file-coding.c (coding_finalizer): * file-coding.c (set_coding_stream_coding_system): * file-coding.c (chain_finalize_coding_stream_1): * file-coding.c (chain_finalize): * file-coding.c (free_detection_state): * file-coding.c (coding_category_symbol_to_id): * fileio.c: * fileio.c (Ffile_name_directory): * fileio.c (if): * fileio.c (Ffile_symlink_p): * filelock.c (FREE_LOCK_INFO): * filelock.c (current_lock_owner): * font-mgr.c (Ffc_name_unparse): * font-mgr.c (Ffc_pattern_duplicate): * frame-gtk.c (gtk_delete_frame): * frame-msw.c (mswindows_delete_frame): * frame-msw.c (msprinter_delete_frame): * frame-x.c (x_cde_destroy_callback): * frame-x.c (Fcde_start_drag_internal): * frame-x.c (x_cde_transfer_callback): * frame-x.c (x_delete_frame): * frame.c (update_frame_title): * frame.c (Fset_frame_pointer): * gc.c (register_for_finalization): * gccache-gtk.c (free_gc_cache): * gccache-gtk.c (gc_cache_lookup): * gccache-x.c (free_gc_cache): * gccache-x.c (gc_cache_lookup): * glyphs-eimage.c: * glyphs-eimage.c (jpeg_instantiate_unwind): * glyphs-eimage.c (gif_instantiate_unwind): * glyphs-eimage.c (png_instantiate_unwind): * glyphs-eimage.c (png_instantiate): * glyphs-eimage.c (tiff_instantiate_unwind): * glyphs-gtk.c (convert_EImage_to_GDKImage): * glyphs-gtk.c (gtk_finalize_image_instance): * glyphs-gtk.c (gtk_init_image_instance_from_eimage): * glyphs-gtk.c (gtk_xpm_instantiate): * glyphs-msw.c (convert_EImage_to_DIBitmap): * glyphs-msw.c (mswindows_init_image_instance_from_eimage): * glyphs-msw.c (mswindows_initialize_image_instance_mask): * glyphs-msw.c (xpm_to_eimage): * glyphs-msw.c (mswindows_xpm_instantiate): * glyphs-msw.c (xbm_create_bitmap_from_data): * glyphs-msw.c (mswindows_finalize_image_instance): * glyphs-x.c (convert_EImage_to_XImage): * glyphs-x.c (x_finalize_image_instance): * glyphs-x.c (x_init_image_instance_from_eimage): * glyphs-x.c (x_xpm_instantiate): * gui-x.c (free_popup_widget_value_tree): * hash.c (free_hash_table): * hash.c (grow_hash_table): * hash.c (pregrow_hash_table_if_necessary): * imgproc.c (build_EImage_quantable): * insdel.c (uninit_buffer_text): * intl-win32.c (convert_multibyte_to_internal_malloc): * intl.c: * intl.c (Fset_current_locale): * keymap.c: * keymap.c (where_is_recursive_mapper): * keymap.c (where_is_internal): * lisp.h: * lisp.h (xfree): * lstream.c (Lstream_close): * lstream.c (resizing_buffer_closer): * mule-coding.c: * mule-coding.c (iso2022_finalize_detection_state): * nt.c: * nt.c (mswindows_get_long_filename): * nt.c (nt_get_resource): * nt.c (init_mswindows_environment): * nt.c (get_cached_volume_information): * nt.c (mswindows_opendir): * nt.c (mswindows_closedir): * nt.c (mswindows_readdir): * nt.c (mswindows_stat): * nt.c (mswindows_getdcwd): * nt.c (Fmswindows_long_file_name): * ntplay.c (nt_play_sound_file): * ntplay.c (play_sound_data_1): * number-gmp.c (gmp_free): * number-gmp.c (init_number_gmp): * number-mp.c (bignum_to_string): * number-mp.c (BIGNUM_TO_TYPE): * number.c (bignum_print): * number.c (bignum_convfree): * number.c (ratio_print): * number.c (bigfloat_print): * number.c (bigfloat_finalize): * objects-gtk.c (gtk_finalize_color_instance): * objects-gtk.c (gtk_finalize_font_instance): * objects-msw.c (mswindows_finalize_color_instance): * objects-msw.c (mswindows_finalize_font_instance): * objects-tty.c (tty_finalize_color_instance): * objects-tty.c (tty_finalize_font_instance): * objects-tty.c (tty_font_list): * objects-x.c (x_finalize_color_instance): * objects-x.c (x_finalize_font_instance): * process.c: * process.c (finalize_process): * realpath.c: * redisplay.c (add_propagation_runes): * regex.c: * regex.c (xfree): * regex.c (REGEX_FREE_STACK): * regex.c (FREE_STACK_RETURN): * regex.c (regex_compile): * regex.c (regexec): * regex.c (regfree): * scrollbar-gtk.c (gtk_free_scrollbar_instance): * scrollbar-gtk.c (gtk_release_scrollbar_instance): * scrollbar-msw.c (mswindows_free_scrollbar_instance): * scrollbar-msw.c (unshow_that_mofo): * scrollbar-x.c (x_free_scrollbar_instance): * scrollbar-x.c (x_release_scrollbar_instance): * select-gtk.c (emacs_gtk_selection_handle): * select-msw.c (mswindows_own_selection): * select-x.c: * select-x.c (x_handle_selection_request): * select-x.c (unexpect_property_change): * select-x.c (x_handle_property_notify): * select-x.c (receive_incremental_selection): * select-x.c (x_get_window_property_as_lisp_data): * select-x.c (Fx_get_cutbuffer_internal): * specifier.c (finalize_specifier): * syntax.c (uninit_buffer_syntax_cache): * sysdep.c (qxe_allocating_getcwd): * sysdep.c (qxe_lstat): * sysdep.c (copy_in_passwd): * sysdep.c (qxe_ctime): * sysdep.c (closedir): * sysdep.c (DIRSIZ): * termcap.c (tgetent): * termcap.c (tprint): * tests.c (Ftest_data_format_conversion): * text.c (new_dfc_convert_copy_data): * text.h (eifree): * text.h (eito_alloca): * text.h (eito_external): * toolbar-msw.c (mswindows_output_toolbar): * ui-gtk.c (CONVERT_RETVAL): * ui-gtk.c (__allocate_object_storage): * unicode.c (free_from_unicode_table): * unicode.c (free_to_unicode_table): * unicode.c (free_charset_unicode_tables): * win32.c (mswindows_read_link_1): Rename: xfree(VAL, TYPE)->xfree(VAL) Command used: gr 'xfree *\((.*),.*\);' 'xfree (\1);' *.[ch] Followed by grepping for 'xfree.*,' and fixing anything left. Rationale: Having to specify the TYPE argument is annoying and error-prone. It was originally put in to work around warnings due to strict aliasing but years and years ago I rewrote it in a way that doesn't use the TYPE argument at all and no one has complained since then. (And anyway, XEmacs is far from ever being in compliance with strict aliasing and would require far-reaching changes to get that way.)
author Ben Wing <ben@xemacs.org>
date Thu, 04 Feb 2010 07:28:14 -0600
parents c448f4c38d65
children 2bf7c51d7101
files src/ChangeLog src/alloc.c src/alloca.c src/alsaplay.c src/buffer.c src/buffer.h src/console-stream.c src/console-tty.c src/data.c src/device-gtk.c src/device-msw.c src/device-tty.c src/device-x.c src/dialog-msw.c src/dialog-x.c src/dired-msw.c src/dired.c src/doc.c src/doprnt.c src/dumper.c src/dynarr.c src/editfns.c src/elhash.c src/emacs.c src/emodules.c src/eval.c src/event-Xt.c src/event-gtk.c src/event-msw.c src/event-stream.c src/extents.c src/file-coding.c src/fileio.c src/filelock.c src/font-mgr.c src/frame-gtk.c src/frame-msw.c src/frame-x.c src/frame.c src/gc.c src/gccache-gtk.c src/gccache-x.c src/glyphs-eimage.c src/glyphs-gtk.c src/glyphs-msw.c src/glyphs-x.c src/gui-x.c src/hash.c src/imgproc.c src/insdel.c src/intl-win32.c src/intl.c src/keymap.c src/lisp.h src/lstream.c src/mule-coding.c src/nt.c src/ntplay.c src/number-gmp.c src/number-mp.c src/number.c src/objects-gtk.c src/objects-msw.c src/objects-tty.c src/objects-x.c src/process.c src/realpath.c src/redisplay.c src/regex.c src/scrollbar-gtk.c src/scrollbar-msw.c src/scrollbar-x.c src/select-gtk.c src/select-msw.c src/select-x.c src/specifier.c src/syntax.c src/sysdep.c src/termcap.c src/tests.c src/text.c src/text.h src/toolbar-msw.c src/ui-gtk.c src/unicode.c src/win32.c
diffstat 86 files changed, 515 insertions(+), 288 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/ChangeLog	Thu Feb 04 07:28:14 2010 -0600
@@ -1,3 +1,232 @@
+2010-02-04  Ben Wing  <ben@xemacs.org>
+
+	* alloc.c (release_breathing_space):
+	* alloc.c (resize_string):
+	* alloc.c (sweep_lcrecords_1):
+	* alloc.c (SWEEP_FIXED_TYPE_BLOCK_1):
+	* alloc.c (ADDITIONAL_FREE_compiled_function):
+	* alloc.c (compact_string_chars):
+	* alloc.c (ADDITIONAL_FREE_string):
+	* alloc.c (sweep_strings):
+	* alloca.c (xemacs_c_alloca):
+	* alsaplay.c (alsa_play_sound_file):
+	* buffer.c (init_initial_directory):
+	* buffer.h:
+	* buffer.h (BUFFER_FREE):
+	* console-stream.c (stream_delete_console):
+	* console-tty.c (free_tty_console_struct):
+	* data.c (Fnumber_to_string):
+	* device-gtk.c (gtk_init_device):
+	* device-gtk.c (free_gtk_device_struct):
+	* device-gtk.c (gtk_delete_device):
+	* device-msw.c (mswindows_delete_device):
+	* device-msw.c (msprinter_delete_device):
+	* device-tty.c (free_tty_device_struct):
+	* device-tty.c (tty_delete_device):
+	* device-x.c (x_init_device):
+	* device-x.c (free_x_device_struct):
+	* device-x.c (x_delete_device):
+	* dialog-msw.c (handle_directory_dialog_box):
+	* dialog-x.c (dbox_descriptor_to_widget_value):
+	* dired-msw.c (Fmswindows_insert_directory):
+	* dired.c (free_user_cache):
+	* dired.c (user_name_completion_unwind):
+	* doc.c (unparesseuxify_doc_string):
+	* doc.c (Fsubstitute_command_keys):
+	* doprnt.c (emacs_doprnt_1):
+	* dumper.c (pdump_load_finish):
+	* dumper.c (pdump_file_free):
+	* dumper.c (pdump_file_unmap):
+	* dynarr.c:
+	* dynarr.c (Dynarr_free):
+	* editfns.c (uncache_home_directory):
+	* editfns.c (Fset_time_zone_rule):
+	* elhash.c:
+	* elhash.c (pdump_reorganize_hash_table):
+	* elhash.c (maphash_unwind):
+	* emacs.c (make_arg_list_1):
+	* emacs.c (free_argc_argv):
+	* emacs.c (sort_args):
+	* emacs.c (Frunning_temacs_p):
+	* emodules.c (attempt_module_delete):
+	* eval.c (free_pointer):
+	* event-Xt.c (unselect_filedesc):
+	* event-Xt.c (emacs_Xt_select_process):
+	* event-gtk.c (unselect_filedesc):
+	* event-gtk.c (dragndrop_data_received):
+	* event-msw.c (winsock_closer):
+	* event-msw.c (mswindows_dde_callback):
+	* event-msw.c (mswindows_wnd_proc):
+	* event-stream.c (finalize_command_builder):
+	* event-stream.c (free_command_builder):
+	* extents.c (free_gap_array):
+	* extents.c (free_extent_list):
+	* extents.c (free_soe):
+	* extents.c (extent_fragment_delete):
+	* extents.c (extent_priority_sort_function):
+	* file-coding.c (make_coding_system_1):
+	* file-coding.c (coding_finalizer):
+	* file-coding.c (set_coding_stream_coding_system):
+	* file-coding.c (chain_finalize_coding_stream_1):
+	* file-coding.c (chain_finalize):
+	* file-coding.c (free_detection_state):
+	* file-coding.c (coding_category_symbol_to_id):
+	* fileio.c:
+	* fileio.c (Ffile_name_directory):
+	* fileio.c (if):
+	* fileio.c (Ffile_symlink_p):
+	* filelock.c (FREE_LOCK_INFO):
+	* filelock.c (current_lock_owner):
+	* font-mgr.c (Ffc_name_unparse):
+	* font-mgr.c (Ffc_pattern_duplicate):
+	* frame-gtk.c (gtk_delete_frame):
+	* frame-msw.c (mswindows_delete_frame):
+	* frame-msw.c (msprinter_delete_frame):
+	* frame-x.c (x_cde_destroy_callback):
+	* frame-x.c (Fcde_start_drag_internal):
+	* frame-x.c (x_cde_transfer_callback):
+	* frame-x.c (x_delete_frame):
+	* frame.c (update_frame_title):
+	* frame.c (Fset_frame_pointer):
+	* gc.c (register_for_finalization):
+	* gccache-gtk.c (free_gc_cache):
+	* gccache-gtk.c (gc_cache_lookup):
+	* gccache-x.c (free_gc_cache):
+	* gccache-x.c (gc_cache_lookup):
+	* glyphs-eimage.c:
+	* glyphs-eimage.c (jpeg_instantiate_unwind):
+	* glyphs-eimage.c (gif_instantiate_unwind):
+	* glyphs-eimage.c (png_instantiate_unwind):
+	* glyphs-eimage.c (png_instantiate):
+	* glyphs-eimage.c (tiff_instantiate_unwind):
+	* glyphs-gtk.c (convert_EImage_to_GDKImage):
+	* glyphs-gtk.c (gtk_finalize_image_instance):
+	* glyphs-gtk.c (gtk_init_image_instance_from_eimage):
+	* glyphs-gtk.c (gtk_xpm_instantiate):
+	* glyphs-msw.c (convert_EImage_to_DIBitmap):
+	* glyphs-msw.c (mswindows_init_image_instance_from_eimage):
+	* glyphs-msw.c (mswindows_initialize_image_instance_mask):
+	* glyphs-msw.c (xpm_to_eimage):
+	* glyphs-msw.c (mswindows_xpm_instantiate):
+	* glyphs-msw.c (xbm_create_bitmap_from_data):
+	* glyphs-msw.c (mswindows_finalize_image_instance):
+	* glyphs-x.c (convert_EImage_to_XImage):
+	* glyphs-x.c (x_finalize_image_instance):
+	* glyphs-x.c (x_init_image_instance_from_eimage):
+	* glyphs-x.c (x_xpm_instantiate):
+	* gui-x.c (free_popup_widget_value_tree):
+	* hash.c (free_hash_table):
+	* hash.c (grow_hash_table):
+	* hash.c (pregrow_hash_table_if_necessary):
+	* imgproc.c (build_EImage_quantable):
+	* insdel.c (uninit_buffer_text):
+	* intl-win32.c (convert_multibyte_to_internal_malloc):
+	* intl.c:
+	* intl.c (Fset_current_locale):
+	* keymap.c:
+	* keymap.c (where_is_recursive_mapper):
+	* keymap.c (where_is_internal):
+	* lisp.h:
+	* lisp.h (xfree):
+	* lstream.c (Lstream_close):
+	* lstream.c (resizing_buffer_closer):
+	* mule-coding.c:
+	* mule-coding.c (iso2022_finalize_detection_state):
+	* nt.c:
+	* nt.c (mswindows_get_long_filename):
+	* nt.c (nt_get_resource):
+	* nt.c (init_mswindows_environment):
+	* nt.c (get_cached_volume_information):
+	* nt.c (mswindows_opendir):
+	* nt.c (mswindows_closedir):
+	* nt.c (mswindows_readdir):
+	* nt.c (mswindows_stat):
+	* nt.c (mswindows_getdcwd):
+	* nt.c (Fmswindows_long_file_name):
+	* ntplay.c (nt_play_sound_file):
+	* ntplay.c (play_sound_data_1):
+	* number-gmp.c (gmp_free):
+	* number-gmp.c (init_number_gmp):
+	* number-mp.c (bignum_to_string):
+	* number-mp.c (BIGNUM_TO_TYPE):
+	* number.c (bignum_print):
+	* number.c (bignum_convfree):
+	* number.c (ratio_print):
+	* number.c (bigfloat_print):
+	* number.c (bigfloat_finalize):
+	* objects-gtk.c (gtk_finalize_color_instance):
+	* objects-gtk.c (gtk_finalize_font_instance):
+	* objects-msw.c (mswindows_finalize_color_instance):
+	* objects-msw.c (mswindows_finalize_font_instance):
+	* objects-tty.c (tty_finalize_color_instance):
+	* objects-tty.c (tty_finalize_font_instance):
+	* objects-tty.c (tty_font_list):
+	* objects-x.c (x_finalize_color_instance):
+	* objects-x.c (x_finalize_font_instance):
+	* process.c:
+	* process.c (finalize_process):
+	* realpath.c:
+	* redisplay.c (add_propagation_runes):
+	* regex.c:
+	* regex.c (xfree):
+	* regex.c (REGEX_FREE_STACK):
+	* regex.c (FREE_STACK_RETURN):
+	* regex.c (regex_compile):
+	* regex.c (regexec):
+	* regex.c (regfree):
+	* scrollbar-gtk.c (gtk_free_scrollbar_instance):
+	* scrollbar-gtk.c (gtk_release_scrollbar_instance):
+	* scrollbar-msw.c (mswindows_free_scrollbar_instance):
+	* scrollbar-msw.c (unshow_that_mofo):
+	* scrollbar-x.c (x_free_scrollbar_instance):
+	* scrollbar-x.c (x_release_scrollbar_instance):
+	* select-gtk.c (emacs_gtk_selection_handle):
+	* select-msw.c (mswindows_own_selection):
+	* select-x.c:
+	* select-x.c (x_handle_selection_request):
+	* select-x.c (unexpect_property_change):
+	* select-x.c (x_handle_property_notify):
+	* select-x.c (receive_incremental_selection):
+	* select-x.c (x_get_window_property_as_lisp_data):
+	* select-x.c (Fx_get_cutbuffer_internal):
+	* specifier.c (finalize_specifier):
+	* syntax.c (uninit_buffer_syntax_cache):
+	* sysdep.c (qxe_allocating_getcwd):
+	* sysdep.c (qxe_lstat):
+	* sysdep.c (copy_in_passwd):
+	* sysdep.c (qxe_ctime):
+	* sysdep.c (closedir):
+	* sysdep.c (DIRSIZ):
+	* termcap.c (tgetent):
+	* termcap.c (tprint):
+	* tests.c (Ftest_data_format_conversion):
+	* text.c (new_dfc_convert_copy_data):
+	* text.h (eifree):
+	* text.h (eito_alloca):
+	* text.h (eito_external):
+	* toolbar-msw.c (mswindows_output_toolbar):
+	* ui-gtk.c (CONVERT_RETVAL):
+	* ui-gtk.c (__allocate_object_storage):
+	* unicode.c (free_from_unicode_table):
+	* unicode.c (free_to_unicode_table):
+	* unicode.c (free_charset_unicode_tables):
+	* win32.c (mswindows_read_link_1):
+	Rename: xfree(VAL, TYPE)->xfree(VAL)
+
+	Command used:
+
+	gr 'xfree *\((.*),.*\);' 'xfree (\1);' *.[ch]
+
+	Followed by grepping for 'xfree.*,' and fixing anything left.
+
+	Rationale: Having to specify the TYPE argument is annoying and
+	error-prone.  It was originally put in to work around warnings
+	due to strict aliasing but years and years ago I rewrote it
+	in a way that doesn't use the TYPE argument at all and no one
+	has complained since then. (And anyway, XEmacs is far from
+	ever being in compliance with strict aliasing and would require
+	far-reaching changes to get that way.)
+
 2010-02-04  Ben Wing  <ben@xemacs.org>
 
 	* filelock.c:
--- a/src/alloc.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/alloc.c	Thu Feb 04 07:28:14 2010 -0600
@@ -229,7 +229,7 @@
     {
       void *tmp = breathing_space;
       breathing_space = 0;
-      xfree (tmp, void *);
+      xfree (tmp);
     }
 }
 #endif /* not NEW_GC */
@@ -2648,7 +2648,7 @@
 		      XSTRING_LENGTH (s) + 1 - pos);
 	    }
 	  XSET_STRING_DATA (s, new_data);
-	  xfree (old_data, Ibyte *);
+	  xfree (old_data);
 	}
     }
   else /* old string is small */
@@ -3560,7 +3560,7 @@
           *prev = next;
 	  tick_lcrecord_stats (h, 1);
 	  /* used to call finalizer right here. */
-	  xfree (header, struct old_lcrecord_header *);
+	  xfree (header);
 	  header = next;
 	}
     }
@@ -3684,7 +3684,7 @@
 	  SFTB_current = SFTB_current->prev;				     \
 	  {								     \
 	    *SFTB_prev = SFTB_current;					     \
-	    xfree (SFTB_victim_block, struct typename##_block *);	     \
+	    xfree (SFTB_victim_block);	     \
 	    /* Restore free list to what it was before victim was swept */   \
 	    typename##_free_list = SFTB_old_free_list;			     \
 	    num_free -= SFTB_limit;					     \
@@ -3790,7 +3790,7 @@
 {
 #define UNMARK_compiled_function(ptr) UNMARK_RECORD_HEADER (&((ptr)->lheader))
 #define ADDITIONAL_FREE_compiled_function(ptr) \
-  if (ptr->args_in_array) xfree (ptr->args, Lisp_Object *)
+  if (ptr->args_in_array) xfree (ptr->args)
 
   SWEEP_FIXED_TYPE_BLOCK (compiled_function, Lisp_Compiled_Function);
 }
@@ -4223,7 +4223,7 @@
     for (victim = to_sb->next; victim; )
       {
 	struct string_chars_block *next = victim->next;
-	xfree (victim, struct string_chars_block *);
+	xfree (victim);
 	victim = next;
       }
 
@@ -4283,7 +4283,7 @@
 #define ADDITIONAL_FREE_string(ptr) do {	\
     Bytecount size = ptr->size_;		\
     if (BIG_STRING_SIZE_P (size))		\
-      xfree (ptr->data_, Ibyte *);		\
+      xfree (ptr->data_);		\
   } while (0)
 
   SWEEP_FIXED_TYPE_BLOCK_1 (string, Lisp_String, u.lheader);
--- a/src/alloca.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/alloca.c	Thu Feb 04 07:28:14 2010 -0600
@@ -152,7 +152,7 @@
 	  register header *np = hp->h.next;
 
 #ifdef emacs
-	  xfree (hp, header *);	/* Collect garbage.  */
+	  xfree (hp);	/* Collect garbage.  */
 #else
 	  free (hp);		/* Collect garbage.  */
 #endif
--- a/src/alsaplay.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/alsaplay.c	Thu Feb 04 07:28:14 2010 -0600
@@ -414,6 +414,6 @@
   retry_read (fd, data, st.st_size);
   retry_close (fd);
   retval = alsa_play_sound_data (data, st.st_size, volume);
-  xfree (data, Binbyte);
+  xfree (data);
   return retval;
 }
--- a/src/buffer.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/buffer.c	Thu Feb 04 07:28:14 2010 -0600
@@ -2964,7 +2964,7 @@
 #ifdef WIN32_NATIVE
   {
     Ibyte *newinit = mswindows_canonicalize_filename (initial_directory);
-    xfree (initial_directory, Ibyte *);
+    xfree (initial_directory);
     initial_directory = newinit;
   }
 
@@ -2982,7 +2982,7 @@
     XECOPY_TCHAR (p, '\0');
   
     qxeSetCurrentDirectory (modname);
-    xfree (modname, Extbyte *);
+    xfree (modname);
   }
 #endif
 }
--- a/src/buffer.h	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/buffer.h	Thu Feb 04 07:28:14 2010 -0600
@@ -1149,7 +1149,7 @@
 #define BUFFER_REALLOC(data,size)\
 	((Ibyte *) xrealloc (data, (size) * sizeof(Ibyte)))
 /* Avoid excess parentheses, or syntax errors may rear their heads. */
-#define BUFFER_FREE(data) xfree (data, Ibyte *)
+#define BUFFER_FREE(data) xfree (data)
 #define R_ALLOC_DECLARE(var,data)
 
 #endif /* !REL_ALLOC */
--- a/src/console-stream.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/console-stream.c	Thu Feb 04 07:28:14 2010 -0600
@@ -138,7 +138,7 @@
 	retry_fclose (stream_con->in);
 
 #ifndef NEW_GC
-      xfree (stream_con, struct stream_console *);
+      xfree (stream_con);
 #endif /* not NEW_GC */
       CONSOLE_STREAM_DATA (con) = NULL;
     }
--- a/src/console-tty.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/console-tty.c	Thu Feb 04 07:28:14 2010 -0600
@@ -216,11 +216,11 @@
     {
       if (tty_con->term_entry_buffer) /* allocated in term_init () */
 	{
-	  xfree (tty_con->term_entry_buffer, char *);
+	  xfree (tty_con->term_entry_buffer);
 	  tty_con->term_entry_buffer = NULL;
 	}
 #ifndef NEW_GC
-      xfree (tty_con, struct tty_console *);
+      xfree (tty_con);
 #endif /* not NEW_GC */
       CONSOLE_TTY_DATA (con) = NULL;
     }
--- a/src/data.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/data.c	Thu Feb 04 07:28:14 2010 -0600
@@ -1234,7 +1234,7 @@
     {
       Ascbyte *str = bignum_to_string (XBIGNUM_DATA (number), 10);
       Lisp_Object retval = build_ascstring (str);
-      xfree (str, Ascbyte *);
+      xfree (str);
       return retval;
     }
 #endif
@@ -1243,7 +1243,7 @@
     {
       Ascbyte *str = ratio_to_string (XRATIO_DATA (number), 10);
       Lisp_Object retval = build_ascstring (str);
-      xfree (str, Ascbyte *);
+      xfree (str);
       return retval;
     }
 #endif
@@ -1252,7 +1252,7 @@
     {
       Ascbyte *str = bigfloat_to_string (XBIGFLOAT_DATA (number), 10);
       Lisp_Object retval = build_ascstring (str);
-      xfree (str, Ascbyte *);
+      xfree (str);
       return retval;
     }
 #endif
--- a/src/device-gtk.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/device-gtk.c	Thu Feb 04 07:28:14 2010 -0600
@@ -260,7 +260,7 @@
 	for (ctr = 1; new_rc_files[ctr]; ctr++)
 	  free(new_rc_files[ctr]);
 
-	xfree (new_rc_files, gchar **);
+	xfree (new_rc_files);
       }
   }
 
@@ -356,7 +356,7 @@
 static void
 free_gtk_device_struct (struct device *d)
 {
-  xfree (d->device_data, void *);
+  xfree (d->device_data);
 }
 #endif /* not NEW_GC */
 
--- a/src/device-msw.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/device-msw.c	Thu Feb 04 07:28:14 2010 -0600
@@ -305,7 +305,7 @@
 
   DeleteDC (DEVICE_MSWINDOWS_HCDC (d));
 #ifndef NEW_GC
-  xfree (d->device_data, void *);
+  xfree (d->device_data);
 #endif /* not NEW_GC */
 }
 
@@ -579,7 +579,7 @@
 	}
 
 #ifndef NEW_GC
-      xfree (d->device_data, void *);
+      xfree (d->device_data);
 #endif /* not NEW_GC */
     }
 }
--- a/src/device-tty.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/device-tty.c	Thu Feb 04 07:28:14 2010 -0600
@@ -118,7 +118,7 @@
 free_tty_device_struct (struct device *d)
 {
   if (d->device_data)
-    xfree (d->device_data, void *);
+    xfree (d->device_data);
 }
 
 static void
--- a/src/device-x.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/device-x.c	Thu Feb 04 07:28:14 2010 -0600
@@ -743,7 +743,7 @@
     {
       /* Cast off const for G++ 4.3. */
       Extbyte *temp = (Extbyte *) locale;
-      xfree (temp, Extbyte*);
+      xfree (temp);
     }
  }
 #endif /* MULE */
@@ -951,7 +951,7 @@
 static void
 free_x_device_struct (struct device *d)
 {
-  xfree (d->device_data, void *);
+  xfree (d->device_data);
 }
 #endif /* not NEW_GC */
 
--- a/src/dialog-msw.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/dialog-msw.c	Thu Feb 04 07:28:14 2010 -0600
@@ -442,7 +442,7 @@
       else if (pd.unknown_fname != 0)
 	{
 	  ret = tstr_to_local_file_format (pd.unknown_fname);
-	  xfree (pd.unknown_fname, Extbyte *);
+	  xfree (pd.unknown_fname);
 	}
       else while (1)
 	signal_quit ();
--- a/src/dialog-x.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/dialog-x.c	Thu Feb 04 07:28:14 2010 -0600
@@ -207,7 +207,7 @@
 	  {
 	    allow_text_p = 0;	 /* only allow text field at the front */
 	    if (wv->value)
-	      xfree (wv->value, char *);
+	      xfree (wv->value);
 	    wv->value = wv->name;	/* what a mess... */
 	    wv->name = xstrdup (button_names [n]);
 
--- a/src/dired-msw.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/dired-msw.c	Thu Feb 04 07:28:14 2010 -0600
@@ -587,7 +587,7 @@
   for (i = 0; i < Dynarr_length (files); ++i)
     {
       Win32_file *file = Dynarr_atp (files, i);
-      xfree (file->cFileName, Ibyte *);
+      xfree (file->cFileName);
     }
   Dynarr_free (files);
 
--- a/src/dired.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/dired.c	Thu Feb 04 07:28:14 2010 -0600
@@ -578,8 +578,8 @@
 {
   int i;
   for (i = 0; i < cache->length; i++)
-    xfree (cache->user_names[i].ptr, Ibyte *);
-  xfree (cache->user_names, struct user_name *);
+    xfree (cache->user_names[i].ptr);
+  xfree (cache->user_names);
   xzero (*cache);
 }
 
--- a/src/doc.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/doc.c	Thu Feb 04 07:28:14 2010 -0600
@@ -289,7 +289,7 @@
     }
   UNGCPRO;
   if (buffer != buf) /* We must have allocated buffer above */
-    xfree (buffer, Ibyte *);
+    xfree (buffer);
   return return_me;
 }
 
@@ -1282,7 +1282,7 @@
     tem = make_string (buf, bufp - buf);
   else
     tem = string;
-  xfree (buf, Ibyte *);
+  xfree (buf);
   UNGCPRO;
   return tem;
 }
--- a/src/doprnt.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/doprnt.c	Thu Feb 04 07:28:14 2010 -0600
@@ -754,7 +754,7 @@
 			    strlen ((const char *) text_to_print),
 			    spec->minwidth, -1, spec->minus_flag,
 			    spec->zero_flag);
-		  xfree (text_to_print, Ibyte *);
+		  xfree (text_to_print);
 		}
 #endif
 #ifdef HAVE_RATIO
@@ -766,7 +766,7 @@
 			    strlen ((const char *) text_to_print),
 			    spec->minwidth, -1, spec->minus_flag,
 			    spec->zero_flag);
-		  xfree (text_to_print, Ibyte *);
+		  xfree (text_to_print);
 		}
 #endif
 	    }
@@ -779,7 +779,7 @@
 	      doprnt_2 (stream, text_to_print,
 			strlen ((const char *) text_to_print),
 			spec->minwidth, -1, spec->minus_flag, spec->zero_flag);
-	      xfree (text_to_print, Ibyte *);
+	      xfree (text_to_print);
 	    }
 #endif /* HAVE_BIGFLOAT */
           else if (ch == 'b')
--- a/src/dumper.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/dumper.c	Thu Feb 04 07:28:14 2010 -0600
@@ -2402,7 +2402,7 @@
     }
 
 #ifdef NEW_GC
-  xfree (pdump_mc_hash, mc_addr_elt *);
+  xfree (pdump_mc_hash);
 #endif /* NEW_GC */
 
 #ifdef NEW_GC
@@ -2518,7 +2518,7 @@
 static void
 pdump_file_free (void)
 {
-  xfree (pdump_start, Rawbyte *);
+  xfree (pdump_start);
 }
 
 #ifdef HAVE_MMAP
--- a/src/dynarr.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/dynarr.c	Thu Feb 04 07:28:14 2010 -0600
@@ -287,18 +287,18 @@
   if (dy->base && !DUMPEDP (dy->base))
     {
       if (!dy->lisp_imp)
-	xfree (dy->base, void *);
+	xfree (dy->base);
     }
   if(!DUMPEDP (dy))
     {
       if (!dy->lisp_imp)
-	xfree (dy, Dynarr *);
+	xfree (dy);
     }
 #else /* not NEW_GC */
   if (dy->base && !DUMPEDP (dy->base))
-    xfree (dy->base, void *);
+    xfree (dy->base);
   if(!DUMPEDP (dy))
-    xfree (dy, Dynarr *);
+    xfree (dy);
 #endif /* not NEW_GC */
 }
 
--- a/src/editfns.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/editfns.c	Thu Feb 04 07:28:14 2010 -0600
@@ -831,7 +831,7 @@
 uncache_home_directory (void)
 {
   if (cached_home_directory)
-    xfree (cached_home_directory, Ibyte *);
+    xfree (cached_home_directory);
   cached_home_directory = NULL;
 }
 
@@ -1439,7 +1439,7 @@
 
   set_time_zone_rule (tzstring);
   if (environbuf)
-    xfree (environbuf, Extbyte **);
+    xfree (environbuf);
   environbuf = environ;
 
   return Qnil;
--- a/src/elhash.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/elhash.c	Thu Feb 04 07:28:14 2010 -0600
@@ -417,7 +417,7 @@
 #endif
 
   if (!DUMPEDP (hentries))
-    xfree (hentries, htentry *);
+    xfree (hentries);
 }
 
 static void
@@ -1128,7 +1128,7 @@
   memcpy (ht->hentries, new_entries, ht->size * sizeof (htentry));
 
 #ifndef NEW_GC
-  xfree (new_entries, htentry *);
+  xfree (new_entries);
 #endif /* not NEW_GC */
 }
 
@@ -1423,7 +1423,7 @@
 maphash_unwind (Lisp_Object unwind_obj)
 {
   void *ptr = (void *) get_opaque_ptr (unwind_obj);
-  xfree (ptr, void *);
+  xfree (ptr);
   free_opaque_ptr (unwind_obj);
   return Qnil;
 }
--- a/src/emacs.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/emacs.c	Thu Feb 04 07:28:14 2010 -0600
@@ -714,7 +714,7 @@
 	      full_exe_path = mswindows_get_module_file_name ();
 	      assert (full_exe_path);
 	      fullpath = build_tstr_string (full_exe_path);
-	      xfree (full_exe_path, Extbyte *);
+	      xfree (full_exe_path);
 	      result = Fcons (fullpath, result);
 	    }
 	  else
@@ -761,10 +761,10 @@
 
   while (argv[elt])
     {
-      xfree (argv[elt], Wexttext *);
+      xfree (argv[elt]);
       elt++;
     }
-  xfree (argv, Wexttext **);
+  xfree (argv);
 }
 
 static void
@@ -2920,9 +2920,9 @@
     }
 
   memcpy (argv, new_argv, sizeof (Wexttext *) * argc);
-  xfree (new_argv, Wexttext **);
-  xfree (options, int *);
-  xfree (priority, int *);
+  xfree (new_argv);
+  xfree (options);
+  xfree (priority);
 }
 
 DEFUN ("running-temacs-p", Frunning_temacs_p, 0, 0, 0, /*
--- a/src/emodules.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/emodules.c	Thu Feb 04 07:28:14 2010 -0600
@@ -256,10 +256,10 @@
 {
   if (dll_close (modules[mod].dlhandle) == 0)
     {
-      xfree (modules[mod].soname, Ibyte *);
-      xfree (modules[mod].modname, Ibyte *);
-      xfree (modules[mod].modver, Ibyte *);
-      xfree (modules[mod].modtitle, Ibyte *);
+      xfree (modules[mod].soname);
+      xfree (modules[mod].modname);
+      xfree (modules[mod].modver);
+      xfree (modules[mod].modtitle);
       modules[mod].dlhandle = 0;
       modules[mod].used = 0;
     }
--- a/src/eval.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/eval.c	Thu Feb 04 07:28:14 2010 -0600
@@ -6803,7 +6803,7 @@
 static Lisp_Object
 free_pointer (Lisp_Object opaque)
 {
-  xfree (get_opaque_ptr (opaque), void *);
+  xfree (get_opaque_ptr (opaque));
   free_opaque_ptr (opaque);
   return Qnil;
 }
--- a/src/event-Xt.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/event-Xt.c	Thu Feb 04 07:28:14 2010 -0600
@@ -2189,7 +2189,7 @@
 	}
     }
   XtRemoveInput (closure->id);
-  xfree (closure, struct what_is_ready_closure *);
+  xfree (closure);
   filedesc_to_what_closure[fd] = 0;
 }
 
--- a/src/event-gtk.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/event-gtk.c	Thu Feb 04 07:28:14 2010 -0600
@@ -788,7 +788,7 @@
 	}
     }
   gdk_input_remove (closure->id);
-  xfree (closure, struct what_is_ready_closure *);
+  xfree (closure);
   filedesc_to_what_closure[fd] = 0;
 }
 
@@ -1029,7 +1029,7 @@
       l_dndlist = list1 (make_string ((Ibyte *)hurl, strlen (hurl)));
       l_type = Qdragdrop_URL;
 
-      xfree (hurl, char *);
+      xfree (hurl);
     }
   else if (data->type == preferred_targets[TARGET_NETSCAPE])
     {
--- a/src/event-msw.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/event-msw.c	Thu Feb 04 07:28:14 2010 -0600
@@ -832,7 +832,7 @@
 
   if (str->buffer)
     {
-      xfree (str->buffer, void *);
+      xfree (str->buffer);
       str->buffer = 0;
     }
 
@@ -2119,7 +2119,7 @@
 	       they don't allow relative paths at all!  this is way bogus. */
 	    cmd = urlify_filename (cmd);
 	    l_dndlist = build_istring (cmd);
-	    xfree (cmd, Ibyte *);
+	    xfree (cmd);
 	  }
 	  GCPRO2 (emacs_event, l_dndlist);
 
@@ -2750,7 +2750,7 @@
 				((LCID) GetKeyboardLayout (0) & 0xFFFF),
 				NULL));
 		    ch = itext_ichar (intchar);
-		    xfree (intchar, Ibyte *);
+		    xfree (intchar);
 		  }
 
 #ifdef DEBUG_XEMACS
@@ -2895,7 +2895,7 @@
 
 				XSET_EVENT_KEY_ALT_KEYCHARS
 				  (lastev, i, itext_ichar (intchar));
-				xfree (intchar, Ibyte *);
+				xfree (intchar);
 			      }
 			  }
 		      }
@@ -3415,8 +3415,7 @@
 		   * recursion here. */
 		  if (FRAME_MSWINDOWS_TARGET_RECT (frame))
 		    {
-		      xfree (FRAME_MSWINDOWS_TARGET_RECT (frame),
-			     XEMACS_RECT_WH *);
+		      xfree (FRAME_MSWINDOWS_TARGET_RECT (frame));
 		      FRAME_MSWINDOWS_TARGET_RECT (frame) = 0;
 		    }
 		}
@@ -3736,9 +3735,9 @@
 	    {
 	      Ibyte *fname2 = urlify_filename (fname);
 	      l_item = build_istring (fname2);
-	      xfree (fname2, Ibyte *);
+	      xfree (fname2);
 	      if (freeme)
-		xfree (fname, Ibyte *);
+		xfree (fname);
 	      l_dndlist = Fcons (l_item, l_dndlist);
 	    }
 	  }
--- a/src/event-stream.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/event-stream.c	Thu Feb 04 07:28:14 2010 -0600
@@ -363,7 +363,7 @@
       struct command_builder *b = (struct command_builder *) header;
       if (b->echo_buf)
 	{
-	  xfree (b->echo_buf, Ibyte *);
+	  xfree (b->echo_buf);
 	  b->echo_buf = 0;
 	}
     }
@@ -463,7 +463,7 @@
 {
   if (builder->echo_buf)
     {
-      xfree (builder->echo_buf, Ibyte *);
+      xfree (builder->echo_buf);
       builder->echo_buf = NULL;
     }
 #ifdef NEW_GC
--- a/src/extents.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/extents.c	Thu Feb 04 07:28:14 2010 -0600
@@ -770,7 +770,7 @@
 free_gap_array (Gap_Array *ga)
 {
   gap_array_delete_all_markers (ga);
-  xfree (ga, Gap_Array *);
+  xfree (ga);
 }
 #endif /* not NEW_GC */
 
@@ -993,7 +993,7 @@
 {
   free_gap_array (el->start);
   free_gap_array (el->end);
-  xfree (el, Extent_List *);
+  xfree (el);
 }
 #endif /* not NEW_GC */
 
@@ -1815,7 +1815,7 @@
 free_soe (struct stack_of_extents *soe)
 {
   free_extent_list (soe->extents);
-  xfree (soe, struct stack_of_extents *);
+  xfree (soe);
 }
 #endif /* not NEW_GC */
 
@@ -2929,7 +2929,7 @@
   Dynarr_free (ef->extents);
   Dynarr_free (ef->begin_glyphs);
   Dynarr_free (ef->end_glyphs);
-  xfree (ef, struct extent_fragment *);
+  xfree (ef);
 }
 
 static int
--- a/src/file-coding.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/file-coding.c	Thu Feb 04 07:28:14 2010 -0600
@@ -1208,7 +1208,7 @@
 							  (name_or_existing))),
 			      ++coding_system_tick);
       name_or_existing = intern_istring (newname);
-      xfree (newname, Ibyte *);
+      xfree (newname);
       
       if (UNBOUNDP (description))
 	{
@@ -1217,12 +1217,12 @@
 	      (NULL, "For Internal Use (%s)",
 	       XSTRING_DATA (Fsymbol_name (name_or_existing)));
 	  description = build_istring (newname);
-	  xfree (newname, Ibyte *);
+	  xfree (newname);
 	}
 
       newname = emacs_sprintf_malloc (NULL, "Int%d", coding_system_tick);
       defmnem = build_istring (newname);
-      xfree (newname, Ibyte *);
+      xfree (newname);
     }
   else
     CHECK_SYMBOL (name_or_existing);
@@ -1372,7 +1372,7 @@
 	     ++coding_system_tick);
 	Lisp_Object newnamesym = intern_istring (newname);
 	Lisp_Object copied = Fcopy_coding_system (csobj, newnamesym);
-	xfree (newname, Ibyte *);
+	xfree (newname);
 	
 	XCODING_SYSTEM_CANONICAL (csobj) =
 	  make_internal_coding_system
@@ -2053,7 +2053,7 @@
   MAYBE_XCODESYSMETH (str->codesys, finalize_coding_stream, (str));
   if (str->data)
     {
-      xfree (str->data, void *);
+      xfree (str->data);
       str->data = 0;
     }
   str->finalized = 1;
@@ -2112,7 +2112,7 @@
   
   if (str->data)
     {
-      xfree (str->data, void *);
+      xfree (str->data);
       str->data = 0;
     }
   if (XCODING_SYSTEM_METHODS (str->codesys)->coding_data_size)
@@ -2719,7 +2719,7 @@
 	  for (i = 0; i < data->lstream_count; i++)
 	    Lstream_delete (XLSTREAM ((data->lstreams)[i]));
 	}
-      xfree (data->lstreams, Lisp_Object *);
+      xfree (data->lstreams);
     }
 }
 
@@ -2733,7 +2733,7 @@
 chain_finalize (Lisp_Object c)
 {
   if (XCODING_SYSTEM_CHAIN_CHAIN (c))
-    xfree (XCODING_SYSTEM_CHAIN_CHAIN (c), Lisp_Object *);
+    xfree (XCODING_SYSTEM_CHAIN_CHAIN (c));
 }
 
 static int
@@ -3360,7 +3360,7 @@
 	  (st);
     }
 
-  xfree (st, struct detection_state *);
+  xfree (st);
 }
 
 static int
--- a/src/fileio.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/fileio.c	Thu Feb 04 07:28:14 2010 -0600
@@ -416,7 +416,7 @@
 	  return Qnil;
 	}
       if (wd)
-	xfree (wd, Ibyte *);
+	xfree (wd);
     }
 
 #if 0 /* No! This screws up efs, which calls file-name-directory on URL's
@@ -959,7 +959,7 @@
 		      XSTRING_DATA (name)[1] = ':';
 		    }
 		}
-	      xfree (newnm, Ibyte *);
+	      xfree (newnm);
 	      RETURN_UNGCPRO_EXIT_PROFILING (QSin_expand_file_name, name);
 	    }
 #endif /* WIN32_FILENAMES */
@@ -1072,7 +1072,7 @@
 	  if (newcwd)
 	    {
 	      IBYTE_STRING_TO_ALLOCA (newcwd, newdir);
-	      xfree (newcwd, Ibyte *);
+	      xfree (newcwd);
 	    }
 	  else
 	    newdir = NULL;
@@ -1158,7 +1158,7 @@
 	      if (newcwd)
 		{
 		  IBYTE_STRING_TO_ALLOCA (newcwd, newdir);
-		  xfree (newcwd, Ibyte *);
+		  xfree (newcwd);
 		}
 	      else
 #endif
@@ -1333,7 +1333,7 @@
   {
     Ibyte *newtarget = mswindows_canonicalize_filename (target);
     Lisp_Object result = build_istring (newtarget);
-    xfree (newtarget, Ibyte *);
+    xfree (newtarget);
 
     RETURN_UNGCPRO_EXIT_PROFILING (QSin_expand_file_name, result);
   }
@@ -2569,16 +2569,16 @@
 			      buf, bufsize);
       if (valsize < bufsize) break;
       /* Buffer was not long enough */
-      xfree (buf, Ibyte *);
+      xfree (buf);
       bufsize *= 2;
     }
   if (valsize == -1)
     {
-      xfree (buf, Ibyte *);
+      xfree (buf);
       return Qnil;
     }
   val = make_string (buf, valsize);
-  xfree (buf, Ibyte *);
+  xfree (buf);
   return val;
 #elif defined (WIN32_NATIVE)
   if (mswindows_shortcuts_are_symlinks)
@@ -2608,7 +2608,7 @@
 	return Qnil;
       {
 	Lisp_Object val = build_istring (fname);
-	xfree (fname, Ibyte *);
+	xfree (fname);
 	return val;
       }
     }
--- a/src/filelock.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/filelock.c	Thu Feb 04 07:28:14 2010 -0600
@@ -95,8 +95,8 @@
 
 /* Free the two dynamically-allocated pieces in PTR.  */
 #define FREE_LOCK_INFO(i) do {			\
-    xfree ((i).user, Ibyte *);			\
-    xfree ((i).host, Ibyte *);			\
+    xfree ((i).user);			\
+    xfree ((i).host);			\
   } while (0)
 
 /* Write the name of the lock file for FN into LFNAME.  Length will be that
@@ -193,7 +193,7 @@
   /* If nonexistent lock file, all is well; otherwise, got strange error. */
   if (len == -1)
     {
-      xfree (lfinfo, Ibyte *);
+      xfree (lfinfo);
       return errno == ENOENT ? 0 : -1;
     }
 
@@ -213,7 +213,7 @@
   at = qxestrchr (lfinfo, '@');
   dot = qxestrrchr (lfinfo, '.');
   if (!at || !dot) {
-    xfree (lfinfo, Ibyte *);
+    xfree (lfinfo);
     return -1;
   }
   len = at - lfinfo;
@@ -231,7 +231,7 @@
   owner->host[len] = 0;
 
   /* We're done looking at the link info.  */
-  xfree (lfinfo, Ibyte *);
+  xfree (lfinfo);
 
   /* On current host?  */
   if (STRINGP (Fsystem_name ())
--- a/src/font-mgr.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/font-mgr.c	Thu Feb 04 07:28:14 2010 -0600
@@ -265,7 +265,7 @@
   CHECK_FCPATTERN(pattern);
   name = FcNameUnparse (XFCPATTERN_PTR (pattern));
   result = build_fcapi_string (name);
-  xfree (name, FcChar8 *);
+  xfree (name);
   return result;
 }
 
--- a/src/frame-gtk.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/frame-gtk.c	Thu Feb 04 07:28:14 2010 -0600
@@ -1355,9 +1355,9 @@
     gtk_widget_destroy (w);
 
     if (FRAME_GTK_GEOM_FREE_ME_PLEASE (f))
-	xfree (FRAME_GTK_GEOM_FREE_ME_PLEASE (f), char *);
+	xfree (FRAME_GTK_GEOM_FREE_ME_PLEASE (f));
 #ifndef NEW_GC
-    xfree (f->frame_data, void *);
+    xfree (f->frame_data);
 #endif /* not NEW_GC */
     f->frame_data = 0;
 }
--- a/src/frame-msw.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/frame-msw.c	Thu Feb 04 07:28:14 2010 -0600
@@ -365,7 +365,7 @@
       ReleaseDC (FRAME_MSWINDOWS_HANDLE (f), FRAME_MSWINDOWS_DC (f));
       DestroyWindow (FRAME_MSWINDOWS_HANDLE (f));
 #ifndef NEW_GC
-      xfree (f->frame_data, void *);
+      xfree (f->frame_data);
 #endif /* not NEW_GC */
     }
   f->frame_data = 0;
@@ -1034,7 +1034,7 @@
 	EndPage (hdc);
       if (FRAME_MSPRINTER_JOB_STARTED (f))
 	EndDoc (hdc);
-      xfree (f->frame_data, void *);
+      xfree (f->frame_data);
     }
 
   f->frame_data = 0;
--- a/src/frame-x.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/frame-x.c	Thu Feb 04 07:28:14 2010 -0600
@@ -1131,7 +1131,7 @@
     }
 
   /* free the data string */
-  xfree (clientData, XtPointer);
+  xfree (clientData);
 
   CurrentDragWidget = NULL;
 }
@@ -1229,7 +1229,7 @@
 		    dnd_destroy_cb_rec,
 		    NULL, 0);
 
-  xfree (dnd_data, Extbyte *);
+  xfree (dnd_data);
 
   return num_items ? Qt : Qnil;
 }
@@ -1275,7 +1275,7 @@
 
 	  hurl = dnd_url_hexify_string (fileint, "file:");
 	  l_data = Fcons (build_istring (hurl), l_data);
-	  xfree (hurl, Ibyte *);
+	  xfree (hurl);
 	}
     }
   else if (transferInfo->dropData->protocol == DtDND_BUFFER_TRANSFER)
@@ -2642,14 +2642,14 @@
 
   if (FRAME_X_GEOM_FREE_ME_PLEASE (f))
     {
-      xfree (FRAME_X_GEOM_FREE_ME_PLEASE (f), Ascbyte *);
+      xfree (FRAME_X_GEOM_FREE_ME_PLEASE (f));
       FRAME_X_GEOM_FREE_ME_PLEASE (f) = 0;
     }
 
   if (f->frame_data)
     {
 #ifndef NEW_GC
-      xfree (f->frame_data, void *);
+      xfree (f->frame_data);
 #endif /* not NEW_GC */
       f->frame_data = 0;
     }
--- a/src/frame.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/frame.c	Thu Feb 04 07:28:14 2010 -0600
@@ -3541,7 +3541,7 @@
       if (!EQ (icon_format, title_format) || !title)
 	{
 	  if (title)
-	    xfree (title, Ibyte *);
+	    xfree (title);
 
 	  title = generate_title_string (w, icon_format,
 					 DEFAULT_INDEX, CURRENT_DISP);
@@ -3550,7 +3550,7 @@
     }
 
   if (title)
-    xfree (title, Ibyte *);
+    xfree (title);
 }
 
 
--- a/src/gc.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/gc.c	Thu Feb 04 07:28:14 2010 -0600
@@ -1377,7 +1377,7 @@
       finalize_elem *temp = rest;
       Vfinalizers_to_run = Fcons (rest->obj, Vfinalizers_to_run);
       Vall_finalizable_objs = rest->next;
-      xfree (temp, finalize_elem *);
+      xfree (temp);
       rest = Vall_finalizable_objs;
     }
 
@@ -1389,7 +1389,7 @@
 	  finalize_elem *temp = rest->next;
 	  Vfinalizers_to_run = Fcons (rest->next->obj, Vfinalizers_to_run);
 	  rest->next = rest->next->next;
-	  xfree (temp, finalize_elem *);
+	  xfree (temp);
 	}
       else
 	{
--- a/src/gccache-gtk.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/gccache-gtk.c	Thu Feb 04 07:28:14 2010 -0600
@@ -141,13 +141,13 @@
     {
       gdk_gc_destroy(rest->gc);
       next = rest->next;
-      xfree (rest, struct gc_cache_cell *);
+      xfree (rest);
       rest = next;
     }
 #ifdef GCCACHE_HASH
   free_hash_table (cache->table);
 #endif
-  xfree (cache, struct gc_cache *);
+  xfree (cache);
 }
 
 GdkGC *
--- a/src/gccache-x.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/gccache-x.c	Thu Feb 04 07:28:14 2010 -0600
@@ -138,13 +138,13 @@
     {
       XFreeGC (cache->dpy, rest->gc);
       next = rest->next;
-      xfree (rest, struct gc_cache_cell *);
+      xfree (rest);
       rest = next;
     }
 #ifdef GCCACHE_HASH
   free_hash_table (cache->table);
 #endif
-  xfree (cache, struct gc_cache *);
+  xfree (cache);
 }
 
 GC
--- a/src/glyphs-eimage.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/glyphs-eimage.c	Thu Feb 04 07:28:14 2010 -0600
@@ -173,7 +173,7 @@
     retry_fclose (data->instream);
 
   if (data->eimage)
-    xfree (data->eimage, Binbyte *);
+    xfree (data->eimage);
 
   return Qnil;
 }
@@ -573,7 +573,7 @@
       FreeSavedImages(data->giffile);
     }
   if (data->eimage)
-    xfree (data->eimage, Binbyte *);
+    xfree (data->eimage);
 
   return Qnil;
 }
@@ -874,7 +874,7 @@
     retry_fclose (data->instream);
 
   if (data->eimage)
-    xfree(data->eimage, Binbyte *);
+    xfree (data->eimage);
 
   return Qnil;
 }
@@ -1070,7 +1070,7 @@
 	}
     }
 
-    xfree (row_pointers, Binbyte **);
+    xfree (row_pointers);
   }
 
   /* now instantiate */
@@ -1130,7 +1130,7 @@
       TIFFClose(data->tiff);
     }
   if (data->eimage)
-    xfree (data->eimage, Binbyte *);
+    xfree (data->eimage);
 
   return Qnil;
 }
--- a/src/glyphs-gtk.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/glyphs-gtk.c	Thu Feb 04 07:28:14 2010 -0600
@@ -268,7 +268,7 @@
 #endif
 	    }
 	}
-      xfree(qtable, quant_table *);
+      xfree (qtable);
     } else {
       unsigned long rshift,gshift,bshift,rbits,gbits,bbits,junk;
       junk = vis->red_mask;
@@ -422,7 +422,7 @@
 		    gdk_pixmap_unref (IMAGE_INSTANCE_GTK_PIXMAP_SLICE (p,i));
 		    IMAGE_INSTANCE_GTK_PIXMAP_SLICE (p, i) = 0;
 		  }
-	      xfree (IMAGE_INSTANCE_GTK_PIXMAP_SLICES (p), GdkPixmap **);
+	      xfree (IMAGE_INSTANCE_GTK_PIXMAP_SLICES (p));
 	      IMAGE_INSTANCE_GTK_PIXMAP_SLICES (p) = 0;
 	    }
 
@@ -450,11 +450,11 @@
       && IMAGE_INSTANCE_TYPE (p) != IMAGE_SUBWINDOW
       && IMAGE_INSTANCE_GTK_PIXELS (p))
     {
-      xfree (IMAGE_INSTANCE_GTK_PIXELS (p), unsigned long *);
+      xfree (IMAGE_INSTANCE_GTK_PIXELS (p));
       IMAGE_INSTANCE_GTK_PIXELS (p) = 0;
     }
 
-  xfree (p->data, void *);
+  xfree (p->data);
   p->data = 0;
 }
 
@@ -907,7 +907,7 @@
       if (!gdk_image)
 	{
 	  if (pixtbl)
-	    xfree (pixtbl, unsigned long *);
+	    xfree (pixtbl);
 	  signal_image_error("EImage to GdkImage conversion failed", instantiator);
 	}
 
@@ -1302,7 +1302,7 @@
   }
 
   if (color_symbols)
-    xfree (color_symbols, struct color_symbol *);
+    xfree (color_symbols);
 
   if (!pixmap)
     signal_image_error ("Error reading pixmap", data);
--- a/src/glyphs-msw.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/glyphs-msw.c	Thu Feb 04 07:28:14 2010 -0600
@@ -202,7 +202,7 @@
 
       if (!bmp_data)
 	{
-	  xfree (bmp_info, BITMAPINFO *);
+	  xfree (bmp_info);
 	  return NULL;
 	}
 
@@ -233,7 +233,7 @@
 					     sizeof(RGBQUAD) * ncolors);
       if (!bmp_info)
 	{
-	  xfree (qtable, quant_table *);
+	  xfree (qtable);
 	  return NULL;
 	}
 
@@ -251,8 +251,8 @@
 
       if (!*bmp_data)
 	{
-	  xfree (qtable, quant_table *);
-	  xfree (bmp_info, BITMAPINFO *);
+	  xfree (qtable);
+	  xfree (bmp_info);
 	  return NULL;
 	}
 
@@ -279,7 +279,7 @@
 	      *dp++ = QUANT_GET_COLOR (qtable,rd,gr,bl);
 	    }
 	}
-      xfree (qtable, quant_table *);
+      xfree (qtable);
     }
   /* fix up the standard stuff */
   bmp_info->bmiHeader.biWidth = width;
@@ -474,8 +474,8 @@
 	image_instance_add_dibitmap (ii, bmp_info, bmp_data, bmp_bits, slice,
 				     instantiator);
 
-      xfree (bmp_info, BITMAPINFO *);
-      xfree (bmp_data, Binbyte *);
+      xfree (bmp_info);
+      xfree (bmp_data);
     }
 }
 
@@ -543,7 +543,7 @@
 				 (void **) (void *) &and_bits,
 				 0,0)))
     {
-      xfree (bmp_info, BITMAPINFO *);
+      xfree (bmp_info);
       return;
     }
 
@@ -570,7 +570,7 @@
 		 bmp_info,
 		 DIB_RGB_COLORS) <= 0)
     {
-      xfree (bmp_info, BITMAPINFO *);
+      xfree (bmp_info);
       return;
     }
 
@@ -602,8 +602,8 @@
 	     bmp_info,
 	     DIB_RGB_COLORS);
 
-  xfree (bmp_info, BITMAPINFO *);
-  xfree (dibits, Binbyte *);
+  xfree (bmp_info);
+  xfree (dibits);
 
   SelectObject(hcdc, old);
 
@@ -854,7 +854,7 @@
   colortbl = xnew_array_and_zero (COLORREF, xpmimage.ncolors);
   if (!colortbl)
     {
-      xfree (*data, Binbyte *);
+      xfree (*data);
       XpmFreeXpmImage (&xpmimage);
       XpmFreeXpmInfo (&xpminfo);
       return 0;
@@ -910,8 +910,8 @@
 	}
 
     label_no_color:
-      xfree (*data, Binbyte *);
-      xfree (colortbl, COLORREF *);
+      xfree (*data);
+      xfree (colortbl);
       XpmFreeXpmImage (&xpmimage);
       XpmFreeXpmInfo (&xpminfo);
       return 0;
@@ -937,7 +937,7 @@
 
   XpmFreeXpmImage (&xpmimage);
   XpmFreeXpmInfo (&xpminfo);
-  xfree (colortbl, COLORREF *);
+  xfree (colortbl);
   return TRUE;
 }
 
@@ -988,9 +988,9 @@
     {
       while (nsymbols--)
 	{
-	  xfree (color_symbols[nsymbols].name, Ibyte *);
+	  xfree (color_symbols[nsymbols].name);
 	}
-      xfree(color_symbols, struct color_symbol *);
+      xfree (color_symbols);
     }
 
   /* build a bitmap from the eimage */
@@ -1000,15 +1000,15 @@
       signal_image_error ("XPM to EImage conversion failed",
 			  image_instance);
     }
-  xfree (eimage, Binbyte *);
+  xfree (eimage);
 
   /* Now create the pixmap and set up the image instance */
   init_image_instance_from_dibitmap (ii, bmp_info, dest_mask,
 				     bmp_data, bmp_bits, 1, instantiator,
 				     x_hot, y_hot, transp);
 
-  xfree (bmp_info, BITMAPINFO *);
-  xfree (bmp_data, Binbyte *);
+  xfree (bmp_info);
+  xfree (bmp_data);
 }
 #endif /* HAVE_XPM */
 
@@ -1361,7 +1361,7 @@
 
   if (!new_data)
     {
-      xfree (bmp_info, BITMAPINFO *);
+      xfree (bmp_info);
       return NULL;
     }
 
@@ -1412,17 +1412,17 @@
 			     &bmp_buf,
 			     0,0);
 
-  xfree (bmp_info, BITMAPINFO *);
+  xfree (bmp_info);
 
   if (!bitmap || !bmp_buf)
     {
-      xfree (new_data, Binbyte *);
+      xfree (new_data);
       return NULL;
     }
 
   /* copy in the actual bitmap */
   memcpy (bmp_buf, new_data, height * new_width);
-  xfree (new_data, Binbyte *);
+  xfree (new_data);
 
   return bitmap;
 }
@@ -1784,7 +1784,7 @@
 		    DeleteObject (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE (p, i));
 		  IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE (p, i) = 0;
 		}
-	      xfree (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES (p), HBITMAP *);
+	      xfree (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES (p));
 	      IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES (p) = 0;
 	    }
 	  if (IMAGE_INSTANCE_MSWINDOWS_MASK (p))
@@ -1798,7 +1798,7 @@
 
   if (p->data)
     {
-      xfree (p->data, void *);
+      xfree (p->data);
       p->data = 0;
     }
 }
--- a/src/glyphs-x.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/glyphs-x.c	Thu Feb 04 07:28:14 2010 -0600
@@ -272,7 +272,7 @@
 #endif
 	    }
 	}
-      xfree (qtable, quant_table *);
+      xfree (qtable);
     } else {
       unsigned long rshift,gshift,bshift,rbits,gbits,bbits,junk;
       junk = vis->red_mask;
@@ -438,7 +438,7 @@
 		    XFreePixmap (dpy, IMAGE_INSTANCE_X_PIXMAP_SLICE (p,i));
 		    IMAGE_INSTANCE_X_PIXMAP_SLICE (p, i) = 0;
 		  }
-	      xfree (IMAGE_INSTANCE_X_PIXMAP_SLICES (p), Pixmap *);
+	      xfree (IMAGE_INSTANCE_X_PIXMAP_SLICES (p));
 	      IMAGE_INSTANCE_X_PIXMAP_SLICES (p) = 0;
 	    }
 
@@ -466,11 +466,11 @@
       && IMAGE_INSTANCE_TYPE (p) != IMAGE_SUBWINDOW
       && IMAGE_INSTANCE_X_PIXELS (p))
     {
-      xfree (IMAGE_INSTANCE_X_PIXELS (p), unsigned long *);
+      xfree (IMAGE_INSTANCE_X_PIXELS (p));
       IMAGE_INSTANCE_X_PIXELS (p) = 0;
     }
 
-  xfree (p->data, void *);
+  xfree (p->data);
   p->data = 0;
 }
 
@@ -1033,7 +1033,7 @@
       if (!ximage)
 	{
 	  if (pixtbl)
-	    xfree (pixtbl, unsigned long *);
+	    xfree (pixtbl);
 	  signal_image_error ("EImage to XImage conversion failed",
 			      instantiator);
 	}
@@ -1051,7 +1051,7 @@
 	{
 	  if (ximage->data)
 	    {
-	      xfree (ximage->data, char *);
+	      xfree (ximage->data);
 	      ximage->data = 0;
 	    }
 	  XDestroyImage (ximage);
@@ -1474,8 +1474,8 @@
       int i;
 
       for (i = 0; i < (int) xpmattrs.numsymbols; i++)
-	xfree (color_symbols[i].name, char *);
-      xfree (color_symbols, XpmColorSymbol *);
+	xfree (color_symbols[i].name);
+      xfree (color_symbols);
       xpmattrs.colorsymbols = 0; /* in case XpmFreeAttr is too smart... */
       xpmattrs.numsymbols = 0;
     }
--- a/src/gui-x.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/gui-x.c	Thu Feb 04 07:28:14 2010 -0600
@@ -198,9 +198,9 @@
 free_popup_widget_value_tree (widget_value *wv)
 {
   if (! wv) return;
-  if (wv->key) xfree (wv->key, char *);
-  if (wv->value) xfree (wv->value, char *);
-  if (wv->name) xfree (wv->name, char *);
+  if (wv->key) xfree (wv->key);
+  if (wv->value) xfree (wv->value);
+  if (wv->name) xfree (wv->name);
 
   wv->name = wv->value = wv->key = (char *) 0xDEADBEEF; /* -559038737 base 10*/
 
--- a/src/hash.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/hash.c	Thu Feb 04 07:28:14 2010 -0600
@@ -174,8 +174,8 @@
 void
 free_hash_table (struct hash_table *hash_table)
 {
-  xfree (hash_table->harray, hentry *);
-  xfree (hash_table, struct hash_table *);
+  xfree (hash_table->harray);
+  xfree (hash_table);
 }
 
 struct hash_table *
@@ -224,7 +224,7 @@
     rehash (old_harray, hash_table, old_size);
   }
 
-  xfree (old_harray, hentry *);
+  xfree (old_harray);
 }
 
 void
--- a/src/imgproc.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/imgproc.c	Thu Feb 04 07:28:14 2010 -0600
@@ -536,7 +536,7 @@
   qt->num_active_colors = i;
 
   /* We're done with the boxes now */
-  xfree (box_list, Colorbox *);
+  xfree (box_list);
   qt->freeboxes = qt->usedboxes = NULL;
 
   /*
@@ -551,13 +551,13 @@
   /* 5c: done with ColorCells */
   for (i = 0; i < C_LEN*C_LEN*C_LEN; i++)
     if (qt->ColorCells[i])
-      xfree (qt->ColorCells[i], C_cell *);
-  xfree (qt->ColorCells, C_cell **);
+      xfree (qt->ColorCells[i]);
+  xfree (qt->ColorCells);
   
   if (res)
     {
       /* we failed in memory allocation, so clean up and leave */
-      xfree(qt, quant_table *);
+      xfree (qt);
       return NULL;
     }
   
--- a/src/insdel.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/insdel.c	Thu Feb 04 07:28:14 2010 -0600
@@ -1838,9 +1838,9 @@
   if (!b->base_buffer)
     {
       BUFFER_FREE (b->text->beg);
-      xfree (b->text->changes, struct buffer_text_change_data *);
+      xfree (b->text->changes);
     }
-  xfree (b->changes, struct each_buffer_change_data *);
+  xfree (b->changes);
 
 #ifdef REGION_CACHE_NEEDS_WORK
   if (b->newline_cache)
--- a/src/intl-win32.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/intl-win32.c	Thu Feb 04 07:28:14 2010 -0600
@@ -1941,7 +1941,7 @@
   TO_INTERNAL_FORMAT (DATA, (unidata, size), MALLOC, (intdata, size),
 		      Qmswindows_unicode);
 
-  xfree (unidata, Extbyte *);
+  xfree (unidata);
 
   if (size_out)
     *size_out = size;
--- a/src/intl.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/intl.c	Thu Feb 04 07:28:14 2010 -0600
@@ -93,7 +93,7 @@
 #endif
 
   str = build_extstring (loc, Qctext);
-  xfree (loc, Extbyte *);
+  xfree (loc);
   return str;
 }
 
--- a/src/keymap.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/keymap.c	Thu Feb 04 07:28:14 2010 -0600
@@ -3739,7 +3739,7 @@
 	      Lisp_Key_Data *new_ = xnew_array (Lisp_Key_Data, size);
 	      memcpy ((void *)new_, (const void *)c->keys_so_far,
 		      c->keys_so_far_total_size * sizeof (Lisp_Key_Data));
-	      xfree (c->keys_so_far, Lisp_Key_Data);
+	      xfree (c->keys_so_far);
 	      c->keys_so_far = new_;
 	    }
 	  else
@@ -3815,7 +3815,7 @@
     result = Fnreverse (result);
 
   if (c.keys_so_far_malloced)
-    xfree (c.keys_so_far, Lisp_Key_Data *);
+    xfree (c.keys_so_far);
   return result;
 }
 
--- a/src/lisp.h	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/lisp.h	Thu Feb 04 07:28:14 2010 -0600
@@ -1304,16 +1304,15 @@
 
 MODULE_API void xfree_1 (void *);
 #ifdef ERROR_CHECK_MALLOC
-/* This used to use a temporary variable, which both avoided the multiple
-   evaluation and obviated the need for the TYPE argument.  But that triggered
+/* This used to use a temporary variable.  But that triggered
    complaints under strict aliasing. #### There should be a better way. */
-#define xfree(lvalue, type) do						\
+#define xfree(lvalue) do						\
 {									\
   xfree_1 (lvalue);							\
   VOIDP_CAST (lvalue) = (void *) DEADBEEF_CONSTANT;                     \
 } while (0)
 #else
-#define xfree(lvalue,type) xfree_1 (lvalue)
+#define xfree(lvalue) xfree_1 (lvalue)
 #endif /* ERROR_CHECK_MALLOC */
 
 /* ------------------------ stack allocation -------------------------- */
--- a/src/lstream.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/lstream.c	Thu Feb 04 07:28:14 2010 -0600
@@ -857,17 +857,17 @@
      is called more than once on the same object */
   if (lstr->out_buffer)
     {
-      xfree (lstr->out_buffer, unsigned char *);
+      xfree (lstr->out_buffer);
       lstr->out_buffer = 0;
     }
   if (lstr->in_buffer)
     {
-      xfree (lstr->in_buffer, unsigned char *);
+      xfree (lstr->in_buffer);
       lstr->in_buffer = 0;
     }
   if (lstr->unget_buffer)
     {
-      xfree (lstr->unget_buffer, unsigned char *);
+      xfree (lstr->unget_buffer);
       lstr->unget_buffer = 0;
     }
 
@@ -1555,7 +1555,7 @@
   struct resizing_buffer_stream *str = RESIZING_BUFFER_STREAM_DATA (stream);
   if (str->buf)
     {
-      xfree (str->buf, unsigned char *);
+      xfree (str->buf);
       str->buf = 0;
     }
   return 0;
--- a/src/mule-coding.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/mule-coding.c	Thu Feb 04 07:28:14 2010 -0600
@@ -3247,7 +3247,7 @@
 {
   struct iso2022_detector *data = DETECTION_STATE_DATA (st, iso2022);
   if (data->iso)
-    xfree (data->iso, struct iso2022_coding_stream *);
+    xfree (data->iso);
 }
 
 
--- a/src/nt.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/nt.c	Thu Feb 04 07:28:14 2010 -0600
@@ -338,16 +338,16 @@
 	      *p++ = '\\';
 	      eicat_ch (o, '\\');
 	    }
-	  xfree (component, Ibyte *);
+	  xfree (component);
 	}
       else
 	{
-	  xfree (full, Ibyte *);
+	  xfree (full);
 	  return 0;
 	}
     }
 
-  xfree (full, Ibyte *);
+  xfree (full);
   return eicpyout_malloc (o, 0);
 }
 
@@ -395,7 +395,7 @@
 	return (lpvalue);
 
       if (lpvalue)
-	xfree (lpvalue, LPBYTE);
+	xfree (lpvalue);
 	
       RegCloseKey (hrootkey);
     } 
@@ -413,7 +413,7 @@
 	return (lpvalue);
 	
       if (lpvalue)
-	xfree (lpvalue, LPBYTE);
+	xfree (lpvalue);
 	
       RegCloseKey (hrootkey);
     } 
@@ -499,7 +499,7 @@
 		eputenv (env_vars[i], (CIbyte *) envval);
 	      }
 
-	    xfree (lpval, LPBYTE);
+	    xfree (lpval);
 	  }
       }
   }
@@ -705,8 +705,8 @@
 	}
       else
 	{
-	  xfree (info->name, Ibyte *);
-	  xfree (info->type, Ibyte *);
+	  xfree (info->name);
+	  xfree (info->type);
 	}
 
       TSTR_TO_C_STRING_MALLOC (name, info->name);
@@ -828,7 +828,7 @@
     return NULL;
 
   if (dir_pathname)
-    xfree (dir_pathname, Ibyte *);
+    xfree (dir_pathname);
   dir_pathname = qxestrdup (filename);
 
   return dirp;
@@ -850,7 +850,7 @@
       retval = close_unc_volume (wnet_enum_handle);
       wnet_enum_handle = INVALID_HANDLE_VALUE;
     }
-  xfree (dirp, DIR *);
+  xfree (dirp);
 
   return retval;
 }
@@ -925,7 +925,7 @@
 	    resolved = mswindows_read_link (eidata (linkname));
 	    if (resolved)
 	      {
-		xfree (resolved, Ibyte *);
+		xfree (resolved);
 		len -= 4;
 		val[len] = '\0';
 	      }
@@ -934,7 +934,7 @@
 
     eicpy_rawz (found, val);
     if (need_to_free)
-      xfree (val, Ibyte *);
+      xfree (val);
 
     if (!NILP (Vmswindows_downcase_file_names))
       eilwr (found);
@@ -1690,7 +1690,7 @@
 	      Ibyte *resolved = mswindows_read_link (name);
 	      if (resolved)
 		{
-		  xfree (resolved, Ibyte *);
+		  xfree (resolved);
 		  buf->st_mode = S_IFLNK;
 		}
 	    }
@@ -1842,7 +1842,7 @@
     cwdext = _getdcwd (drivelet, NULL, 0);
   if (cwdext == NULL) return NULL;
   TSTR_TO_C_STRING_MALLOC (cwdext, cwd);
-  xfree (cwdext, Extbyte *);
+  xfree (cwdext);
   return cwd;
 }
 
@@ -2133,8 +2133,8 @@
 
   canon = mswindows_canonicalize_filename (longname);
   ret = build_istring (canon);
-  xfree (canon, Ibyte *);
-  xfree (longname, Ibyte *);
+  xfree (canon);
+  xfree (longname);
   return ret;
 }
 
--- a/src/ntplay.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/ntplay.c	Thu Feb 04 07:28:14 2010 -0600
@@ -66,7 +66,7 @@
       if (retry_read (ofd, data, size) != size)
 	{
 	  retry_close (ofd);
-	  xfree (data, Binbyte *);
+	  xfree (data);
 	  return;
 	}
       retry_close (ofd);
@@ -88,7 +88,7 @@
   if (sound_data)
     {
       qxePlaySound (NULL, NULL, flags);
-      xfree (sound_data, Binbyte *);
+      xfree (sound_data);
       sound_data = 0;
     }
 
--- a/src/number-gmp.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/number-gmp.c	Thu Feb 04 07:28:14 2010 -0600
@@ -101,7 +101,7 @@
 
 static void gmp_free (void *ptr, size_t UNUSED (size))
 {
-  xfree (ptr, void *);
+  xfree (ptr);
 }
 
 void
--- a/src/number-mp.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/number-mp.c	Thu Feb 04 07:28:14 2010 -0600
@@ -87,7 +87,7 @@
   for (; i < bufsize - 1; i++)
     retval[i] = buffer[--index];
   retval[bufsize - 1] = '\0';
-  xfree (buffer, char *);
+  xfree (buffer);
   return retval;
 }
 
--- a/src/number.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/number.c	Thu Feb 04 07:28:14 2010 -0600
@@ -55,7 +55,7 @@
 {
   Ascbyte *bstr = bignum_to_string (XBIGNUM_DATA (obj), 10);
   write_ascstring (printcharfun, bstr);
-  xfree (bstr, Ascbyte *);
+  xfree (bstr);
 }
 
 #ifdef NEW_GC
@@ -98,7 +98,7 @@
 bignum_convfree (const void * UNUSED (object), void *data,
 		 Bytecount UNUSED (size))
 {
-  xfree (data, void *);
+  xfree (data);
 }
 
 static void *
@@ -148,7 +148,7 @@
 {
   CIbyte *rstr = ratio_to_string (XRATIO_DATA (obj), 10);
   write_ascstring (printcharfun, rstr);
-  xfree (rstr, CIbyte *);
+  xfree (rstr);
 }
 
 #ifdef NEW_GC
@@ -253,7 +253,7 @@
 {
   Ascbyte *fstr = bigfloat_to_string (XBIGFLOAT_DATA (obj), 10);
   write_ascstring (printcharfun, fstr);
-  xfree (fstr, CIbyte *);
+  xfree (fstr);
 }
 
 #ifdef NEW_GC
--- a/src/objects-gtk.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/objects-gtk.c	Thu Feb 04 07:28:14 2010 -0600
@@ -168,7 +168,7 @@
 	    }
 	    gdk_color_free (COLOR_INSTANCE_GTK_COLOR (c));
 	}
-      xfree (c->data, void *);
+      xfree (c->data);
       c->data = 0;
     }
 }
@@ -340,7 +340,7 @@
 	{
 	    gdk_font_unref (FONT_INSTANCE_GTK_FONT (f));
 	}
-      xfree (f->data, void *);
+      xfree (f->data);
       f->data = 0;
     }
 }
--- a/src/objects-msw.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/objects-msw.c	Thu Feb 04 07:28:14 2010 -0600
@@ -1376,7 +1376,7 @@
 {
   if (c->data)
     {
-      xfree (c->data, void *);
+      xfree (c->data);
       c->data = 0;
     }
 }
@@ -1904,7 +1904,7 @@
 	    DeleteObject (FONT_INSTANCE_MSWINDOWS_HFONT_I (f, i));
 	}
 
-      xfree (f->data, void *);
+      xfree (f->data);
       f->data = 0;
    }
 }
--- a/src/objects-tty.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/objects-tty.c	Thu Feb 04 07:28:14 2010 -0600
@@ -229,7 +229,7 @@
 {
 #ifndef NEW_GC
   if (c->data)
-    xfree (c->data, void *);
+    xfree (c->data);
 #endif /* not NEW_GC */
 }
 
@@ -324,7 +324,7 @@
 {
 #ifndef NEW_GC
   if (f->data)
-    xfree (f->data, void *);
+    xfree (f->data);
 #endif /* not NEW_GC */
 }
 
--- a/src/objects-x.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/objects-x.c	Thu Feb 04 07:28:14 2010 -0600
@@ -148,7 +148,7 @@
 			   &COLOR_INSTANCE_X_COLOR (c).pixel, 1, 0);
 	    }
 	}
-      xfree (c->data, void *);
+      xfree (c->data);
       c->data = 0;
     }
 }
@@ -442,7 +442,7 @@
 	    XftFontClose (dpy, FONT_INSTANCE_X_XFTFONT (f));
 #endif
 	}
-      xfree (f->data, void *);
+      xfree (f->data);
       f->data = 0;
     }
 }
--- a/src/process.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/process.c	Thu Feb 04 07:28:14 2010 -0600
@@ -192,7 +192,7 @@
     {
       MAYBE_PROCMETH (finalize_process_data, (p, for_disksave));
       if (!for_disksave)
-	xfree (p->process_data, void *);
+	xfree (p->process_data);
     }
 }
 
--- a/src/realpath.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/realpath.c	Thu Feb 04 07:28:14 2010 -0600
@@ -162,7 +162,7 @@
 	      return -1;
 	    }
 	  memcpy (buf, tmp, len);
-	  xfree (tmp, Ibyte *);
+	  xfree (tmp);
 	  return len;
 	}
     }
--- a/src/redisplay.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/redisplay.c	Thu Feb 04 07:28:14 2010 -0600
@@ -1686,7 +1686,7 @@
 	  break;
 	case PROP_STRING:
 	  if (pb->data.p_string.str)
-	    xfree (pb->data.p_string.str, Ibyte *);
+	    xfree (pb->data.p_string.str);
 	  /* #### bogus bogus -- this doesn't do anything!
 	     Should probably call add_ibyte_string_runes(),
 	     once that function is fixed. */
--- a/src/regex.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/regex.c	Thu Feb 04 07:28:14 2010 -0600
@@ -257,7 +257,7 @@
 #define ALLOCA alloca
 #define xmalloc malloc
 #define xrealloc realloc
-#define xfree(x,type) free (x)
+#define xfree free
 #endif
 
 #ifdef emacs
@@ -363,7 +363,7 @@
 
 #define REGEX_ALLOCATE_STACK xmalloc
 #define REGEX_REALLOCATE_STACK(source, osize, nsize) xrealloc (source, nsize)
-#define REGEX_FREE_STACK(arg) xfree (arg, fail_stack_elt_t *)
+#define REGEX_FREE_STACK(arg) xfree (arg)
 
 #else /* not REGEX_MALLOC */
 
@@ -2096,7 +2096,7 @@
 #define FREE_STACK_RETURN(value)			\
 do							\
 {							\
-  xfree (compile_stack.stack, compile_stack_elt_t *);	\
+  xfree (compile_stack.stack);	\
   return value;						\
 } while (0)
 
@@ -3399,7 +3399,7 @@
   if (syntax & RE_NO_POSIX_BACKTRACKING)
     BUF_PUSH (succeed);
 
-  xfree (compile_stack.stack, compile_stack_elt_t *);
+  xfree (compile_stack.stack);
 
   /* We have succeeded; set the length of the buffer.  */
   bufp->used = buf_end - bufp->buffer;
@@ -6950,8 +6950,8 @@
         }
 
       /* If we needed the temporary register info, free the space now.  */
-      xfree (regs.start, regoff_t *);
-      xfree (regs.end, regoff_t *);
+      xfree (regs.start);
+      xfree (regs.end);
     }
 
   /* We want zero return to mean success, unlike `re_search'.  */
@@ -7003,19 +7003,19 @@
 regfree (regex_t *preg)
 {
   if (preg->buffer != NULL)
-    xfree (preg->buffer, unsigned char *);
+    xfree (preg->buffer);
   preg->buffer = NULL;
 
   preg->allocated = 0;
   preg->used = 0;
 
   if (preg->fastmap != NULL)
-    xfree (preg->fastmap, char *);
+    xfree (preg->fastmap);
   preg->fastmap = NULL;
   preg->fastmap_accurate = 0;
 
   if (preg->translate != NULL)
-    xfree (preg->translate, RE_TRANSLATE_TYPE);
+    xfree (preg->translate);
   preg->translate = NULL;
 }
 
--- a/src/scrollbar-gtk.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/scrollbar-gtk.c	Thu Feb 04 07:28:14 2010 -0600
@@ -64,7 +64,7 @@
 	  gtk_widget_destroy (SCROLLBAR_GTK_WIDGET (instance));
 	}
 
-      xfree (instance->scrollbar_data, void *);
+      xfree (instance->scrollbar_data);
     }
 }
 
--- a/src/scrollbar-msw.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/scrollbar-msw.c	Thu Feb 04 07:28:14 2010 -0600
@@ -101,7 +101,7 @@
       ptr = Fremhash (ptr, Vmswindows_scrollbar_instance_table);
       assert (!NILP (ptr));
       DestroyWindow (SCROLLBAR_MSW_HANDLE (sb));
-      xfree (sb->scrollbar_data, void *);
+      xfree (sb->scrollbar_data);
     }
 }
 
--- a/src/scrollbar-x.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/scrollbar-x.c	Thu Feb 04 07:28:14 2010 -0600
@@ -75,7 +75,7 @@
   if (instance->scrollbar_data)
     {
       if (SCROLLBAR_X_NAME (instance))
-	xfree (SCROLLBAR_X_NAME (instance), char *);
+	xfree (SCROLLBAR_X_NAME (instance));
 
       if (SCROLLBAR_X_WIDGET (instance))
 	{
@@ -85,7 +85,7 @@
 	  lw_destroy_all_widgets (SCROLLBAR_X_ID (instance));
 	}
 
-      xfree (instance->scrollbar_data, void *);
+      xfree (instance->scrollbar_data);
     }
 }
 
--- a/src/select-gtk.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/select-gtk.c	Thu Feb 04 07:28:14 2010 -0600
@@ -213,7 +213,7 @@
     successful_p = Qt;
     /* Tell x_selection_request_lisp_error() it's cool. */
     cl->successful = TRUE;
-    xfree (data, Rawbyte *);
+    xfree (data);
   }
 
   unbind_to (count);
@@ -221,7 +221,7 @@
  DONE_LABEL:
 
   if (cl)
-    xfree (cl, struct _selection_closure *);
+    xfree (cl);
 
   UNGCPRO;
 
--- a/src/select-msw.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/select-msw.c	Thu Feb 04 07:28:14 2010 -0600
@@ -324,7 +324,7 @@
     {
       CloseClipboard ();
 
-      xfree (src, void *);
+      xfree (src);
       return Qnil;
     }
 
@@ -335,12 +335,12 @@
       GlobalFree (hValue);
       CloseClipboard ();
 
-      xfree (src, void *);
+      xfree (src);
       return Qnil;
     }
 
   memcpy (dst, src, size);
-  xfree (src, void *);
+  xfree (src);
 
   GlobalUnlock (hValue);
 
--- a/src/select-x.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/select-x.c	Thu Feb 04 07:28:14 2010 -0600
@@ -697,7 +697,7 @@
        lisp/select.el . */
     if ((Rawbyte *)0 != data)
     {
-      xfree (data, Rawbyte *);
+      xfree (data);
     }
   }
 
@@ -827,7 +827,7 @@
 	    prev->next = rest->next;
 	  else
 	    for_whom_the_bell_tolls = rest->next;
-	  xfree (rest, struct prop_location *);
+	  xfree (rest);
 	  return;
 	}
       prev = rest;
@@ -868,7 +868,7 @@
 	    prev->next = rest->next;
 	  else
 	    for_whom_the_bell_tolls = rest->next;
-	  xfree (rest, struct prop_location *);
+	  xfree (rest);
 	  return;
 	}
       prev = rest;
@@ -1171,7 +1171,7 @@
 #endif
 	  unexpect_property_change (prop_id);
 	  if (tmp_data)
-	    xfree (tmp_data, Rawbyte *);
+	    xfree (tmp_data);
 	  break;
 	}
 #if 0
@@ -1188,7 +1188,7 @@
 	}
       memcpy ((*data_ret) + offset, tmp_data, tmp_size_bytes);
       offset += tmp_size_bytes;
-      xfree (tmp_data, Rawbyte *);
+      xfree (tmp_data);
     }
 }
 
@@ -1237,7 +1237,7 @@
       Bytecount min_size_bytes =
 	/* careful here. */
 	(Bytecount) (* ((unsigned int *) data));
-      xfree (data, Rawbyte *);
+      xfree (data);
       receive_incremental_selection (display, window, property, target_type,
 				     min_size_bytes, &data, &bytes,
 				     &actual_type, &actual_format,
@@ -1249,7 +1249,7 @@
   val = selection_data_to_lisp_data (d, data, bytes,
 				     actual_type, actual_format);
 
-  xfree (data, Rawbyte *);
+  xfree (data);
   return val;
 }
 
@@ -1381,7 +1381,7 @@
 			  memchr (data, 0x1b, bytes) ?
 			  Qctext : Qbinary)
 	 : Qnil);
-  xfree (data, Rawbyte *);
+  xfree (data);
   return ret;
 }
 
--- a/src/specifier.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/specifier.c	Thu Feb 04 07:28:14 2010 -0600
@@ -304,7 +304,7 @@
   /* don't be snafued by the disksave finalization. */
   if (!for_disksave && !GHOST_SPECIFIER_P(sp) && sp->caching)
     {
-      xfree (sp->caching, struct specifier_caching *);
+      xfree (sp->caching);
       sp->caching = 0;
     }
 }
--- a/src/syntax.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/syntax.c	Thu Feb 04 07:28:14 2010 -0600
@@ -551,7 +551,7 @@
 uninit_buffer_syntax_cache (struct buffer *UNUSED_IF_NEW_GC (buf))
 {
 #ifndef NEW_GC
-  xfree (buf->syntax_cache, struct syntax_cache *);
+  xfree (buf->syntax_cache);
   buf->syntax_cache = 0;
 #endif /* not NEW_GC */
 }
--- a/src/sysdep.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/sysdep.c	Thu Feb 04 07:28:14 2010 -0600
@@ -2834,7 +2834,7 @@
 	{
 	  Ibyte *retin;
 	  TSTR_TO_C_STRING_MALLOC (ret, retin);
-	  xfree (cwd, Extbyte *);
+	  xfree (cwd);
 	  return retin;
 	}
 #else
@@ -2843,7 +2843,7 @@
 	{
 	  Ibyte *retin;
 	  EXTERNAL_TO_C_STRING_MALLOC (ret, retin, Qfile_name);
-	  xfree (cwd, Extbyte *);
+	  xfree (cwd);
 	  return retin;
 	}
 #endif /* WIN32_NATIVE */
@@ -2855,7 +2855,7 @@
 	}
       else
 	{
-	  xfree (cwd, Extbyte *);
+	  xfree (cwd);
 	  return NULL;
 	}
     }
@@ -2939,7 +2939,7 @@
 	  resolved = mswindows_read_link (eidata (name2));
 	  if (resolved)
 	    {
-	      xfree (resolved, Ibyte *);
+	      xfree (resolved);
 	      return mswindows_stat (eidata (name2), buf);
 	    }
 	}
@@ -3132,15 +3132,15 @@
     return NULL;
 
   if (cached_pwd.pw_name)
-    xfree (cached_pwd.pw_name, char *);
+    xfree (cached_pwd.pw_name);
   if (cached_pwd.pw_passwd)
-    xfree (cached_pwd.pw_passwd, char *);
+    xfree (cached_pwd.pw_passwd);
   if (cached_pwd.pw_gecos)
-    xfree (cached_pwd.pw_gecos, char *);
+    xfree (cached_pwd.pw_gecos);
   if (cached_pwd.pw_dir)
-    xfree (cached_pwd.pw_dir, char *);
+    xfree (cached_pwd.pw_dir);
   if (cached_pwd.pw_shell)
-    xfree (cached_pwd.pw_shell, char *);
+    xfree (cached_pwd.pw_shell);
 
   cached_pwd = *pwd;
   if (cached_pwd.pw_name)
@@ -3211,7 +3211,7 @@
   if (!str) /* can happen on MS Windows */
     return (Ibyte *) "Sun Jan 01 00:00:00 1970";
   if (ctime_static)
-    xfree (ctime_static, Ibyte *);
+    xfree (ctime_static);
   EXTERNAL_TO_C_STRING_MALLOC (str, ctime_static, Qtime_function_encoding);
   return ctime_static;
 }
@@ -3713,9 +3713,9 @@
      in one block.  Why in the world are we freeing this ourselves
      anyway?  */
 #if ! (defined (sun) && defined (USG5_4))
-  xfree (dirp->dd_buf, char *); /* directory block defined in <dirent.h> */
+  xfree (dirp->dd_buf); /* directory block defined in <dirent.h> */
 #endif
-  xfree (dirp, DIR *);
+  xfree (dirp);
   return (rtnval);
 }
 #endif /* not HAVE_CLOSEDIR */
@@ -3752,7 +3752,7 @@
 closedir (DIR *dirp)		/* stream from opendir */
 {
   retry_close (dirp->dd_fd);
-  xfree (dirp, DIR *);
+  xfree (dirp);
 }
 
 
--- a/src/termcap.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/termcap.c	Thu Feb 04 07:28:14 2010 -0600
@@ -411,7 +411,7 @@
 
       /* Free old `term' if appropriate.  */
       if (term != name)
-	xfree (term, const char *);
+	xfree (term);
 
       /* If BP is malloc'd by us, make sure it is big enough.  */
       if (malloc_size)
@@ -441,7 +441,7 @@
     }
 
   retry_close (fd);
-  xfree (buf.beg, char *);
+  xfree (buf.beg);
 
   if (malloc_size)
     {
@@ -651,7 +651,7 @@
 	  printf ("\\%0o", *y);
 	else
 	  putchar (*y);
-      xfree (x, char *);
+      xfree (x);
     }
   else
     printf ("none");
--- a/src/tests.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/tests.c	Thu Feb 04 07:28:14 2010 -0600
@@ -191,7 +191,7 @@
 		      MALLOC, (ptr, len),
 		      intern ("iso-8859-2"));
   DFC_CHECK_DATA (ptr, len, ext_latin, "Latin-2 DATA, MALLOC, Latin-2");
-  xfree (ptr, void *);
+  xfree (ptr);
 
   TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2) - 1),
 		      LISP_OPAQUE, opaque,
@@ -212,7 +212,7 @@
 		      intern ("iso-latin-2-with-esc"));
   DFC_CHECK_DATA (ptr, len, int_latin2,
 		  "Latin-2/ESC, MALLOC, Latin-1 DATA");
-  xfree (ptr, void *);
+  xfree (ptr);
 
   TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin) - 1),
 		      LISP_STRING, string,
@@ -309,7 +309,7 @@
 		      Qbinary);
   DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1,
 			    "Latin-1 DATA, MALLOC, binary");
-  xfree (ptr, void *);
+  xfree (ptr);
 
   ptr = NULL, len = rand();
   TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2)),
@@ -317,7 +317,7 @@
 		      Qbinary);
   DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, ext_tilde, int_latin2,
 				"Latin-2 DATA, MALLOC, binary/NUL");
-  xfree (ptr, void *);
+  xfree (ptr);
 
   ptr = NULL, len = rand();
   TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1),
@@ -325,7 +325,7 @@
 		      intern ("iso-8859-1"));
   DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1,
 			    "Latin-1 DATA, MALLOC, Latin-1");
-  xfree (ptr, void *);
+  xfree (ptr);
 
   TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1),
 		      LISP_OPAQUE, opaque,
@@ -368,7 +368,7 @@
 		      intern ("iso-8859-1"));
   DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, int_latin1, ext_latin,
 				"Latin-1 DATA, MALLOC, Latin-1");
-  xfree (ptr, void *);
+  xfree (ptr);
 
   ptr = NULL, len = rand();
   TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin)),
@@ -376,7 +376,7 @@
 		      Qnil);
   DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, int_latin1, ext_latin,
 				"Latin-1 DATA, MALLOC, nil");
-  xfree (ptr, void *);
+  xfree (ptr);
 
   TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin) - 1),
 		      LISP_STRING, string,
@@ -407,7 +407,7 @@
 		      Qbinary);
   DFC_CHECK_DATA_NUL (ptr, len, ext_unix,
 		      "ASCII DATA, MALLOC, binary/LF/NUL");
-  xfree (ptr, void *);
+  xfree (ptr);
 
   ptr = NULL, len = rand();
   TO_EXTERNAL_FORMAT (DATA, (int_foo, sizeof (int_foo) - 1),
@@ -433,7 +433,7 @@
 		      MALLOC, (ptr, len),
 		      intern ("no-conversion-mac"));
   DFC_CHECK_DATA (ptr, len, ext_mac, "ASCII Lisp string, MALLOC, binary/CR");
-  xfree (ptr, void *);
+  xfree (ptr);
 
   ptr = NULL, len = rand();
   TO_EXTERNAL_FORMAT (DATA, (int_foo, sizeof (int_foo) - 1),
--- a/src/text.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/text.c	Thu Feb 04 07:28:14 2010 -0600
@@ -4613,7 +4613,7 @@
   vals = Dynarr_atp (active_alloca_convert, i);
   assert (alloca_data);
   memcpy (alloca_data, vals->dst, vals->dst_size);
-  xfree (vals->dst, void *);
+  xfree (vals->dst);
   Dynarr_delete (active_alloca_convert, i);
   return alloca_data;
 }
--- a/src/text.h	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/text.h	Thu Feb 04 07:28:14 2010 -0600
@@ -2009,9 +2009,9 @@
   if ((ei)->mallocp_)				\
     {						\
       if ((ei)->data_)				\
-	xfree ((ei)->data_, Ibyte *);		\
+	xfree ((ei)->data_);		\
       if ((ei)->extdata_)			\
-	xfree ((ei)->extdata_, Extbyte *);	\
+	xfree ((ei)->extdata_);	\
       eiinit_malloc (ei);			\
     }						\
   else						\
@@ -2036,7 +2036,7 @@
 	eifind_large_enough_buffer (0, (ei)->bytelen_ + 1);		\
       ei13newdata = alloca_ibytes ((ei)->max_size_allocated_);		\
       memcpy (ei13newdata, (ei)->data_, (ei)->bytelen_ + 1);		\
-      xfree ((ei)->data_, Ibyte *);					\
+      xfree ((ei)->data_);					\
       (ei)->data_ = ei13newdata;					\
     }									\
 									\
@@ -2048,7 +2048,7 @@
       /* Double null-terminate in case of Unicode data */		\
       ei13newdata[(ei)->extlen_] = '\0';				\
       ei13newdata[(ei)->extlen_ + 1] = '\0';				\
-      xfree ((ei)->extdata_, Extbyte *);				\
+      xfree ((ei)->extdata_);				\
       (ei)->extdata_ = ei13newdata;					\
     }									\
 } while (0)
@@ -2250,7 +2250,7 @@
     {									\
       if ((ei)->extdata_)						\
 	{								\
-	  xfree ((ei)->extdata_, Extbyte *);				\
+	  xfree ((ei)->extdata_);				\
 	  (ei)->extdata_ = 0;						\
 	}								\
       TO_EXTERNAL_FORMAT (DATA, ((ei)->data_, (ei)->bytelen_),		\
--- a/src/toolbar-msw.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/toolbar-msw.c	Thu Feb 04 07:28:14 2010 -0600
@@ -294,7 +294,7 @@
 			  if (! (bitmap = mswindows_create_resized_bitmap 
 				 (p, f, bmwidth, bmheight)))
 			    {
-			      xfree (button_tbl, TBBUTTON *);
+			      xfree (button_tbl);
 			      if (ilist) ImageList_Destroy (ilist);
 			      gui_error ("Couldn't resize pixmap", instance);
 			    }
@@ -317,7 +317,7 @@
 					 ? ILC_MASK  : 0) | ILC_COLOR24, 
 					nbuttons, nbuttons * 2 )))
 			{
-			  xfree (button_tbl, TBBUTTON *);
+			  xfree (button_tbl);
 			  gui_error ("Couldn't create image list", instance);
 			}
 
@@ -332,7 +332,7 @@
 			    mask ? mask 
 			    : IMAGE_INSTANCE_MSWINDOWS_MASK (p))) < 0)
 			{
-			  xfree (button_tbl, TBBUTTON *);
+			  xfree (button_tbl);
 			  if (ilist)
 			    ImageList_Destroy (ilist);
 			  gui_error 
@@ -394,7 +394,7 @@
 			      NULL, 
 			      NULL))==NULL)
 	{
-	  xfree (button_tbl, TBBUTTON *);
+	  xfree (button_tbl);
 	  ImageList_Destroy (ilist);
 	  gui_error ("couldn't create toolbar", Qunbound);
 	}
@@ -468,7 +468,7 @@
       mswindows_move_toolbar (f, pos);
 
       if (button_tbl)
-	xfree (button_tbl, TBBUTTON *);
+	xfree (button_tbl);
 
       SET_TOOLBAR_WAS_VISIBLE_FLAG (f, pos, 1);
     }
--- a/src/ui-gtk.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/ui-gtk.c	Thu Feb 04 07:28:14 2010 -0600
@@ -384,7 +384,7 @@
 	GTK_VALUE_POINTER (a) = * (void **) v;		\
 	break;						\
       }							\
-    if (freep) xfree(v, void *);			\
+    if (freep) xfree (v);			\
   } while (0)
 
 static gpointer __allocate_object_storage (GtkType t)
--- a/src/unicode.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/unicode.c	Thu Feb 04 07:28:14 2010 -0600
@@ -508,7 +508,7 @@
       }
     }
 
-  xfree (table, void *);
+  xfree (table);
 }
 
 static void
@@ -526,7 +526,7 @@
 	}
     }
 
-  xfree (table, void *);
+  xfree (table);
 }
 
 void
--- a/src/win32.c	Thu Feb 04 05:58:40 2010 -0600
+++ b/src/win32.c	Thu Feb 04 07:28:14 2010 -0600
@@ -603,7 +603,7 @@
 
   /* Cache newly found value */
   if (rlh->resolved)
-    xfree (rlh->resolved, Ibyte *);
+    xfree (rlh->resolved);
   rlh->resolved = retval ? qxestrdup (retval) : NULL;
 
   return retval;