changeset 4982:3c3c1d139863

Automatic merge
author Ben Wing <ben@xemacs.org>
date Fri, 05 Feb 2010 11:25:00 -0600
parents 4aebb0131297 (current diff) 4234fd5a7b17 (diff)
children fbcf988fbb33
files src/ChangeLog src/device-gtk.c src/device-msw.c src/device-x.c src/dialog-msw.c src/dialog-x.c src/editfns.c src/emacs.c src/emodules.c src/eval.c src/event-msw.c src/fileio.c src/font-mgr.c src/frame-gtk.c src/frame-msw.c src/frame-x.c src/glyphs-eimage.c src/glyphs-gtk.c src/glyphs-msw.c src/glyphs-x.c src/gui-x.c src/intl.c src/lisp.h src/nt.c src/ntplay.c src/objects-gtk.c src/objects-msw.c src/objects-x.c src/realpath.c src/select-gtk.c src/select-msw.c src/select-x.c src/sysdep.c src/text.h src/win32.c
diffstat 89 files changed, 569 insertions(+), 297 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/ChangeLog	Fri Feb 05 11:25:00 2010 -0600
@@ -251,6 +251,263 @@
 	10. Fix a real bug due to accidental variable shadowing in
 	    tstr_to_local_file_format() in win32.c.
 
+2010-02-05  Ben Wing  <ben@xemacs.org>
+
+	* lisp.h:
+	* lisp.h (staticpro_nodump_1):
+	Define staticpro_1 and staticpro_nodump_1 when not XEMACS_DEBUG.
+	
+	* symbols.c (defsymbol_massage_name_1):
+	* symbols.c (defsymbol_massage_multiword_predicate):
+	Cosmetic fixes.
+
+2010-02-05  Ben Wing  <ben@xemacs.org>
+
+	* bytecode.c (bytecode_assert):
+	Use 0 instead of x in disabled_assert calls to avoid errors due
+	to using undefined vars/params (they are defined only when
+	ERROR_CHECK_BYTE_CODE, which also turns on/off the asserts).
+
+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>
+
+	* emacs.c (SHEBANG_EXE_PROGNAME_LENGTH):
+	* emacs.c (main_1):
+	Restore old definition of SHEBANG_EXE_PROGNAME_LENGTH; not possible
+	to ANSI-concatenate wide and narrow strings.
+	* print.c (write_msg_istring):
+	* print.c (write_msg_cistring):
+	* print.c (write_msg_ascstring):
+	Can't return a value in a void-declared function.
+
 2010-02-04  Ben Wing  <ben@xemacs.org>
 
 	* filelock.c:
--- a/src/alloc.c	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/alloc.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/alloca.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/alsaplay.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/buffer.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/buffer.h	Fri Feb 05 11:25:00 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/bytecode.c	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/bytecode.c	Fri Feb 05 11:25:00 2010 -0600
@@ -121,8 +121,14 @@
 
 #ifndef ERROR_CHECK_BYTE_CODE
 
-# define bytecode_assert(x) disabled_assert (x)
-# define bytecode_assert_with_message(x, msg) disabled_assert(x)
+/* Normally we would use `x' instead of `0' in the argument list, to avoid
+   problems if `x' (an expression) has side effects, and warnings if `x'
+   contains variables or parameters that are otherwise unused.  But in
+   this case `x' contains references to vars and params that exist only
+   when ERROR_CHECK_BYTE_CODE, and leaving in `x' would result in compile
+   errors. */
+# define bytecode_assert(x) disabled_assert (0)
+# define bytecode_assert_with_message(x, msg) disabled_assert(0)
 # define bytecode_abort_with_message(msg) abort_with_message (msg)
 
 #else /* ERROR_CHECK_BYTE_CODE */
--- a/src/console-stream.c	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/console-stream.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/console-tty.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/data.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/device-gtk.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/device-msw.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/device-tty.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/device-x.c	Fri Feb 05 11:25:00 2010 -0600
@@ -742,7 +742,7 @@
     {
       /* Cast off const for G++ 4.3. */
       Extbyte *temp = (Extbyte *) locale;
-      xfree (temp, Extbyte*);
+      xfree (temp);
     }
  }
 #endif /* MULE */
