From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ken Brown Newsgroups: gmane.emacs.devel Subject: Re: Defining HAVE_MOUSE on Cygwin Date: Fri, 23 Nov 2012 17:46:44 -0500 Message-ID: <50AFFCD4.1050004@cornell.edu> References: <5070E131.6020402@cornell.edu> <83zk3y6aox.fsf@gnu.org> <50717310.1030906@cornell.edu> <83k3v25pwa.fsf@gnu.org> <83d30u5mua.fsf@gnu.org> <834nm65ajy.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------050702030005020103040201" X-Trace: ger.gmane.org 1353710812 25557 80.91.229.3 (23 Nov 2012 22:46:52 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 23 Nov 2012 22:46:52 +0000 (UTC) Cc: Stefan Monnier , emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Nov 23 23:47:01 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Tc21Q-0003mb-GW for ged-emacs-devel@m.gmane.org; Fri, 23 Nov 2012 23:46:56 +0100 Original-Received: from localhost ([::1]:36876 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tc21F-0001dc-Sm for ged-emacs-devel@m.gmane.org; Fri, 23 Nov 2012 17:46:45 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:53492) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tc21B-0001ZV-IK for emacs-devel@gnu.org; Fri, 23 Nov 2012 17:46:43 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tc219-0000t2-LD for emacs-devel@gnu.org; Fri, 23 Nov 2012 17:46:41 -0500 Original-Received: from limestone3.mail.cornell.edu ([128.253.83.163]:55560) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tc219-0000sy-GH; Fri, 23 Nov 2012 17:46:39 -0500 X-CornellRouted: This message has been Routed already. Original-Received: from orchid.mail.cornell.edu (orchid.mail.cornell.edu [132.236.56.61]) by limestone3.mail.cornell.edu (8.14.4/8.14.4) with ESMTP id qANMkVSC020316; Fri, 23 Nov 2012 17:46:31 -0500 (EST) Original-Received: from authusersmtp.mail.cornell.edu (granite2.mail.cornell.edu [128.253.83.142]) by orchid.mail.cornell.edu (8.14.4/8.14.4) with ESMTP id qANMkbgg006143; Fri, 23 Nov 2012 17:46:37 -0500 (EST) Original-Received: from [192.168.1.6] (cpe-67-249-194-47.twcny.res.rr.com [67.249.194.47]) (authenticated bits=0) by authusersmtp.mail.cornell.edu (8.14.4/8.12.10) with ESMTP id qANMkbDU006928 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 23 Nov 2012 17:46:37 -0500 (EST) User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20121010 Thunderbird/16.0.1 In-Reply-To: <834nm65ajy.fsf@gnu.org> X-PMX-CORNELL-SPAM-CHECKED: Pawpaw X-PMX-Version: 5.5.9.395186, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2012.11.23.223019 X-Original-Sender: kbrown@cornell.edu - Fri Nov 23 17:46:37 2012 X-PMX-CORNELL-REASON: CU_White_List_Override X-detected-operating-system: by eggs.gnu.org: Windows NT kernel [generic] [fuzzy] X-Received-From: 128.253.83.163 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:155048 Archived-At: This is a multi-part message in MIME format. --------------050702030005020103040201 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 10/7/2012 3:47 PM, Eli Zaretskii wrote: >> From: Stefan Monnier >> Date: Sun, 07 Oct 2012 15:38:24 -0400 >> Cc: kbrown@cornell.edu, emacs-devel@gnu.org >> >>>>> But if that works, my fears notwithstanding, why confine this to >>>>> Cygwin? If we believe that emacs-nox will always run on a >>>>> mouse-capable terminal, let's turn on HAVE_MOUSE in all Posix builds. >>>> Actually, I can't see why we have HAVE_MOUSE at all nowadays. >>> Perhaps someone should try compiling a -nox configuration with >>> HAVE_MOUSE defined and without GPM, and see if it works well on a text >>> terminal on Unix or GNU/Linux (a _real_ text terminal, not xterm). >> >> I'm not claiming it works. I'm claiming that there's no good reason why >> it shouldn't work, so if it doesn't work it's a bug. We should remove >> HAVE_MOUSE and fix any breakage that might ensue (but since Emacs works >> fine under xterm with xterm-mouse-mode disabled, I don't expect too >> much breakage at least under GNU/Linux). > > If no one beats me to it, I will try that in a GNU/Linux TTY session > one of these days. It looks like we all forgot about this. Stefan, is the attached patch what you had in mind? Ken --------------050702030005020103040201 Content-Type: text/plain; charset=windows-1252; name="have_mouse.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="have_mouse.patch" === modified file 'admin/CPP-DEFINES' --- admin/CPP-DEFINES 2012-11-23 07:48:43 +0000 +++ admin/CPP-DEFINES 2012-11-23 22:12:46 +0000 @@ -259,7 +259,6 @@ HAVE_MENUS HAVE_MKSTEMP HAVE_MMAP -HAVE_MOUSE HAVE_MULTILINGUAL_MENU HAVE_NANOTIME HAVE_NET_IF_DL_H === modified file 'configure.ac' --- configure.ac 2012-11-23 07:48:43 +0000 +++ configure.ac 2012-11-23 22:13:31 +0000 @@ -4357,7 +4357,6 @@ ## Common for all window systems if test "$window_system" != "none"; then AC_DEFINE(HAVE_WINDOW_SYSTEM, 1, [Define if you have a window system.]) - AC_DEFINE(HAVE_MOUSE, 1, [Define if you have mouse support.]) WINDOW_SYSTEM_OBJ="fontset.o fringe.o image.o" fi === modified file 'msdos/sed2v2.inp' --- msdos/sed2v2.inp 2012-11-03 19:14:22 +0000 +++ msdos/sed2v2.inp 2012-11-23 22:14:23 +0000 @@ -60,7 +60,6 @@ /^#undef HAVE_SYNC *$/s/^.*$/#define HAVE_SYNC 1/ /^#undef HAVE___BUILTIN_UNWIND_INIT *$/s/^.*$/#define HAVE___BUILTIN_UNWIND_INIT 1/ /^#undef HAVE_MENUS *$/s/^.*$/#define HAVE_MENUS 1/ -/^#undef HAVE_MOUSE *$/s/^.*$/#define HAVE_MOUSE 1/ /^#undef DATA_START/s/^.*$/#define DATA_START (\&etext + 1)/ /^#undef GC_SETJMP_WORKS/s/^.*$/#define GC_SETJMP_WORKS 1/ /^#undef ORDINARY_LINK/s/^.*$/#define ORDINARY_LINK 1/ === modified file 'nt/config.nt' --- nt/config.nt 2012-11-23 15:42:40 +0000 +++ nt/config.nt 2012-11-23 22:14:49 +0000 @@ -687,9 +687,6 @@ /* Define to 1 if you have a working `mmap' system call. */ #undef HAVE_MMAP -/* Define if you have mouse support. */ -#define HAVE_MOUSE 1 - /* Define to 1 if you have the `nanotime' function. */ #undef HAVE_NANOTIME === modified file 'src/frame.c' --- src/frame.c 2012-11-12 04:00:55 +0000 +++ src/frame.c 2012-11-23 22:25:05 +0000 @@ -1467,7 +1467,6 @@ f = SELECTED_FRAME (); x = y = Qnil; -#if defined (HAVE_MOUSE) || defined (HAVE_GPM) /* It's okay for the hook to refrain from storing anything. */ if (FRAME_TERMINAL (f)->mouse_position_hook) { @@ -1487,7 +1486,6 @@ XSETINT (x, col); XSETINT (y, row); } -#endif XSETFRAME (lispy_dummy, f); retval = Fcons (lispy_dummy, Fcons (x, y)); GCPRO1 (retval); @@ -1514,7 +1512,6 @@ f = SELECTED_FRAME (); x = y = Qnil; -#if defined (HAVE_MOUSE) || defined (HAVE_GPM) /* It's okay for the hook to refrain from storing anything. */ if (FRAME_TERMINAL (f)->mouse_position_hook) { @@ -1526,7 +1523,6 @@ &time_dummy); } -#endif XSETFRAME (lispy_dummy, f); return Fcons (lispy_dummy, Fcons (x, y)); } @@ -1557,7 +1553,7 @@ /* Warping the mouse will cause enternotify and focus events. */ x_set_mouse_position (XFRAME (frame), XINT (x), XINT (y)); #else -#if defined (MSDOS) && defined (HAVE_MOUSE) +#if defined (MSDOS) if (FRAME_MSDOS_P (XFRAME (frame))) { Fselect_frame (frame, Qnil); @@ -1598,7 +1594,7 @@ /* Warping the mouse will cause enternotify and focus events. */ x_set_mouse_pixel_position (XFRAME (frame), XINT (x), XINT (y)); #else -#if defined (MSDOS) && defined (HAVE_MOUSE) +#if defined (MSDOS) if (FRAME_MSDOS_P (XFRAME (frame))) { Fselect_frame (frame, Qnil); === modified file 'src/keyboard.c' --- src/keyboard.c 2012-11-17 22:12:47 +0000 +++ src/keyboard.c 2012-11-23 22:23:33 +0000 @@ -306,9 +306,7 @@ static Lisp_Object Qselect_window; Lisp_Object Qhelp_echo; -#if defined (HAVE_MOUSE) || defined (HAVE_GPM) static Lisp_Object Qmouse_fixup_help_message; -#endif /* Symbols to denote kinds of events. */ static Lisp_Object Qfunction_key; @@ -417,12 +415,10 @@ static Lisp_Object read_char_minibuf_menu_prompt (int, ptrdiff_t, Lisp_Object *); static Lisp_Object make_lispy_event (struct input_event *); -#if defined (HAVE_MOUSE) || defined (HAVE_GPM) static Lisp_Object make_lispy_movement (struct frame *, Lisp_Object, enum scroll_bar_part, Lisp_Object, Lisp_Object, Time); -#endif static Lisp_Object modify_event_symbol (ptrdiff_t, int, Lisp_Object, Lisp_Object, const char *const *, Lisp_Object *, ptrdiff_t); @@ -1234,8 +1230,6 @@ user_error ("No recursive edit is in progress"); } -#if defined (HAVE_MOUSE) || defined (HAVE_GPM) - /* Restore mouse tracking enablement. See Ftrack_mouse for the only use of this function. */ @@ -1310,7 +1304,6 @@ return 0; } -#endif /* HAVE_MOUSE || HAVE_GPM */ /* This is the actual command reading loop, sans error-handling encapsulation. */ @@ -1402,14 +1395,11 @@ Vdeactivate_mark = Qnil; -#if defined (HAVE_MOUSE) || defined (HAVE_GPM) - /* Don't ignore mouse movements for more than a single command loop. (This flag is set in xdisp.c whenever the tool bar is resized, because the resize moves text up or down, and would generate false mouse drag events if we don't ignore them.) */ ignore_mouse_drag_p = 0; -#endif /* If minibuffer on and echo area in use, wait a short time and redraw minibuffer. */ @@ -2182,7 +2172,6 @@ return; } -#if defined (HAVE_MOUSE) || defined (HAVE_GPM) if (!noninteractive && STRINGP (help)) { /* The mouse-fixup-help-message Lisp function can call @@ -2195,7 +2184,6 @@ if (f) f->mouse_moved = 1; } -#endif if (STRINGP (help) || NILP (help)) { @@ -3390,11 +3378,9 @@ return 1; } -#if defined (HAVE_MOUSE) || defined (HAVE_GPM) if (!(flags & READABLE_EVENTS_IGNORE_SQUEEZABLES) && !NILP (do_mouse_tracking) && some_mouse_moved ()) return 1; -#endif if (single_kboard) { if (current_kboard->kbd_queue_has_data) @@ -3762,10 +3748,8 @@ if (kbd_fetch_ptr != kbd_store_ptr) break; -#if defined (HAVE_MOUSE) || defined (HAVE_GPM) if (!NILP (do_mouse_tracking) && some_mouse_moved ()) break; -#endif /* If the quit flag is set, then read_char will return quit_char, so that counts as "available input." */ @@ -3780,10 +3764,8 @@ #endif if (kbd_fetch_ptr != kbd_store_ptr) break; -#if defined (HAVE_MOUSE) || defined (HAVE_GPM) if (!NILP (do_mouse_tracking) && some_mouse_moved ()) break; -#endif if (end_time) { EMACS_TIME now = current_emacs_time (); @@ -4040,7 +4022,6 @@ } } } -#if defined (HAVE_MOUSE) || defined (HAVE_GPM) /* Try generating a mouse motion event. */ else if (!NILP (do_mouse_tracking) && some_mouse_moved ()) { @@ -4085,7 +4066,6 @@ if (!NILP (x) && NILP (obj)) obj = make_lispy_movement (f, bar_window, part, x, y, t); } -#endif /* HAVE_MOUSE || HAVE GPM */ else /* We were promised by the above while loop that there was something for us to read! */ @@ -5397,7 +5377,6 @@ return Qnil; #endif -#ifdef HAVE_MOUSE /* A mouse click. Figure out where it is, decide whether it's a press, click or drag, and build the appropriate structure. */ case MOUSE_CLICK_EVENT: @@ -5849,7 +5828,6 @@ Fcons (files, Qnil))); } -#endif /* HAVE_MOUSE */ #if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \ || defined (HAVE_NS) || defined (USE_GTK) @@ -5968,8 +5946,6 @@ } } -#if defined (HAVE_MOUSE) || defined (HAVE_GPM) - static Lisp_Object make_lispy_movement (FRAME_PTR frame, Lisp_Object bar_window, enum scroll_bar_part part, Lisp_Object x, Lisp_Object y, Time t) @@ -5997,8 +5973,6 @@ } } -#endif /* HAVE_MOUSE || HAVE GPM */ - /* Construct a switch frame event. */ static Lisp_Object make_lispy_switch_frame (Lisp_Object frame) @@ -11233,9 +11207,7 @@ recent_keys_index = 0; kbd_fetch_ptr = kbd_buffer; kbd_store_ptr = kbd_buffer; -#if defined (HAVE_MOUSE) || defined (HAVE_GPM) do_mouse_tracking = Qnil; -#endif input_pending = 0; interrupt_input_blocked = 0; pending_signals = 0; @@ -11386,9 +11358,7 @@ DEFSYM (Qvertical_scroll_bar, "vertical-scroll-bar"); DEFSYM (Qmenu_bar, "menu-bar"); -#if defined (HAVE_MOUSE) || defined (HAVE_GPM) DEFSYM (Qmouse_fixup_help_message, "mouse-fixup-help-message"); -#endif DEFSYM (Qabove_handle, "above-handle"); DEFSYM (Qhandle, "handle"); @@ -11508,9 +11478,7 @@ defsubr (&Sread_key_sequence); defsubr (&Sread_key_sequence_vector); defsubr (&Srecursive_edit); -#if defined (HAVE_MOUSE) || defined (HAVE_GPM) defsubr (&Strack_mouse); -#endif defsubr (&Sinput_pending_p); defsubr (&Scommand_execute); defsubr (&Srecent_keys); --------------050702030005020103040201--