From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Nix Newsgroups: gmane.emacs.devel Subject: Re: Tabs are ready? -> Let us give a definition of tabs. Date: Sat, 11 Feb 2012 14:16:32 +0000 Message-ID: <87k43t1mm7.fsf@spindle.srvr.nix> References: <4F2E5D33.6020406@gmx.at> <4F2E8185.4080706@gmx.at> <4F2EC768.4050603@gmx.at> <4F2FAD31.9040702@gmx.at> <877h00yq7z.fsf@uwakimon.sk.tsukuba.ac.jp> <871uq7zw5c.fsf@uwakimon.sk.tsukuba.ac.jp> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1328969811 28646 80.91.229.3 (11 Feb 2012 14:16:51 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 11 Feb 2012 14:16:51 +0000 (UTC) Cc: Juri Linkov , martin rudalics , "Stephen J. Turnbull" , Emacs Dev , PJ Weisberg To: Alin Soare Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Feb 11 15:16:50 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RwDku-0007xu-DD for ged-emacs-devel@m.gmane.org; Sat, 11 Feb 2012 15:16:48 +0100 Original-Received: from localhost ([::1]:42050 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RwDkt-00078D-SB for ged-emacs-devel@m.gmane.org; Sat, 11 Feb 2012 09:16:47 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:36285) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RwDkr-00077x-83 for emacs-devel@gnu.org; Sat, 11 Feb 2012 09:16:46 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RwDkq-0007EA-8s for emacs-devel@gnu.org; Sat, 11 Feb 2012 09:16:45 -0500 Original-Received: from icebox.esperi.org.uk ([81.187.191.129]:53387 helo=mail.esperi.org.uk) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RwDkp-0007Dj-QJ for emacs-devel@gnu.org; Sat, 11 Feb 2012 09:16:44 -0500 Original-Received: from esperi.org.uk (nix@spindle.srvr.nix [192.168.14.15]) by mail.esperi.org.uk (8.14.5/8.14.5) with ESMTP id q1BEGX6p031951; Sat, 11 Feb 2012 14:16:33 GMT Original-Received: (from nix@localhost) by esperi.org.uk (8.14.5/8.14.5/Submit) id q1BEGWQ9016631; Sat, 11 Feb 2012 14:16:32 GMT Emacs: because Hell was full. In-Reply-To: (Alin Soare's message of "Thu, 9 Feb 2012 18:16:01 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.93 (gnu/linux) X-DCC-STAT_FI_X86_64_VIRTUAL-Metrics: spindle 1245; Body=6 Fuz1=6 Fuz2=6 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 81.187.191.129 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:148471 Archived-At: On 9 Feb 2012, Alin Soare stated: >> The way I'm picturing it, the tab's internal state consists of four pieces >>> of data: a title, a window (or possibly window configuration), a function >>> that's called when it becomes active, and another function that's called >>> when it becomes inactive. That *seems* like it's meeting all your >>> requirements, as I've understood them. >> > The title must also a tab-local variable. I've already pointed out that true tab-local variables would have nasty consequences for critical code in Emacs, confusing the semantics of variable lookup. Look at the sad history of frame-local variables and their interaction with buffer-local variables for an indication of the subtle problems you'll be inviting. (The problem is simple: if a buffer and its frame *both* declare a variable to be 'local', which takes precedence? There is probably code that depends on *each* taking precedence, so any answer will be wrong.) Now a list of 'tab parameters', like frame parameters, which have to be explicitly looked up when needed, is more likely to be accweptable. -- NULL && (void)