From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Robert J. Chassell" Newsgroups: gmane.emacs.devel Subject: Re: enriched-mode and switching major modes. Date: Sun, 19 Sep 2004 13:14:27 +0000 (UTC) Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Message-ID: References: <200409042358.i84Nwjt19152@raven.dms.auburn.edu> <87llfn5ihw.fsf@emacswiki.org> Reply-To: bob@rattlesnake.com NNTP-Posting-Host: deer.gmane.org X-Trace: sea.gmane.org 1095599712 26605 80.91.229.6 (19 Sep 2004 13:15:12 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sun, 19 Sep 2004 13:15:12 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Sep 19 15:14:58 2004 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1C91Wr-0002RL-00 for ; Sun, 19 Sep 2004 15:14:57 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1C91cg-0008Tw-Mb for ged-emacs-devel@m.gmane.org; Sun, 19 Sep 2004 09:20:58 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1C91cX-0008TX-Uv for emacs-devel@gnu.org; Sun, 19 Sep 2004 09:20:50 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1C91cX-0008TE-4M for emacs-devel@gnu.org; Sun, 19 Sep 2004 09:20:49 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1C91cW-0008Sx-Sj for emacs-devel@gnu.org; Sun, 19 Sep 2004 09:20:48 -0400 Original-Received: from [69.168.110.189] (helo=rattlesnake.com) by monty-python.gnu.org with esmtp (Exim 4.34) id 1C91WT-000369-9b for emacs-devel@gnu.org; Sun, 19 Sep 2004 09:14:33 -0400 Original-Received: by rattlesnake.com via sendmail from stdin id (Debian Smail3.2.0.115) Sun, 19 Sep 2004 13:14:27 +0000 (UTC) Original-To: emacs-devel@gnu.org In-reply-to: (message from Oliver Scholz on Sun, 19 Sep 2004 13:07:05 +0200) 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: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:27277 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:27277 "Robert J. Chassell" writes: > If I understand you rightly, the idea here is that you look at one of > the surface representations is a read-only display and maintain the > same position in the read-write deep representation buffer. You can > either keep the two buffers visible at the same time or switch from > one to the other. Oliver Scholz writes: Well, no. The idea is rather that you "fold" and "unfold" parts of a buffer. Say, you edit the surface expression of a HTML document; then you "unfold" the surface expression of a table and edit the HMTL code (the deep representation) of that table directly. This is a matter of preference. 20 years ago, When I started with Emacs, I remember a colleague saying that she always switched from one window to the other. She seldom displayed two windows on the screen at the same time. Thus, when she moved a paragraph from one end of a document to the other, she search for the paragraph, found it, copied it, then switched to another window that took up her whole screen. That was her preferred mode. On the other hand, I preferred then, as I do now, to see different windows at the same time. When I copy a paragraph from one spot to another, I tend to switch between two visible windows. It is easy enough in Emacs to satisfy either preference. Either you set up your frame with two (or more) visible windows or you toggle among them, showing only one at a time. A pure toggle format may work for some features. For example, I think it makes sense to toggle among the different ways to insert mathematical expressions into a buffer using Emacs Calc mode. You only can insert into only one buffer at a time. But toggling fails when you want to look at different renderings of that buffer. My idea is to have /both/ the deep representation and the surface expression read-write, as you say. Yes, that is good. (It is also difficult... ) Also, David Kastrup makes the point that he found the TeXmacs ... `concertina effect' distracting: constant reformatting during text entry causes the line spacing to shrink until the line gets wrapped differently again. This concern may vary widely among people or may be intrinsic to any decent typesetting system. I don't know. In 1984, I was not bothered by the `concertina effect' from text that reformatted on a line by line basis. (I was using a WYSIWYG editor at that time.) Indeed, I rather enjoyed it when I noticed it. But this type of formatting is much less good than that done by TeX, although it is much faster. At that time, the machines I was using could reformat a line in real time, but Tex took seconds to reformat a page. I have not used TeXmacs enough to determine whether I am bothered by its more extensive `concertina effect'. I invented the `moving wave of change' interface notion to deal with TeX's instrinsic slowness. Even now it takes about 25 milliseconds for TeX to format a page on my machine. (I just checked.) If you were writing a 100 page book, and reformatting `in real time', you would need `moving wave of change' to be able to look at a document in more than one window (whether toggling a single screenful or viewing the parts simultaneously). In any event, a typeset output is only one of the multiple outputs that a system can produce. There is btw. an interesting difference in our terminology. .... Editing the deep representation is what one really wants in [Bob's] editing model. Contrary to that, in the editing model I prefer the deep representation is just a means to freeze the abstract document on disc or to transfer it to another person ... This is *exactly* what I mean by a `deep representation': the means to freeze the abstract document. That is what goes on disk or to another person. I do not think there is any difference at all. > This sounds good. Moreover, it is less complex than writing a program > to edit a sufficiently complex surface expression. Hey! I am the guy who desperately wants to edit really complex surface expressions. :-) Yes, I understand. I would prefer to edit the typeset output or HTML output of a document than the format in which its abstract document is written, and have the changes appear in all three representations. But that is impossible at this time with Emacs. I must edit the `abstract document' (except in enriched mode, which I do not use). (Mostly, I prepare stuff for printing as a typeset book, for viewing on the Web, for efficient online reading and listening, and for copying for plain text formats, like email.) > Generally, I would expect you to look at at least two different > surface expressions at the same time, such as Info and DVI. This way > you could avoid accidentally focusing too much on just one output > format. With the deep representation, this means three visible > windows. You might set things up so that by default a frame is laid > out with three windows above each other. [...] This is quite different. How is it different? You are not just running a 1970s computer typesetter? Or are you? (I well remember a visit to a newspaper printing shop in 1970. In that visit, I saw both the men and their `hot metal' typsetting machines and the young woman working on the shop's only, and at that time experimental, computer typsetting machine. It was clear to all that the computer typsetting machine was coming.) Certainly for Emacs, we don't want to recreate a paper-only universe, in which the `universal machine' does no more than typeset for printing. After all, remote connections were first made in the 1950s or early 1960s. (I met a man who said he soldered the first connection; but I do not remember the date he told me.) The Internet was first installed in 1969. Nowadays, many people through out the world can transfer documents without needing to put them on paper. -- Robert J. Chassell bob@rattlesnake.com GnuPG Key ID: 004B4AC8 http://www.rattlesnake.com http://www.teak.cc