GNU logs - #49555, boring messages


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#49555: 28.0.50; height display property causes text to render with incorrect spacing
Resent-From: Adam Edge <baronedge@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 13 Jul 2021 22:28:02 +0000
Resent-Message-ID: <handler.49555.B.162621526227897 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 49555
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 49555 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.162621526227897
          (code B ref -1); Tue, 13 Jul 2021 22:28:02 +0000
Received: (at submit) by debbugs.gnu.org; 13 Jul 2021 22:27:42 +0000
Received: from localhost ([127.0.0.1]:42320 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1m3QsO-0007Fs-T9
	for submit <at> debbugs.gnu.org; Tue, 13 Jul 2021 18:27:42 -0400
Received: from lists.gnu.org ([209.51.188.17]:49254)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <baronedge@HIDDEN>) id 1m3QsL-0007Fj-OG
 for submit <at> debbugs.gnu.org; Tue, 13 Jul 2021 18:27:39 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:58414)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <baronedge@HIDDEN>)
 id 1m3QsK-00036j-U7
 for bug-gnu-emacs@HIDDEN; Tue, 13 Jul 2021 18:27:37 -0400
Received: from mail.cock.li ([37.120.193.124]:56846)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <baronedge@HIDDEN>)
 id 1m3QsD-000226-M2
 for bug-gnu-emacs@HIDDEN; Tue, 13 Jul 2021 18:27:36 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=airmail.cc; s=mail;
 t=1626215238; bh=tQ6xn35oEQyHesIZpu+ucl2vLs9kBYKb1fzKk6AIpvQ=;
 h=To:From:Subject:Date:From;
 b=EW7Ei9v1TbxakIaxAUV+cPJHz100ldHwiG+i7J/5tgiTpLgA6J4nbhi5zn/2jjpDT
 3dXcp7ecN6uRp+3nGxoGukrmn5OjZr1M3VaNXnFj2uGrEzmPp4CFD9tqMpVwr2JD4O
 +i900VRwF0Er/naU9A7ACB7WMgC3mKeCKzqQGDmsieZ9IUcKSJMxzaVxvkVD6dRmaC
 gBnYaU2ndVZhzvx0cgxO+DKk8clo+9obyAoSAe3JRJouuikT//1oUoV6LwaTtddW3A
 RGgpLulUzphHbqcML4lnR0RU778NERxUb14tzvP1BsYJAZLP9F4xDpykW0OSHvUEzd
 dQG/2YOue5q0w==
From: Adam Edge <baronedge@HIDDEN>
Message-ID: <c1bee731-bb8d-2cbc-52a3-a7b3f8a4c6d8@HIDDEN>
Date: Wed, 14 Jul 2021 01:27:22 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Received-SPF: pass client-ip=37.120.193.124; envelope-from=baronedge@HIDDEN;
 helo=mail.cock.li
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
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.4 (--)

Hello,

