view modules/ChangeLog @ 5157:1fae11d56ad2

redo memory-usage mechanism, add way of dynamically initializing Lisp objects -------------------- ChangeLog entries follow: -------------------- lisp/ChangeLog addition: 2010-03-18 Ben Wing <ben@xemacs.org> * diagnose.el (show-memory-usage): Rewrite to take into account API changes in memory-usage functions. src/ChangeLog addition: 2010-03-18 Ben Wing <ben@xemacs.org> * alloc.c: * alloc.c (disksave_object_finalization_1): * alloc.c (lisp_object_storage_size): * alloc.c (listu): * alloc.c (listn): * alloc.c (Fobject_memory_usage_stats): * alloc.c (compute_memusage_stats_length): * alloc.c (Fobject_memory_usage): * alloc.c (Ftotal_object_memory_usage): * alloc.c (malloced_storage_size): * alloc.c (common_init_alloc_early): * alloc.c (reinit_alloc_objects_early): * alloc.c (reinit_alloc_early): * alloc.c (init_alloc_once_early): * alloc.c (syms_of_alloc): * alloc.c (reinit_vars_of_alloc): * buffer.c: * buffer.c (struct buffer_stats): * buffer.c (compute_buffer_text_usage): * buffer.c (compute_buffer_usage): * buffer.c (buffer_memory_usage): * buffer.c (buffer_objects_create): * buffer.c (syms_of_buffer): * buffer.c (vars_of_buffer): * console-impl.h (struct console_methods): * dynarr.c (Dynarr_memory_usage): * emacs.c (main_1): * events.c (clear_event_resource): * extents.c: * extents.c (compute_buffer_extent_usage): * extents.c (extent_objects_create): * extents.h: * faces.c: * faces.c (compute_face_cachel_usage): * faces.c (face_objects_create): * faces.h: * general-slots.h: * glyphs.c: * glyphs.c (compute_glyph_cachel_usage): * glyphs.c (glyph_objects_create): * glyphs.h: * lisp.h: * lisp.h (struct usage_stats): * lrecord.h: * lrecord.h (enum lrecord_type): * lrecord.h (struct lrecord_implementation): * lrecord.h (MC_ALLOC_CALL_FINALIZER_FOR_DISKSAVE): * lrecord.h (DEFINE_DUMPABLE_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_SIZABLE_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_FROB_BLOCK_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_FROB_BLOCK_SIZABLE_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_INTERNAL_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_SIZABLE_INTERNAL_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_SIZABLE_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_FROB_BLOCK_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_FROB_BLOCK_SIZABLE_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_INTERNAL_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_SIZABLE_INTERNAL_LISP_OBJECT): * lrecord.h (MAKE_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_MODULE_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_MODULE_SIZABLE_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_MODULE_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_MODULE_SIZABLE_LISP_OBJECT): * lrecord.h (MAKE_MODULE_LISP_OBJECT): * lrecord.h (INIT_LISP_OBJECT): * lrecord.h (INIT_MODULE_LISP_OBJECT): * lrecord.h (UNDEF_LISP_OBJECT): * lrecord.h (UNDEF_MODULE_LISP_OBJECT): * lrecord.h (DECLARE_LISP_OBJECT): * lrecord.h (DECLARE_MODULE_API_LISP_OBJECT): * lrecord.h (DECLARE_MODULE_LISP_OBJECT): * lstream.c: * lstream.c (syms_of_lstream): * lstream.c (vars_of_lstream): * marker.c: * marker.c (compute_buffer_marker_usage): * mc-alloc.c (mc_alloced_storage_size): * mc-alloc.h: * mule-charset.c: * mule-charset.c (struct charset_stats): * mule-charset.c (compute_charset_usage): * mule-charset.c (charset_memory_usage): * mule-charset.c (mule_charset_objects_create): * mule-charset.c (syms_of_mule_charset): * mule-charset.c (vars_of_mule_charset): * redisplay.c: * redisplay.c (compute_rune_dynarr_usage): * redisplay.c (compute_display_block_dynarr_usage): * redisplay.c (compute_glyph_block_dynarr_usage): * redisplay.c (compute_display_line_dynarr_usage): * redisplay.c (compute_line_start_cache_dynarr_usage): * redisplay.h: * scrollbar-gtk.c (gtk_compute_scrollbar_instance_usage): * scrollbar-msw.c (mswindows_compute_scrollbar_instance_usage): * scrollbar-x.c (x_compute_scrollbar_instance_usage): * scrollbar.c (compute_scrollbar_instance_usage): * scrollbar.h: * symbols.c: * symbols.c (reinit_symbol_objects_early): * symbols.c (init_symbols_once_early): * symbols.c (reinit_symbols_early): * symbols.c (defsymbol_massage_name_1): * symsinit.h: * ui-gtk.c: * ui-gtk.c (emacs_gtk_object_getprop): * ui-gtk.c (emacs_gtk_object_putprop): * ui-gtk.c (ui_gtk_objects_create): * unicode.c (compute_from_unicode_table_size_1): * unicode.c (compute_to_unicode_table_size_1): * unicode.c (compute_from_unicode_table_size): * unicode.c (compute_to_unicode_table_size): * window.c: * window.c (struct window_stats): * window.c (compute_window_mirror_usage): * window.c (compute_window_usage): * window.c (window_memory_usage): * window.c (window_objects_create): * window.c (syms_of_window): * window.c (vars_of_window): * window.h: Redo memory-usage mechanism, make it general; add way of dynamically initializing Lisp object types -- OBJECT_HAS_METHOD(), similar to CONSOLE_HAS_METHOD(). (1) Create OBJECT_HAS_METHOD(), OBJECT_HAS_PROPERTY() etc. for specifying that a Lisp object type has a particular method or property. Call such methods with OBJECT_METH, MAYBE_OBJECT_METH, OBJECT_METH_OR_GIVEN; retrieve properties with OBJECT_PROPERTY. Methods that formerly required a DEFINE_*GENERAL_LISP_OBJECT() to specify them (getprop, putprop, remprop, plist, disksave) now instead use the dynamic-method mechanism. The main benefit of this is that new methods or properties can be added without requiring that the declaration statements of all existing methods be modified. We have to make the `struct lrecord_implementation' non-const, but I don't think this should have any effect on speed -- the only possible method that's really speed-critical is the mark method, and we already extract those out into a separate (non-const) array for increased cache locality. Object methods need to be reinitialized after pdump, so we put them in separate functions such as face_objects_create(), extent_objects_create() and call them appropriately from emacs.c The only current object property (`memusage_stats_list') that objects can specify is a Lisp object and gets staticpro()ed so it only needs to be set during dump time, but because it references symbols that might not exist in a syms_of_() function, we initialize it in vars_of_(). There is also an object property (`num_extra_memusage_stats') that is automatically initialized based on `memusage_stats_list'; we do that in reinit_vars_of_alloc(), which is called after all vars_of_() functions are called. `disksaver' method was renamed `disksave' to correspond with the name normally given to the function (e.g. disksave_lstream()). (2) Generalize the memory-usage mechanism in `buffer-memory-usage', `window-memory-usage', `charset-memory-usage' into an object-type- specific mechanism called by a single function `object-memory-usage'. (Former function `object-memory-usage' renamed to `total-object-memory-usage'). Generalize the mechanism of different "slices" so that we can have different "classes" of memory described and different "slices" onto each class; `t' separates classes, `nil' separates slices. Currently we have three classes defined: the memory of an object itself, non-Lisp-object memory associated with the object (e.g. arrays or dynarrs stored as fields in the object), and Lisp-object memory associated with the object (other internal Lisp objects stored in the object). This isn't completely finished yet and we might need to further separate the "other internal Lisp objects" class into two classes. The memory-usage mechanism uses a `struct usage_stats' (renamed from `struct overhead_stats') to describe a malloc-view onto a set of allocated memory (listing how much was requested and various types of overhead) and a more general `struct generic_usage_stats' (with a `struct usage_stats' in it) to hold all statistics about object memory. `struct generic_usage_stats' contains an array of 32 Bytecounts, which are statistics of unspecified semantics. The intention is that individual types declare a corresponding struct (e.g. `struct window_stats') with the same structure but with specific fields in place of the array, corresponding to specific statistics. The number of such statistics is an object property computed from the list of tags (Lisp symbols describing the statistics) stored in `memusage_stats_list'. The idea here is to allow particular object types to customize the number and semantics of the statistics where completely avoiding consing. This doesn't matter so much yet, but the intention is to have the memory usage of all objects computed at the end of GC, at the same time as other statistics are currently computed. The values for all statistics for a single type would be added up to compute aggregate values for all objects of a specific type. To make this efficient, we can't allow any memory allocation at all. (3) Create some additional functions for creating lists that specify the elements directly as args rather than indirectly through an array: listn() (number of args given), listu() (list terminated by Qunbound). (4) Delete a bit of remaining unused C window_config stuff, also unused lrecord_type_popup_data.
author Ben Wing <ben@xemacs.org>
date Thu, 18 Mar 2010 10:50:06 -0500
parents 186aebf7f6c6
children 11ed8768ac4f
line wrap: on
line source

2010-03-12  Ben Wing  <ben@xemacs.org>

	* base64/base64.c:
	* base64/base64.c (Fbase64_encode):
	* base64/base64.c (Fbase64_decode):
	* base64/base64.c (syms_of_base64):
	Fix file to follow GNU coding standards for indentation, spacing
	before parens.

2010-03-13  Ben Wing  <ben@xemacs.org>

	* postgresql/postgresql.c (print_pgconn):
	* postgresql/postgresql.c (print_pgresult):
	printing_unreadable_object -> printing_unreadable_object_fmt.

2010-03-13  Ben Wing  <ben@xemacs.org>

	* ldap/eldap.c (print_ldap):
	printing_unreadable_object -> printing_unreadable_object_fmt.

2010-03-07  Ben Wing  <ben@xemacs.org>

	* postgresql/postgresql.c (finalize_pgconn):
	* postgresql/postgresql.c (finalize_pgresult):
	* ldap/eldap.c (finalize_ldap):
	Fix the finalizers to go with the new calling sequence.  Done
	previously but somehow got lost.

2010-03-05  Ben Wing  <ben@xemacs.org>

	* postgresql/postgresql.c (allocate_pgconn):
	* postgresql/postgresql.c (allocate_pgresult):
	* postgresql/postgresql.h (struct Lisp_PGconn):
	* postgresql/postgresql.h (struct Lisp_PGresult):
	* ldap/eldap.c (allocate_ldap):
	* ldap/eldap.h (struct Lisp_LDAP):
	Same changes as in src/ dir.  See large log there in ChangeLog,
	but basically:

	ALLOC_LISP_OBJECT -> ALLOC_NORMAL_LISP_OBJECT
	LISP_OBJECT_HEADER -> NORMAL_LISP_OBJECT_HEADER

2010-02-06  Ben Wing  <ben@xemacs.org>

	* canna/canna_api.c:
	* canna/canna_api.c (storeResults):
	* canna/canna_api.c (Fcanna_set_bunsetsu):
	* canna/canna_api.c (Fcanna_initialize):
	* canna/canna_api.c (Fcanna_store_yomi):
	* canna/canna_api.c (Fcanna_henkan_end):
	Convert file to utf-8.

2010-02-05  Ben Wing  <ben@xemacs.org>

	* postgresql/postgresql.c:
	* postgresql/postgresql.c (CHECK_LIVE_CONNECTION):
	* postgresql/postgresql.c (Fpq_connectdb):
	* postgresql/postgresql.c (Fpq_connect_start):
	* postgresql/postgresql.c (Fpq_lo_import):
	* postgresql/postgresql.c (Fpq_lo_export):
	* ldap/eldap.c (Fldap_open):
	* ldap/eldap.c (Fldap_search_basic):
	* ldap/eldap.c (Fldap_add):
	* ldap/eldap.c (Fldap_modify):
	* ldap/eldap.c (Fldap_delete):
	* canna/canna_api.c (Fcanna_initialize):
	* canna/canna_api.c (Fcanna_store_yomi):
	* canna/canna_api.c (Fcanna_parse):
	* canna/canna_api.c (Fcanna_henkan_begin):
	EXTERNAL_TO_C_STRING returns its argument instead of storing it
	in a parameter, and is renamed to EXTERNAL_TO_ITEXT.  Similar
	things happen to related macros.  See entry in src/ChangeLog.

	More Mule-izing of postgresql.c.  Extract out common code
	between `pq-connectdb' and `pq-connect-start'.  Fix places
	that signal an error string using a formatted string to instead
	follow the standard and have a fixed reason followed by the
	particular error message stored as one of the frobs.

