Subject: Re: bug#17507: Documentation for `add-text-property' and relatives

From: Eli Barzilay <[email-masked]>
Date: Sat, 17 Aug 2019 15:40:09 +0300

On Sat, Aug 17, 2019 at 9:41 AM Eli Zaretskii <[email-masked]> wrote:
>
> > From: Eli Barzilay <[email-masked]>
> > Date: Sat, 17 Aug 2019 02:49:54 +0300
> > Cc: Lars Ingebrigtsen <[email-masked]>, [email-masked]
> >
> > To clarify what I said, it sounds like a string is a tuple of the
> > actual string *and* its properties, so it's always #("xyz" ...) where
> > the quotes denote the raw string contents, except that when there's no
> > properties, then you see just the "xyz" part -- but that's *not* a raw
> > string, it just doesn't show the (empty) properties.
>
> That's not what the printed representation is trying to convey.  It is
> simply trying to show you the properties, because that's useful in
> many situations.
>
> > Yet another way to show this is the fact that if you evaluate
> > #("xyz"), the result is *displayed* as "xyz".
> >
> > Maybe adding some note to that effect (perhaps rephrased, to point at
> > the fact that all strings have properties, there are no raw strings)
> > would have resolved my original confusion.
>
> I really don't see how this is related to what you originally wrote,
> sorry.  Also, "all strings have properties" would be misleading
> because most strings have no properties.

"All strings have a property list pointer."

> Can we please return to the original issue, which was the
> documentation of add-text-property?  I don't see how the printed
> representation of a Lisp string is relevant to the documentation of
> that function (and similar functions that modify text properties of
> strings).  Maybe that's what I'm missing, in which case please help me
> connect the dots.

This is the issue: if "xyz" is a raw string in the sense that there is
no plist pointer, then adding one looks confusing.

But I'll just give up.

-- 
                   ((x=>x(x))(x=>x(x)))                  Eli Barzilay:
                   http://barzilay.org/                  Maze is Life!