@@ -950,7 +950,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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/dialog-msw.c	Fri Feb 05 11:25:00 2010 -0600
@@ -441,7 +441,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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/dialog-x.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/dired-msw.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/dired.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/doc.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/doprnt.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/dumper.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/dynarr.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/editfns.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/elhash.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/emacs.c	Fri Feb 05 11:25:00 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
@@ -937,7 +937,7 @@
 #define SHEBANG_PROGNAME_LENGTH                                         \
   (int)((sizeof (WEXTSTRING (SHEBANG_PROGNAME)) - sizeof (WEXTSTRING (""))))
 #define SHEBANG_EXE_PROGNAME_LENGTH			\
-  (int)(sizeof (WEXTSTRING (SHEBANG_PROGNAME ".exe"))	\
+  (int)(sizeof (WEXTSTRING (SHEBANG_PROGNAME) WEXTSTRING (".exe"))	\
         - sizeof (WEXTSTRING ("")))
 
   {
@@ -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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/emodules.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/eval.c	Fri Feb 05 11:25:00 2010 -0600
@@ -6809,7 +6809,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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/event-Xt.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/event-gtk.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/event-msw.c	Fri Feb 05 11:25:00 2010 -0600
@@ -832,7 +832,7 @@
 
   if (str->buffer)
     {
-      xfree (str->buffer, void *);
+      xfree (str->buffer);
       str->buffer = 0;
     }
 
@@ -2113,7 +2113,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);
 
@@ -2743,7 +2743,7 @@
 				((LCID) GetKeyboardLayout (0) & 0xFFFF),
 				NULL));
 		    ch = itext_ichar (intchar);
-		    xfree (intchar, Ibyte *);
+		    xfree (intchar);
 		  }
 
 #ifdef DEBUG_XEMACS
@@ -2887,7 +2887,7 @@
 
 				XSET_EVENT_KEY_ALT_KEYCHARS
 				  (lastev, i, itext_ichar (intchar));
-				xfree (intchar, Ibyte *);
+				xfree (intchar);
 			      }
 			  }
 		      }
@@ -3407,8 +3407,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;
 		    }
 		}
@@ -3728,9 +3727,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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/event-stream.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/extents.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/file-coding.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/fileio.c	Fri Feb 05 11:25:00 2010 -0600
@@ -399,7 +399,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
@@ -942,7 +942,7 @@
 		      XSTRING_DATA (name)[1] = ':';
 		    }
 		}
-	      xfree (newnm, Ibyte *);
+	      xfree (newnm);
 	      RETURN_UNGCPRO_EXIT_PROFILING (QSin_expand_file_name, name);
 	    }
 #endif /* WIN32_FILENAMES */
@@ -1055,7 +1055,7 @@
 	  if (newcwd)
 	    {
 	      IBYTE_STRING_TO_ALLOCA (newcwd, newdir);
-	      xfree (newcwd, Ibyte *);
+	      xfree (newcwd);
 	    }
 	  else
 	    newdir = NULL;
@@ -1141,7 +1141,7 @@
 	      if (newcwd)
 		{
 		  IBYTE_STRING_TO_ALLOCA (newcwd, newdir);
-		  xfree (newcwd, Ibyte *);
+		  xfree (newcwd);
 		}
 	      else
 #endif
@@ -1316,7 +1316,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);
   }
@@ -2552,16 +2552,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)
@@ -2591,7 +2591,7 @@
 	return Qnil;
       {
 	Lisp_Object val = build_istring (fname);
-	xfree (fname, Ibyte *);
+	xfree (fname);
 	return val;
       }
     }
--- a/src/filelock.c	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/filelock.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/font-mgr.c	Fri Feb 05 11:25:00 2010 -0600
@@ -267,7 +267,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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/frame-gtk.c	Fri Feb 05 11:25:00 2010 -0600
@@ -1354,9 +1354,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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/frame-msw.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/frame-x.c	Fri Feb 05 11:25:00 2010 -0600
@@ -1127,7 +1127,7 @@
     }
 
   /* free the data string */
-  xfree (clientData, XtPointer);
+  xfree (clientData);
 
   CurrentDragWidget = NULL;
 }
@@ -1225,7 +1225,7 @@
 		    dnd_destroy_cb_rec,
 		    NULL, 0);
 
-  xfree (dnd_data, Extbyte *);
+  xfree (dnd_data);
 
   return num_items ? Qt : Qnil;
 }
@@ -1272,7 +1272,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)
@@ -2639,14 +2639,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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/frame.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/gc.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/gccache-gtk.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/gccache-x.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/glyphs-eimage.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/glyphs-gtk.c	Fri Feb 05 11:25:00 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);
 	}
 
@@ -1300,7 +1300,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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/glyphs-msw.c	Fri Feb 05 11:25:00 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;
 }
 