2010-01-27  Ben Wing  <ben@xemacs.org>

	* postgresql/postgresql.c (print_pgconn):
	* postgresql/postgresql.c (print_pgresult):
	* postgresql/postgresql.c (Fpq_conn_defaults):
	* postgresql/postgresql.c (Fpq_pgconn):
	* postgresql/postgresql.c (Fpq_res_status):
	* postgresql/postgresql.c (Fpq_result_error_message):
	* postgresql/postgresql.c (Fpq_fname):
	* postgresql/postgresql.c (Fpq_get_value):
	* postgresql/postgresql.c (Fpq_cmd_status):
	* postgresql/postgresql.c (Fpq_cmd_tuples):
	* postgresql/postgresql.c (Fpq_notifies):
	* postgresql/postgresql.c (Fpq_get_line):
	* postgresql/postgresql.c (Fpq_get_line_async):
	* postgresql/postgresql.c (FROB):
	* postgresql/postgresql.c (init_postgresql_from_environment):
	* ldap/eldap.c:
	* ldap/eldap.c (Fldap_open):
	* ldap/eldap.c (Fldap_search_basic):
	* canna/canna_api.c:
	* canna/canna_api.c (make_euc_string):
	Rename:

	write_c_string -> write_cistring
	build_intstring -> build_istring
	build_string -> build_cistring
	build_ext_string -> build_extstring
	make_ext_string -> make_extstring
	buffer_insert_c_string -> buffer_insert_ascstring
	intern_int -> intern_istring

	See comment in src/ChangeLog about this.
	
