GNU bug report logs - #42521
28.0.50; Can't include an image in a display string

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; Severity: wishlist; Reported by: Dmitry Gutov <dgutov@HIDDEN>; dated Fri, 24 Jul 2020 19:41:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
Severity set to 'wishlist' from 'normal' Request was from Eli Zaretskii <eliz@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at 42521) by debbugs.gnu.org; 25 Jul 2020 05:55:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jul 25 01:55:15 2020
Received: from localhost ([127.0.0.1]:49180 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jzD9O-0001go-T6
	for submit <at> debbugs.gnu.org; Sat, 25 Jul 2020 01:55:15 -0400
Received: from eggs.gnu.org ([209.51.188.92]:55536)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>)
 id 1jzD9M-0001gR-30; Sat, 25 Jul 2020 01:55:13 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:40553)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1jzD9G-0006AF-KB; Sat, 25 Jul 2020 01:55:06 -0400
Received: from [176.228.60.248] (port=1486 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1jzD9C-0000DK-Li; Sat, 25 Jul 2020 01:55:03 -0400
Date: Sat, 25 Jul 2020 08:54:48 +0300
Message-Id: <83blk4dtqv.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Dmitry Gutov <dgutov@HIDDEN>
In-Reply-To: <0ee06a27-b6e9-e381-64e4-51806c403509@HIDDEN> (message from
 Dmitry Gutov on Fri, 24 Jul 2020 22:40:02 +0300)
Subject: Re: bug#42521: 28.0.50; Can't include an image in a display string
References: <0ee06a27-b6e9-e381-64e4-51806c403509@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 42521
Cc: 42521 <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 (---)

severity 42521 wishlist
thanks

> From: Dmitry Gutov <dgutov@HIDDEN>
> Date: Fri, 24 Jul 2020 22:40:02 +0300
> 
> (progn
>    (erase-buffer)
>    (insert " ")
>    (setq o (make-overlay (point-min) (point)))
>    (overlay-put o 'display
>                 (concat (propertize " " 'display
>                                     (create-image "splash.svg" nil nil 
> :max-height
>                                                   (default-font-height)))
>                         " text after image")))
> 
> The script above will end with a blank space instead of an image being 
> displayed.

This is a documented limitation of the current design and
implementation of the 'display' property.  The ELisp manual says:

  ‘STRING’
       Display STRING instead of the text that has this property.

       Recursive display specifications are not supported—STRING’s
       ‘display’ properties, if any, are not used.

I never looked into lifting this restriction, so I don't know what
would that entail.  There are probably some complications with faces,
at least.  If someone wants to study the issue, that'd be welcome, I
think.




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

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


Received: (at submit) by debbugs.gnu.org; 24 Jul 2020 19:40:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jul 24 15:40:14 2020
Received: from localhost ([127.0.0.1]:48774 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jz3YD-0004yp-N2
	for submit <at> debbugs.gnu.org; Fri, 24 Jul 2020 15:40:13 -0400
Received: from lists.gnu.org ([209.51.188.17]:54998)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raaahh@HIDDEN>) id 1jz3YA-0004yg-CU
 for submit <at> debbugs.gnu.org; Fri, 24 Jul 2020 15:40:13 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:39750)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <raaahh@HIDDEN>) id 1jz3YA-00050D-5L
 for bug-gnu-emacs@HIDDEN; Fri, 24 Jul 2020 15:40:10 -0400
Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]:50816)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <raaahh@HIDDEN>) id 1jz3Y7-0003jQ-Dx
 for bug-gnu-emacs@HIDDEN; Fri, 24 Jul 2020 15:40:09 -0400
