help-gnu-emacs
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]