2010-01-26  Ben Wing  <ben@xemacs.org>

	* postgresql/postgresql.c:
	* postgresql/postgresql.c (CHECK_LIVE_CONNECTION):
	* postgresql/postgresql.c (print_pgresult):
	* postgresql/postgresql.c (Fpq_conn_defaults):
	* postgresql/postgresql.c (Fpq_connectdb):
	* postgresql/postgresql.c (Fpq_connect_start):
	* postgresql/postgresql.c (Fpq_result_status):
	* postgresql/postgresql.c (Fpq_res_status):
	Mule-ize large parts of it.  

2010-01-26  Ben Wing  <ben@xemacs.org>

	* ldap/eldap.c (print_ldap):
	* ldap/eldap.c (allocate_ldap):
	Use write_ascstring().

2010-01-24  Ben Wing  <ben@xemacs.org>

	* postgresql/postgresql.c (CHECK_LIVE_CONNECTION):
	* postgresql/postgresql.c (print_pgconn):
	* postgresql/postgresql.c (Fpq_connectdb):
	* postgresql/postgresql.c (Fpq_connect_start):
	* postgresql/postgresql.c (Fpq_exec):
	* postgresql/postgresql.c (Fpq_get_result):
	Fix g++ 4.3 complaints about implicit conversions of string
	literals (const char *) to char *.