I have encountered this bug while using lsp-ui mode. When a text is
propertized with the display property `height', it is then displayed
with the incorrect spacing. To test it, I have used this code:

(require 'lsp-ui)
(let* ((text "Hello world")
      (propertized (progn (add-face-text-property 0 (length text)
'lsp-ui-sideline-code-action nil text)
                          text))
      (overlay (make-overlay 1 1)))
  (overlay-put overlay 'after-string (concat propertized
                                        (propertize propertized 'display
(lsp-ui-sideline--compute-height)))))

lsp-ui-sideline-code-action can be any face with a font with different
spacing. In my Emacs configuration, it is defined as:

(font-spec :family "Fira Code" :size 14 :weight 'regular :spacing 100)

When the two "Hello world"s are displayed next to each other, the one
which is propertized with the "height" property displays wider. In
lsp-ui's case, this causes text to be cut off by the right side of the
Emacs frame as it overflows (since the code actions are displayed as an
overlay on the right side of the frame).

I can share images of what I see if there is an image hosting website
you'd like me to share it on.

In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.29, cairo version 1.16.0)
 of 2021-06-13 built on localhost
Repository revision: dc471feee3bcac872cc52cdc73282955cd2d219d
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: Gentoo/Linux

Configured using:
 'configure --prefix=/usr --build=x86_64-pc-linux-gnu
 --host=x86_64-pc-linux-gnu --mandir=/usr/share/man
 --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
 --localstatedir=/var/lib --disable-silent-rules
 --docdir=/usr/share/doc/emacs-28.0.9999
 --htmldir=/usr/share/doc/emacs-28.0.9999/html --libdir=/usr/lib64
 --program-suffix=-emacs-28-vcs --includedir=/usr/include/emacs-28-vcs
 --infodir=/usr/share/info/emacs-28-vcs --localstatedir=/var
 --enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp
 --without-compress-install --without-hesiod --without-pop
 --with-file-notification=inotify --with-pdumper --enable-acl
 --with-dbus --without-modules --without-gameuser --with-libgmp
 --with-gpm --with-native-compilation --without-json --without-kerberos
 --without-kerberos5 --with-lcms2 --with-xml2 --without-mailutils
 --without-selinux --with-gnutls --without-libsystemd --with-threads
 --with-wide-int --with-zlib --with-sound=alsa --with-x --without-ns
 --without-gconf --without-gsettings --without-toolkit-scroll-bars
 --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-xpm
 --without-imagemagick --with-xft --with-cairo --without-harfbuzz
 --without-libotf --without-m17n-flt --with-x-toolkit=gtk3
 --without-xwidgets --with-dumping=pdumper 'CFLAGS=-O2 -pipe
 -march=native -mtune=native' CPPFLAGS= 'LDFLAGS=-Wl,-O1
 -Wl,--as-needed''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM JPEG LCMS2 LIBXML2
NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF
X11 XDBE XIM XPM GTK3 ZLIB

Important settings:
  value of $LC_CTYPE: en_US.utf8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: RJSX

Minor modes in effect:
  evil-traces-mode: t
  global-anzu-mode: t
  anzu-mode: t
  lsp-diagnostics-mode: t
  lsp-modeline-workspace-status-mode: t
  lsp-modeline-diagnostics-mode: t
  lsp-modeline-code-actions-mode: t
  lsp-ui-mode: t
  lsp-ui-sideline-mode: t
  lsp-completion-mode: t
  git-gutter-mode: t
  tide-hl-identifier-mode: t
  tide-mode: t
  emmet-mode: t
  js2-refactor-mode: t
  npm-mode: t
  cursor-sensor-mode: t
  whitespace-mode: t
  flycheck-popup-tip-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  eros-mode: t
  rainbow-delimiters-mode: t
  display-fill-column-indicator-mode: t
  vi-tilde-fringe-mode: t
  highlight-numbers-mode: t
  display-line-numbers-mode: t
  hl-todo-mode: t
  highlight-indent-guides-mode: t
  recentf-mode: t
  save-place-mode: t
  global-so-long-mode: t
  global-git-commit-mode: t
  gcmh-mode: t
  global-hl-line-mode: t
  hl-line-mode: t
  winner-mode: t
  show-paren-mode: t
  ws-butler-global-mode: t
  ws-butler-mode: t
  global-undo-fu-session-mode: t
  undo-fu-session-mode: t
  undo-fu-mode: t
  which-key-mode: t
  savehist-mode: t
  better-jumper-mode: t
  better-jumper-local-mode: t
  global-company-mode: t
  company-mode: t
  evil-goggles-mode: t
  evil-escape-mode: t
  evil-snipe-override-mode: t
  evil-snipe-mode: t
  evil-snipe-override-local-mode: t
  evil-snipe-local-mode: t
  format-all-mode: t
  xterm-mouse-mode: t
  xclip-mode: t
  solaire-global-mode: t
  doom-modeline-mode: t
  projectile-mode: t
  lsp-managed-mode: t
  lsp-mode: t
  dtrt-indent-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  ivy-rich-project-root-cache-mode: t
  ivy-rich-mode: t
  ivy-mode: t
  smartparens-global-mode: t
  smartparens-mode: t
  persp-mode: t
  global-flycheck-mode: t
  flycheck-mode: t
  +web-react-mode: t
  +javascript-npm-mode: t
  +lsp-optimization-mode: t
  shell-dirtrack-mode: t
  evil-mode: t
  evil-local-mode: t
  windmove-mode: t
  +popup-mode: t
  general-override-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  window-divider-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/aedge/.emacs.d/.local/straight/build-28.0.50/use-package/use-package
hides /home/aedge/.emacs.d/.local/straight/repos/use-package/use-package
/home/aedge/.emacs.d/.local/straight/build-28.0.50/use-package/use-package-lint
hides
/home/aedge/.emacs.d/.local/straight/repos/use-package/use-package-lint
/home/aedge/.emacs.d/.local/straight/build-28.0.50/use-package/use-package-jump
hides
/home/aedge/.emacs.d/.local/straight/repos/use-package/use-package-jump
/home/aedge/.emacs.d/.local/straight/build-28.0.50/use-package/use-package-ensure
hides
/home/aedge/.emacs.d/.local/straight/repos/use-package/use-package-ensure
/home/aedge/.emacs.d/.local/straight/build-28.0.50/use-package/use-package-diminish
hides
/home/aedge/.emacs.d/.local/straight/repos/use-package/use-package-diminish
/home/aedge/.emacs.d/.local/straight/build-28.0.50/use-package/use-package-delight
hides
/home/aedge/.emacs.d/.local/straight/repos/use-package/use-package-delight
/home/aedge/.emacs.d/.local/straight/build-28.0.50/use-package/use-package-core
hides
/home/aedge/.emacs.d/.local/straight/repos/use-package/use-package-core
/home/aedge/.emacs.d/.local/straight/build-28.0.50/use-package/use-package-bind-key
hides
/home/aedge/.emacs.d/.local/straight/repos/use-package/use-package-bind-key
/home/aedge/.emacs.d/.local/straight/build-28.0.50/bind-key/bind-key
hides /home/aedge/.emacs.d/.local/straight/repos/use-package/bind-key
/home/aedge/.emacs.d/.local/straight/build-28.0.50/straight/straight
hides /home/aedge/.emacs.d/.local/straight/repos/straight.el/straight
/home/aedge/.emacs.d/.local/straight/build-28.0.50/straight/straight-x
hides /home/aedge/.emacs.d/.local/straight/repos/straight.el/straight-x
/home/aedge/.emacs.d/.local/straight/build-28.0.50/cmake-mode/cmake-mode
hides /usr/share/emacs/site-lisp/cmake-mode
/home/aedge/.emacs.d/.local/straight/build-28.0.50/transient/transient
hides /usr/share/emacs/28.0.50/lisp/transient
/home/aedge/.emacs.d/.local/straight/repos/straight.el/indent hides
/usr/share/emacs/28.0.50/lisp/indent
/home/aedge/.emacs.d/.local/straight/build-28.0.50/project/project hides
/usr/share/emacs/28.0.50/lisp/progmodes/project
/home/aedge/.emacs.d/.local/straight/build-28.0.50/xref/xref hides
/usr/share/emacs/28.0.50/lisp/progmodes/xref
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-css hides
/usr/share/emacs/28.0.50/lisp/org/ob-css
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-exp hides
/usr/share/emacs/28.0.50/lisp/org/ob-exp
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-python
hides /usr/share/emacs/28.0.50/lisp/org/ob-python
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ox-icalendar
hides /usr/share/emacs/28.0.50/lisp/org/ox-icalendar
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-tangle
hides /usr/share/emacs/28.0.50/lisp/org/ob-tangle
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-lint
hides /usr/share/emacs/28.0.50/lisp/org/org-lint
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-attach-git
hides /usr/share/emacs/28.0.50/lisp/org/org-attach-git
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-io hides
/usr/share/emacs/28.0.50/lisp/org/ob-io
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-ctags
hides /usr/share/emacs/28.0.50/lisp/org/org-ctags
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-mouse
hides /usr/share/emacs/28.0.50/lisp/org/org-mouse
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ol-gnus
hides /usr/share/emacs/28.0.50/lisp/org/ol-gnus
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-emacs-lisp
hides /usr/share/emacs/28.0.50/lisp/org/ob-emacs-lisp
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-R hides
/usr/share/emacs/28.0.50/lisp/org/ob-R
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-haskell
hides /usr/share/emacs/28.0.50/lisp/org/ob-haskell
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-picolisp
hides /usr/share/emacs/28.0.50/lisp/org/ob-picolisp
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-plot
hides /usr/share/emacs/28.0.50/lisp/org/org-plot
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ol-w3m hides
/usr/share/emacs/28.0.50/lisp/org/ol-w3m
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-matlab
hides /usr/share/emacs/28.0.50/lisp/org/ob-matlab
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-lilypond
hides /usr/share/emacs/28.0.50/lisp/org/ob-lilypond
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-element
hides /usr/share/emacs/28.0.50/lisp/org/org-element
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-clojure
hides /usr/share/emacs/28.0.50/lisp/org/ob-clojure
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-stan
hides /usr/share/emacs/28.0.50/lisp/org/ob-stan
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-gnuplot
hides /usr/share/emacs/28.0.50/lisp/org/ob-gnuplot
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-calc
hides /usr/share/emacs/28.0.50/lisp/org/ob-calc
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-crypt
hides /usr/share/emacs/28.0.50/lisp/org/org-crypt
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ol-eww hides
/usr/share/emacs/28.0.50/lisp/org/ol-eww
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ox-md hides
/usr/share/emacs/28.0.50/lisp/org/ox-md
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-shell
hides /usr/share/emacs/28.0.50/lisp/org/ob-shell
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-feed
hides /usr/share/emacs/28.0.50/lisp/org/org-feed
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-sql hides
/usr/share/emacs/28.0.50/lisp/org/ob-sql
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ox-odt hides
/usr/share/emacs/28.0.50/lisp/org/ox-odt
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-makefile
hides /usr/share/emacs/28.0.50/lisp/org/ob-makefile
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-abc hides
/usr/share/emacs/28.0.50/lisp/org/ob-abc
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-plantuml
hides /usr/share/emacs/28.0.50/lisp/org/ob-plantuml
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ox-org hides
/usr/share/emacs/28.0.50/lisp/org/ox-org
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-pcomplete
hides /usr/share/emacs/28.0.50/lisp/org/org-pcomplete
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ox-publish
hides /usr/share/emacs/28.0.50/lisp/org/ox-publish
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-groovy
hides /usr/share/emacs/28.0.50/lisp/org/ob-groovy
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ox-html
hides /usr/share/emacs/28.0.50/lisp/org/ox-html
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-tempo
hides /usr/share/emacs/28.0.50/lisp/org/org-tempo
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ox-beamer
hides /usr/share/emacs/28.0.50/lisp/org/ox-beamer
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-table
hides /usr/share/emacs/28.0.50/lisp/org/ob-table
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-java
hides /usr/share/emacs/28.0.50/lisp/org/ob-java
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-attach
hides /usr/share/emacs/28.0.50/lisp/org/org-attach
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-J hides
/usr/share/emacs/28.0.50/lisp/org/ob-J
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-macs
hides /usr/share/emacs/28.0.50/lisp/org/org-macs
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ol-info
hides /usr/share/emacs/28.0.50/lisp/org/ol-info
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-src
hides /usr/share/emacs/28.0.50/lisp/org/org-src
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-lisp
hides /usr/share/emacs/28.0.50/lisp/org/ob-lisp
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-asymptote
hides /usr/share/emacs/28.0.50/lisp/org/ob-asymptote
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-list
hides /usr/share/emacs/28.0.50/lisp/org/org-list
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ox-texinfo
hides /usr/share/emacs/28.0.50/lisp/org/ox-texinfo
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-table
hides /usr/share/emacs/28.0.50/lisp/org/org-table
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ol-irc hides
/usr/share/emacs/28.0.50/lisp/org/ol-irc
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-refile
hides /usr/share/emacs/28.0.50/lisp/org/org-refile
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ol-eshell
hides /usr/share/emacs/28.0.50/lisp/org/ol-eshell
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-capture
hides /usr/share/emacs/28.0.50/lisp/org/org-capture
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-colview
hides /usr/share/emacs/28.0.50/lisp/org/org-colview
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-eval
hides /usr/share/emacs/28.0.50/lisp/org/ob-eval
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-octave
hides /usr/share/emacs/28.0.50/lisp/org/ob-octave
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-eshell
hides /usr/share/emacs/28.0.50/lisp/org/ob-eshell
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-ditaa
hides /usr/share/emacs/28.0.50/lisp/org/ob-ditaa
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ox-latex
hides /usr/share/emacs/28.0.50/lisp/org/ox-latex
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob hides
/usr/share/emacs/28.0.50/lisp/org/ob
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-archive
hides /usr/share/emacs/28.0.50/lisp/org/org-archive
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-protocol
hides /usr/share/emacs/28.0.50/lisp/org/org-protocol
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ol hides
/usr/share/emacs/28.0.50/lisp/org/ol
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-compat
hides /usr/share/emacs/28.0.50/lisp/org/org-compat
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-js hides
/usr/share/emacs/28.0.50/lisp/org/ob-js
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-clock
hides /usr/share/emacs/28.0.50/lisp/org/org-clock
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-duration
hides /usr/share/emacs/28.0.50/lisp/org/org-duration
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-macro
hides /usr/share/emacs/28.0.50/lisp/org/org-macro
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-sass
hides /usr/share/emacs/28.0.50/lisp/org/ob-sass
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-timer
hides /usr/share/emacs/28.0.50/lisp/org/org-timer
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-agenda
hides /usr/share/emacs/28.0.50/lisp/org/org-agenda
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-screen
hides /usr/share/emacs/28.0.50/lisp/org/ob-screen
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-forth
hides /usr/share/emacs/28.0.50/lisp/org/ob-forth
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-habit
hides /usr/share/emacs/28.0.50/lisp/org/org-habit
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-perl
hides /usr/share/emacs/28.0.50/lisp/org/ob-perl
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-footnote
hides /usr/share/emacs/28.0.50/lisp/org/org-footnote
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-ebnf
hides /usr/share/emacs/28.0.50/lisp/org/ob-ebnf
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-inlinetask
hides /usr/share/emacs/28.0.50/lisp/org/org-inlinetask
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-loaddefs
hides /usr/share/emacs/28.0.50/lisp/org/org-loaddefs
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-vala
hides /usr/share/emacs/28.0.50/lisp/org/ob-vala
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-lob hides
/usr/share/emacs/28.0.50/lisp/org/ob-lob
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-sqlite
hides /usr/share/emacs/28.0.50/lisp/org/ob-sqlite
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-awk hides
/usr/share/emacs/28.0.50/lisp/org/ob-awk
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-mobile
hides /usr/share/emacs/28.0.50/lisp/org/org-mobile
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ol-rmail
hides /usr/share/emacs/28.0.50/lisp/org/ol-rmail
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-comint
hides /usr/share/emacs/28.0.50/lisp/org/ob-comint
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-goto
hides /usr/share/emacs/28.0.50/lisp/org/org-goto
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-mscgen
hides /usr/share/emacs/28.0.50/lisp/org/ob-mscgen
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-id hides
/usr/share/emacs/28.0.50/lisp/org/org-id
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org hides
/usr/share/emacs/28.0.50/lisp/org/org
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-core
hides /usr/share/emacs/28.0.50/lisp/org/ob-core
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-lua hides
/usr/share/emacs/28.0.50/lisp/org/ob-lua
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-ruby
hides /usr/share/emacs/28.0.50/lisp/org/ob-ruby
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-maxima
hides /usr/share/emacs/28.0.50/lisp/org/ob-maxima
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-latex
hides /usr/share/emacs/28.0.50/lisp/org/ob-latex
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-dot hides
/usr/share/emacs/28.0.50/lisp/org/ob-dot
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ol-docview
hides /usr/share/emacs/28.0.50/lisp/org/ol-docview
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-processing
hides /usr/share/emacs/28.0.50/lisp/org/ob-processing
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ol-bbdb
hides /usr/share/emacs/28.0.50/lisp/org/ol-bbdb
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-ledger
hides /usr/share/emacs/28.0.50/lisp/org/ob-ledger
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-scheme
hides /usr/share/emacs/28.0.50/lisp/org/ob-scheme
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-indent
hides /usr/share/emacs/28.0.50/lisp/org/org-indent
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-num
hides /usr/share/emacs/28.0.50/lisp/org/org-num
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-fortran
hides /usr/share/emacs/28.0.50/lisp/org/ob-fortran
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-sed hides
/usr/share/emacs/28.0.50/lisp/org/ob-sed
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-faces
hides /usr/share/emacs/28.0.50/lisp/org/org-faces
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-hledger
hides /usr/share/emacs/28.0.50/lisp/org/ob-hledger
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ol-mhe hides
/usr/share/emacs/28.0.50/lisp/org/ol-mhe
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-keys
hides /usr/share/emacs/28.0.50/lisp/org/org-keys
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ox-ascii
hides /usr/share/emacs/28.0.50/lisp/org/ox-ascii
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-C hides
/usr/share/emacs/28.0.50/lisp/org/ob-C
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ox-man hides
/usr/share/emacs/28.0.50/lisp/org/ox-man
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-org hides
/usr/share/emacs/28.0.50/lisp/org/ob-org
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ox hides
/usr/share/emacs/28.0.50/lisp/org/ox
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-ref hides
/usr/share/emacs/28.0.50/lisp/org/ob-ref
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-coq hides
/usr/share/emacs/28.0.50/lisp/org/ob-coq
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-shen
hides /usr/share/emacs/28.0.50/lisp/org/ob-shen
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ol-bibtex
hides /usr/share/emacs/28.0.50/lisp/org/ol-bibtex
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-entities
hides /usr/share/emacs/28.0.50/lisp/org/org-entities
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-version
hides /usr/share/emacs/28.0.50/lisp/org/org-version
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-datetree
hides /usr/share/emacs/28.0.50/lisp/org/org-datetree
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/org-install
hides /usr/share/emacs/28.0.50/lisp/org/org-install
/home/aedge/.emacs.d/.local/straight/build-28.0.50/org-mode/ob-ocaml
hides /usr/share/emacs/28.0.50/lisp/org/ob-ocaml

Features:
(shadow sort adaptive-wrap mail-extr emacsbug sendmail restart-emacs
desktop frameset ace-window overseer pkg-info lisp-mnt epl
semantic/symref/grep semantic/symref semantic/util-modes semantic/util
semantic semantic/tag semantic/lex semantic/fw mode-local cedet vc-hg
vc-svn nginx-mode-autoloads yaml-mode-autoloads smalltalk-mode-autoloads
meson-mode-autoloads link-hint-autoloads drag-stuff-autoloads
emacs-everywhere-autoloads zig-mode-autoloads counsel-css-autoloads
sws-mode-autoloads stylus-mode-autoloads sass-mode-autoloads
company-web-autoloads web-mode-autoloads slim-mode-autoloads
pug-mode-autoloads haml-mode-autoloads emmet-mode-autoloads
company-shell-autoloads inflections-autoloads projectile-rails-autoloads
minitest-autoloads rspec-mode-autoloads rake-autoloads bundler-autoloads
robe-autoloads rubocop-autoloads company-inf-ruby-autoloads
inf-ruby-autoloads yard-mode-autoloads sphinx-mode-autoloads
company-restclient-autoloads restclient-autoloads qt-pro-mode-autoloads
qml-mode-autoloads py-isort-autoloads pyimport-autoloads
python-pytest-autoloads nose-autoloads pyvenv-autoloads pipenv-autoloads
company-anaconda-autoloads anaconda-mode-autoloads
lsp-python-ms-autoloads pip-requirements-autoloads async-autoloads
php-cs-fixer-autoloads company-phpactor-autoloads phpactor-autoloads
phpunit-autoloads php-refactor-mode-autoloads php-mode-autoloads
php-extras-autoloads php-boris-autoloads ox-rst-autoloads
ob-restclient-autoloads ob-go-autoloads ob-async-autoloads
orgit-forge-autoloads orgit-autoloads org-pdftools-autoloads
evil-org-autoloads org-cliplink-autoloads toc-org-autoloads
ox-clip-autoloads org-yt-autoloads htmlize-autoloads avy-autoloads
org-mode-autoloads evil-markdown-autoloads edit-indirect-autoloads
markdown-toc-autoloads markdown-mode-autoloads company-math-autoloads
company-reftex-autoloads company-auctex-autoloads evil-tex-autoloads
latex-preview-pane-autoloads auctex-autoloads xref-js2-autoloads
tide-autoloads skewer-mode-autoloads nodejs-repl-autoloads
add-node-modules-path-autoloads npm-mode-autoloads
js2-refactor-autoloads typescript-mode-autoloads rjsx-mode-autoloads
js2-mode-autoloads coffee-mode-autoloads meghanada-autoloads
groovy-mode-autoloads android-mode-autoloads counsel-jq-autoloads
json-snatcher-autoloads json-mode-autoloads idris-mode-autoloads
attrap-autoloads dante-autoloads haskell-mode-autoloads
flycheck-golangci-lint-autoloads company-go-autoloads
go-gen-test-autoloads go-tag-autoloads gorepl-mode-autoloads
go-mode-autoloads go-guru-autoloads go-eldoc-autoloads
buttercup-autoloads flycheck-cask-autoloads elisp-demos-autoloads
elisp-def-autoloads overseer-autoloads macrostep-autoloads
highlight-quoted-autoloads hover-autoloads flutter-autoloads
dart-mode-autoloads csv-mode-autoloads sly-repl-ansi-color-autoloads
sly-macrostep-autoloads sly-autoloads ccls-autoloads
company-glsl-autoloads glsl-mode-autoloads opencl-mode-autoloads
modern-cpp-font-lock-autoloads disaster-autoloads
demangle-mode-autoloads cuda-mode-autoloads cmake-mode-autoloads
evil-terminal-cursor-changer-autoloads xclip-autoloads
kurecolor-autoloads rainbow-mode-autoloads saveplace-pdf-view-autoloads
pdf-tools-autoloads github-review-autoloads magit-todos-autoloads
magit-gitflow-autoloads forge-autoloads lsp-ivy-autoloads
lsp-ui-autoloads lsp-mode-autoloads request-autoloads ivy-xref-autoloads
dumb-jump-autoloads eros-autoloads quickrun-autoloads
dockerfile-mode-autoloads docker-tramp-autoloads docker-autoloads
realgud-autoloads flycheck-popup-tip-autoloads flycheck-autoloads
gitignore-mode-autoloads gitconfig-mode-autoloads
git-timemachine-autoloads git-commit-autoloads
browse-at-remote-autoloads undo-fu-session-autoloads undo-fu-autoloads
fd-dired-autoloads dired-rsync-autoloads diff-hl-autoloads
dired-git-info-autoloads diredfl-autoloads adaptive-wrap-autoloads
doom-snippets-autoloads auto-yasnippet-autoloads format-all-autoloads
evil-vimish-fold-autoloads vimish-fold-autoloads yasnippet-autoloads
evil-collection-autoloads evil-quick-diff-autoloads exato-autoloads
evil-visualstar-autoloads evil-traces-autoloads
evil-textobj-anyblock-autoloads evil-surround-autoloads
evil-snipe-autoloads evil-numbers-autoloads
evil-nerd-commenter-autoloads evil-lion-autoloads
evil-indent-plus-autoloads evil-exchange-autoloads evil-escape-autoloads
evil-embrace-autoloads evil-easymotion-autoloads evil-args-autoloads
evil-autoloads persp-mode-autoloads ace-window-autoloads
vi-tilde-fringe-autoloads git-gutter-fringe-autoloads
unicode-fonts-autoloads treemacs-persp-autoloads
treemacs-magit-autoloads treemacs-projectile-autoloads
treemacs-evil-autoloads treemacs-autoloads evil-goggles-autoloads
nav-flash-autoloads evil-anzu-autoloads anzu-autoloads
doom-modeline-autoloads minimap-autoloads
highlight-indent-guides-autoloads hl-todo-autoloads
solaire-mode-autoloads doom-themes-autoloads wgrep-autoloads
ivy-rich-autoloads counsel-projectile-autoloads amx-autoloads
counsel-autoloads ivy-avy-autoloads ivy-hydra-autoloads ivy-autoloads
swiper-autoloads company-dict-autoloads company-autoloads
which-key-autoloads general-autoloads project-autoloads
projectile-autoloads ws-butler-autoloads smartparens-autoloads
pcre2el-autoloads helpful-autoloads dtrt-indent-autoloads
better-jumper-autoloads restart-emacs-autoloads
rainbow-delimiters-autoloads highlight-numbers-autoloads
hide-mode-line-autoloads all-the-icons-autoloads use-package-autoloads
straight-autoloads explain-pause-mode-autoloads gcmh-autoloads
auto-minor-mode-autoloads finder-inf straight counsel-projectile ffap
docker-tramp tramp-cache tramp tramp-loaddefs trampver tramp-integration
files-x tramp-compat parse-time ls-lisp two-column elisp-def ert
evil-collection-debug debug tabify evil-traces evil-ex cus-start
evil-anzu anzu org-indent ol-bibtex bibtex iso8601 elisp-demos
evil-collection-indent hide-mode-line evil-collection-helpful helpful
trace evil-collection-edebug edebug backtrace lisp-mode info-look
evil-collection-info info help-fns radix-tree evil-collection-help help
evil-collection-elisp-refs elisp-refs mule-util org-capture org-agenda
org-refile evil-collection-magit-todos magit-todos pcre2el rxt
re-builder async the-org-mode-expansions orgit smartparens-org org-yt
org-element avl-tree org ob ob-tangle ob-ref ob-lob ob-table ob-exp
org-macro org-footnote org-src ob-comint org-pcomplete org-list
org-faces org-entities org-version ob-emacs-lisp ob-core ob-eval
org-table ol org-keys org-compat org-macs org-loaddefs
evil-collection-calendar cal-menu calendar cal-loaddefs github-review
ghub-graphql treepy gsexp ghub url-http url-gw url-auth deferred a
evil-collection-magit magit-autoloads magit-submodule magit-obsolete
magit-popup magit-blame magit-stash magit-reflog magit-bisect magit-push
magit-pull magit-fetch magit-clone magit-remote magit-commit
magit-sequence magit-notes magit-worktree magit-tag magit-merge
magit-branch magit-reset magit-files magit-refs magit-status magit
magit-repos magit-apply magit-wip magit-log which-func magit-diff
smerge-mode diff magit-core magit-autorevert magit-margin
magit-transient magit-process magit-mode lsp-diagnostics
company-yasnippet lsp-modeline lsp-ui lsp-ui-flycheck lsp-ui-doc
goto-addr evil-collection-lsp-ui-imenu lsp-ui-imenu lsp-ui-peek
lsp-ui-sideline lsp-ui-util evil-collection-view view lsp-zig lsp-steep
lsp-svelte lsp-sqls lsp-yaml lsp-xml lsp-vimscript lsp-vhdl lsp-vetur
lsp-html lsp-verilog lsp-vala lsp-terraform lsp-tex lsp-sorbet
lsp-solargraph lsp-rust lsp-rf lsp-r lsp-purescript lsp-pylsp lsp-pyls
lsp-pwsh lsp-php lsp-perl lsp-ocaml lsp-nix lsp-nim lsp-markdown lsp-lua
lsp-kotlin lsp-json lsp-javascript lsp-haxe lsp-groovy lsp-hack lsp-go
lsp-completion lsp-gdscript lsp-fsharp lsp-fortran lsp-eslint lsp-erlang
lsp-elixir lsp-elm lsp-dockerfile lsp-dhall lsp-d lsp-css lsp-csharp
gnutls lsp-crystal lsp-cmake lsp-clojure lsp-clangd lsp-bash lsp-angular
lsp-ada lsp-actionscript amx git-gutter-fringe fringe-helper git-gutter
evil-collection-vc-git vc-git evil-collection-diff-mode diff-mode
evil-collection-tide tide tide-lv evil-collection-typescript-mode
typescript-mode emmet-mode js2-refactor js2r-paredit js2r-conveniences
js2r-conditionals js2r-wrapping js2r-functions js2r-vars
mc-hide-unmatched-lines-mode mc-mark-more mc-cycle-cursors
multiple-cursors-core js2r-iife js2r-formatting js2r-helpers
add-node-modules-path npm-mode cursor-sensor xref-js2 vc vc-dispatcher
evil-collection-rjsx-mode rjsx-mode html-mode-expansions
smartparens-html sgml-mode facemenu dom js2-mode-expansions
evil-collection-js2-mode js2-mode etags fileloop generator
js-mode-expansions smartparens-javascript js nav-flash jka-compr
auto-minor-mode disp-table whitespace flycheck-popup-tip
evil-collection-popup popup flycheck-cask core-packages package
browse-url url url-proxy url-privacy url-expand url-methods url-history
url-cookie url-domsuf mailcap url-handlers evil-embrace evil-surround
embrace expand-region text-mode-expansions cc-mode-expansions
er-basic-expansions expand-region-core expand-region-custom eros
highlight-quoted rainbow-delimiters display-fill-column-indicator
vi-tilde-fringe highlight-numbers parent-mode display-line-numbers
hl-todo highlight-indent-guides recentf saveplace so-long git-commit
with-editor transient format-spec evil-collection-log-edit log-edit
message rfc822 mml mml-sec evil-collection-epa epa gnus-util rmail
rmail-loaddefs time-date mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev
mail-utils gmm-utils mailheader pcvs-util add-log magit-git
magit-section magit-utils crm gcmh hl-line winner paren ws-butler
undo-fu-session undo-fu evil-collection-which-key which-key savehist
better-jumper company-capf php-extras company evil-goggles pulse
evil-easymotion evil-escape evil-snipe server autorevert persistent-soft
list-utils pcache eieio-base font-utils unicode-fonts format-all
xt-mouse xclip evil-terminal-cursor-changer doom-themes-ext-treemacs
doom-themes-ext-org solaire-mode face-remap doom-one-theme doom-themes
doom-themes-base doom-modeline doom-modeline-segments doom-modeline-env
doom-modeline-core shrink-path all-the-icons all-the-icons-faces
data-material data-weathericons data-octicons data-fileicons
data-faicons data-alltheicons lsp-python-ms projectile
evil-collection-grep grep ibuf-ext evil-collection-ibuffer ibuffer
ibuffer-loaddefs ccls ccls-member-hierarchy ccls-inheritance-hierarchy
ccls-call-hierarchy ccls-tree ccls-code-lens ccls-semantic-highlight
ccls-common smartparens-c cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs lsp-mode lsp-protocol
doom-snippets doom-snippets-lib yasnippet dtrt-indent
evil-collection-elisp-mode elisp-mode ivy-xref evil-collection-ivy
ivy-avy avy ivy-rich counsel xdg evil-collection-dired dired
dired-loaddefs swiper ivy delsel ivy-faces ivy-overlay colir
evil-collection-xref xref project url-util tree-widget spinner
network-stream puny nsm rmc smartparens-config smartparens-markdown
smartparens-text smartparens markdown-mode edit-indirect color url-parse
auth-source eieio password-cache url-vars noutline outline lv inline
evil-collection-imenu imenu ht filenotify f s ewoc epg epg-config
evil-collection-compile compile text-property-search zig-mode drag-stuff
persp-mode evil-collection-flycheck evil-collection-custom cus-edit
cus-load wid-edit evil-collection-comint evil-collection annalist
flycheck json map find-func help-mode dash let-alist evil
evil-integration evil-maps evil-commands reveal flyspell ispell
evil-jumps evil-command-window evil-types evil-search shell pcomplete
comint ansi-color evil-macros evil-repeat evil-states evil-core advice
evil-common windmove calc calc-loaddefs calc-macs thingatpt rect
evil-digraphs evil-vars ring derived edmacro kmacro core-editor
core-projects core-ui easy-mmode comp comp-cstr warnings core-keybinds
pp general cl-extra seq byte-opt cl-seq use-package-core bytecomp
byte-compile cconv core-modules eieio-core eieio-loaddefs tex-site rx
realgud-recursive-autoloads cl site-gentoo core core-lib pcase cl-macs
gv cl-loaddefs cl-lib subr-x iso-transl tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode prog-mode register page
tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar
mouse jit-lock font-lock syntax font-core term/tty-colors frame
minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite charscript charprop case-table epa-hook jka-cmpr-hook simple
abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face
macroexp files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote threads
dbusbind inotify lcms2 dynamic-setting font-render-setting cairo
move-toolbar gtk x-toolkit x multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 1551355 791213)
 (symbols 48 72105 100)
 (strings 32 313573 102912)
 (string-bytes 1 12252803)
 (vectors 16 144162)
 (vector-slots 8 4175068 230649)
 (floats 8 1332 2791)
 (intervals 56 17045 4923)
 (buffers 992 46))





Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Adam Edge <baronedge@HIDDEN>
Subject: bug#49555: Acknowledgement (28.0.50; height display property
 causes text to render with incorrect spacing)
Message-ID: <handler.49555.B.162621526227897.ack <at> debbugs.gnu.org>
References: <c1bee731-bb8d-2cbc-52a3-a7b3f8a4c6d8@HIDDEN>
X-Gnu-PR-Message: ack 49555
X-Gnu-PR-Package: emacs
Reply-To: 49555 <at> debbugs.gnu.org
Date: Tue, 13 Jul 2021 22:28:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-gnu-emacs@HIDDEN

If you wish to submit further information on this problem, please
send it to 49555 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
49555: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D49555
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#49555: 28.0.50; height display property causes text to render with incorrect spacing
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 14 Jul 2021 12:56:01 +0000
Resent-Message-ID: <handler.49555.B49555.162626734224257 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 49555
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Adam Edge <baronedge@HIDDEN>
Cc: 49555 <at> debbugs.gnu.org
Received: via spool by 49555-submit <at> debbugs.gnu.org id=B49555.162626734224257
          (code B ref 49555); Wed, 14 Jul 2021 12:56:01 +0000
Received: (at 49555) by debbugs.gnu.org; 14 Jul 2021 12:55:42 +0000
Received: from localhost ([127.0.0.1]:43301 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1m3eQQ-0006JA-3u
	for submit <at> debbugs.gnu.org; Wed, 14 Jul 2021 08:55:42 -0400
Received: from eggs.gnu.org ([209.51.188.92]:50022)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1m3eQL-0006Iq-Fi
 for 49555 <at> debbugs.gnu.org; Wed, 14 Jul 2021 08:55:41 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:38698)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1m3eQD-00055f-7s; Wed, 14 Jul 2021 08:55:29 -0400
Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:2293
 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 1m3eQC-0005mG-SF; Wed, 14 Jul 2021 08:55:29 -0400
Date: Wed, 14 Jul 2021 15:55:29 +0300
Message-Id: <83a6mp837i.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <c1bee731-bb8d-2cbc-52a3-a7b3f8a4c6d8@HIDDEN> (message from
 Adam Edge on Wed, 14 Jul 2021 01:27:22 +0300)
References: <c1bee731-bb8d-2cbc-52a3-a7b3f8a4c6d8@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
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: Adam Edge <baronedge@HIDDEN>
> Date: Wed, 14 Jul 2021 01:27:22 +0300
> 
> I have encountered this bug while using lsp-ui mode. When a text is
> propertized with the display property `height', it is then displayed
> with the incorrect spacing. To test it, I have used this code:
> 
> (require 'lsp-ui)
> (let* ((text "Hello world")
>       (propertized (progn (add-face-text-property 0 (length text)
> 'lsp-ui-sideline-code-action nil text)
>                           text))
>       (overlay (make-overlay 1 1)))
>   (overlay-put overlay 'after-string (concat propertized
>                                         (propertize propertized 'display
> (lsp-ui-sideline--compute-height)))))
> 
> lsp-ui-sideline-code-action can be any face with a font with different
> spacing. In my Emacs configuration, it is defined as:
> 
> (font-spec :family "Fira Code" :size 14 :weight 'regular :spacing 100)
> 
> When the two "Hello world"s are displayed next to each other, the one
> which is propertized with the "height" property displays wider. In
> lsp-ui's case, this causes text to be cut off by the right side of the
> Emacs frame as it overflows (since the code actions are displayed as an
> overlay on the right side of the frame).

I'm a bit confused by the scenario description.  Could you perhaps
provide a simple self-contained recipe, which would not need any
third-party packages like lsp-ui, and could be invoked from "emacs -Q"?
It sounds like any references to lsp-ui in your scenario are not
really relevant, and just muddy the waters?

And what do you mean by "a font with a different spacing"? what is the
spacing of the default font in your case? and what is the default font
itself?

Thanks.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#49555: 28.0.50; height display property causes text to render with incorrect spacing
Resent-From: Adam Edge <baronedge@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 14 Jul 2021 16:01:02 +0000
Resent-Message-ID: <handler.49555.B.16262784129170 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 49555
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 49555 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.16262784129170
          (code B ref -1); Wed, 14 Jul 2021 16:01:02 +0000
Received: (at submit) by debbugs.gnu.org; 14 Jul 2021 16:00:12 +0000
Received: from localhost ([127.0.0.1]:45775 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1m3hIx-0002Nq-Sy
	for submit <at> debbugs.gnu.org; Wed, 14 Jul 2021 12:00:12 -0400
Received: from lists.gnu.org ([209.51.188.17]:33552)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <baronedge@HIDDEN>) id 1m3hIv-0002Nd-JX
 for submit <at> debbugs.gnu.org; Wed, 14 Jul 2021 12:00:10 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:33520)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <baronedge@HIDDEN>)
 id 1m3hIu-0002fk-PP
 for bug-gnu-emacs@HIDDEN; Wed, 14 Jul 2021 12:00:09 -0400
