aboutsummaryrefslogtreecommitdiffstats
path: root/src/dispnew.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dispnew.c')
-rw-r--r--src/dispnew.c42
1 files changed, 36 insertions, 6 deletions
diff --git a/src/dispnew.c b/src/dispnew.c
index f9729fc28cb..5d4ce012530 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -1180,7 +1180,7 @@ swap_glyph_pointers (struct glyph_row *a, struct glyph_row *b)
1180/* Copy glyph row structure FROM to glyph row structure TO, except 1180/* Copy glyph row structure FROM to glyph row structure TO, except
1181 that glyph pointers in the structures are left unchanged. */ 1181 that glyph pointers in the structures are left unchanged. */
1182 1182
1183INLINE void 1183static INLINE void
1184copy_row_except_pointers (struct glyph_row *to, struct glyph_row *from) 1184copy_row_except_pointers (struct glyph_row *to, struct glyph_row *from)
1185{ 1185{
1186 struct glyph *pointers[1 + LAST_AREA]; 1186 struct glyph *pointers[1 + LAST_AREA];
@@ -2893,6 +2893,14 @@ mirror_make_current (struct window *w, int frame_row)
2893 else 2893 else
2894 swap_glyph_pointers (desired_row, current_row); 2894 swap_glyph_pointers (desired_row, current_row);
2895 current_row->enabled_p = 1; 2895 current_row->enabled_p = 1;
2896
2897 /* Set the Y coordinate of the mode/header line's row.
2898 It is needed in draw_row_with_mouse_face to find the
2899 screen coordinates. (Window-based redisplay sets
2900 this in update_window, but no one seems to do that
2901 for frame-based redisplay.) */
2902 if (current_row->mode_line_p)
2903 current_row->y = row;
2896 } 2904 }
2897 } 2905 }
2898 2906
@@ -5385,7 +5393,7 @@ buffer_posn_from_coords (struct window *w, int *x, int *y, struct display_pos *p
5385 BYTEPOS (startp) = min (ZV_BYTE, max (BEGV_BYTE, BYTEPOS (startp))); 5393 BYTEPOS (startp) = min (ZV_BYTE, max (BEGV_BYTE, BYTEPOS (startp)));
5386 start_display (&it, w, startp); 5394 start_display (&it, w, startp);
5387 5395
5388 x0 = *x - WINDOW_LEFT_MARGIN_WIDTH (w); 5396 x0 = *x;
5389 5397
5390 /* First, move to the beginning of the row corresponding to *Y. We 5398 /* First, move to the beginning of the row corresponding to *Y. We
5391 need to be in that row to get the correct value of base paragraph 5399 need to be in that row to get the correct value of base paragraph
@@ -6416,6 +6424,12 @@ init_display (void)
6416 f->terminal = t; 6424 f->terminal = t;
6417 6425
6418 t->reference_count++; 6426 t->reference_count++;
6427#ifdef MSDOS
6428 f->output_data.tty->display_info = &the_only_display_info;
6429#else
6430 if (f->output_method == output_termcap)
6431 create_tty_output (f);
6432#endif
6419 t->display_info.tty->top_frame = selected_frame; 6433 t->display_info.tty->top_frame = selected_frame;
6420 change_frame_size (XFRAME (selected_frame), 6434 change_frame_size (XFRAME (selected_frame),
6421 FrameRows (t->display_info.tty), 6435 FrameRows (t->display_info.tty),
@@ -6583,13 +6597,29 @@ It is up to you to set this variable if your terminal can do that. */);
6583 6597
6584 DEFVAR_LISP ("initial-window-system", &Vinitial_window_system, 6598 DEFVAR_LISP ("initial-window-system", &Vinitial_window_system,
6585 doc: /* Name of the window system that Emacs uses for the first frame. 6599 doc: /* Name of the window system that Emacs uses for the first frame.
6586The value is a symbol--for instance, `x' for X windows. 6600The value is a symbol:
6587The value is nil if Emacs is using a text-only terminal. */); 6601 nil for a termcap frame (a character-only terminal),
6602 'x' for an Emacs frame that is really an X window,
6603 'w32' for an Emacs frame that is a window on MS-Windows display,
6604 'ns' for an Emacs frame on a GNUstep or Macintosh Cocoa display,
6605 'pc' for a direct-write MS-DOS frame.
6606
6607Use of this variable as a boolean is deprecated. Instead,
6608use `display-graphic-p' or any of the other `display-*-p'
6609predicates which report frame's specific UI-related capabilities. */);
6588 6610
6589 DEFVAR_KBOARD ("window-system", Vwindow_system, 6611 DEFVAR_KBOARD ("window-system", Vwindow_system,
6590 doc: /* Name of window system through which the selected frame is displayed. 6612 doc: /* Name of window system through which the selected frame is displayed.
6591The value is a symbol--for instance, `x' for X windows. 6613The value is a symbol:
6592The value is nil if the selected frame is on a text-only-terminal. */); 6614 nil for a termcap frame (a character-only terminal),
6615 'x' for an Emacs frame that is really an X window,
6616 'w32' for an Emacs frame that is a window on MS-Windows display,
6617 'ns' for an Emacs frame on a GNUstep or Macintosh Cocoa display,
6618 'pc' for a direct-write MS-DOS frame.
6619
6620Use of this variable as a boolean is deprecated. Instead,
6621use `display-graphic-p' or any of the other `display-*-p'
6622predicates which report frame's specific UI-related capabilities. */);
6593 6623
6594 DEFVAR_LISP ("window-system-version", &Vwindow_system_version, 6624 DEFVAR_LISP ("window-system-version", &Vwindow_system_version,
6595 doc: /* The version number of the window system in use. 6625 doc: /* The version number of the window system in use.