2010-01-16  Ben Wing  <ben@xemacs.org>

	* common/Makefile.common:
	* common/Makefile.common (.PHONY):
	Use WIN32_ANY not HAVE_MS_WINDOWS so we still link with the
	import library even when --with-msw=no.

2010-01-11  Ben Wing  <ben@xemacs.org>

	* ldap/eldap.c (Fldap_search_basic):
	Cast to Extbyte * to avoid C++ compile error.

2009-11-10  Jerry James  <james@xemacs.org>

	* canna/canna_api.c (Fcanna_initialize): Drop support for the NEC EWS.

2009-11-09  Jerry James  <james@xemacs.org>

	* sample/external/Makefile.in.in: Clarify GPL status.
	* sample/external/configure.ac: Ditto.
	* sample/external/sample.c: Ditto.
	* sample/internal/sample.c: Ditto.

2009-10-05  Jerry James  <james@xemacs.org>

	* ldap/eldap.c (Fldap_search_basic): quiet gcc warnings due to
	NEW_LISP_STRING_TO_EXTERNAL modifying a variable while computing a
	result to be passed as a parameter.

2009-05-18  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.29 "garbanzo" is released.

2008-02-12  Jerry James  <james@xemacs.org>

	* canna/install-sh: Update to latest FSF version.
	* ldap/install-sh: Ditto.
	* postgresql/install-sh: Ditto.
	* sample/external/install-sh: Ditto.
	* sample/internal/install-sh: Ditto.

