view etc/future-bug @ 111560:22fafcf25a54

Cleanup of window coordinate positioning code. Now, text area click input events measure Y from the top of the text area, excluding the header line if any. * src/dispnew.c (buffer_posn_from_coords): Assume that X counts from the start of the text area. * src/keyboard.c (make_lispy_position): For text area clicks, record Y pixel position relative to the text area, excluding header line. Also change X and Y to Lisp_Objects, not pointers; don't return coordinate values via pointers. Pass ON_TEXT_AREA coordinate to buffer_posn_from_coords counting from the start of the text area. (Fposn_at_x_y, make_lispy_event): Callers changed. * src/w32term.c (w32_read_socket): * src/msdos.c (dos_rawgetc): * src/xterm.c (handle_one_xevent): Likewise. * src/window.c (coordinates_in_window): Change X and Y to ints rather than pointers; don't return coordinates via pointers. (struct check_window_data): Change X and Y from pointers to ints. (window_from_coordinates): Remove args WX and WY; don't return coordinates via pointers. (Fcoordinates_in_window_p, window_from_coordinates): (check_window_containing, Fwindow_at): Callers changed. (window_relative_x_coord): New function. * src/window.h (window_from_coordinates, window_relative_x_coord): Update prototypes. * src/xdisp.c (remember_mouse_glyph): Change window_from_coordinates call. Use window_relative_x_coord. (note_mouse_highlight): Change window_from_coordinates call.
author Chong Yidong <cyd@stupidchicken.com>
date Tue, 16 Nov 2010 14:59:24 -0500
parents 40be809ca221
children
line wrap: on
line source

Date: Tue, 23 Feb 2199 21:03:50 -0600
From: Karl Fogel <kfogel@floss.cyclic.com>
To: bug-gnu-emacs@prep.ai.mit.edu
Subject: M-x search-backward-in-time broken...
X-Windows: you'll envy the dead.

In GNU Emacs 51.70.4 (i9986-unknown-linux-gnu, X toolkit) of Sat Feb  20 2199 on floss
configured using `configure  --with-x-toolkit=yes'

        The `search-backward-in-time' function appears to be broken in
Emacs 51.70.

        Unfortunately, I can never seem to start the debugger early
enough to catch the error as it happens.  However I have traced the
problem through source by eye, and it looks like `time-forward' can't
handle negative arguments anymore.  This is consistent with other
symptoms: for example, `undo' (which since 51.25 has worked by passing
a negative arg to `time-forward') is also broken.  However, `do' still
works -- it seems that `time-forward' continues to handle positive
arguments just fine.

        No one here-and-now can figure out how to fix the problem,
because the code for `time-forward' is so hairy.  We're using M-x
report-future-emacs-bug to request that you folks include more
comments when you write it (sometime in 2198 as I recall).

        Thanks!

-Karl Fogel   <kfogel@red-bean.com>


P.S. You'll be pleased to know that since (time-forward N) still works
     for N >= 0, we've used it to pre-emptively update configure.in.
     Emacs now configures and builds on every platform that will ever
     be made.  It wasn't easy, but at least that's one problem out of
     the way for good.  If you'd like the patch, just ask.