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);