From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Alan Third Newsgroups: gmane.emacs.devel Subject: Re: Mac OS Sierra tab feature breaks C-x 5 2 Date: Mon, 10 Jul 2017 20:52:20 +0100 Message-ID: <20170710195220.GA21900@breton.holly.idiocy.org> References: <191BFCA3-3C5B-4A75-8985-A958E638ADCE@gmail.com> <20170706174204.GA19121@breton.holly.idiocy.org> <20170706221637.GA19607@breton.holly.idiocy.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="d6Gm4EdcadzBjdND" X-Trace: blaine.gmane.org 1499716467 20499 195.159.176.226 (10 Jul 2017 19:54:27 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 10 Jul 2017 19:54:27 +0000 (UTC) User-Agent: Mutt/1.7.2 (2016-11-26) Cc: Paul Michael Reilly , Jean-Christophe Helary , Emacs-Devel devel To: Anders Lindgren Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jul 10 21:54:20 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 1dUel6-0004d9-Tr for ged-emacs-devel@m.gmane.org; Mon, 10 Jul 2017 21:54:17 +0200 Original-Received: from localhost ([::1]:42776 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dUel9-0001or-7m for ged-emacs-devel@m.gmane.org; Mon, 10 Jul 2017 15:54:19 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49834) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dUekM-0001n1-7M for emacs-devel@gnu.org; Mon, 10 Jul 2017 15:53:31 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dUekJ-0004QH-4W for emacs-devel@gnu.org; Mon, 10 Jul 2017 15:53:30 -0400 Original-Received: from mail-wr0-f196.google.com ([209.85.128.196]:34584) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dUekI-0004Np-QG for emacs-devel@gnu.org; Mon, 10 Jul 2017 15:53:27 -0400 Original-Received: by mail-wr0-f196.google.com with SMTP id k67so27101437wrc.1 for ; Mon, 10 Jul 2017 12:53:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=bpXe3bq3cBtoCTLqHAPpeOLliz18go7TB0Irs5oyqyo=; b=AZePO8Tlo3ToOnxACIwlhn0lWKWA/LFHyryaUwFTK8x7JNSQFPduY8TM0HxomkNMGk QcF04K8YC6EokyBYVPGdXGVREiZtWQwzNLgDW27jyxY78TCGohf0KSMv1MH0KoPb3e49 bXX9Zhf6WQnw+D/mqig9uP6m28Z8qKuzjBnmNVRLIDezEPCQZjcluNXGRH0yQtjUFSVZ HmIGINsiS8SKf5+IjdFzx//By+WJJG9u9KZUTMDSwe+TVqPhJcj1gMyNuX4bbA3V+m0Y Eo0b7tt6hCPbFAePDDfr0tftAODSDG24NeMfJLsfU2cnGW6KAvHFqiauHjK6ERYeGKp/ WkNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to:user-agent; bh=bpXe3bq3cBtoCTLqHAPpeOLliz18go7TB0Irs5oyqyo=; b=uT7v6+J4n9cJDXTrylpj/0zlBcwyrebM4/lyUCBqn26be69Qy00eWiLGrj96HQY5O4 BTpWN+ymEDpkQO2V80rWg670FqIO6elnEqL8tzNVcfaui6Zoqd6oXhhadgtlOurpswv0 fKPqWCr/B2syp9VbEd02l6eYBhviLg4UcNzr2ud3wG7giFxpgIj0yMsVvaIaoMRqxXmE pEVxz8jwgI/Is+gp+sigFOQ5ASZA9lyPb/42MxZRwpYp0G+WXTsGWrfzRqy3ZRWF1Vx6 NOgNzCrta6RZCg4eLkUy8+PQ2aXcIYWJidGUj/kcV6L0vTeETAfLhH80fw+jbwCZGaqK 1Kyg== X-Gm-Message-State: AIVw113SCPyM6lAONzrs7gVW60mffSIH0KaV2RcGGHP8h80KOcox4yHw 92LQH7FeQxiuyA== X-Received: by 10.223.139.218 with SMTP id w26mr7782669wra.206.1499716344017; Mon, 10 Jul 2017 12:52:24 -0700 (PDT) Original-Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-e9a1-3503-5c3f-d7d9.holly.idiocy.org. [2001:8b0:3f8:8129:e9a1:3503:5c3f:d7d9]) by smtp.gmail.com with ESMTPSA id g83sm5642777wmf.29.2017.07.10.12.52.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Jul 2017 12:52:22 -0700 (PDT) Content-Disposition: inline In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.85.128.196 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:216437 Archived-At: --d6Gm4EdcadzBjdND Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Mon, Jul 10, 2017 at 09:17:58PM +0200, Anders Lindgren wrote: > Unfortunately, it doesn't compile. I get the following error when I build > on 10.10.5: > > nsterm.m:7078:26: error: use of undeclared identifier > 'NSWindowTabbingModeDisallowed' > [win setTabbingMode: NSWindowTabbingModeDisallowed]; > > Fortunately, the fix is simple. If we build on an older system, we can > define the NSWindowTabbingModeXxx constants ourselves. I think this should do it, then... -- Alan Third --d6Gm4EdcadzBjdND Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="0001-Use-a-run-time-check-for-macOS-Sierra-tabbing-suppor.patch" >From 21e4a39eea0da07afd419456a2b6d2df972c622b Mon Sep 17 00:00:00 2001 From: Alan Third Date: Thu, 6 Jul 2017 23:10:49 +0100 Subject: [PATCH] Use a run-time check for macOS Sierra tabbing support * src/nsterm.m (initFrameFromEmacs) [NS_IMPL_COCOA]: Switch from compile-time check to run-time. * src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS. --- src/nsterm.h | 8 ++++++++ src/nsterm.m | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/nsterm.h b/src/nsterm.h index 0f1b36db7b..da221605b4 100644 --- a/src/nsterm.h +++ b/src/nsterm.h @@ -1317,6 +1317,14 @@ extern char gnustep_base_version[]; /* version tracking */ #ifdef __OBJC__ typedef NSUInteger NSWindowStyleMask; #endif + +/* Window tabbing mode enums are new too. */ +enum NSWindowTabbingMode + { + NSWindowTabbingModeAutomatic, + NSWindowTabbingModePreferred, + NSWindowTabbingModeDisallowed + }; #endif #endif /* HAVE_NS */ diff --git a/src/nsterm.m b/src/nsterm.m index bf83550b3d..f88b279987 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -7073,9 +7073,9 @@ - (instancetype) initFrameFromEmacs: (struct frame *)f /* macOS Sierra automatically enables tabbed windows. We can't allow this to be enabled until it's available on a Free system. Currently it only happens by accident and is buggy anyway. */ -#if defined (NS_IMPL_COCOA) && \ - MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - [win setTabbingMode: NSWindowTabbingModeDisallowed]; +#ifdef NS_IMPL_COCOA + if ([win respondsToSelector: @selector(setTabbingMode:)]) + [win setTabbingMode: NSWindowTabbingModeDisallowed]; #endif ns_window_num++; -- 2.12.0 --d6Gm4EdcadzBjdND--