2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* canna/canna_api.c (Fcanna_set_bunsetsu):
	(Fcanna_initialize):
	Suppress warnings about loss of precision on amd64.

2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* ldap/eldap.h: Declare that we use deprecated API.
	Thanks to Mats Lidell <matsl@xemacs.org> for the report & patch:
	<871wgnqunm.fsf@spencer.lidell.homelinux.net>.

2007-05-21  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.28 "fuki" is released.

2007-02-16  Stephen J. Turnbull  <stephen@xemacs.org>

	* canna/canna_api.c: Move CANNA_NEW_WCHAR_AWARE to config.h.
	Clean up ancient cruft for IROHA (Canna v.1) support.

2007-02-08  Adrian Aichner  <adrian@xemacs.org>

	* postgresql/postgresql.c: Update Steve L. Baur's address on his
	request.
	* postgresql/postgresql.h: Ditto.

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-12-18  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.24 "dandelion" is released.

2005-11-22  Ben Wing  <ben@xemacs.org>

	* common/Makefile.common (mostlyclean):
	Ignore errors from rm during clean.

2005-11-16  Stephen J. Turnbull  <stephen@xemacs.org>

	* canna/canna_api.c: Small fixes to Mule-ization patch.

2005-11-01  Ben Wing  <ben@xemacs.org>

	* canna/canna_api.c: Mule-ization.

2005-11-13  Ben Wing  <ben@xemacs.org>

	* common/Makefile.common:
	* common/Makefile.common (.PHONY):
	* common/Makefile.common (install):
	Add targets distclean-noconfig, realclean-noconfig, extraclean-noconfig.
	Do some refactoring for cleanliness.  Put in some magic cookies in
	comments so this file gets read as a make file by XEmacs.

2005-11-02  Marcus Crestani  <crestani@xemacs.org>

	* canna/.cvsignore: New.

2005-10-26  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.23 "daikon" is released.

2005-10-22  Stephen J. Turnbull  <stephen@xemacs.org>

	Warning elimination:

	* ldap/eldap.c (Fldap_add): Remove declaration of `current', which
	is now declared by EXTERNAL_LIST_LOOP_2.
	(Fldap_modify): Remove redundant variable `gcpro2',

2005-10-25  Ben Wing  <ben@xemacs.org>

	* postgresql/postgresql.c (allocate_pgconn):
	* postgresql/postgresql.c (allocate_pgresult):
	* postgresql/postgresql.h (struct Lisp_PGconn):
	* postgresql/postgresql.h (struct Lisp_PGresult):
	MC-Alloc refactoring.

2005-10-25  Ben Wing  <ben@xemacs.org>

	* ldap/eldap.c (allocate_ldap):
	* ldap/eldap.h (struct Lisp_LDAP):
	MC-Alloc refactoring.

2005-10-21  Stephen J. Turnbull  <stephen@xemacs.org>

	UNDO:
	* canna/canna-api.c:
	* canna/Makefile.in.in (MODNAME,SRCS):
	Rename module from canna_api to canna-api.

2005-10-21  Stephen J. Turnbull  <stephen@xemacs.org>

	* canna/configure: Create and CVS add.

2005-10-04  Stephen J. Turnbull  <stephen@xemacs.org>

	* canna/Makefile.in.in (MODVER): Bump to 0.5.

	* canna/canna-api.c:
	* canna/Makefile.in.in (MODNAME,SRCS):
	Rename module from canna_api to canna-api.

2005-09-22  Stephen J. Turnbull  <stephen@xemacs.org>

	* canna: New module.

	* canna/canna_api.c: Move from $srcdir/src/mule-canna.c.  Add module
	initialization function and some boilerplate.  Change name to
	canna_api to reflect changed role.

	* canna/configure.ac:
	* canna/Makefile.in.in:
	* canna/install-sh:
	Standard module boilerplate, adapted to Canna.

