GNU bug report logs - #59841
29.0.50; 'before-string' text property doesn't work

Previous Next

Package: emacs;

Reported by: Akib Azmain Turja <akib <at> disroot.org>

Date: Mon, 5 Dec 2022 18:46:01 UTC

Severity: normal

Tags: notabug

Found in version 29.0.50

Done: Stefan Kangas <stefankangas <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 59841 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Akib Azmain Turja <akib <at> disroot.org>
Cc: 59841 <at> debbugs.gnu.org
Subject: Re: bug#59841: 29.0.50; 'before-string' text property doesn't work
Date: Mon, 05 Dec 2022 21:41:42 +0200
> Date: Tue, 06 Dec 2022 00:30:52 +0600
> From:  Akib Azmain Turja via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> The 'Display Margins' node of Emacs Lisp manual says to put
> 'before-string' on text to use the marginal area (is this the correct
> term?) while not altering buffer text.  But 'before-string' text
> property doesn't work.
> 
> Steps:  1. Open a clean fundamental mode buffer.
>         2. (insert (propertize "foo" 'before-string "bar"))
>         3. The buffer shows only "foo", but not "bar" before it.

The code is incorrect: 'before-string' is an overlay property, not a text
property.  So you need to define an overlay with a 'before-string' property
whose value is a string, and put a 'display' property on that string.

And if you want the 'display' property to show text in the margin, you need
also to use set-window-margins to setup the margin.




This bug report was last modified 2 years and 162 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.