@@ -986,9 +986,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 */
@@ -998,15 +998,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 */
 
@@ -1357,7 +1357,7 @@
 
   if (!new_data)
     {
-      xfree (bmp_info, BITMAPINFO *);
+      xfree (bmp_info);
       return NULL;
     }
 
@@ -1408,17 +1408,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;
 }
@@ -1778,7 +1778,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))
@@ -1792,7 +1792,7 @@
 
   if (p->data)
     {
-      xfree (p->data, void *);
+      xfree (p->data);
       p->data = 0;
     }
 }
--- a/src/glyphs-x.c	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/glyphs-x.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/gui-x.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/hash.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/imgproc.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/insdel.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/intl-win32.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/intl.c	Fri Feb 05 11:25:00 2010 -0600
@@ -93,7 +93,7 @@
 #endif
 
   str = build_extstring (loc, Qctext);
-  xfree (loc, Extbyte *);
+  xfree (loc);
   return str;
 }
 
--- a/src/keymap.c	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/keymap.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/lisp.h	Fri Feb 05 11:25:00 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 -------------------------- */
@@ -4301,10 +4300,20 @@
 
 /* Call staticpro (&var) to protect static variable `var'. */
 MODULE_API void staticpro (Lisp_Object *);
+/* staticpro_1 (varptr, name) is used when we're not directly calling
+   staticpro() on the address of a Lisp variable, but on a pointer we
+   got from elsewhere.  In that case, NAME is a string describing the
+   actual variable in question.  NAME is used only for debugging purposes,
+   and hence when not DEBUG_XEMACS, staticpro_1() just calls staticpro().
+   With DEBUG_XEMACS, however, it's the reverse -- staticpro() calls
+   staticpro_1(), using the ANSI "stringize" operator to construct a string
+   out of the variable name. */
+#define staticpro_1(ptr, name) staticpro (ptr)
 
 /* Call staticpro_nodump (&var) to protect static variable `var'. */
 /* var will not be saved at dump time */
 MODULE_API void staticpro_nodump (Lisp_Object *);
+#define staticpro_nodump_1(ptr, name) staticpro_nodump (ptr)
 
 #ifdef HAVE_SHLIB
 /* Call unstaticpro_nodump (&var) to stop protecting static variable `var'. */
--- a/src/lstream.c	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/lstream.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/mule-coding.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/nt.c	Fri Feb 05 11:25:00 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);
 	}
 
       info->name = TSTR_TO_ITEXT_MALLOC (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;
   cwd = TSTR_TO_ITEXT_MALLOC (cwdext);
-  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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/ntplay.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/number-gmp.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/number-mp.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/number.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/objects-gtk.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/objects-msw.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/objects-tty.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/objects-x.c	Fri Feb 05 11:25:00 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/print.c	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/print.c	Fri Feb 05 11:25:00 2010 -0600
@@ -680,14 +680,14 @@
 write_msg_istring (Lisp_Object stream, const Ibyte *str)
 {
   /* This function can GC */
-  return write_istring (stream, IGETTEXT (str));
+  write_istring (stream, IGETTEXT (str));
 }
 
 void
 write_msg_cistring (Lisp_Object stream, const CIbyte *str)
 {
   /* This function can GC */
-  return write_msg_istring (stream, (const Ibyte *) str);
+  write_msg_istring (stream, (const Ibyte *) str);
 }
 
 void
@@ -695,7 +695,7 @@
 {
   /* This function can GC */
   ASSERT_ASCTEXT_ASCII (str);
-  return write_msg_istring (stream, (const Ibyte *) str);
+  write_msg_istring (stream, (const Ibyte *) str);
 }
 
 void
--- a/src/process.c	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/process.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/realpath.c	Fri Feb 05 11:25:00 2010 -0600
@@ -162,7 +162,7 @@
 	      return -1;
 	    }
 	  memcpy (buf, tmp, len);
-	  xfree (tmp, Ibyte *);
+	  xfree (tmp);
 	  return len;
 	}
     }
--- a/src/redisplay.c	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/redisplay.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/regex.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/scrollbar-gtk.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/scrollbar-msw.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/scrollbar-x.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/select-gtk.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/select-msw.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/select-x.c	Fri Feb 05 11:25:00 2010 -0600
@@ -693,7 +693,7 @@
        lisp/select.el . */
     if ((Rawbyte *)0 != data)
     {
-      xfree (data, Rawbyte *);
+      xfree (data);
     }
   }
 