Received: from mail.cock.li ([37.120.193.124]:52734)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <baronedge@HIDDEN>)
 id 1m3hIs-0005Qx-Ha
 for bug-gnu-emacs@HIDDEN; Wed, 14 Jul 2021 12:00:08 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=airmail.cc; s=mail;
 t=1626278400; bh=mwi2NphgZOV2pHkYS9BqC/9OhIPp0MxUgA+JXIXSBPg=;
 h=Subject:To:References:From:Date:In-Reply-To:From;
 b=u686ecQq9TGo6Eco6/RhFcSPqNQI3lf76MPmREaqU1b/BB8sb5DrAwJEHv2QN00ib
 l2P6IyaFOcwwOODEa2Z9j1MhXClbxWTFe7LN+PIhHp7/rq2gipUEFUawCFKwxy+PoT
 cxK3S2CK8YraWEKp1Uz/Qx4rF+TzmGQF78ozcUvzWVdPfsYMPW6sqLEVZf7ceZ40Ab
 ZIkuoJ1eglMXLhAqbNfJLVIX2iUJz5MEqoWgzwLUWPJWbbxclRjKjlFhfX3/u/OfH8
 Ggq8reiAbHYfSUUZ4nL6VC3gFcxElkLwoky/ZtBD59uweUMmsvqW0jeHlXJA1MSliG
 MAhqQ39kt9BaQ==
