From 7d601aaaf6e49d6848cdea295f7501629cf57862 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 23 Apr 1997 00:30:43 +0000 Subject: (frame_allow_splitting): New variable. (Fsplit_window): Ignore `unsplittable' if frame_allow_splitting. (syms_of_window): Set up Lisp var. --- src/window.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/window.c') diff --git a/src/window.c b/src/window.c index 0ff3b0fb85c..982a7d1d96d 100644 --- a/src/window.c +++ b/src/window.c @@ -119,6 +119,9 @@ Lisp_Object Vwindow_configuration_change_hook; at the same screen height as previously. */ static int scroll_preserve_screen_position; +/* Non-nil means we can split a frame even if it is "unsplittable". */ +static int frame_override_unsplittable; + #define min(a, b) ((a) < (b) ? (a) : (b)) extern int scroll_margin; @@ -2387,7 +2390,7 @@ and put SIZE columns in the first of the pair.") if (MINI_WINDOW_P (o)) error ("Attempt to split minibuffer window"); - else if (FRAME_NO_SPLIT_P (fo)) + else if (FRAME_NO_SPLIT_P (fo) && ! frame_override_unsplittable) error ("Attempt to split unsplittable frame"); check_min_window_sizes (); @@ -3767,6 +3770,12 @@ If there is only one window, it is split regardless of this value."); The selected frae is the one whose configuration has changed."); Vwindow_configuration_change_hook = Qnil; + DEFVAR_BOOL ("frame-override-unsplittable", &frame_override_unsplittable, + "Non-nil means allow splitting an `unsplittable' frame.\n\ +\(That means, a frame whise `unsplittable' parameter is non-nil.)\n\ +Packages such as Ispell that work by splitting the selected frame\n\ +can bind this, so that they will work when used in an unsplittable frame."); + defsubr (&Sselected_window); defsubr (&Sminibuffer_window); defsubr (&Swindow_minibuffer_p); -- cgit v1.2.1