From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Robert Pluim Newsgroups: gmane.emacs.devel Subject: Re: Tabs Date: Tue, 03 Sep 2019 14:22:13 +0200 Message-ID: References: <87a7bpysm8.fsf@mail.linkov.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="116152"; mail-complaints-to="usenet@blaine.gmane.org" Cc: emacs-devel@gnu.org To: Juri Linkov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Sep 03 14:23:00 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1i57pr-000U4t-Sg for ged-emacs-devel@m.gmane.org; Tue, 03 Sep 2019 14:23:00 +0200 Original-Received: from localhost ([::1]:45158 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i57pq-0007Y9-QU for ged-emacs-devel@m.gmane.org; Tue, 03 Sep 2019 08:22:58 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:33212) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i57pE-0007Y1-Ba for emacs-devel@gnu.org; Tue, 03 Sep 2019 08:22:22 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i57pC-0006tk-Ef for emacs-devel@gnu.org; Tue, 03 Sep 2019 08:22:20 -0400 Original-Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:40392) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1i57pC-0006sq-78 for emacs-devel@gnu.org; Tue, 03 Sep 2019 08:22:18 -0400 Original-Received: by mail-wr1-x42b.google.com with SMTP id c3so17247961wrd.7 for ; Tue, 03 Sep 2019 05:22:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:mail-copies-to:gmane-reply-to-list :date:in-reply-to:message-id:mime-version:content-transfer-encoding; bh=7Walpebf0cMuHMFIQLmY9zwuZDwsC7aKQ3yAI/JLHUQ=; b=fgU2TMaOSwyKtBAkeNeBqe+s84RHaG2cSWM8jUIWJwP/pCdZ8YlTsx80aCLT+MnOZt Lw6axnNCyEO6eJ/b229rSEbZ/nGSA76RBcrwyRv6ytNYT0sP/6JQg0MT68cE3YTA4o6q VPPdz5va18g3dEtLui82b6Vw5kfD22/4WtUDum8H8UyQkxYAtJ+wbnBHyO7ekR56FmrJ sLcL4N7pRYuZxcCOcfuAizQUhivnrHfljoLQ17i5U3k9yp7fuDwOT8iBvny1yVVY7bn0 A/Mpj3YZZyKERrH5aWuglWgMtveDnI3Udd+IyMWDcThH9Zj4P55ntmXRcbw87qUP3QQl LFqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:mail-copies-to :gmane-reply-to-list:date:in-reply-to:message-id:mime-version :content-transfer-encoding; bh=7Walpebf0cMuHMFIQLmY9zwuZDwsC7aKQ3yAI/JLHUQ=; b=HkHl6qIs+Gy6ZSabiKMNQtWEL6GjnofH7lkIHIRXwDDCa3OhqBlmtLtMgh9vXwlYKI kbUktoEFcZRnhwUhVOUQmWepe1oFexl9jPT0Af9LWCuH2ZGl0vvXnNTn4S31Xw5aDgVe 8e4YnQRuLODPFQZ1rHLFQ5jBtLdNpAZ+Y9nJG2aQPQIlkxHk3h0HL3X2j4CtrrBUgE9d MLn+SECHOo7oFb7CJFodLFwMcI9Szlp3//ubAWbnblwCvuMVDoxDW+dI12DpBr6XFngq 5DbxUv9XLdHCyCNFfL2qHPeD7zNLDAOcXaT13g88adUgPMpd7+FKFzy2BLyefO0ssui3 PVlQ== X-Gm-Message-State: APjAAAXsEvY9p/Fnp4EBn52tILIuj5Xy4GMp291fwaZAIm6jJfn07evP TsnyNn5ED8Y1LTmws5ahmfHWaSxw X-Google-Smtp-Source: APXvYqw4FNTXvP58Ax1yanA5ZgELYZQUboZCQMbd/Idm+T8MmBn7itIPvKQTxosKZWizbseL9j1rkA== X-Received: by 2002:adf:de0d:: with SMTP id b13mr17904784wrm.140.1567513334767; Tue, 03 Sep 2019 05:22:14 -0700 (PDT) Original-Received: from rpluim-mac ([149.5.228.1]) by smtp.gmail.com with ESMTPSA id o9sm21706513wrj.17.2019.09.03.05.22.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Sep 2019 05:22:14 -0700 (PDT) Mail-Copies-To: never Gmane-Reply-To-List: yes In-Reply-To: <87a7bpysm8.fsf@mail.linkov.net> (Juri Linkov's message of "Sat, 31 Aug 2019 23:45:07 +0300") X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42b X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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:239807 Archived-At: >>>>> On Sat, 31 Aug 2019 23:45:07 +0300, Juri Linkov sai= d: Juri> There is a long story of several attempts to implement tabs in Em= acs. Juri> Finally now a complete implementation is available for these Juri> etc/TODO tasks: Hi Juri, this fails to compile for me on macOS 10.14. I=CA=BCm Cocoa-ignorant, are there some flags I need to pass to get access to the tabbar types? make[1]: Nothing to be done for `all'. /Library/Developer/CommandLineTools/usr/bin/make -C src VCSWITNESS=3D'' all CC nsterm.o In file included from nsterm.m:49: ./nsterm.h:529:36: error: cannot find protocol declaration for 'NSTabbarDel= egate'; did you mean 'NSToolbarDelegate'? @interface EmacsTabbar : NSTabbar ^~~~~~~~~~~~~~~~ NSToolbarDelegate /System/Library/Frameworks/AppKit.framework/Headers/NSToolbar.h:172:11: not= e:=20 'NSToolbarDelegate' declared here @protocol NSToolbarDelegate ^ In file included from nsterm.m:49: ./nsterm.h:529:26: error: cannot find interface declaration for 'NSTabbar',= superclass of 'EmacsTabbar' @interface EmacsTabbar : NSTabbar ~~~~~~~~~~~~~~~~~~~~~~ ^ ./nsterm.h:551:4: error: expected a type - (NSTabbarItem *)tabbar: (NSTabbar *)tabbar ^ ./nsterm.h:551:28: error: expected a type - (NSTabbarItem *)tabbar: (NSTabbar *)tabbar ^ ./nsterm.h:554:45: error: expected a type - (NSArray *)tabbarDefaultItemIdentifiers: (NSTabbar *)tabbar; ^ ./nsterm.h:555:45: error: expected a type - (NSArray *)tabbarAllowedItemIdentifiers: (NSTabbar *)tabbar; ^ nsterm.m:1092:27: warning: implicit declaration of function 'FRAME_EXTERNAL= _TAB_BAR' is invalid in C99 [-Wimplicit-function-declaration] BOOL tarbar_visible =3D FRAME_EXTERNAL_TAB_BAR (f) ? YES : NO; ^ nsterm.m:1093:5: error: use of undeclared identifier 'NSTabbar' NSTabbar *tabbar =3D [FRAME_NS_VIEW (f) tabbar]; ^ nsterm.m:1093:15: error: use of undeclared identifier 'tabbar'; did you mean 'Qtab_bar'? NSTabbar *tabbar =3D [FRAME_NS_VIEW (f) tabbar]; ^~~~~~ Qtab_bar ./globals.h:3139:21: note: 'Qtab_bar' declared here DEFINE_LISP_SYMBOL (Qtab_bar) ^ nsterm.m:1094:32: error: use of undeclared identifier 'tabbar'; did you mean 'Qtab_bar'? if (! tarbar_visible !=3D ! [tabbar isVisible]) ^~~~~~ Qtab_bar ./globals.h:3139:21: note: 'Qtab_bar' declared here DEFINE_LISP_SYMBOL (Qtab_bar) ^ nsterm.m:1094:32: warning: receiver type 'Lisp_Object' (aka 'union Lisp_X *= ') is not 'id' or interface pointer, consider casting it to 'id' [-Wreceiver-ex= pr] if (! tarbar_visible !=3D ! [tabbar isVisible]) ^~~~~~ nsterm.m:1095:8: error: use of undeclared identifier 'tabbar'; did you mean= 'Qtab_bar'? [tabbar setVisible: tarbar_visible]; ^~~~~~ Qtab_bar ./globals.h:3139:21: note: 'Qtab_bar' declared here DEFINE_LISP_SYMBOL (Qtab_bar) ^ nsterm.m:1095:8: warning: receiver type 'Lisp_Object' (aka 'union Lisp_X *'= ) is not 'id' or interface pointer, consider casting it to 'id' [-Wreceiver-ex= pr] [tabbar setVisible: tarbar_visible]; ^~~~~~ nsterm.m:1690:18: warning: 'NSWindow' may not respond to 'tabbar' - FRAME_TABBAR_HEIGHT (f) - FRAME_TOOLBAR_HEIGHT (f)) ^~~~~~~~~~~~~~~~~~~~~~~ ./nsterm.h:1086:33: note: expanded from macro 'FRAME_TABBAR_HEIGHT' (([[FRAME_NS_VIEW (f) window] tabbar] =3D=3D nil = \ ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ nsterm.m:1690:18: warning: 'NSWindow' may not respond to 'tabbar' - FRAME_TABBAR_HEIGHT (f) - FRAME_TOOLBAR_HEIGHT (f)) ^~~~~~~~~~~~~~~~~~~~~~~ ./nsterm.h:1087:38: note: expanded from macro 'FRAME_TABBAR_HEIGHT' || ! [[FRAME_NS_VIEW (f) window] tabbar].isVisible) ? \ ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ nsterm.m:1690:18: error: property 'isVisible' not found on object of type 'EmacsTabbar *' ./nsterm.h:1087:46: note: expanded from macro 'FRAME_TABBAR_HEIGHT' || ! [[FRAME_NS_VIEW (f) window] tabbar].isVisible) ? \ ^ nsterm.m:1708:56: warning: 'NSWindow' may not respond to 'tabbar' ...f->top_pos =3D FRAME_PIXEL_HEIGHT (parent) + FRAME_TABBAR_HEIGHT (pare= nt) + FRAME... ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nsterm.h:1086:33: note: expanded from macro 'FRAME_TABBAR_HEIGHT' (([[FRAME_NS_VIEW (f) window] tabbar] =3D=3D nil = \ ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ nsterm.m:1708:56: warning: 'NSWindow' may not respond to 'tabbar' ...f->top_pos =3D FRAME_PIXEL_HEIGHT (parent) + FRAME_TABBAR_HEIGHT (pare= nt) + FRAME... ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nsterm.h:1087:38: note: expanded from macro 'FRAME_TABBAR_HEIGHT' || ! [[FRAME_NS_VIEW (f) window] tabbar].isVisible) ? \ ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ nsterm.m:1708:56: error: property 'isVisible' not found on object of type 'EmacsTabbar *' ./nsterm.h:1087:46: note: expanded from macro 'FRAME_TABBAR_HEIGHT' || ! [[FRAME_NS_VIEW (f) window] tabbar].isVisible) ? \ ^ nsterm.m:1771:9: warning: 'NSWindow' may not respond to 'tabbar' + FRAME_TABBAR_HEIGHT (f) ^~~~~~~~~~~~~~~~~~~~~~~ ./nsterm.h:1086:33: note: expanded from macro 'FRAME_TABBAR_HEIGHT' (([[FRAME_NS_VIEW (f) window] tabbar] =3D=3D nil = \ ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ nsterm.m:1771:9: warning: 'NSWindow' may not respond to 'tabbar' + FRAME_TABBAR_HEIGHT (f) ^~~~~~~~~~~~~~~~~~~~~~~ ./nsterm.h:1087:38: note: expanded from macro 'FRAME_TABBAR_HEIGHT' || ! [[FRAME_NS_VIEW (f) window] tabbar].isVisible) ? \ ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ nsterm.m:1771:9: error: property 'isVisible' not found on object of type 'EmacsTabbar *' ./nsterm.h:1087:46: note: expanded from macro 'FRAME_TABBAR_HEIGHT' || ! [[FRAME_NS_VIEW (f) window] tabbar].isVisible) ? \ ^ nsterm.m:1788:18: warning: 'NSWindow' may not respond to 'tabbar' make_fixnum (FRAME_TABBAR_HEIGHT (f) + FRAME_TOOLBAR_HEIGHT (f))= )); ^~~~~~~~~~~~~~~~~~~~~~~ ./nsterm.h:1086:33: note: expanded from macro 'FRAME_TABBAR_HEIGHT' (([[FRAME_NS_VIEW (f) window] tabbar] =3D=3D nil = \ ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ nsterm.m:1788:18: warning: 'NSWindow' may not respond to 'tabbar' make_fixnum (FRAME_TABBAR_HEIGHT (f) + FRAME_TOOLBAR_HEIGHT (f))= )); ^~~~~~~~~~~~~~~~~~~~~~~ ./nsterm.h:1087:38: note: expanded from macro 'FRAME_TABBAR_HEIGHT' || ! [[FRAME_NS_VIEW (f) window] tabbar].isVisible) ? \ ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ nsterm.m:1788:18: error: property 'isVisible' not found on object of type 'EmacsTabbar *' ./nsterm.h:1087:46: note: expanded from macro 'FRAME_TABBAR_HEIGHT' || ! [[FRAME_NS_VIEW (f) window] tabbar].isVisible) ? \ ^ nsterm.m:1830:19: warning: instance method '-setTabbar:' not found (return = type defaults to 'id') [-Wobjc-method-access] [window setTabbar: nil]; ^~~~~~~~~ /System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:184:12: note= : receiver is instance of class declared here @interface NSWindow : NSResponder