GNU bug report logs -
#51550
29.0.50; Customize Group INS buttons sometimes don't have a left box line
Previous Next
Reported by: Po Lu <luangruo <at> yahoo.com>
Date: Mon, 1 Nov 2021 13:53:02 UTC
Severity: minor
Found in version 29.0.50
Fixed in version 31.1
Done: Mauro Aranda <maurooaranda <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #85 received at 51550 <at> debbugs.gnu.org (full text, mbox):
> From: Po Lu <luangruo <at> yahoo.com>
> Cc: stefan <at> marxist.se, stephen.berman <at> gmx.net, 51550 <at> debbugs.gnu.org
> Date: Wed, 29 Dec 2021 21:54:38 +0800
>
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
> > Why did you want to use a before-string? why not simply a single
> > invisible character before the button?
>
> It has to be an overlay, because wid-insert might not be able to insert
> such a character before the button. (In general, the display of
> everything in a button except for text seems to be done entirely with
> overlays -- I don't think the buffer is supposed to contain anything
> other than the text of the button itself.)
So make an overlay whose property is 'invisible' -- doesn't that work?
What do you mean by "wid-insert might not be able to insert" -- isn't
the text of the button inserted as well? then why not make the
invisible character part of the inserted button text?
> (with-current-buffer (get-buffer-create "*test*")
> (insert #("foo\nfoo" 0 4 (face widget-field)))
> (let ((overlay (make-overlay 5 8 nil t nil)))
> (overlay-put overlay 'before-string (propertize " " 'invisible t))
> (overlay-put overlay 'face custom-button)))
>
> After this, I would have expected the second "foo" in *test* to begin
> with a box line, but it doesn't.
Will look into this soon.
This bug report was last modified 81 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.