unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Richard Stallman <rms@gnu.org>
To: "David O'Toole" <dto@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Spreadsheet display mode
Date: Sat, 24 Nov 2007 17:05:51 -0500	[thread overview]
Message-ID: <E1Iw38J-0006FE-3t@fencepost.gnu.org> (raw)
In-Reply-To: <64bfe3d50711240349m6e9d2100n4ffcf9d5607bb8ff@mail.gmail.com> (dto@gnu.org)

    This isn't quite correct---actions in a cell-mode spreadsheet don't
    inherently cause updates to some other text that actually represents
    the spreadsheet data (i.e. formulas.) That is more like how SES works.
    In contrast, most of the stuff I've done with cell-mode involved cells
    with cl structs in them, each typically having some function-valued
    slots, and different user actions could trigger different functions.

I think you are saying that the base data structure is not text at all,
rather Lisp data, and the only text that is used is the generated
text that you use for the display.  Is that right?

    For example, I wrote a little program that uses cell-mode to display a
    grid of colored squares. You can issue cell-mode commands that tell
    the cell to change its color, etc. Once you've drawn something, you
    can invoke another command to generate a buffer with an XPM version of
    the image, as text. It sounds like what you are suggesting is that
    each editing operation (i.e. color change in a pixel) would result in
    an immediate corresponding update to the XPM text.

I wasn't saying anything about an XPM version of anything.  That isn't
part of what I was talking about.  I was talking about a columnar
mode for Emacs redisplay, which would take the text in the buffers
and put it into columns for display only.

    I can imagine other, similar situations. For example, using cell-mode
    to replace the default display of dired, buffer-list, and other
    interactive-table stuff--- what would the "real text" be, which we
    were supposed to update on every operation, if the spreadsheet
    represents a list of Emacs buffers or external processes?

I don't entirely understand the question.  The dired data is already
represented as text.  I am not sure whether we would want to use the
columnar mode fyr a dired buffer, but if we did, it wouldn't change
anything but the way it appears on the screen.  (The columns might be
aligned, for instance).

     - A user-interface library that can draw fancy spreadsheets and help
    the user interact with grids of arbitrary Lisp objects (insert/delete
    rows/columns and other basic spreadsheet stuff).
     - Applications that use the UI as a front-end (potentially SES,
    org-table, dired etc)
     - A new feature in the display code of Emacs (written in C) that
    makes this all possible. Can you be more specific about this part? It
    sounds a little bit like indirect buffers.

I don't have more specific ideas yet.

  reply	other threads:[~2007-11-24 22:05 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-23  1:03 Spreadsheet display mode David O'Toole
2007-11-23  8:18 ` Bastien
2007-11-24  3:12   ` Richard Stallman
2007-11-23 12:03 ` Johan Bockgård
2007-11-23 13:35   ` Johan Bockgård
2007-11-24 15:20     ` Richard Stallman
2007-11-23 14:00   ` David O'Toole
2007-11-24  3:13 ` Richard Stallman
2007-11-24 11:49   ` David O'Toole
2007-11-24 22:05     ` Richard Stallman [this message]
2007-11-25  5:31       ` David O'Toole
  -- strict thread matches above, loose matches on Subject: below --
2007-11-22 16:23 Richard Stallman
2007-11-22 19:19 ` Glenn Morris
2007-11-23  4:35   ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1Iw38J-0006FE-3t@fencepost.gnu.org \
    --to=rms@gnu.org \
    --cc=dto@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).