diff options
author | Dmitry Antipov <dmantipov@yandex.ru> | 2012-11-06 17:26:20 +0400 |
---|---|---|
committer | Dmitry Antipov <dmantipov@yandex.ru> | 2012-11-06 17:26:20 +0400 |
commit | d9f07150fc320156377a172fd4a5ec23f13a15c0 (patch) | |
tree | d6f3d226cc337756df27d3c828e64d5b9e816132 /src/window.c | |
parent | 8e6a67b7fa719b0527bb66377d6b72c3c4e84142 (diff) | |
download | emacs-d9f07150fc320156377a172fd4a5ec23f13a15c0.tar.gz emacs-d9f07150fc320156377a172fd4a5ec23f13a15c0.tar.bz2 emacs-d9f07150fc320156377a172fd4a5ec23f13a15c0.zip |
Widely used frame validity and checking functions.
* frame.h (decode_live_frame, decode_any_frame): Add prototypes.
* frame.c (decode_live_frame, decode_any_frame): New functions.
(delete_frame, Fredirect_frame_focus, Fframe_parameters)
(Fframe_parameter, Fframe_char_height, Fframe_char_width)
(Fframe_pixel_height, Fframe_pixel_width, Ftool_bar_pixel_width)
(Fframe_pointer_visible_p): Use decode_any_frame.
(Fmake_frame_visible, Fmake_frame_invisible, Ficonify_frame)
(Fraise_frame, Flower_frame, Fmodify_frame_parameters)
(Fset_frame_height, Fset_frame_width): Use decode_live_frame.
(Fframe_focus): Likewise. Allow zero number of arguments.
Adjust docstring.
(frame_buffer_list, frame_buffer_predicate): Remove.
* lisp.h (frame_buffer_predicate): Remove prototype.
* buffer.c (Fother_buffer): Use decode_any_frame.
* xdisp.c (Ftool_bar_lines_needed): Likewise.
* xfaces.c (Fcolor_gray_p, Fcolor_supported_p): Likewise.
* font.c (Ffont_face_attributes, Ffont_family_list, Fopen_font)
(Fclose_font, Ffont_info): Use decode_live_frame.
* fontset.c (check_fontset_name): Likewise.
* terminal.c (Fframe_terminal): Likewise.
* w32fns.c (check_x_frame): Likewise.
* window.c (Fminibuffer_window, Fwindow_at)
(Fcurrent_window_configuration): Likewise.
(Frun_window_configuration_change_hook, Fwindow_resize_apply):
Likewise. Allow zero number of arguments. Adjust docstring.
* dispnew.c (Fredraw_frame): Likewise.
* xfaces.c (frame_or_selected_frame): Remove.
(Fx_list_fonts, Finternal_get_lisp_face_attribute, Fface_font)
(Finternal_lisp_face_equal_p, Finternal_lisp_face_empty_p)
(Fframe_face_alist): Use decode_live_frame.
* xfns.c (check_x_frame): Likewise.
Diffstat (limited to 'src/window.c')
-rw-r--r-- | src/window.c | 46 |
1 files changed, 14 insertions, 32 deletions
diff --git a/src/window.c b/src/window.c index 75a8d42d8d1..c32234b5fcd 100644 --- a/src/window.c +++ b/src/window.c @@ -340,10 +340,7 @@ DEFUN ("minibuffer-window", Fminibuffer_window, Sminibuffer_window, 0, 1, 0, If FRAME is omitted or nil, it defaults to the selected frame. */) (Lisp_Object frame) { - if (NILP (frame)) - frame = selected_frame; - CHECK_LIVE_FRAME (frame); - return FRAME_MINIBUF_WINDOW (XFRAME (frame)); + return FRAME_MINIBUF_WINDOW (decode_live_frame (frame)); } DEFUN ("window-minibuffer-p", Fwindow_minibuffer_p, @@ -1371,12 +1368,7 @@ The top left corner of the frame is considered to be row 0, column 0. */) (Lisp_Object x, Lisp_Object y, Lisp_Object frame) { - struct frame *f; - - if (NILP (frame)) - frame = selected_frame; - CHECK_LIVE_FRAME (frame); - f = XFRAME (frame); + struct frame *f = decode_live_frame (frame); /* Check that arguments are integers or floats. */ CHECK_NUMBER_OR_FLOAT (x); @@ -3109,12 +3101,12 @@ run_window_configuration_change_hook (struct frame *f) } DEFUN ("run-window-configuration-change-hook", Frun_window_configuration_change_hook, - Srun_window_configuration_change_hook, 1, 1, 0, - doc: /* Run `window-configuration-change-hook' for FRAME. */) + Srun_window_configuration_change_hook, 0, 1, 0, + doc: /* Run `window-configuration-change-hook' for FRAME. +If FRAME is omitted or nil, it defaults to the selected frame. */) (Lisp_Object frame) { - CHECK_LIVE_FRAME (frame); - run_window_configuration_change_hook (XFRAME (frame)); + run_window_configuration_change_hook (decode_live_frame (frame)); return Qnil; } @@ -3641,10 +3633,12 @@ window_resize_apply (struct window *w, int horflag) } -DEFUN ("window-resize-apply", Fwindow_resize_apply, Swindow_resize_apply, 1, 2, 0, +DEFUN ("window-resize-apply", Fwindow_resize_apply, Swindow_resize_apply, 0, 2, 0, doc: /* Apply requested size values for window-tree of FRAME. -Optional argument HORIZONTAL omitted or nil means apply requested height -values. HORIZONTAL non-nil means apply requested width values. +If FRAME is omitted or nil, it defaults to the selected frame. + +Optional argument HORIZONTAL omitted or nil means apply requested +height values. HORIZONTAL non-nil means apply requested width values. This function checks whether the requested values sum up to a valid window layout, recursively assigns the new sizes of all child windows @@ -3655,17 +3649,10 @@ Note: This function does not check any of `window-fixed-size-p', be applied on the Elisp level. */) (Lisp_Object frame, Lisp_Object horizontal) { - struct frame *f; - struct window *r; + struct frame *f = decode_live_frame (frame); + struct window *r = XWINDOW (FRAME_ROOT_WINDOW (f)); int horflag = !NILP (horizontal); - if (NILP (frame)) - frame = selected_frame; - CHECK_LIVE_FRAME (frame); - - f = XFRAME (frame); - r = XWINDOW (FRAME_ROOT_WINDOW (f)); - if (!window_resize_check (r, horflag) || ! EQ (r->new_total, (horflag ? r->total_cols : r->total_lines))) @@ -6148,12 +6135,7 @@ saved by this function. */) register int n_windows; register struct save_window_data *data; register int i; - FRAME_PTR f; - - if (NILP (frame)) - frame = selected_frame; - CHECK_LIVE_FRAME (frame); - f = XFRAME (frame); + struct frame *f = decode_live_frame (frame); n_windows = count_windows (XWINDOW (FRAME_ROOT_WINDOW (f))); data = ALLOCATE_PSEUDOVECTOR (struct save_window_data, frame_cols, |