From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Nic Ferrier Newsgroups: gmane.emacs.devel Subject: Re: hidden buffers for async Date: Fri, 10 Jun 2005 02:15:49 +0100 Message-ID: References: <6dbd4d0005060619227dd41364@mail.gmail.com> <87vf4oaft8.fsf@zemdatav.stor.no-ip.org> <87vf4oaao5.fsf@kanga.tapsellferrier.co.uk> <87ll5ka5j7.fsf@zemdatav.stor.no-ip.org> <87is0oa35h.fsf_-_@kanga.tapsellferrier.co.uk> NNTP-Posting-Host: main.gmane.org X-Trace: sea.gmane.org 1118366439 12203 80.91.229.2 (10 Jun 2005 01:20:39 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 10 Jun 2005 01:20:39 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jun 10 03:20:36 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1DgYC3-0006D6-CM for ged-emacs-devel@m.gmane.org; Fri, 10 Jun 2005 03:20:19 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DgYJ5-0004lX-1W for ged-emacs-devel@m.gmane.org; Thu, 09 Jun 2005 21:27:35 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DgYIl-0004dE-M2 for emacs-devel@gnu.org; Thu, 09 Jun 2005 21:27:16 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DgYIh-0004aH-VB for emacs-devel@gnu.org; Thu, 09 Jun 2005 21:27:12 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DgYIh-0004Yi-Ch for emacs-devel@gnu.org; Thu, 09 Jun 2005 21:27:11 -0400 Original-Received: from [80.168.156.78] (helo=owls-tree.tapsellferrier.co.uk) by monty-python.gnu.org with esmtp (TLS-1.0:RSA_AES_128_CBC_SHA:16) (Exim 4.34) id 1DgYDe-0004QH-C8; Thu, 09 Jun 2005 21:21:58 -0400 Original-Received: from [80.168.156.68] (helo=kanga) by owls-tree.tapsellferrier.co.uk with esmtp (Exim 4.50 #1 (Debian)) id 1DgY7O-0000yI-0A; Fri, 10 Jun 2005 02:15:30 +0100 Original-Received: from nferrier by kanga with local (Exim 4.44) id 1DgY7j-00085d-9s; Fri, 10 Jun 2005 02:15:51 +0100 Original-To: rms@gnu.org In-Reply-To: (Richard Stallman's message of "Thu, 09 Jun 2005 20:13:55 -0400 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:38480 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:38480 ") Message-ID: <87psuv8116.fsf@kanga.tapsellferrier.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Richard Stallman writes: > Something that would help a great deal is if one could create a buffer > that was hidden, ie: it did not ordinarily appear in the buffer list > and was not returned by a call to: > > (get-buffer buffername) > > Why do you think this is necessary? > I don't see what problem this would solve. Buffers are more convieniant (and more efficient) than strings for large amounts of data. But buffers are very visible to the user and that makes them less attractive for storing purely temporary or transient data. A concrete example. IMAP does file transfers with variable sized chunks. It states the chunk size and then sends that many bytes of the file. But you don't recieve all the bytes at once in an elisp async reciever. I wanted to use a buffer to collect the data from the chunks while the file transfer was still going on. But IMAP can be asked to download lots of files at once and will be chunking them all. So I wanted to have lots of chunk buffers, one for each file transfer. When the files are downloaded they can be put straight into the correct mode for displaying the file. So there might be 10 or 20 (or 1000) buffers all recieving chunks of files from IMAP. But these are purely temporary objects, until IMAP sends a "file downloaded" status message the buffers are just data stores. So I wanted to hide them from the user. I think there are a lot of protocols where this happens. HTTP is similar and so is NNTP. Nic