Mercurial > hg > xemacs-beta
view netinstall/ChangeLog @ 5169:6c6d78781d59
cleanup of code related to xfree(), better KKCC backtrace capabilities, document XD_INLINE_LISP_OBJECT_BLOCK_PTR, fix some memory leaks, other code cleanup
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2010-03-24 Ben Wing <ben@xemacs.org>
* array.h:
* array.h (XD_LISP_DYNARR_DESC):
* dumper.c (pdump_register_sub):
* dumper.c (pdump_store_new_pointer_offsets):
* dumper.c (pdump_reloc_one_mc):
* elhash.c:
* gc.c (lispdesc_one_description_line_size):
* gc.c (kkcc_marking):
* lrecord.h:
* lrecord.h (IF_NEW_GC):
* lrecord.h (enum memory_description_type):
* lrecord.h (enum data_description_entry_flags):
* lrecord.h (struct opaque_convert_functions):
Rename XD_LISP_OBJECT_BLOCK_PTR to XD_INLINE_LISP_OBJECT_BLOCK_PTR
and document it in lrecord.h.
* data.c:
* data.c (finish_marking_weak_lists):
* data.c (continue_marking_ephemerons):
* data.c (finish_marking_ephemerons):
* elhash.c (MARK_OBJ):
* gc.c:
* gc.c (lispdesc_indirect_count_1):
* gc.c (struct):
* gc.c (kkcc_bt_push):
* gc.c (kkcc_gc_stack_push):
* gc.c (kkcc_gc_stack_push_lisp_object):
* gc.c (kkcc_gc_stack_repush_dirty_object):
* gc.c (KKCC_DO_CHECK_FREE):
* gc.c (mark_object_maybe_checking_free):
* gc.c (mark_struct_contents):
* gc.c (mark_lisp_object_block_contents):
* gc.c (register_for_finalization):
* gc.c (mark_object):
* gc.h:
* lisp.h:
* profile.c:
* profile.c (mark_profiling_info_maphash):
Clean up KKCC code related to DEBUG_XEMACS. Rename
kkcc_backtrace() to kkcc_backtrace_1() and add two params: a
`size' arg to control how many stack elements to print and a
`detailed' arg to control whether Lisp objects are printed using
`debug_print()'. Create front-ends to kkcc_backtrace_1() --
kkcc_detailed_backtrace(), kkcc_short_backtrace(),
kkcc_detailed_backtrace_full(), kkcc_short_backtrace_full(), as
well as shortened versions kbt(), kbts(), kbtf(), kbtsf() -- to
call it with various parameter values. Add an `is_lisp' field to
the stack and backtrace structures and use it to keep track of
whether an object pushed onto the stack is a Lisp object or a
non-Lisp structure; in kkcc_backtrace_1(), don't try to print a
non-Lisp structure as a Lisp object.
* elhash.c:
* extents.c:
* file-coding.c:
* lrecord.h:
* lrecord.h (IF_NEW_GC):
* marker.c:
* marker.c (Fmarker_buffer):
* mule-coding.c:
* number.c:
* rangetab.c:
* specifier.c:
New macros IF_OLD_GC(), IF_NEW_GC() to simplify declaration of
Lisp objects when a finalizer may exist in one but not the other.
Use them appropriately.
* extents.c (finalize_extent_info):
Don't zero out data->soe and data->extents before trying to free,
else we get memory leaks.
* lrecord.h (enum lrecord_type):
Make the first lrecord type have value 1 not 0 so that 0 remains
without implementation and attempts to interpret zeroed memory
as a Lisp object will be more obvious.
* array.c (Dynarr_free):
* device-msw.c (msprinter_delete_device):
* device-tty.c (free_tty_device_struct):
* device-tty.c (tty_delete_device):
* dialog-msw.c (handle_directory_dialog_box):
* dialog-x.c:
* emacs.c (free_argc_argv):
* emodules.c (attempt_module_delete):
* file-coding.c (chain_finalize_coding_stream_1):
* file-coding.c (chain_finalize_coding_stream):
* glyphs-eimage.c:
* glyphs-eimage.c (jpeg_instantiate_unwind):
* glyphs-eimage.c (gif_instantiate_unwind):
* glyphs-eimage.c (png_instantiate_unwind):
* glyphs-eimage.c (tiff_instantiate_unwind):
* imgproc.c:
* imgproc.c (build_EImage_quantable):
* insdel.c (uninit_buffer_text):
* mule-coding.c (iso2022_finalize_detection_state):
* objects-tty.c (tty_finalize_color_instance):
* objects-tty.c (tty_finalize_font_instance):
* objects-tty.c (tty_font_list):
* process.c:
* process.c (finalize_process):
* redisplay.c (add_propagation_runes):
* scrollbar-gtk.c:
* scrollbar-gtk.c (gtk_free_scrollbar_instance):
* scrollbar-gtk.c (gtk_release_scrollbar_instance):
* scrollbar-msw.c:
* 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-x.c:
* select-x.c (x_handle_selection_request):
* syntax.c:
* syntax.c (uninit_buffer_syntax_cache):
* text.h (eifree):
If possible, whenever we call xfree() on a field in a structure,
set the field to 0 afterwards. A lot of code is written so that
it checks the value being freed to see if it is non-zero before
freeing it -- doing this and setting the value to 0 afterwards
ensures (a) we won't try to free twice if the cleanup code is
called twice; (b) if the object itself stays around, KKCC won't
crash when attempting to mark the freed field.
* rangetab.c:
Add a finalization method when not NEW_GC to avoid memory leaks.
(#### We still get memory leaks when NEW_GC; need to convert gap
array to Lisp object).
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Wed, 24 Mar 2010 01:22:51 -0500 |
parents | 5c427ece884b |
children |
line wrap: on
line source
2009-05-18 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.29 "garbanzo" is released. 2007-08-12 Mike Sperber <mike@xemacs.org> * Makefile.in.in (datarootdir): Add. 2007-05-21 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.28 "fuki" is released. 2006-05-16 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.27 "fiddleheads" is released. 2006-03-31 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.26 "endive" is released. 2006-02-26 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.25 "eggplant" is released. 2005-11-25 Mike Sperber <mike@xemacs.org> * reginfo.h (XEMACS_INFO_XEMACS_EARLY_PACKAGES_KEY) (XEMACS_INFO_XEMACS_LATE_PACKAGES_KEY) (XEMACS_INFO_XEMACS_LAST_PACKAGES_KEY): Add. 2005-12-18 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.24 "dandelion" is released. 2005-11-22 Ben Wing <ben@xemacs.org> * Makefile.in.in: Ignore errors from rm during clean. 2005-11-13 Ben Wing <ben@xemacs.org> * Makefile.in.in: Add targets distclean-noconfig, realclean-noconfig, extraclean-noconfig. Do some refactoring for cleanliness. 2005-11-06 Stephen J. Turnbull <stephen@xemacs.org> * ChangeLog: Nuke useless CVS keyword. 2005-10-26 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.23 "daikon" is released. 2005-09-14 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.22 "cucumber" is released. 2005-05-28 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.21 "corn" is released. 2005-03-11 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.20 "cilantro" is released. 2005-02-18 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.19 "chives" is released. 2004-11-05 Ben Wing <ben@xemacs.org> * res.rc: Fix ^M brokenness. 2004-10-22 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.18 "chestnut" is released. 2004-03-22 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.17 "chayote" is released. 2003-09-26 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.16 "celeriac" is released. 2003-09-03 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.15 "celery" is released. 2003-06-01 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.14 "cassava" is released. 2003-05-10 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.13 "cauliflower" is released. 2003-04-24 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.12 "carrot" is released. 2003-02-16 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.11 "cabbage" is released. 2003-01-04 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.10 "burdock" is released. 2002-08-30 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.9 "brussels sprouts" is released. 2002-07-27 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.8 "broccoli" is released. 2002-07-02 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.7 "broccoflower" is released. 2002-02-04 Andy Piper <andy@xemacs.org> * install.cc (install_one): Munge installed filename to fit inside dialog. 2001-12-17 Andy Piper <andy@xemacs.org> * desktop.cc (do_desktop_setup): register the whole gamut of C++ file types. 2001-12-12 Andy Piper <andy@xemacs.org> * win32.h (CDECL): reorder to remove warnings. * Makefile.in.in: add new dependencies. * desktop.h: new file. * uninstall.cc: use it. * install.cc (uninstall_one): when uninstalling xemacs remove shortcuts also. * desktop.cc (remove_xemacs_setup): split out from remove_desktop_setup. (remove_desktop_setup): call it. 2001-12-05 Andy Piper <andy@xemacs.org> * win32.h: re-order declarations for native windows from Fabrice Popineau. 2001-11-22 Andy Piper <andy@xemacs.org> * Makefile.in.in (setup-bin.ini): cope with kit revisions. * source.cc (save_dialog): warning removal. (load_dialog): ditto. * msg.cc: remove cvs id. * desktop.cc (find_xemacs_version): new function. Cope with kit revisions. (find_xemacs_exe_path): use it. (find_xemacs_exe_name): ditto. 2002-04-05 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.6 "bok choi" is released. 2002-03-12 Ben Wing <ben@xemacs.org> * The Great Mule Merge of March 2002: see node by that name in the Internals Manual. 2002-03-05 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.5 "beets" is released. 2002-01-08 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.4 "bamboo" is released. 2001-12-12 Andy Piper <andy@xemacs.org> * win32.h (CDECL): reorder to remove warnings. * Makefile.in.in: add new dependencies. * desktop.h: new file. * uninstall.cc: use it. * install.cc (uninstall_one): when uninstalling xemacs remove shortcuts also. * desktop.cc (remove_xemacs_setup): split out from remove_desktop_setup. (remove_desktop_setup): call it. 2001-12-05 Andy Piper <andy@xemacs.org> * win32.h: re-order declarations for native windows from Fabrice Popineau. 2001-11-22 Andy Piper <andy@xemacs.org> * Makefile.in.in (setup-bin.ini): cope with kit revisions. * source.cc (save_dialog): warning removal. (load_dialog): ditto. * msg.cc: remove cvs id. * desktop.cc (find_xemacs_version): new function. Cope with kit revisions. (find_xemacs_exe_path): use it. (find_xemacs_exe_name): ditto. 2001-11-21 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.4.6 "Common Lisp" is released. 2001-10-27 Andy Piper <andy@xemacs.org> * localdir.cc (dialog_cmd): allow download directory to be created. * log.cc (exit_setup): cygwin -> XEmacs * net.cc (dialog_cmd): (dialog_proc): (do_net): sync with cygwin installer. * res.rc: * resource.h (IDS_CREATE_DIR): new. * source.cc (load_dialog): (save_dialog): (dialog_cmd): (dialog_proc): (do_source): sync with cygwin installer. * uninstall.cc (progress): remove log message. * Makefile.in.in: generated setup-bin.ini correctly. 2001-10-25 Andy Piper <andy@xemacs.org> * Merge 21.5 codeline. 2001-10-25 Andy Piper <andy@xemacs.org> * setup.mak (OBJS): minor build fixes. (distclean): 2001-10-25 Andy Piper <andy@xemacs.org> * desktop.cc: * desktop.cc (do_desktop_setup): * desktop.cc (load_dialog): * desktop.cc (save_dialog): * desktop.cc (do_desktop): handle idl file registration. * geturl.cc (dialog): warning removal. * geturl.cc (get_url_to_string): * geturl.cc (get_url_to_file): make sure the nio gets deleted after use, this also closes the inbound socket. * nio-ftp.cc (ftp_line): fix from cygwin installer. * nio-ftp.cc (NetIO_FTP): fix typeo. * res.rc: support idl types. * resource.h (IDC_IDL_TYPE): ditto. * state.h: ditto. 2001-09-24 Andy Piper <andy@xemacs.org> * desktop.cc: * desktop.cc (make_link): * desktop.cc (find_xemacs_exe_name): * desktop.cc (remove_link): * desktop.cc (start_menu): * desktop.cc (desktop_icon): * desktop.cc (remove_desktop_setup): * desktop.cc (FROB): * desktop.cc (do_desktop_setup): * desktop.cc (check_startmenu): * desktop.cc (do_desktop): Be more exacting about removal of desktop things. * regedit.cc (remove1): * regedit.cc (remove_app_path): * regedit.h (remove_app_path): remove more registry pieces. * res.rc: * setup.mak (APPVER): * setup.mak (CCV): * setup.mak (OBJS): * setup.mak (LIBS): * setup.mak (distclean): * uninstall.cc: * uninstall.cc (read_installed_db): * uninstall.cc (uninstall_all): Cleanup. 2001-09-08 Andy Piper <andy@xemacs.org> * Makefile.in.in (OBJS): * Makefile.in.in (all): * Makefile.in.in (extraclean): * choose.cc (base): * desktop.cc: * desktop.cc (remove_link): * desktop.cc (start_menu): * desktop.cc (desktop_icon): * desktop.cc (remove_desktop_setup): * desktop.cc (do_desktop_setup): * desktop.cc (load_dialog): * desktop.cc (save_dialog): * desktop.cc (do_desktop): * dialog.h: * download.cc (download_one): * ini.h (pinfo): * main.cc (WinMain): * nio-ie5.cc: * regedit.cc: * regedit.cc (create_xemacs_root): * regedit.cc (set_app_path): * regedit.cc (set_install_path): * regedit.cc (setup_explorer): * regedit.cc (remove_app_path): * regedit.cc (remove_uninstall_path): * regedit.h (remove_app_path): * reginfo.h: * reginfo.h (XEMACS_INFO_XEMACS_ORG_REGISTRY_NAME): * reginfo.h (XEMACS_NATIVE_ARCH_NAME): * res.rc: * resource.h (IDD_UNINSTALL): * resource.h (IDC_TXT_TYPE): * root.cc: * root.cc (browse_cb): * root.cc (set_default_root): * splash.cc (do_splash): * state.h: * state.h (MIRROR_SITE): * uninstall.cc: * uninstall.cc (dialog_proc): * uninstall.cc (progress): * uninstall.cc (uninstall_one): * uninstall.cc (do_uninstall): * uninstall.cc (read_installed_db): * uninstall.cc (uninstall_all): * win32.h: * win32.h (NOCOMATTRIBUTE): Update netinstaller to support uninstallation and register standard file-types. 2001-09-07 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.3 "asparagus" is released. 2001-07-28 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.2 "artichoke" is released. 2001-05-09 Martin Buchholz <martin@xemacs.org> * XEmacs 21.5.1 "anise" is released. 2001-04-18 Martin Buchholz <martin@xemacs.org> * XEmacs 21.5.0 "alfalfa" is released. 2001-03-21 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.46 "Urania" is released. 2001-03-01 Andy Piper <andy@xemacs.org> * desktop.cc (find_xemacs_exe_name): support 21.1 and 21.2 series. * iniparse.c: remove. * inilex.c: remove 2001-02-23 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.45 "Thelxepeia" is released. 2001-02-08 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.44 "Thalia" is released. 2001-02-02 Andy Piper <andy@xemacs.org> * res.rc: update mirrors.lst location. 2001-01-26 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.43 "Terspichore" is released. 2001-01-21 Andy Piper <andy@xemacs.org> * Makefile.in.in (%.o): use CXX to compile * res.rc: beautify download status and install status. * nio-ftp.cc: use xemacs-setup user for identity. 2001-01-20 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.42 "Poseidon" is released. 2001-01-17 Andy Piper <andy@xemacs.org> * ini.h: move extern "C" to aid win32 compilation. From Fabrice Popineau. 2001-01-17 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.41 "Polyhymnia" is released. 2001-01-12 Andy Piper <andy@xemacs.org> * postinstall.cc (do_postinstall): don't pick up shells if cygwin isn't installed. 2001-01-10 Andy Piper <andy@xemacs.org> * README.xemacs: deleted. * README: updated. * tar.cc (tar_gzctell): new function picked up from some internal cygnus version of zlib. * Makefile.in.in (LOCALCFLAGS): use -O2 (OBJS): reinstate autoload. 2001-01-09 Andy Piper <andy@xemacs.org> * root.cc (dialog_cmd): backslash root dir. * desktop.cc (do_desktop): runemacs.exe is the exe to run. * package-net.el (package-net-batch-convert-index-to-ini): new batch command. * Makefile.in.in (setup.ini): new target. Automatically create. (LOCALCFLAGS): use extra_includes. (setup.ini): new target. * regedit.cc (create_xemacs_root): write out the package path. * reginfo.h (XEMACS_NATIVE_ARCH_NAME): arch dir is i386 not i586 2001-01-08 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.40 is released. 2000-12-31 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.39 is released. 2000-12-28 Andy Piper <andy@xemacs.org> * desktop.cc (FROB): add more app paths. 2000-12-24 Fabrice Popineau <Fabrice.Popineau@supelec.fr> * choose.cc (create_listview): CreateWindowEx() does not take this kind of parameter. * choose.cc (package_sort): * hash.cc (rev_len): * site.cc (site_sort): must be __cdecl to be called by qsort(). * download.cc: * install.cc: * nio-file.cc: * tar.cc: because of the redefinition of stat to _stat, the inclusion of win32 headers has to be delayed. * win32.h: added some declarations, such as CDECL if not defined, #define for functions that are not standard in msvc libc (strdup, stat ...) * concat.h, concat.cc (concat): must be declared CDECL * desktop.cc: <io.h> is needed. * dialog.h (NEXT): cast needed, the first parameter of EndDialog() must be a HWND. * diskfull.cc: syntax when declaring GDFS. * ini.cc: Various `extern "C"' declarations: yylineno, yyerror() and fprintf(). Various CDECL declarations: yyerror(), fprintf(). * inilex.l: <stdlib.h> required. * iniparse.y: use strdup(), require "win32.h" and <string.h> * install.cc (dialog): syntax when declaring. CreateDialog() returns a HWND. * postinstall.cc: <io.h> and <stdio.h> are needed. * regedit.cc (find_cygwin_mount): WIN32_NATIVE does not know anything about Cygwin stuff. * setup.mak: new makefile for WIN32_NATIVE. * splash.cc (load_dialog): GetDlgItem() returns a HWND. * tar.cc: msvc knows about __int64, but not `long long'. * win32.h: <winreg.h> is missing for regedit.cc. Also, I ended up in including <windows.h> because the files listed there are not enough for <wininet.h>. * desktop.cc: * fromcwd.cc: * install.cc: * postinstall.cc: <unistd.h> does not exist for WIN32_NATIVE * choose.cc (do_choose): * ini.cc (do_ini): * nio-ftp.cc (ftp_line): the construct (x ?: y) is not standard. 2000-12-24 Andy Piper <andy@xemacs.org> * choose.cc (read_installed_db): grok package versions correctly. * Makefile.in.in: add MINGW define. 2000-12-18 Andy Piper <andy@xemacs.org> * res.rc: better look and feel. 2000-12-18 Andy Piper <andy@xemacs.org> * desktop.cc (do_desktop_setup): more app path fiddling. 2000-12-13 Andy Piper <andy@xemacs.org> * root.cc (dialog_cmd): create the root in the registry if we are successful. * desktop.cc (find_xemacs_exe_path): new function. Split out from find_xemacs_exe (). (find_xemacs_exe_name): ditto. (do_desktop_setup): setup app paths if we are installing xemacs itself. (do_desktop): use new functions. * regedit.cc (create_xemacs_root): fix key name. (find_xemacs_root): set isnative whatever the key value. (set_app_path): new function. Set path for an app. 2000-12-12 Andy Piper <andy@xemacs.org> * package-net.el (package-net-convert-index-to-ini): use sensible defaults. 2000-12-12 Andy Piper <andy@xemacs.org> * reginfo.h: new macros. * iniparse.y: define xemacs_package. * ini.h: declare xemacs_package. * fromcwd.cc (found_file): guess core type from name. * concat.cc: kill warnings. * net.cc: ditto. * choose.cc (do_choose): pick up core package type chosen. * Makefile.in.in: make sure we can pick up a mingw zlib. * desktop.cc: fix desktop icon creation. 2000-11-12 Andy Piper <andy@xemacs.org> * all: port from cygwin setup.