From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alin Soare Newsgroups: gmane.emacs.devel Subject: Tabs for console. Date: Fri, 3 Dec 2010 00:43:51 +0200 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=000e0cd59494e8cba80496752752 X-Trace: dough.gmane.org 1291329847 9864 80.91.229.12 (2 Dec 2010 22:44:07 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 2 Dec 2010 22:44:07 +0000 (UTC) To: Emacs Dev Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Dec 02 23:44:03 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1POHsg-00067K-VB for ged-emacs-devel@m.gmane.org; Thu, 02 Dec 2010 23:44:03 +0100 Original-Received: from localhost ([127.0.0.1]:37723 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1POHsg-00073u-Ag for ged-emacs-devel@m.gmane.org; Thu, 02 Dec 2010 17:44:02 -0500 Original-Received: from [140.186.70.92] (port=49445 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1POHsY-00072H-Of for emacs-devel@gnu.org; Thu, 02 Dec 2010 17:43:55 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1POHsX-0006By-8r for emacs-devel@gnu.org; Thu, 02 Dec 2010 17:43:54 -0500 Original-Received: from mail-gy0-f169.google.com ([209.85.160.169]:36028) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1POHsX-0006Bm-6C for emacs-devel@gnu.org; Thu, 02 Dec 2010 17:43:53 -0500 Original-Received: by gyg10 with SMTP id 10so18994149gyg.0 for ; Thu, 02 Dec 2010 14:43:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=twWvyYoIi/TKNk1r65hDGewJsVbau9paQzW0HiB6GnA=; b=HNGW1MY0t5LaowvmHKDgK52TivGrP9+Sm2srgQogykJwTynqTqxn1r1Q3Q+0Zt/4tN nZ759XM5kL+CTB7ruIawxICz+o6rmjkqB5S6CUjYCUNAQHs514KYLhHkmqt3LEVrA7tj HoPVSEzCmZb+TAebl/edjEUjETKpzhq+ZsVx0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=wd/PjfgwTw/zCRGAUYbTA3pntNb5ULsR+HvNoSR2+bDuAIJDHzHfBUyk5x5ya07Dc7 ozeCLRAeG8scOi8z/4wwq4bNfLkfJsfs60ivk69Z3k4kHDkHJAnGfUb4smfoygg3xXU5 ev1xBbT7skSHx+ZTMphojsOA6rkCCOgMmH6LI= Original-Received: by 10.150.135.20 with SMTP id i20mr2422564ybd.217.1291329831741; Thu, 02 Dec 2010 14:43:51 -0800 (PST) Original-Received: by 10.150.95.21 with HTTP; Thu, 2 Dec 2010 14:43:51 -0800 (PST) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:133327 Archived-At: --000e0cd59494e8cba80496752752 Content-Type: text/plain; charset=UTF-8 Here it is. I spent 2 weeks to learn git, in order to be able to work with emacs confortably, and now I am almost? expert in git LOL. A first functional version. It is difficult to believe, isn't it? Those who love the console will enjoy. It is the 3rd time when I restart the tabs from scratch, and the first time when I manage to get a result. The first time I started coding tabs as frames. Every frame had a list of frames, and those secondary frames appeared as tabs. I realized the idea was bad and gave up. The second try, I modified the Vframe_list. From a list of frames, I transformed it into a list of lists of frames. Every such list represented a group of tabs. Every frame had as tabs the frames from the same group with it. It worked, but to develop the idea should have been modified half of emacs! Next, I had the idea, after a discussion with Stefan Monnier that tabs must be implemented programmable. I attach you an example. Tabs that implement window configuration. The tabs are not finished. this is just the beginning. The programmable tabs should implement everything, from window configurations up to compilations and frames, and many more. In order to be able to implement tabs as frames, the frames functionality must be extended. Every tab should have its own environment (see the conflict of the variable cwc). Actor model of evaluation is good for this, but emacs does not have lexical scope yet. The code is not completed yet. I did not add comments yet. Please look over the code. I will send a commented version next days. Until then , I hope to receive your suggestion. Alin --000e0cd59494e8cba80496752752 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Here it is. I spent 2 weeks to learn git, in order to be able to work with = emacs confortably, and now I am almost? expert in git LOL.

A first f= unctional version. It is difficult to believe, isn't it? Those who love= the console will enjoy.

It is the 3rd time when I restart the tabs from scratch, and the first = time when I manage to get a result.

The first time I started coding = tabs as frames. Every frame had a list of frames, and those secondary frame= s appeared as tabs. I realized the idea was bad and gave up.

The second try, I modified the Vframe_list. From a list of frames, I tr= ansformed it into a list of lists of frames. Every such list represented a = group of tabs. Every frame had as tabs the frames from the same group with = it. It worked, but to develop the idea should have been modified half of em= acs!

Next, I had the idea, after a discussion with Stefan Monnier that tabs = must be implemented programmable.

I attach you an example. Tabs tha= t implement window configuration.

The tabs are not finished. this is= just the beginning.

The programmable tabs should implement everything, from window configur= ations up to compilations and frames, and many more.

In order to be = able to implement tabs as frames, the frames functionality must be extended= .

Every tab should have its own environment (see the conflict of the vari= able cwc). Actor model of evaluation is good for this, but emacs does not h= ave lexical scope yet.

The code is not completed yet. I did not add = comments yet.

Please look over the code. I will send a commented version next days. U= ntil then , I hope to receive your suggestion.




Alin
<= br>
--000e0cd59494e8cba80496752752--