annotate etc/future-bug @ 111339:e302712538dc

Unify mouse highlight code of MSDOS and GUI sessions. xdisp.c (coords_in_mouse_face_p): Move prototype out of the HAVE_WINDOW_SYSTEM conditional. (x_y_to_hpos_vpos, frame_to_window_pixel_xy): Move out of the HAVE_WINDOW_SYSTEM block. (try_window_id) [HAVE_GPM || MSDOS]: Call x_clear_window_mouse_face. (draw_row_with_mouse_face): Implementation for HAVE_WINDOW_SYSTEM systems. (show_mouse_face): Call it, instead of calling draw_glyphs directly. (show_mouse_face, clear_mouse_face, coords_in_mouse_face_p) (cursor_in_mouse_face_p, rows_from_pos_range) (mouse_face_from_buffer_pos, mouse_face_from_string_pos) (note_mode_line_or_margin_highlight, note_mouse_highlight) (x_clear_window_mouse_face, cancel_mouse_face): Move out of the HAVE_WINDOW_SYSTEM block. Ifdef away window-system specific fragments. (note_mouse_highlight): Call popup_activated for MSDOS as well. Clear mouse highlight if pointer is over glyphs whose OBJECT is an integer. (mouse_face_from_buffer_pos): Add parentheses around && within ||. xmenu.c (popup_activated): Don't define on MSDOS. dispnew.c (mirror_make_current): Set Y coordinate of the mode-line and header-line rows. termchar.h (struct tty_display_info): Define mouse_face_* members not only for MSDOS. Delete stray whitespace. <mouse_face_beg_x, mouse_face_beg_y, mouse_face_overlay>: New struct members. dispextern.h (DPYINFO_DEFINED) [HAVE_X_WINDOWS]: Define. (DPYINFO_DEFINED) [HAVE_NTGUI]: Define. (DPYINFO_DEFINED) [HAVE_NS]: Define. (Display_Info) [!DPYINFO_DEFINED]: Define here. (FRAME_X_DISPLAY_INFO) [HAVE_GPM]: Define. (FRAME_X_DISPLAY_INFO): Define to NULL if not defined. (frame_to_window_pixel_xy, note_mouse_highlight) (x_clear_window_mouse_face, cancel_mouse_face, clear_mouse_face) (show_mouse_face, cursor_in_mouse_face_p): Move prototypes out of HAVE_WINDOW_SYSTEM conditional. (draw_row_with_mouse_face): Declare prototype. msdos.h (Display_Info): Don't define here. msdos.c (show_mouse_face, clear_mouse_face) (fast_find_position, IT_note_mode_line_highlight) (IT_note_mouse_highlight): Functions deleted. (IT_frame_up_to_date, dos_rawgetc): Call note_mouse_highlight instead of IT_note_mouse_highlight. (draw_row_with_mouse_face, popup_activated): New functions.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 30 Oct 2010 15:09:52 +0200
parents 40be809ca221
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25852
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
1 Date: Tue, 23 Feb 2199 21:03:50 -0600
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
2 From: Karl Fogel <kfogel@floss.cyclic.com>
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
3 To: bug-gnu-emacs@prep.ai.mit.edu
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
4 Subject: M-x search-backward-in-time broken...
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
5 X-Windows: you'll envy the dead.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
6
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
7 In GNU Emacs 51.70.4 (i9986-unknown-linux-gnu, X toolkit) of Sat Feb 20 2199 on floss
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
8 configured using `configure --with-x-toolkit=yes'
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
9
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
10 The `search-backward-in-time' function appears to be broken in
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25852
diff changeset
11 Emacs 51.70.
25852
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
12
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
13 Unfortunately, I can never seem to start the debugger early
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
14 enough to catch the error as it happens. However I have traced the
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
15 problem through source by eye, and it looks like `time-forward' can't
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
16 handle negative arguments anymore. This is consistent with other
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
17 symptoms: for example, `undo' (which since 51.25 has worked by passing
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
18 a negative arg to `time-forward') is also broken. However, `do' still
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
19 works -- it seems that `time-forward' continues to handle positive
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
20 arguments just fine.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
21
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
22 No one here-and-now can figure out how to fix the problem,
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
23 because the code for `time-forward' is so hairy. We're using M-x
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
24 report-future-emacs-bug to request that you folks include more
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
25 comments when you write it (sometime in 2198 as I recall).
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
26
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
27 Thanks!
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
28
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
29 -Karl Fogel <kfogel@red-bean.com>
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
30
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
31
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
32 P.S. You'll be pleased to know that since (time-forward N) still works
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
33 for N >= 0, we've used it to pre-emptively update configure.in.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
34 Emacs now configures and builds on every platform that will ever
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
35 be made. It wasn't easy, but at least that's one problem out of
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
36 the way for good. If you'd like the patch, just ask.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
37