comparison src/ChangeLog @ 934:c925bacdda60

[xemacs-hg @ 2002-07-29 09:21:12 by michaels] 2002-07-17 Marcus Crestani <crestani@informatik.uni-tuebingen.de> Markus Kaltenbach <makalten@informatik.uni-tuebingen.de> Mike Sperber <mike@xemacs.org> configure flag to turn these changes on: --use-kkcc First we added a dumpable flag to lrecord_implementation. It shows, if the object is dumpable and should be processed by the dumper. * lrecord.h (struct lrecord_implementation): added dumpable flag (MAKE_LRECORD_IMPLEMENTATION): fitted the different makro definitions to the new lrecord_implementation and their calls. Then we changed mark_object, that it no longer needs a mark method for those types that have pdump descritions. * alloc.c: (mark_object): If the object has a description, the new mark algorithm is called, and the object is marked according to its description. Otherwise it uses the mark method like before. These procedures mark objects according to their descriptions. They are modeled on the corresponding pdumper procedures. (mark_with_description): (get_indirect_count): (structure_size): (mark_struct_contents): These procedures still call mark_object, this is needed while there are Lisp_Objects without descriptions left. We added pdump descriptions for many Lisp_Objects: * extents.c: extent_auxiliary_description * database.c: database_description * gui.c: gui_item_description * scrollbar.c: scrollbar_instance_description * toolbar.c: toolbar_button_description * event-stream.c: command_builder_description * mule-charset.c: charset_description * device-msw.c: devmode_description * dialog-msw.c: mswindows_dialog_id_description * eldap.c: ldap_description * postgresql.c: pgconn_description pgresult_description * tooltalk.c: tooltalk_message_description tooltalk_pattern_description * ui-gtk.c: emacs_ffi_description emacs_gtk_object_description * events.c: * events.h: * event-stream.c: * event-Xt.c: * event-gtk.c: * event-tty.c: To write a pdump description for Lisp_Event, we converted every struct in the union event to a Lisp_Object. So we created nine new Lisp_Objects: Lisp_Key_Data, Lisp_Button_Data, Lisp_Motion_Data, Lisp_Process_Data, Lisp_Timeout_Data, Lisp_Eval_Data, Lisp_Misc_User_Data, Lisp_Magic_Data, Lisp_Magic_Eval_Data. We also wrote makro selectors and mutators for the fields of the new designed Lisp_Event and added everywhere these new abstractions. We implemented XD_UNION support in (mark_with_description), so we can describe exspecially console/device specific data with XD_UNION. To describe with XD_UNION, we added a field to these objects, which holds the variant type of the object. This field is initialized in the appendant constructor. The variant is an integer, it has also to be described in an description, if XD_UNION is used. XD_UNION is used in following descriptions: * console.c: console_description (get_console_variant): returns the variant (create_console): added variant initialization * console.h (console_variant): the different console types * console-impl.h (struct console): added enum console_variant contype * device.c: device_description (Fmake_device): added variant initialization * device-impl.h (struct device): added enum console_variant devtype * objects.c: image_instance_description font_instance_description (Fmake_color_instance): added variant initialization (Fmake_font_instance): added variant initialization * objects-impl.h (struct Lisp_Color_Instance): added color_instance_type * objects-impl.h (struct Lisp_Font_Instance): added font_instance_type * process.c: process_description (make_process_internal): added variant initialization * process.h (process_variant): the different process types
author michaels
date Mon, 29 Jul 2002 09:21:25 +0000
parents f6bc42928b34
children 7ddc4c0b471d
comparison
equal deleted inserted replaced
933:f6bc42928b34 934:c925bacdda60
1 2002-07-17 Marcus Crestani <crestani@informatik.uni-tuebingen.de>
2 Markus Kaltenbach <makalten@informatik.uni-tuebingen.de>
3 Mike Sperber <mike@xemacs.org>
4
5 configure flag to turn these changes on: --use-kkcc
6
7 First we added a dumpable flag to lrecord_implementation. It shows,
8 if the object is dumpable and should be processed by the dumper.
9 * lrecord.h (struct lrecord_implementation): added dumpable flag
10 (MAKE_LRECORD_IMPLEMENTATION): fitted the different makro definitions
11 to the new lrecord_implementation and their calls.
12
13 Then we changed mark_object, that it no longer needs a mark method for
14 those types that have pdump descritions.
15 * alloc.c:
16 (mark_object): If the object has a description, the new mark algorithm
17 is called, and the object is marked according to its description.
18 Otherwise it uses the mark method like before.
19
20 These procedures mark objects according to their descriptions. They
21 are modeled on the corresponding pdumper procedures.
22 (mark_with_description):
23 (get_indirect_count):
24 (structure_size):
25 (mark_struct_contents):
26 These procedures still call mark_object, this is needed while there are
27 Lisp_Objects without descriptions left.
28
29 We added pdump descriptions for many Lisp_Objects:
30 * extents.c: extent_auxiliary_description
31 * database.c: database_description
32 * gui.c: gui_item_description
33 * scrollbar.c: scrollbar_instance_description
34 * toolbar.c: toolbar_button_description
35 * event-stream.c: command_builder_description
36 * mule-charset.c: charset_description
37 * device-msw.c: devmode_description
38 * dialog-msw.c: mswindows_dialog_id_description
39 * eldap.c: ldap_description
40 * postgresql.c: pgconn_description
41 pgresult_description
42 * tooltalk.c: tooltalk_message_description
43 tooltalk_pattern_description
44 * ui-gtk.c: emacs_ffi_description
45 emacs_gtk_object_description
46
47 * events.c:
48 * events.h:
49 * event-stream.c:
50 * event-Xt.c:
51 * event-gtk.c:
52 * event-tty.c:
53 To write a pdump description for Lisp_Event, we converted every struct
54 in the union event to a Lisp_Object. So we created nine new
55 Lisp_Objects: Lisp_Key_Data, Lisp_Button_Data, Lisp_Motion_Data,
56 Lisp_Process_Data, Lisp_Timeout_Data, Lisp_Eval_Data,
57 Lisp_Misc_User_Data, Lisp_Magic_Data, Lisp_Magic_Eval_Data.
58 We also wrote makro selectors and mutators for the fields of the new
59 designed Lisp_Event and added everywhere these new abstractions.
60
61
62 We implemented XD_UNION support in (mark_with_description), so
63 we can describe exspecially console/device specific data with XD_UNION.
64 To describe with XD_UNION, we added a field to these objects, which
65 holds the variant type of the object. This field is initialized in
66 the appendant constructor. The variant is an integer, it has also to
67 be described in an description, if XD_UNION is used.
68
69 XD_UNION is used in following descriptions:
70 * console.c: console_description
71 (get_console_variant): returns the variant
72 (create_console): added variant initialization
73 * console.h (console_variant): the different console types
74 * console-impl.h (struct console): added enum console_variant contype
75
76 * device.c: device_description
77 (Fmake_device): added variant initialization
78 * device-impl.h (struct device): added enum console_variant devtype
79
80 * objects.c: image_instance_description
81 font_instance_description
82 (Fmake_color_instance): added variant initialization
83 (Fmake_font_instance): added variant initialization
84 * objects-impl.h (struct Lisp_Color_Instance): added color_instance_type
85 * objects-impl.h (struct Lisp_Font_Instance): added font_instance_type
86
87 * process.c: process_description
88 (make_process_internal): added variant initialization
89 * process.h (process_variant): the different process types
90
1 2002-07-27 Steve Youngs <youngs@xemacs.org> 91 2002-07-27 Steve Youngs <youngs@xemacs.org>
2 92
3 * XEmacs 21.5.8 "broccoli" is released. 93 * XEmacs 21.5.8 "broccoli" is released.
4 94
5 2002-07-25 Steve Youngs <youngs@xemacs.org> 95 2002-07-25 Steve Youngs <youngs@xemacs.org>