[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How to use display text property with after-string?
From: |
Marcin Borkowski |
Subject: |
Re: How to use display text property with after-string? |
Date: |
Sat, 22 Oct 2016 05:57:09 +0200 |
User-agent: |
mu4e 0.9.17; emacs 26.0.50.1 |
On 2016-10-21, at 22:04, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Marcin Borkowski <mbork@mbork.pl>
>> Cc: help-gnu-emacs@gnu.org
>> Date: Fri, 21 Oct 2016 21:41:21 +0200
>>
>> > The 'display' property doesn't support after-string, only the overlay
>> > properties do.
>>
>> I see. I was a bit afraid that is the case.
>>
>> Is there any other way to put some nonexistent text in the buffer?
>
> What's wrong with 'display' text property? Just make its value be a
> string, not '(after-string "something").
OK.
>> Overlays are not very good that, since I hear many overlays in a buffer
>> may slow things down. My use case is as follows: I want to write
>> a function which will find all the dates in the US format (M/D/Y) in the
>> buffer and put a date in a sane format (maybe together with something
>> like "3 days ago" or "tomorrow") next to them. (That would be very
>> useful for me, since I sometimes get emails from Americans, and dealing
>> with dates in M/D/Y format is a huge cognitive load for me;-).)
>
> The 'display' text property whose value is a string causes that string
> be displayed _instead_ of the text covered by the text property.
> Which sounds exactly what you want. One caveat: you cannot move
> cursor through the display string (the same is true for
> after-strings).
Thanks. It was not exactly what I wanted: I wanted a fragment of buffer
containing e.g.
10/25/16
to display as
10/25/16 [2016-10-25, 3 days from today]
Of course, I can include the original text in the `display' property,
but as you have pointed out, this is not the same (though I'm not even
shure whether it's not actually _better_).
Thanks a lot,
--
Marcin Borkowski