Mercurial > hg > xemacs-beta
diff src/window.c @ 707:a307f9a2021d
[xemacs-hg @ 2001-12-20 05:49:28 by andyp]
sync with 21-4-6-windows
author | andyp |
---|---|
date | Thu, 20 Dec 2001 05:49:48 +0000 |
parents | fdefd0186b75 |
children | 943eaba38521 |
line wrap: on
line diff
--- a/src/window.c Wed Dec 19 00:40:26 2001 +0000 +++ b/src/window.c Thu Dec 20 05:49:48 2001 +0000 @@ -123,6 +123,8 @@ /* List of freed window configurations with 1 - 10 windows. */ static Lisp_Object Vwindow_configuration_free_list[10]; +Lisp_Object Qtruncate_partial_width_windows; + #define SET_LAST_MODIFIED(w, cache_too) \ do { \ (w)->last_modified[CURRENT_DISP] = Qzero; \ @@ -756,7 +758,8 @@ /* If truncate_partial_width_windows is true and the window is not the full width of the frame it is truncated. */ - if (truncate_partial_width_windows + if (!NILP (symbol_value_in_buffer (Qtruncate_partial_width_windows, + w->buffer)) && !(window_is_leftmost (w) && window_is_rightmost (w))) return 1; @@ -2670,7 +2673,7 @@ We can't just wait until we hit the first window again, because it might be deleted. */ - last_window = Fprevious_window (w, mini ? Qt : Qnil, frame_arg, Qt); + last_window = Fprevious_window (w, mini ? Qt : Qnil, frame_arg, device); best_window = Qnil; for (;;) @@ -2685,7 +2688,17 @@ /* Given the outstanding quality of the rest of this code, I feel no shame about putting this piece of shit in. */ if (++lose_lose >= 500) - return Qnil; + { + /* Call to abort() added by Darryl Okahata (16 Nov. 2001), + at Ben's request, to catch any remaining bugs. + + If you find that XEmacs is aborting here, and you + need to be up and running ASAP, it should be safe to + comment out the following abort(), as long as you + leave the "break;" alone. */ + abort(); + break; /* <--- KEEP THIS HERE! Do not delete! */ + } /* Note that we do not pay attention here to whether the frame is visible, since Fnext_window skips non-visible frames @@ -3683,8 +3696,9 @@ DEFUN ("split-window", Fsplit_window, 0, 3, "", /* Split WINDOW, putting SIZE lines in the first of the pair. WINDOW defaults to the selected one and SIZE to half its size. -If optional third arg HORFLAG is non-nil, split side by side -and put SIZE columns in the first of the pair. +If optional third arg HORFLAG is non-nil, split side by side and put +SIZE columns in the first of the pair. The newly created window is +returned. */ (window, size, horflag)) { @@ -6146,6 +6160,8 @@ /* Qother in general.c */ #endif + DEFSYMBOL (Qtruncate_partial_width_windows); + DEFSUBR (Fselected_window); DEFSUBR (Flast_nonminibuf_window); DEFSUBR (Fminibuffer_window);