From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ted Zlatanov Newsgroups: gmane.emacs.devel Subject: Re: virtual file buffer spanning multiple physical files Date: Sun, 03 Oct 2010 07:43:00 -0500 Organization: =?utf-8?B?0KLQtdC+0LTQvtGAINCX0LvQsNGC0LDQvdC+0LI=?= @ Cienfuegos Message-ID: <87mxqvih0r.fsf@lifelogs.com> References: <87bp7diz5z.fsf@lifelogs.com> <87wrq02u0o.fsf@mail.jurta.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1286109802 16307 80.91.229.12 (3 Oct 2010 12:43:22 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 3 Oct 2010 12:43:22 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Oct 03 14:43:21 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 1P2NuS-0000Sz-FP for ged-emacs-devel@m.gmane.org; Sun, 03 Oct 2010 14:43:20 +0200 Original-Received: from localhost ([127.0.0.1]:41646 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P2NuS-0004Cd-0i for ged-emacs-devel@m.gmane.org; Sun, 03 Oct 2010 08:43:20 -0400 Original-Received: from [140.186.70.92] (port=40468 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P2NuL-0004B5-6Q for emacs-devel@gnu.org; Sun, 03 Oct 2010 08:43:14 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P2NuJ-00075y-Ah for emacs-devel@gnu.org; Sun, 03 Oct 2010 08:43:13 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:32895) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P2NuI-00075g-U5 for emacs-devel@gnu.org; Sun, 03 Oct 2010 08:43:11 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1P2NuF-0000Rc-N7 for emacs-devel@gnu.org; Sun, 03 Oct 2010 14:43:07 +0200 Original-Received: from c-24-14-16-248.hsd1.il.comcast.net ([24.14.16.248]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 03 Oct 2010 14:43:07 +0200 Original-Received: from tzz by c-24-14-16-248.hsd1.il.comcast.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 03 Oct 2010 14:43:07 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 34 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: c-24-14-16-248.hsd1.il.comcast.net X-Face: bd.DQ~'29fIs`T_%O%C\g%6jW)yi[zuz6; d4V0`@y-~$#3P_Ng{@m+e4o<4P'#(_GJQ%TT= D}[Ep*b!\e,fBZ'j_+#"Ps?s2!4H2-Y"sx" User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:QOrSRWm3AAu8qPZcftzWoNsGxX0= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) 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:131284 Archived-At: On Sat, 02 Oct 2010 21:56:39 +0100 Juri Linkov wrote: JL> FUSE (Filesystem in Userspace) is useful for writing virtual filesystems, JL> but it's not a system for virtual files :) You can use FUSE to write JL> a filesystem that allows to edit multiple physical files through JL> one virtual file. Yes. >> I was thinking that would actually (with some folding >> magic) be extremely useful in Emacs. There are many cases where I edit >> multiple small files and have to switch back and forth to see their >> contents. Also, search-and-replace would be easier. >> >> Is there any existing mode that does that kind of virtual join? JL> We considered such a mode some time ago in JL> http://thread.gmane.org/gmane.emacs.devel/120943 JL> Maybe this multi-file mode (a buffer with multiple files) could be JL> implemented like a multi-mode mode (a buffer with multiple major modes). Maybe. I was also thinking about the (not too old) discussion about virtual file buffers that edit just a portion of a large file because the max buffer size is smaller than the file and, of course, loading a large file to overwrite a few bytes is very expensive. Also the multi-mode concept as seen in MuMaMo is quite useful. So I think it's good to start thinking about "stitched" buffers, consisting of multiple "windows" into multiple files, each window of variable size and with its own mode. That would be ridiculously powerful and probably a pretty big effort. As a hack it could probably be done with text properties but I don't know enough about the buffer structures in Emacs to say. Ted