References: <c1bee731-bb8d-2cbc-52a3-a7b3f8a4c6d8@HIDDEN>
 <83a6mp837i.fsf@HIDDEN>
From: Adam Edge <baronedge@HIDDEN>
Message-ID: <8b780fd8-9fce-e9e7-a2a1-38a0e327a11a@HIDDEN>
Date: Wed, 14 Jul 2021 19:00:25 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <83a6mp837i.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Received-SPF: pass client-ip=37.120.193.124; envelope-from=baronedge@HIDDEN;
 helo=mail.cock.li
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.001,
 SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
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.4 (--)

On 7/14/21 3:55 PM, Eli Zaretskii wrote:
>> From: Adam Edge <baronedge@HIDDEN>
>> Date: Wed, 14 Jul 2021 01:27:22 +0300
>>
>> I have encountered this bug while using lsp-ui mode. When a text is
>> propertized with the display property `height', it is then displayed
>> with the incorrect spacing. To test it, I have used this code:
>>
>> (require 'lsp-ui)
>> (let* ((text "Hello world")
>>       (propertized (progn (add-face-text-property 0 (length text)
>> 'lsp-ui-sideline-code-action nil text)
>>                           text))
>>       (overlay (make-overlay 1 1)))
>>   (overlay-put overlay 'after-string (concat propertized
>>                                         (propertize propertized 'display
>> (lsp-ui-sideline--compute-height)))))
>>
>> lsp-ui-sideline-code-action can be any face with a font with different
>> spacing. In my Emacs configuration, it is defined as:
>>
>> (font-spec :family "Fira Code" :size 14 :weight 'regular :spacing 100)
>>
>> When the two "Hello world"s are displayed next to each other, the one
>> which is propertized with the "height" property displays wider. In
>> lsp-ui's case, this causes text to be cut off by the right side of the
>> Emacs frame as it overflows (since the code actions are displayed as an
>> overlay on the right side of the frame).
> I'm a bit confused by the scenario description.  Could you perhaps
> provide a simple self-contained recipe, which would not need any
> third-party packages like lsp-ui, and could be invoked from "emacs -Q"?
> It sounds like any references to lsp-ui in your scenario are not
> really relevant, and just muddy the waters?
>
> And what do you mean by "a font with a different spacing"? what is the
> spacing of the default font in your case? and what is the default font
> itself?
>
> Thanks.
>
>
>

Thanks for your response. I am trying to come up with something that works
on emacs -Q. This is what I've come up with:

(setq my-font (font-spec :family "Fira Code" :size 14 :weight 'regular :spacing 100))
(set-frame-font my-font)
(set-face-attribute 'default t :font my-font)

(defface test-face '((t :inherit default))
  "A face for testing.")
(let* ((text "Hello world")
       (propertized (progn (add-face-text-property 0 (length text) 'test-face nil text)
			   text))
       (overlay (make-overlay 1 1)))
  (overlay-put overlay 'after-string (concat propertized "\n"
					     (propertize propertized 'display '(height 1)))))

Running this in the scratch buffer in emacs -Q produces two "Hello world"s,
the latter having more space between each letter and being slightly bolder
(which is not what I want).

Another thing I've noticed is that when I just did the (set-face-attribute)
part without (set-frame-font) and opened a new frame, the frame's font was
the same as the one with incorrect letter spacing. When I did
M-x describe-font RET, this is what I got in the `full name' line:Fira
Code:pixelsize=14:foundry=CTDB:weight=normal:slant=normal:width=normal:spacing=90:scalable=true
And the font loaded is: /usr/share/fonts/fira-code/FiraCode-Medium.ttf
After doing the (set-frame-font), the font returned to the desired
spacing. The `full-name' line in describe-font now is: Fira
Code:pixelsize=14:foundry=CTDB:weight=normal:slant=normal:width=normal:spacing=100:scalable=true
And the font loaded now is:
/home/aedge/.local/share/fonts/FiraCode-Retina.ttf I suppose removing
the system font should fix my problem here, and the issue can be closed,
but why does the font change when '(height 1) is specified?





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#49555: 28.0.50; height display property causes text to render with incorrect spacing
Resent-From: Adam Edge <baronedge@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 14 Jul 2021 16:05:01 +0000
Resent-Message-ID: <handler.49555.B.16262786979660 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 49555
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 49555 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.16262786979660
          (code B ref -1); Wed, 14 Jul 2021 16:05:01 +0000
Received: (at submit) by debbugs.gnu.org; 14 Jul 2021 16:04:57 +0000
Received: from localhost ([127.0.0.1]:45790 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1m3hNY-0002Vj-Uw
	for submit <at> debbugs.gnu.org; Wed, 14 Jul 2021 12:04:57 -0400
Received: from lists.gnu.org ([209.51.188.17]:45296)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <baronedge@HIDDEN>) id 1m3hNX-0002Vc-Sq
 for submit <at> debbugs.gnu.org; Wed, 14 Jul 2021 12:04:56 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:34648)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <baronedge@HIDDEN>)
 id 1m3hNX-00026g-Mf
 for bug-gnu-emacs@HIDDEN; Wed, 14 Jul 2021 12:04:55 -0400
Received: from mail.cock.li ([37.120.193.124]:53832)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <baronedge@HIDDEN>)
 id 1m3hNU-000080-VK
 for bug-gnu-emacs@HIDDEN; Wed, 14 Jul 2021 12:04:55 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=airmail.cc; s=mail;
 t=1626278685; bh=OXAaI0HOJSPv68KfdbC1knxCpAguPyzwS1/7IsqpAnE=;
 h=Subject:From:To:References:Date:In-Reply-To:From;
 b=U6d5GuqhTHBoTKKLXqj4qjtEm4pBcYagCBVL7VoJm4yPLS09NJeZ+nZ6p2NJNsG1c
 GlyA5tm8EksB3WjVQP6NbYpuPrxVL+v9i3Rsazbi77GA3ICxOH2QSu/mZCm6C6wNTT
 rPprZ1Y03I3eZfuztEcgtFZXgDsdqT9Nesw7qTJykeviDz/oLNVb5ULPa0gwbs0/Kc
 0T7/S10duVKN4XeI0CR5lQL9e9xI2KqZa+05tQgf0rpHIwo9zkfuFv1x3P/vv/KZw2
 5qoKdWRKC71icma1a/5iIJQRf1fXXV0+uDNoThKaPqHRthaE6XMoACivc3DS7feGHp
 NdEPIVw9fWk0A==
From: Adam Edge <baronedge@HIDDEN>
References: <c1bee731-bb8d-2cbc-52a3-a7b3f8a4c6d8@HIDDEN>
 <83a6mp837i.fsf@HIDDEN> <8b780fd8-9fce-e9e7-a2a1-38a0e327a11a@HIDDEN>
Message-ID: <6998e563-d573-ee52-f536-83d176b879ac@HIDDEN>
Date: Wed, 14 Jul 2021 19:05:11 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <8b780fd8-9fce-e9e7-a2a1-38a0e327a11a@HIDDEN>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Received-SPF: pass client-ip=37.120.193.124; envelope-from=baronedge@HIDDEN;
 helo=mail.cock.li
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.001,
 SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
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.4 (--)

On 7/14/21 7:00 PM, Adam Edge wrote:
> On 7/14/21 3:55 PM, Eli Zaretskii wrote:
>>> From: Adam Edge <baronedge@HIDDEN>
>>> Date: Wed, 14 Jul 2021 01:27:22 +0300
>>>
>>> I have encountered this bug while using lsp-ui mode. When a text is
>>> propertized with the display property `height', it is then displayed
>>> with the incorrect spacing. To test it, I have used this code:
>>>
>>> (require 'lsp-ui)
>>> (let* ((text "Hello world")
>>>       (propertized (progn (add-face-text-property 0 (length text)
>>> 'lsp-ui-sideline-code-action nil text)
>>>                           text))
>>>       (overlay (make-overlay 1 1)))
>>>   (overlay-put overlay 'after-string (concat propertized
>>>                                         (propertize propertized 'display
>>> (lsp-ui-sideline--compute-height)))))
>>>
>>> lsp-ui-sideline-code-action can be any face with a font with different
>>> spacing. In my Emacs configuration, it is defined as:
>>>
>>> (font-spec :family "Fira Code" :size 14 :weight 'regular :spacing 100)
>>>
>>> When the two "Hello world"s are displayed next to each other, the one
>>> which is propertized with the "height" property displays wider. In
>>> lsp-ui's case, this causes text to be cut off by the right side of the
>>> Emacs frame as it overflows (since the code actions are displayed as an
>>> overlay on the right side of the frame).
>> I'm a bit confused by the scenario description.  Could you perhaps
>> provide a simple self-contained recipe, which would not need any
>> third-party packages like lsp-ui, and could be invoked from "emacs -Q"?
>> It sounds like any references to lsp-ui in your scenario are not
>> really relevant, and just muddy the waters?
>>
>> And what do you mean by "a font with a different spacing"? what is the
>> spacing of the default font in your case? and what is the default font
>> itself?
>>
>> Thanks.
>>
>>
>>
> Thanks for your response. I am trying to come up with something that works
> on emacs -Q. This is what I've come up with:
>
> (setq my-font (font-spec :family "Fira Code" :size 14 :weight 'regular :spacing 100))
> (set-frame-font my-font)
> (set-face-attribute 'default t :font my-font)
>
> (defface test-face '((t :inherit default))
>   "A face for testing.")
> (let* ((text "Hello world")
>        (propertized (progn (add-face-text-property 0 (length text) 'test-face nil text)
> 			   text))
>        (overlay (make-overlay 1 1)))
>   (overlay-put overlay 'after-string (concat propertized "\n"
> 					     (propertize propertized 'display '(height 1)))))
>
> Running this in the scratch buffer in emacs -Q produces two "Hello world"s,
> the latter having more space between each letter and being slightly bolder
> (which is not what I want).
>
> Another thing I've noticed is that when I just did the (set-face-attribute)
> part without (set-frame-font) and opened a new frame, the frame's font was
> the same as the one with incorrect letter spacing. When I did
> M-x describe-font RET, this is what I got in the `full name' line:Fira
> Code:pixelsize=14:foundry=CTDB:weight=normal:slant=normal:width=normal:spacing=90:scalable=true
> And the font loaded is: /usr/share/fonts/fira-code/FiraCode-Medium.ttf
> After doing the (set-frame-font), the font returned to the desired
> spacing. The `full-name' line in describe-font now is: Fira
> Code:pixelsize=14:foundry=CTDB:weight=normal:slant=normal:width=normal:spacing=100:scalable=true
> And the font loaded now is:
> /home/aedge/.local/share/fonts/FiraCode-Retina.ttf I suppose removing
> the system font should fix my problem here, and the issue can be closed,
> but why does the font change when '(height 1) is specified?
>

I am sorry, for some reason the lines in my previous email got messed up, so
I am reproducing them below;

When I did M-x describe-font RET, this is what I got in the `full name'
line:

Fira
Code:pixelsize=14:foundry=CTDB:weight=normal:slant=normal:width=normal:spacing=90:scalable=true
And the font file loaded was: /usr/share/fonts/fira-code/FiraCode-Medium.ttf

After doing the (set-frame-font), the font returned to the desired
spacing. The `full-name' line in describe-font now is:

Fira
Code:pixelsize=14:foundry=CTDB:weight=normal:slant=normal:width=normal:spacing=100:scalable=true
And the font loaded now is:
/home/aedge/.local/share/fonts/FiraCode-Retina.ttf

I suppose removing the system font should fix my problem here, and the
issue can be closed, but why does the font change when '(height 1) is
specified?





Last modified: Wed, 14 Jul 2021 16:15:01 UTC

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