comparison src/dispnew.c @ 90082:6d92d69fae33

Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-4 Merge from emacs--cvs-trunk--0 Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-41 - miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-46 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-47 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-4 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-5 Update from CVS: exi/gnus-faq.texi ([4.1]): Typo. * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-6 Update from CVS
author Miles Bader <miles@gnu.org>
date Sat, 22 Jan 2005 21:39:38 +0000
parents eac554634bfa c0533d2d03af
children 72cf6261961e
comparison
equal deleted inserted replaced
90081:b1b6eac1aaa3 90082:6d92d69fae33
4059 4059
4060 /* Check pending input the first time so that we can quickly return. */ 4060 /* Check pending input the first time so that we can quickly return. */
4061 if (redisplay_dont_pause) 4061 if (redisplay_dont_pause)
4062 force_p = 1; 4062 force_p = 1;
4063 else 4063 else
4064 detect_input_pending (); 4064 detect_input_pending_ignore_squeezables ();
4065 4065
4066 /* If forced to complete the update, or if no input is pending, do 4066 /* If forced to complete the update, or if no input is pending, do
4067 the update. */ 4067 the update. */
4068 if (force_p || !input_pending || !NILP (do_mouse_tracking)) 4068 if (force_p || !input_pending || !NILP (do_mouse_tracking))
4069 { 4069 {
4133 /* We'll have to play a little bit with when to 4133 /* We'll have to play a little bit with when to
4134 detect_input_pending. If it's done too often, 4134 detect_input_pending. If it's done too often,
4135 scrolling large windows with repeated scroll-up 4135 scrolling large windows with repeated scroll-up
4136 commands will too quickly pause redisplay. */ 4136 commands will too quickly pause redisplay. */
4137 if (!force_p && ++n_updated % preempt_count == 0) 4137 if (!force_p && ++n_updated % preempt_count == 0)
4138 detect_input_pending (); 4138 detect_input_pending_ignore_squeezables ();
4139 4139
4140 changed_p |= update_window_line (w, vpos, 4140 changed_p |= update_window_line (w, vpos,
4141 &mouse_face_overwritten_p); 4141 &mouse_face_overwritten_p);
4142 4142
4143 /* Mark all rows below the last visible one in the current 4143 /* Mark all rows below the last visible one in the current
5077 if (preempt_count <= 0) 5077 if (preempt_count <= 0)
5078 preempt_count = 1; 5078 preempt_count = 1;
5079 5079
5080 if (redisplay_dont_pause) 5080 if (redisplay_dont_pause)
5081 force_p = 1; 5081 force_p = 1;
5082 else if (!force_p && detect_input_pending ()) 5082 else if (!force_p && detect_input_pending_ignore_squeezables ())
5083 { 5083 {
5084 pause = 1; 5084 pause = 1;
5085 goto do_pause; 5085 goto do_pause;
5086 } 5086 }
5087 5087
5133 } 5133 }
5134 } 5134 }
5135 } 5135 }
5136 5136
5137 if ((i - 1) % preempt_count == 0) 5137 if ((i - 1) % preempt_count == 0)
5138 detect_input_pending (); 5138 detect_input_pending_ignore_squeezables ();
5139 5139
5140 update_frame_line (f, i); 5140 update_frame_line (f, i);
5141 } 5141 }
5142 } 5142 }
5143 5143
5826 { 5826 {
5827 /* Find the glyph under X. If we find one with a string object, 5827 /* Find the glyph under X. If we find one with a string object,
5828 it's the one we were looking for. */ 5828 it's the one we were looking for. */
5829 glyph = row->glyphs[TEXT_AREA]; 5829 glyph = row->glyphs[TEXT_AREA];
5830 end = glyph + row->used[TEXT_AREA]; 5830 end = glyph + row->used[TEXT_AREA];
5831 for (x0 = *x; glyph < end && x0 > glyph->pixel_width; ++glyph) 5831 for (x0 = *x; glyph < end && x0 >= glyph->pixel_width; ++glyph)
5832 x0 -= glyph->pixel_width; 5832 x0 -= glyph->pixel_width;
5833 *x = glyph - row->glyphs[TEXT_AREA]; 5833 *x = glyph - row->glyphs[TEXT_AREA];
5834 if (glyph < end) 5834 if (glyph < end)
5835 { 5835 {
5836 string = glyph->object; 5836 string = glyph->object;
5918 ? WINDOW_LEFT_FRINGE_WIDTH (w) 5918 ? WINDOW_LEFT_FRINGE_WIDTH (w)
5919 : 0); 5919 : 0);
5920 5920
5921 glyph = row->glyphs[area]; 5921 glyph = row->glyphs[area];
5922 end = glyph + row->used[area]; 5922 end = glyph + row->used[area];
5923 for (x0 = *x - x0; glyph < end && x0 > glyph->pixel_width; ++glyph) 5923 for (x0 = *x - x0; glyph < end && x0 >= glyph->pixel_width; ++glyph)
5924 x0 -= glyph->pixel_width; 5924 x0 -= glyph->pixel_width;
5925 *x = glyph - row->glyphs[area]; 5925 *x = glyph - row->glyphs[area];
5926 if (glyph < end) 5926 if (glyph < end)
5927 { 5927 {
5928 string = glyph->object; 5928 string = glyph->object;