emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Mac OS Sierra tab feature breaks C-x 5 2


From: Tim Cross
Subject: Re: Mac OS Sierra tab feature breaks C-x 5 2
Date: Mon, 24 Jul 2017 08:35:33 +1000

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 <address@hidden> 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 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




--
regards,

Tim

--
Tim Cross


reply via email to

[Prev in Thread] Current Thread [Next in Thread]