From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: Spreadsheet display mode Date: Fri, 23 Nov 2007 22:13:13 -0500 Message-ID: References: <64bfe3d50711221703n6a2aa803refcae006b68a022a@mail.gmail.com> Reply-To: rms@gnu.org NNTP-Posting-Host: lo.gmane.org Content-Type: text/plain; charset=ISO-8859-15 X-Trace: ger.gmane.org 1195874166 1489 80.91.229.12 (24 Nov 2007 03:16:06 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 24 Nov 2007 03:16:06 +0000 (UTC) Cc: emacs-devel@gnu.org To: "David O'Toole" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Nov 24 04:16:12 2007 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.50) id 1IvlV6-0005AF-5x for ged-emacs-devel@m.gmane.org; Sat, 24 Nov 2007 04:16:12 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IvlUr-0001j4-HB for ged-emacs-devel@m.gmane.org; Fri, 23 Nov 2007 22:15:57 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IvlSG-0000aK-JM for emacs-devel@gnu.org; Fri, 23 Nov 2007 22:13:16 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IvlSE-0000Z3-UJ for emacs-devel@gnu.org; Fri, 23 Nov 2007 22:13:14 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IvlSE-0000Yy-Cc for emacs-devel@gnu.org; Fri, 23 Nov 2007 22:13:14 -0500 Original-Received: from fencepost.gnu.org ([140.186.70.10]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IvlSE-0004GH-4I for emacs-devel@gnu.org; Fri, 23 Nov 2007 22:13:14 -0500 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.60) (envelope-from ) id 1IvlSD-0007IZ-OJ; Fri, 23 Nov 2007 22:13:13 -0500 In-reply-to: <64bfe3d50711221703n6a2aa803refcae006b68a022a@mail.gmail.com> (dto@gnu.org) X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) 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:84025 Archived-At: I wrote something called "cell-mode" that seems similar to what you describe. It holds a grid of cells whose "labels" are application-defined strings with text properties, and draws them to a buffer. In your design, the buffer holds the text as it is displayed, and the real underlying text is somewhere else. In the design I have in mind, the real, underlying text is in the buffer, so editing operates on the underlying text. The columnar display form would NOT be in the buffer. It would be generated inside the display code under the control of this new feature. Maybe we could combine the two ideas using a hidden buffer. Your code could operate on the user-visible buffer, generating text in another buffer, and redisplay would use part of that other buffer in place of parts of the user-visible buffer. With this design, the C code would be more general, and the columnar part of it would be entirely in Lisp. In difference to your current design, the data that the user edits would be in the buffer. Ordinary editing commands would mostly still work. What do you think?