2005-09-14  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.22 "cucumber" is released.

2005-06-09  Craig Lanning  <CraigL@sc.rr.com>

	* ldap/.cvsignore:
	* sample/external/.cvsignore:
	* sample/internal/.cvsignore:
	Added GNUmakefile, Makefile, and Makefile.in

2005-05-28  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.21 "corn" is released.

2005-04-01  Marcus Crestani  <crestani@xemacs.org>

	The new allocator.

	Remove Lcrecords:
	
	* postgresql/postgresql.c (allocate_pgconn): Allocate with new
	allocator.
	* postgresql/postgresql.c (allocate_pgresult): Allocate PGresult
	with new allocator.  
	* postgresql/postgresql.h (struct Lisp_PGconn): Add
        lrecord_header.
	* postgresql/postgresql.h (struct Lisp_PGresult): Add 
	lrecord_header.
	* ldap/eldap.c (allocate_ldap): Allocate with new allocator.
	* ldap/eldap.h (struct Lisp_LDAP): Add lrecord_header.

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-13  Ben Wing  <ben@xemacs.org>

	* ldap/eldap.c (Fldap_modify):
	Need braces around EXTERNAL_LIST_LOOP_2.

2004-01-28  Stephen J. Turnbull  <stephen@xemacs.org>

	* common/Makefile.common (CFLAGS): Use XE_CFLAGS.

2004-10-27  Ben Wing  <ben@xemacs.org>

	* ldap/eldap.c:
	* ldap/eldap.c (Fldap_open):
	* ldap/eldap.c (Fldap_search_basic):
	* ldap/eldap.c (Fldap_add):
	* ldap/eldap.c (Fldap_modify):
	* ldap/eldap.c (Fldap_delete):
	Mule-ize.
	Use EXTERNAL_LIST_LOOP_2 instead of deleted EXTERNAL_LIST_LOOP.

2004-10-22  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.18 "chestnut" is released.

2004-09-14  Jerry James  <james@xemacs.org>

	* postgresql/postgresql.c:
	* ldap/eldap.c:
	Mark unused parameters with the UNUSED macro.

2004-09-14  Jerry James  <james@xemacs.org>

	* ldap/eldap.c (Fldap_open): Change ldap_passwd to ldap_password
	to eliminate a gcc shadow warning.

2004-09-13  Jerry James  <james@xemacs.org>

	* ldap/eldap.c (signal_ldap_error): Mark as noreturn.

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-21  Jerry James  <james@xemacs.org>

	* postgresql/postgresql.c (unload_postgresql): Do not mangle the
	unload function name when compiling with C++.
	* ldap/eldap.c (unload_eldap): Ditto.

2003-09-03  Steve Youngs  <youngs@xemacs.org>

	* XEmacs 21.5.15 "celery" is released.

2003-08-28  Jerry James  <james@xemacs.org>

	* common/Makefile.common (LIBSTDCPP): New.
	* common/Makefile.common (.c.o): Use it to avoid undefined symbol
	errors when compiling  modules with g++.

2003-08-18  Jerry James  <james@xemacs.org>

	* postgresql/postgresql.c: Include emodules.h when building a module.
	* ldap/eldap.c: Ditto.
	* common/Makefile.common: Make module makefiles processable by cpp.
	* common/Makefile.common (IMPORT_LIB): New.
	* common/Makefile.common: Use it.

2003-06-11  Jerry James  <james@xemacs.org>

	* common/Makefile.common: The last change re-broke FreeBSD module
	building.  Expand srcdir in SRC_SRCS with configure to fix it.

2003-06-10  Jerry James  <james@xemacs.org>

	* common/Makefile.common: Change GNUish := to =.

2003-06-01  Steve Youngs  <youngs@xemacs.org>

	* XEmacs 21.5.14 "cassava" is released.

2003-05-09  Andrew Begel  <abegel@CS.Berkeley.EDU>

	* common/Makefile.common: Move use of srcdir below its definition.
	* sample/internal/Makefile.in.in: Ditto.
	* sample/external/Makefile.in.in: Ditto.

