From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: "Charles A. Roelli" Newsgroups: gmane.emacs.devel Subject: Re: Mac OS Sierra tab feature breaks C-x 5 2 Date: Tue, 18 Jul 2017 20:33:05 +0200 Message-ID: References: <191BFCA3-3C5B-4A75-8985-A958E638ADCE@gmail.com> <20170706174204.GA19121@breton.holly.idiocy.org> <20170706221637.GA19607@breton.holly.idiocy.org> <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> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="------------CA3A2EB4E3F3E56D206DA376" X-Trace: blaine.gmane.org 1500410149 27524 195.159.176.226 (18 Jul 2017 20:35:49 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 18 Jul 2017 20:35:49 +0000 (UTC) User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 Cc: Paul Michael Reilly , Alan Third , Jean-Christophe Helary , Emacs-Devel devel To: Anders Lindgren Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jul 18 22:35:44 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 1dXZDa-0006iQ-8R for ged-emacs-devel@m.gmane.org; Tue, 18 Jul 2017 22:35:42 +0200 Original-Received: from localhost ([::1]:58492 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dXZDf-0001bI-Ba for ged-emacs-devel@m.gmane.org; Tue, 18 Jul 2017 16:35:47 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60473) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dXXJg-0002zP-6d for emacs-devel@gnu.org; Tue, 18 Jul 2017 14:33:54 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dXXJd-0002Ev-2t for emacs-devel@gnu.org; Tue, 18 Jul 2017 14:33:52 -0400 Original-Received: from sinyavsky.aurox.ch ([37.35.109.145]:45953) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dXXJc-0002EH-MU for emacs-devel@gnu.org; Tue, 18 Jul 2017 14:33:49 -0400 Original-Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id E018D224BA for ; Tue, 18 Jul 2017 18:27:54 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass (1024-bit key) reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= content-type:content-type:in-reply-to:mime-version:user-agent :date:date:message-id:from:from:references:to:subject:subject; s=dkim; t=1500402473; x=1501266474; bh=v4Vbdsq91TzIUiTi8kmdkfHs oBPlBmZyPIcUrldt83k=; b=iq7F7RKlz7fjorRIvuYEifEEDy1FfvlG7q8lTCwO mjg6K6zg86QKFNQrWvSQG0+XAq7BKiThfbQVM+c250jo9w8d/s/b/dx4N2FYRdZA jHW6PY2dVUvTlZzuo5bHRV94GyXdQQ2ti8i3nhJ+Mu5FYefiy2+4xmsAxKz+Q4yQ sq8= X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Original-Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id pi20-F5YLqIV for ; Tue, 18 Jul 2017 18:27:53 +0000 (UTC) Original-Received: from [192.168.1.120] (125.85.192.178.dynamic.wline.res.cust.swisscom.ch [178.192.85.125]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id 38D252249A; Tue, 18 Jul 2017 18:27:48 +0000 (UTC) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 37.35.109.145 X-Mailman-Approved-At: Tue, 18 Jul 2017 16:34:03 -0400 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:216858 Archived-At: This is a multi-part message in MIME format. --------------CA3A2EB4E3F3E56D206DA376 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable 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 And IIRC 'gcc' is symlinked to 'clang' on later macOS versions. On 18/07/2017 08:06, Anders Lindgren wrote: > Hi Charles, thanks for replying! > > Yes, that is what I saw as well. The question is which compiler is=20 > used (by default) when building Emacs on 10.6. I guess it is "gcc",=20 > but I didn't have time to verify this. > > -- Anders > > On Mon, Jul 17, 2017 at 10:09 PM, Charles A. Roelli > wrote: > > clang and gcc seem different on 10.6 (can't say for certain, though= ): > > > $ which gcc > /usr/bin/gcc > $ gcc --version > i686-apple-darwin10-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. > build 5658) (LLVM build 2335.15.00) > Copyright (C) 2007 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. > There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR > PURPOSE. > > $ which clang > /usr/bin/clang > $ clang --version > Apple clang version 2.1 (tags/Apple/clang-163.7.1) (based on LLVM > 3.0svn) > Target: x86_64-apple-darwin10.8.0 > Thread model: posix > > > > > > On 17/07/2017 01:01, Alan Third wrote: > > On Sun, Jul 16, 2017 at 08:43:25PM +0200, Anders Lindgren wrote= : > > I tried to figure out if gcc or clang was used when > building on 10.6.8, but > ran out of time (and won't have the chance to do it again > anytime soon). I > did conclude that it comes with both a real "gcc" and a > real "clang", so > presumably gcc is used. (Surprisingly, more modern > versions of macOS seems > to map the command "gcc" to "clang".) > > Charles can maybe answer this for us, as he uses 10.6. > > A warning-free build is a must on modern system (which use > clang). It would > be nice on older system, I guess, but it would be hard to > enforce. (We > could even lobby to add the option to future gcc versions, > for the benefit > of GNUStep, but it would not help the situation on older > macOS versions.) > My gut feeling is to go with the > NS_SILENCE_MISSING_METHOD_WARNING_BEGIN > solution, as it work on modern macOS systems, it retains > type checking, and > it give us a single location to describe the situation and > to modify the > macro, if there should be a need for it in the future. > > Agreed. > > I think that a lot (if not most) of the code that we might > want to use > this on won=E2=80=99t work on GNUstep at all, so we could still= exclude it > from building there if the warnings are too much. > > > --------------CA3A2EB4E3F3E56D206DA376 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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=
[...]=C2=A0 -MMD -MF deps/nsterm.d -MP -O0 -g3 nsterm.m


And IIRC 'gcc' is symlinked to 'clang' on later macOS versions.


On 18/07/2017 08:06, Anders Lindgren wrote:
Hi Charles, thanks for replying!

Yes, that is what I saw as well. The question is which compiler is used (by default) when building Emacs on 10.6. I guess it is "gcc", but I didn't have time to verify this.

=C2=A0 =C2=A0 -- Anders

On Mon, Jul 17, 2017 at 10:09 PM, Charles A. Roelli <charles@aurox.ch> wrote:
clang and gcc seem different on 10.6 (can't say for certain, though):

$ which gcc
/usr/bin/gcc
$ gcc --version
i686-apple-darwin10-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ which clang
/usr/bin/clang
$ clang --version
Apple clang version 2.1 (tags/Apple/clang-163.7.1) (based on LLVM 3.0svn)
Target: x86_64-apple-darwin10.8.0
Thread model: posix





On 17/07/2017 01:01, Alan Third wrote:
On Sun, Jul 16, 2017 at 08:43:25PM +0200, Anders Lindgren wrote:
I tried to figure out if gcc or clang was used when building on 10.6.8, but
ran out of time (and won't have the chance to do it again anytime soon). I
did conclude that it comes with both a real "gcc" and a real "clang", so
presumably gcc is used. (Surprisingly, more modern versions of macOS seems
to map the command "gcc" to "clang".)
Charles can maybe answer this for us, as he uses 10.6.<= br>
A warning-free build is a must on modern system (which use clang). It would
be nice on older system, I guess, but it would be hard to enforce. (We
could even lobby to add the option to future gcc versions, for the benefit
of GNUStep, but it would not help the situation on older macOS versions.)
My gut feeling is to go with the NS_SILENCE_MISSING_METHOD_WARNING_BEGIN
solution, as it work on modern macOS systems, it retains type checking, and
it give us a single location to describe the situation and to modify the
macro, if there should be a need for it in the future.
Agreed.

I think that a lot (if not most) of the code that we might want to use
this on won=E2=80=99t work on GNUstep at all, so we cou= ld still exclude it
from building there if the warnings are too much.




--------------CA3A2EB4E3F3E56D206DA376--