unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Third <alan@idiocy.org>
To: Anders Lindgren <andlind@gmail.com>
Cc: Paul Michael Reilly <pmr@pajato.com>,
	Jean-Christophe Helary <jean.christophe.helary@gmail.com>,
	"Charles A. Roelli" <charles@aurox.ch>,
	Emacs-Devel devel <emacs-devel@gnu.org>
Subject: Re: Mac OS Sierra tab feature breaks C-x 5 2
Date: Sat, 22 Jul 2017 12:22:30 +0100	[thread overview]
Message-ID: <20170722112230.GA58424@breton.holly.idiocy.org> (raw)
In-Reply-To: <CABr8ebYtZqNAa5t=QYhBWebcsdFvhXGsuO4t2d2P-UeKQ8hPTQ@mail.gmail.com>

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



  reply	other threads:[~2017-07-22 11:22 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-06 11:29 Mac OS Sierra tab feature breaks C-x 5 2 Paul Michael Reilly
2017-07-06 12:14 ` Jean-Christophe Helary
2017-07-06 12:46   ` Sebastian Christ
2017-07-06 12:53 ` Alan Third
2017-07-06 14:35   ` Alan Third
2017-07-06 15:05     ` Jean-Christophe Helary
2017-07-06 17:42       ` Alan Third
2017-07-06 22:16         ` Alan Third
2017-07-10 19:17           ` Anders Lindgren
2017-07-10 19:52             ` Alan Third
2017-07-10 20:22               ` Anders Lindgren
2017-07-12 18:23                 ` Alan Third
2017-07-12 21:20                   ` Anders Lindgren
2017-07-13 20:22                     ` Alan Third
2017-07-16 18:43                       ` Anders Lindgren
2017-07-16 23:01                         ` Alan Third
2017-07-17 20:09                           ` Charles A. Roelli
2017-07-18  6:06                             ` Anders Lindgren
2017-07-18 18:33                               ` Charles A. Roelli
2017-07-18 22:16                                 ` Alan Third
2017-07-19  4:57                                   ` Charles A. Roelli
2017-07-21 20:31                                     ` Anders Lindgren
2017-07-22 11:22                                       ` Alan Third [this message]
2017-07-23 12:17                                         ` NS runtime feature detection (was: Mac OS Sierra tab feature breaks C-x 5 2) Alan Third
2017-07-24 19:02                                           ` NS runtime feature detection Charles A. Roelli
2017-07-24 20:45                                             ` Alan Third
2017-07-23 22:35                                         ` Mac OS Sierra tab feature breaks C-x 5 2 Tim Cross
  -- strict thread matches above, loose matches on Subject: below --
2017-07-06 17:24 Matthew Bauer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170722112230.GA58424@breton.holly.idiocy.org \
    --to=alan@idiocy.org \
    --cc=andlind@gmail.com \
    --cc=charles@aurox.ch \
    --cc=emacs-devel@gnu.org \
    --cc=jean.christophe.helary@gmail.com \
    --cc=pmr@pajato.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).