GNU bug report logs - #57813
Icon images are non-functional

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Juri Linkov <juri@HIDDEN>; dated Wed, 14 Sep 2022 19:43:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 23 Sep 2022 16:26:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 23 12:26:48 2022
Received: from localhost ([127.0.0.1]:41588 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oblVo-0000dh-1v
	for submit <at> debbugs.gnu.org; Fri, 23 Sep 2022 12:26:48 -0400
Received: from quimby.gnus.org ([95.216.78.240]:38840)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1oblVm-0000dR-1r
 for 57813 <at> debbugs.gnu.org; Fri, 23 Sep 2022 12:26:46 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:
 Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
 List-Subscribe:List-Post:List-Owner:List-Archive;
 bh=ADCvrCwel0xEEO0UDzFYknLegyIugluwsN4wcrXHS+I=; b=Z1cSzBEgTrZMj0DCP5RCwpDcZx
 2YZH7ZIqODNfYN/Ri/JXCxRR1dg8munhFYnWvADgPCqX9a57QDYOanwj8HOoVYPgItsWdlWNUFopH
 Zx/uT7RKX5bFp6CEWszyNwmU5VYGm4+ASRAEQXSz5TbEyd3XTOlUIHpWkBMzGdUbGYbg=;
Received: from [84.212.220.105] (helo=joga)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1oblVd-0003Zx-W8; Fri, 23 Sep 2022 18:26:40 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
Subject: Re: bug#57813: Icon images are non-functional
In-Reply-To: <86zgequm55.fsf@HIDDEN> (Juri Linkov's message of "Fri, 
 23 Sep 2022 18:48:54 +0300")
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
 <867d2476u4.fsf@HIDDEN> <86zgequm55.fsf@HIDDEN>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAgMAAAAqbBEUAAAABGdBTUEAALGPC/xhBQAAACBj
 SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEUgEg9gRSy2mnv/
 ///07xp6AAAAAWJLR0QDEQxM8gAAAAd0SU1FB+YJFxAZNoSLwJkAAAGcSURBVCjPbdKxbtswEADQ
 oxFq6BQDZlF76xb0K2ijEdBMEqAjIE4dKiPiV3hJ5riIOGhyAVMw7yt7x6BbNUh8FHnHIwnwn0ft
 G/msfsj7c/wu7fq1YEYLsFu9yCgXkcc9fxUgJcGQrgKc468vcJwzgO4rqtMDrAPDjIrq84UbCYCT
 +Ppw4vGRp1jQWAmC3RirJtxIvvntp4HVTaPke6XrhkOgLEFFuiilx/Uk+E2NbqucxzLHvxlbUyaZ
 k91JtzURPQo8tIPzFHpZ5KjOeEQKhv+EZ4XokDInUhyZeheIeJGraD/lIXKAPwwL3yh6RiwIlBjL
 DMArDzm5TNF9gHuJJo5WTZaxUJ4CYP3SBe4NORIM9d76vM2ZY0BX7Rt/8dQTzYCHU6PfHZU8uLcN
 olRAHrgIM5iDAOGON3fdIi2UHBi419X7SGlIHgyiMp2nlNHzYXSAE5eTfQbFCOfrjm5jW2C23Y6r
 rsq5b47IW+D6ArMIcCo4zv7sb9gWhCdssNstBdsdJodPVKAxUN/78HGNEONjRP3vTt2t5079BfLO
 rQmAMz0ZAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTA5LTIzVDE2OjI1OjU0KzAwOjAwPntwwwAA
 ACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wOS0yM1QxNjoyNTo1NCswMDowME8myH8AAAAASUVORK5C
 YII=
X-Now-Playing: Kate Bush's _Never For Ever_: "The Wedding List"
Date: Fri, 23 Sep 2022 18:26:37 +0200
Message-ID: <87a66q2h1e.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 Content preview:  Juri Linkov <juri@HIDDEN> writes: > (create-image file
 > nil nil > :rotation (plist-get keywords :rotation) You could just have
 a :rotation (or ... 0) here, I think? 
 Content analysis details:   (-2.9 points, 5.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
 [score: 0.0000]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 57813
Cc: 57813 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Juri Linkov <juri@HIDDEN> writes:

>               (create-image file
>                             nil nil
>                             :rotation (plist-get keywords :rotation)

You could just have a :rotation (or ... 0) here, I think?





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 23 Sep 2022 15:57:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 23 11:57:16 2022
Received: from localhost ([127.0.0.1]:41483 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1obl3E-00061V-CH
	for submit <at> debbugs.gnu.org; Fri, 23 Sep 2022 11:57:16 -0400
Received: from relay12.mail.gandi.net ([217.70.178.232]:34113)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1obl3C-00061F-9x
 for 57813 <at> debbugs.gnu.org; Fri, 23 Sep 2022 11:57:15 -0400
Received: (Authenticated sender: juri@HIDDEN)
 by mail.gandi.net (Postfix) with ESMTPSA id 45D5E200003
 for <57813 <at> debbugs.gnu.org>; Fri, 23 Sep 2022 15:57:04 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: 57813 <at> debbugs.gnu.org
Subject: Re: bug#57813: Icon images are non-functional
In-Reply-To: <867d2476u4.fsf@HIDDEN> (Juri Linkov's message of "Thu, 
 15 Sep 2022 22:53:07 +0300")
Organization: LINKOV.NET
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
 <867d2476u4.fsf@HIDDEN>
Date: Fri, 23 Sep 2022 18:48:54 +0300
Message-ID: <86zgequm55.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 57813
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

> diff --git a/lisp/emacs-lisp/icons.el b/lisp/emacs-lisp/icons.el
> index ff4f20c207..ccc3657793 100644
> --- a/lisp/emacs-lisp/icons.el
> +++ b/lisp/emacs-lisp/icons.el
> @@ -202,7 +202,11 @@ icons--create
>                              :height (if (eq height 'line)
>                                          (window-default-line-height)
>                                        height)
> -                            :scale 1 :ascent 'center)
> +                            :scale 1
> +                            :rotation (plist-get keywords :rotation)

Oh, I noticed now this prints a warning in *Messages*:

  Invalid image ‘:rotation’ parameter nil

but still continues to work fine.

So maybe the keyword :rotation should be used only on this
condition (plist-member keywords :rotation) instead of:

              (create-image file
                            nil nil
                            :rotation (plist-get keywords :rotation)

I guess the only way is to convert this function call to 'apply'
with a constructed list of arguments?

Or better to change compute_image_rotation to allow nil in :rotation:

diff --git a/src/image.c b/src/image.c
index 1e323ba66a..6d9316c64b 100644
--- a/src/image.c
+++ b/src/image.c
@@ -2548,6 +2548,8 @@ compute_image_rotation (struct image *img, double *rotation)
   Lisp_Object value = image_spec_value (img->spec, QCrotation, &foundp);
   if (!foundp)
     return;
+  if (NILP (value))
+    return;
   if (! NUMBERP (value))
     {
       image_error ("Invalid image `:rotation' parameter");




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 20 Sep 2022 16:13:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 20 12:13:28 2022
Received: from localhost ([127.0.0.1]:59381 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oafsG-00012q-64
	for submit <at> debbugs.gnu.org; Tue, 20 Sep 2022 12:13:28 -0400
Received: from relay10.mail.gandi.net ([217.70.178.230]:58627)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1oafsB-00012a-Bf
 for 57813 <at> debbugs.gnu.org; Tue, 20 Sep 2022 12:13:27 -0400
Received: (Authenticated sender: juri@HIDDEN)
 by mail.gandi.net (Postfix) with ESMTPSA id A76A1240003;
 Tue, 20 Sep 2022 16:13:16 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#57813: Icon images are non-functional
In-Reply-To: <83zgeuwacd.fsf@HIDDEN> (Eli Zaretskii's message of "Tue, 20 Sep
 2022 14:31:46 +0300")
Organization: LINKOV.NET
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
 <867d2476u4.fsf@HIDDEN> <831qsb6g69.fsf@HIDDEN>
 <86illnpzgh.fsf@HIDDEN> <86mtaxaj2l.fsf@HIDDEN>
 <83sfkpz2gb.fsf@HIDDEN> <86bkrcijsf.fsf@HIDDEN>
 <83y1ufy34m.fsf@HIDDEN> <86bkrb2m1n.fsf@HIDDEN>
 <83zgeuwacd.fsf@HIDDEN>
Date: Tue, 20 Sep 2022 19:12:33 +0300
Message-ID: <8635cmxbwu.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 57813
Cc: 57813 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

>> Pushed.  There is still a remaining problem: mouse clicks in the margins
>> have no effect.  Then I noticed in (info "(elisp) Display Margins"):
>>
>>   There is currently no way to make text or images in the margin
>>   mouse-sensitive.
>>
>> This means no way to bind mouse events in the margins?
>
> When I click the mouse in a left margin, "C-h c" says:
>
>   <left-margin> <mouse-1> (translated from <down-mouse-1> <mouse-1>) at that spot is undefined
>
> So it looks like this is possible, and that text in the manual is
> simply outdated?

These are mode bindings for the whole buffer, but I expected margin-local
bindings that really don't work, so probably the manual is right.
Now I added mode bindings, and everything works fine.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 20 Sep 2022 11:31:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 20 07:31:48 2022
Received: from localhost ([127.0.0.1]:56342 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oabTg-0000Ww-MI
	for submit <at> debbugs.gnu.org; Tue, 20 Sep 2022 07:31:48 -0400
Received: from eggs.gnu.org ([209.51.188.92]:39390)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oabTe-0000Wj-L7
 for 57813 <at> debbugs.gnu.org; Tue, 20 Sep 2022 07:31:47 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:44362)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oabTY-0000Rf-Fr; Tue, 20 Sep 2022 07:31:40 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=PCQFOdOk7ARrHMux27QAYazXUoJ34S55gZVsRnjZaYo=; b=QJMNqLL45pXF
 b3/H6b96Pcqob5Yd1UbzRh4LWumTy0SX7IczLDbdKBHGLw/r54ZkuLYX8iaG4jLX7lPtgAkzwLdC1
 R02kubvarwf/v/mq2o4Ng33b4Ui4Tfe5v0HYfr7ARswIw68YRC0v5VEWmoWDWf1eBuDt3ytHleGN9
 sB6R10EXi9VKkShMnnCTXw6IB7BEfOfm6rCuAHwEfJ5P3U+ZQggvJQMMHXTFVx+LbPvOgBJWnnv4C
 Ycs2wbR7N4Zizu4SwmfxxvSA5SdT2fw+zNLoeDhkmXEgIE8ME77MPJQJpHmJCmuNHhP1MrIHwu+Lw
 zBDHHgSVmS0p2yUBWFnY2g==;
Received: from [87.69.77.57] (port=2520 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oabTX-0004LN-SH; Tue, 20 Sep 2022 07:31:40 -0400
Date: Tue, 20 Sep 2022 14:31:46 +0300
Message-Id: <83zgeuwacd.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-Reply-To: <86bkrb2m1n.fsf@HIDDEN> (message from Juri Linkov on
 Mon, 19 Sep 2022 22:37:08 +0300)
Subject: Re: bug#57813: Icon images are non-functional
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
 <867d2476u4.fsf@HIDDEN> <831qsb6g69.fsf@HIDDEN>
 <86illnpzgh.fsf@HIDDEN> <86mtaxaj2l.fsf@HIDDEN>
 <83sfkpz2gb.fsf@HIDDEN> <86bkrcijsf.fsf@HIDDEN>
 <83y1ufy34m.fsf@HIDDEN> <86bkrb2m1n.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 57813
Cc: 57813 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 57813 <at> debbugs.gnu.org
> Date: Mon, 19 Sep 2022 22:37:08 +0300
> 
> >> Then the right margin could be used with:
> >
> > Thanks, the code LGTM.
> 
> Pushed.  There is still a remaining problem: mouse clicks in the margins
> have no effect.  Then I noticed in (info "(elisp) Display Margins"):
> 
>   There is currently no way to make text or images in the margin
>   mouse-sensitive.
> 
> This means no way to bind mouse events in the margins?

When I click the mouse in a left margin, "C-h c" says:

  <left-margin> <mouse-1> (translated from <down-mouse-1> <mouse-1>) at that spot is undefined

So it looks like this is possible, and that text in the manual is
simply outdated?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 19 Sep 2022 19:38:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 19 15:38:26 2022
Received: from localhost ([127.0.0.1]:55338 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oaMb4-0002n3-4d
	for submit <at> debbugs.gnu.org; Mon, 19 Sep 2022 15:38:26 -0400
Received: from relay10.mail.gandi.net ([217.70.178.230]:35181)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1oaMb3-0002mq-06
 for 57813 <at> debbugs.gnu.org; Mon, 19 Sep 2022 15:38:25 -0400
Received: (Authenticated sender: juri@HIDDEN)
 by mail.gandi.net (Postfix) with ESMTPSA id B594C240004;
 Mon, 19 Sep 2022 19:38:17 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#57813: Icon images are non-functional
In-Reply-To: <83y1ufy34m.fsf@HIDDEN> (Eli Zaretskii's message of "Mon, 19 Sep
 2022 15:12:25 +0300")
Organization: LINKOV.NET
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
 <867d2476u4.fsf@HIDDEN> <831qsb6g69.fsf@HIDDEN>
 <86illnpzgh.fsf@HIDDEN> <86mtaxaj2l.fsf@HIDDEN>
 <83sfkpz2gb.fsf@HIDDEN> <86bkrcijsf.fsf@HIDDEN>
 <83y1ufy34m.fsf@HIDDEN>
Date: Mon, 19 Sep 2022 22:37:08 +0300
Message-ID: <86bkrb2m1n.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 57813
Cc: 57813 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

>> Then the right margin could be used with:
>
> Thanks, the code LGTM.

Pushed.  There is still a remaining problem: mouse clicks in the margins
have no effect.  Then I noticed in (info "(elisp) Display Margins"):

  There is currently no way to make text or images in the margin
  mouse-sensitive.

This means no way to bind mouse events in the margins?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 19 Sep 2022 12:12:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 19 08:12:32 2022
Received: from localhost ([127.0.0.1]:52617 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oaFdX-0004TV-NB
	for submit <at> debbugs.gnu.org; Mon, 19 Sep 2022 08:12:31 -0400
Received: from eggs.gnu.org ([209.51.188.92]:55352)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oaFdV-0004TI-FC
 for 57813 <at> debbugs.gnu.org; Mon, 19 Sep 2022 08:12:29 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:52784)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oaFdP-0001IH-Ie; Mon, 19 Sep 2022 08:12:23 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=Q1lSsfcKdpWdaviPRx45nXcS6WFmA+w6izY781yM714=; b=SImJYbv9vgAa
 oXdEE8MW39WFzxIcn+Nl7Y8BL8mgPt7IXVQ6zW+KrWvFNLpWPwKqNR3Z6BwFHPTSvhtyM5xSW/RH1
 oZxaUxhKvHANgaKYZLUFhVtub6HLm4vC3FJi3jDL8MT/3CPl0cN/DDUn3dnlVPPlH+rhcCd4W+7Gu
 TWOzrEK+zLsGL3As/KHZbe03W8DAYDMsiNhCPVk7zOKv/ZMEx7IJDMi+5Ma8uIG0zXqX55CGxxagv
 QbYaqg5u3GWxcYGQVJqd6aRNe5PnexmQZUSsTw9du0OpKNfXrwfZrjxyQ3tuN0SUBZRtmrZPtCwF4
 bg11WhxYItXobJEOHqCoqw==;
Received: from [87.69.77.57] (port=4082 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oaFdN-0006f4-3X; Mon, 19 Sep 2022 08:12:21 -0400
Date: Mon, 19 Sep 2022 15:12:25 +0300
Message-Id: <83y1ufy34m.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-Reply-To: <86bkrcijsf.fsf@HIDDEN> (message from Juri Linkov on
 Sun, 18 Sep 2022 22:06:56 +0300)
Subject: Re: bug#57813: Icon images are non-functional
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
 <867d2476u4.fsf@HIDDEN> <831qsb6g69.fsf@HIDDEN>
 <86illnpzgh.fsf@HIDDEN> <86mtaxaj2l.fsf@HIDDEN>
 <83sfkpz2gb.fsf@HIDDEN> <86bkrcijsf.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 57813
Cc: 57813 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 57813 <at> debbugs.gnu.org
> Date: Sun, 18 Sep 2022 22:06:56 +0300
> 
> > Thanks.  I only quickly read the patch, and have one comment: the
> > hard-coded left-margin should depend on the value returned by
> > current-bidi-paragraph-direction, because text that is displayed
> > right-to-left should have the icons on the right margin, not left
> > margin.
> 
> To not create a new mirrored image file for RTL arrow required a change in
> icons--create to support ':rotation 180' for the existing image file:
> 
>   (define-icon outline-close-rtl-in-margins outline-close
>     '((image "outline-close.svg" "outline-close.pbm"
>              :height 10 :ascent center :rotation 180))
>     "Icon used for buttons for closing a section in outline buffers."
>     :version "29.1"
>     :help-echo "Close this section")
> 
> Then the right margin could be used with:

Thanks, the code LGTM.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 18 Sep 2022 19:12:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 18 15:12:43 2022
Received: from localhost ([127.0.0.1]:51332 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oZzic-0007Pd-Ao
	for submit <at> debbugs.gnu.org; Sun, 18 Sep 2022 15:12:43 -0400
Received: from relay7-d.mail.gandi.net ([217.70.183.200]:36191)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1oZziY-0007PA-9q
 for 57813 <at> debbugs.gnu.org; Sun, 18 Sep 2022 15:12:39 -0400
Received: (Authenticated sender: juri@HIDDEN)
 by mail.gandi.net (Postfix) with ESMTPSA id 1AA0320004;
 Sun, 18 Sep 2022 19:12:28 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#57813: Icon images are non-functional
In-Reply-To: <83sfkpz2gb.fsf@HIDDEN> (Eli Zaretskii's message of "Sun, 18 Sep
 2022 08:17:08 +0300")
Organization: LINKOV.NET
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
 <867d2476u4.fsf@HIDDEN> <831qsb6g69.fsf@HIDDEN>
 <86illnpzgh.fsf@HIDDEN> <86mtaxaj2l.fsf@HIDDEN>
 <83sfkpz2gb.fsf@HIDDEN>
Date: Sun, 18 Sep 2022 22:06:56 +0300
Message-ID: <86bkrcijsf.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 57813
Cc: 57813 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

--=-=-=
Content-Type: text/plain

>> Here is a preliminary patch
>
> Thanks.  I only quickly read the patch, and have one comment: the
> hard-coded left-margin should depend on the value returned by
> current-bidi-paragraph-direction, because text that is displayed
> right-to-left should have the icons on the right margin, not left
> margin.

To not create a new mirrored image file for RTL arrow required a change in
icons--create to support ':rotation 180' for the existing image file:

  (define-icon outline-close-rtl-in-margins outline-close
    '((image "outline-close.svg" "outline-close.pbm"
             :height 10 :ascent center :rotation 180))
    "Icon used for buttons for closing a section in outline buffers."
    :version "29.1"
    :help-echo "Close this section")

Then the right margin could be used with:

--=-=-=
Content-Type: text/x-diff
Content-Disposition: inline;
 filename=outline-minor-mode-rtl-in-margins.patch

diff --git a/lisp/emacs-lisp/icons.el b/lisp/emacs-lisp/icons.el
index ff4f20c207..96f5ea6b08 100644
--- a/lisp/emacs-lisp/icons.el
+++ b/lisp/emacs-lisp/icons.el
@@ -202,7 +202,9 @@ icons--create
                             :height (if (eq height 'line)
                                         (window-default-line-height)
                                       height)
-                            :scale 1 :ascent 'center)
+                            :scale 1
+                            :rotation (plist-get keywords :rotation)
+                            :ascent (or (plist-get keywords :ascent) 'center))
             (create-image file))))))
 
 (cl-defmethod icons--create ((_type (eql 'emoji)) icon _keywords)
diff --git a/lisp/outline.el b/lisp/outline.el
index 25ef1616b9..32c5799814 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -292,6 +292,16 @@ outline-minor-mode-use-buttons
   :safe #'booleanp
   :version "29.1")
 
+(defcustom outline-minor-mode-use-margins '(derived-mode . special-mode)
+  "Whether to display clickable buttons on the margins.
+The value should be a `buffer-match-p' condition.
+
+These buttons can be used to hide and show the body under the heading.
+Note that this feature is meant to be used in editing buffers."
+  :type 'buffer-predicate
+  :safe #'booleanp
+  :version "29.1")
+
 (define-icon outline-open nil
   '((image "outline-open.svg" "outline-open.pbm"
            :height 15 :ascent center)
@@ -312,6 +322,27 @@ outline-close
   :version "29.1"
   :help-echo "Close this section")
 
+(define-icon outline-open-in-margins outline-open
+  '((image "outline-open.svg" "outline-open.pbm"
+           :height 10 :ascent center))
+  "Icon used for buttons for opening a section in outline buffers."
+  :version "29.1"
+  :help-echo "Open this section")
+
+(define-icon outline-close-in-margins outline-close
+  '((image "outline-open.svg" "outline-open.pbm"
+           :height 10 :ascent center :rotation -90))
+  "Icon used for buttons for closing a section in outline buffers."
+  :version "29.1"
+  :help-echo "Close this section")
+
+(define-icon outline-close-rtl-in-margins outline-close
+  '((image "outline-open.svg" "outline-open.pbm"
+           :height 10 :ascent center :rotation 90))
+  "Icon used for buttons for closing a section in outline buffers."
+  :version "29.1"
+  :help-echo "Close this section")
+
 
 (defvar outline-level #'outline-level
   "Function of no args to compute a header's nesting level in an outline.
@@ -453,6 +486,11 @@ outline-minor-mode
             (key-description outline-minor-mode-prefix) outline-mode-prefix-map)
   (if outline-minor-mode
       (progn
+        (when (outline--use-margins-p)
+          (if (eq (current-bidi-paragraph-direction) 'right-to-left)
+              (setq-local right-margin-width (1+ right-margin-width))
+            (setq-local left-margin-width (1+ left-margin-width)))
+          (setq-local fringes-outside-margins t))
         (when outline-minor-mode-highlight
           (if (and global-font-lock-mode (font-lock-specified-p major-mode))
               (progn
@@ -473,6 +511,11 @@ outline-minor-mode
           (font-lock-remove-keywords nil outline-font-lock-keywords))
       (remove-overlays nil nil 'outline-overlay t)
       (font-lock-flush))
+    (when (outline--use-margins-p)
+      (if (eq (current-bidi-paragraph-direction) 'right-to-left)
+          (setq-local right-margin-width (1- right-margin-width))
+        (setq-local left-margin-width (1- left-margin-width)))
+      (setq-local fringes-outside-margins nil))
     (setq line-move-ignore-invisible nil)
     ;; Cause use of ellipses for invisible text.
     (remove-from-invisibility-spec '(outline . t))
@@ -483,6 +526,10 @@ outline--use-buttons-p
   (and outline-minor-mode
        (buffer-match-p outline-minor-mode-use-buttons (current-buffer))))
 
+(defun outline--use-margins-p ()
+  (and outline-minor-mode
+       (buffer-match-p outline-minor-mode-use-margins (current-buffer))))
+
 (defvar-local outline-heading-alist ()
   "Alist associating a heading for every possible level.
 Each entry is of the form (HEADING . LEVEL).
@@ -1012,10 +1061,43 @@ outline--make-button-overlay
         (overlay-put o 'face (plist-get icon 'face))))
     o))
 
-(defun outline--insert-open-button ()
+(defun outline--make-margin-overlay (type)
+  (let ((o (seq-find (lambda (o)
+                       (overlay-get o 'outline-margin))
+                     (overlays-at (point)))))
+    (unless o
+      (setq o (make-overlay (point) (1+ (point))))
+      (overlay-put o 'follow-link 'mouse-face)
+      (overlay-put o 'mouse-face 'highlight)
+      (overlay-put o 'outline-margin t))
+    (let ((icon
+           (icon-elements (if (eq type 'close)
+                              (if (eq (current-bidi-paragraph-direction)
+                                      'right-to-left)
+                                  'outline-close-rtl-in-margins
+                                'outline-close-in-margins)
+                            'outline-open-in-margins)))
+          (inhibit-read-only t))
+      (overlay-put
+       o 'before-string
+       (propertize " " 'display
+                   `((margin ,(if (eq (current-bidi-paragraph-direction)
+                                      'right-to-left)
+                                  'right-margin 'left-margin))
+                     ,(or (plist-get icon 'image)
+                          (plist-get icon 'string))))))
+    o))
+
+(defun outline--insert-open-button (&optional margins-p)
   (with-silent-modifications
     (save-excursion
-        (beginning-of-line)
+      (beginning-of-line)
+      (if margins-p
+          (let ((o (outline--make-margin-overlay 'open)))
+            (overlay-put o 'help-echo "Click to hide")
+            (overlay-put o 'keymap
+                         (define-keymap
+                           "<mouse-2>" #'outline-hide-subtree)))
         (when (derived-mode-p 'special-mode)
           (let ((inhibit-read-only t))
             (insert "  ")
@@ -1025,12 +1107,18 @@ outline--insert-open-button
           (overlay-put o 'keymap
                        (define-keymap
                          "RET" #'outline-hide-subtree
-                         "<mouse-2>" #'outline-hide-subtree))))))
+                         "<mouse-2>" #'outline-hide-subtree)))))))
 
-(defun outline--insert-close-button ()
+(defun outline--insert-close-button (&optional margins-p)
   (with-silent-modifications
     (save-excursion
-        (beginning-of-line)
+      (beginning-of-line)
+      (if margins-p
+          (let ((o (outline--make-margin-overlay 'close)))
+            (overlay-put o 'help-echo "Click to show")
+            (overlay-put o 'keymap
+                         (define-keymap
+                           "<mouse-2>" #'outline-show-subtree)))
         (when (derived-mode-p 'special-mode)
           (let ((inhibit-read-only t))
             (insert "  ")
@@ -1040,23 +1128,25 @@ outline--insert-close-button
           (overlay-put o 'keymap
                        (define-keymap
                          "RET" #'outline-show-subtree
-                         "<mouse-2>" #'outline-show-subtree))))))
+                         "<mouse-2>" #'outline-show-subtree)))))))
 
 (defun outline--fix-up-all-buttons (&optional from to)
-  (when (outline--use-buttons-p)
-    (when from
-      (save-excursion
-        (goto-char from)
-        (setq from (line-beginning-position))))
-    (outline-map-region
-     (lambda ()
-       (if (save-excursion
-             (outline-end-of-heading)
-             (seq-some (lambda (o) (eq (overlay-get o 'invisible) 'outline))
-                       (overlays-at (point))))
-           (outline--insert-close-button)
-         (outline--insert-open-button)))
-     (or from (point-min)) (or to (point-max)))))
+  (let ((buttons-p (outline--use-buttons-p))
+        (margins-p (outline--use-margins-p)))
+    (when (or buttons-p margins-p)
+      (when from
+        (save-excursion
+          (goto-char from)
+          (setq from (line-beginning-position))))
+      (outline-map-region
+       (lambda ()
+         (if (save-excursion
+               (outline-end-of-heading)
+               (seq-some (lambda (o) (eq (overlay-get o 'invisible) 'outline))
+                         (overlays-at (point))))
+             (outline--insert-close-button margins-p)
+           (outline--insert-open-button margins-p)))
+       (or from (point-min)) (or to (point-max))))))
 
 (define-obsolete-function-alias 'hide-subtree #'outline-hide-subtree "25.1")
 

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 18 Sep 2022 19:12:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 18 15:12:37 2022
Received: from localhost ([127.0.0.1]:51329 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oZziW-0007PK-CL
	for submit <at> debbugs.gnu.org; Sun, 18 Sep 2022 15:12:36 -0400
Received: from relay8-d.mail.gandi.net ([217.70.183.201]:36923)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1oZziS-0007P1-V1
 for 57813 <at> debbugs.gnu.org; Sun, 18 Sep 2022 15:12:33 -0400
Received: (Authenticated sender: juri@HIDDEN)
 by mail.gandi.net (Postfix) with ESMTPSA id 998581BF204;
 Sun, 18 Sep 2022 19:12:24 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#57813: Icon images are non-functional
In-Reply-To: <83tu55z2vf.fsf@HIDDEN> (Eli Zaretskii's message of "Sun, 18 Sep
 2022 08:08:04 +0300")
Organization: LINKOV.NET
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
 <867d2476u4.fsf@HIDDEN> <831qsb6g69.fsf@HIDDEN>
 <86illnpzgh.fsf@HIDDEN> <86mtaxaj2l.fsf@HIDDEN>
 <83tu55z2vf.fsf@HIDDEN>
Date: Sun, 18 Sep 2022 21:46:07 +0300
Message-ID: <86mtawil7s.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 57813
Cc: 57813 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

>> Here is a preliminary patch, but using buffer-local left-margin-width
>> exhibits strange behavior: margins don't always appear immediately
>> after switching the buffer.
>
> Margins are specific to a window, not to a buffer.  See the
> description of set-window-margins in the ELisp manual, and the
> accompanying description of set-window-buffer there.

 -- Function: set-window-buffer window buffer-or-name &optional
          keep-margins
     ...
     By default, this function resets WINDOW’s position, display
     margins, fringe widths, and scroll bar settings, based on the local
     variables in the specified buffer.  However, if the optional
     argument KEEP-MARGINS is non-‘nil’, it leaves WINDOW’s display
     margins, fringes and scroll bar settings alone.

KEEP-MARGINS is nil by default, so buffer-local 'left-margin-width'
should work as described:

 -- Variable: left-margin-width
     This variable specifies the width of the left margin, in character
     cell (a.k.a. “column”) units.  It is buffer-local in all buffers.
     A value of ‘nil’ means no left marginal area.

And indeed, 'left-margin-width' works fine.  The only problem is
with 'C-h n' that doesn't show margins immediately, only after
switching to another buffer and back.  Then afterwards buffer-local
margins are kept in etc/NEWS as well.  It can be fixed by:

diff --git a/lisp/textmodes/emacs-news-mode.el b/lisp/textmodes/emacs-news-mode.el
index 88e8948060..9b99740290 100644
--- a/lisp/textmodes/emacs-news-mode.el
+++ b/lisp/textmodes/emacs-news-mode.el
@@ -80,6 +80,7 @@ emacs-news--mode-common
               outline-minor-mode-cycle t
               outline-minor-mode-highlight 'append)
   (outline-minor-mode)
+  (set-window-buffer nil (current-buffer))
   (emacs-etc--hide-local-variables))




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 18 Sep 2022 05:17:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 18 01:17:16 2022
Received: from localhost ([127.0.0.1]:47532 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oZmg8-00044E-0b
	for submit <at> debbugs.gnu.org; Sun, 18 Sep 2022 01:17:16 -0400
Received: from eggs.gnu.org ([209.51.188.92]:53232)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oZmg6-000440-6D
 for 57813 <at> debbugs.gnu.org; Sun, 18 Sep 2022 01:17:14 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:59864)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oZmg0-00026K-99; Sun, 18 Sep 2022 01:17:08 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=MMT+tN9ab8bETqViLmXMvLbOlsbz8YeZYHyy8QWCCF0=; b=iGZEbX8JEgP0
 pWAKObYCxWHltC4zNEadbcij5QJPcyL7HS+eAJkwW6A5p7y/ChxsVZl0sRyX9q3am1XSBNR3mvaQ9
 lpwmXDtavMorRVfDpV9I0wZrsWck01Wa0Lk+QmJ55z4ID0K4+nPmohlOXHNgGrhlQmGalhRIMIyHl
 AAClba4UbEOmBXMrW8SsF3PyrqOCWa9Zi3TeTVhVgHI/1ZlwpzL04Dbg9D48XLwNG1jZUSa22oF0U
 jD55VzNOQ1FfUGwNi6KG9MkiHLriU/YuE9wUe75/F+VYTCngRdTOGQ1nuH257mqYHQ/03BBNbThNl
 Pp0J0eByJBGcoYUMgswglw==;
Received: from [87.69.77.57] (port=1819 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oZmfz-0001bg-H5; Sun, 18 Sep 2022 01:17:07 -0400
Date: Sun, 18 Sep 2022 08:17:08 +0300
Message-Id: <83sfkpz2gb.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-Reply-To: <86mtaxaj2l.fsf@HIDDEN> (message from Juri Linkov on
 Sat, 17 Sep 2022 22:37:22 +0300)
Subject: Re: bug#57813: Icon images are non-functional
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
 <867d2476u4.fsf@HIDDEN> <831qsb6g69.fsf@HIDDEN>
 <86illnpzgh.fsf@HIDDEN> <86mtaxaj2l.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 57813
Cc: 57813 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 57813 <at> debbugs.gnu.org
> Date: Sat, 17 Sep 2022 22:37:22 +0300
> 
> Here is a preliminary patch

Thanks.  I only quickly read the patch, and have one comment: the
hard-coded left-margin should depend on the value returned by
current-bidi-paragraph-direction, because text that is displayed
right-to-left should have the icons on the right margin, not left
margin.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 18 Sep 2022 05:08:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 18 01:08:15 2022
Received: from localhost ([127.0.0.1]:47526 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oZmXP-0003oj-0Q
	for submit <at> debbugs.gnu.org; Sun, 18 Sep 2022 01:08:15 -0400
Received: from eggs.gnu.org ([209.51.188.92]:37602)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oZmXK-0003oU-Nm
 for 57813 <at> debbugs.gnu.org; Sun, 18 Sep 2022 01:08:13 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:52824)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oZmXF-0000zl-42; Sun, 18 Sep 2022 01:08:05 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=F83yF/y53lesz3J+O8fqpazBliYYoskXMbThsyYYqrI=; b=XLxcWeHB7rOi
 ef56SAGVbMRbwmdmuJwJBP5OzVE9dY6lHG/mmOCBd0MIm05D81NN8LJ/Ij4XYPqI/jJKezBinYKOF
 gkxMkHyNkcUrqpybMp1p/cK75md47fC6FHXKgD5k0irnMI7Za1RPyC94wLzcqdD3T7wW1kgBTPy4z
 iTB+6f49hP1vJCBxz56TB8Hri7Hv48OljhJvlKZ/4eqFWdF2/DGmKhE7sbpCYY4XF8rJtZ6Ygu1Ed
 OOj8eXjixs86wKikOugq+byo5kJcBsohaSglD1VW9v8q6hQdQh4YoDtL7/Zdkcz9T+Hf3I8sa0GQJ
 LzUTHchoqwQ6FRHITr23Gw==;
Received: from [87.69.77.57] (port=1267 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oZmXE-0000xV-HB; Sun, 18 Sep 2022 01:08:04 -0400
Date: Sun, 18 Sep 2022 08:08:04 +0300
Message-Id: <83tu55z2vf.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-Reply-To: <86mtaxaj2l.fsf@HIDDEN> (message from Juri Linkov on
 Sat, 17 Sep 2022 22:37:22 +0300)
Subject: Re: bug#57813: Icon images are non-functional
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
 <867d2476u4.fsf@HIDDEN> <831qsb6g69.fsf@HIDDEN>
 <86illnpzgh.fsf@HIDDEN> <86mtaxaj2l.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 57813
Cc: 57813 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 57813 <at> debbugs.gnu.org
> Date: Sat, 17 Sep 2022 22:37:22 +0300
> 
> Here is a preliminary patch, but using buffer-local left-margin-width
> exhibits strange behavior: margins don't always appear immediately
> after switching the buffer.

Margins are specific to a window, not to a buffer.  See the
description of set-window-margins in the ELisp manual, and the
accompanying description of set-window-buffer there.





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 17 Sep 2022 19:42:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Sep 17 15:42:56 2022
Received: from localhost ([127.0.0.1]:47222 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oZdiK-0002LC-8d
	for submit <at> debbugs.gnu.org; Sat, 17 Sep 2022 15:42:56 -0400
Received: from relay3-d.mail.gandi.net ([217.70.183.195]:44139)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1oZdiG-0002Kv-5T
 for 57813 <at> debbugs.gnu.org; Sat, 17 Sep 2022 15:42:54 -0400
Received: (Authenticated sender: juri@HIDDEN)
 by mail.gandi.net (Postfix) with ESMTPSA id AC56860003;
 Sat, 17 Sep 2022 19:42:44 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#57813: Icon images are non-functional
In-Reply-To: <86illnpzgh.fsf@HIDDEN> (Juri Linkov's message of "Fri, 
 16 Sep 2022 10:09:50 +0300")
Organization: LINKOV.NET
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
 <867d2476u4.fsf@HIDDEN> <831qsb6g69.fsf@HIDDEN>
 <86illnpzgh.fsf@HIDDEN>
Date: Sat, 17 Sep 2022 22:37:22 +0300
Message-ID: <86mtaxaj2l.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 57813
Cc: 57813 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

--=-=-=
Content-Type: text/plain

> Next I could try to add an option to display these outline images in
> margins.

Here is a preliminary patch, but using buffer-local left-margin-width
exhibits strange behavior: margins don't always appear immediately
after switching the buffer.


--=-=-=
Content-Type: image/png
Content-Disposition: inline; filename=outline-minor-mode-use-margins.png
Content-Transfer-Encoding: base64

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
--=-=-=
Content-Type: text/x-diff
Content-Disposition: inline; filename=outline-minor-mode-use-margins.patch

diff --git a/lisp/outline.el b/lisp/outline.el
index 25ef1616b9..3b8e68bfe1 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -292,6 +292,16 @@ outline-minor-mode-use-buttons
   :safe #'booleanp
   :version "29.1")
 
+(defcustom outline-minor-mode-use-margins '(derived-mode . special-mode)
+  "Whether to display clickable buttons on the margins.
+The value should be a `buffer-match-p' condition.
+
+These buttons can be used to hide and show the body under the heading.
+Note that this feature is meant to be used in editing buffers."
+  :type 'buffer-predicate
+  :safe #'booleanp
+  :version "29.1")
+
 (define-icon outline-open nil
   '((image "outline-open.svg" "outline-open.pbm"
            :height 15 :ascent center)
@@ -437,8 +447,10 @@ outline-minor-mode-highlight-buffer
                     (and (eq outline-minor-mode-highlight t)
                          (not (get-text-property (match-beginning 0) 'face))))
             (overlay-put overlay 'face (outline-font-lock-face)))
-          (when (outline--use-buttons-p)
-            (outline--insert-open-button)))
+          (cond ((outline--use-margins-p)
+                 (outline--insert-open-button t))
+                ((outline--use-buttons-p)
+                 (outline--insert-open-button))))
         (goto-char (match-end 0))))))
 
 ;;;###autoload
@@ -453,6 +465,9 @@ outline-minor-mode
             (key-description outline-minor-mode-prefix) outline-mode-prefix-map)
   (if outline-minor-mode
       (progn
+        (when (outline--use-margins-p)
+          (setq-local left-margin-width (1+ left-margin-width))
+          (setq-local fringes-outside-margins t))
         (when outline-minor-mode-highlight
           (if (and global-font-lock-mode (font-lock-specified-p major-mode))
               (progn
@@ -473,6 +488,9 @@ outline-minor-mode
           (font-lock-remove-keywords nil outline-font-lock-keywords))
       (remove-overlays nil nil 'outline-overlay t)
       (font-lock-flush))
+    (when (outline--use-margins-p)
+      (setq-local left-margin-width (1- left-margin-width))
+      (setq-local fringes-outside-margins nil))
     (setq line-move-ignore-invisible nil)
     ;; Cause use of ellipses for invisible text.
     (remove-from-invisibility-spec '(outline . t))
@@ -483,6 +501,10 @@ outline--use-buttons-p
   (and outline-minor-mode
        (buffer-match-p outline-minor-mode-use-buttons (current-buffer))))
 
+(defun outline--use-margins-p ()
+  (and outline-minor-mode
+       (buffer-match-p outline-minor-mode-use-margins (current-buffer))))
+
 (defvar-local outline-heading-alist ()
   "Alist associating a heading for every possible level.
 Each entry is of the form (HEADING . LEVEL).
@@ -1012,10 +1034,34 @@ outline--make-button-overlay
         (overlay-put o 'face (plist-get icon 'face))))
     o))
 
-(defun outline--insert-open-button ()
+(defun outline--make-margin-overlay (type)
+  (let ((o (seq-find (lambda (o)
+                       (overlay-get o 'outline-margin))
+                     (overlays-at (point)))))
+    (unless o
+      (setq o (make-overlay (point) (1+ (point))))
+      (overlay-put o 'follow-link 'mouse-face)
+      (overlay-put o 'mouse-face 'highlight)
+      (overlay-put o 'outline-margin t))
+    (let ((icon
+           (icon-elements (if (eq type 'close) 'outline-close 'outline-open)))
+          (inhibit-read-only t))
+      (overlay-put o 'before-string
+                   (propertize " " 'display `((margin left-margin)
+                                              ,(or (plist-get icon 'image)
+                                                   (plist-get icon 'string))))))
+    o))
+
+(defun outline--insert-open-button (&optional margins-p)
   (with-silent-modifications
     (save-excursion
-        (beginning-of-line)
+      (beginning-of-line)
+      (if margins-p
+          (let ((o (outline--make-margin-overlay 'open)))
+            (overlay-put o 'help-echo "Click to hide")
+            (overlay-put o 'keymap
+                         (define-keymap
+                           "<mouse-2>" #'outline-hide-subtree)))
         (when (derived-mode-p 'special-mode)
           (let ((inhibit-read-only t))
             (insert "  ")
@@ -1025,12 +1071,18 @@ outline--insert-open-button
           (overlay-put o 'keymap
                        (define-keymap
                          "RET" #'outline-hide-subtree
-                         "<mouse-2>" #'outline-hide-subtree))))))
+                         "<mouse-2>" #'outline-hide-subtree)))))))
 
-(defun outline--insert-close-button ()
+(defun outline--insert-close-button (&optional margins-p)
   (with-silent-modifications
     (save-excursion
-        (beginning-of-line)
+      (beginning-of-line)
+      (if margins-p
+          (let ((o (outline--make-margin-overlay 'close)))
+            (overlay-put o 'help-echo "Click to show")
+            (overlay-put o 'keymap
+                         (define-keymap
+                           "<mouse-2>" #'outline-show-subtree)))
         (when (derived-mode-p 'special-mode)
           (let ((inhibit-read-only t))
             (insert "  ")
@@ -1040,23 +1092,25 @@ outline--insert-close-button
           (overlay-put o 'keymap
                        (define-keymap
                          "RET" #'outline-show-subtree
-                         "<mouse-2>" #'outline-show-subtree))))))
+                         "<mouse-2>" #'outline-show-subtree)))))))
 
 (defun outline--fix-up-all-buttons (&optional from to)
-  (when (outline--use-buttons-p)
-    (when from
-      (save-excursion
-        (goto-char from)
-        (setq from (line-beginning-position))))
-    (outline-map-region
-     (lambda ()
-       (if (save-excursion
-             (outline-end-of-heading)
-             (seq-some (lambda (o) (eq (overlay-get o 'invisible) 'outline))
-                       (overlays-at (point))))
-           (outline--insert-close-button)
-         (outline--insert-open-button)))
-     (or from (point-min)) (or to (point-max)))))
+  (let ((buttons-p (outline--use-buttons-p))
+        (margins-p (outline--use-margins-p)))
+    (when (or buttons-p margins-p)
+      (when from
+        (save-excursion
+          (goto-char from)
+          (setq from (line-beginning-position))))
+      (outline-map-region
+       (lambda ()
+         (if (save-excursion
+               (outline-end-of-heading)
+               (seq-some (lambda (o) (eq (overlay-get o 'invisible) 'outline))
+                         (overlays-at (point))))
+             (outline--insert-close-button margins-p)
+           (outline--insert-open-button margins-p)))
+       (or from (point-min)) (or to (point-max))))))
 
 (define-obsolete-function-alias 'hide-subtree #'outline-hide-subtree "25.1")
 

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 16 Sep 2022 16:17:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 16 12:17:24 2022
Received: from localhost ([127.0.0.1]:44014 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oZE1s-0003j6-Hc
	for submit <at> debbugs.gnu.org; Fri, 16 Sep 2022 12:17:24 -0400
Received: from relay9-d.mail.gandi.net ([217.70.183.199]:41723)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1oZE1p-0003ir-5O
 for 57813 <at> debbugs.gnu.org; Fri, 16 Sep 2022 12:17:23 -0400
Received: (Authenticated sender: juri@HIDDEN)
 by mail.gandi.net (Postfix) with ESMTPSA id E9064FF803;
 Fri, 16 Sep 2022 16:17:13 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#57813: Icon images are non-functional
In-Reply-To: <86h718774f.fsf@HIDDEN> (Juri Linkov's message of "Thu, 
 15 Sep 2022 22:46:56 +0300")
Organization: LINKOV.NET
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
 <86sfks8uhn.fsf@HIDDEN> <83bkrgziil.fsf@HIDDEN>
 <86pmfw7d79.fsf@HIDDEN> <835yhozdwl.fsf@HIDDEN>
 <86h718774f.fsf@HIDDEN>
Date: Fri, 16 Sep 2022 19:16:55 +0300
Message-ID: <86illnguq0.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 57813
Cc: 57813 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

> The patch removes the problematic outline-back-to-heading and
> outline-end-of-subtree.

This is pushed as well.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 16 Sep 2022 07:10:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 16 03:10:58 2022
Received: from localhost ([127.0.0.1]:41365 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oZ5V4-0002qv-N5
	for submit <at> debbugs.gnu.org; Fri, 16 Sep 2022 03:10:58 -0400
Received: from relay11.mail.gandi.net ([217.70.178.231]:41563)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1oZ5V1-0002qU-64
 for 57813 <at> debbugs.gnu.org; Fri, 16 Sep 2022 03:10:56 -0400
Received: (Authenticated sender: juri@HIDDEN)
 by mail.gandi.net (Postfix) with ESMTPSA id 03FB8100009;
 Fri, 16 Sep 2022 07:10:45 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#57813: Icon images are non-functional
In-Reply-To: <831qsb6g69.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 16 Sep
 2022 08:29:02 +0300")
Organization: LINKOV.NET
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
 <867d2476u4.fsf@HIDDEN> <831qsb6g69.fsf@HIDDEN>
Date: Fri, 16 Sep 2022 10:09:50 +0300
Message-ID: <86illnpzgh.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 57813
Cc: 57813 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

>> Since now images can be displayed in outlines,
>> here is a patch that adds nice images to outlines
>> that look like this:
>
> Thanks, LGTM.

So now pushed to master.  Next I could try to add an option
to display these outline images in margins.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 16 Sep 2022 05:29:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 16 01:29:24 2022
Received: from localhost ([127.0.0.1]:41212 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oZ3um-00009O-9r
	for submit <at> debbugs.gnu.org; Fri, 16 Sep 2022 01:29:24 -0400
Received: from eggs.gnu.org ([209.51.188.92]:41160)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oZ3uh-000098-0Y
 for 57813 <at> debbugs.gnu.org; Fri, 16 Sep 2022 01:29:21 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:47024)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oZ3ub-0005d0-1u; Fri, 16 Sep 2022 01:29:13 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=RA+j15hl8wJuzygsVmvyRW6PK760jIPLO691IkAMDsI=; b=CZozB47rAuYu
 iFJ8EVUPTi+V4u5lrTob9WJg4Jiubd/LVCzeHv7nheLtRqxNZegKUQCpT8ZV+bgi+wTFL0XgBugSM
 ANMOLYZ2Fh/3NUz+5SmvJ0GoxQIAZstRQtSJwy7kvSoF2c1wMosIo4Hgfgdk1O8fdHGAmlU5gT5+R
 IEY15x1wrfHkknqTbcIGXaHbivbs5aexInDPL6Z+mtpvfVdL2R0ykLib05NWYLT/KLRwnZFuTQMj2
 sIK1+VYNiMgMO6lhK8hi4jQpwt/gvejeEyxpiHgTFp0gFel3WPxXyoj/mGn7KJ7qwWTFpjEbwK9ee
 rPQbPyQrbWh222sJThubtw==;
Received: from [87.69.77.57] (port=4699 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oZ3uY-0005oc-2T; Fri, 16 Sep 2022 01:29:12 -0400
Date: Fri, 16 Sep 2022 08:29:02 +0300
Message-Id: <831qsb6g69.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-Reply-To: <867d2476u4.fsf@HIDDEN> (message from Juri Linkov on
 Thu, 15 Sep 2022 22:53:07 +0300)
Subject: Re: bug#57813: Icon images are non-functional
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
 <867d2476u4.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 57813
Cc: 57813 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Date: Thu, 15 Sep 2022 22:53:07 +0300
> 
> Since now images can be displayed in outlines,
> here is a patch that adds nice images to outlines
> that look like this:

Thanks, LGTM.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 15 Sep 2022 20:04:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 15 16:04:23 2022
Received: from localhost ([127.0.0.1]:59260 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oYv5z-00041j-Do
	for submit <at> debbugs.gnu.org; Thu, 15 Sep 2022 16:04:23 -0400
Received: from relay1-d.mail.gandi.net ([217.70.183.193]:39841)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1oYv5x-00041U-DX
 for 57813 <at> debbugs.gnu.org; Thu, 15 Sep 2022 16:04:21 -0400
Received: (Authenticated sender: juri@HIDDEN)
 by mail.gandi.net (Postfix) with ESMTPSA id EAAF7240002
 for <57813 <at> debbugs.gnu.org>; Thu, 15 Sep 2022 20:04:13 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: 57813 <at> debbugs.gnu.org
Subject: Re: bug#57813: Icon images are non-functional
In-Reply-To: <861qsca9cn.fsf@HIDDEN> (Juri Linkov's message of "Thu, 
 15 Sep 2022 19:30:32 +0300")
Organization: LINKOV.NET
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
Date: Thu, 15 Sep 2022 22:53:07 +0300
Message-ID: <867d2476u4.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Debbugs-Envelope-To: 57813
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>

--=-=-=
Content-Type: text/plain

> Fixed now in 471414fe6b.

Since now images can be displayed in outlines,
here is a patch that adds nice images to outlines
that look like this:


--=-=-=
Content-Type: image/png
Content-Disposition: inline; filename=outlines.png
Content-Transfer-Encoding: base64

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
VegAAAAASUVORK5CYII=
--=-=-=
Content-Type: text/x-diff; charset=utf-8
Content-Disposition: inline; filename=outline-svg.patch
Content-Transfer-Encoding: 8bit

diff --git a/etc/images/outline-close.svg b/etc/images/outline-close.svg
new file mode 100644
index 0000000000..ea9157a5fb
--- /dev/null
+++ b/etc/images/outline-close.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+<title>outline-close</title>
+<g transform="rotate(-90, 10, 10)">
+<path d="m17.5 4.75-7.5 7.5-7.5-7.5L1 6.25l9 9 9-9z"/>
+</g>
+</svg>
diff --git a/etc/images/outline-open.svg b/etc/images/outline-open.svg
new file mode 100644
index 0000000000..75cf6aff9f
--- /dev/null
+++ b/etc/images/outline-open.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+<title>outline-open</title>
+<path d="m17.5 4.75-7.5 7.5-7.5-7.5L1 6.25l9 9 9-9z"/>
+</svg>
diff --git a/lisp/emacs-lisp/icons.el b/lisp/emacs-lisp/icons.el
index 93749a3451..ff4f20c207 100644
--- a/lisp/emacs-lisp/icons.el
+++ b/lisp/emacs-lisp/icons.el
@@ -202,7 +202,7 @@ icons--create
                             :height (if (eq height 'line)
                                         (window-default-line-height)
                                       height)
-                            :scale 1)
+                            :scale 1 :ascent 'center)
             (create-image file))))))
 
 (cl-defmethod icons--create ((_type (eql 'emoji)) icon _keywords)
diff --git a/lisp/outline.el b/lisp/outline.el
index b19e0cf811..364c3bee84 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -292,16 +295,18 @@ outline-minor-mode-use-buttons
   :safe #'booleanp
   :version "29.1")
 
-(define-icon outline-open button
-  '((emoji "🔽")
+(define-icon outline-open nil
+  '((image "outline-open.svg" :height 15 :ascent center)
+    (emoji "🔽")
     (symbol " ▼ ")
     (text " open "))
   "Icon used for buttons for opening a section in outline buffers."
   :version "29.1"
   :help-echo "Open this section")
 
-(define-icon outline-close button
-  '((emoji "▶️")
+(define-icon outline-close nil
+  '((image "outline-close.svg" :height 15 :ascent center)
+    (emoji "▶️")
     (symbol " ▶ ")
     (text " close "))
   "Icon used for buttons for closing a section in outline buffers."

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 15 Sep 2022 19:48:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 15 15:48:47 2022
Received: from localhost ([127.0.0.1]:59223 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oYuqt-0003bb-2B
	for submit <at> debbugs.gnu.org; Thu, 15 Sep 2022 15:48:47 -0400
Received: from relay8-d.mail.gandi.net ([217.70.183.201]:49679)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1oYuqp-0003bK-Cq
 for 57813 <at> debbugs.gnu.org; Thu, 15 Sep 2022 15:48:45 -0400
Received: (Authenticated sender: juri@HIDDEN)
 by mail.gandi.net (Postfix) with ESMTPSA id CAE851BF209;
 Thu, 15 Sep 2022 19:48:33 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#57813: Icon images are non-functional
In-Reply-To: <835yhozdwl.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 15 Sep
 2022 21:32:58 +0300")
Organization: LINKOV.NET
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
 <86sfks8uhn.fsf@HIDDEN> <83bkrgziil.fsf@HIDDEN>
 <86pmfw7d79.fsf@HIDDEN> <835yhozdwl.fsf@HIDDEN>
Date: Thu, 15 Sep 2022 22:46:56 +0300
Message-ID: <86h718774f.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 57813
Cc: 57813 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

>>   With something like:
>>
>>   (setq outline-minor-mode-use-buttons '(derived-mode . special-mode))
>
> I still cannot reproduce this, after evaluating the above and visiting
> NEWS.  Neither do I see buttons in NEWS.  What else is needed?  Can
> you show a recipe starting from "emacs -Q"?

1. Eval: (setq outline-minor-mode-use-buttons '(derived-mode . special-mode))
2. Type 'C-h n'.
3. 'S-TAB' on a heading.

> And if you load outline.el (not .elc or .eln)?  How does the profile
> before optimization look then?

        5236  87% - command-execute
        5178  86%  - funcall-interactively
        5166  86%   - outline-cycle-buffer
        5166  86%    - let
        5166  86%     - outline--fix-up-all-buttons
        5166  86%      - if
        5166  86%       - progn
        5166  86%        - outline-map-region
        5166  86%         - save-excursion
        5166  86%          - if
        5166  86%           - progn
        5162  86%            - while
        5150  86%             - funcall
        5150  86%              - #<lambda 0x1c5f63c054af8dba>
        5150  86%               - if
        5142  86%                - eq
        5142  86%                 - condition-case
        5142  86%                  - progn
        5142  86%                   - outline--cycle-state
        5138  86%                    - save-excursion
        5138  86%                     - let
        3718  62%                      + outline-back-to-heading
         824  13%                      + outline-end-of-subtree
         314   5%                      + cond
         274   4%                      + setq
           8   0%                      + outline-end-of-heading

The patch removes the problematic outline-back-to-heading and
outline-end-of-subtree.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 15 Sep 2022 18:33:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 15 14:33:15 2022
Received: from localhost ([127.0.0.1]:59161 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oYtfm-0001gQ-NH
	for submit <at> debbugs.gnu.org; Thu, 15 Sep 2022 14:33:15 -0400
Received: from eggs.gnu.org ([209.51.188.92]:54082)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oYtfj-0001gC-Uh
 for 57813 <at> debbugs.gnu.org; Thu, 15 Sep 2022 14:33:12 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:39392)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oYtfe-0008Jg-6y; Thu, 15 Sep 2022 14:33:06 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=Vs8wic76VNppM76KeLp8nej2MN8VASrHxsvJXrEnOEA=; b=aX+tJaMcmnpX
 JK1RmKSCwT6MlXGTc2YVD0YrFYQpGvZTX9WHQbx3vWZKy2eksxxjeGK94uu/kik1kFjRicwqxQVtD
 HodhT11DZDwUWshW4Nn3s41xKRE7J+LnN6maKmGjkB7ELKI0jSXOZNT1sVscdGBsjqWjHfSqJlduJ
 xxhIp8Tmt0ewfR4Ian/KyHtZs5/UYzOWlQWxBAEH94RijtNIr8rKqZpFkSP9iRQSh2FeFoiRSfRi1
 lTxb7IqWccgvFIwLmqOqCmCTJ87+hip1OVXODHE+iJdzkFoYYWWWefqnNO1h76DK1oWYDHd5Orbrr
 8ONaFYYbpZbjFLPwkjJ4gw==;
Received: from [87.69.77.57] (port=1933 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oYtfd-0007y9-KV; Thu, 15 Sep 2022 14:33:05 -0400
Date: Thu, 15 Sep 2022 21:32:58 +0300
Message-Id: <835yhozdwl.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-Reply-To: <86pmfw7d79.fsf@HIDDEN> (message from Juri Linkov on
 Thu, 15 Sep 2022 20:35:38 +0300)
Subject: Re: bug#57813: Icon images are non-functional
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
 <86sfks8uhn.fsf@HIDDEN> <83bkrgziil.fsf@HIDDEN>
 <86pmfw7d79.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 57813
Cc: 57813 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 57813 <at> debbugs.gnu.org
> Date: Thu, 15 Sep 2022 20:35:38 +0300
> 
> >> S-TAB is so slow that it takes several seconds on etc/NEWS.
> >
> > Please profile it and post the profile.  For me, S-TAB is
> > instantaneous in NEWS, even though my Emacs is built without
> > optimizations.  So I wonder what takes it several seconds in your
> > case.
> 
> Maybe you didn't enable buttons?

Maybe you didn't tell I should?

>   With something like:
> 
>   (setq outline-minor-mode-use-buttons '(derived-mode . special-mode))

I still cannot reproduce this, after evaluating the above and visiting
NEWS.  Neither do I see buttons in NEWS.  What else is needed?  Can
you show a recipe starting from "emacs -Q"?

> This is before optimization:
> 
>         1995  89% - command-execute
>         1959  87%  - funcall-interactively
>         1946  86%   - outline-cycle-buffer
>         1379  61%    - outline-hide-sublevels
>         1375  61%     - outline-flag-region
>         1375  61%      - outline--fix-up-all-buttons
>         1371  61%       - outline-map-region
>         1371  61%        - #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_27>
>         1339  59%         - outline--cycle-state
>           43   1%          + outline-end-of-subtree

And if you load outline.el (not .elc or .eln)?  How does the profile
before optimization look then?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 15 Sep 2022 17:38:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 15 13:38:07 2022
Received: from localhost ([127.0.0.1]:59126 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oYsoR-0000EQ-Bs
	for submit <at> debbugs.gnu.org; Thu, 15 Sep 2022 13:38:07 -0400
Received: from relay6-d.mail.gandi.net ([217.70.183.198]:34175)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1oYsoM-0000DZ-Ui
 for 57813 <at> debbugs.gnu.org; Thu, 15 Sep 2022 13:38:06 -0400
Received: (Authenticated sender: juri@HIDDEN)
 by mail.gandi.net (Postfix) with ESMTPSA id EDBE1C0005;
 Thu, 15 Sep 2022 17:37:53 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#57813: Icon images are non-functional
In-Reply-To: <83bkrgziil.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 15 Sep
 2022 19:53:22 +0300")
Organization: LINKOV.NET
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
 <86sfks8uhn.fsf@HIDDEN> <83bkrgziil.fsf@HIDDEN>
Date: Thu, 15 Sep 2022 20:35:38 +0300
Message-ID: <86pmfw7d79.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 57813
Cc: 57813 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

>> S-TAB is so slow that it takes several seconds on etc/NEWS.
>
> Please profile it and post the profile.  For me, S-TAB is
> instantaneous in NEWS, even though my Emacs is built without
> optimizations.  So I wonder what takes it several seconds in your
> case.

Maybe you didn't enable buttons?  With something like:

  (setq outline-minor-mode-use-buttons '(derived-mode . special-mode))

This is before optimization:

        1995  89% - command-execute
        1959  87%  - funcall-interactively
        1946  86%   - outline-cycle-buffer
        1379  61%    - outline-hide-sublevels
        1375  61%     - outline-flag-region
        1375  61%      - outline--fix-up-all-buttons
        1371  61%       - outline-map-region
        1371  61%        - #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_27>
        1339  59%         - outline--cycle-state
          43   1%          + outline-end-of-subtree
          20   0%          + seq-filter
           4   0%            outline-back-to-heading
          20   0%         + outline--insert-close-button
           4   0%     + outline-map-region
         567  25%    - outline--fix-up-all-buttons
         567  25%     - outline-map-region
         563  25%      - #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_27>
         511  22%       - outline--cycle-state
         260  11%        + outline-end-of-subtree
          20   0%        + seq-filter
           4   0%          outline-back-to-heading
          16   0%       + outline--insert-close-button

This is after optimization that removed 'outline--cycle-state':

         287  82% - command-execute
         229  65%  - funcall-interactively
         216  61%   - outline-cycle-buffer
         108  30%    - outline-hide-sublevels
         104  29%     - outline-flag-region
         104  29%      - outline--fix-up-all-buttons
         104  29%       - outline-map-region
          92  26%        - #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_28>
          80  22%         - outline--insert-close-button
          64  18%          - outline--make-button-overlay
          56  16%           + icon-elements
           8   2%           + seq-find
          12   3%          + define-keymap
           4   1%     + outline-map-region
         108  30%    - outline--fix-up-all-buttons
         108  30%     - outline-map-region
         104  29%      - #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_28>
          88  25%       - outline--insert-close-button
          60  17%        - outline--make-button-overlay
          60  17%         + icon-elements
          20   5%        + define-keymap




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 15 Sep 2022 16:53:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 15 12:53:40 2022
Received: from localhost ([127.0.0.1]:59079 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oYs7Q-0007Yb-JM
	for submit <at> debbugs.gnu.org; Thu, 15 Sep 2022 12:53:40 -0400
Received: from eggs.gnu.org ([209.51.188.92]:50946)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oYs7M-0007YK-Vt
 for 57813 <at> debbugs.gnu.org; Thu, 15 Sep 2022 12:53:38 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:44150)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oYs7H-0006zz-Nf; Thu, 15 Sep 2022 12:53:31 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=TcrPH0D0XU5W3VOnZ4t2JEZ9+AZV6c6GNxy2/ALrvSI=; b=Axj3VKvWIBKI
 6AtnPEEkAcBa3cQn/KTldHUnzZaNVMC1dQ4gjw86oMK4ekHt548pz5GxPKBl9B2XSjjDngM4CyK7L
 04uAHi+QXTUHtkHdTkStsETKN+sbk6xyCUrqJQfayeI9Vt3SdVoRH8/OZamy5NKlTeQzgoACyBhDy
 ibc31EKL+ySn8Pxgc0PKKH6OmUengmEVtn2PTcRm7jGJzLLqAIs1q4N5DyJSbLnrfkZJxJjmwhwDd
 UfRYFPmXfOzDxG+i2FhmNCH418xNLVlkibe3sz44kc7lYki5CDht1L5tJxON9h7tCCQGSWN/zQe0S
 8REtLvcox76oefibCgIw8g==;
Received: from [87.69.77.57] (port=3822 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oYs7F-0004ny-UQ; Thu, 15 Sep 2022 12:53:31 -0400
Date: Thu, 15 Sep 2022 19:53:22 +0300
Message-Id: <83bkrgziil.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-Reply-To: <86sfks8uhn.fsf@HIDDEN> (message from Juri Linkov on
 Thu, 15 Sep 2022 19:36:52 +0300)
Subject: Re: bug#57813: Icon images are non-functional
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
 <86sfks8uhn.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 57813
Cc: 57813 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Date: Thu, 15 Sep 2022 19:36:52 +0300
> 
> S-TAB is so slow that it takes several seconds on etc/NEWS.

Please profile it and post the profile.  For me, S-TAB is
instantaneous in NEWS, even though my Emacs is built without
optimizations.  So I wonder what takes it several seconds in your
case.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 15 Sep 2022 16:38:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 15 12:38:31 2022
Received: from localhost ([127.0.0.1]:59046 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oYrsk-00078m-MJ
	for submit <at> debbugs.gnu.org; Thu, 15 Sep 2022 12:38:30 -0400
Received: from relay4-d.mail.gandi.net ([217.70.183.196]:38529)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1oYrsi-00078X-1c
 for 57813 <at> debbugs.gnu.org; Thu, 15 Sep 2022 12:38:29 -0400
Received: (Authenticated sender: juri@HIDDEN)
 by mail.gandi.net (Postfix) with ESMTPSA id 0F062E000C
 for <57813 <at> debbugs.gnu.org>; Thu, 15 Sep 2022 16:38:18 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: 57813 <at> debbugs.gnu.org
Subject: Re: bug#57813: Icon images are non-functional
In-Reply-To: <861qsca9cn.fsf@HIDDEN> (Juri Linkov's message of "Thu, 
 15 Sep 2022 19:30:32 +0300")
Organization: LINKOV.NET
References: <86pmfxlp7s.fsf@HIDDEN> <861qsca9cn.fsf@HIDDEN>
Date: Thu, 15 Sep 2022 19:36:52 +0300
Message-ID: <86sfks8uhn.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 57813
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

--=-=-=
Content-Type: text/plain

>> So I tried this with 'C-h b', but images are displayed as black boxes.
>>
>> PS: "right.svg" exists in etc/images/right.svg.
>
> Fixed now in 471414fe6b.

S-TAB is so slow that it takes several seconds on etc/NEWS.
Here is an attempt to optimize it, so that it's almost
instantaneous:


--=-=-=
Content-Type: text/x-diff
Content-Disposition: inline; filename=outline--fix-up-all-buttons.patch

diff --git a/lisp/outline.el b/lisp/outline.el
index b19e0cf811..ff6eebcd1b 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -982,8 +989,6 @@ outline-hide-subtree
   (interactive (list last-nonmenu-event))
   (when (mouse-event-p event)
     (mouse-set-point event))
-  (when (outline--use-buttons-p)
-    (outline--insert-close-button))
   (outline-flag-subtree t))
 
 (defun outline--make-button-overlay (type)
@@ -1051,9 +1056,12 @@ outline--fix-up-all-buttons
        ;; `outline--cycle-state' will fail if we're in a totally
        ;; collapsed buffer -- but in that case, we're not in a
        ;; `show-all' situation.
-       (if (eq (ignore-errors (outline--cycle-state)) 'show-all)
-           (outline--insert-open-button)
-         (outline--insert-close-button)))
+       (if (save-excursion
+             (outline-end-of-heading)
+             (seq-some (lambda (o) (eq (overlay-get o 'invisible) 'outline))
+                       (overlays-at (point))))
+           (outline--insert-close-button)
+         (outline--insert-open-button)))
      (or from (point-min)) (or to (point-max)))))
 
 (define-obsolete-function-alias 'hide-subtree #'outline-hide-subtree "25.1")
@@ -1076,8 +1084,6 @@ outline-show-subtree
   (interactive (list last-nonmenu-event))
   (when (mouse-event-p event)
     (mouse-set-point event))
-  (when (outline--use-buttons-p)
-    (outline--insert-open-button))
   (outline-flag-subtree nil))
 
 (define-obsolete-function-alias 'show-subtree #'outline-show-subtree "25.1")

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at 57813 <at> debbugs.gnu.org:


Received: (at 57813) by debbugs.gnu.org; 15 Sep 2022 16:32:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 15 12:32:30 2022
Received: from localhost ([127.0.0.1]:59030 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oYrmv-0006zT-R3
	for submit <at> debbugs.gnu.org; Thu, 15 Sep 2022 12:32:30 -0400
Received: from relay2-d.mail.gandi.net ([217.70.183.194]:41887)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1oYrmt-0006z3-Ck
 for 57813 <at> debbugs.gnu.org; Thu, 15 Sep 2022 12:32:28 -0400
Received: (Authenticated sender: juri@HIDDEN)
 by mail.gandi.net (Postfix) with ESMTPSA id 7A80540010
 for <57813 <at> debbugs.gnu.org>; Thu, 15 Sep 2022 16:32:20 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: 57813 <at> debbugs.gnu.org
Subject: Re: bug#57813: Icon images are non-functional
In-Reply-To: <86pmfxlp7s.fsf@HIDDEN> (Juri Linkov's message of "Wed, 
 14 Sep 2022 22:40:07 +0300")
Organization: LINKOV.NET
References: <86pmfxlp7s.fsf@HIDDEN>
Date: Thu, 15 Sep 2022 19:30:32 +0300
Message-ID: <861qsca9cn.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 57813
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

> (info "(elisp) Icons") suggests to use:
>
>      (define-icon outline-open button
>        '((image "right.svg" "open.xpm" "open.pbm" :height line)
>          (emoji "▶️")
>          (symbol "▶" "➤")
>          (text "open" :face icon-button))
>        "Icon used for buttons for opening a section in outline buffers."
>        :version "29.1"
>        :help-echo "Open this section")
>
> So I tried this with 'C-h b', but images are displayed as black boxes.
>
> PS: "right.svg" exists in etc/images/right.svg.

Fixed now in 471414fe6b.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 14 Sep 2022 19:42:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 14 15:42:44 2022
Received: from localhost ([127.0.0.1]:56311 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oYYHU-0004Lm-JG
	for submit <at> debbugs.gnu.org; Wed, 14 Sep 2022 15:42:44 -0400
Received: from lists.gnu.org ([209.51.188.17]:49866)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1oYYHS-0004Le-3y
 for submit <at> debbugs.gnu.org; Wed, 14 Sep 2022 15:42:42 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:54630)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <juri@HIDDEN>) id 1oYYHR-0005A1-Sw
 for bug-gnu-emacs@HIDDEN; Wed, 14 Sep 2022 15:42:41 -0400
Received: from relay7-d.mail.gandi.net ([217.70.183.200]:58915)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <juri@HIDDEN>) id 1oYYHQ-0008Pn-4g
 for bug-gnu-emacs@HIDDEN; Wed, 14 Sep 2022 15:42:41 -0400
Received: (Authenticated sender: juri@HIDDEN)
 by mail.gandi.net (Postfix) with ESMTPSA id 707E820003
 for <bug-gnu-emacs@HIDDEN>; Wed, 14 Sep 2022 19:42:37 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: Icon images are non-functional
Organization: LINKOV.NET
Date: Wed, 14 Sep 2022 22:40:07 +0300
Message-ID: <86pmfxlp7s.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Received-SPF: pass client-ip=217.70.183.200; envelope-from=juri@HIDDEN;
 helo=relay7-d.mail.gandi.net
X-Spam_score_int: -25
X-Spam_score: -2.6
X-Spam_bar: --
X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.7 (-)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.7 (--)

(info "(elisp) Icons") suggests to use:

     (define-icon outline-open button
       '((image "right.svg" "open.xpm" "open.pbm" :height line)
         (emoji "▶️")
         (symbol "▶" "➤")
         (text "open" :face icon-button))
       "Icon used for buttons for opening a section in outline buffers."
       :version "29.1"
       :help-echo "Open this section")

So I tried this with 'C-h b', but images are displayed as black boxes.

PS: "right.svg" exists in etc/images/right.svg.




Acknowledgement sent to Juri Linkov <juri@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#57813; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Fri, 23 Sep 2022 16:30:03 UTC

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