From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Tim Cross Newsgroups: gmane.emacs.devel Subject: Re: Mac OS Sierra tab feature breaks C-x 5 2 Date: Mon, 24 Jul 2017 08:35:33 +1000 Message-ID: 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> <20170722112230.GA58424@breton.holly.idiocy.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="001a11397bfa638d0e055503b757" X-Trace: blaine.gmane.org 1500849351 9442 195.159.176.226 (23 Jul 2017 22:35:51 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 23 Jul 2017 22:35:51 +0000 (UTC) Cc: Paul Michael Reilly , Jean-Christophe Helary , "Charles A. Roelli" , Anders Lindgren , Emacs-Devel devel To: Alan Third Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jul 24 00:35:47 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 1dZPTW-0002Ck-M7 for ged-emacs-devel@m.gmane.org; Mon, 24 Jul 2017 00:35:46 +0200 Original-Received: from localhost ([::1]:51777 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dZPTc-0001Kp-1D for ged-emacs-devel@m.gmane.org; Sun, 23 Jul 2017 18:35:52 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46112) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dZPTN-0001JU-UA for emacs-devel@gnu.org; Sun, 23 Jul 2017 18:35:39 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dZPTL-0000rl-SQ for emacs-devel@gnu.org; Sun, 23 Jul 2017 18:35:37 -0400 Original-Received: from mail-qt0-x232.google.com ([2607:f8b0:400d:c0d::232]:36977) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dZPTL-0000qv-LM for emacs-devel@gnu.org; Sun, 23 Jul 2017 18:35:35 -0400 Original-Received: by mail-qt0-x232.google.com with SMTP id r14so28537901qte.4 for ; Sun, 23 Jul 2017 15:35:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=UcdiTlargGpkJu2iYlhU9lqNJBGQLgo/lY5G+wuil4U=; b=kjx8hX4m+DIFXA6n6wAjKfJJWGS8MvGuTdOmdW0BJz3nYrNiahfT02k7xbMLHdXoi1 MFQmATjlokvAiuFlCyXfVxqSVOZYYsIargN8wMws9vkNb4wfq4WHzPH+i7MkD50rewrn /4n867XzQpU/hpAIerAO8rUmNCa4hgcTEp0To0y3OeWQvUT/yCUYhmpZ+gWcGpRs+lkH 9tVoBQpAJa9Fl8WrNFQc9OqEcIknMuGc00NBxnRUkc5mWraBV7dlH3rvZ6pkR6OU6t3K JIt58JHXmbnE34rwbdZbCl6xx4ReFzC7PuWfKMH5EpIlcAe50nulS7HH9jJAFZsdRPO7 zqcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=UcdiTlargGpkJu2iYlhU9lqNJBGQLgo/lY5G+wuil4U=; b=caS94yr8OkLZD5RRrv7vtrcpeLQ03WqPuDz7gqVfvkLtNx9PB+fo5dxLmAhVY98n6m h9JPtm/3LgQU/Rzoh+Oy8oSuTOSSidixox8MaD82vUgrsnhPsxYKcro+ylDEklw3UWTo zbJejIt9fqolTcYU2YZBm9Oi1hRIgBOI8ruaYEW3RAI/yGNvvAOligZBfpOUCRf2OZ6u FKf74khDf46SJUfd1/fXTmaCspDfpBcXcGANK2615I1fofku+odzbbIPWQMaboBoCbLi 5X/UTR5andH1sr0ytXi/qbEQcrWSPRWJDaWXSkoSZ/rRK1hLLPOyqGTUMKMFzmzv+5sm EOiw== X-Gm-Message-State: AIVw110lY48e0KJgEJCJpwWPWJL9wZn/uMSIiu1yOLaoIMpUrmKspKeO jiNBqVJ2+Dp3ZGP9sJg2F+NaHSloMQ== X-Received: by 10.237.33.215 with SMTP id m23mr19537840qtc.268.1500849333569; Sun, 23 Jul 2017 15:35:33 -0700 (PDT) Original-Received: by 10.200.38.227 with HTTP; Sun, 23 Jul 2017 15:35:33 -0700 (PDT) In-Reply-To: <20170722112230.GA58424@breton.holly.idiocy.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::232 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:216952 Archived-At: --001a11397bfa638d0e055503b757 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I think we should not put too much effort into avoiding warning on 10.6. This is a very old version, does not receive security fixes and for the protection of users, should not be encouraging use of 10.6. IOW if your running 10.6, expect you will see warnings for things which have been added since and which are not supported on that platform. Tim On 22 July 2017 at 21:22, Alan Third wrote: > 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 wi= ll > > be able to build an Emacs on an old system like 10.6.8 that will be abl= e > 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 >=3D 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, macO= S > 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=E2=80=99t fix our immediate issue, which is that > setTabbingMode should be called on 10.12, but emacsformacosx.com > builds on 10.9. > > I think you=E2=80=99re definitely right, though, that we=E2=80=99re not g= oing to be > able to come up with a uniform solution. Something has to give > somewhere, and I=E2=80=99m tempted to say it should be 10.6. We could liv= e > with build warnings on 10.6, or just say that code like the above > should be ifdef=E2=80=99d out on 10.6. > > Or perhaps we provide a flag that enables a universal binary build > that doesn=E2=80=99t 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 >=3D MAC_OS_X_VERSION_10_12 \ > || defined (UNIVERSAL_BINARY) > if ([win respondsToSelector: @selector(setTabbingMode)]) > [win setTabbingMode: NSWindowTabbingModeDisallowed]; > #endif > #endif > > -- > Alan Third > > --=20 regards, Tim -- Tim Cross --001a11397bfa638d0e055503b757 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I think we should not put too much effort into avoiding wa= rning on 10.6. This is a very old version, does not receive security fixes = and for the protection of users, should not be encouraging use of 10.6. IOW= if your running 10.6, expect you will see warnings for things which have b= een added since and which are not supported on that platform.=C2=A0
Tim

On 22 July 2017 at 21:22, Alan Third <alan@idiocy.org> wrote:
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 ev= er will
> be able to build an Emacs on an old system like 10.6.8 that will be ab= le 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:
>
>=C2=A0 =C2=A0 =C2=A0#ifdef NS_IMPL_COCOA
>=C2=A0 =C2=A0 =C2=A0#if MAC_OS_X_VERSION_MAX_ALLOWED >=3D MAC_OS_X_V= ERSION_10_12
>=C2=A0 =C2=A0 =C2=A0if ([win respondsToSelector: @selector(setTabbingMo= de)])
>=C2=A0 =C2=A0 =C2=A0 =C2=A0[win setTabbingMode: NSWindowTabbingModeDisa= llowed];
>=C2=A0 =C2=A0 =C2=A0#endif
>=C2=A0 =C2=A0 =C2=A0#endif
>
> This should not generate any warning in any context (gcc or clang, mac= OS or
> GNUStep). The resulting code will run correctly on the system it was b= uilt
> 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 pro= vided by
> newer OS versions aren't included.

Unfortunately it doesn=E2=80=99t fix our immediate issue, which is t= hat
setTabbingMode should be called on 10.12, but emacsformacosx.com
builds on 10.9.

I think you=E2=80=99re definitely right, though, that we=E2=80=99re not goi= ng to be
able to come up with a uniform solution. Something has to give
somewhere, and I=E2=80=99m tempted to say it should be 10.6. We could live<= br> with build warnings on 10.6, or just say that code like the above
should be ifdef=E2=80=99d out on 10.6.

Or perhaps we provide a flag that enables a universal binary build
that doesn=E2=80=99t bother about hiding the warnings?

I suppose that would look like:

=C2=A0 =C2=A0 ./configure --with-ns --universal-binary

=C2=A0 =C2=A0 #ifdef NS_IMPL_COCOA
=C2=A0 =C2=A0 #if MAC_OS_X_VERSION_MAX_ALLOWED >=3D MAC_OS_X_VERSION_10_= 12 \
=C2=A0 =C2=A0 =C2=A0 =C2=A0 || defined (UNIVERSAL_BINARY)
=C2=A0 =C2=A0 if ([win respondsToSe= lector: @selector(setTabbingMode)])
=C2=A0 =C2=A0 =C2=A0 [win setTabbingMode: NSWindowTabbingModeDisallowed];
=C2=A0 =C2=A0 #endif
=C2=A0 =C2=A0 #endif

--
Alan Third




--
regards,

Tim

--
Tim Cross

--001a11397bfa638d0e055503b757--