From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: YAMAMOTO Mitsuharu Newsgroups: gmane.emacs.devel Subject: Re: Mac OS-compatible ports Date: Mon, 2 Jan 2012 09:43:30 +0900 Message-ID: <370028AA-7464-42F8-8FD9-7C19B0650085@math.s.chiba-u.ac.jp> References: <9E637EAB-A0C5-421B-9CCA-71C41442AF52@gmail.com> <87ipl7zaea.fsf@lifelogs.com> <87sjkbib14.fsf@uwakimon.sk.tsukuba.ac.jp> <87d3baui4b.fsf@lifelogs.com> <87mxacqlg4.fsf@lifelogs.com> <87fwg3pfy4.fsf@lifelogs.com> <8739c2dscy.fsf@lifelogs.com> <87ehvkdgfr.fsf_-_@lifelogs.com> <87zke7bjqa.fsf@lifelogs.com > NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (Apple Message framework v1251.1) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1325465056 30923 80.91.229.12 (2 Jan 2012 00:44:16 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 2 Jan 2012 00:44:16 +0000 (UTC) Cc: Adrian Robert To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jan 02 01:44:08 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RhW0W-0007Di-3Z for ged-emacs-devel@m.gmane.org; Mon, 02 Jan 2012 01:44:08 +0100 Original-Received: from localhost ([::1]:33081 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RhW0V-0008LE-8r for ged-emacs-devel@m.gmane.org; Sun, 01 Jan 2012 19:44:07 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:42081) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RhW0S-0008Kv-4r for emacs-devel@gnu.org; Sun, 01 Jan 2012 19:44:05 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RhW0Q-0008EK-U2 for emacs-devel@gnu.org; Sun, 01 Jan 2012 19:44:04 -0500 Original-Received: from mathmail.math.s.chiba-u.ac.jp ([133.82.132.2]:49463) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RhW0Q-0008E8-E9 for emacs-devel@gnu.org; Sun, 01 Jan 2012 19:44:02 -0500 Original-Received: from [192.168.1.22] (p11249-ipad01akita.akita.ocn.ne.jp [220.104.219.249]) by mathmail.math.s.chiba-u.ac.jp (Postfix) with ESMTPSA id BA4C4C055D; Mon, 2 Jan 2012 09:43:58 +0900 (JST) In-Reply-To: <87zke7bjqa.fsf@lifelogs.com> X-Mailer: Apple Mail (2.1251.1) X-detected-operating-system: by eggs.gnu.org: NetBSD 3.0 (DF) X-Received-From: 133.82.132.2 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:147147 Archived-At: On 2012/01/01, at 23:06, Ted Zlatanov wrote: > YM> Also, I would like to note that some of recent improvements to > YM> Mac OS X and iOS are provided outside Cocoa, especially if they > YM> are not directly related to GUI. They are not classified as > YM> Carbon, but they are also C APIs and not provided by GNUstep. > YM> For example, Grand Central Dispatch (GCD) I mentioned in the > YM> `select' emulation without periodic polling is a C API and > YM> provided by both Mac OS X and iOS, but not by GNUstep. > > YM> http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00694.html > > I recall that API was brought into Mac OS X recently and is not > available in older versions of the same OS, at least for PowerPC > architecture. I think it makes sense to use it opportunistically, but > if using it in the NS port makes the NS port incompatible with GNUstep, > then that's a harder decision. I'm not qualified to make that decision, > in any case. The Mac port provides a fallback using CFRunLoopSource for older versions of Mac OS X, but again it is a C API supported by both Mac OS X and iOS but not provided by GNUstep. Sometimes adopting new features inspires some idea of improvement even in fallback codes. GCD in the `select' emulation was such a case. The current fallback code made after the GCD version is more efficient than what I implemented as a `select' emulation without periodic polling in Emacs 22 Carbon port. YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp