From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Luc Teirlinck Newsgroups: gmane.emacs.devel Subject: Re: invisible text and point Date: Mon, 26 May 2003 21:13:51 -0500 (CDT) Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <200305270213.h4R2DpP15774@eel.dms.auburn.edu> References: <200305260437.h4Q4bbh14766@eel.dms.auburn.edu> <200305261721.h4QHLigb001231@rum.cs.yale.edu> <200305261813.h4QIDN815240@eel.dms.auburn.edu> <200305261826.h4QIQX5S001474@rum.cs.yale.edu> NNTP-Posting-Host: main.gmane.org X-Trace: main.gmane.org 1054001834 15939 80.91.224.249 (27 May 2003 02:17:14 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Tue, 27 May 2003 02:17:14 +0000 (UTC) Cc: monnier+gnu/emacs@rum.cs.yale.edu Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Tue May 27 04:17:13 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19KU1Z-00048v-00 for ; Tue, 27 May 2003 04:17:13 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 19KUF3-0002m9-00 for ; Tue, 27 May 2003 04:31:09 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.20) id 19KU1P-000789-4r for emacs-devel@quimby.gnus.org; Mon, 26 May 2003 22:17:03 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.20) id 19KTzm-0006f7-Gf for emacs-devel@gnu.org; Mon, 26 May 2003 22:15:22 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.20) id 19KTyN-0005fU-Tz for emacs-devel@gnu.org; Mon, 26 May 2003 22:13:56 -0400 Original-Received: from manatee.dms.auburn.edu ([131.204.53.104]) by monty-python.gnu.org with esmtp (Exim 4.20) id 19KTyG-0005di-Ui for emacs-devel@gnu.org; Mon, 26 May 2003 22:13:49 -0400 Original-Received: from eel.dms.auburn.edu (eel.dms.auburn.edu [131.204.53.108]) h4R2Dloc022668; Mon, 26 May 2003 21:13:47 -0500 (CDT) Original-Received: (from teirllm@localhost) by eel.dms.auburn.edu (8.11.6+Sun/8.11.6) id h4R2DpP15774; Mon, 26 May 2003 21:13:51 -0500 (CDT) X-Authentication-Warning: eel.dms.auburn.edu: teirllm set sender to teirllm@dms.auburn.edu using -f Original-To: monnier+gnu/emacs@rum.cs.yale.edu In-reply-to: <200305261826.h4QIQX5S001474@rum.cs.yale.edu> (monnier+gnu/emacs@rum.cs.yale.edu) Original-cc: emacs-devel@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Emacs development discussions. List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:14299 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:14299 Stefan Monnier wrote: Yes, we need to address those. Making invisible front-sticky and not rear-sticky (in the info buffer) is easy enough. Yes although, as you pointed out, that might in certain situations produce non-intuitive results for commands that check char-before (or both char-before and char-after) for what to do. Seems that we can not win either way. The change would automatically fix the bugs with m and RETURN in info, although it would, of course, also be possible to fix these without any change in the treatment of invisible text. To make things worse, the invisibility property is not the only text property that appears to give problems of the "things are not always what they really seem" type. The display property can be just as bad. Indeed, do C-h i again and put point near "* echo". Suppose that for some reason we might want to take a look at the man page for echo, maybe to see how it differs from the info we just come to read (or whatever). M-x man RETURN. Result: Manual entry (default echo ): Lots of useless whitespace at the end, but that is perfectly OK, one can do M-x man echo and add tons of trailing whitespace, it gets disregarded anyway. So: RETURN. Result: error in process sentinel: Can't find the echo: manpage In other words, in spite of not only what seemed to be in the buffer, but even in spite of what the prompt seemed to say, the default was not really "echo" but "echo:". Who would have guessed? Actually, the text on the line is: echo: (sh-utils)echo invocation. Print a line of text. The user does not see the: : (sh-utils)echo invocation. But to play semantic games (that have some relevance), that text is completely "visible" (line-move-invisible returns nil for all involved positions and there are no invisibility properties around). It just has the display property. All of this would seem to be very confusing to the user. Sincerely, Luc.