aboutsummaryrefslogtreecommitdiffstats
path: root/src/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/window.c')
-rw-r--r--src/window.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/window.c b/src/window.c
index 5dced198811..e7f2ed93fd3 100644
--- a/src/window.c
+++ b/src/window.c
@@ -3780,7 +3780,9 @@ SIZE includes that window's scroll bar, or the divider column to its right.
3780Interactively, all arguments are nil. 3780Interactively, all arguments are nil.
3781 3781
3782Returns the newly created window (which is the lower or rightmost one). 3782Returns the newly created window (which is the lower or rightmost one).
3783The upper or leftmost window is the original one and remains selected. 3783The upper or leftmost window is the original one, and remains selected
3784if it was selected before.
3785
3784See Info node `(elisp)Splitting Windows' for more details and examples.*/) 3786See Info node `(elisp)Splitting Windows' for more details and examples.*/)
3785 (window, size, horflag) 3787 (window, size, horflag)
3786 Lisp_Object window, size, horflag; 3788 Lisp_Object window, size, horflag;
@@ -4895,6 +4897,8 @@ window_scroll_pixel_based (window, n, whole, noerror)
4895 } 4897 }
4896 else if (noerror) 4898 else if (noerror)
4897 return; 4899 return;
4900 else if (n < 0) /* could happen with empty buffers */
4901 Fsignal (Qbeginning_of_buffer, Qnil);
4898 else 4902 else
4899 Fsignal (Qend_of_buffer, Qnil); 4903 Fsignal (Qend_of_buffer, Qnil);
4900 } 4904 }
@@ -5796,6 +5800,7 @@ struct saved_window
5796 Lisp_Object left_margin_cols, right_margin_cols; 5800 Lisp_Object left_margin_cols, right_margin_cols;
5797 Lisp_Object left_fringe_width, right_fringe_width, fringes_outside_margins; 5801 Lisp_Object left_fringe_width, right_fringe_width, fringes_outside_margins;
5798 Lisp_Object scroll_bar_width, vertical_scroll_bar_type; 5802 Lisp_Object scroll_bar_width, vertical_scroll_bar_type;
5803 Lisp_Object dedicated;
5799}; 5804};
5800 5805
5801#define SAVED_WINDOW_N(swv,n) \ 5806#define SAVED_WINDOW_N(swv,n) \
@@ -5806,9 +5811,7 @@ DEFUN ("window-configuration-p", Fwindow_configuration_p, Swindow_configuration_
5806 (object) 5811 (object)
5807 Lisp_Object object; 5812 Lisp_Object object;
5808{ 5813{
5809 if (WINDOW_CONFIGURATIONP (object)) 5814 return WINDOW_CONFIGURATIONP (object) ? Qt : Qnil;
5810 return Qt;
5811 return Qnil;
5812} 5815}
5813 5816
5814DEFUN ("window-configuration-frame", Fwindow_configuration_frame, Swindow_configuration_frame, 1, 1, 0, 5817DEFUN ("window-configuration-frame", Fwindow_configuration_frame, Swindow_configuration_frame, 1, 1, 0,
@@ -6030,6 +6033,7 @@ the return value is nil. Otherwise the value is t. */)
6030 w->fringes_outside_margins = p->fringes_outside_margins; 6033 w->fringes_outside_margins = p->fringes_outside_margins;
6031 w->scroll_bar_width = p->scroll_bar_width; 6034 w->scroll_bar_width = p->scroll_bar_width;
6032 w->vertical_scroll_bar_type = p->vertical_scroll_bar_type; 6035 w->vertical_scroll_bar_type = p->vertical_scroll_bar_type;
6036 w->dedicated = p->dedicated;
6033 XSETFASTINT (w->last_modified, 0); 6037 XSETFASTINT (w->last_modified, 0);
6034 XSETFASTINT (w->last_overlay_modified, 0); 6038 XSETFASTINT (w->last_overlay_modified, 0);
6035 6039
@@ -6299,6 +6303,7 @@ save_window_save (window, vector, i)
6299 p->fringes_outside_margins = w->fringes_outside_margins; 6303 p->fringes_outside_margins = w->fringes_outside_margins;
6300 p->scroll_bar_width = w->scroll_bar_width; 6304 p->scroll_bar_width = w->scroll_bar_width;
6301 p->vertical_scroll_bar_type = w->vertical_scroll_bar_type; 6305 p->vertical_scroll_bar_type = w->vertical_scroll_bar_type;
6306 p->dedicated = w->dedicated;
6302 if (!NILP (w->buffer)) 6307 if (!NILP (w->buffer))
6303 { 6308 {
6304 /* Save w's value of point in the window configuration. 6309 /* Save w's value of point in the window configuration.