aboutsummaryrefslogtreecommitdiffstats
path: root/src/window.c
diff options
context:
space:
mode:
authorStefan Monnier2011-02-21 17:34:51 -0500
committerStefan Monnier2011-02-21 17:34:51 -0500
commitf619ad4ca2ce943d53589469c010e451afab97dd (patch)
treee1b71f79518372ecab4c677ae948504450d8bf5d /src/window.c
parenta647cb26b695a542e3a546104afdf4c7c47eb061 (diff)
parent9f8370e63f65f76887b319ab6a0368d4a332777c (diff)
downloademacs-f619ad4ca2ce943d53589469c010e451afab97dd.tar.gz
emacs-f619ad4ca2ce943d53589469c010e451afab97dd.zip
Merge from trunk
Diffstat (limited to 'src/window.c')
-rw-r--r--src/window.c70
1 files changed, 35 insertions, 35 deletions
diff --git a/src/window.c b/src/window.c
index d21cbb164ea..f0555d5c961 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1359,8 +1359,8 @@ window_display_table (struct window *w)
1359 { 1359 {
1360 struct buffer *b = XBUFFER (w->buffer); 1360 struct buffer *b = XBUFFER (w->buffer);
1361 1361
1362 if (DISP_TABLE_P (b->display_table)) 1362 if (DISP_TABLE_P (BVAR (b, display_table)))
1363 dp = XCHAR_TABLE (b->display_table); 1363 dp = XCHAR_TABLE (BVAR (b, display_table));
1364 else if (DISP_TABLE_P (Vstandard_display_table)) 1364 else if (DISP_TABLE_P (Vstandard_display_table))
1365 dp = XCHAR_TABLE (Vstandard_display_table); 1365 dp = XCHAR_TABLE (Vstandard_display_table);
1366 } 1366 }
@@ -1414,9 +1414,9 @@ unshow_buffer (register struct window *w)
1414 So don't clobber point in that buffer. */ 1414 So don't clobber point in that buffer. */
1415 if (! EQ (buf, XWINDOW (selected_window)->buffer) 1415 if (! EQ (buf, XWINDOW (selected_window)->buffer)
1416 /* This line helps to fix Horsley's testbug.el bug. */ 1416 /* This line helps to fix Horsley's testbug.el bug. */
1417 && !(WINDOWP (b->last_selected_window) 1417 && !(WINDOWP (BVAR (b, last_selected_window))
1418 && w != XWINDOW (b->last_selected_window) 1418 && w != XWINDOW (BVAR (b, last_selected_window))
1419 && EQ (buf, XWINDOW (b->last_selected_window)->buffer))) 1419 && EQ (buf, XWINDOW (BVAR (b, last_selected_window))->buffer)))
1420 temp_set_point_both (b, 1420 temp_set_point_both (b,
1421 clip_to_bounds (BUF_BEGV (b), 1421 clip_to_bounds (BUF_BEGV (b),
1422 XMARKER (w->pointm)->charpos, 1422 XMARKER (w->pointm)->charpos,
@@ -1425,9 +1425,9 @@ unshow_buffer (register struct window *w)
1425 marker_byte_position (w->pointm), 1425 marker_byte_position (w->pointm),
1426 BUF_ZV_BYTE (b))); 1426 BUF_ZV_BYTE (b)));
1427 1427
1428 if (WINDOWP (b->last_selected_window) 1428 if (WINDOWP (BVAR (b, last_selected_window))
1429 && w == XWINDOW (b->last_selected_window)) 1429 && w == XWINDOW (BVAR (b, last_selected_window)))
1430 b->last_selected_window = Qnil; 1430 BVAR (b, last_selected_window) = Qnil;
1431} 1431}
1432 1432
1433/* Put replacement into the window structure in place of old. */ 1433/* Put replacement into the window structure in place of old. */
@@ -2325,7 +2325,7 @@ window_loop (enum window_loop type, Lisp_Object obj, int mini, Lisp_Object frame
2325 /* Check for a window that has a killed buffer. */ 2325 /* Check for a window that has a killed buffer. */
2326 case CHECK_ALL_WINDOWS: 2326 case CHECK_ALL_WINDOWS:
2327 if (! NILP (w->buffer) 2327 if (! NILP (w->buffer)
2328 && NILP (XBUFFER (w->buffer)->name)) 2328 && NILP (BVAR (XBUFFER (w->buffer), name)))
2329 abort (); 2329 abort ();
2330 break; 2330 break;
2331 2331
@@ -2729,7 +2729,7 @@ window_min_size_2 (struct window *w, int width_p, int safe_p)
2729 { 2729 {
2730 int safe_size = (MIN_SAFE_WINDOW_HEIGHT 2730 int safe_size = (MIN_SAFE_WINDOW_HEIGHT
2731 + ((BUFFERP (w->buffer) 2731 + ((BUFFERP (w->buffer)
2732 && !NILP (XBUFFER (w->buffer)->mode_line_format)) 2732 && !NILP (BVAR (XBUFFER (w->buffer), mode_line_format)))
2733 ? 1 : 0)); 2733 ? 1 : 0));
2734 2734
2735 return safe_p ? safe_size : max (window_min_height, safe_size); 2735 return safe_p ? safe_size : max (window_min_height, safe_size);
@@ -3360,15 +3360,15 @@ set_window_buffer (Lisp_Object window, Lisp_Object buffer, int run_hooks_p, int
3360 w->buffer = buffer; 3360 w->buffer = buffer;
3361 3361
3362 if (EQ (window, selected_window)) 3362 if (EQ (window, selected_window))
3363 b->last_selected_window = window; 3363 BVAR (b, last_selected_window) = window;
3364 3364
3365 /* Let redisplay errors through. */ 3365 /* Let redisplay errors through. */
3366 b->display_error_modiff = 0; 3366 b->display_error_modiff = 0;
3367 3367
3368 /* Update time stamps of buffer display. */ 3368 /* Update time stamps of buffer display. */
3369 if (INTEGERP (b->display_count)) 3369 if (INTEGERP (BVAR (b, display_count)))
3370 XSETINT (b->display_count, XINT (b->display_count) + 1); 3370 XSETINT (BVAR (b, display_count), XINT (BVAR (b, display_count)) + 1);
3371 b->display_time = Fcurrent_time (); 3371 BVAR (b, display_time) = Fcurrent_time ();
3372 3372
3373 XSETFASTINT (w->window_end_pos, 0); 3373 XSETFASTINT (w->window_end_pos, 0);
3374 XSETFASTINT (w->window_end_vpos, 0); 3374 XSETFASTINT (w->window_end_vpos, 0);
@@ -3421,18 +3421,18 @@ set_window_buffer (Lisp_Object window, Lisp_Object buffer, int run_hooks_p, int
3421 w->left_margin_cols = w->right_margin_cols = Qnil; 3421 w->left_margin_cols = w->right_margin_cols = Qnil;
3422 3422
3423 Fset_window_fringes (window, 3423 Fset_window_fringes (window,
3424 b->left_fringe_width, b->right_fringe_width, 3424 BVAR (b, left_fringe_width), BVAR (b, right_fringe_width),
3425 b->fringes_outside_margins); 3425 BVAR (b, fringes_outside_margins));
3426 3426
3427 Fset_window_scroll_bars (window, 3427 Fset_window_scroll_bars (window,
3428 b->scroll_bar_width, 3428 BVAR (b, scroll_bar_width),
3429 b->vertical_scroll_bar_type, Qnil); 3429 BVAR (b, vertical_scroll_bar_type), Qnil);
3430 3430
3431 w->left_margin_cols = save_left; 3431 w->left_margin_cols = save_left;
3432 w->right_margin_cols = save_right; 3432 w->right_margin_cols = save_right;
3433 3433
3434 Fset_window_margins (window, 3434 Fset_window_margins (window,
3435 b->left_margin_cols, b->right_margin_cols); 3435 BVAR (b, left_margin_cols), BVAR (b, right_margin_cols));
3436 } 3436 }
3437 3437
3438 if (run_hooks_p) 3438 if (run_hooks_p)
@@ -3469,7 +3469,7 @@ This function runs `window-scroll-functions' before running
3469 XSETWINDOW (window, w); 3469 XSETWINDOW (window, w);
3470 buffer = Fget_buffer (buffer_or_name); 3470 buffer = Fget_buffer (buffer_or_name);
3471 CHECK_BUFFER (buffer); 3471 CHECK_BUFFER (buffer);
3472 if (NILP (XBUFFER (buffer)->name)) 3472 if (NILP (BVAR (XBUFFER (buffer), name)))
3473 error ("Attempt to display deleted buffer"); 3473 error ("Attempt to display deleted buffer");
3474 3474
3475 tem = w->buffer; 3475 tem = w->buffer;
@@ -3481,7 +3481,7 @@ This function runs `window-scroll-functions' before running
3481 if (EQ (tem, buffer)) 3481 if (EQ (tem, buffer))
3482 return Qnil; 3482 return Qnil;
3483 else if (EQ (w->dedicated, Qt)) 3483 else if (EQ (w->dedicated, Qt))
3484 error ("Window is dedicated to `%s'", SDATA (XBUFFER (tem)->name)); 3484 error ("Window is dedicated to `%s'", SDATA (BVAR (XBUFFER (tem), name)));
3485 else 3485 else
3486 w->dedicated = Qnil; 3486 w->dedicated = Qnil;
3487 3487
@@ -3517,7 +3517,7 @@ select_window (Lisp_Object window, Lisp_Object norecord, int inhibit_point_swap)
3517 record_buffer (w->buffer); 3517 record_buffer (w->buffer);
3518 } 3518 }
3519 3519
3520 if (EQ (window, selected_window)) 3520 if (EQ (window, selected_window) && !inhibit_point_swap)
3521 return window; 3521 return window;
3522 3522
3523 sf = SELECTED_FRAME (); 3523 sf = SELECTED_FRAME ();
@@ -3552,7 +3552,7 @@ select_window (Lisp_Object window, Lisp_Object norecord, int inhibit_point_swap)
3552 3552
3553 Fset_buffer (w->buffer); 3553 Fset_buffer (w->buffer);
3554 3554
3555 XBUFFER (w->buffer)->last_selected_window = window; 3555 BVAR (XBUFFER (w->buffer), last_selected_window) = window;
3556 3556
3557 /* Go to the point recorded in the window. 3557 /* Go to the point recorded in the window.
3558 This is important when the buffer is in more 3558 This is important when the buffer is in more
@@ -3640,7 +3640,7 @@ displaying that buffer. */)
3640 3640
3641 if (STRINGP (object)) 3641 if (STRINGP (object))
3642 object = Fget_buffer (object); 3642 object = Fget_buffer (object);
3643 if (BUFFERP (object) && !NILP (XBUFFER (object)->name)) 3643 if (BUFFERP (object) && !NILP (BVAR (XBUFFER (object), name)))
3644 { 3644 {
3645 /* Walk all windows looking for buffer, and force update 3645 /* Walk all windows looking for buffer, and force update
3646 of each of those windows. */ 3646 of each of those windows. */
@@ -3662,7 +3662,7 @@ temp_output_buffer_show (register Lisp_Object buf)
3662 register Lisp_Object window; 3662 register Lisp_Object window;
3663 register struct window *w; 3663 register struct window *w;
3664 3664
3665 XBUFFER (buf)->directory = current_buffer->directory; 3665 BVAR (XBUFFER (buf), directory) = BVAR (current_buffer, directory);
3666 3666
3667 Fset_buffer (buf); 3667 Fset_buffer (buf);
3668 BUF_SAVE_MODIFF (XBUFFER (buf)) = MODIFF; 3668 BUF_SAVE_MODIFF (XBUFFER (buf)) = MODIFF;
@@ -4843,8 +4843,8 @@ window_scroll_pixel_based (Lisp_Object window, int n, int whole, int noerror)
4843 possibility of point becoming "stuck" on a tall line when 4843 possibility of point becoming "stuck" on a tall line when
4844 scrolling by one line. */ 4844 scrolling by one line. */
4845 if (window_scroll_pixel_based_preserve_y < 0 4845 if (window_scroll_pixel_based_preserve_y < 0
4846 || !SYMBOLP (current_kboard->Vlast_command) 4846 || !SYMBOLP (KVAR (current_kboard, Vlast_command))
4847 || NILP (Fget (current_kboard->Vlast_command, Qscroll_command))) 4847 || NILP (Fget (KVAR (current_kboard, Vlast_command), Qscroll_command)))
4848 { 4848 {
4849 start_display (&it, w, start); 4849 start_display (&it, w, start);
4850 move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS); 4850 move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS);
@@ -5100,8 +5100,8 @@ window_scroll_line_based (Lisp_Object window, int n, int whole, int noerror)
5100 if (!NILP (Vscroll_preserve_screen_position)) 5100 if (!NILP (Vscroll_preserve_screen_position))
5101 { 5101 {
5102 if (window_scroll_preserve_vpos <= 0 5102 if (window_scroll_preserve_vpos <= 0
5103 || !SYMBOLP (current_kboard->Vlast_command) 5103 || !SYMBOLP (KVAR (current_kboard, Vlast_command))
5104 || NILP (Fget (current_kboard->Vlast_command, Qscroll_command))) 5104 || NILP (Fget (KVAR (current_kboard, Vlast_command), Qscroll_command)))
5105 { 5105 {
5106 struct position posit 5106 struct position posit
5107 = *compute_motion (startpos, 0, 0, 0, 5107 = *compute_motion (startpos, 0, 0, 0,
@@ -5887,7 +5887,7 @@ the return value is nil. Otherwise the value is t. */)
5887 saved_windows = XVECTOR (data->saved_windows); 5887 saved_windows = XVECTOR (data->saved_windows);
5888 5888
5889 new_current_buffer = data->current_buffer; 5889 new_current_buffer = data->current_buffer;
5890 if (NILP (XBUFFER (new_current_buffer)->name)) 5890 if (NILP (BVAR (XBUFFER (new_current_buffer), name)))
5891 new_current_buffer = Qnil; 5891 new_current_buffer = Qnil;
5892 else 5892 else
5893 { 5893 {
@@ -6072,14 +6072,14 @@ the return value is nil. Otherwise the value is t. */)
6072 w->buffer = p->buffer; 6072 w->buffer = p->buffer;
6073 else 6073 else
6074 { 6074 {
6075 if (!NILP (XBUFFER (p->buffer)->name)) 6075 if (!NILP (BVAR (XBUFFER (p->buffer), name)))
6076 /* If saved buffer is alive, install it. */ 6076 /* If saved buffer is alive, install it. */
6077 { 6077 {
6078 w->buffer = p->buffer; 6078 w->buffer = p->buffer;
6079 w->start_at_line_beg = p->start_at_line_beg; 6079 w->start_at_line_beg = p->start_at_line_beg;
6080 set_marker_restricted (w->start, p->start, w->buffer); 6080 set_marker_restricted (w->start, p->start, w->buffer);
6081 set_marker_restricted (w->pointm, p->pointm, w->buffer); 6081 set_marker_restricted (w->pointm, p->pointm, w->buffer);
6082 Fset_marker (XBUFFER (w->buffer)->mark, 6082 Fset_marker (BVAR (XBUFFER (w->buffer), mark),
6083 p->mark, w->buffer); 6083 p->mark, w->buffer);
6084 6084
6085 /* As documented in Fcurrent_window_configuration, don't 6085 /* As documented in Fcurrent_window_configuration, don't
@@ -6089,7 +6089,7 @@ the return value is nil. Otherwise the value is t. */)
6089 && XBUFFER (p->buffer) == current_buffer) 6089 && XBUFFER (p->buffer) == current_buffer)
6090 Fgoto_char (w->pointm); 6090 Fgoto_char (w->pointm);
6091 } 6091 }
6092 else if (NILP (w->buffer) || NILP (XBUFFER (w->buffer)->name)) 6092 else if (NILP (w->buffer) || NILP (BVAR (XBUFFER (w->buffer), name)))
6093 /* Else unless window has a live buffer, get one. */ 6093 /* Else unless window has a live buffer, get one. */
6094 { 6094 {
6095 w->buffer = Fcdr (Fcar (Vbuffer_alist)); 6095 w->buffer = Fcdr (Fcar (Vbuffer_alist));
@@ -6130,7 +6130,7 @@ the return value is nil. Otherwise the value is t. */)
6130 has been restored into it. We already swapped out that point 6130 has been restored into it. We already swapped out that point
6131 from that window's old buffer. */ 6131 from that window's old buffer. */
6132 select_window (data->current_window, Qnil, 1); 6132 select_window (data->current_window, Qnil, 1);
6133 XBUFFER (XWINDOW (selected_window)->buffer)->last_selected_window 6133 BVAR (XBUFFER (XWINDOW (selected_window)->buffer), last_selected_window)
6134 = selected_window; 6134 = selected_window;
6135 6135
6136 if (NILP (data->focus_frame) 6136 if (NILP (data->focus_frame)
@@ -6331,7 +6331,7 @@ save_window_save (Lisp_Object window, struct Lisp_Vector *vector, int i)
6331 p->start = Fcopy_marker (w->start, Qnil); 6331 p->start = Fcopy_marker (w->start, Qnil);
6332 p->start_at_line_beg = w->start_at_line_beg; 6332 p->start_at_line_beg = w->start_at_line_beg;
6333 6333
6334 tem = XBUFFER (w->buffer)->mark; 6334 tem = BVAR (XBUFFER (w->buffer), mark);
6335 p->mark = Fcopy_marker (tem, Qnil); 6335 p->mark = Fcopy_marker (tem, Qnil);
6336 } 6336 }
6337 else 6337 else