Received: by mail-wm1-x32a.google.com with SMTP id c80so8890705wme.0
 for <bug-gnu-emacs@HIDDEN>; Fri, 24 Jul 2020 12:40:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=sender:to:subject:from:message-id:date:user-agent:mime-version
 :content-language:content-transfer-encoding;
 bh=hs80iRjASgnIi7v86INh9x4CFsw+7IVFPVQ0dNSEPwU=;
 b=uwDt4fEE3Gyjysp/GC2ma2LqYL5/M08yCqB2dTokf8YpByEiV9qR5zugJyd1rGuhSG
 FcKOnf3YOalAleIIg9bXXCggD9Y5KGyK6Dzjo/Pmn8nvvi0SYs+8pmv8wSfwcCZCYyWY
 e+LZmKd25hdAKpBWLpRwOfp7308mYCm9DK++XT9/yrlPWw9Nl+bY5s92RwlOiNLjKOtU
 QoMFEI2VUG5xh0MKoAc48SHhvevL6R0bLdfC5RAdELf/LMmROassB5zu0qdqu2Ye8ioK
 MgmyfTt0NlyciH2kuRmcbfKxDuF+4u4DBzZqCtKI094oTUSyBSYaVnnjcOX9NG0v/amL
 LBzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:sender:to:subject:from:message-id:date
 :user-agent:mime-version:content-language:content-transfer-encoding;
 bh=hs80iRjASgnIi7v86INh9x4CFsw+7IVFPVQ0dNSEPwU=;
 b=GWn+nK5hmOFmnl12XfDYq82PqzUiuYWX4xDmpOxPMuVPVVwj3ZsymVA1GMlEa8sdbP
 +13f5furlkFDvnsMSZOhjRuKLgC93mDVKnaFzKCCnwS2+Qxo5AGFzoYwQaVXo5PuQqNF
 U7+Z1EolOTx6Iguxaq4rj/VXhPxefU69EycR336ZCZmpHiCXYBNZp5G2b4lh1ywIHXFz
 BSBQGgnc9bqfVS+gWCjho+9WYhaS0nPrYfAVtTpcfa8+Oy1p431fMQsuv4dV0CJ9CwwV
 l2oglKulBJk4B78+UJWFUhNEmvv6PtPd80S7nBB3I+iaGz6c6ptYos0YoYQyiQojNP0s
 ygbg==
X-Gm-Message-State: AOAM533rVdG5gsqesQ+2eBVPIEkWNQRZn/08t//lqcdq5ol1ECDKKvY3
 rDfym03mqDDx0rCYVLaA5MUxbjIL
X-Google-Smtp-Source: ABdhPJz1xujQ5kRYA2qmKKDJlimWtkhPEvdPgM/7nnuxs7EWrWgn1bOeXaAHjvfZ2hLuTPJ8M+W60g==
X-Received: by 2002:a05:600c:2949:: with SMTP id
 n9mr9905108wmd.69.1595619605160; 
 Fri, 24 Jul 2020 12:40:05 -0700 (PDT)
Received: from [192.168.0.3] ([66.205.73.129])
 by smtp.googlemail.com with ESMTPSA id j6sm2519023wro.25.2020.07.24.12.40.03
 for <bug-gnu-emacs@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Jul 2020 12:40:04 -0700 (PDT)
To: bug-gnu-emacs@HIDDEN
Subject: 28.0.50; Can't include an image in a display string
From: Dmitry Gutov <dgutov@HIDDEN>
Message-ID: <0ee06a27-b6e9-e381-64e4-51806c403509@HIDDEN>
Date: Fri, 24 Jul 2020 22:40:02 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Received-SPF: pass client-ip=2a00:1450:4864:20::32a;
 envelope-from=raaahh@HIDDEN; helo=mail-wm1-x32a.google.com
X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache.
 That's all we know.
X-Spam_score_int: 0
X-Spam_score: 0.0
X-Spam_bar: /
X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
 DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001,
 HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 URIBL_BLOCKED=0.001 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -0.3 (/)
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.2 (--)

(progn
   (erase-buffer)
   (insert " ")
   (setq o (make-overlay (point-min) (point)))
   (overlay-put o 'display
                (concat (propertize " " 'display
                                    (create-image "splash.svg" nil nil 
:max-height
                                                  (default-font-height)))
                        " text after image")))

The script above will end with a blank space instead of an image being 
displayed.

To compare: replace the first 'display symbol with 'after-string, and
the image is displayed.

Why do we need this: if this worked, we would implement icons display in
the default completion popup in company-mode. It's a feature that has 
been requested for a while. See the discussion here:

https://github.com/company-mode/company-mode/pull/996#issuecomment-662743347

Unfortunately, as we seem to have concluded in

   https://debbugs.gnu.org/cgi/bugreport.cgi?bug=18285
   and
   https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20847,

I have to use the `display' overlay property in most of the cases.

P.S. This is not a regression, Emacs 26.3 is the same.

In GNU Emacs 28.0.50 (build 25, x86_64-pc-linux-gnu, GTK+ Version 
3.24.20, cairo version 1.16.0)
  of 2020-07-20 built on potemkin
Repository revision: 4c08c2f45b9bb0265f6d7c3529011dee1b18e843
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
System Description: Ubuntu 20.04 LTS




Acknowledgement sent to Dmitry Gutov <dgutov@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#42521; 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: Sat, 25 Jul 2020 06:00:02 UTC

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