@@ -823,7 +823,7 @@
 	    prev->next = rest->next;
 	  else
 	    for_whom_the_bell_tolls = rest->next;
-	  xfree (rest, struct prop_location *);
+	  xfree (rest);
 	  return;
 	}
       prev = rest;
@@ -864,7 +864,7 @@
 	    prev->next = rest->next;
 	  else
 	    for_whom_the_bell_tolls = rest->next;
-	  xfree (rest, struct prop_location *);
+	  xfree (rest);
 	  return;
 	}
       prev = rest;
@@ -1167,7 +1167,7 @@
 #endif
 	  unexpect_property_change (prop_id);
 	  if (tmp_data)
-	    xfree (tmp_data, Rawbyte *);
+	    xfree (tmp_data);
 	  break;
 	}
 #if 0
@@ -1184,7 +1184,7 @@
 	}
       memcpy ((*data_ret) + offset, tmp_data, tmp_size_bytes);
       offset += tmp_size_bytes;
-      xfree (tmp_data, Rawbyte *);
+      xfree (tmp_data);
     }
 }
 
@@ -1233,7 +1233,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,
@@ -1245,7 +1245,7 @@
   val = selection_data_to_lisp_data (d, data, bytes,
 				     actual_type, actual_format);
 
-  xfree (data, Rawbyte *);
+  xfree (data);
   return val;
 }
 
@@ -1377,7 +1377,7 @@
 			  memchr (data, 0x1b, bytes) ?
 			  Qctext : Qbinary)
 	 : Qnil);
-  xfree (data, Rawbyte *);
+  xfree (data);
   return ret;
 }
 
--- a/src/specifier.c	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/specifier.c	Fri Feb 05 11:25:00 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/symbols.c	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/symbols.c	Fri Feb 05 11:25:00 2010 -0600
@@ -3599,8 +3599,8 @@
 }
 
 static void
-defsymbol_massage_name_1 (Lisp_Object *location, const Ascbyte *name, int dump_p,
-			  int multiword_predicate_p)
+defsymbol_massage_name_1 (Lisp_Object *location, const Ascbyte *name,
+			  int dump_p, int multiword_predicate_p)
 {
   char temp[500];
   int len = strlen (name) - 1;
@@ -3646,7 +3646,8 @@
 }
 
 void
-defsymbol_massage_multiword_predicate (Lisp_Object *location, const Ascbyte *name)
+defsymbol_massage_multiword_predicate (Lisp_Object *location,
+				       const Ascbyte *name)
 {
   defsymbol_massage_name_1 (location, name, 1, 1);
 }
--- a/src/syntax.c	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/syntax.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/sysdep.c	Fri Feb 05 11:25:00 2010 -0600
@@ -2834,7 +2834,7 @@
 	{
 	  Ibyte *retin;
 	  retin = TSTR_TO_ITEXT_MALLOC (ret);
-	  xfree (cwd, Extbyte *);
+	  xfree (cwd);
 	  return retin;
 	}
 #else
@@ -2843,7 +2843,7 @@
 	{
 	  Ibyte *retin;
 	  retin = EXTERNAL_TO_ITEXT_MALLOC (ret, 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);
 	    }
 	}
@@ -3131,15 +3131,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;
 
@@ -3206,7 +3206,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);
   ctime_static = EXTERNAL_TO_ITEXT_MALLOC (str, Qtime_function_encoding);
   return ctime_static;
 }
@@ -3708,9 +3708,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 */
@@ -3747,7 +3747,7 @@
 closedir (DIR *dirp)		/* stream from opendir */
 {
   retry_close (dirp->dd_fd);
-  xfree (dirp, DIR *);
+  xfree (dirp);
 }
 
 
--- a/src/termcap.c	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/termcap.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/tests.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/text.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/text.h	Fri Feb 05 11:25:00 2010 -0600
@@ -2010,9 +2010,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						\
@@ -2037,7 +2037,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;					\
     }									\
 									\
@@ -2049,7 +2049,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)
@@ -2251,7 +2251,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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/toolbar-msw.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/ui-gtk.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/unicode.c	Fri Feb 05 11:25:00 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	Fri Feb 05 11:02:24 2010 -0600
+++ b/src/win32.c	Fri Feb 05 11:25:00 2010 -0600
@@ -599,7 +599,7 @@
 
   /* Cache newly found value */
   if (rlh->resolved)
-    xfree (rlh->resolved, Ibyte *);
+    xfree (rlh->resolved);
   rlh->resolved = retval ? qxestrdup (retval) : NULL;
 
   return retval;