Mercurial > hg > xemacs-beta
comparison src/redisplay.c @ 56:c0965ff3b039 r19-16-pre3
Import from CVS: tag r19-16-pre3
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:58:20 +0200 |
parents | ee648375d8d6 |
children | 131b0175ea99 |
comparison
equal
deleted
inserted
replaced
55:9e8623109fad | 56:c0965ff3b039 |
---|---|
1902 else | 1902 else |
1903 data.cursor_type = NO_CURSOR; | 1903 data.cursor_type = NO_CURSOR; |
1904 } | 1904 } |
1905 else if (MINI_WINDOW_P (w) && !active_minibuffer) | 1905 else if (MINI_WINDOW_P (w) && !active_minibuffer) |
1906 data.cursor_type = NO_CURSOR; | 1906 data.cursor_type = NO_CURSOR; |
1907 else if (w == XWINDOW (FRAME_SELECTED_WINDOW (device_selected_frame (d)))) | 1907 else if (w == XWINDOW (FRAME_SELECTED_WINDOW (f)) && |
1908 EQ(DEVICE_CONSOLE(d), Vselected_console) && | |
1909 d == XDEVICE(CONSOLE_SELECTED_DEVICE(XCONSOLE(DEVICE_CONSOLE(d))))&& | |
1910 f == XFRAME(DEVICE_SELECTED_FRAME(d))) | |
1908 { | 1911 { |
1909 data.bi_cursor_bufpos = BI_BUF_PT (b); | 1912 data.bi_cursor_bufpos = BI_BUF_PT (b); |
1910 data.cursor_type = CURSOR_ON; | 1913 data.cursor_type = CURSOR_ON; |
1911 } | 1914 } |
1912 else if (w == XWINDOW (FRAME_SELECTED_WINDOW (f))) | 1915 else if (w == XWINDOW (FRAME_SELECTED_WINDOW (f))) |
4921 Lisp_Object old_buffer = w->buffer; | 4924 Lisp_Object old_buffer = w->buffer; |
4922 struct buffer *b; | 4925 struct buffer *b; |
4923 int echo_active = 0; | 4926 int echo_active = 0; |
4924 int startp = 1; | 4927 int startp = 1; |
4925 int pointm; | 4928 int pointm; |
4926 int selected; | 4929 int selected_in_its_frame; |
4930 int selected_globally; | |
4927 int skip_output = 0; | 4931 int skip_output = 0; |
4928 int truncation_changed; | 4932 int truncation_changed; |
4929 int inactive_minibuffer = | 4933 int inactive_minibuffer = |
4930 (MINI_WINDOW_P (w) && | 4934 (MINI_WINDOW_P (w) && |
4931 (f != device_selected_frame (d)) && | 4935 (f != device_selected_frame (d)) && |
4948 redisplay_windows (w->hchild, skip_selected); | 4952 redisplay_windows (w->hchild, skip_selected); |
4949 return; | 4953 return; |
4950 } | 4954 } |
4951 | 4955 |
4952 /* Is this window the selected window on its frame? */ | 4956 /* Is this window the selected window on its frame? */ |
4953 selected = | 4957 selected_in_its_frame = (w == XWINDOW (FRAME_SELECTED_WINDOW (f))); |
4954 (w == XWINDOW (FRAME_SELECTED_WINDOW (device_selected_frame (d)))); | 4958 selected_globally = |
4955 if (skip_selected && selected) | 4959 selected_in_its_frame && |
4960 EQ(DEVICE_CONSOLE(d), Vselected_console) && | |
4961 XDEVICE(CONSOLE_SELECTED_DEVICE(XCONSOLE(DEVICE_CONSOLE(d)))) == d && | |
4962 XFRAME(DEVICE_SELECTED_FRAME(d)) == f; | |
4963 if (skip_selected && selected_in_its_frame) | |
4956 return; | 4964 return; |
4957 | 4965 |
4958 /* It is possible that the window is not fully initialized yet. */ | 4966 /* It is possible that the window is not fully initialized yet. */ |
4959 if (NILP (w->buffer)) | 4967 if (NILP (w->buffer)) |
4960 return; | 4968 return; |
4969 | 4977 |
4970 if (echo_active) | 4978 if (echo_active) |
4971 pointm = 1; | 4979 pointm = 1; |
4972 else | 4980 else |
4973 { | 4981 { |
4974 if (selected) | 4982 if (selected_globally) |
4975 { | 4983 { |
4976 pointm = BUF_PT (b); | 4984 pointm = BUF_PT (b); |
4977 } | 4985 } |
4978 else | 4986 else |
4979 { | 4987 { |
5041 | 5049 |
5042 if (!point_visible (w, pointm, DESIRED_DISP) && !inactive_minibuffer) | 5050 if (!point_visible (w, pointm, DESIRED_DISP) && !inactive_minibuffer) |
5043 { | 5051 { |
5044 pointm = point_at_center (w, DESIRED_DISP, 0, 0); | 5052 pointm = point_at_center (w, DESIRED_DISP, 0, 0); |
5045 | 5053 |
5046 if (selected) | 5054 if (selected_globally) |
5047 BUF_SET_PT (b, pointm); | 5055 BUF_SET_PT (b, pointm); |
5048 | 5056 |
5049 Fset_marker (w->pointm[DESIRED_DISP], make_int (pointm), | 5057 Fset_marker (w->pointm[DESIRED_DISP], make_int (pointm), |
5050 old_buffer); | 5058 old_buffer); |
5051 | 5059 |
5069 && !truncation_changed) | 5077 && !truncation_changed) |
5070 { | 5078 { |
5071 /* Check if the cursor has actually moved. */ | 5079 /* Check if the cursor has actually moved. */ |
5072 if (EQ (Fmarker_buffer (w->last_point[CURRENT_DISP]), w->buffer) | 5080 if (EQ (Fmarker_buffer (w->last_point[CURRENT_DISP]), w->buffer) |
5073 && pointm == marker_position (w->last_point[CURRENT_DISP]) | 5081 && pointm == marker_position (w->last_point[CURRENT_DISP]) |
5074 && selected | 5082 && selected_globally |
5075 && !w->windows_changed | 5083 && !w->windows_changed |
5076 && !f->clip_changed | 5084 && !f->clip_changed |
5077 && !f->extents_changed | 5085 && !f->extents_changed |
5078 && !f->faces_changed | 5086 && !f->faces_changed |
5079 && !f->point_changed | 5087 && !f->point_changed |
5109 | 5117 |
5110 skip_output = 1; | 5118 skip_output = 1; |
5111 goto regeneration_done; | 5119 goto regeneration_done; |
5112 } | 5120 } |
5113 } | 5121 } |
5114 else if (!selected && !f->point_changed) | 5122 else if (!selected_in_its_frame && !f->point_changed) |
5115 { | 5123 { |
5116 if (f->modeline_changed) | 5124 if (f->modeline_changed) |
5117 regenerate_modeline (w); | 5125 regenerate_modeline (w); |
5118 | 5126 |
5119 skip_output = 1; | 5127 skip_output = 1; |
5663 window_line_number (struct window *w, int type) | 5671 window_line_number (struct window *w, int type) |
5664 { | 5672 { |
5665 struct device *d = XDEVICE (XFRAME (w->frame)->device); | 5673 struct device *d = XDEVICE (XFRAME (w->frame)->device); |
5666 struct buffer *b = XBUFFER (w->buffer); | 5674 struct buffer *b = XBUFFER (w->buffer); |
5667 Bufpos end = | 5675 Bufpos end = |
5668 ((w == XWINDOW (FRAME_SELECTED_WINDOW (device_selected_frame (d)))) | 5676 (((w == XWINDOW (FRAME_SELECTED_WINDOW (device_selected_frame (d)))) && |
5677 EQ(DEVICE_CONSOLE(d), Vselected_console) && | |
5678 XDEVICE(CONSOLE_SELECTED_DEVICE(XCONSOLE(DEVICE_CONSOLE(d)))) == d && | |
5679 EQ(DEVICE_SELECTED_FRAME(d), w->frame)) | |
5669 ? BUF_PT (b) | 5680 ? BUF_PT (b) |
5670 : marker_position (w->pointm[type])); | 5681 : marker_position (w->pointm[type])); |
5671 int lots = 999999999; | 5682 int lots = 999999999; |
5672 int shortage, line; | 5683 int shortage, line; |
5673 | 5684 |