comparison src/alloc.c @ 83415:d2c799f58129

Implement full support for frame-local `next-buffer' and `previous-buffer'. * frame.h (frame): New field `buried_buffer_list'. * alloc.c (mark_object): Mark it. * frame.c (make_frame): Initialize it. * frame.h (Qburied_buffer_list): New symbol declaration. * buffer.c (Fbuffer_list): Handle the buried-buffer-list frame parameter. * buffer.c (record_buffer): Delete the buffer from the buried_buffer_list. * buffer.c (Fbury_buffer): Add buffer to buried_buffer_list. * frame.c (Qburied_buffer_list): New symbol. (syms_of_frame): Initialize and staticpro it. (frames_discard_buffer): Also remove buffer from buried-buffer-list. (store_frame_param): Handle `buried-buffer-list' specially. (Fframe_parameters): Handle `buried-buffer-list' specially. * simple.el (last-buffer): Don't look at buried-buffer-list, rely on `buffer-list' doing that for us. (next-buffer): Simplify. (previous-buffer): Simplify. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-455
author Karoly Lorentey <lorentey@elte.hu>
date Tue, 20 Dec 2005 21:35:03 +0000
parents 14a4eb789b45
children 521d3f18b3d1
comparison
equal deleted inserted replaced
83414:14a4eb789b45 83415:d2c799f58129
5371 mark_object (ptr->menu_bar_items); 5371 mark_object (ptr->menu_bar_items);
5372 mark_object (ptr->face_alist); 5372 mark_object (ptr->face_alist);
5373 mark_object (ptr->menu_bar_vector); 5373 mark_object (ptr->menu_bar_vector);
5374 mark_object (ptr->buffer_predicate); 5374 mark_object (ptr->buffer_predicate);
5375 mark_object (ptr->buffer_list); 5375 mark_object (ptr->buffer_list);
5376 mark_object (ptr->buried_buffer_list);
5376 mark_object (ptr->menu_bar_window); 5377 mark_object (ptr->menu_bar_window);
5377 mark_object (ptr->tool_bar_window); 5378 mark_object (ptr->tool_bar_window);
5378 mark_face_cache (ptr->face_cache); 5379 mark_face_cache (ptr->face_cache);
5379 #ifdef HAVE_WINDOW_SYSTEM 5380 #ifdef HAVE_WINDOW_SYSTEM
5380 mark_image_cache (ptr); 5381 mark_image_cache (ptr);