From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: storm@cua.dk (Kim F. Storm) Newsgroups: gmane.emacs.devel Subject: Re: enriched-mode and switching major modes. Date: Sun, 19 Sep 2004 00:11:42 +0200 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> <01c49c75$Blat.v2.2.2$7a37cb00@zahav.net.il> <01c49d70$Blat.v2.2.2$f7cfb860@zahav.net.il> <01c49da7$Blat.v2.2.2$cd5f7160@zahav.net.il> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1095545544 2300 80.91.229.6 (18 Sep 2004 22:12:24 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 18 Sep 2004 22:12:24 +0000 (UTC) Cc: boris@gnu.org, emacs-devel@gnu.org, alex@emacswiki.org, Oliver Scholz Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Sep 19 00:12:11 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 1C8nRD-0003DU-00 for ; Sun, 19 Sep 2004 00:12:11 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1C8nX0-0003NS-Qv for ged-emacs-devel@m.gmane.org; Sat, 18 Sep 2004 18:18:10 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1C8nWu-0003NM-5T for emacs-devel@gnu.org; Sat, 18 Sep 2004 18:18:04 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1C8nWt-0003N6-6R for emacs-devel@gnu.org; Sat, 18 Sep 2004 18:18:03 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1C8nWt-0003Mw-3c for emacs-devel@gnu.org; Sat, 18 Sep 2004 18:18:03 -0400 Original-Received: from [195.41.46.237] (helo=pfepc.post.tele.dk) by monty-python.gnu.org with esmtp (Exim 4.34) id 1C8nQl-0004G7-Jt; Sat, 18 Sep 2004 18:11:43 -0400 Original-Received: from kfs-l.imdomain.dk.cua.dk (0x503e2644.bynxx3.adsl-dhcp.tele.dk [80.62.38.68]) by pfepc.post.tele.dk (Postfix) with SMTP id 24E11262817; Sun, 19 Sep 2004 00:11:40 +0200 (CEST) Original-To: Eli Zaretskii In-Reply-To: <01c49da7$Blat.v2.2.2$cd5f7160@zahav.net.il> (Eli Zaretskii's message of "Sat, 18 Sep 2004 20:48:07 +0300") User-Agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3.50 (gnu/linux) 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:27257 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:27257 "Eli Zaretskii" writes: > That is where I think we disagree: I think that the amount of Lisp > code that relies on being able to deduce lots of layout-related issues > by merely looking at the buffer is HUGE. You really do NOT want to > modify every Emacs command like CUA Mode did. I think you confuse CUA with s-region.el and pc-select.el which does modify a lot of commands, or make strange key bindings to achieve the "use shift to start/extend the region" behaviour. CUA mode does NOT modify any "ordinary" commands. Instead, CUA has a list of commands which it should recognize as "cursor movement", so it can know when a shifted cursor movement key should activate/extend the region. > >> And then there is also the point that this approach fails for the more >> complicated things: tables with different font heights, paragraphs >> with background colours and borders ... > > I suggest to discuss that and try to identify the specific problems > that you think will cause such an approach to fail. Then we might > have a better idea of the limitations of this approach, and could talk > about solutions. > > In other words, the current design might indeed have to be changed, > but I think you will agree that such changes need to be kept to a > minimum, lest we end up redesigning Emacs. Talking about specific > problems will help to come up with such a minimal set of changes. I can see one such example: Consider A A to mean ONE double height A, while b c are two normal height characters. With the current emacs display engine, there is no way to display something simple like AAAbbbbbbb AAAccccccc The best emacs can do is: AAAbbbbbbb AAA ccccccc as it has a primitive "no overlapping line" display model. Even worse if you have two 1.5 height characters on two lines (top half of X belongs to the A, bottom half of X belongs to H) A < line 1 X H < line 2 You cannot display a mix of 2 and 3 lines like this: AAAbbbbbbb XXXccccccc HHHddddddd Again, the best emacs can do is something like AAAbbbbbbb VVV ^^^ccccccc HHH ddddddd Still, in all of these examples, it is quite easy to see what arrow should do, and not too difficult to see what should do either. -- Kim F. Storm http://www.cua.dk