2003-05-20  Jerry James  <james@xemacs.org>

	* sample/internal/Makefile.in.in: Expand $^ for makes that don't
	understand it.
	* sample/external/Makefile.in.in: Ditto.
	* common/Makefile.common: Ditto.

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-02-07  Jerry James  <james@xemacs.org>

	* ldap/eldap.c: Add unload_eldap prototype to fix warning.

2003-01-30  Robert Pluim  <rpluim@bigfoot.com>

	* Makefile.common: FreeBSD make compatability fixes: expand
	SRC_SRCS immediately, use MODCC rather than CC to prevent
	overriding by top-level makefile.

2003-01-15  Jerry James  <james@eecs.ku.edu>

	* ldap/eldap.c: Apply Ben's postgresql change to LDAP also.

2002-12-16  Ben Wing  <ben@xemacs.org>

	* postgresql/postgresql.c:
	remove ifdef USE_KKCC.

2003-01-04  Steve Youngs  <youngs@xemacs.org>

	* XEmacs 21.5.10 "burdock" is released.

2002-11-17  Ben Wing  <ben@xemacs.org>

	* postgresql/Makefile.in.in:
	* postgresql/Makefile.in.in (SRCS):
	* postgresql/Makefile.in.in (SRC_SRCS): Removed.
	* postgresql/Makefile.in.in (OBJS): Removed.
	* postgresql/Makefile.in.in (SHELL): Removed.
	* postgresql/Makefile.in.in (RM): Removed.
	* postgresql/Makefile.in.in (PROGNAME): Removed.
	* postgresql/Makefile.in.in (CFLAGS): Removed.
	* postgresql/Makefile.in.in (INSTALL): Removed.
	* postgresql/Makefile.in.in (version): Removed.
	* postgresql/Makefile.in.in (prefix): Removed.
	* postgresql/Makefile.in.in (exec_prefix): Removed.
	* postgresql/Makefile.in.in (libdir): Removed.
	* postgresql/Makefile.in.in (instvardir): Removed.
	* postgresql/Makefile.in.in (configuration): Removed.
	* postgresql/Makefile.in.in (moduledir): Removed.
	* postgresql/Makefile.in.in (with_modules): Removed.
	* postgresql/Makefile.in.in (srcdir): Removed.
	* postgresql/Makefile.in.in (VPATH): Removed.
	* postgresql/Makefile.in.in (CC): Removed.
	* postgresql/Makefile.in.in (MODARCHDIR): Removed.
	* postgresql/Makefile.in.in (MAKE_DOCFILE): Removed.
	* postgresql/Makefile.in.in (MODCFLAGS): Removed.
	* postgresql/Makefile.in.in (INSTALLPATH): Removed.
	* postgresql/Makefile.in.in (INSTALL_PROGRAM): Removed.
	* postgresql/Makefile.in.in (OBJECT_TO_BUILD): Removed.
	* postgresql/Makefile.in.in (.PHONY): Removed.
	* postgresql/Makefile.in.in (all): Removed.
	* postgresql/Makefile.in.in (.c.o): Removed.
	* postgresql/Makefile.in.in (clean): Removed.
	* postgresql/Makefile.in.in (distclean): Removed.
	* postgresql/Makefile.in.in (install): Removed.
	Move common stuff into modues/common/Makefile.common. (Also
	add extraclean target and a couple of other fixes in that file.)

	* postgresql/configure.ac:
	Extract out common configure stuff into
	modules/common/configure-{pre,post}.ac.

	* postgresql/postgresql.c (WARNING):
	Fix warning.

