Duchier-Denys@cs.yale.edu (Denys Duchier) (01/25/90)
I don't know if I am dreaming, but here is another piece of code that
seems to be in error.
In function DoDsp (xdisp.c):
if (pos.vpos < 1)
{
cursX = max (XFASTINT (w->left), pos.hpos);
cursY = this_line_vpos;
goto update;
}
else
goto cancel;
Shouldn't that be:
if (pos.vpos < 1)
{
cursX = XFASTINT (w->left) + ((pos.hpos < 0) ? 0 : pos.hpos);
cursY = this_line_vpos;
goto update;
}
else
goto cancel;
Admittedly the code I found the bug in is slightly different (it's
epoch code), but I think the principle applies here too.
I don't think the problem can be reproduced in standard emacs (perhaps
because of some pessimal redisplay strategy), but in epoch I was
having problems convincing the display code to update the cursor when
I was typing \C-e.
Once again, does anyone know...?
--Denys