annotate .hgignore @ 5124:623d57b7fbe8 ben-lisp-object

separate regular and disksave finalization, print method fixes. Create separate disksave method and make the finalize method only be for actual object finalization, not disksave finalization. Fix places where 0 was given in place of a printer -- print methods are mandatory, and internal objects formerly without a print method now must explicitly specify internal_object_printer(). Change the defn of CONSOLE_LIVE_P to avoid problems in some weird situations. -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2010-01-20 Ben Wing <ben@xemacs.org> * alloc.c: * alloc.c (very_old_free_lcrecord): * alloc.c (disksave_object_finalization_1): * alloc.c (make_lcrecord_list): * alloc.c (alloc_managed_lcrecord): * alloc.c (free_managed_lcrecord): * alloc.c (sweep_lcrecords_1): * buffer.c: * bytecode.c: * bytecode.c (Fcompiled_function_p): * chartab.c: * console-impl.h: * console-impl.h (CONSOLE_TYPE_P): * console.c: * console.c (set_quit_events): * data.c: * data.c (Fmake_ephemeron): * database.c: * database.c (finalize_database): * database.c (Fclose_database): * device-msw.c: * device-msw.c (finalize_devmode): * device-msw.c (allocate_devmode): * device.c: * elhash.c: * elhash.c (finalize_hash_table): * eval.c: * eval.c (bind_multiple_value_limits): * event-stream.c: * event-stream.c (finalize_command_builder): * events.c: * events.c (mark_event): * extents.c: * extents.c (finalize_extent_info): * extents.c (uninit_buffer_extents): * faces.c: * file-coding.c: * file-coding.c (finalize_coding_system): * file-coding.h: * file-coding.h (struct coding_system_methods): * file-coding.h (struct detector): * floatfns.c: * floatfns.c (extract_float): * fns.c: * fns.c (Fidentity): * font-mgr.c (finalize_fc_pattern): * font-mgr.c (finalize_fc_config): * frame.c: * glyphs.c: * glyphs.c (finalize_image_instance): * glyphs.c (unmap_subwindow_instance_cache_mapper): * gui.c: * gui.c (gui_error): * keymap.c: * lisp.h (struct Lisp_Symbol): * lrecord.h: * lrecord.h (struct lrecord_implementation): * lrecord.h (MC_ALLOC_CALL_FINALIZER): * lrecord.h (MC_ALLOC_CALL_FINALIZER_FOR_DISKSAVE): * lrecord.h (DEFINE_DUMPABLE_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_GENERAL_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_SIZABLE_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_SIZABLE_GENERAL_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_FROB_BLOCK_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_FROB_BLOCK_GENERAL_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_GENERAL_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_SIZABLE_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_SIZABLE_GENERAL_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_FROB_BLOCK_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_FROB_BLOCK_GENERAL_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_GENERAL_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_MODULE_SIZABLE_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_MODULE_SIZABLE_GENERAL_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_MODULE_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_MODULE_GENERAL_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_MODULE_SIZABLE_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_MODULE_SIZABLE_GENERAL_LISP_OBJECT): * lrecord.h (MAKE_MODULE_LISP_OBJECT): * lstream.c: * lstream.c (finalize_lstream): * lstream.c (disksave_lstream): * marker.c: * marker.c (finalize_marker): * mule-charset.c (make_charset): * number.c: * objects.c: * objects.c (finalize_color_instance): * objects.c (finalize_font_instance): * opaque.c: * opaque.c (make_opaque_ptr): * process-nt.c: * process-nt.c (nt_finalize_process_data): * process-nt.c (nt_deactivate_process): * process.c: * process.c (finalize_process): * procimpl.h (struct process_methods): * scrollbar.c: * scrollbar.c (free_scrollbar_instance): * specifier.c (finalize_specifier): * symbols.c: * toolbar.c: * toolbar.c (Ftoolbar_button_p): * tooltalk.c: * ui-gtk.c: * ui-gtk.c (emacs_gtk_object_finalizer): * ui-gtk.c (allocate_emacs_gtk_boxed_data): * window.c: * window.c (finalize_window): * window.c (mark_window_as_deleted): Separate out regular and disksave finalization. Instead of a FOR_DISKSAVE argument to the finalizer, create a separate object method `disksaver'. Make `finalizer' have only one argument. Go through and separate out all finalize methods into finalize and disksave. Delete lots of thereby redundant disksave checking. Delete places that signal an error if we attempt to disksave -- all of these objects are non-dumpable and we will get an error from pdump anyway if we attempt to dump them. After this is done, only one object remains that has a disksave method -- lstream. Change DEFINE_*_LISP_OBJECT_WITH_PROPS to DEFINE_*_GENERAL_LISP_OBJECT, which is used for specifying either property methods or disksave methods (or in the future, any other less-used methods). Remove the for_disksave argument to finalize_process_data. Don't provide a disksaver for processes because no one currently needs it. Clean up various places where objects didn't provide a print method. It was made mandatory in previous changes, and all methods now either provide their own print method or use internal_object_printer or external_object_printer. Change the definition of CONSOLE_LIVE_P to use the contype enum rather than looking into the conmeths structure -- in some weird situations with dead objects, the conmeths structure is NULL, and printing such objects from debug_print() will crash if we try to look into the conmeths structure.
author Ben Wing <ben@xemacs.org>
date Wed, 20 Jan 2010 07:05:57 -0600
parents 9b3f398ebfb7
children 3e5d5e8e4bb7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
466
372e91ae9333 Tailor preparing to convert repo by adding .hgignore
Mike Sperber <sperber@deinprogramm.de>
parents:
diff changeset
1 (^|/)CVS($|/)
372e91ae9333 Tailor preparing to convert repo by adding .hgignore
Mike Sperber <sperber@deinprogramm.de>
parents:
diff changeset
2 (^|/)\.hg($|/)
372e91ae9333 Tailor preparing to convert repo by adding .hgignore
Mike Sperber <sperber@deinprogramm.de>
parents:
diff changeset
3 (^|/)\.hgtags($|/)
4330
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
4 \.o$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
5 \.elc$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
6 ~$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
7 \.orig$
4340
2834fcbd1a92 Make Mercurial ignore patch .rej files, Emacs autosaves, and Emacs lockfiles.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4330
diff changeset
8 \.rej$
4342
4df309efe6fc Drat. Hashmarks need to be escaped in .hgignore patterns.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4340
diff changeset
9 (^|/)\#[^/]*\#$
4df309efe6fc Drat. Hashmarks need to be escaped in .hgignore patterns.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4340
diff changeset
10 (^|/)\.\#[^/]*$
4330
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
11 info/.*\.info(-[0-9]+)?$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
12 ^GNUmakefile$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
13 ^Installation$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
14 ^Makefile$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
15 ^Makefile\.in$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
16 ^autom4te\.cache
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
17 ^config\.(log|status)$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
18 ^lib-src/DOC$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
19 ^lib-src/(GNUmakefile|Makefile(\.in)?)$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
20 ^lib-src/config\.values$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
21 ^lib-src/(b2m|ctags|cvtmail|digest-doc|ellcc|etags|fakemail|gnuclient|gnuserv|hexl|insert-data-in-exec|make-docfile|make-dump-id|make-path|mmencode|movemail|ootags|profile|sorted-doc|wakeup|yow)$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
22 ^lib-src/ellcc\.h$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
23 ^lisp/(auto-autoloads|custom-load|finder-inf)\.el$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
24 ^lisp/mule/(auto-autoloads|custom-load)\.el$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
25 ^lwlib/(GNUmakefile|Makefile(\.in)?)$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
26 ^lwlib/liblw\.a$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
27 ^lwlib/config\.h$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
28 ^modules/auto-autoloads\.el$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
29 ^modules/ldap/(GNUmakefile|Makefile(\.in)?)$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
30 ^modules/ldap/eldap\.ell$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
31 ^modules/ldap/eldap_i\.c$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
32 ^(xemacs|mule)-packages
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
33 ^etc/PROBLEMS$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
34 ^src/(.dbxrc|.gdbinit)(\.in)?$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
35 ^src/(GNUmakefile|Makefile(\.in)?)$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
36 ^src/NEEDTODUMP$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
37 ^src/config\.h$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
38 ^src/dump-id\.c$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
39 ^src/dump-size$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
40 ^src/paths\.h$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
41 ^src/sheap-adjust\.h$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
42 ^src/temacs$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
43 ^src/xemacs$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
44 ^src/xemacs\.def(\.in)?$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
45 ^src/xemacs\.dmp$
8a38eea09ab5 Make Mercurial ignore many generated files.
Mike Sperber <sperber@deinprogramm.de>
parents: 466
diff changeset
46 ^src/Emacs\.ad\.h$
4354
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4342
diff changeset
47 ^etc/bundled-packages/.*\.tar\.gz$
4413
dc84ec90b463 Fix build problems on Windows.
Mike Sperber <sperber@deinprogramm.de>
parents: 4411
diff changeset
48 ^lib-src/(etags|hexl|i|make-docfile|make-dump-id|minitar|mmencode|movemail|sorted-doc|wakeup|winclient)\.(exe|exe\.manifest|pdb)$
dc84ec90b463 Fix build problems on Windows.
Mike Sperber <sperber@deinprogramm.de>
parents: 4411
diff changeset
49 \.obj$
dc84ec90b463 Fix build problems on Windows.
Mike Sperber <sperber@deinprogramm.de>
parents: 4411
diff changeset
50 ^nt/obj
dc84ec90b463 Fix build problems on Windows.
Mike Sperber <sperber@deinprogramm.de>
parents: 4411
diff changeset
51 ^nt/config.inc
dc84ec90b463 Fix build problems on Windows.
Mike Sperber <sperber@deinprogramm.de>
parents: 4411
diff changeset
52 ^src/REBUILD_AUTOLOADS$
dc84ec90b463 Fix build problems on Windows.
Mike Sperber <sperber@deinprogramm.de>
parents: 4411
diff changeset
53 ^src/(temacs|xemacs)\.(exe|exe\.manifest|pdb|map|bsc)$
4411
6dffa171b748 hgignore TAGS.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4354
diff changeset
54 ^TAGS$
4542
9b3f398ebfb7 Add terminating newline to .hgignore.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4419
diff changeset
55 ^version\.sh$