From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Alan Third Newsgroups: gmane.emacs.devel Subject: Re: Mac OS Sierra tab feature breaks C-x 5 2 Date: Sat, 22 Jul 2017 12:22:30 +0100 Message-ID: <20170722112230.GA58424@breton.holly.idiocy.org> References: <20170713202234.GA23777@breton.holly.idiocy.org> <20170716230109.GA54914@breton.holly.idiocy.org> <1ce59431-ff6b-dc89-31a6-8fc5bd4e3926@aurox.ch> <20170718221629.GA55506@breton.holly.idiocy.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1500722607 14586 195.159.176.226 (22 Jul 2017 11:23:27 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 22 Jul 2017 11:23:27 +0000 (UTC) User-Agent: Mutt/1.7.2 (2016-11-26) Cc: Paul Michael Reilly , Jean-Christophe Helary , "Charles A. Roelli" , Emacs-Devel devel To: Anders Lindgren Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jul 22 13:23:21 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dYsVE-0003MJ-5W for ged-emacs-devel@m.gmane.org; Sat, 22 Jul 2017 13:23:20 +0200 Original-Received: from localhost ([::1]:46641 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dYsVJ-0003T2-Cc for ged-emacs-devel@m.gmane.org; Sat, 22 Jul 2017 07:23:25 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53148) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dYsUV-0003Sl-R8 for emacs-devel@gnu.org; Sat, 22 Jul 2017 07:22:36 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dYsUU-0007fl-Or for emacs-devel@gnu.org; Sat, 22 Jul 2017 07:22:35 -0400 Original-Received: from mail-wm0-x233.google.com ([2a00:1450:400c:c09::233]:38614) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dYsUU-0007fN-HP for emacs-devel@gnu.org; Sat, 22 Jul 2017 07:22:34 -0400 Original-Received: by mail-wm0-x233.google.com with SMTP id w191so32043814wmw.1 for ; Sat, 22 Jul 2017 04:22:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=1UokRH0x3vBuddBgKB3b+NmZYdwAxNGmH5QQ9gLcQuE=; b=IqiSP8riWFIofVjDBK0uyjo6s03J2eJq6YPo7LP2QSlol/zYPJEP5SaKOk2hmfc/qj T7JyuGWauCVh4h6IFmeFdzuGFKWlbfYAwCzUxdiTEVwfjZLLg637M4qzwMuTw74ntync Qb9VGcL4c3rMXtWp483aFzXNHbN7S5tX8zgioLCBN2wAgQjCUNE55hlrY1lHRUqaOjPp ifmlKdXRoFOOCXbZvjHb2bK7aYTYuVmk/o30HKtDBbLmCv25LLTZki+BSIrCzFA1OaAl DN5tUcvJwUBpKt+bTpyWO6vkhSxFQV8zrziI//EduFrlW+3Z7yn369dnENToBIA7cuf+ jTCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=1UokRH0x3vBuddBgKB3b+NmZYdwAxNGmH5QQ9gLcQuE=; b=rusapAhGCYIVx/VfTADM4SRx0cA5vC60yhefg6JaPmXDT8QWEuRB/NYapUw0eUaoaT N/B9qR/FCFAp09FbczTIMU1nNZhUfX9DysLqy5VrDRYecwUDdGJtdkPkfq88jcJP7kGg PccJMcl+f1kH8hyVTT7LlL5oJi9ksFjOvoVZk0+rWdYE52YOKsUmGzLaq7HqWWzAgMi6 s6bbIflJ5xZ+gM9B2C+LaTRpObQY/EmLsoqaiOvKf8zgFwwmfu3Q7LRF3fjr5l0Pyxiu kZVe+LKd0TaWiWrYqMi8h5lcgObz9c1WkLy+yIojSX0ANRmU8HV4JoCcpYjyaG78sis2 IHIg== X-Gm-Message-State: AIVw111OwZwuzkWMoECHXier93+MReNXIzZ0fzqTk3xnvGh3u7LzRlDD a6n/YicF21iDQg== X-Received: by 10.28.96.197 with SMTP id u188mr1275516wmb.73.1500722551622; Sat, 22 Jul 2017 04:22:31 -0700 (PDT) Original-Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-38a3-b7bd-bb2f-3561.holly.idiocy.org. [2001:8b0:3f8:8129:38a3:b7bd:bb2f:3561]) by smtp.gmail.com with ESMTPSA id t125sm3047520wmt.20.2017.07.22.04.22.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 22 Jul 2017 04:22:30 -0700 (PDT) Content-Disposition: inline In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c09::233 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:216935 Archived-At: On Fri, Jul 21, 2017 at 10:31:27PM +0200, Anders Lindgren wrote: > Hi! > > I just gave this matter another think-through. I don't think we ever will > be able to build an Emacs on an old system like 10.6.8 that will be able to > use all the bells and whistles when executed on a new system. However, the > other way around could, at some point in time, be possible. > > In other words, one solution would be something like: > > #ifdef NS_IMPL_COCOA > #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_12 > if ([win respondsToSelector: @selector(setTabbingMode)]) > [win setTabbingMode: NSWindowTabbingModeDisallowed]; > #endif > #endif > > This should not generate any warning in any context (gcc or clang, macOS or > GNUStep). The resulting code will run correctly on the system it was built > for, and it will run correctly on older systems. The only thing that > doesn't work is when Emacs is built on an old system, features provided by > newer OS versions aren't included. Unfortunately it doesn’t fix our immediate issue, which is that setTabbingMode should be called on 10.12, but emacsformacosx.com builds on 10.9. I think you’re definitely right, though, that we’re not going to be able to come up with a uniform solution. Something has to give somewhere, and I’m tempted to say it should be 10.6. We could live with build warnings on 10.6, or just say that code like the above should be ifdef’d out on 10.6. Or perhaps we provide a flag that enables a universal binary build that doesn’t bother about hiding the warnings? I suppose that would look like: ./configure --with-ns --universal-binary #ifdef NS_IMPL_COCOA #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_12 \ || defined (UNIVERSAL_BINARY) if ([win respondsToSelector: @selector(setTabbingMode)]) [win setTabbingMode: NSWindowTabbingModeDisallowed]; #endif #endif -- Alan Third