view modules/ChangeLog @ 5127:a9c41067dd88 ben-lisp-object

more cleanups, terminology clarification, lots of doc work -------------------- ChangeLog entries follow: -------------------- man/ChangeLog addition: 2010-03-05 Ben Wing <ben@xemacs.org> * internals/internals.texi (Introduction to Allocation): * internals/internals.texi (Integers and Characters): * internals/internals.texi (Allocation from Frob Blocks): * internals/internals.texi (lrecords): * internals/internals.texi (Low-level allocation): Rewrite section on allocation of Lisp objects to reflect the new reality. Remove references to nonexistent XSETINT and XSETCHAR. modules/ChangeLog addition: 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 ../hlo/src/ChangeLog addition: 2010-03-05 Ben Wing <ben@xemacs.org> * alloc.c: * alloc.c (old_alloc_sized_lcrecord): * alloc.c (very_old_free_lcrecord): * alloc.c (copy_lisp_object): * alloc.c (zero_sized_lisp_object): * alloc.c (zero_nonsized_lisp_object): * alloc.c (lisp_object_storage_size): * alloc.c (free_normal_lisp_object): * alloc.c (FREE_FIXED_TYPE_WHEN_NOT_IN_GC): * alloc.c (ALLOC_FROB_BLOCK_LISP_OBJECT): * alloc.c (Fcons): * alloc.c (noseeum_cons): * alloc.c (make_float): * alloc.c (make_bignum): * alloc.c (make_bignum_bg): * alloc.c (make_ratio): * alloc.c (make_ratio_bg): * alloc.c (make_ratio_rt): * alloc.c (make_bigfloat): * alloc.c (make_bigfloat_bf): * alloc.c (size_vector): * alloc.c (make_compiled_function): * alloc.c (Fmake_symbol): * alloc.c (allocate_extent): * alloc.c (allocate_event): * alloc.c (make_key_data): * alloc.c (make_button_data): * alloc.c (make_motion_data): * alloc.c (make_process_data): * alloc.c (make_timeout_data): * alloc.c (make_magic_data): * alloc.c (make_magic_eval_data): * alloc.c (make_eval_data): * alloc.c (make_misc_user_data): * alloc.c (Fmake_marker): * alloc.c (noseeum_make_marker): * alloc.c (size_string_direct_data): * alloc.c (make_uninit_string): * alloc.c (make_string_nocopy): * alloc.c (mark_lcrecord_list): * alloc.c (alloc_managed_lcrecord): * alloc.c (free_managed_lcrecord): * alloc.c (sweep_lcrecords_1): * alloc.c (malloced_storage_size): * buffer.c (allocate_buffer): * buffer.c (compute_buffer_usage): * buffer.c (DEFVAR_BUFFER_LOCAL_1): * buffer.c (nuke_all_buffer_slots): * buffer.c (common_init_complex_vars_of_buffer): * buffer.h (struct buffer_text): * buffer.h (struct buffer): * bytecode.c: * bytecode.c (make_compiled_function_args): * bytecode.c (size_compiled_function_args): * bytecode.h (struct compiled_function_args): * casetab.c (allocate_case_table): * casetab.h (struct Lisp_Case_Table): * charset.h (struct Lisp_Charset): * chartab.c (fill_char_table): * chartab.c (Fmake_char_table): * chartab.c (make_char_table_entry): * chartab.c (copy_char_table_entry): * chartab.c (Fcopy_char_table): * chartab.c (put_char_table): * chartab.h (struct Lisp_Char_Table_Entry): * chartab.h (struct Lisp_Char_Table): * console-gtk-impl.h (struct gtk_device): * console-gtk-impl.h (struct gtk_frame): * console-impl.h (struct console): * console-msw-impl.h (struct Lisp_Devmode): * console-msw-impl.h (struct mswindows_device): * console-msw-impl.h (struct msprinter_device): * console-msw-impl.h (struct mswindows_frame): * console-msw-impl.h (struct mswindows_dialog_id): * console-stream-impl.h (struct stream_console): * console-stream.c (stream_init_console): * console-tty-impl.h (struct tty_console): * console-tty-impl.h (struct tty_device): * console-tty.c (allocate_tty_console_struct): * console-x-impl.h (struct x_device): * console-x-impl.h (struct x_frame): * console.c (allocate_console): * console.c (nuke_all_console_slots): * console.c (DEFVAR_CONSOLE_LOCAL_1): * console.c (common_init_complex_vars_of_console): * data.c (make_weak_list): * data.c (make_weak_box): * data.c (make_ephemeron): * database.c: * database.c (struct Lisp_Database): * database.c (allocate_database): * database.c (finalize_database): * device-gtk.c (allocate_gtk_device_struct): * device-impl.h (struct device): * device-msw.c: * device-msw.c (mswindows_init_device): * device-msw.c (msprinter_init_device): * device-msw.c (finalize_devmode): * device-msw.c (allocate_devmode): * device-tty.c (allocate_tty_device_struct): * device-x.c (allocate_x_device_struct): * device.c: * device.c (nuke_all_device_slots): * device.c (allocate_device): * dialog-msw.c (handle_question_dialog_box): * elhash.c: * elhash.c (struct Lisp_Hash_Table): * elhash.c (finalize_hash_table): * elhash.c (make_general_lisp_hash_table): * elhash.c (Fcopy_hash_table): * elhash.h (htentry): * emacs.c (main_1): * eval.c: * eval.c (size_multiple_value): * event-stream.c (finalize_command_builder): * event-stream.c (allocate_command_builder): * event-stream.c (free_command_builder): * event-stream.c (event_stream_generate_wakeup): * event-stream.c (event_stream_resignal_wakeup): * event-stream.c (event_stream_disable_wakeup): * event-stream.c (event_stream_wakeup_pending_p): * events.h (struct Lisp_Timeout): * events.h (struct command_builder): * extents-impl.h: * extents-impl.h (struct extent_auxiliary): * extents-impl.h (struct extent_info): * extents-impl.h (set_extent_no_chase_aux_field): * extents-impl.h (set_extent_no_chase_normal_field): * extents.c: * extents.c (gap_array_marker): * extents.c (gap_array): * extents.c (extent_list_marker): * extents.c (extent_list): * extents.c (stack_of_extents): * extents.c (gap_array_make_marker): * extents.c (extent_list_make_marker): * extents.c (allocate_extent_list): * extents.c (SLOT): * extents.c (mark_extent_auxiliary): * extents.c (allocate_extent_auxiliary): * extents.c (attach_extent_auxiliary): * extents.c (size_gap_array): * extents.c (finalize_extent_info): * extents.c (allocate_extent_info): * extents.c (uninit_buffer_extents): * extents.c (allocate_soe): * extents.c (copy_extent): * extents.c (vars_of_extents): * extents.h: * faces.c (allocate_face): * faces.h (struct Lisp_Face): * faces.h (struct face_cachel): * file-coding.c: * file-coding.c (finalize_coding_system): * file-coding.c (sizeof_coding_system): * file-coding.c (Fcopy_coding_system): * file-coding.h (struct Lisp_Coding_System): * file-coding.h (MARKED_SLOT): * fns.c (size_bit_vector): * font-mgr.c: * font-mgr.c (finalize_fc_pattern): * font-mgr.c (print_fc_pattern): * font-mgr.c (Ffc_pattern_p): * font-mgr.c (Ffc_pattern_create): * font-mgr.c (Ffc_name_parse): * font-mgr.c (Ffc_name_unparse): * font-mgr.c (Ffc_pattern_duplicate): * font-mgr.c (Ffc_pattern_add): * font-mgr.c (Ffc_pattern_del): * font-mgr.c (Ffc_pattern_get): * font-mgr.c (fc_config_create_using): * font-mgr.c (fc_strlist_to_lisp_using): * font-mgr.c (fontset_to_list): * font-mgr.c (Ffc_config_p): * font-mgr.c (Ffc_config_up_to_date): * font-mgr.c (Ffc_config_build_fonts): * font-mgr.c (Ffc_config_get_cache): * font-mgr.c (Ffc_config_get_fonts): * font-mgr.c (Ffc_config_set_current): * font-mgr.c (Ffc_config_get_blanks): * font-mgr.c (Ffc_config_get_rescan_interval): * font-mgr.c (Ffc_config_set_rescan_interval): * font-mgr.c (Ffc_config_app_font_add_file): * font-mgr.c (Ffc_config_app_font_add_dir): * font-mgr.c (Ffc_config_app_font_clear): * font-mgr.c (size): * font-mgr.c (Ffc_config_substitute): * font-mgr.c (Ffc_font_render_prepare): * font-mgr.c (Ffc_font_match): * font-mgr.c (Ffc_font_sort): * font-mgr.c (finalize_fc_config): * font-mgr.c (print_fc_config): * font-mgr.h: * font-mgr.h (struct fc_pattern): * font-mgr.h (XFC_PATTERN): * font-mgr.h (struct fc_config): * font-mgr.h (XFC_CONFIG): * frame-gtk.c (allocate_gtk_frame_struct): * frame-impl.h (struct frame): * frame-msw.c (mswindows_init_frame_1): * frame-x.c (allocate_x_frame_struct): * frame.c (nuke_all_frame_slots): * frame.c (allocate_frame_core): * gc.c: * gc.c (GC_CHECK_NOT_FREE): * glyphs.c (finalize_image_instance): * glyphs.c (allocate_image_instance): * glyphs.c (Fcolorize_image_instance): * glyphs.c (allocate_glyph): * glyphs.c (unmap_subwindow_instance_cache_mapper): * glyphs.c (register_ignored_expose): * glyphs.h (struct Lisp_Image_Instance): * glyphs.h (struct Lisp_Glyph): * glyphs.h (struct glyph_cachel): * glyphs.h (struct expose_ignore): * gui.c (allocate_gui_item): * gui.h (struct Lisp_Gui_Item): * keymap.c (struct Lisp_Keymap): * keymap.c (make_keymap): * lisp.h: * lisp.h (struct Lisp_String_Direct_Data): * lisp.h (struct Lisp_String_Indirect_Data): * lisp.h (struct Lisp_Vector): * lisp.h (struct Lisp_Bit_Vector): * lisp.h (DECLARE_INLINE_LISP_BIT_VECTOR): * lisp.h (struct weak_box): * lisp.h (struct ephemeron): * lisp.h (struct weak_list): * lrecord.h: * lrecord.h (struct lrecord_implementation): * lrecord.h (MC_ALLOC_CALL_FINALIZER): * lrecord.h (struct lcrecord_list): * lstream.c (finalize_lstream): * lstream.c (sizeof_lstream): * lstream.c (Lstream_new): * lstream.c (Lstream_delete): * lstream.h (struct lstream): * marker.c: * marker.c (finalize_marker): * marker.c (compute_buffer_marker_usage): * mule-charset.c: * mule-charset.c (make_charset): * mule-charset.c (compute_charset_usage): * objects-impl.h (struct Lisp_Color_Instance): * objects-impl.h (struct Lisp_Font_Instance): * objects-tty-impl.h (struct tty_color_instance_data): * objects-tty-impl.h (struct tty_font_instance_data): * objects-tty.c (tty_initialize_color_instance): * objects-tty.c (tty_initialize_font_instance): * objects.c (finalize_color_instance): * objects.c (Fmake_color_instance): * objects.c (finalize_font_instance): * objects.c (Fmake_font_instance): * objects.c (reinit_vars_of_objects): * opaque.c: * opaque.c (sizeof_opaque): * opaque.c (make_opaque_ptr): * opaque.c (free_opaque_ptr): * opaque.h: * opaque.h (Lisp_Opaque): * opaque.h (Lisp_Opaque_Ptr): * print.c (printing_unreadable_lcrecord): * print.c (external_object_printer): * print.c (debug_p4): * process.c (finalize_process): * process.c (make_process_internal): * procimpl.h (struct Lisp_Process): * rangetab.c (Fmake_range_table): * rangetab.c (Fcopy_range_table): * rangetab.h (struct Lisp_Range_Table): * scrollbar.c: * scrollbar.c (create_scrollbar_instance): * scrollbar.c (compute_scrollbar_instance_usage): * scrollbar.h (struct scrollbar_instance): * specifier.c (finalize_specifier): * specifier.c (sizeof_specifier): * specifier.c (set_specifier_caching): * specifier.h (struct Lisp_Specifier): * specifier.h (struct specifier_caching): * symeval.h: * symeval.h (SYMBOL_VALUE_MAGIC_P): * symeval.h (DEFVAR_SYMVAL_FWD): * symsinit.h: * syntax.c (init_buffer_syntax_cache): * syntax.h (struct syntax_cache): * toolbar.c: * toolbar.c (allocate_toolbar_button): * toolbar.c (update_toolbar_button): * toolbar.h (struct toolbar_button): * tooltalk.c (struct Lisp_Tooltalk_Message): * tooltalk.c (make_tooltalk_message): * tooltalk.c (struct Lisp_Tooltalk_Pattern): * tooltalk.c (make_tooltalk_pattern): * ui-gtk.c: * ui-gtk.c (allocate_ffi_data): * ui-gtk.c (emacs_gtk_object_finalizer): * ui-gtk.c (allocate_emacs_gtk_object_data): * ui-gtk.c (allocate_emacs_gtk_boxed_data): * ui-gtk.h: * window-impl.h (struct window): * window-impl.h (struct window_mirror): * window.c (finalize_window): * window.c (allocate_window): * window.c (new_window_mirror): * window.c (mark_window_as_deleted): * window.c (make_dummy_parent): * window.c (compute_window_mirror_usage): * window.c (compute_window_usage): Overall point of this change and previous ones in this repository: (1) Introduce new, clearer terminology: everything other than int or char is a "record" object, which comes in two types: "normal objects" and "frob-block objects". Fix up all places that referred to frob-block objects as "simple", "basic", etc. (2) Provide an advertised interface for doing operations on Lisp objects, including creating new types, that is clean and consistent in its naming, uses the above-referenced terms and avoids referencing "lrecords", "old lcrecords", etc., which should hide under the surface. (3) Make the size_in_bytes and finalizer methods take a Lisp_Object rather than a void * for consistency with other methods. (4) Separate finalizer method into finalizer and disksaver, so that normal finalize methods don't have to worry about disksaving. Other specifics: (1) Renaming: LISP_OBJECT_HEADER -> NORMAL_LISP_OBJECT_HEADER ALLOC_LISP_OBJECT -> ALLOC_NORMAL_LISP_OBJECT implementation->basic_p -> implementation->frob_block_p ALLOCATE_FIXED_TYPE_AND_SET_IMPL -> ALLOC_FROB_BLOCK_LISP_OBJECT *FCCONFIG*, wrap_fcconfig -> *FC_CONFIG*, wrap_fc_config *FCPATTERN*, wrap_fcpattern -> *FC_PATTERN*, wrap_fc_pattern (the last two changes make the naming of these macros consistent with the naming of all other macros, since the objects are named fc-config and fc-pattern with a hyphen) (2) Lots of documentation fixes in lrecord.h. (3) Eliminate macros for copying, freeing, zeroing objects, getting their storage size. Instead, new functions: zero_sized_lisp_object() zero_nonsized_lisp_object() lisp_object_storage_size() free_normal_lisp_object() (copy_lisp_object() already exists) LISP_OBJECT_FROB_BLOCK_P() (actually a macro) Eliminated: free_lrecord() zero_lrecord() copy_lrecord() copy_sized_lrecord() old_copy_lcrecord() old_copy_sized_lcrecord() old_zero_lcrecord() old_zero_sized_lcrecord() LISP_OBJECT_STORAGE_SIZE() COPY_SIZED_LISP_OBJECT() COPY_SIZED_LCRECORD() COPY_LISP_OBJECT() ZERO_LISP_OBJECT() FREE_LISP_OBJECT() (4) Catch the remaining places where lrecord stuff was used directly and use the advertised interface, e.g. alloc_sized_lrecord() -> ALLOC_SIZED_LISP_OBJECT(). (5) Make certain statically-declared pseudo-objects (buffer_local_flags, console_local_flags) have their lheader initialized correctly, so things like copy_lisp_object() can work on them. Make extent_auxiliary_defaults a proper heap object Vextent_auxiliary_defaults, and make extent auxiliaries dumpable so that this object can be dumped. allocate_extent_auxiliary() now just creates the object, and attach_extent_auxiliary() creates an extent auxiliary and attaches to an extent, like the old allocate_extent_auxiliary(). (6) Create EXTENT_AUXILIARY_SLOTS macro, similar to the foo-slots.h files but in a macro instead of a file. The purpose is to avoid duplication when iterating over all the slots in an extent auxiliary. Use it. (7) In lstream.c, don't zero out object after allocation because allocation routines take care of this. (8) In marker.c, fix a mistake in computing marker overhead. (9) In print.c, clean up printing_unreadable_lcrecord(), external_object_printer() to avoid lots of ifdef NEW_GC's. (10) Separate toolbar-button allocation into a separate allocate_toolbar_button() function for use in the example code in lrecord.h.
author Ben Wing <ben@xemacs.org>
date Fri, 05 Mar 2010 04:08:17 -0600
parents c0934cef10c6
children e5380fdaf8f1 0dcd22290039
line wrap: on
line source

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