From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Anders Lindgren Newsgroups: gmane.emacs.devel Subject: Re: Mac OS Sierra tab feature breaks C-x 5 2 Date: Fri, 21 Jul 2017 22:31:27 +0200 Message-ID: References: <20170710195220.GA21900@breton.holly.idiocy.org> <20170712182321.GA23391@breton.holly.idiocy.org> <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: multipart/alternative; boundary="f403045f6d5cf675b80554d9bfe3" X-Trace: blaine.gmane.org 1500669134 20139 195.159.176.226 (21 Jul 2017 20:32:14 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 21 Jul 2017 20:32:14 +0000 (UTC) Cc: Paul Michael Reilly , Alan Third , Jean-Christophe Helary , Emacs-Devel devel To: "Charles A. Roelli" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jul 21 22:32:09 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 1dYean-00050E-G8 for ged-emacs-devel@m.gmane.org; Fri, 21 Jul 2017 22:32:09 +0200 Original-Received: from localhost ([::1]:44655 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dYeat-0007t5-8I for ged-emacs-devel@m.gmane.org; Fri, 21 Jul 2017 16:32:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59933) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dYeaC-0007t0-IG for emacs-devel@gnu.org; Fri, 21 Jul 2017 16:31:33 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dYeaB-0004bI-BA for emacs-devel@gnu.org; Fri, 21 Jul 2017 16:31:32 -0400 Original-Received: from mail-ua0-x22c.google.com ([2607:f8b0:400c:c08::22c]:37852) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dYeaB-0004ab-3Q for emacs-devel@gnu.org; Fri, 21 Jul 2017 16:31:31 -0400 Original-Received: by mail-ua0-x22c.google.com with SMTP id f9so53679186uaf.4 for ; Fri, 21 Jul 2017 13:31:29 -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=0yXOjsYOMbTsxVS5zzdhxgEKMAax3boPh4bGFzSA0aM=; b=IirXvx3iim7hN9iJ0Qam0PVqOKaJHP2Ur2l2cSvnM08GbM72OwZRoVc5+wh6JeCabu aJ1NfZyUuZaZE3cAsBUDkzuPPWByfxNV6J/1qQtDweL/BuKc4BK4XGS2XISlu3svqeOd isxdV/vwCr3+teoNXIoVnehh8ve48bI2Xs7Ht0fJ0STOKQAhqk4noOm33YGJZCJ13Alu W3so4Q+n9yR/drfPOHOToPEbKP0+GJ3VHVoF2r76RO+SJ6O+X/C2Lq4sH7XYUrFvpUTD /8wIOVGXwizxClzRJ/6iKCuwPRAbGqE+Nop4coSO6tB/QrnNB/BH7XL5aNXnC0tHBl1/ ZvCw== 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=0yXOjsYOMbTsxVS5zzdhxgEKMAax3boPh4bGFzSA0aM=; b=l2QTljCnuRBBJe2291uxJp5hi4qLq9zW9chlbmsucvwJ/qqGFXVxbADSkqudEIkszz lGNIIVzMGWdyVxADsjD63K1ut84HD2UG1TrQmDiuLaLyJoCKZLhlDlUe+ybChv+KH94t tJCF+L7H+ou4LQwRJ2zHu/74ecyOAFdw6ed4Tj4QIwi1uCKkpNPqXRLCIbsH5PUV2jHm uS2aNOnM+VzQOofxJKVb6cxVugOYUAqH8Fr1OsYbJuYW4vkzqGt3ElXFJZej31mf4tKq YOAzLzFilBSLEgI80sA37+mlw2YXJgQAk3Z4hueZeIA5a5tmGA9eKdxIyS0TsT1dtTH6 IM7Q== X-Gm-Message-State: AIVw112f07gfnCvYyHcrdOWMkChfga/P5y1AGVg7o8kWek5Su/OYaBM9 tgXjqZw2chZQqXehOUYkjFr/qubmUQ== X-Received: by 10.159.61.17 with SMTP id l17mr5046105uai.78.1500669088788; Fri, 21 Jul 2017 13:31:28 -0700 (PDT) Original-Received: by 10.31.210.2 with HTTP; Fri, 21 Jul 2017 13:31:27 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400c:c08::22c 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:216927 Archived-At: --f403045f6d5cf675b80554d9bfe3 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 >=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, 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. -- Anders On Wed, Jul 19, 2017 at 6:57 AM, Charles A. Roelli wrote= : > Yes: > > CC nsterm.o > nsterm.m: In function =E2=80=98-[EmacsView initFrameFromEmacs:]=E2=80=99: > nsterm.m:7079: warning: =E2=80=98NSWindow=E2=80=99 may not respond to =E2= =80=98-setTabbingMode:=E2=80=99 > nsterm.m:7079: warning: (Messages without a matching method signature > nsterm.m:7079: warning: will be assumed to return =E2=80=98id=E2=80=99 an= d accept > nsterm.m:7079: warning: =E2=80=98...=E2=80=99 as arguments.) > > > > > On 19/07/2017 00:16, Alan Third wrote: > >> On Tue, Jul 18, 2017 at 08:33:05PM +0200, Charles A. Roelli wrote: >> >>> It does seem to be gcc: >>> >>> (snippet from output of 'make V=3D1' when compiling src/nsterm.m): >>> gcc -std=3Dgnu99 -c -Demacs -I. -I. -I../lib -I../lib -D_REENTRANT -I >>> [...] -MMD -MF deps/nsterm.d -MP -O0 -g3 nsterm.m >>> >> Can you check whether the attached patch results in a compilation >> warning from nsterm.m for you, please? >> >> > --f403045f6d5cf675b80554d9bfe3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi!

I just gave this matter another thi= nk-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 s= olution would be something like:

=C2=A0 =C2=A0 #if= def 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=A0if ([win respondsToSelector: @selector(setTabbingMode)])<= /span>
=C2=A0 =C2=A0 =C2=A0 [win setT= abbingMode: NSWindowTabbingModeDisallowed];
=C2=A0 =C2=A0 #endif
=C2=A0 =C2=A0 #endif

This should not ge= nerate any warning in any context (gcc or clang, macOS or GNUStep). The res= ulting 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 whe= n Emacs is built on an old system, = features provided by newer OS versions aren't included.

=C2=A0 =C2=A0 -- Anders

On Wed, Jul 19, 2017 at 6:57 AM, Charles= A. Roelli <charles@aurox.ch> wrote:
Yes:

=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0nsterm.o
nsterm.m: In function =E2=80=98-[EmacsView initFrameFromEmacs:]=E2=80=99: nsterm.m:7079: warning: =E2=80=98NSWindow=E2=80=99 may not respond to =E2= =80=98-setTabbingMode:=E2=80=99
nsterm.m:7079: warning: (Messages without a matching method signature
nsterm.m:7079: warning: will be assumed to return =E2=80=98id=E2=80=99 and = accept
nsterm.m:7079: warning: =E2=80=98...=E2=80=99 as arguments.)




On 19/07/2017 00:16, Alan Third wrote:
On Tue, Jul 18, 2017 at 08:33:05PM +0200, Charles A. Roelli wrote:
It does seem to be gcc:

(snippet from output of 'make V=3D1' when compiling src/nsterm.m):<= br> gcc -std=3Dgnu99 -c -Demacs -I. -I. -I../lib -I../lib -D_REENTRANT -I
[...]=C2=A0 -MMD -MF deps/nsterm.d -MP -O0 -g3 nsterm.m
Can you check whether the attached patch results in a compilation
warning from nsterm.m for you, please?



--f403045f6d5cf675b80554d9bfe3--