Mercurial > hg > xemacs-beta
comparison src/frame.c @ 5117:3742ea8250b5 ben-lisp-object ben-lisp-object-final-ws-year-2005
Checking in final CVS version of workspace 'ben-lisp-object'
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Sat, 26 Dec 2009 00:20:27 -0600 |
parents | facf3239ba30 |
children | e0db3c197671 |
comparison
equal
deleted
inserted
replaced
5116:e56f73345619 | 5117:3742ea8250b5 |
---|---|
248 FRAME_TYPE_NAME (frm)); | 248 FRAME_TYPE_NAME (frm)); |
249 print_internal (frm->name, printcharfun, 1); | 249 print_internal (frm->name, printcharfun, 1); |
250 write_fmt_string (printcharfun, " 0x%x>", frm->header.uid); | 250 write_fmt_string (printcharfun, " 0x%x>", frm->header.uid); |
251 } | 251 } |
252 | 252 |
253 DEFINE_LRECORD_IMPLEMENTATION ("frame", frame, | 253 DEFINE_NONDUMPABLE_LISP_OBJECT ("frame", frame, |
254 0, /*dumpable-flag*/ | 254 mark_frame, print_frame, 0, 0, 0, |
255 mark_frame, print_frame, 0, 0, 0, | 255 frame_description, |
256 frame_description, | 256 struct frame); |
257 struct frame); | |
258 | 257 |
259 static void | 258 static void |
260 nuke_all_frame_slots (struct frame *f) | 259 nuke_all_frame_slots (struct frame *f) |
261 { | 260 { |
262 ZERO_LCRECORD (f); | 261 ZERO_LCRECORD (f); |
271 | 270 |
272 static struct frame * | 271 static struct frame * |
273 allocate_frame_core (Lisp_Object device) | 272 allocate_frame_core (Lisp_Object device) |
274 { | 273 { |
275 /* This function can GC */ | 274 /* This function can GC */ |
276 Lisp_Object frame; | |
277 Lisp_Object root_window; | 275 Lisp_Object root_window; |
278 struct frame *f = ALLOC_LCRECORD_TYPE (struct frame, &lrecord_frame); | 276 Lisp_Object frame = ALLOC_LISP_OBJECT (frame); |
277 struct frame *f = XFRAME (frame); | |
279 | 278 |
280 nuke_all_frame_slots (f); | 279 nuke_all_frame_slots (f); |
281 frame = wrap_frame (f); | |
282 | 280 |
283 f->device = device; | 281 f->device = device; |
284 f->framemeths = XDEVICE (device)->devmeths; | 282 f->framemeths = XDEVICE (device)->devmeths; |
285 f->frametype = get_console_variant (XDEVICE_TYPE (device)); | 283 f->frametype = get_console_variant (XDEVICE_TYPE (device)); |
286 f->buffer_alist = Fcopy_sequence (Vbuffer_alist); | 284 f->buffer_alist = Fcopy_sequence (Vbuffer_alist); |
3573 } | 3571 } |
3574 | 3572 |
3575 void | 3573 void |
3576 syms_of_frame (void) | 3574 syms_of_frame (void) |
3577 { | 3575 { |
3578 INIT_LRECORD_IMPLEMENTATION (frame); | 3576 INIT_LISP_OBJECT (frame); |
3579 | 3577 |
3580 DEFSYMBOL (Qdelete_frame_hook); | 3578 DEFSYMBOL (Qdelete_frame_hook); |
3581 DEFSYMBOL (Qselect_frame_hook); | 3579 DEFSYMBOL (Qselect_frame_hook); |
3582 DEFSYMBOL (Qdeselect_frame_hook); | 3580 DEFSYMBOL (Qdeselect_frame_hook); |
3583 DEFSYMBOL (Qcreate_frame_hook); | 3581 DEFSYMBOL (Qcreate_frame_hook); |