2002-11-17  Ben Wing  <ben@xemacs.org>

	* ldap/Makefile.in.in:
	* ldap/Makefile.in.in (SRCS):
	* ldap/Makefile.in.in (SRC_SRCS): Removed.
	* ldap/Makefile.in.in (OBJS): Removed.
	* ldap/Makefile.in.in (SHELL): Removed.
	* ldap/Makefile.in.in (RM): Removed.
	* ldap/Makefile.in.in (PROGNAME): Removed.
	* ldap/Makefile.in.in (CFLAGS): Removed.
	* ldap/Makefile.in.in (INSTALL): Removed.
	* ldap/Makefile.in.in (version): Removed.
	* ldap/Makefile.in.in (prefix): Removed.
	* ldap/Makefile.in.in (exec_prefix): Removed.
	* ldap/Makefile.in.in (libdir): Removed.
	* ldap/Makefile.in.in (instvardir): Removed.
	* ldap/Makefile.in.in (configuration): Removed.
	* ldap/Makefile.in.in (moduledir): Removed.
	* ldap/Makefile.in.in (with_modules): Removed.
	* ldap/Makefile.in.in (srcdir): Removed.
	* ldap/Makefile.in.in (VPATH): Removed.
	* ldap/Makefile.in.in (CC): Removed.
	* ldap/Makefile.in.in (MODARCHDIR): Removed.
	* ldap/Makefile.in.in (MAKE_DOCFILE): Removed.
	* ldap/Makefile.in.in (MODCFLAGS): Removed.
	* ldap/Makefile.in.in (INSTALLPATH): Removed.
	* ldap/Makefile.in.in (INSTALL_PROGRAM): Removed.
	* ldap/Makefile.in.in (OBJECT_TO_BUILD): Removed.
	* ldap/Makefile.in.in (.PHONY): Removed.
	* ldap/Makefile.in.in (all): Removed.
	* ldap/Makefile.in.in (.c.o): Removed.
	* ldap/Makefile.in.in (clean): Removed.
	* ldap/Makefile.in.in (distclean): Removed.
	* ldap/Makefile.in.in (install): Removed.
	Move common stuff into modues/common/Makefile.common. (Also
	add extraclean target and a couple of other fixes in that file.)

	* ldap/configure.ac:
	* ldap/configure.ac (have_ldap):
	Extract out common configure stuff into
	modules/common/configure-{pre,post}.ac.

2002-11-17  Ben Wing  <ben@xemacs.org>

	* common/Makefile.common:
	* common/Makefile.common (SHELL):
	Common stuff is here.

2002-09-20  Steve Youngs  <youngs@xemacs.org>

	* postgresql/Makefile.in.in (LDFLAGS): Add @ld_switch_all@ to pick
	up '--site-libraries'.

	* ldap/Makefile.in.in (LDFLAGS): Ditto.

2002-08-08  Jerry James  <james@xemacs.org>

	* auto-autoloads.el: New file containing module autoloads.
	* auto-autoloads.elc: Ditto.
	* README: Update to reflect the new architecture.
	* ldap/configure.ac: New file.
	* ldap/configure: Ditto.
	* ldap/eldap.h: Copy the version from src.
	* ldap/eldap.c: Ditto.  Add autoloads.
	* ldap/eldap.c (unload_eldap): New function to unstaticpro symbols
	defined in this file.
	* ldap/install-sh: New script for independent module building.
	* ldap/Makefile: Remove in favor of autoconf solution.
	* ldap/Makefile.in.in: New file containing the autoconf solution.
	* postgresql: New directory.
	* postgresql/.cvsignore: New file.
	* postgresql/configure.ac: Ditto.
	* postgresql/configure: Ditto.
	* postgresql/install-sh: New script for independent module
	building.
	* postgresql/Makefile.in.in: New file.
	* postgresql/postgresql.h: Copy the version from src.
	* postgresql/postgresql.c: Ditto.  Add autoloads.
	* sample/Makefile: Move to internal and external subdirectories.
	* sample/sample.c: Ditto.
	* sample/external: New directory containing sample external
	modules.
	* sample/external/.cvsignore: New file.
	* sample/external/configure.ac: Ditto.
	* sample/external/install-sh: Ditto.
	* sample/external/Makefile.in.in: New.
	* sample/external/sample.c: Move from next higher directory.
	* sample/internal: New directory containing sample internal
	modules.
	* sample/internal/.cvsignore: New file.
	* sample/internal/configure.ac: Ditto.
	* sample/internal/install-sh: Ditto.
	* sample/internal/Makefile.in.in: New.
	* sample/internal/sample.c: Move from next higher directory.

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-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-02-14  Sean MacLennan  <seanm@seanm.ca>

	* base64/base64.c - update Bufpos => Charbpos