comparison src/ChangeLog @ 5133:444a448b2f53

Merge branch ben-lisp-object into default branch
author Ben Wing <ben@xemacs.org>
date Sun, 07 Mar 2010 06:47:37 -0600
parents 4f4672e2aa34
children e5380fdaf8f1 0dcd22290039
comparison
equal deleted inserted replaced
5113:b2dcf6a6d8ab 5133:444a448b2f53
48 functions (internal_set_frame_size() and adjust_frame_size()), 48 functions (internal_set_frame_size() and adjust_frame_size()),
49 which have been moved so that they form a group with 49 which have been moved so that they form a group with
50 change_frame_size() and change_frame_size_1(). 50 change_frame_size() and change_frame_size_1().
51 51
52 No functionality should change. 52 No functionality should change.
53
54 2010-03-05 Ben Wing <ben@xemacs.org>
55
56 * alloc.c:
57 * alloc.c (old_alloc_sized_lcrecord):
58 * alloc.c (very_old_free_lcrecord):
59 * alloc.c (copy_lisp_object):
60 * alloc.c (zero_sized_lisp_object):
61 * alloc.c (zero_nonsized_lisp_object):
62 * alloc.c (lisp_object_storage_size):
63 * alloc.c (free_normal_lisp_object):
64 * alloc.c (FREE_FIXED_TYPE_WHEN_NOT_IN_GC):
65 * alloc.c (ALLOC_FROB_BLOCK_LISP_OBJECT):
66 * alloc.c (Fcons):
67 * alloc.c (noseeum_cons):
68 * alloc.c (make_float):
69 * alloc.c (make_bignum):
70 * alloc.c (make_bignum_bg):
71 * alloc.c (make_ratio):
72 * alloc.c (make_ratio_bg):
73 * alloc.c (make_ratio_rt):
74 * alloc.c (make_bigfloat):
75 * alloc.c (make_bigfloat_bf):
76 * alloc.c (size_vector):
77 * alloc.c (make_compiled_function):
78 * alloc.c (Fmake_symbol):
79 * alloc.c (allocate_extent):
80 * alloc.c (allocate_event):
81 * alloc.c (make_key_data):
82 * alloc.c (make_button_data):
83 * alloc.c (make_motion_data):
84 * alloc.c (make_process_data):
85 * alloc.c (make_timeout_data):
86 * alloc.c (make_magic_data):
87 * alloc.c (make_magic_eval_data):
88 * alloc.c (make_eval_data):
89 * alloc.c (make_misc_user_data):
90 * alloc.c (Fmake_marker):
91 * alloc.c (noseeum_make_marker):
92 * alloc.c (size_string_direct_data):
93 * alloc.c (make_uninit_string):
94 * alloc.c (make_string_nocopy):
95 * alloc.c (mark_lcrecord_list):
96 * alloc.c (alloc_managed_lcrecord):
97 * alloc.c (free_managed_lcrecord):
98 * alloc.c (sweep_lcrecords_1):
99 * alloc.c (malloced_storage_size):
100 * buffer.c (allocate_buffer):
101 * buffer.c (compute_buffer_usage):
102 * buffer.c (DEFVAR_BUFFER_LOCAL_1):
103 * buffer.c (nuke_all_buffer_slots):
104 * buffer.c (common_init_complex_vars_of_buffer):
105 * buffer.h (struct buffer_text):
106 * buffer.h (struct buffer):
107 * bytecode.c:
108 * bytecode.c (make_compiled_function_args):
109 * bytecode.c (size_compiled_function_args):
110 * bytecode.h (struct compiled_function_args):
111 * casetab.c (allocate_case_table):
112 * casetab.h (struct Lisp_Case_Table):
113 * charset.h (struct Lisp_Charset):
114 * chartab.c (fill_char_table):
115 * chartab.c (Fmake_char_table):
116 * chartab.c (make_char_table_entry):
117 * chartab.c (copy_char_table_entry):
118 * chartab.c (Fcopy_char_table):
119 * chartab.c (put_char_table):
120 * chartab.h (struct Lisp_Char_Table_Entry):
121 * chartab.h (struct Lisp_Char_Table):
122 * console-gtk-impl.h (struct gtk_device):
123 * console-gtk-impl.h (struct gtk_frame):
124 * console-impl.h (struct console):
125 * console-msw-impl.h (struct Lisp_Devmode):
126 * console-msw-impl.h (struct mswindows_device):
127 * console-msw-impl.h (struct msprinter_device):
128 * console-msw-impl.h (struct mswindows_frame):
129 * console-msw-impl.h (struct mswindows_dialog_id):
130 * console-stream-impl.h (struct stream_console):
131 * console-stream.c (stream_init_console):
132 * console-tty-impl.h (struct tty_console):
133 * console-tty-impl.h (struct tty_device):
134 * console-tty.c (allocate_tty_console_struct):
135 * console-x-impl.h (struct x_device):
136 * console-x-impl.h (struct x_frame):
137 * console.c (allocate_console):
138 * console.c (nuke_all_console_slots):
139 * console.c (DEFVAR_CONSOLE_LOCAL_1):
140 * console.c (common_init_complex_vars_of_console):
141 * data.c (make_weak_list):
142 * data.c (make_weak_box):
143 * data.c (make_ephemeron):
144 * database.c:
145 * database.c (struct Lisp_Database):
146 * database.c (allocate_database):
147 * database.c (finalize_database):
148 * device-gtk.c (allocate_gtk_device_struct):
149 * device-impl.h (struct device):
150 * device-msw.c:
151 * device-msw.c (mswindows_init_device):
152 * device-msw.c (msprinter_init_device):
153 * device-msw.c (finalize_devmode):
154 * device-msw.c (allocate_devmode):
155 * device-tty.c (allocate_tty_device_struct):
156 * device-x.c (allocate_x_device_struct):
157 * device.c:
158 * device.c (nuke_all_device_slots):
159 * device.c (allocate_device):
160 * dialog-msw.c (handle_question_dialog_box):
161 * elhash.c:
162 * elhash.c (struct Lisp_Hash_Table):
163 * elhash.c (finalize_hash_table):
164 * elhash.c (make_general_lisp_hash_table):
165 * elhash.c (Fcopy_hash_table):
166 * elhash.h (htentry):
167 * emacs.c (main_1):
168 * eval.c:
169 * eval.c (size_multiple_value):
170 * event-stream.c (finalize_command_builder):
171 * event-stream.c (allocate_command_builder):
172 * event-stream.c (free_command_builder):
173 * event-stream.c (event_stream_generate_wakeup):
174 * event-stream.c (event_stream_resignal_wakeup):
175 * event-stream.c (event_stream_disable_wakeup):
176 * event-stream.c (event_stream_wakeup_pending_p):
177 * events.h (struct Lisp_Timeout):
178 * events.h (struct command_builder):
179 * extents-impl.h:
180 * extents-impl.h (struct extent_auxiliary):
181 * extents-impl.h (struct extent_info):
182 * extents-impl.h (set_extent_no_chase_aux_field):
183 * extents-impl.h (set_extent_no_chase_normal_field):
184 * extents.c:
185 * extents.c (gap_array_marker):
186 * extents.c (gap_array):
187 * extents.c (extent_list_marker):
188 * extents.c (extent_list):
189 * extents.c (stack_of_extents):
190 * extents.c (gap_array_make_marker):
191 * extents.c (extent_list_make_marker):
192 * extents.c (allocate_extent_list):
193 * extents.c (SLOT):
194 * extents.c (mark_extent_auxiliary):
195 * extents.c (allocate_extent_auxiliary):
196 * extents.c (attach_extent_auxiliary):
197 * extents.c (size_gap_array):
198 * extents.c (finalize_extent_info):
199 * extents.c (allocate_extent_info):
200 * extents.c (uninit_buffer_extents):
201 * extents.c (allocate_soe):
202 * extents.c (copy_extent):
203 * extents.c (vars_of_extents):
204 * extents.h:
205 * faces.c (allocate_face):
206 * faces.h (struct Lisp_Face):
207 * faces.h (struct face_cachel):
208 * file-coding.c:
209 * file-coding.c (finalize_coding_system):
210 * file-coding.c (sizeof_coding_system):
211 * file-coding.c (Fcopy_coding_system):
212 * file-coding.h (struct Lisp_Coding_System):
213 * file-coding.h (MARKED_SLOT):
214 * fns.c (size_bit_vector):
215 * font-mgr.c:
216 * font-mgr.c (finalize_fc_pattern):
217 * font-mgr.c (print_fc_pattern):
218 * font-mgr.c (Ffc_pattern_p):
219 * font-mgr.c (Ffc_pattern_create):
220 * font-mgr.c (Ffc_name_parse):
221 * font-mgr.c (Ffc_name_unparse):
222 * font-mgr.c (Ffc_pattern_duplicate):
223 * font-mgr.c (Ffc_pattern_add):
224 * font-mgr.c (Ffc_pattern_del):
225 * font-mgr.c (Ffc_pattern_get):
226 * font-mgr.c (fc_config_create_using):
227 * font-mgr.c (fc_strlist_to_lisp_using):
228 * font-mgr.c (fontset_to_list):
229 * font-mgr.c (Ffc_config_p):
230 * font-mgr.c (Ffc_config_up_to_date):
231 * font-mgr.c (Ffc_config_build_fonts):
232 * font-mgr.c (Ffc_config_get_cache):
233 * font-mgr.c (Ffc_config_get_fonts):
234 * font-mgr.c (Ffc_config_set_current):
235 * font-mgr.c (Ffc_config_get_blanks):
236 * font-mgr.c (Ffc_config_get_rescan_interval):
237 * font-mgr.c (Ffc_config_set_rescan_interval):
238 * font-mgr.c (Ffc_config_app_font_add_file):
239 * font-mgr.c (Ffc_config_app_font_add_dir):
240 * font-mgr.c (Ffc_config_app_font_clear):
241 * font-mgr.c (size):
242 * font-mgr.c (Ffc_config_substitute):
243 * font-mgr.c (Ffc_font_render_prepare):
244 * font-mgr.c (Ffc_font_match):
245 * font-mgr.c (Ffc_font_sort):
246 * font-mgr.c (finalize_fc_config):
247 * font-mgr.c (print_fc_config):
248 * font-mgr.h:
249 * font-mgr.h (struct fc_pattern):
250 * font-mgr.h (XFC_PATTERN):
251 * font-mgr.h (struct fc_config):
252 * font-mgr.h (XFC_CONFIG):
253 * frame-gtk.c (allocate_gtk_frame_struct):
254 * frame-impl.h (struct frame):
255 * frame-msw.c (mswindows_init_frame_1):
256 * frame-x.c (allocate_x_frame_struct):
257 * frame.c (nuke_all_frame_slots):
258 * frame.c (allocate_frame_core):
259 * gc.c:
260 * gc.c (GC_CHECK_NOT_FREE):
261 * glyphs.c (finalize_image_instance):
262 * glyphs.c (allocate_image_instance):
263 * glyphs.c (Fcolorize_image_instance):
264 * glyphs.c (allocate_glyph):
265 * glyphs.c (unmap_subwindow_instance_cache_mapper):
266 * glyphs.c (register_ignored_expose):
267 * glyphs.h (struct Lisp_Image_Instance):
268 * glyphs.h (struct Lisp_Glyph):
269 * glyphs.h (struct glyph_cachel):
270 * glyphs.h (struct expose_ignore):
271 * gui.c (allocate_gui_item):
272 * gui.h (struct Lisp_Gui_Item):
273 * keymap.c (struct Lisp_Keymap):
274 * keymap.c (make_keymap):
275 * lisp.h:
276 * lisp.h (struct Lisp_String_Direct_Data):
277 * lisp.h (struct Lisp_String_Indirect_Data):
278 * lisp.h (struct Lisp_Vector):
279 * lisp.h (struct Lisp_Bit_Vector):
280 * lisp.h (DECLARE_INLINE_LISP_BIT_VECTOR):
281 * lisp.h (struct weak_box):
282 * lisp.h (struct ephemeron):
283 * lisp.h (struct weak_list):
284 * lrecord.h:
285 * lrecord.h (struct lrecord_implementation):
286 * lrecord.h (MC_ALLOC_CALL_FINALIZER):
287 * lrecord.h (struct lcrecord_list):
288 * lstream.c (finalize_lstream):
289 * lstream.c (sizeof_lstream):
290 * lstream.c (Lstream_new):
291 * lstream.c (Lstream_delete):
292 * lstream.h (struct lstream):
293 * marker.c:
294 * marker.c (finalize_marker):
295 * marker.c (compute_buffer_marker_usage):
296 * mule-charset.c:
297 * mule-charset.c (make_charset):
298 * mule-charset.c (compute_charset_usage):
299 * objects-impl.h (struct Lisp_Color_Instance):
300 * objects-impl.h (struct Lisp_Font_Instance):
301 * objects-tty-impl.h (struct tty_color_instance_data):
302 * objects-tty-impl.h (struct tty_font_instance_data):
303 * objects-tty.c (tty_initialize_color_instance):
304 * objects-tty.c (tty_initialize_font_instance):
305 * objects.c (finalize_color_instance):
306 * objects.c (Fmake_color_instance):
307 * objects.c (finalize_font_instance):
308 * objects.c (Fmake_font_instance):
309 * objects.c (reinit_vars_of_objects):
310 * opaque.c:
311 * opaque.c (sizeof_opaque):
312 * opaque.c (make_opaque_ptr):
313 * opaque.c (free_opaque_ptr):
314 * opaque.h:
315 * opaque.h (Lisp_Opaque):
316 * opaque.h (Lisp_Opaque_Ptr):
317 * print.c (printing_unreadable_lcrecord):
318 * print.c (external_object_printer):
319 * print.c (debug_p4):
320 * process.c (finalize_process):
321 * process.c (make_process_internal):
322 * procimpl.h (struct Lisp_Process):
323 * rangetab.c (Fmake_range_table):
324 * rangetab.c (Fcopy_range_table):
325 * rangetab.h (struct Lisp_Range_Table):
326 * scrollbar.c:
327 * scrollbar.c (create_scrollbar_instance):
328 * scrollbar.c (compute_scrollbar_instance_usage):
329 * scrollbar.h (struct scrollbar_instance):
330 * specifier.c (finalize_specifier):
331 * specifier.c (sizeof_specifier):
332 * specifier.c (set_specifier_caching):
333 * specifier.h (struct Lisp_Specifier):
334 * specifier.h (struct specifier_caching):
335 * symeval.h:
336 * symeval.h (SYMBOL_VALUE_MAGIC_P):
337 * symeval.h (DEFVAR_SYMVAL_FWD):
338 * symsinit.h:
339 * syntax.c (init_buffer_syntax_cache):
340 * syntax.h (struct syntax_cache):
341 * toolbar.c:
342 * toolbar.c (allocate_toolbar_button):
343 * toolbar.c (update_toolbar_button):
344 * toolbar.h (struct toolbar_button):
345 * tooltalk.c (struct Lisp_Tooltalk_Message):
346 * tooltalk.c (make_tooltalk_message):
347 * tooltalk.c (struct Lisp_Tooltalk_Pattern):
348 * tooltalk.c (make_tooltalk_pattern):
349 * ui-gtk.c:
350 * ui-gtk.c (allocate_ffi_data):
351 * ui-gtk.c (emacs_gtk_object_finalizer):
352 * ui-gtk.c (allocate_emacs_gtk_object_data):
353 * ui-gtk.c (allocate_emacs_gtk_boxed_data):
354 * ui-gtk.h:
355 * window-impl.h (struct window):
356 * window-impl.h (struct window_mirror):
357 * window.c (finalize_window):
358 * window.c (allocate_window):
359 * window.c (new_window_mirror):
360 * window.c (mark_window_as_deleted):
361 * window.c (make_dummy_parent):
362 * window.c (compute_window_mirror_usage):
363 * window.c (compute_window_usage):
364
365 Overall point of this change and previous ones in this repository:
366
367 (1) Introduce new, clearer terminology: everything other than int
368 or char is a "record" object, which comes in two types: "normal
369 objects" and "frob-block objects". Fix up all places that
370 referred to frob-block objects as "simple", "basic", etc.
371
372 (2) Provide an advertised interface for doing operations on Lisp
373 objects, including creating new types, that is clean and
374 consistent in its naming, uses the above-referenced terms and
375 avoids referencing "lrecords", "old lcrecords", etc., which should
376 hide under the surface.
377
378 (3) Make the size_in_bytes and finalizer methods take a
379 Lisp_Object rather than a void * for consistency with other methods.
380
381 (4) Separate finalizer method into finalizer and disksaver, so
382 that normal finalize methods don't have to worry about disksaving.
383
384 Other specifics:
385
386 (1) Renaming:
387
388 LISP_OBJECT_HEADER -> NORMAL_LISP_OBJECT_HEADER
389 ALLOC_LISP_OBJECT -> ALLOC_NORMAL_LISP_OBJECT
390 implementation->basic_p -> implementation->frob_block_p
391 ALLOCATE_FIXED_TYPE_AND_SET_IMPL -> ALLOC_FROB_BLOCK_LISP_OBJECT
392 *FCCONFIG*, wrap_fcconfig -> *FC_CONFIG*, wrap_fc_config
393 *FCPATTERN*, wrap_fcpattern -> *FC_PATTERN*, wrap_fc_pattern
394
395 (the last two changes make the naming of these macros consistent
396 with the naming of all other macros, since the objects are named
397 fc-config and fc-pattern with a hyphen)
398
399 (2) Lots of documentation fixes in lrecord.h.
400
401 (3) Eliminate macros for copying, freeing, zeroing objects, getting
402 their storage size. Instead, new functions:
403
404 zero_sized_lisp_object()
405 zero_nonsized_lisp_object()
406 lisp_object_storage_size()
407 free_normal_lisp_object()
408 (copy_lisp_object() already exists)
409 LISP_OBJECT_FROB_BLOCK_P() (actually a macro)
410
411 Eliminated:
412
413 free_lrecord()
414 zero_lrecord()
415 copy_lrecord()
416 copy_sized_lrecord()
417 old_copy_lcrecord()
418 old_copy_sized_lcrecord()
419 old_zero_lcrecord()
420 old_zero_sized_lcrecord()
421 LISP_OBJECT_STORAGE_SIZE()
422 COPY_SIZED_LISP_OBJECT()
423 COPY_SIZED_LCRECORD()
424 COPY_LISP_OBJECT()
425 ZERO_LISP_OBJECT()
426 FREE_LISP_OBJECT()
427
428 (4) Catch the remaining places where lrecord stuff was used directly
429 and use the advertised interface, e.g. alloc_sized_lrecord() ->
430 ALLOC_SIZED_LISP_OBJECT().
431
432 (5) Make certain statically-declared pseudo-objects
433 (buffer_local_flags, console_local_flags) have their lheader
434 initialized correctly, so things like copy_lisp_object() can work
435 on them. Make extent_auxiliary_defaults a proper heap object
436 Vextent_auxiliary_defaults, and make extent auxiliaries dumpable
437 so that this object can be dumped. allocate_extent_auxiliary()
438 now just creates the object, and attach_extent_auxiliary()
439 creates an extent auxiliary and attaches to an extent, like the
440 old allocate_extent_auxiliary().
441
442 (6) Create EXTENT_AUXILIARY_SLOTS macro, similar to the foo-slots.h
443 files but in a macro instead of a file. The purpose is to avoid
444 duplication when iterating over all the slots in an extent auxiliary.
445 Use it.
446
447 (7) In lstream.c, don't zero out object after allocation because
448 allocation routines take care of this.
449
450 (8) In marker.c, fix a mistake in computing marker overhead.
451
452 (9) In print.c, clean up printing_unreadable_lcrecord(),
453 external_object_printer() to avoid lots of ifdef NEW_GC's.
454
455 (10) Separate toolbar-button allocation into a separate
456 allocate_toolbar_button() function for use in the example code
457 in lrecord.h.
458
459 2010-01-20 Ben Wing <ben@xemacs.org>
460
461 * alloc.c:
462 * alloc.c (very_old_free_lcrecord):
463 * alloc.c (disksave_object_finalization_1):
464 * alloc.c (make_lcrecord_list):
465 * alloc.c (alloc_managed_lcrecord):
466 * alloc.c (free_managed_lcrecord):
467 * alloc.c (sweep_lcrecords_1):
468 * buffer.c:
469 * bytecode.c:
470 * bytecode.c (Fcompiled_function_p):
471 * chartab.c:
472 * console-impl.h:
473 * console-impl.h (CONSOLE_TYPE_P):
474 * console.c:
475 * console.c (set_quit_events):
476 * data.c:
477 * data.c (Fmake_ephemeron):
478 * database.c:
479 * database.c (finalize_database):
480 * database.c (Fclose_database):
481 * device-msw.c:
482 * device-msw.c (finalize_devmode):
483 * device-msw.c (allocate_devmode):
484 * device.c:
485 * elhash.c:
486 * elhash.c (finalize_hash_table):
487 * eval.c:
488 * eval.c (bind_multiple_value_limits):
489 * event-stream.c:
490 * event-stream.c (finalize_command_builder):
491 * events.c:
492 * events.c (mark_event):
493 * extents.c:
494 * extents.c (finalize_extent_info):
495 * extents.c (uninit_buffer_extents):
496 * faces.c:
497 * file-coding.c:
498 * file-coding.c (finalize_coding_system):
499 * file-coding.h:
500 * file-coding.h (struct coding_system_methods):
501 * file-coding.h (struct detector):
502 * floatfns.c:
503 * floatfns.c (extract_float):
504 * fns.c:
505 * fns.c (Fidentity):
506 * font-mgr.c (finalize_fc_pattern):
507 * font-mgr.c (finalize_fc_config):
508 * frame.c:
509 * glyphs.c:
510 * glyphs.c (finalize_image_instance):
511 * glyphs.c (unmap_subwindow_instance_cache_mapper):
512 * gui.c:
513 * gui.c (gui_error):
514 * keymap.c:
515 * lisp.h (struct Lisp_Symbol):
516 * lrecord.h:
517 * lrecord.h (struct lrecord_implementation):
518 * lrecord.h (MC_ALLOC_CALL_FINALIZER):
519 * lrecord.h (MC_ALLOC_CALL_FINALIZER_FOR_DISKSAVE):
520 * lrecord.h (DEFINE_DUMPABLE_LISP_OBJECT):
521 * lrecord.h (DEFINE_DUMPABLE_GENERAL_LISP_OBJECT):
522 * lrecord.h (DEFINE_DUMPABLE_SIZABLE_LISP_OBJECT):
523 * lrecord.h (DEFINE_DUMPABLE_SIZABLE_GENERAL_LISP_OBJECT):
524 * lrecord.h (DEFINE_DUMPABLE_FROB_BLOCK_LISP_OBJECT):
525 * lrecord.h (DEFINE_DUMPABLE_FROB_BLOCK_GENERAL_LISP_OBJECT):
526 * lrecord.h (DEFINE_DUMPABLE_FROB_BLOCK_SIZABLE_LISP_OBJECT):
527 * lrecord.h (DEFINE_DUMPABLE_INTERNAL_LISP_OBJECT):
528 * lrecord.h (DEFINE_DUMPABLE_SIZABLE_INTERNAL_LISP_OBJECT):
529 * lrecord.h (DEFINE_NODUMP_LISP_OBJECT):
530 * lrecord.h (DEFINE_NODUMP_GENERAL_LISP_OBJECT):
531 * lrecord.h (DEFINE_NODUMP_SIZABLE_LISP_OBJECT):
532 * lrecord.h (DEFINE_NODUMP_SIZABLE_GENERAL_LISP_OBJECT):
533 * lrecord.h (DEFINE_NODUMP_FROB_BLOCK_LISP_OBJECT):
534 * lrecord.h (DEFINE_NODUMP_FROB_BLOCK_GENERAL_LISP_OBJECT):
535 * lrecord.h (DEFINE_NODUMP_FROB_BLOCK_SIZABLE_LISP_OBJECT):
536 * lrecord.h (DEFINE_NODUMP_INTERNAL_LISP_OBJECT):
537 * lrecord.h (DEFINE_NODUMP_SIZABLE_INTERNAL_LISP_OBJECT):
538 * lrecord.h (MAKE_LISP_OBJECT):
539 * lrecord.h (DEFINE_DUMPABLE_MODULE_LISP_OBJECT):
540 * lrecord.h (DEFINE_DUMPABLE_MODULE_GENERAL_LISP_OBJECT):
541 * lrecord.h (DEFINE_DUMPABLE_MODULE_SIZABLE_LISP_OBJECT):
542 * lrecord.h (DEFINE_DUMPABLE_MODULE_SIZABLE_GENERAL_LISP_OBJECT):
543 * lrecord.h (DEFINE_NODUMP_MODULE_LISP_OBJECT):
544 * lrecord.h (DEFINE_NODUMP_MODULE_GENERAL_LISP_OBJECT):
545 * lrecord.h (DEFINE_NODUMP_MODULE_SIZABLE_LISP_OBJECT):
546 * lrecord.h (DEFINE_NODUMP_MODULE_SIZABLE_GENERAL_LISP_OBJECT):
547 * lrecord.h (MAKE_MODULE_LISP_OBJECT):
548 * lstream.c:
549 * lstream.c (finalize_lstream):
550 * lstream.c (disksave_lstream):
551 * marker.c:
552 * marker.c (finalize_marker):
553 * mule-charset.c (make_charset):
554 * number.c:
555 * objects.c:
556 * objects.c (finalize_color_instance):
557 * objects.c (finalize_font_instance):
558 * opaque.c:
559 * opaque.c (make_opaque_ptr):
560 * process-nt.c:
561 * process-nt.c (nt_finalize_process_data):
562 * process-nt.c (nt_deactivate_process):
563 * process.c:
564 * process.c (finalize_process):
565 * procimpl.h (struct process_methods):
566 * scrollbar.c:
567 * scrollbar.c (free_scrollbar_instance):
568 * specifier.c (finalize_specifier):
569 * symbols.c:
570 * toolbar.c:
571 * toolbar.c (Ftoolbar_button_p):
572 * tooltalk.c:
573 * ui-gtk.c:
574 * ui-gtk.c (emacs_gtk_object_finalizer):
575 * ui-gtk.c (allocate_emacs_gtk_boxed_data):
576 * window.c:
577 * window.c (finalize_window):
578 * window.c (mark_window_as_deleted):
579
580 Separate out regular and disksave finalization. Instead of a
581 FOR_DISKSAVE argument to the finalizer, create a separate object
582 method `disksaver'. Make `finalizer' have only one argument.
583
584 Go through and separate out all finalize methods into finalize
585 and disksave. Delete lots of thereby redundant disksave checking.
586 Delete places that signal an error if we attempt to disksave --
587 all of these objects are non-dumpable and we will get an error
588 from pdump anyway if we attempt to dump them. After this is done,
589 only one object remains that has a disksave method -- lstream.
590
591 Change DEFINE_*_LISP_OBJECT_WITH_PROPS to DEFINE_*_GENERAL_LISP_OBJECT,
592 which is used for specifying either property methods or disksave
593 methods (or in the future, any other less-used methods).
594
595 Remove the for_disksave argument to finalize_process_data. Don't
596 provide a disksaver for processes because no one currently needs
597 it.
598
599 Clean up various places where objects didn't provide a print method.
600 It was made mandatory in previous changes, and all methods now
601 either provide their own print method or use internal_object_printer
602 or external_object_printer.
603
604 Change the definition of CONSOLE_LIVE_P to use the contype enum
605 rather than looking into the conmeths structure -- in some weird
606 situations with dead objects, the conmeths structure is NULL,
607 and printing such objects from debug_print() will crash if we try
608 to look into the conmeths structure.
609
610
611 2005-11-22 Ben Wing <ben@xemacs.org>
612
613 * alloc.c:
614 * alloc.c (assert_proper_sizing):
615 * alloc.c (alloc_sized_lrecord_1):
616 * alloc.c (alloc_sized_lrecord):
617 * alloc.c (noseeum_alloc_sized_lrecord):
618 * alloc.c (alloc_lrecord):
619 * alloc.c (old_alloc_sized_lcrecord):
620 * alloc.c (make_vector_internal):
621 * alloc.c (make_bit_vector_internal):
622 * alloc.c (alloc_automanaged_sized_lcrecord):
623 * buffer.c (allocate_buffer):
624 * buffer.c (DEFVAR_BUFFER_LOCAL_1):
625 * buffer.c (common_init_complex_vars_of_buffer):
626 * casetab.c (allocate_case_table):
627 * chartab.c (Fmake_char_table):
628 * chartab.c (make_char_table_entry):
629 * chartab.c (copy_char_table_entry):
630 * chartab.c (Fcopy_char_table):
631 * console.c (allocate_console):
632 * console.c (DEFVAR_CONSOLE_LOCAL_1):
633 * console.c (common_init_complex_vars_of_console):
634 * data.c (make_weak_list):
635 * data.c (make_weak_box):
636 * data.c (make_ephemeron):
637 * database.c (allocate_database):
638 * device-msw.c (allocate_devmode):
639 * device.c (allocate_device):
640 * dialog-msw.c (handle_question_dialog_box):
641 * elhash.c (make_general_lisp_hash_table):
642 * elhash.c (Fcopy_hash_table):
643 * emacs.c (main_1):
644 * event-stream.c:
645 * event-stream.c (allocate_command_builder):
646 * event-stream.c (free_command_builder):
647 * event-stream.c (mark_timeout):
648 * event-stream.c (event_stream_generate_wakeup):
649 * event-stream.c (event_stream_resignal_wakeup):
650 * event-stream.c (event_stream_disable_wakeup):
651 * event-stream.c (reinit_vars_of_event_stream):
652 * extents.c (allocate_extent_auxiliary):
653 * extents.c (allocate_extent_info):
654 * extents.c (copy_extent):
655 * faces.c (allocate_face):
656 * file-coding.c (allocate_coding_system):
657 * frame.c (allocate_frame_core):
658 * glyphs.c (allocate_image_instance):
659 * glyphs.c (allocate_glyph):
660 * gui.c (allocate_gui_item):
661 * keymap.c (make_keymap):
662 * lrecord.h:
663 * lrecord.h (ALLOC_LCRECORD):
664 * lrecord.h (ALLOC_SIZED_LCRECORD):
665 * lrecord.h (struct old_lcrecord_header):
666 * lrecord.h (old_alloc_lcrecord_type):
667 * lrecord.h (alloc_lrecord_type):
668 * lrecord.h (noseeum_alloc_lrecord_type):
669 * lstream.c (Lstream_new):
670 * mule-charset.c (make_charset):
671 * objects.c (Fmake_color_instance):
672 * objects.c (Fmake_font_instance):
673 * objects.c (reinit_vars_of_objects):
674 * opaque.c (make_opaque):
675 * opaque.c (make_opaque_ptr):
676 * process.c (make_process_internal):
677 * rangetab.c (Fmake_range_table):
678 * rangetab.c (Fcopy_range_table):
679 * scrollbar.c (create_scrollbar_instance):
680 * specifier.c (make_specifier_internal):
681 * symbols.c (Fdefvaralias):
682 * toolbar.c (update_toolbar_button):
683 * tooltalk.c (make_tooltalk_message):
684 * tooltalk.c (make_tooltalk_pattern):
685 * ui-gtk.c (allocate_ffi_data):
686 * ui-gtk.c (allocate_emacs_gtk_object_data):
687 * ui-gtk.c (allocate_emacs_gtk_boxed_data):
688 * window.c (allocate_window):
689 * window.c (new_window_mirror):
690 * window.c (make_dummy_parent):
691 Create a simpler interface for allocating/declaring Lisp objects;
692 documented in lrecord.h.
693
694 ALLOC_LCRECORD_TYPE -> ALLOC_LISP_OBJECT (returns a Lisp object
695 rather than a pointer),
696 BASIC_ALLOC_LCRECORD -> ALLOC_SIZED_LISP_OBJECT
697 DEFINE_LRECORD_IMPLEMENTATION -> DEFINE_*_LISP_OBJECT
698 DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION -> DEFINE_*SIZABLE_*LISP_OBJECT
699 DEFINE_LRECORD_*IMPLEMENTATION_WITH_PROPS -> DEFINE_*GENERAL_LISP_OBJECT
700 DEFINE_BASIC_LRECORD_IMPLEMENTATION -> DEFINE_*FROB_BLOCK_LISP_OBJECT
701 DEFINE_DUMPABLE_*/DEFINE_NODUMP_* instead of a 0 or 1 dumpable flag
702 DEFINE_*INTERNAL_* for "internal" Lisp objects (shouldn't escape
703 to Lisp)
704 DEFINE_EXTERNAL_* -> DEFINE_MODULE_*
705 MAKE_LRECORD_IMPLEMENTATION -> MAKE_LISP_OBJECT
706 MAKE_EXTERNAL_LRECORD_IMPLEMENTATION -> MAKE_MODULE_LISP_OBJECT
707 DECLARE_LRECORD -> DECLARE_LISP_OBJECT
708 INIT_LRECORD_IMPLEMENTATION -> INIT_LISP_OBJECT
709 alloc_lrecord -> alloc_sized_lrecord (since it takes a size)
710
711 Dynarr_newf, Dynarr_lisp_newf: takes a Bytecount instead of an int
53 712
54 2010-03-05 Ben Wing <ben@xemacs.org> 713 2010-03-05 Ben Wing <ben@xemacs.org>
55 714
56 * mule-coding.c: 715 * mule-coding.c:
57 * mule-coding.c (iso2022_encode): 716 * mule-coding.c (iso2022_encode):