From 08974c0d765980bf9b83b1a107bba6aefcb140ee Mon Sep 17 00:00:00 2001 From: martin rudalics Date: Sat, 11 Jun 2011 11:50:37 +0200 Subject: Move/add window-buffer-related functions to window.el. * buffer.c: New Lisp objects Qbuffer_list_update_hook and Qclone_number. Remove external declaration of Qdelete_window. (Fbuffer_list): Rewrite doc-string. Minor restructuring of code. (Fget_buffer_create, Fmake_indirect_buffer, Frename_buffer): Run Qbuffer_list_update_hook if allowed. (Fother_buffer): Rewrite doc-string. Major rewrite for new buffer list implementation. (other_buffer_safely): New function. (Fkill_buffer): Replace call to replace_buffer_in_all_windows by calls to replace_buffer_in_windows and replace_buffer_in_windows_safely. Run Qbuffer_list_update_hook if allowed. (record_buffer): Inhibit quitting and rewrite using quittable functions. Run Qbuffer_list_update_hook if allowed. (Frecord_buffer, Funrecord_buffer): New functions. (switch_to_buffer_1, Fswitch_to_buffer): Remove. Move switch-to-buffer to window.el. (bury-buffer): Move to window.el. (Vbuffer_list_update_hook): New variable. * lisp.h (other_buffer_safely): Add prototype in buffer.c section. * window.h (resize_frame_windows): Move up in code. (Fwindow_frame): Remove EXFUN. (replace_buffer_in_all_windows): Remove prototype. (replace_buffer_in_windows_safely): Add prototype. * window.c: Declare Qdelete_window static again. Move down declaration of select_count. (Fnext_window, Fprevious_window): Rewrite doc-strings. (Fother_window): Move to window.el. (window_loop): Remove DELETE_BUFFER_WINDOWS and UNSHOW_BUFFER cases. Add REPLACE_BUFFER_IN_WINDOWS_SAFELY case. (Fdelete_windows_on, Freplace_buffer_in_windows): Move to window.el. (replace_buffer_in_windows): Implement by calling Qreplace_buffer_in_windows. (replace_buffer_in_all_windows): Remove with some functionality moved into replace_buffer_in_windows_safely. (replace_buffer_in_windows_safely): New function. (select_window_norecord, select_frame_norecord): Move in front of run_window_configuration_change_hook. Remove now obsolete declarations. (Fset_window_buffer): Rewrite doc-string. Call Qrecord_window_buffer. (keys_of_window): Move binding for other-window to window.el. * loadup.el (top-level): Load window before files for the sake of replace-buffer-in-windows. * files.el (read-buffer-to-switch) (switch-to-buffer-other-window) (switch-to-buffer-other-frame, display-buffer-other-frame): Move to window.el. * simple.el (get-next-valid-buffer, last-buffer, next-buffer) (previous-buffer): Move to window.el. * bindings.el (unbury-buffer): Move to window.el. * window.el (delete-other-windows-vertically): Move after definition of delete-other-windows. (other-window, delete-windows-on, replace-buffer-in-windows): Move here from window.c. (record-window-buffer, unrecord-window-buffer) (set-window-buffer-start-and-point, switch-to-prev-buffer) (switch-to-next-buffer): New functions. (get-next-valid-buffer, last-buffer, next-buffer): Move here from simple.el. Call switch-to-next-buffer. (previous-buffer): Move here from simple.el. Call switch-to-prev-buffer. (bury-buffer): Move here from buffer.c. Switch to previous buffer when window cannot be deleted. (unbury-buffer): Move here from bindings.el. (ctl-x-map): Move binding for other-window from window.c to here. (read-buffer-to-switch, switch-to-buffer-other-window) (switch-to-buffer-other-frame): Move here from files.el. (normalize-buffer-to-switch-to): New functions. (switch-to-buffer): Move here from buffer.c. Use read-buffer-to-switch and normalize-buffer-to-switch-to. --- src/window.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/window.h') diff --git a/src/window.h b/src/window.h index 1ebc99055a5..52fecbf2e56 100644 --- a/src/window.h +++ b/src/window.h @@ -827,6 +827,7 @@ extern Lisp_Object make_window (void); extern Lisp_Object window_from_coordinates (struct frame *, int, int, enum window_part *, int); EXFUN (Fwindow_dedicated_p, 1); +extern void resize_frame_windows (struct frame *, int, int); extern void delete_all_subwindows (Lisp_Object); extern void freeze_window_starts (struct frame *, int); extern void grow_mini_window (struct window *, int); @@ -902,7 +903,6 @@ extern Lisp_Object Qwindowp, Qwindow_live_p; extern Lisp_Object Vwindow_list; EXFUN (Fwindow_buffer, 1); -EXFUN (Fwindow_frame, 1); EXFUN (Fget_buffer_window, 2); EXFUN (Fwindow_minibuffer_p, 1); EXFUN (Fselected_window, 0); @@ -918,12 +918,10 @@ extern int window_internal_height (struct window *); extern int window_body_cols (struct window *w); EXFUN (Frecenter, 1); extern void temp_output_buffer_show (Lisp_Object); -extern void replace_buffer_in_all_windows (Lisp_Object); +extern void replace_buffer_in_windows_safely (Lisp_Object); extern void init_window_once (void); extern void init_window (void); extern void syms_of_window (void); extern void keys_of_window (void); -extern void resize_frame_windows (struct frame *, int, int); - #endif /* not WINDOW_H_INCLUDED */ -- cgit v1.2.1