From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Eli Zaretskii" Newsgroups: gmane.emacs.devel Subject: Re: Hourglass only for X-windows? Date: Sun, 27 Feb 2005 22:29:06 +0200 Message-ID: <01c51d0b$Blat.v2.4$215fcf20@zahav.net.il> References: <000701c51cf5$d269ee10$0200a8c0@sedrcw11488> Reply-To: Eli Zaretskii NNTP-Posting-Host: main.gmane.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7BIT X-Trace: sea.gmane.org 1109536967 30019 80.91.229.2 (27 Feb 2005 20:42:47 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sun, 27 Feb 2005 20:42:47 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Feb 27 21:42:47 2005 Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1D5VFM-0005oS-Rs for ged-emacs-devel@m.gmane.org; Sun, 27 Feb 2005 21:42:37 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1D5VXa-0008Dp-Kn for ged-emacs-devel@m.gmane.org; Sun, 27 Feb 2005 16:01:26 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1D5VU6-0005Na-KB for emacs-devel@gnu.org; Sun, 27 Feb 2005 15:57:50 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1D5VPJ-0002Vb-N2 for emacs-devel@gnu.org; Sun, 27 Feb 2005 15:53:01 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1D5VPF-0002Og-GO for emacs-devel@gnu.org; Sun, 27 Feb 2005 15:52:50 -0500 Original-Received: from [192.114.186.24] (helo=legolas.inter.net.il) by monty-python.gnu.org with esmtp (Exim 4.34) id 1D5V45-00085d-Ri for emacs-devel@gnu.org; Sun, 27 Feb 2005 15:30:58 -0500 Original-Received: from zaretski (tony03-45-196.inter.net.il [80.230.45.196]) by legolas.inter.net.il (MOS 3.5.6-GR) with ESMTP id DVN46711 (AUTH halo1); Sun, 27 Feb 2005 22:30:42 +0200 (IST) Original-To: "Lennart Borgman" X-Mailer: emacs 22.0.50 (via feedmail 8 I) and Blat ver 2.4 In-reply-to: <000701c51cf5$d269ee10$0200a8c0@sedrcw11488> (lennart.borgman.073@student.lu.se) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org X-MailScanner-To: ged-emacs-devel@m.gmane.org Xref: main.gmane.org gmane.emacs.devel:33881 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:33881 > From: "Lennart Borgman" > Date: Sun, 27 Feb 2005 18:57:08 +0100 > > I am trying to understand the implementation around hourglass cursors. When > I look through eval.c, fns.c, keyboard.c, lread.c and minibuf.c I see in > many places something like: > > #ifdef HAVE_X_WINDOWS > if (display_hourglass_p) > cancel_hourglass (); > #endif > > Is this really correct? Yes, I think so. > It looks like displaying an hourglass cursor should only happen if x > windows is available. What other systems? If you refer to Windows, then please see w32fns.c, where the timer-related hourglass code is ifdef'ed away (probably because Windows doesn't emulate well Posix timers that raise asynchronous signals). The Windows implementation of hourglass cursor, if I understand it correctly, is synchronous, i.e. the redisplay code and the idle loop set and reset it. Of other non-X ports, the MSDOS port doesn't support this feature at all (you cannot change the Windows mouse pointer shape from a DOS program running on Windows, and doing so on plain DOS involves undesirable complications). As for MacOS X, I don't know. > Maybe it would be better to remove these ifdefs and require every Emacs > implementation to compile the lines? Does not most systems actually have the > possibility to display hourglass cursors? If they do not could the > implementation not just supply some dummies for the required functions? That'd not be a good idea, I think: firing SIGALRM signals by the timers complicates things (e.g., you get to handle the problem of interrupted system calls), so it shouldn't be done without a good reason.