From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Lennart Borgman" Newsgroups: gmane.emacs.devel Subject: Re: Hourglass only for X-windows? Date: Mon, 28 Feb 2005 01:20:35 +0100 Message-ID: <003201c51d2b$5c57e2f0$0200a8c0@sedrcw11488> References: <000701c51cf5$d269ee10$0200a8c0@sedrcw11488> <01c51d0b$Blat.v2.4$215fcf20@zahav.net.il> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1109550880 25891 80.91.229.2 (28 Feb 2005 00:34:40 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 28 Feb 2005 00:34:40 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Feb 28 01:34:40 2005 Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1D5Yrp-00040K-Qr for ged-emacs-devel@m.gmane.org; Mon, 28 Feb 2005 01:34:34 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1D5ZA5-0002la-I0 for ged-emacs-devel@m.gmane.org; Sun, 27 Feb 2005 19:53:25 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1D5Z7Z-0000dC-1H for emacs-devel@gnu.org; Sun, 27 Feb 2005 19:50:49 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1D5Z7O-0000Xw-Hn for emacs-devel@gnu.org; Sun, 27 Feb 2005 19:50:40 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1D5Z7N-0000W2-PC for emacs-devel@gnu.org; Sun, 27 Feb 2005 19:50:38 -0500 Original-Received: from [81.228.10.110] (helo=av7-1-sn4.m-sp.skanova.net) by monty-python.gnu.org with esmtp (Exim 4.34) id 1D5YjA-0005DP-BL; Sun, 27 Feb 2005 19:25:36 -0500 Original-Received: by av7-1-sn4.m-sp.skanova.net (Postfix, from userid 502) id ADD4838217; Mon, 28 Feb 2005 01:25:35 +0100 (CET) Original-Received: from smtp2-1-sn4.m-sp.skanova.net (smtp2-1-sn4.m-sp.skanova.net [81.228.10.183]) by av7-1-sn4.m-sp.skanova.net (Postfix) with ESMTP id 9F3163811D; Mon, 28 Feb 2005 01:25:35 +0100 (CET) Original-Received: from sedrcw11488 (t2o58p37.telia.com [62.20.165.37]) by smtp2-1-sn4.m-sp.skanova.net (Postfix) with SMTP id 727CC37E47; Mon, 28 Feb 2005 01:20:34 +0100 (CET) Original-To: "Eli Zaretskii" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1409 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409 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:33899 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:33899 ----- Original Message ----- From: "Eli Zaretskii" > > From: "Lennart Borgman" > > 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. There is clearly something I do not understand here. I do not mean the implementation details (though I do not understand them ;-). However I can not see how hourglass support can be implemented at all if those places where you hide or show the hourglass is ifdef:ed away. Both start_hourglass and cancel_hourglass are ifdef:ed away (unless HAVE_X_WINDOW is defined). Am I perhaps misunderstanding when HAVE_X_WINDOW is defined? Can you (or someone else) please explain this a bit more? I was trying to see if hourglass support could be implemented for w32. It is really needed for a first class application like Emacs!