+2005-10-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * keyboard.c (make_lispy_event): If point has moved between down and up
+ event, make it a drag, not a click, to mirror what
+ mouse-drag-region expects.
+
2005-10-02 Dan Nicolaescu <dann@ics.uci.edu>
* lisp.h (fatal): Undo previous change.
* macfns.c (start_hourglass): Apply 2005-05-07 change for xfns.c.
(x_create_tip_frame) [GLYPH_DEBUG]: Uncomment debug code.
- (Fx_create_frame, x_create_tip_frame) [USE_ATSUI]: Try
- ATSUI-compatible 12pt Monaco font first.
+ (Fx_create_frame, x_create_tip_frame) [USE_ATSUI]:
+ Try ATSUI-compatible 12pt Monaco font first.
* macgui.h (struct _XCharStruct): New member valid_p.
(STORE_XCHARSTRUCT): Set valid_p.
2005-09-30 Dan Nicolaescu <dann@ics.uci.edu>
- * image.c (slurp_file, xbm_read_bitmap_data): Cast to the correct
- type.
+ * image.c (slurp_file, xbm_read_bitmap_data): Cast to the correct type.
* xterm.c (handle_one_xevent, handle_one_xevent): Likewise.
* unexelf.c (fatal): Fix prototype.
* regex.c (re_char): Move typedef ...
* regex.h (re_char): ... here.
- (re_iswctype, re_wctype, re_set_whitespace_regexp): New
- prototypes.
+ (re_iswctype, re_wctype, re_set_whitespace_regexp): New prototypes.
* emacs.c (malloc_set_state): Fix return type.
(endif): Fix type.
(__malloc_hook, __realloc_hook, __free_hook): Fix prototypes.
(emacs_blocked_free): Change definition to match __free_hook.
(emacs_blocked_malloc): Change definition to match __malloc_hook.
- (emacs_blocked_realloc): Change definition to match
- __realloc_hook.
+ (emacs_blocked_realloc): Change definition to match __realloc_hook.
2005-09-30 Romain Francoise <romain@orebokech.com>
2005-09-23 Dan Nicolaescu <dann@ics.uci.edu>
- * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
- BROKEN_GET_CURRENT_DIR_NAME.
+ * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME):
+ Define BROKEN_GET_CURRENT_DIR_NAME.
* sysdep.c (get_current_dir_name): Also define if
BROKEN_GET_CURRENT_DIR_NAME.
if (CONSP (down)
&& INTEGERP (XCAR (down)) && INTEGERP (XCDR (down)))
{
- xdiff = XFASTINT (event->x) - XFASTINT (XCAR (down));
- ydiff = XFASTINT (event->y) - XFASTINT (XCDR (down));
+ xdiff = XINT (event->x) - XINT (XCAR (down));
+ ydiff = XINT (event->y) - XINT (XCDR (down));
}
if (xdiff < double_click_fuzz && xdiff > - double_click_fuzz
- && ydiff < double_click_fuzz
- && ydiff > - double_click_fuzz)
+ && ydiff < double_click_fuzz && ydiff > - double_click_fuzz
+ /* Maybe the mouse has moved a lot, caused scrolling, and
+ eventually ended up at the same screen position (but
+ not buffer position) in which case it is a drag, not
+ a click. */
+ /* FIXME: OTOH if the buffer position has changed
+ because of a timer or process filter rather than
+ because of mouse movement, it should be considered as
+ a click. But mouse-drag-region completely ignores
+ this case and it hasn't caused any real problem, so
+ it's probably OK to ignore it as well. */
+ && EQ (Fcar (Fcdr (start_pos)), Fcar (Fcdr (position))))
/* Mouse hasn't moved (much). */
event->modifiers |= click_modifier;
else