unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Luc Teirlinck <teirllm@dms.auburn.edu>
Cc: monnier+gnu/emacs@rum.cs.yale.edu
Subject: Re: invisible text and point
Date: Mon, 26 May 2003 21:13:51 -0500 (CDT)	[thread overview]
Message-ID: <200305270213.h4R2DpP15774@eel.dms.auburn.edu> (raw)
In-Reply-To: <200305261826.h4QIQX5S001474@rum.cs.yale.edu> (monnier+gnu/emacs@rum.cs.yale.edu)

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.

  reply	other threads:[~2003-05-27  2:13 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-26  4:37 invisible text and point Luc Teirlinck
2003-05-26  4:53 ` Luc Teirlinck
2003-05-26  5:03 ` Luc Teirlinck
2003-05-26  5:16   ` Luc Teirlinck
2003-05-26 13:07     ` Luc Teirlinck
2003-05-26 14:51 ` Stefan Monnier
     [not found] ` <200305261721.h4QHLigb001231@rum.cs.yale.edu>
2003-05-26 18:13   ` Luc Teirlinck
2003-05-26 18:26     ` Stefan Monnier
2003-05-27  2:13       ` Luc Teirlinck [this message]
2003-05-27  3:07         ` Luc Teirlinck
2003-05-27  7:26         ` David Kastrup
2003-05-27 22:41 ` 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=200305270213.h4R2DpP15774@eel.dms.auburn.edu \
    --to=teirllm@dms.auburn.edu \
    --cc=monnier+gnu/emacs@rum.cs.yale.edu \
    /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).