aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier <[email protected]>2008-02-25 02:27:32 +0000
committerStefan Monnier <[email protected]>2008-02-25 02:27:32 +0000
commiteeca6f6f4e77ef5c81c481509d08f3fb481fae9a (patch)
treea9f2f0fd199dad7336acb8f92be0028ba8148017
parentae185452070444d89db7f1069c58cfa27a5e15b0 (diff)
(Fdelete_window, Fadjust_window_trailing_edge):
Handle a nil arg. Use run_window_configuration_change_hook. (delete_window, adjust_window_trailing_edge): Don't handle nil any more. (Fenlarge_window, Fshrink_window, Fset_window_configuration): Use run_window_configuration_change_hook.
-rw-r--r--src/ChangeLog11
-rw-r--r--src/window.c38
2 files changed, 26 insertions, 23 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 263168d128..dd33db7cdf 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
+2008-02-25 Stefan Monnier <[email protected]>
+
+ * window.c (Fdelete_window, Fadjust_window_trailing_edge):
+ Handle a nil arg. Use run_window_configuration_change_hook.
+ (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
+ (Fenlarge_window, Fshrink_window, Fset_window_configuration):
+ Use run_window_configuration_change_hook.
+
2008-02-25 Kenichi Handa <[email protected]>
* xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
@@ -14,8 +22,7 @@
* xftfont.c (xftfont_draw): Pay attention to s->padding_p.
- * font.c: If the font driver doesn't have `shape' function, return
- Qnil.
+ * font.c: If the font driver doesn't have `shape' function, return Qnil.
2008-02-25 Jason Rumney <[email protected]>
diff --git a/src/window.c b/src/window.c
index d1e3225e19..bceb41faf0 100644
--- a/src/window.c
+++ b/src/window.c
@@ -212,8 +212,8 @@ static int window_initialized;
/* Hook to run when window config changes. */
-Lisp_Object Qwindow_configuration_change_hook;
-Lisp_Object Vwindow_configuration_change_hook;
+static Lisp_Object Qwindow_configuration_change_hook;
+static Lisp_Object Vwindow_configuration_change_hook;
/* Non-nil means scroll commands try to put point
at the same screen height as previously. */
@@ -1483,11 +1483,13 @@ DEFUN ("delete-window", Fdelete_window, Sdelete_window, 0, 1, "",
(window)
register Lisp_Object window;
{
+ struct frame *f;
+ if (NILP (window))
+ window = selected_window;
+ f = XFRAME (WINDOW_FRAME (XWINDOW (window)));
delete_window (window);
- if (! NILP (Vwindow_configuration_change_hook)
- && ! NILP (Vrun_hooks))
- call1 (Vrun_hooks, Qwindow_configuration_change_hook);
+ run_window_configuration_change_hook (f);
return Qnil;
}
@@ -1504,10 +1506,7 @@ delete_window (window)
/* Because this function is called by other C code on non-leaf
windows, the CHECK_LIVE_WINDOW macro would choke inappropriately,
so we can't decode_window here. */
- if (NILP (window))
- window = selected_window;
- else
- CHECK_WINDOW (window);
+ CHECK_WINDOW (window);
p = XWINDOW (window);
/* It's a no-op to delete an already-deleted window. */
@@ -3310,6 +3309,8 @@ EXFUN (Fset_window_scroll_bars, 4);
void
run_window_configuration_change_hook (struct frame *f)
{
+ /* FIXME: buffer-local values of Vwindow_configuration_change_hook
+ aren't handled properly. */
if (! NILP (Vwindow_configuration_change_hook)
&& ! NILP (Vrun_hooks))
{
@@ -4187,8 +4188,7 @@ too small. */)
CHECK_NUMBER (arg);
enlarge_window (selected_window, XINT (arg), !NILP (horizontal));
- if (! NILP (Vwindow_configuration_change_hook))
- call1 (Vrun_hooks, Qwindow_configuration_change_hook);
+ run_window_configuration_change_hook (SELECTED_FRAME ());
return Qnil;
}
@@ -4204,8 +4204,7 @@ Only siblings to the right or below are changed. */)
CHECK_NUMBER (arg);
enlarge_window (selected_window, -XINT (arg), !NILP (side));
- if (! NILP (Vwindow_configuration_change_hook))
- call1 (Vrun_hooks, Qwindow_configuration_change_hook);
+ run_window_configuration_change_hook (SELECTED_FRAME ());
return Qnil;
}
@@ -4528,9 +4527,6 @@ adjust_window_trailing_edge (window, delta, horiz_flag)
validity. */
check_min_window_sizes ();
- if (NILP (window))
- window = Fselected_window ();
-
CHECK_WINDOW (window);
/* Give up if this window cannot be resized. */
@@ -4664,10 +4660,12 @@ are not deleted; instead, we signal an error. */)
Lisp_Object window, delta, horizontal;
{
CHECK_NUMBER (delta);
+ if (NILP (window))
+ window = selected_window;
adjust_window_trailing_edge (window, XINT (delta), !NILP (horizontal));
- if (! NILP (Vwindow_configuration_change_hook))
- call1 (Vrun_hooks, Qwindow_configuration_change_hook);
+ run_window_configuration_change_hook
+ (XFRAME (WINDOW_FRAME (XWINDOW (window))));
return Qnil;
}
@@ -6479,9 +6477,7 @@ the return value is nil. Otherwise the value is t. */)
if (FRAME_LIVE_P (XFRAME (data->selected_frame)))
do_switch_frame (data->selected_frame, 0, 0);
- if (! NILP (Vwindow_configuration_change_hook)
- && ! NILP (Vrun_hooks))
- call1 (Vrun_hooks, Qwindow_configuration_change_hook);
+ run_window_configuration_change_hook (f);
}
if (!NILP (new_current_buffer))