GNU logs - #77961, boring messages


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 21 Apr 2025 15:58:02 +0000
Resent-Message-ID: <handler.77961.B.174525103311775 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 77961 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.174525103311775
          (code B ref -1); Mon, 21 Apr 2025 15:58:02 +0000
Received: (at submit) by debbugs.gnu.org; 21 Apr 2025 15:57:13 +0000
Received: from localhost ([127.0.0.1]:37028 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u6tW9-00033l-Qh
	for submit <at> debbugs.gnu.org; Mon, 21 Apr 2025 11:57:13 -0400
Received: from lists.gnu.org ([2001:470:142::17]:54532)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <inigoserna@HIDDEN>)
 id 1u6mbw-0006Ux-HK
 for submit <at> debbugs.gnu.org; Mon, 21 Apr 2025 04:34:42 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <inigoserna@HIDDEN>)
 id 1u6mbq-00055K-Mn
 for bug-gnu-emacs@HIDDEN; Mon, 21 Apr 2025 04:34:35 -0400
Received: from mout.gmx.net ([212.227.17.20])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <inigoserna@HIDDEN>)
 id 1u6mbn-0001v7-Hw
 for bug-gnu-emacs@HIDDEN; Mon, 21 Apr 2025 04:34:34 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.com;
 s=s31663417; t=1745224468; x=1745829268; i=inigoserna@HIDDEN;
 bh=daXzKRRKYcVbVlISwnK7scNbO0FSpq7zFPkPBAfYTFQ=;
 h=X-UI-Sender-Class:From:To:Subject:Date:Message-ID:MIME-Version:
 Content-Type:Content-Transfer-Encoding:cc:
 content-transfer-encoding:content-type:date:from:message-id:
 mime-version:reply-to:subject:to;
 b=P/sBoCTHpxom4TGJRuEQpN+X7zEP/kFlpYBiYdJRO2ImqDCEZpO5fobaBXQzEpBi
 CDgp42/48i6dNtPD0As+hsYVLtL0HSi3tLEp8q/mEWiGuDha7eGfZ1pqBuysU6Nez
 pURVyOUTLjB1VJHjYbLkKweNexVWCdFGzc0oeCvbtHMpo1WGKawZSbE768zzGFHfF
 LgkUv6Gm9BZbGl9c/jgLlljoM2fb3P7jXUhVF6mUmzcRjIxsplVQbvFDikR1UMTzz
 BKBUYDt0zyx3qUookcN6QMA7Jj9z8XsfXFOQbACkdCUazk9wsFNaAiRbwzr1cLzyO
 GQC0OlFpyB4B9SHy9A==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from zeus.gmx.com ([93.176.183.109]) by mail.gmx.net (mrgmx104
 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MFbRm-1uKavC1gEw-00DMjZ; Mon, 21
 Apr 2025 10:34:28 +0200
From: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
User-Agent: mu4e 1.12.9; emacs 31.0.50
Date: Mon, 21 Apr 2025 10:34:01 +0200
Message-ID: <877c3dhq12.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:q+BKKU2VE54unN3PpjazdWJeNsvvW+OtX5M9pCUIwQR1jHw6DcY
 9hImRAuZvaiA8w8cMR1ax6zX4j43XAEk4v3pTeaVGH9nUPEqNvMrnGKwduUj46gLRWhVHIb
 IllFsK37aOFDY0aXzuZwwOxM9FlISmbeXHEt6M5asdUQ4nE0RgWCcJNACKFtkkttJ4e7zrv
 prf1fEZrbgiqZxY6m6r1A==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:n/dthvKaAKI=;sAK1iTF2yqs64LmI0P+AgLz7rss
 +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
 XpmrsMbtwwMPy+fxB+GYrtzzcPJyS9Pto4
Received-SPF: pass client-ip=212.227.17.20; envelope-from=inigoserna@HIDDEN;
 helo=mout.gmx.net
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 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, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001,
 RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.0 (/)
X-Mailman-Approved-At: Mon, 21 Apr 2025 11:57:08 -0400
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.0 (-)

Hi,

Since a few weeks ago I'm noting that HTML emails rendering is=20
very slow,
f.e. from 1 second to 5-6 seconds.

I compile Emacs with PGTK and Native Compilation every week on
GNU/Linux Fedora 41/42, and use mu4e to read emails.
More info of my compilation flags below.


Today I got some free time and proceed to profile the issue, it=20
showed
~10x more time in function 'shr-render-td-1' vs emacs v30.1.

As this function is not changed since time ago I've bisected the=20
problem,
which showed that the commit=20
#eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
was the culprit:

   [machine] /h/_/l/d/emacs.bug > git bisect good
       eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5 is the first bad=20
       commit
   commit eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
   Author: Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN>
       Make sure to initialize glyph::frame to NULL (bug#77039)
               * src/dispnew.c (adjust_glyph_matrix): Clear glyph=20
               memory when
       enlarging window-system window glyph matrices.
    src/dispnew.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)


If I comment out the two lines added in this commit, problem=20
disappears.

I've read bug #77039 comment but it's way off my understanding.


But looking deeper into the problem, it is related with my own=20
theme,
which hides mode-line of non-active windows by setting its height=20
to a
small value:

   (mode-line-inactive ((((type tty)) (:background "#222222"=20
   :foreground
,elms-fg :height 0.1))
                       (((type graphic)) (:background ,elms-bg
:foreground ,elms-fg :height 0.1))))


If remove that height attribute (or set it to a bigger value such=20
as
0.6) the issue disappears.


Thanks,
--=20
I=C3=B1igo Serna


########################################################################






In GNU Emacs 31.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version
 3.24.49, cairo version 1.18.2) of 2025-04-20 built on zeus
Repository revision: 8c04396b198e81c1467314e44b720e3322ca8643
Repository branch: master
System Description: Fedora Linux 42 (Workstation Edition)

Configured using:
 'configure -C --prefix=3D/opt/emacs.git --with-pgtk --with-xinput2
 --without-xwidgets --with-native-compilation=3Daot=20
 --with-tree-sitter
 --disable-gc-mark-trace 'CFLAGS=3D-O2 -mtune=3Dnative -march=3Dnative
 -fomit-frame-pointer''
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ=20
JPEG
LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP=20
NOTIFY
INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB
Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  telega-root-auto-fill-mode: t
  telega-contact-birthdays-mode: t
  telega-active-video-chats-mode: t
  telega-active-locations-mode: t
  telega-patrons-mode: t
  telega-notifications-mode: t
  telega-active-stories-mode: t
  global-highlight-changes-mode: t
  highlight-changes-visible-mode: t
  beacon-mode: t
  server-mode: t
  consult-denote-mode: t
  denote-rename-buffer-mode: t
  denote-menu-bar-mode: t
  mu4e-modeline-mode: t
  which-key-mode: t
  pdf-occur-global-minor-mode: t
  nerd-icons-completion-mode: t
  mini-modeline-mode: t
  diff-hl-flydiff-mode: t
  global-diff-hl-mode: t
  global-colorful-mode: t
  colorful-mode: t
  binky-mode: t
  global-atomic-chrome-edit-mode: t
  outline-minor-mode: t
  marginalia-mode: t
  vertico-indexed-mode: t
  vertico-multiform-mode: t
  savehist-mode: t
  vertico-mode: t
  symbol-overlay-mode: t
  flymake-mode: t
  dumb-jump-mode: t
  corfu-popupinfo-mode: t
  corfu-indexed-mode: t
  global-corfu-mode: t
  corfu-mode: t
  electric-pair-mode: t
  recentf-mode: t
  delete-selection-mode: t
  minibuffer-depth-indicate-mode: t
  save-place-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  context-menu-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  minibuffer-regexp-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  abbrev-mode: t
  hs-minor-mode: t

Load-path shadows:
None found.

Features:
(shadow shr-color sort gnus-cite mm-archive mail-extr qp textsec
uni-scripts idna-mapping ucs-normalize uni-confusable=20
textsec-check
em-unix em-term em-script em-prompt em-pred em-ls em-hist em-glob
em-extpipe em-cmpl em-dirs em-basic em-banner em-alias esh-mode=20
esh-var
telega-obsolete telega telega-tdlib-events telega-match=20
telega-root
telega-info telega-chat telega-modes telega-company telega-emoji
telega-user telega-notifications telega-voip telega-msg=20
telega-story
telega-webpage visual-fill-column telega-tme telega-sticker
telega-vvnote telega-ffplay telega-i18n telega-sort telega-filter
telega-ins telega-inline telega-util telega-folders telega-topic
telega-media telega-tdlib telega-server telega-core cursor-sensor
telega-customize emacsbug display-line-numbers network-stream=20
url-http
url-gw nsm url-cache url-auth help-fns radix-tree vertico-sort=20
orderless
org-indent oc-basic ol-eww ol-rmail ol-mhe ol-irc ol-info ol-gnus
nnselect ol-docview doc-view ol-bibtex bibtex ol-bbdb ol-w3m=20
ol-doi
org-link-doi go-mode find-file etags fileloop calc calc-loaddefs
calc-macs denote-journal hilit-chg beacon server tramp-adb=20
tramp-cache
time-stamp tramp-sh checkdoc lisp-mnt vterm vterm-module=20
term/xterm
xterm flyspell ispell transient consult-denote denote calfw-org
org-capture org-agenda calfw-ical icalendar diary-lib=20
diary-loaddefs
calfw-cal calfw edmacro holidays holiday-loaddefs org-contacts cl
ob-python ob-shell org-superstar org-protocol timezone=20
mu4e-contrib mu4e
mu4e-org mu4e-notification mu4e-main smtpmail mu4e-view=20
mu4e-mime-parts
crm mu4e-headers mu4e-thread mu4e-actions mu4e-compose mu4e-draft
gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig
gnus-sum gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud=20
nnimap
nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range=20
gnus-win
mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message=20
flow-fill
mu4e-contacts mu4e-update mu4e-folders mu4e-context=20
mu4e-query-items
mu4e-server mu4e-modeline mu4e-vars mu4e-helpers mu4e-config=20
mu4e-window
mu4e-obsolete which-key printing ps-print ps-print-loaddefs lpr
per-buffer-theme pdf-occur ibuf-ext ibuffer ibuffer-loaddefs=20
tablist
tablist-filter semantic/wisent/comp semantic/wisent
semantic/wisent/wisent semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch
pdf-misc pdf-tools pdf-view jka-compr pdf-cache pdf-info tq=20
pdf-util
pdf-macs image-mode exif notifications dbus nerd-icons-completion
nerd-icons-dired nerd-icons nerd-icons-faces nerd-icons-data
nerd-icons-data-mdicon nerd-icons-data-flicon=20
nerd-icons-data-codicon
nerd-icons-data-devicon nerd-icons-data-sucicon=20
nerd-icons-data-wicon
nerd-icons-data-faicon nerd-icons-data-powerline=20
nerd-icons-data-octicon
nerd-icons-data-pomicon nerd-icons-data-ipsicon mynewspaper
multiple-cursors mc-separate-operations rectangular-region-mode
mc-mark-pop mc-edit-lines minimap mini-modeline face-remap lms=20
iedit
iedit-lib mc-hide-unmatched-lines-mode mc-mark-more=20
html-mode-expansions
sgml-mode mc-cycle-cursors multiple-cursors-core rect=20
hideshow-fringe
hideshow gptel-openai-extras gptel-ollama gptel gptel-openai
google-translate-smooth-ui google-translate=20
google-translate-default-ui
google-translate-core-ui facemenu ido google-translate-core
google-translate-backend expand-region text-mode-expansions
the-org-mode-expansions python-el-fgallina-expansions
er-basic-expansions expand-region-core expand-region-custom
diff-hl-flydiff diff-hl log-view log-edit message sendmail=20
yank-media
rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse=20
rfc2231
rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader add-log
pcvs-util vc-dir vc vc-dispatcher epa-file epa epg rfc6068=20
epg-config
colorful-mode binky-mode avy atomic-chrome websocket bindat=20
let-alist
webkit-ace webkit webkit-module derived eww vtable mule-util=20
url-queue
shr pixel-fill kinsoku url-file puny mm-url gnus nnheader=20
gnus-util
mail-utils range mm-util mail-prsvr embark-org org-element=20
org-persist
org-id org-refile org-element-ast inline avl-tree org ob ob-tangle
ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script smie
executable ob-comint org-pcomplete org-list org-footnote org-faces
org-entities noutline outline ob-emacs-lisp ob-core ob-eval=20
org-cycle
org-table ol org-fold org-fold-core org-keys oc org-loaddefs=20
cal-menu
calendar cal-loaddefs org-version org-compat org-macs shell-pop=20
term
disp-table ehelp em-tramp tramp trampver tramp-integration=20
tramp-message
tramp-compat shell parse-time iso8601 time-date format-spec
tramp-loaddefs eshell esh-cmd generator esh-ext esh-proc esh-opt=20
esh-io
esh-arg pcomplete esh-module esh-module-loaddefs esh-util files-x
dired-subtree dired-narrow dired-hacks-utils dired-aux dired-x=20
dired
dired-loaddefs embark-consult embark ffap marginalia consult-dir=20
consult
bookmark vertico-indexed vertico-multiform savehist vertico
symbol-overlay eglot external-completion jsonrpc flymake thingatpt=20
diff
diff-mode track-changes ert ewoc debug backtrace find-func=20
filenotify
compile text-property-search imenu dumb-jump popup dash s xref=20
cape
kind-icon svg-lib color svg xml corfu-popupinfo corfu-indexed=20
corfu
cus-edit pp cus-load python project compat treesit comint ansi-osc=20
ring
ansi-color dom pcase kmacro advice inigo-theme easy-mmode hl-line
elec-pair recentf tree-widget wid-edit reveal delsel mb-depth comp
comp-cstr comp-run comp-common rx saveplace finder-inf info
atomic-chrome-autoloads avy-autoloads beacon-autoloads
binky-mode-autoloads calfw-cal-autoloads calfw-ical-autoloads
calfw-org-autoloads cape-autoloads colorful-mode-autoloads
consult-denote-autoloads consult-dir-autoloads corfu-autoloads
debbugs-autoloads denote-journal-autoloads=20
denote-markdown-autoloads
denote-org-autoloads denote-silo-autoloads denote-autoloads
diff-hl-autoloads dired-narrow-autoloads dired-subtree-autoloads
dired-hacks-utils-autoloads dumb-jump-autoloads=20
embark-consult-autoloads
consult-autoloads embark-autoloads expand-region-autoloads
expreg-autoloads focus-autoloads go-mode-autoloads
google-translate-autoloads gptel-autoloads helpful-autoloads
elisp-refs-autoloads f-autoloads htmlize-autoloads jinx-autoloads
kind-icon-autoloads ledger-mode-autoloads marginalia-autoloads
markdown-mode-autoloads mastodon-autoloads mini-modeline-autoloads
multiple-cursors-autoloads nerd-icons-completion-autoloads
nerd-icons-dired-autoloads nerd-icons-autoloads nov-autoloads
esxml-autoloads orderless-autoloads org-superstar-autoloads
pdf-tools-autoloads per-buffer-theme-autoloads persist-autoloads
popup-autoloads posframe-autoloads request-autoloads=20
shell-pop-autoloads
svg-lib-autoloads symbol-overlay-autoloads tablist-autoloads
telega-autoloads tp-autoloads ts-autoloads s-autoloads=20
dash-autoloads
vertico-autoloads visual-fill-column-autoloads vterm-autoloads
web-mode-autoloads websocket-autoloads wgrep-autoloads
yaml-mode-autoloads yasnippet-autoloads package browse-url xdg url
url-proxy url-privacy url-expand url-methods url-history=20
url-cookie
generate-lisp-file url-domsuf url-util mailcap url-handlers=20
url-parse
auth-source cl-seq eieio eieio-core cl-macs password-cache json=20
subr-x
map byte-opt gv bytecomp byte-compile url-vars cl-extra help-mode
warnings icons cl-loaddefs cl-lib rmc iso-transl tooltip cconv=20
eldoc
paren electric uniquify ediff-hook vc-hooks lisp-float-type=20
elisp-mode
mwheel term/pgtk-win pgtk-win term/common-win touch-screen=20
pgtk-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list=20
replace
newcomment text-mode lisp-mode prog-mode register page tab-bar=20
menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse=20
jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer=20
nadvice seq
simple cl-generic indonesian philippine cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese=20
eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic=20
indian
cyrillic chinese composite emoji-zwj charscript charprop=20
case-table
epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded=20
button
loaddefs theme-loaddefs faces cus-face macroexp files window
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget keymap hashtable-print-readable backquote threads=20
dbusbind
inotify dynamic-setting system-font-setting font-render-setting=20
cairo
gtk pgtk lcms2 multi-tty move-toolbar make-network-process
tty-child-frames native-compile emacs)

Memory information:
((conses 16 1478725 958791) (symbols 48 63790 373) (strings 32=20
356656 45848)
 (string-bytes 1 10452743) (vectors 16 146706) (vector-slots 8=20
 2469732 617832)
 (floats 8 1987 12487) (intervals 56 30939 9636) (buffers 992 29))

--=20
I=C3=B1igo Serna




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: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
Subject: bug#77961: Acknowledgement (31.0.50; Rendering HTML email is very
 slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5)
Message-ID: <handler.77961.B.174525103311775.ack <at> debbugs.gnu.org>
References: <877c3dhq12.fsf@HIDDEN>
X-Gnu-PR-Message: ack 77961
X-Gnu-PR-Package: emacs
Reply-To: 77961 <at> debbugs.gnu.org
Date: Mon, 21 Apr 2025 15:58: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 77961 <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
77961: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D77961
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
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: Mon, 21 Apr 2025 18:08:04 +0000
Resent-Message-ID: <handler.77961.B77961.174525885919477 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>, Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Cc: 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.174525885919477
          (code B ref 77961); Mon, 21 Apr 2025 18:08:04 +0000
Received: (at 77961) by debbugs.gnu.org; 21 Apr 2025 18:07:39 +0000
Received: from localhost ([127.0.0.1]:38284 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u6vYQ-000544-P8
	for submit <at> debbugs.gnu.org; Mon, 21 Apr 2025 14:07:39 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:53430)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u6vYM-00053p-Vd
 for 77961 <at> debbugs.gnu.org; Mon, 21 Apr 2025 14:07:36 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u6vYD-0007nE-FX; Mon, 21 Apr 2025 14:07:28 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=In8lH1JU/wqD/PItPGPpHoRhpPT50trNhcakc8hoOBs=; b=MFp627lveCOZhls8Dlzm
 6itNA6Eu70tXO66DmZM8uNsPzZtHjv+5BRdnuf14QaBdCGOxeand7jiRgJzM9lpFwtiFyu6wNt/IJ
 +EgVN3dLurr8yS3eRFXR2+Z5ssbvYy+WwlhxfkkzIMU/d8nmnfFmRscvJJluXxVMbxJo7IEJygtAg
 PYU0LdBzKB43OBWH1abOFOS34LruAn+IdZRVRr/cL6mr7w5m68KXGiFS0POafarRY9MN7kO9wIgnG
 W8KJRYJxu7SwSdIqfDFAkOzYLcHTpcM0dS0F9sS2NOIdmS8Lrw0kqeAUDMx4T6nkV+gWZKyWHEQp1
 20ZoN3eSCfysRw==;
Date: Mon, 21 Apr 2025 21:07:21 +0300
Message-Id: <867c3d4cdi.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <877c3dhq12.fsf@HIDDEN> (bug-gnu-emacs@HIDDEN)
References: <877c3dhq12.fsf@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 (---)

> Date: Mon, 21 Apr 2025 10:34:01 +0200
> From:  Iñigo Serna via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
> Hi,
> 
> Since a few weeks ago I'm noting that HTML emails rendering is 
> very slow,
> f.e. from 1 second to 5-6 seconds.
> 
> I compile Emacs with PGTK and Native Compilation every week on
> GNU/Linux Fedora 41/42, and use mu4e to read emails.
> More info of my compilation flags below.
> 
> 
> Today I got some free time and proceed to profile the issue, it 
> showed
> ~10x more time in function 'shr-render-td-1' vs emacs v30.1.
> 
> As this function is not changed since time ago I've bisected the 
> problem,
> which showed that the commit 
> #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
> was the culprit:
> 
>    [machine] /h/_/l/d/emacs.bug > git bisect good
>        eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5 is the first bad 
>        commit
>    commit eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
>    Author: Gerd Möllmann <gerd.moellmann@HIDDEN>
>        Make sure to initialize glyph::frame to NULL (bug#77039)
>                * src/dispnew.c (adjust_glyph_matrix): Clear glyph 
>                memory when
>        enlarging window-system window glyph matrices.
>     src/dispnew.c | 3 ++-
>     1 file changed, 2 insertions(+), 1 deletion(-)
> 
> 
> If I comment out the two lines added in this commit, problem 
> disappears.
> 
> I've read bug #77039 comment but it's way off my understanding.
> 
> 
> But looking deeper into the problem, it is related with my own 
> theme,
> which hides mode-line of non-active windows by setting its height 
> to a small value:
> 
>    (mode-line-inactive ((((type tty)) (:background "#222222" 
>    :foreground
> ,elms-fg :height 0.1))
>                        (((type graphic)) (:background ,elms-bg
> :foreground ,elms-fg :height 0.1))))
> 
> 
> If remove that height attribute (or set it to a bigger value such 
> as 0.6) the issue disappears.

Gerd, any comments or suggestions?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 21 Apr 2025 18:33:05 +0000
Resent-Message-ID: <handler.77961.B77961.17452603245277 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.17452603245277
          (code B ref 77961); Mon, 21 Apr 2025 18:33:05 +0000
Received: (at 77961) by debbugs.gnu.org; 21 Apr 2025 18:32:04 +0000
Received: from localhost ([127.0.0.1]:38486 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u6vw4-0001N3-2u
	for submit <at> debbugs.gnu.org; Mon, 21 Apr 2025 14:32:04 -0400
Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:43118)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u6vw1-0001MS-46
 for 77961 <at> debbugs.gnu.org; Mon, 21 Apr 2025 14:32:02 -0400
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-39d83782ef6so3767671f8f.0
 for <77961 <at> debbugs.gnu.org>; Mon, 21 Apr 2025 11:32:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745260314; x=1745865114; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=HB/zjNkVvQUe/ikUUR0KTVRC8LM8hauYgZwq6yRp6IQ=;
 b=ZTf4/MWGmf3EBEnQDP8TBQLxrFQ8EfZwPX3anoMZm0YYkhjFbxQyfxrK+rTfSWrQ8l
 F2WaKUfIQ2rQLbQdvea2cxhLWSqYY4gu5F6CBwRCYwfN3U+G94jtrm3C+7AK5qIQO2IW
 xe2HRku2pEi3PserQO30NEsp6iC11769Iv0EwcFQIX4hH5lqIOjxR6igfuMU8r6uMccn
 SkW2KQN0jP/cTeR5l1pvwQnC078gdhUAVAxpmMPmzjQ0Yx0mKiG6Bg1A2K5VsmmI1V7R
 Zi8tihMEYCIJZPw4RRjSMKDWL/YZYZc7L/0frR2wtnXOW8e9JxKy+EGQIayodxFkJXro
 JtUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745260314; x=1745865114;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=HB/zjNkVvQUe/ikUUR0KTVRC8LM8hauYgZwq6yRp6IQ=;
 b=L6nbKs/JD96Ev3tab0FfXYGG53rEvsCQrgyq0aJu7J5Oid0uFn4iHwPm9kE5aY0H/P
 5z1wkgOTHCZ5KrcNbCspvX6AbX8ObDG+Dxr7uGSHTfVndp2630wBJHtPUwcFgQnlS/1a
 TPGlbu1vhvihzRxRVvEDdg1R05OybMBJeqXUA8fZQtcZxR3plcF/sdVu9qGBm4ZrEkc9
 8lZEXHtRg/y4d05PzR7GYGm01U0Rh14v65wjsGMRBozoNM5zeSE/H8DhEdFK2QdlQJ8f
 KFPjyyjbinJfdGQRXnS/cWoHF/Ok8F1OWzMfUY47Jis6AyIfLh6qkVILZfsCgpFkoClS
 8+Mg==
X-Forwarded-Encrypted: i=1;
 AJvYcCV6gQayihHCBPw1CDMeEciFZZKHG0hUNJViJPOKgnIU/uFB640pZw7qpQWLKuqAvURZl5hAZQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YysJr1z1itsvHRVBQb1dhDuvgYvl74yd1Mb/GX/oti+Cxb6Ec/f
 m5TBhOFZo/bESCPbU2sFJ2YjuoVCCG8m+qsOpZjVhX7Ddlnn/kKd5jAN9N4q
X-Gm-Gg: ASbGncuo75mQE3+o2Noty1hth98t3VEmbJYn1blJOGnBMYj9j9kr+aIFTa6USvWCqvJ
 18mgZqlz35o+vGvLzl3eP2gxhkb2cMnKXfVx6es6S9tTxf8xMexi/d9d2uPk77oNQ5K+SH2XlqI
 a8NPsk3sHPYeDJkppxD2us3gNmeKkO7O1bYJASAeOKtUdMdo9pYcuQ21QzcN5uOljxBGGmmCXIq
 tk+mQXVP/6hkg93TuoFUduMvdJLxBcHm9VBkSRhuEeIm/06F2pph0CdHLKVUy5RzoX17iCnL5aN
 2SyHfmi0XJdVJgU135e+sqtMAuDDD/nLrwogk/a288ZYjXpmr5MAONJ18cpSWtn/K7lBZuODbrd
 BdvlrqZXpQMlrYL+Oyz1H9yS6tFQ3eRSjGJUTkcBwgA==
X-Google-Smtp-Source: AGHT+IFSuNHjIRC/Yz5IBePJAv8uu0r43WQ4xKnkNCT1KSxptnTzPEb/Cetxf0KL0hjbXqHcaRDVHw==
X-Received: by 2002:a05:6000:1447:b0:391:386d:5971 with SMTP id
 ffacd0b85a97d-39ef8d934c3mr10797836f8f.14.1745260314513; 
 Mon, 21 Apr 2025 11:31:54 -0700 (PDT)
Received: from pro2 (p200300e0b728b60058490051f8c259a0.dip0.t-ipconnect.de.
 [2003:e0:b728:b600:5849:51:f8c2:59a0])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa43bf09sm12458444f8f.44.2025.04.21.11.31.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 21 Apr 2025 11:31:53 -0700 (PDT)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <867c3d4cdi.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
Date: Mon, 21 Apr 2025 20:31:53 +0200
Message-ID: <m2sem1e57q.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
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.0 (-)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Eli Zaretskii <eliz@HIDDEN> writes:

>> Date: Mon, 21 Apr 2025 10:34:01 +0200
>> From:  I=C3=B1igo Serna via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
>>=20
>> Hi,
>>=20
>> Since a few weeks ago I'm noting that HTML emails rendering is=20
>> very slow,
>> f.e. from 1 second to 5-6 seconds.
>>=20
>> I compile Emacs with PGTK and Native Compilation every week on
>> GNU/Linux Fedora 41/42, and use mu4e to read emails.
>> More info of my compilation flags below.
>>=20
>>=20
>> Today I got some free time and proceed to profile the issue, it=20
>> showed
>> ~10x more time in function 'shr-render-td-1' vs emacs v30.1.
>>=20
>> As this function is not changed since time ago I've bisected the=20
>> problem,
>> which showed that the commit=20
>> #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
>> was the culprit:
>>=20
>>    [machine] /h/_/l/d/emacs.bug > git bisect good
>>        eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5 is the first bad=20
>>        commit
>>    commit eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
>>    Author: Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN>
>>        Make sure to initialize glyph::frame to NULL (bug#77039)
>>                * src/dispnew.c (adjust_glyph_matrix): Clear glyph=20
>>                memory when
>>        enlarging window-system window glyph matrices.
>>     src/dispnew.c | 3 ++-
>>     1 file changed, 2 insertions(+), 1 deletion(-)
>>=20
>>=20
>> If I comment out the two lines added in this commit, problem=20
>> disappears.
>>=20
>> I've read bug #77039 comment but it's way off my understanding.
>>=20
>>=20
>> But looking deeper into the problem, it is related with my own=20
>> theme,
>> which hides mode-line of non-active windows by setting its height=20
>> to a small value:
>>=20
>>    (mode-line-inactive ((((type tty)) (:background "#222222"=20
>>    :foreground
>> ,elms-fg :height 0.1))
>>                        (((type graphic)) (:background ,elms-bg
>> :foreground ,elms-fg :height 0.1))))
>>=20
>>=20
>> If remove that height attribute (or set it to a bigger value such=20
>> as 0.6) the issue disappears.
>
> Gerd, any comments or suggestions?

Please try if this helps:


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment; filename=xxx.diff

diff --git a/src/dispnew.c b/src/dispnew.c
index 440b1ba83b9..b9146b9ef3d 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -506,10 +506,9 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y
 	      row->glyphs[LEFT_MARGIN_AREA]
 		= xnrealloc (row->glyphs[LEFT_MARGIN_AREA],
 			     dim.width, sizeof (struct glyph));
-	      /* We actually need to clear only the 'frame' member, but
-                 it's easier to clear everything.  */
-	      memset (row->glyphs[LEFT_MARGIN_AREA], 0,
-		      dim.width * sizeof (struct glyph));
+
+	      for (int i = 0; i < dim.width; ++i)
+		row->glyphs[LEFT_MARGIN_AREA][i].frame = NULL;
 
 	      if ((row == matrix->rows + dim.height - 1
 		   /* The mode line, if displayed, never has marginal

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


The hypothesis behind this would be: The rendering apparently leads to
increasing glyph matrix sizes; maybe it does something with fonts, no
idea. The memset clears all glyphs which I can only imagine to play a
role when we somewhere in the display code compare desired and current
glyphs, and that fails with the memset and didn't fail without it. Where
that might be I have no idea.

Anyway, with the loop in my diff it should be as before, and
glyph::frame is unused in the window-system case, so...


--=-=-=--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 21 Apr 2025 18:47:03 +0000
Resent-Message-ID: <handler.77961.B77961.174526117820621 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.174526117820621
          (code B ref 77961); Mon, 21 Apr 2025 18:47:03 +0000
Received: (at 77961) by debbugs.gnu.org; 21 Apr 2025 18:46:18 +0000
Received: from localhost ([127.0.0.1]:38622 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u6w9q-0005M3-5x
	for submit <at> debbugs.gnu.org; Mon, 21 Apr 2025 14:46:18 -0400
Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:44113)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u6w9n-00055r-1Y
 for 77961 <at> debbugs.gnu.org; Mon, 21 Apr 2025 14:46:15 -0400
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cf58eea0fso20573045e9.0
 for <77961 <at> debbugs.gnu.org>; Mon, 21 Apr 2025 11:46:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745261168; x=1745865968; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=f/xR2cHuILD8opOVJbSMxpsEIIvKLnC9vNA4ncgDvkw=;
 b=FxXcmH45pCjbydWAtgfWsQERjijlmGu6PMf29uyvVI6gufrc+Adq3lH+0zZrXq47yG
 f1DzuQl2ZVbytG1CZCeKdxFv/9F+j0H8ijvwrSmBQFnxY2HjXWM6aDLJUexLGLfQ4tM8
 EBI2SROg7uc2rMUBYBPHY/gK8uztQRWoGvj1N0N5P4vIWahl82JphkRKU+ybLXFhqEdc
 PSliYaa3D/hQ5zi/oT+xY1kKtWzHh/95Oo1RC1mSp3Q+vKn29jAGrItQPwF0eyX+c0cV
 LkG/QlzejWl3BZ4GOG9vHJ+qT4SoUs6U7WdEI13SOvozkmt3f/EXeDr8qNjbWzo9SuMu
 biKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745261168; x=1745865968;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=f/xR2cHuILD8opOVJbSMxpsEIIvKLnC9vNA4ncgDvkw=;
 b=OJ+n/B4nMYDy2ZILdtPljLTIVP7KQkt4xQ+wEMQQFUBBwFMho5SW3wRrjhalKtkJPj
 MwThGLQN5UlVZlWK/ElD5k0NLjs3kImxfz9G3YbWSUsfXV69vboMSTuFpAvKN/bOElC5
 PDRjyqVaNbVD+SgBpyeenay3BS1A00ljJzEqVaWUpSBoKW4dFwKb9cQ+sU8XHVeL3bOJ
 1qjM58x6hZpnoO+tVtC56D06/etoLanRBQO+tyyYqYgBppG7lfkq4eJblBtTRyBFJDFv
 d10bi4vw1+g/UsXgm578nGTiKmyzAPJnDz3oaZ9jLz6krJEC6AsnOMLHLFmU5iFi04cu
 qt0w==
X-Forwarded-Encrypted: i=1;
 AJvYcCWLWqLFVcBD+LiZUwNjWnW02jR94z8iFU/dmgYRbOXHNdHglW81dvrW+WhlkaEdkFa9zBIK5A==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YwteCd7ajR6k2sUcf/F54jxXh8bZWBtc8JJKL8TK/P9rGPyxFy2
 +OVNaqr8fr1QOpfh0q25NEbW8NlkQVRCmGf9rCsxdEHCoLHgW3aoUxEIJTes
X-Gm-Gg: ASbGncuS02VwtixrGaBOW6ZMb/26/jg+w6zuwR6VCDnCvq6JINQT5PIEsZAjnsFKXyv
 MzvCTjOdv0v+kUO9e9rE/HfGMRJ0xBzkAPvF707z7aPiPhfcOVJ+EwAHGcKYqBkhqt7+vCwdru9
 3t4BNdFD/x5osBeNYCLQUEFUN2xUZAkhN2BWZrtEcYMa0MLgbq/lNwNlyurdIEJj6NiMFab+dXb
 JwTJku0bAL+rIHqrZD0tA9LZmoN8RvfpglCYXQunZ5qSQ4L/r9eSZ4yuJzyCU9Ym/I9mY3+BNu0
 cLzuDpON0u5KHxgI+WkfwDUw4/eh+1kYMTQ7hxtqBsWAiZFqzWI9M3nmA1IFg3dYXCD57cWZ26T
 LlZCQpNPfTjU7hDE9zDG8fzehWxctzegb1RqMETOVIw==
X-Google-Smtp-Source: AGHT+IGh0LVTAgRUqH4oMzmtvFLImJDKPXZcV5jHEjYQ35JuCoBuBSbCwxOfASc1X+oMmYqjUpoBLw==
X-Received: by 2002:a05:600c:3b9b:b0:43c:e478:889 with SMTP id
 5b1f17b1804b1-4406aa8984fmr125408055e9.0.1745261168370; 
 Mon, 21 Apr 2025 11:46:08 -0700 (PDT)
Received: from pro2 (p200300e0b728b60058490051f8c259a0.dip0.t-ipconnect.de.
 [2003:e0:b728:b600:5849:51:f8c2:59a0])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4406d5bbd7fsm143898065e9.21.2025.04.21.11.46.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 21 Apr 2025 11:46:07 -0700 (PDT)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <m2sem1e57q.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN>
Date: Mon, 21 Apr 2025 20:46:07 +0200
Message-ID: <m2o6wpe4k0.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
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.0 (-)

Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:

> Anyway, with the loop in my diff it should be as before, and
> glyph::frame is unused in the window-system case, so...

And maybe one other thing: I wonder how this can have the said
performance effect in the first place. Does this renderer call redisplay
over and over, or what is happening there?






Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 21 Apr 2025 20:13:02 +0000
Resent-Message-ID: <handler.77961.B77961.174526633411894 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.174526633411894
          (code B ref 77961); Mon, 21 Apr 2025 20:13:02 +0000
Received: (at 77961) by debbugs.gnu.org; 21 Apr 2025 20:12:14 +0000
Received: from localhost ([127.0.0.1]:39229 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u6xV0-00035l-8N
	for submit <at> debbugs.gnu.org; Mon, 21 Apr 2025 16:12:14 -0400
Received: from mout.gmx.net ([212.227.17.21]:45919)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <inigoserna@HIDDEN>)
 id 1u6xUx-00035S-64
 for 77961 <at> debbugs.gnu.org; Mon, 21 Apr 2025 16:12:11 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.com;
 s=s31663417; t=1745266316; x=1745871116; i=inigoserna@HIDDEN;
 bh=2cWT9ftvkWb+/mSzHD2U+ip8dDRgcdjmJ8LDJcfLbbw=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=TSKBxvKLh7uE+92q+kxIJj+iqXNfITu6EMD4ES2NnI3njiMzoIxn99dqiyczUTOo
 mbMLOtc8GO7u6Tbrk1zrI8UmQnXkuS3AHqs3WD+aFMtheMEX7GJ2iKsKEkgAJr2kj
 3I1TVO7rh4/7lFGx530KwjVO+o/ZqejgvEO0pcZe7HCpxHqaWyWL2i9NTOTul6gaj
 QvSksXjGt5+mxRNvIQ5BT1tv392cx5ceGMo7edXBByFbOt4CcD8Lajof1Xwva3/b9
 E+g0ulQCfgB3dOVn7SPIhBNy4ITmSEmpmAOF9ua5YipcMVVtYy3xStCgbkDWpEsI1
 FM+cTn2UfWheDtfxzQ==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from zeus.gmx.com ([93.176.183.109]) by mail.gmx.net (mrgmx105
 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MoO6C-1uvPPg0172-00ll4f; Mon, 21
 Apr 2025 22:11:56 +0200
From: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
In-Reply-To: <m2sem1e57q.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN>
User-Agent: mu4e 1.12.9; emacs 31.0.50
Date: Mon, 21 Apr 2025 22:11:28 +0200
Message-ID: <87sem1ff67.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Provags-ID: V03:K1:Z5Tjg9ugCCL5eEqEsixXzOo5w7ybv7zmcLNEzIYIKtQpHZK0Ggz
 0DVFQUeuR/epV5ZzhZ3GbsFhd//zDH7mTcXVMaMdEIiLMqJVyI6/0v1Q3eoj51e+d6SiHe9
 RlEtVLK3CxWJissTbRfoLKxBEM1YaAvomsN2q/buufR2w/3v+y3ko8xH/9mmzMJjl6FNnrW
 1WSrYr9qAAM6f4IOHRGng==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:tF4+MdsRCzY=;XQcwskY5KdPcWMGr30HrbEhj8wy
 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
 P2PZhhE3lC38A81dIU0g==
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; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

Hi, and thanks for the quick answer.

On 21 April 2025 at 20:31 +02, Gerd M=C3=B6llmann=20
<gerd.moellmann@HIDDEN> wrote:
> Please try if this helps:
>
> [2. text/x-patch; xxx.diff]...

Sorry, the patch does not solve the issue.

I attach a profiler output, and a HTML file which causes a similar
slowdown when opening from eww.

Thanks,
I=C3=B1igo Serna


--=-=-=
Content-Type: text/plain
Content-Disposition: attachment; filename=profiler.txt
Content-Transfer-Encoding: quoted-printable


[profiler-profile "28.1" cpu #s(hash-table test equal data ([redisplay_inte=
rnal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil n=
il nil] 150 [frame-parameter tab-bar-tabs mapcar let* concat progn if when =
eval format-mode-line mode--line-format-right-align eval redisplay_internal=
\ \(C\ function\) nil nil nil] 1 [nil nil nil nil nil nil nil nil nil nil n=
il nil nil nil nil nil] 65 ["#<byte-code-function 4F2>" buffer-match-p show=
-paren--enabled-p show-paren-function apply timer-event-handler nil nil nil=
 nil nil nil nil nil nil nil] 2 [timer--activate timer-activate-when-idle t=
imer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil nil] 3 [=
time-less-p timer--time-less-p timer--activate timer-activate-when-idle tim=
er-event-handler nil nil nil nil nil nil nil nil nil nil nil] 1 [which-key-=
-hide-popup nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 2 =
[seq-do seq-find mu4e-get-mailing-list-shortname mu4e~headers-mailing-list =
mu4e~headers-field-value "#<byte-code-function A27>" mu4e~headers-update-ha=
ndler mu4e-view mu4e~headers-view-handler mu4e--server-filter nil nil nil n=
il nil nil] 1 [binky--exclude-regexp-p funcall "#<byte-code-function 66A>" =
mapc seq-do seq-some binky--auto-update run-hooks mu4e-get-view-buffer mu4e=
-view mu4e~headers-view-handler mu4e--server-filter nil nil nil nil] 1 [glo=
bal-colorful-mode-enable-in-buffer run-hooks run-mode-hooks mu4e-view-mode =
mu4e-get-view-buffer mu4e-view mu4e~headers-view-handler mu4e--server-filte=
r nil nil nil nil nil nil nil nil] 1 [message-narrow-to-headers-or-head mu4=
e--fake-original-article-buffer mu4e-view mu4e~headers-view-handler mu4e--s=
erver-filter nil nil nil nil nil nil nil nil nil nil nil] 1 [article-remove=
-cr mu4e-view mu4e~headers-view-handler mu4e--server-filter nil nil nil nil=
 nil nil nil nil nil nil nil nil] 1 [rfc2047-decode-string mail-header-pars=
e-content-type mu4e--view-render-buffer mu4e-view mu4e~headers-view-handler=
 mu4e--server-filter nil nil nil nil nil nil nil nil nil nil] 1 [buffer-str=
ing mail-header-remove-whitespace rfc2231-parse-string mail-header-parse-co=
ntent-type article-decode-charset run-hooks mu4e--view-render-buffer mu4e-v=
iew mu4e~headers-view-handler mu4e--server-filter nil nil nil nil nil nil] =
1 [ucs-normalize-region ucs-normalize-NFKC-region ucs-normalize-NFKC-string=
 textsec-local-address-suspicious-p textsec-email-address-suspicious-p text=
sec-suspicious-p article--check-suspicious-addresses article-decode-encoded=
-words run-hooks mu4e--view-render-buffer mu4e-view mu4e~headers-view-handl=
er mu4e--server-filter nil nil nil] 1 [mail-decode-encoded-word-region arti=
cle-decode-encoded-words run-hooks mu4e--view-render-buffer mu4e-view mu4e~=
headers-view-handler mu4e--server-filter nil nil nil nil nil nil nil nil ni=
l] 1 [article-decode-group-name run-hooks mu4e--view-render-buffer mu4e-vie=
w mu4e~headers-view-handler mu4e--server-filter nil nil nil nil nil nil nil=
 nil nil nil] 1 [looking-at mail-extr-voodoo mail-extract-address-component=
s mm-dissect-buffer gnus-display-mime "#<byte-code-function 339>" gnus-arti=
cle-prepare-display mu4e--view-render-buffer mu4e-view mu4e~headers-view-ha=
ndler mu4e--server-filter nil nil nil nil nil] 1 [copy-syntax-table rfc2231=
-parse-string mail-header-parse-content-type mm-dissect-buffer mm-dissect-m=
ultipart mm-dissect-buffer gnus-display-mime "#<byte-code-function 339>" gn=
us-article-prepare-display mu4e--view-render-buffer mu4e-view mu4e~headers-=
view-handler mu4e--server-filter nil nil nil] 1 [mm-dissect-multipart mm-di=
ssect-buffer gnus-display-mime "#<byte-code-function 339>" gnus-article-pre=
pare-display mu4e--view-render-buffer mu4e-view mu4e~headers-view-handler m=
u4e--server-filter nil nil nil nil nil nil nil] 1 [file-attributes file-has=
-changed-p "#<native-comp-function F616e6f6e796d6f75732d6c616d626461_anonym=
ous_lambda_8>" "#<byte-code-function 24A>" mapc seq-do seq-some mailcap-par=
se-mailcaps mailcap-mime-info mm-display-part gnus-mime-display-alternative=
 gnus-mime-display-part gnus-display-mime "#<byte-code-function 339>" gnus-=
article-prepare-display mu4e--view-render-buffer] 1 [quoted-printable-decod=
e-region mm-decode-content-transfer-encoding mm-shr mm-inline-text-html mm-=
display-inline mm-display-part gnus-mime-display-alternative gnus-mime-disp=
lay-part gnus-display-mime "#<byte-code-function 339>" gnus-article-prepare=
-display mu4e--view-render-buffer mu4e-view mu4e~headers-view-handler mu4e-=
-server-filter nil] 5 [mm-shr mm-inline-text-html mm-display-inline mm-disp=
lay-part gnus-mime-display-alternative gnus-mime-display-part gnus-display-=
mime "#<byte-code-function 339>" gnus-article-prepare-display mu4e--view-re=
nder-buffer mu4e-view mu4e~headers-view-handler mu4e--server-filter nil nil=
 nil] 2 [pixel-fill-width shr--window-width shr-insert-document mm-shr mm-i=
nline-text-html mm-display-inline mm-display-part gnus-mime-display-alterna=
tive gnus-mime-display-part gnus-display-mime "#<byte-code-function 339>" g=
nus-article-prepare-display mu4e--view-render-buffer mu4e-view mu4e~headers=
-view-handler mu4e--server-filter] 1 [shr-render-td-1 shr-render-td shr-mak=
e-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-desc=
end shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-t=
able-1 shr-tag-table shr-descend shr-descend] 1242 [set-window-configuratio=
n "#<byte-code-function BF5>" shr-render-td-1 shr-render-td shr-make-table-=
1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-=
render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 s=
hr-tag-table] 1632 [shr-insert shr-descend shr-render-td-1 shr-render-td sh=
r-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr=
-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-=
tag-table-1 shr-tag-table] 1 [binky--auto-update run-hooks set-window-confi=
guration "#<byte-code-function 049>" shr-render-td-1 shr-render-td shr-make=
-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-desce=
nd shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table] 4 [xw-col=
or-values color-values color-name-to-rgb shr-color-visible shr-color-check =
shr-colorize-region shr-insert-table shr-tag-table-1 shr-tag-table shr-desc=
end shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-tab=
le shr-tag-table-1] 2 [kill-buffer "#<byte-code-function 83F>" shr-render-t=
d-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-t=
able shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-1=
 shr-make-table shr-tag-table-1 shr-tag-table] 1 [shr-render-td-1 shr-rende=
r-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-desc=
end shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-tab=
le shr-tag-table-1 shr-tag-table shr-descend shr-tag-body] 375 [frame-param=
eters frame-width shr-tag-table-1 shr-tag-table shr-descend shr-descend shr=
-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 =
shr-tag-table shr-descend shr-tag-body shr-descend shr-tag-html] 1 [shr-ren=
der-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-=
tag-table shr-descend shr-tag-body shr-descend shr-tag-html shr-descend shr=
-insert-document mm-shr mm-inline-text-html mm-display-inline mm-display-pa=
rt] 243 [set-window-configuration "#<byte-code-function 12A>" shr-render-td=
-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-ta=
ble shr-descend shr-tag-body shr-descend shr-tag-html shr-descend shr-inser=
t-document mm-shr mm-inline-text-html] 242 [textsec-suspicious-p shr-tag-a =
shr-descend shr-tag-span shr-descend shr-descend shr-render-td-1 shr-render=
-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-desce=
nd shr-descend shr-render-td-1 shr-render-td] 1 [shr-mark-fill shr-insert s=
hr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table sh=
r-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-ren=
der-td shr-make-table-1 shr-make-table shr-tag-table-1] 1 [shr-descend shr-=
render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 s=
hr-tag-table shr-descend shr-descend shr-render-td-1 shr-render-td shr-make=
-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend] 1 [binky=
--exclude-mode-p funcall "#<byte-code-function 86E>" mapc seq-do seq-some b=
inky--auto-update run-hooks set-window-configuration "#<byte-code-function =
7B0>" shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag=
-table-1 shr-tag-table] 1 [terminal-live-p framep-on-display display-color-=
cells shr-colorize-region shr-insert-table shr-tag-table-1 shr-tag-table sh=
r-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-ma=
ke-table shr-tag-table-1 shr-tag-table shr-descend] 1 ["#<byte-code-functio=
n 392>" mapc seq-do seq-some binky--auto-update run-hooks set-window-config=
uration "#<byte-code-function B56>" shr-render-td-1 shr-render-td shr-make-=
table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-descen=
d] 1 [shr-pixel-buffer-width shr-render-td-1 shr-render-td shr-make-table-1=
 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-r=
ender-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 sh=
r-tag-table shr-descend] 8 [split-string shr-parse-style shr-render-td-1 sh=
r-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table s=
hr-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-m=
ake-table shr-tag-table-1 shr-tag-table] 1 [shr-insert shr-tag-p shr-descen=
d shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table=
 shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-=
render-td shr-make-table-1 shr-make-table] 1 [set-match-data "#<byte-code-f=
unction 318>" replace-regexp-in-string shr-parse-style shr-descend shr-desc=
end shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-t=
able-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-render-td]=
 1 [shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-t=
able shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-1=
 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-r=
ender-td-1] 1 [shr-vertical-motion shr-fill-line shr-fill-lines shr-render-=
td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-=
table shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-=
1 shr-make-table shr-tag-table-1] 3 [shr-face-background shr-insert-table s=
hr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-re=
nder-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-d=
escend shr-descend shr-render-td-1 shr-render-td] 1 [count-lines shr-render=
-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag=
-table shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-table=
-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend] 1 [seq-remove =
binky--auto-update run-hooks set-window-configuration "#<byte-code-function=
 BD7>" shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-ta=
g-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-render-=
td shr-make-table-1] 1 [shr-colorize-region shr-insert-table shr-tag-table-=
1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-render-td shr-m=
ake-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-de=
scend shr-render-td-1 shr-render-td] 1 [shr-pixel-buffer-width shr-render-t=
d-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-t=
able shr-descend shr-tag-body shr-descend shr-tag-html shr-descend shr-inse=
rt-document mm-shr mm-inline-text-html mm-display-inline] 3 [binky--auto-up=
date run-hooks set-window-configuration "#<byte-code-function 79C>" shr-ren=
der-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-=
tag-table shr-descend shr-tag-body shr-descend shr-tag-html shr-descend shr=
-insert-document] 2 [shr-insert shr-fill-text shr-tag-img shr-indirect-call=
 shr-collect-extra-strings-in-table shr-collect-extra-strings-in-table shr-=
collect-extra-strings-in-table shr-collect-extra-strings-in-table shr-colle=
ct-extra-strings-in-table shr-collect-extra-strings-in-table shr-collect-ex=
tra-strings-in-table shr-collect-extra-strings-in-table shr-collect-extra-s=
trings-in-table shr-collect-extra-strings-in-table shr-collect-extra-string=
s-in-table shr-collect-extra-strings-in-table] 1 [replace-regexp-in-string =
shr-parse-style shr-render-td-1 shr-render-td shr-make-table-1 shr-make-tab=
le shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1 sh=
r-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table] =
1 ["#<native-comp-function F616e6f6e796d6f75732d6c616d626461_anonymous_lamb=
da_21>" binky--regexp-match binky--exclude-regexp-p funcall "#<byte-code-fu=
nction 6EA>" mapc seq-do seq-some binky--auto-update run-hooks set-window-c=
onfiguration "#<byte-code-function 7EB>" shr-render-td-1 shr-render-td shr-=
make-table-1 shr-make-table] 1 [binky--regexp-match binky--exclude-regexp-p=
 funcall "#<byte-code-function A61>" mapc seq-do seq-some binky--auto-updat=
e run-hooks set-window-configuration "#<byte-code-function 0A6>" shr-render=
-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1] 2 [shr=
-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table sh=
r-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-ma=
ke-table shr-tag-table-1 shr-tag-table shr-descend shr-tag-body shr-descend=
] 1 [binky--regexp-match binky--exclude-regexp-p funcall "#<byte-code-funct=
ion 90A>" mapc seq-do seq-some binky--auto-update record-window-buffer shr-=
render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 s=
hr-tag-table shr-descend] 2 [shr-make-table shr-tag-table-1 shr-tag-table s=
hr-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-m=
ake-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-=
td-1 shr-render-td shr-make-table-1] 1 ["#<byte-code-function 0EA>" apply s=
eq-uniq puny-highly-restrictive-string-p "#<byte-code-function 9BE>" mapc s=
eq-do seq-every-p puny-highly-restrictive-domain-p textsec-domain-suspiciou=
s-p textsec-url-suspicious-p textsec-suspicious-p shr-tag-a shr-descend shr=
-descend shr-render-td-1] 1 [split-string shr-parse-style shr-descend shr-t=
ag-a shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-1=
 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-r=
ender-td-1 shr-render-td] 1 [add-text-properties shr-urlify shr-tag-a shr-d=
escend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-=
table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1=
 shr-render-td shr-make-table-1] 1 [shr-table-widths shr-tag-table-1 shr-ta=
g-table shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-tabl=
e-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-descend sh=
r-render-td-1 shr-render-td shr-make-table-1] 1 [shr-tag-img shr-indirect-c=
all shr-collect-extra-strings-in-table shr-collect-extra-strings-in-table s=
hr-collect-extra-strings-in-table shr-collect-extra-strings-in-table shr-co=
llect-extra-strings-in-table shr-collect-extra-strings-in-table shr-collect=
-extra-strings-in-table shr-collect-extra-strings-in-table shr-collect-extr=
a-strings-in-table shr-collect-extra-strings-in-table shr-tag-table shr-des=
cend shr-tag-body shr-descend] 1 [seq-empty-p seq-reduce seq-difference tex=
tsec-covering-scripts textsec-restriction-level textsec-ascii-confusable-p =
textsec-domain-suspicious-p textsec-url-suspicious-p textsec-suspicious-p s=
hr-tag-a shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-tab=
le-1 shr-make-table] 1 [color-srgb-to-xyz color-srgb-to-lab shr-color-visib=
le shr-color-check shr-colorize-region shr-descend shr-tag-span shr-descend=
 shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table =
shr-tag-table-1 shr-tag-table shr-descend] 1 [cdr mapcar "#<byte-code-funct=
ion B49>" apply seq-map seq-mapn binky--auto-update record-window-buffer sh=
r-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1=
 shr-tag-table shr-descend shr-descend] 1 [minibufferp funcall "#<byte-code=
-function 351>" mapc seq-do seq-some binky--auto-update record-window-buffe=
r shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-tab=
le-1 shr-tag-table shr-descend shr-descend] 1 [generate-new-buffer-name gen=
erate-new-buffer shr-render-td-1 shr-render-td shr-make-table-1 shr-make-ta=
ble shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1 s=
hr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table]=
 1 [shr-colorize-region shr-descend shr-tag-html shr-descend shr-insert-doc=
ument mm-shr mm-inline-text-html mm-display-inline mm-display-part gnus-mim=
e-display-alternative gnus-mime-display-part gnus-display-mime "#<byte-code=
-function 339>" gnus-article-prepare-display mu4e--view-render-buffer mu4e-=
view] 1 [shr-vertical-motion shr-fill-line shr-fill-lines shr-insert-docume=
nt mm-shr mm-inline-text-html mm-display-inline mm-display-part gnus-mime-d=
isplay-alternative gnus-mime-display-part gnus-display-mime "#<byte-code-fu=
nction 339>" gnus-article-prepare-display mu4e--view-render-buffer mu4e-vie=
w mu4e~headers-view-handler] 1 [gnus-cite-parse gnus-cite-parse-wrapper gnu=
s-cite-parse-maybe gnus-article-highlight-citation gnus-treat-article gnus-=
mime-display-alternative gnus-mime-display-part gnus-display-mime "#<byte-c=
ode-function 339>" gnus-article-prepare-display mu4e--view-render-buffer mu=
4e-view mu4e~headers-view-handler mu4e--server-filter nil nil] 1 [gnus-arti=
cle-maybe-hide-headers gnus-treat-article gnus-display-mime "#<byte-code-fu=
nction 339>" gnus-article-prepare-display mu4e--view-render-buffer mu4e-vie=
w mu4e~headers-view-handler mu4e--server-filter nil nil nil nil nil nil nil=
] 1 [mail-header-narrow-to-field gnus-article-treat-fold-headers gnus-treat=
-article gnus-display-mime "#<byte-code-function 339>" gnus-article-prepare=
-display mu4e--view-render-buffer mu4e-view mu4e~headers-view-handler mu4e-=
-server-filter nil nil nil nil nil nil] 1 [split-window-internal split-wind=
ow split-window-no-error window--try-to-split-window-in-direction display-b=
uffer-in-direction display-buffer mu4e-display-buffer mu4e-view mu4e~header=
s-view-handler mu4e--server-filter nil nil nil nil nil nil] 57 [window-resi=
ze mu4e-resize-linked-headers-window run-hooks mu4e-view mu4e~headers-view-=
handler mu4e--server-filter nil nil nil nil nil nil nil nil nil nil] 45 [wi=
ndow-edges window-pixel-edges window-at-side-p mode-line-default-help-echo =
redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil=
 nil] 1 [string-pixel-width mode--line-format-right-align eval redisplay_in=
ternal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil] 2 =
[delete-dups cconv-fv cconv-make-interpreted-closure function mapcar let* c=
oncat progn if when eval format-mode-line mode--line-format-right-align eva=
l redisplay_internal\ \(C\ function\) nil] 1 [format "#<byte-code-function =
0E5>" mu4e--search-modeline-item "#<native-comp-function F616e6f6e796d6f757=
32d6c616d626461_anonymous_lambda_3>" mu4e--modeline-string eval format-mode=
-line eval redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil]=
 1 [string-match replace-regexp-in-string mu4e--modeline-quote-and-truncate=
 mu4e--modeline-string eval format-mode-line eval redisplay_internal\ \(C\ =
function\) nil nil nil nil nil nil nil nil] 1 [seq-find mu4e--search-modeli=
ne-item "#<native-comp-function F616e6f6e796d6f75732d6c616d626461_anonymous=
_lambda_3>" mu4e--modeline-string eval format-mode-line eval redisplay_inte=
rnal\ \(C\ function\) nil nil nil nil nil nil nil nil] 1 [global-colorful-m=
ode-enable-in-buffer run-hooks run-mode-hooks minibuffer-mode read-from-min=
ibuffer "#<byte-code-function 68C>" apply "#<byte-code-function 4CD>" apply=
 vertico--advice apply completing-read-default completing-read read-extende=
d-command-1 read-extended-command byte-code] 1 [all-completions complete-wi=
th-action "#<byte-code-function 98B>" orderless--filter orderless-all-compl=
etions "#<byte-code-function F2F>" funcall let eval "#<byte-code-function 0=
03>" "#<byte-code-function 00A>" mapc seq-do seq-some completion--nth-compl=
etion "#<byte-code-function 824>"] 902 ["#<byte-code-function 05F>" all-com=
pletions complete-with-action "#<byte-code-function 98B>" orderless--filter=
 orderless-all-completions "#<byte-code-function F2F>" funcall let eval "#<=
byte-code-function 003>" "#<byte-code-function 00A>" mapc seq-do seq-some c=
ompletion--nth-completion] 41 [commandp "#<byte-code-function CAD>" "#<byte=
-code-function 05F>" all-completions complete-with-action "#<byte-code-func=
tion 98B>" orderless--filter orderless-all-completions "#<byte-code-functio=
n F2F>" funcall let eval "#<byte-code-function 003>" "#<byte-code-function =
00A>" mapc seq-do] 15 [signal error version-to-list "#<byte-code-function 0=
5F>" all-completions complete-with-action "#<byte-code-function 98B>" order=
less--filter orderless-all-completions "#<byte-code-function F2F>" funcall =
let eval "#<byte-code-function 003>" "#<byte-code-function 00A>" mapc] 1 ["=
#<byte-code-function CAD>" "#<byte-code-function 05F>" all-completions comp=
lete-with-action "#<byte-code-function 98B>" orderless--filter orderless-al=
l-completions "#<byte-code-function F2F>" funcall let eval "#<byte-code-fun=
ction 003>" "#<byte-code-function 00A>" mapc seq-do seq-some] 10 [functionp=
 "#<byte-code-function CAD>" "#<byte-code-function 05F>" all-completions co=
mplete-with-action "#<byte-code-function 98B>" orderless--filter orderless-=
all-completions "#<byte-code-function F2F>" funcall let eval "#<byte-code-f=
unction 003>" "#<byte-code-function 00A>" mapc seq-do] 1 [version-to-list "=
#<byte-code-function 05F>" all-completions complete-with-action "#<byte-cod=
e-function 98B>" orderless--filter orderless-all-completions "#<byte-code-f=
unction F2F>" funcall let eval "#<byte-code-function 003>" "#<byte-code-fun=
ction 00A>" mapc seq-do seq-some] 3 [vertico-sort-history-length-alpha vert=
ico--recompute vertico--update vertico--exhibit read-from-minibuffer "#<byt=
e-code-function 68C>" apply "#<byte-code-function 4CD>" apply vertico--advi=
ce apply completing-read-default completing-read read-extended-command-1 re=
ad-extended-command byte-code] 7 ["#<native-comp-function F616e6f6e796d6f75=
732d6c616d626461_anonymous_lambda_6>" vertico-sort-history-length-alpha ver=
tico--recompute vertico--update vertico--exhibit read-from-minibuffer "#<by=
te-code-function 68C>" apply "#<byte-code-function 4CD>" apply vertico--adv=
ice apply completing-read-default completing-read read-extended-command-1 r=
ead-extended-command] 3 ["#<primitive-function string-lessp>" "#<native-com=
p-function F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_6>" vertico-s=
ort-history-length-alpha vertico--recompute vertico--update vertico--exhibi=
t read-from-minibuffer "#<byte-code-function 68C>" apply "#<byte-code-funct=
ion 4CD>" apply vertico--advice apply completing-read-default completing-re=
ad read-extended-command-1] 6 [delete-consecutive-dups vertico--recompute v=
ertico--update vertico--exhibit read-from-minibuffer "#<byte-code-function =
68C>" apply "#<byte-code-function 4CD>" apply vertico--advice apply complet=
ing-read-default completing-read read-extended-command-1 read-extended-comm=
and byte-code] 3 [marginalia-annotate-binding marginalia-annotate-command m=
arginalia--cached marginalia--affixate apply "#<byte-code-function CB2>" "#=
<byte-code-function C60>" vertico--affixate vertico--arrange-candidates ver=
tico--exhibit read-from-minibuffer "#<byte-code-function 68C>" apply "#<byt=
e-code-function 4CD>" apply vertico--advice] 3 [get-buffer-create generate-=
new-buffer substitute-command-keys documentation marginalia--function-doc m=
arginalia-annotate-command marginalia--cached marginalia--affixate apply "#=
<byte-code-function CB2>" "#<byte-code-function C60>" vertico--affixate ver=
tico--arrange-candidates vertico--exhibit read-from-minibuffer "#<byte-code=
-function 68C>"] 1 [string-width truncate-string-to-width marginalia--trunc=
ate marginalia--documentation marginalia-annotate-command marginalia--cache=
d marginalia--affixate apply "#<byte-code-function CB2>" "#<byte-code-funct=
ion C60>" vertico--affixate vertico--arrange-candidates vertico--exhibit re=
ad-from-minibuffer "#<byte-code-function 68C>" apply] 1 [substitute-command=
-keys documentation marginalia--function-doc marginalia-annotate-command ma=
rginalia--cached marginalia--affixate apply "#<byte-code-function CB2>" "#<=
byte-code-function C60>" vertico--affixate vertico--arrange-candidates vert=
ico--exhibit read-from-minibuffer "#<byte-code-function 68C>" apply "#<byte=
-code-function 4CD>"] 4 ["#<byte-code-function F14>" apply "#<byte-code-fun=
ction F0E>" apply vertico--format-candidate vertico--arrange-candidates ver=
tico--exhibit read-from-minibuffer "#<byte-code-function 68C>" apply "#<byt=
e-code-function 4CD>" apply vertico--advice apply completing-read-default c=
ompleting-read] 1 [redisplay_internal\ \(C\ function\) read-from-minibuffer=
 "#<byte-code-function 68C>" apply "#<byte-code-function 4CD>" apply vertic=
o--advice apply completing-read-default completing-read read-extended-comma=
nd-1 read-extended-command byte-code call-interactively command-execute nil=
] 74 [window--min-size-1 window--min-size-1 window-min-size window-sizable =
window--resize-root-window-vertically redisplay_internal\ \(C\ function\) r=
ead-from-minibuffer "#<byte-code-function 68C>" apply "#<byte-code-function=
 4CD>" apply vertico--advice apply completing-read-default completing-read =
read-extended-command-1] 1 [window-at-side-p mode-line-default-help-echo re=
display_internal\ \(C\ function\) read-from-minibuffer "#<byte-code-functio=
n 68C>" apply "#<byte-code-function 4CD>" apply vertico--advice apply compl=
eting-read-default completing-read read-extended-command-1 read-extended-co=
mmand byte-code call-interactively] 1 [string-pixel-width mode--line-format=
-right-align eval redisplay_internal\ \(C\ function\) read-from-minibuffer =
"#<byte-code-function 68C>" apply "#<byte-code-function 4CD>" apply vertico=
--advice apply completing-read-default completing-read read-extended-comman=
d-1 read-extended-command byte-code] 1 [read-from-minibuffer "#<byte-code-f=
unction 68C>" apply "#<byte-code-function 4CD>" apply vertico--advice apply=
 completing-read-default completing-read read-extended-command-1 read-exten=
ded-command byte-code call-interactively command-execute nil nil] 336 [inte=
ractive-form call-interactively command-execute read-from-minibuffer "#<byt=
e-code-function 68C>" apply "#<byte-code-function 4CD>" apply vertico--advi=
ce apply completing-read-default completing-read read-extended-command-1 re=
ad-extended-command byte-code call-interactively] 2 [redisplay_internal\ \(=
C\ function\) redisplay vertico--update vertico--exhibit read-from-minibuff=
er "#<byte-code-function 68C>" apply "#<byte-code-function 4CD>" apply vert=
ico--advice apply completing-read-default completing-read read-extended-com=
mand-1 read-extended-command byte-code] 86 [minibuffer-contents "#<byte-cod=
e-function F52>" self-insert-command funcall-interactively call-interactive=
ly command-execute read-from-minibuffer "#<byte-code-function 68C>" apply "=
#<byte-code-function 4CD>" apply vertico--advice apply completing-read-defa=
ult completing-read read-extended-command-1] 4 [vectorp oclosure--get advic=
e--car "#<byte-code-function E67>" apply oclosure-interactive-form interact=
ive-form commandp "#<byte-code-function CAD>" "#<byte-code-function 1F2>" a=
ll-completions complete-with-action "#<byte-code-function 98B>" orderless--=
filter orderless-all-completions "#<byte-code-function 1A5>"] 1 [replace-bu=
ffer-in-windows kill-buffer "#<byte-code-function F74>" substitute-command-=
keys documentation marginalia--function-doc marginalia-annotate-command mar=
ginalia--cached marginalia--affixate apply "#<byte-code-function 0BA>" "#<b=
yte-code-function 0A4>" vertico--affixate vertico--arrange-candidates verti=
co--exhibit read-from-minibuffer] 1 [redisplay vertico--update vertico--exh=
ibit read-from-minibuffer "#<byte-code-function 68C>" apply "#<byte-code-fu=
nction 4CD>" apply vertico--advice apply completing-read-default completing=
-read read-extended-command-1 read-extended-command byte-code call-interact=
ively] 7 [abbrev--before-point "#<byte-code-function 1BC>" apply "#<byte-co=
de-function 63F>" abbrev--default-expand expand-abbrev self-insert-command =
funcall-interactively call-interactively command-execute read-from-minibuff=
er "#<byte-code-function 68C>" apply "#<byte-code-function 4CD>" apply vert=
ico--advice] 1 [global-hl-line-highlight read-from-minibuffer "#<byte-code-=
function 68C>" apply "#<byte-code-function 4CD>" apply vertico--advice appl=
y completing-read-default completing-read read-extended-command-1 read-exte=
nded-command byte-code call-interactively command-execute nil] 4 [timer-eve=
nt-handler read-from-minibuffer "#<byte-code-function 68C>" apply "#<byte-c=
ode-function 4CD>" apply vertico--advice apply completing-read-default comp=
leting-read read-extended-command-1 read-extended-command byte-code call-in=
teractively command-execute nil] 1 [syntax-ppss-flush-cache self-insert-com=
mand funcall-interactively call-interactively command-execute read-from-min=
ibuffer "#<byte-code-function 68C>" apply "#<byte-code-function 4CD>" apply=
 vertico--advice apply completing-read-default completing-read read-extende=
d-command-1 read-extended-command] 1 [self-insert-command funcall-interacti=
vely call-interactively command-execute read-from-minibuffer "#<byte-code-f=
unction 68C>" apply "#<byte-code-function 4CD>" apply vertico--advice apply=
 completing-read-default completing-read read-extended-command-1 read-exten=
ded-command byte-code] 2 [marginalia--affixate apply "#<byte-code-function =
91B>" "#<byte-code-function 97D>" vertico--affixate vertico--arrange-candid=
ates vertico--exhibit read-from-minibuffer "#<byte-code-function 68C>" appl=
y "#<byte-code-function 4CD>" apply vertico--advice apply completing-read-d=
efault completing-read] 1 ["#<byte-code-function DA6>" "#<byte-code-functio=
n A5D>" mapc seq-do seq-some completion--nth-completion "#<byte-code-functi=
on 824>" apply completion-all-completions vertico--filter-completions verti=
co--recompute vertico--update vertico--exhibit read-from-minibuffer "#<byte=
-code-function 68C>" apply] 1 [transient-command-completion-not-suffix-only=
-p "#<byte-code-function CAD>" "#<byte-code-function ADB>" all-completions =
complete-with-action "#<byte-code-function 98B>" orderless--filter orderles=
s-all-completions "#<byte-code-function B78>" funcall let eval "#<byte-code=
-function B39>" "#<byte-code-function B00>" mapc seq-do] 2 [delete-char del=
ete-backward-char funcall-interactively call-interactively command-execute =
read-from-minibuffer "#<byte-code-function 68C>" apply "#<byte-code-functio=
n 4CD>" apply vertico--advice apply completing-read-default completing-read=
 read-extended-command-1 read-extended-command] 1 ["#<byte-code-function 0B=
5>" vertico--hilit vertico--arrange-candidates vertico--exhibit read-from-m=
inibuffer "#<byte-code-function 68C>" apply "#<byte-code-function 4CD>" app=
ly vertico--advice apply completing-read-default completing-read read-exten=
ded-command-1 read-extended-command byte-code] 1 [marginalia--cached margin=
alia--affixate apply "#<byte-code-function FC8>" "#<byte-code-function FD6>=
" vertico--affixate vertico--arrange-candidates vertico--exhibit read-from-=
minibuffer "#<byte-code-function 68C>" apply "#<byte-code-function 4CD>" ap=
ply vertico--advice apply completing-read-default] 1 [internal-subr-documen=
tation "#<byte-code-function 37B>" "#<byte-code-function 2F8>" apply functi=
on-documentation documentation marginalia--function-doc marginalia-annotate=
-command marginalia--cached marginalia--affixate apply "#<byte-code-functio=
n FC8>" "#<byte-code-function FD6>" vertico--affixate vertico--arrange-cand=
idates vertico--exhibit] 1 [syntax-propertize syntax-ppss electric-pair-syn=
tax-info electric-pair-post-self-insert-function self-insert-command funcal=
l-interactively call-interactively command-execute read-from-minibuffer "#<=
byte-code-function 68C>" apply "#<byte-code-function 4CD>" apply vertico--a=
dvice apply completing-read-default] 1 [global-corfu-mode-enable-in-buffer =
run-hooks run-mode-hooks minibuffer-inactive-mode read-from-minibuffer "#<b=
yte-code-function 68C>" apply "#<byte-code-function 4CD>" apply vertico--ad=
vice apply completing-read-default completing-read read-extended-command-1 =
read-extended-command byte-code] 1 [binky--auto-update run-hooks read-from-=
minibuffer "#<byte-code-function 68C>" apply "#<byte-code-function 4CD>" ap=
ply vertico--advice apply completing-read-default completing-read read-exte=
nded-command-1 read-extended-command byte-code call-interactively command-e=
xecute] 1)) (26630 41742 734524 557000) nil]

--=-=-=
Content-Type: text/html
Content-Disposition: attachment; filename=a.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.=
w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang=3D"en" xmlns=3D"http://www.w3.org/1999/xhtml" style=3D"width: 10=
0%">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF-8">
<meta name=3D"viewport" content=3D"width=3Ddevice-width; initial-scale=3D1.=
0; maximum-scale=3D1.0;">
<title>ETMusic - New Release</title>

<style type=3D"text/css">=20
html
{
	width: 100%;
}

::-moz-selection{background:#fefac7;color:#323437;}
::selection{background:#fefac7;color:#323437;}

body {=20
   background-color: #fafafa;=20
   margin: 0;=20
   padding: 0;=20
}

.ReadMsgBody
{
	width: 100%;
	background-color: #fafafa;
}
.ExternalClass
{
	width: 100%;
	background-color: #fafafa;
}

a {=20
    color:#DD9933;=20
	text-decoration:none;
	font-weight:normal;
	font-style: normal;
}=20
a:hover {=20
    color:#323437;=20
	text-decoration:none;
	font-weight:normal;
	font-style: normal;
	transition: all .25s ease-in-out;
=09
}

a.heading-link {
	color:#323437; text-decoration: none; font-style: normal; font-weight: bol=
d;
}

a.heading-link:hover {
	color:#DD9933; text-decoration: none; font-style: normal; font-weight: bol=
d;
}

td.nav_links a {color:#232424; text-decoration: none; font-style: normal;}

p, div {
	margin: 0 !important;
}
table {
	border-collapse: collapse;
}


@media only screen and (max-width: 640px)  {
	body { width: auto !important; padding: 0px 20px !important;}
	body table table{width:100% !important; }
	body table[class=3D"table-wrapper"] {width: 100% !important; margin: 0 aut=
o !important;}
	body table[class=3D"table-inner"] {width: 100% !important; margin: 0 auto =
!important;}
	body table[class=3D"full"] {width: 100% !important; margin: 0 auto !import=
ant;}
	body td[class=3D"center"] {text-align: center !important;}
	body td[class=3D"rewrite_padding"] {padding:30px !important;}

	body img[class=3D"img_scale"] {width: 100% !important; height: auto !Impor=
tant;}
	body img[class=3D"img_scale "] {width: 100% !important; height: auto !Impo=
rtant;}
=09
}


@media only screen and (max-width: 479px)  {
	body { width: auto !important; padding: 0px 20px !important;}
	body table table{width:100% !important; }
	body table[class=3D"table-wrapper"] {width: 100% !important; margin: 0 aut=
o !important;}
	body table[class=3D"table-inner"] {width: 100% !important; margin: 0 auto =
!important;}
	body table[class=3D"full"] {width: 100% !important; margin: 0 auto !import=
ant;}
	body td[class=3D"center"] {text-align: center !important;}
	body td[class=3D"rewrite_padding"] {padding:30px !important;}

	body img[class=3D"img_scale"] {width: 100% !important; height: auto !Impor=
tant;}
	body img[class=3D"img_scale "] {width: 100% !important; height: auto !Impo=
rtant;}
=09
}

div.preheader{line-height:0px;font-size:0px;height:0px;display:none !import=
ant;display:none;visibility:hidden;}
table.textbutton td{display:block}
table.textbutton a {border: none; font-weight: bold; font-style: normal; co=
lor:#ffffff; text-decoration: none;}


</style>
</head>
<body yahoofix=3D"" data-gr-c-s-loaded=3D"true" data-new-gr-c-s-check-loade=
d=3D"14.1229.0" data-gr-ext-installed=3D"" bis_status=3D"ok" bis_frame_id=
=3D"744" bis_body_id=3D"fr_f8a2gt3pysgby32ix5aiaj" bis_depth=3D"0" bis_chai=
nid=3D"1" bis_size=3D"{" x data-new-gr-c-s-loaded=3D"14.1229.0" __processed=
_3a09050c-0e31-410d-a343-cfeb8097cbce__=3D"true" __processed_587ba755-8f01-=
4511-94f0-6559c4938856__=3D"true" __processed_4e18c176-ca8c-4d43-be31-1f21d=
431e7ce__=3D"true" __processed_b02fea83-c314-49cb-819a-fce9812fdc6b__=3D"tr=
ue" __processed_691b8f30-d5b8-4159-ab7c-afc24eccc709__=3D"true" style=3D"ba=
ckground-color: #fafafa;margin: 0;padding: 0">
<table width=3D"100%" border=3D"0" align=3D"center" cellpadding=3D"0" cells=
pacing=3D"0" bgcolor=3D"#fafafa" style=3D"padding: 0;margin: 0;border-colla=
pse: collapse" bis_size=3D'{"x":0,"y":0,"w":1341,"h":74,"abs_x":196,"abs_y"=
:891}'><tbody bis_size=3D'{"x":0,"y":0,"w":1341,"h":74,"abs_x":196,"abs_y":=
891}'><tr bis_size=3D'{"x":0,"y":0,"w":1341,"h":74,"abs_x":196,"abs_y":891}=
'>
<td valign=3D"top" align=3D"center" style=3D"padding-top: 40px" bis_size=3D=
'{"x":0,"y":0,"w":1341,"h":74,"abs_x":196,"abs_y":891}'>
			<table class=3D"table-wrapper" bgcolor=3D"#f4f7f9" width=3D"600" border=
=3D"0" align=3D"center" cellpadding=3D"0" cellspacing=3D"0" bis_size=3D'{"x=
":370,"y":40,"w":600,"h":34,"abs_x":566,"abs_y":931}' style=3D"border-colla=
pse: collapse"><tbody bis_size=3D'{"x":370,"y":40,"w":600,"h":34,"abs_x":56=
6,"abs_y":931}'><tr bis_size=3D'{"x":370,"y":40,"w":600,"h":34,"abs_x":566,=
"abs_y":931}'>
<td width=3D"600" style=3D"padding: 0px 30px" bis_size=3D'{"x":370,"y":40,"=
w":600,"h":34,"abs_x":566,"abs_y":931}'>
						<table class=3D"table-inner" width=3D"540" border=3D"0" align=3D"cent=
er" cellpadding=3D"0" cellspacing=3D"0" bis_size=3D'{"x":400,"y":40,"w":540=
,"h":34,"abs_x":596,"abs_y":931}' style=3D"border-collapse: collapse"><tbod=
y bis_size=3D'{"x":400,"y":40,"w":540,"h":34,"abs_x":596,"abs_y":931}'><tr =
bis_size=3D'{"x":400,"y":40,"w":540,"h":34,"abs_x":596,"abs_y":931}'>
<td align=3D"left" style=3D"margin: 0;padding: 8px 0px" bis_size=3D'{"x":40=
0,"y":40,"w":540,"h":34,"abs_x":596,"abs_y":931}'>
									<table border=3D"0" align=3D"left" cellpadding=3D"0" cellspacing=
=3D"0" style=3D"border-collapse:collapse;mso-table-lspace:0pt;mso-table-rsp=
ace:0pt" bis_size=3D'{"x":400,"y":48,"w":37,"h":0,"abs_x":596,"abs_y":939}'=
><tbody bis_size=3D'{"x":400,"y":48,"w":37,"h":0,"abs_x":596,"abs_y":939}'>=
<tr bis_size=3D'{"x":400,"y":48,"w":37,"h":0,"abs_x":596,"abs_y":939}'>
<td width=3D"12" align=3D"left" style=3D"margin: 0;padding-right: 5px;font-=
size:12px;color:#59595a;font-family: 'Open Sans', 'Open Sans', Arial, sans-=
serif;line-height: 18px;mso-line-height-rule: exactly" bis_size=3D'{"x":400=
,"y":48,"w":17,"h":0,"abs_x":596,"abs_y":939}'>
											<div class=3D"preheader" bis_size=3D'{"x":0,"y":0,"w":0,"h":0,"a=
bs_x":196,"abs_y":891}' style=3D"margin: 0 !important;line-height:0px;font-=
size:0px;height:0px;display:none;visibility:hidden">
											New release from Estas Tonne =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =
=C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=
=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=
=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=
=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F=
 =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD=
 =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87=
 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =
=E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =
=C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=
=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=
=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=
=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=
=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0=
 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C=
 =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =
=E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =
=CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =
=C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=
=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=
=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=
=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F=
 =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD=
 =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87=
 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =
=E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =
=C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=
=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=
=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=
=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=
=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0=
 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C=
 =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =
=E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =
=CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =
=C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=
=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=
=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=
=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F=
 =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD=
 =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87=
 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =
=E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =
=C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=
=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=
=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=
=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=
=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0=
 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C=
 =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =
=E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =
=CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =
=C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=
=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=
=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=
=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F=
 =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD=
 =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87=
 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =
=E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =
=C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=
=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=
=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=
=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=
=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0=
 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C=
 =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =
=E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =
=CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =
=C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=
=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=
=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=
=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F=
 =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD=
 =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87=
 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =
=E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =
=C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=
=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=
=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=
=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=
=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0=
 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C=
 =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =
=E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =
=CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =
=C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=
=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=
=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=
=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F=
 =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD=
 =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87=
 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =
=E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =
=C2=A0 =E2=80=87 =C2=AD =CD=8F =E2=80=8C =C2=A0 =E2=80=87 =C2=AD
											</div>
										=09
											=09
											</td>
										=09
											<td align=3D"left" valign=3D"middle" style=3D"margin: 0;padding-=
right: 20px;font-size:12px;color:#59595a;font-family: 'Open Sans', 'Open Sa=
ns', Arial, sans-serif;line-height: 18px;mso-line-height-rule: exactly" bis=
_size=3D'{"x":417,"y":48,"w":20,"h":0,"abs_x":613,"abs_y":939}'>
										=09
</td>
										</tr>
</tbody></table>
<table border=3D"0" align=3D"left" cellpadding=3D"0" cellspacing=3D"0" styl=
e=3D"border-collapse:collapse;mso-table-lspace:0pt;mso-table-rspace:0pt" bi=
s_size=3D'{"x":400,"y":48,"w":280,"h":18,"abs_x":596,"abs_y":939}'><tbody b=
is_size=3D'{"x":400,"y":48,"w":280,"h":18,"abs_x":596,"abs_y":939}'><tr bis=
_size=3D'{"x":400,"y":48,"w":280,"h":18,"abs_x":596,"abs_y":939}'>
<td width=3D"15" align=3D"left" style=3D"margin: 0;padding-right: 5px;font-=
size:12px;color:#59595a;font-family: 'Open Sans', 'Open Sans', Arial, sans-=
serif;line-height: 18px;mso-line-height-rule: exactly" bis_size=3D'{"x":400=
,"y":48,"w":20,"h":18,"abs_x":596,"abs_y":939}'>
										=09
											=09
											</td>
										=09
											<td align=3D"left" valign=3D"middle" style=3D"margin: 0;padding-=
right: 40px;font-size:12px;color:#59595a;font-family: 'Open Sans', 'Open Sa=
ns', Arial, sans-serif;line-height: 18px;mso-line-height-rule: exactly" bis=
_size=3D'{"x":420,"y":48,"w":260,"h":18,"abs_x":616,"abs_y":939}'>
											<p style=3D"text-align: center;margin: 0 !important" bis_size=3D=
'{"x":420,"y":48,"w":220,"h":18,"abs_x":616,"abs_y":939}'>ELEMENTAL SOUNDS =
OF THE UNIVERSE</p>
</td>
										</tr>
</tbody></table>
</td>
							</tr>
</tbody></table>
</td>
				</tr>
</tbody></table>
</td>
	</tr>
</tbody></table>
<table width=3D"100%" border=3D"0" align=3D"center" cellpadding=3D"0" cells=
pacing=3D"0" bgcolor=3D"#fafafa" style=3D"padding: 0;margin: 0;border-colla=
pse: collapse" bis_size=3D'{"x":0,"y":74,"w":1341,"h":78,"abs_x":196,"abs_y=
":965}'><tbody bis_size=3D'{"x":0,"y":74,"w":1341,"h":78,"abs_x":196,"abs_y=
":965}'><tr bis_size=3D'{"x":0,"y":74,"w":1341,"h":78,"abs_x":196,"abs_y":9=
65}'>
<td valign=3D"top" align=3D"center" bis_size=3D'{"x":0,"y":74,"w":1341,"h":=
78,"abs_x":196,"abs_y":965}'>
			<table class=3D"table-wrapper" bgcolor=3D"#ffffff" width=3D"600" border=
=3D"0" align=3D"center" cellpadding=3D"0" cellspacing=3D"0" bis_size=3D'{"x=
":370,"y":74,"w":600,"h":78,"abs_x":566,"abs_y":965}' style=3D"border-colla=
pse: collapse"><tbody bis_size=3D'{"x":370,"y":74,"w":600,"h":78,"abs_x":56=
6,"abs_y":965}'><tr bis_size=3D'{"x":370,"y":74,"w":600,"h":78,"abs_x":566,=
"abs_y":965}'>
<td width=3D"600" style=3D"padding: 0px 30px" bis_size=3D'{"x":370,"y":74,"=
w":600,"h":78,"abs_x":566,"abs_y":965}'>
						<table class=3D"table-inner" width=3D"540" border=3D"0" align=3D"cent=
er" cellpadding=3D"0" cellspacing=3D"0" bis_size=3D'{"x":400,"y":74,"w":540=
,"h":78,"abs_x":596,"abs_y":965}' style=3D"border-collapse: collapse"><tbod=
y bis_size=3D'{"x":400,"y":74,"w":540,"h":78,"abs_x":596,"abs_y":965}'><tr =
bis_size=3D'{"x":400,"y":74,"w":540,"h":78,"abs_x":596,"abs_y":965}'>
<td valign=3D"top" style=3D"padding: 25px 0px" bis_size=3D'{"x":400,"y":74,=
"w":540,"h":78,"abs_x":596,"abs_y":965}'>
								=09
								=09
									<table class=3D"full" width=3D"200" border=3D"0" align=3D"left" ce=
llpadding=3D"0" cellspacing=3D"0" style=3D"border-collapse:collapse;mso-tab=
le-lspace:0pt;mso-table-rspace:0pt" bis_size=3D'{"x":400,"y":99,"w":200,"h"=
:23,"abs_x":596,"abs_y":990}'>
<tbody bis_size=3D'{"x":400,"y":99,"w":200,"h":23,"abs_x":596,"abs_y":990}'=
>
<tr bis_size=3D'{"x":400,"y":99,"w":200,"h":23,"abs_x":596,"abs_y":990}'>
<td class=3D"center" align=3D"left" style=3D"padding-top: 6px;text-transfor=
m: uppercase;font-family: 'Open Sans', 'Open Sans', Arial, sans-serif;color=
:#323437;font-size:18px;line-height:100%" bis_size=3D'{"x":400,"y":99,"w":2=
00,"h":23,"abs_x":596,"abs_y":990}'>
												<span bis_size=3D'{"x":400,"y":103,"w":108,"h":24,"abs_x":596,"=
abs_y":994}'>
												<a href=3D"#" style=3D"color:#DD9933;text-decoration:none;font-=
weight:normal;font-style: normal" bis_size=3D'{"x":400,"y":103,"w":108,"h":=
24,"abs_x":596,"abs_y":994}'>
													<img editable=3D"" label=3D"logo" src=3D"https://estastonne.co=
m/wp-content/uploads/mailster/templates/mantostemplate/img/logo.png" alt=3D=
"logo" style=3D"width:108px;display: inline-block" width=3D"108" height=3D"=
17" border=3D"0" class=3D"" bis_size=3D'{"x":400,"y":105,"w":108,"h":17,"ab=
s_x":596,"abs_y":996}'></a>
												</span>
											</td>
										</tr>


</tbody>
</table>
<table width=3D"1" border=3D"0" align=3D"left" cellpadding=3D"0" cellspacin=
g=3D"0" style=3D"border-collapse:collapse;mso-table-lspace:0pt;mso-table-rs=
pace:0pt" bis_size=3D'{"x":600,"y":99,"w":4,"h":20,"abs_x":796,"abs_y":990}=
'><tbody bis_size=3D'{"x":600,"y":99,"w":4,"h":20,"abs_x":796,"abs_y":990}'=
><tr bis_size=3D'{"x":600,"y":99,"w":4,"h":20,"abs_x":796,"abs_y":990}'>
<td width=3D"100%" height=3D"20" style=3D"line-height:0" bis_size=3D'{"x":6=
00,"y":99,"w":4,"h":20,"abs_x":796,"abs_y":990}'>								=09
											=C2=A0
											</td>
										</tr>
</tbody></table>
<table class=3D"full" width=3D"310" border=3D"0" align=3D"right" cellpaddin=
g=3D"0" cellspacing=3D"0" style=3D"border-collapse:collapse;mso-table-lspac=
e:0pt;mso-table-rspace:0pt" bis_size=3D'{"x":630,"y":99,"w":310,"h":28,"abs=
_x":826,"abs_y":990}'>
<tbody bis_size=3D'{"x":630,"y":99,"w":310,"h":28,"abs_x":826,"abs_y":990}'=
>
<tr bis_size=3D'{"x":630,"y":99,"w":310,"h":28,"abs_x":826,"abs_y":990}'>
<td class=3D"nav_links" align=3D"right" style=3D"margin: 0;padding-top: 0;t=
ext-transform: uppercase;font-size:14px;color:#232424;font-family: 'Open Sa=
ns', Arial, sans-serif;line-height: 18px;mso-line-height-rule: exactly" bis=
_size=3D'{"x":630,"y":99,"w":176,"h":28,"abs_x":826,"abs_y":990}'>
												<p bis_size=3D'{"x":630,"y":104,"w":176,"h":18,"abs_x":826,"abs=
_y":995}' style=3D"margin: 0 !important"><a style=3D"color: #232424;text-de=
coration: none;font-style: normal;font-weight:normal" href=3D"https://u4185=
734.ct.sendgrid.net/ls/click?upn=3Du001.pd0oGKLrp-2BvYGrqzuBZ-2FbjkfBX9zREo=
49nHbrscZ4gCzCA-2F5wffOX8oDejfFDHuzhDQyTJcpRl2kxCaFxlmoFLMh5MNF-2BIg-2BkljQ=
nSD3A4kq3awq7BeYjp-2B0YlOaOocJ-2BRP4WWH0x-2BylAerjX3W0Fnk2hsdWvZ1DSesQ-2BcH=
0GxRe8XMwEKRiH1-2Bul1yrf-2FeLw1NT_1aLIKCBNLPVmwdQutZUSUugV8fxyBtiLOGSSmZooM=
qWYaLupMLd3q-2FGFK4P06N6XVQKBBiAUbdjdyoDJQ04axTEYVjBr4WFr2sV9XEObC8xq4DsC2S=
RZdex8c6jqD0GQc2AfYKw0e3tEUS7-2F8Xaq7zcsJlp9TvGnbMIecZ-2FqCxydO4SyxFI1JJKhK=
LKJtJo4-2BcnsAha4Ox4EwwrKO0dKPQ-3D-3D" target=3D"_blank" rel=3D"noopener no=
referrer" bis_size=3D'{"x":654,"y":103,"w":85,"h":19,"abs_x":850,"abs_y":99=
4}'>Tour Dates=C2=A0</a>=C2=A0 =C2=A0<a href=3D"https://u4185734.ct.sendgri=
d.net/ls/click?upn=3Du001.pd0oGKLrp-2BvYGrqzuBZ-2FbjkfBX9zREo49nHbrscZ4gCzC=
A-2F5wffOX8oDejfFDHuzhDQyTJcpRl2kxCaFxlmoFLMh5MNF-2BIg-2BkljQnSD3A4kq3awq7B=
eYjp-2B0YlOaOocJ-2BRP4WWH0x-2BylAerjX3W0FjHxhSu7WDgXLMJI9NHXu5bUmbnhtQqw0Hf=
5ytfKalI9dync_1aLIKCBNLPVmwdQutZUSUugV8fxyBtiLOGSSmZooMqWYaLupMLd3q-2FGFK4P=
06N6XZ0S3eM91vq6A-2FJXYSumFQGpc7jzJS78cOrvJHtK6xmWVIlDf1ZG-2BXIDt-2FdRGSEXs=
gWb5GTOAdyFp9btFjAsMIrjD1rkn1sP66Fs6N2fO-2FylxJr6b7tC6SVls68RetMVPf8bVcMFEr=
Pw2pc1IB4lwKg-3D-3D" target=3D"_blank" rel=3D"noopener noreferrer" bis_size=
=3D'{"x":750,"y":103,"w":55,"h":19,"abs_x":946,"abs_y":994}' style=3D"color=
:#232424;text-decoration: none;font-weight:normal;font-style: normal">Album=
s</a></p>
</td>
										=09
											<td class=3D"center" align=3D"right" style=3D"margin: 0;padding-=
left: 5px;font-size:14px;color:#232424;font-family: 'Open Sans', Arial, san=
s-serif;line-height: 18px;mso-line-height-rule: exactly" bis_size=3D'{"x":8=
06,"y":99,"w":133,"h":28,"abs_x":1002,"abs_y":990}'>
												<table class=3D"textbutton" border=3D"0" align=3D"center" cellp=
adding=3D"0" cellspacing=3D"0" style=3D"margin: 0;border-collapse: collapse=
" bis_size=3D'{"x":829,"y":99,"w":110,"h":28,"abs_x":1025,"abs_y":990}'><tb=
ody bis_size=3D'{"x":829,"y":99,"w":110,"h":28,"abs_x":1025,"abs_y":990}'><=
tr bis_size=3D'{"x":829,"y":99,"w":110,"h":28,"abs_x":1025,"abs_y":990}'>
<td align=3D"center" valign=3D"middle" bgcolor=3D"#DD9933" style=3D"border-=
radius: 2px;padding: 5px 14px;font-size: 13px;line-height: 18px;font-family=
: 'Open Sans', Arial, sans-serif;color:#ffffff;margin: 0 !important;display=
:block" bis_size=3D'{"x":829,"y":99,"w":110,"h":28,"abs_x":1025,"abs_y":990=
}'>
															<a editable=3D"" label=3D"button text" href=3D"https://u4185=
734.ct.sendgrid.net/ls/click?upn=3Du001.pd0oGKLrp-2BvYGrqzuBZ-2FbjkfBX9zREo=
49nHbrscZ4gCzCA-2F5wffOX8oDejfFDHuzhDQyTJcpRl2kxCaFxlmoFLMh5MNF-2BIg-2BkljQ=
nSD3A4llVdKAEk7ZjCcJcdho5DR0dCicmn-2Fxi5Z48r55IIyVAdEjSGE7egwj-2FjsROfKS8yI=
lT0oSbSByE5Qtud80s-2FftXBtSALUYVjgrp9YsjUnXXWrAurYn6SV-2BO5Wn1v1yUmlyGz2Ng0=
kU84R2wwNOeNN-2FC1E1BSBZRB8WJvS5x35-2BTg-3D-3DA6vv_1aLIKCBNLPVmwdQutZUSUugV=
8fxyBtiLOGSSmZooMqWYaLupMLd3q-2FGFK4P06N6XmOFJ7DLqBAjzHoOEQxCBJ2bODfFbW458N=
N2Mrm-2FFwECxxUVPg1rcHs9kq02UtTe88BjEN-2BNPuLQTv01W-2BzNWaWZ9LcfBCPmJKlfJ7d=
p5eQFab9CP63CecVei-2B3p4pV-2BKfizVCUcHxY8hjLxBpkAnLQ-3D-3D" style=3D"border=
: none;font-weight: bold;font-style: normal;color:#ffffff;text-decoration: =
none" bis_size=3D'{"x":843,"y":104,"w":82,"h":18,"abs_x":1039,"abs_y":995}'=
>New Release</a>
														</td>
													</tr>
</tbody></table>
</td>
										</tr>


</tbody>
</table>

</td>
							</tr>
</tbody></table>
</td>
				</tr>
</tbody></table>
</td>
	</tr>
</tbody></table>



  <table width=3D"100%" border=3D"0" align=3D"center" cellpadding=3D"0" cel=
lspacing=3D"0" bgcolor=3D"#fafafa" style=3D"padding: 0;margin: 0;border-col=
lapse: collapse" bis_size=3D'{"x":0,"y":152,"w":1341,"h":295,"abs_x":196,"a=
bs_y":1043}'>
    <tbody bis_size=3D'{"x":0,"y":152,"w":1341,"h":295,"abs_x":196,"abs_y":=
1043}'>
<tr bis_size=3D'{"x":0,"y":152,"w":1341,"h":295,"abs_x":196,"abs_y":1043}'>
<td valign=3D"top" align=3D"center" bis_size=3D'{"x":0,"y":152,"w":1341,"h"=
:295,"abs_x":196,"abs_y":1043}'>
			<table class=3D"table-wrapper" bgcolor=3D"#ffffff" width=3D"600" border=
=3D"0" align=3D"center" cellpadding=3D"0" cellspacing=3D"0" bis_size=3D'{"x=
":370,"y":152,"w":600,"h":295,"abs_x":566,"abs_y":1043}' style=3D"border-co=
llapse: collapse"><tbody bis_size=3D'{"x":370,"y":152,"w":600,"h":295,"abs_=
x":566,"abs_y":1043}'>
<tr bis_size=3D'{"x":370,"y":152,"w":600,"h":255,"abs_x":566,"abs_y":1043}'=
>
<td width=3D"600" style=3D"padding: 0px 30px" bis_size=3D'{"x":370,"y":152,=
"w":600,"h":255,"abs_x":566,"abs_y":1043}'>
						<table class=3D"table-inner" width=3D"540" border=3D"0" align=3D"cent=
er" cellpadding=3D"0" cellspacing=3D"0" bis_size=3D'{"x":400,"y":152,"w":54=
0,"h":255,"abs_x":596,"abs_y":1043}' style=3D"border-collapse: collapse"><t=
body bis_size=3D'{"x":400,"y":152,"w":540,"h":255,"abs_x":596,"abs_y":1043}=
'><tr bis_size=3D'{"x":400,"y":152,"w":540,"h":255,"abs_x":596,"abs_y":1043=
}'>
<td valign=3D"top" bis_size=3D'{"x":400,"y":152,"w":540,"h":255,"abs_x":596=
,"abs_y":1043}'>
								=09
								=09
									<table class=3D"full" width=3D"255" border=3D"0" align=3D"left" ce=
llpadding=3D"0" cellspacing=3D"0" style=3D"border-collapse:collapse;mso-tab=
le-lspace:0pt;mso-table-rspace:0pt" bis_size=3D'{"x":400,"y":152,"w":255,"h=
":255,"abs_x":596,"abs_y":1043}'><tbody bis_size=3D'{"x":400,"y":152,"w":25=
5,"h":255,"abs_x":596,"abs_y":1043}'><tr bis_size=3D'{"x":400,"y":152,"w":2=
55,"h":255,"abs_x":596,"abs_y":1043}'>
<td class=3D"center" align=3D"center" style=3D"padding-bottom: 0px;margin: =
0;font-size:14px;color:#636363;font-family: 'Open Sans', 'Open Sans', Arial=
, sans-serif;line-height: 23px" bis_size=3D'{"x":400,"y":152,"w":255,"h":25=
5,"abs_x":596,"abs_y":1043}'>
												<span bis_size=3D'{"x":400,"y":152,"w":255,"h":255,"abs_x":596,=
"abs_y":1043}'>
											=09
												<a href=3D"https://u4185734.ct.sendgrid.net/ls/click?upn=3Du001=
.pd0oGKLrp-2BvYGrqzuBZ-2FbjkfBX9zREo49nHbrscZ4gCzCA-2F5wffOX8oDejfFDHuzhDQy=
TJcpRl2kxCaFxlmoFLMh5MNF-2BIg-2BkljQnSD3A4llVdKAEk7ZjCcJcdho5DR0dCicmn-2Fxi=
5Z48r55IIyVAdEjSGE7egwj-2FjsROfKS8yIlT0oSbSByE5Qtud80s-2FftXBtSALUYVjgrp9Ys=
jUnXXWrAurYn6SV-2BO5Wn1v1yUmlyGz2Ng0kU84R2wwNOeNN-2FiZ2-2BJlA-2B6KiQIiHpF3W=
Xjw-3D-3DqnxF_1aLIKCBNLPVmwdQutZUSUugV8fxyBtiLOGSSmZooMqWYaLupMLd3q-2FGFK4P=
06N6XF2jl-2F1CPcEs8fgPMS9eJ8-2FBfQmcIt7Jqzc1ftGgRFkePEMo3kvnxEIbLSYBcVxTiAE=
-2Bt8CIAPTk-2Fi3NehULkzyxdTK-2Fh2bP6S0Ojnp1UATZ17-2BYhYIX5Ogyifxzr5CFID2CyQ=
I5FrU9WrxMcn5kY-2Bg-3D-3D" bis_size=3D'{"x":400,"y":152,"w":255,"h":255,"ab=
s_x":596,"abs_y":1043}' style=3D"color:#DD9933;text-decoration:none;font-we=
ight:normal;font-style: normal"><img editable=3D"" label=3D"image" class=3D=
"img_scale" alt=3D"New Release" style=3D"width:255px;display: block" width=
=3D"255" height=3D"255" border=3D"0" bis_size=3D'{"x":400,"y":152,"w":255,"=
h":255,"abs_x":596,"abs_y":1043}' src=3D"http://www.estastonne.com/wp-conte=
nt/uploads/2025/02/00.-MAIN-ALBUM-COVER-1500x1500-1-255x255.jpg"></a>
												</span>
											</td>
										</tr>
</tbody></table>
<table width=3D"1" border=3D"0" align=3D"left" cellpadding=3D"0" cellspacin=
g=3D"0" style=3D"border-collapse:collapse;mso-table-lspace:0pt;mso-table-rs=
pace:0pt" bis_size=3D'{"x":655,"y":152,"w":4,"h":20,"abs_x":851,"abs_y":104=
3}'><tbody bis_size=3D'{"x":655,"y":152,"w":4,"h":20,"abs_x":851,"abs_y":10=
43}'><tr bis_size=3D'{"x":655,"y":152,"w":4,"h":20,"abs_x":851,"abs_y":1043=
}'>
<td width=3D"100%" height=3D"20" style=3D"line-height:0" bis_size=3D'{"x":6=
55,"y":152,"w":4,"h":20,"abs_x":851,"abs_y":1043}'>								=09
											=C2=A0
											</td>
										</tr>
</tbody></table>
<table class=3D"full" width=3D"255" border=3D"0" align=3D"right" cellpaddin=
g=3D"0" cellspacing=3D"0" style=3D"border-collapse:collapse;mso-table-lspac=
e:0pt;mso-table-rspace:0pt" bis_size=3D'{"x":685,"y":152,"w":255,"h":172,"a=
bs_x":881,"abs_y":1043}'><tbody bis_size=3D'{"x":685,"y":152,"w":255,"h":17=
2,"abs_x":881,"abs_y":1043}'>
<tr bis_size=3D'{"x":685,"y":152,"w":255,"h":34,"abs_x":881,"abs_y":1043}'>
<td class=3D"center" align=3D"left" style=3D"padding-bottom: 10px;font-weig=
ht: bold;font-family: 'Open Sans', 'Open Sans', Arial, sans-serif;color:#32=
3437;font-size:18px;line-height:24px;mso-line-height-rule: exactly" bis_siz=
e=3D'{"x":685,"y":152,"w":255,"h":34,"abs_x":881,"abs_y":1043}'>
												<a class=3D"heading-link" href=3D"#" style=3D"color: #323437;te=
xt-decoration: none;font-style: normal;font-weight: bold" bis_size=3D'{"x":=
685,"y":151,"w":112,"h":24,"abs_x":881,"abs_y":1042}'> Dear Beings, </a>
</td>
										</tr>

<tr bis_size=3D'{"x":685,"y":186,"w":255,"h":88,"abs_x":881,"abs_y":1077}'>
<td class=3D"center" align=3D"left" style=3D"margin: 0;font-size:14px;color=
:#636363;font-family: 'Open Sans', Arial, sans-serif;line-height: 24px;mso-=
line-height-rule: exactly" bis_size=3D'{"x":685,"y":186,"w":255,"h":88,"abs=
_x":881,"abs_y":1077}'>
												<p class=3D"p1" bis_size=3D'{"x":685,"y":186,"w":255,"h":48,"ab=
s_x":881,"abs_y":1077}' style=3D"margin: 0 !important">ETMusic is sharing w=
ith You All a New release <strong bis_size=3D'{"x":736,"y":212,"w":169,"h":=
19,"abs_x":932,"abs_y":1103}'>"<span class=3D"s1" bis_size=3D'{"x":742,"y":=
212,"w":152,"h":19,"abs_x":938,"abs_y":1103}'>ESTAS TONNE feat. SANYA KROIT=
OR - SPONTANEOUS - (ALBUM)</span><span class=3D"s1" bis_size=3D'{"x":895,"y=
":212,"w":10,"h":19,"abs_x":1091,"abs_y":1103}'>"=C2=A0<br bis_size=3D'{"x"=
:905,"y":212,"w":0,"h":19,"abs_x":1101,"abs_y":1103}'></span></strong></p>
<hr bis_size=3D'{"x":685,"y":241,"w":255,"h":2,"abs_x":881,"abs_y":1132}'>
<p class=3D"p1" bis_size=3D'{"x":685,"y":250,"w":255,"h":24,"abs_x":881,"ab=
s_y":1141}' style=3D"margin: 0 !important"></p>
<p style=3D"margin: 0 !important"><strong>Main Artist</strong>: Estas Tonne=
, Sanya Kroitor<br>
<strong>Title</strong> : Estas Tonne feat. Sanya Kroitor =E2=80=93 Spontane=
ous<br>
<strong>Release Date</strong> : Mar 28 2025<br>
<strong>Category=C2=A0</strong>: Album<br>
<strong>Catalog ref.</strong> : 082<br>
<strong>Format</strong> : MP3 (320 kbps) +=C2=A0WAV<br>
<strong>Availability</strong> : Digital download<br>
<strong>Price</strong> : Donation based</p>

</td>
										</tr>

<tr bis_size=3D'{"x":685,"y":274,"w":255,"h":50,"abs_x":881,"abs_y":1165}'>
<td align=3D"left" valign=3D"top" style=3D"padding-top: 20px" bis_size=3D'{=
"x":685,"y":274,"w":255,"h":50,"abs_x":881,"abs_y":1165}'>
												<table class=3D"textbutton" border=3D"0" align=3D"left" cellpad=
ding=3D"0" cellspacing=3D"0" style=3D"margin: 0;border-collapse: collapse" =
bis_size=3D'{"x":685,"y":294,"w":72,"h":30,"abs_x":881,"abs_y":1185}'><tbod=
y bis_size=3D'{"x":685,"y":294,"w":72,"h":30,"abs_x":881,"abs_y":1185}'><tr=
 bis_size=3D'{"x":685,"y":294,"w":72,"h":30,"abs_x":881,"abs_y":1185}'>
<td align=3D"center" valign=3D"middle" bgcolor=3D"#DD9933" style=3D"border-=
radius: 2px;padding: 6px 17px;font-weight: bold;font-size: 13px;line-height=
: 18px;font-family: 'Open Sans', Arial, sans-serif;color:#ffffff;margin: 0 =
!important;display:block" bis_size=3D'{"x":685,"y":294,"w":72,"h":30,"abs_x=
":881,"abs_y":1185}'>
															<a editable=3D"" label=3D"button text" href=3D"https://u4185=
734.ct.sendgrid.net/ls/click?upn=3Du001.pd0oGKLrp-2BvYGrqzuBZ-2FbjkfBX9zREo=
49nHbrscZ4gCzCA-2F5wffOX8oDejfFDHuzhDQyTJcpRl2kxCaFxlmoFLMh5MNF-2BIg-2BkljQ=
nSD3A4llVdKAEk7ZjCcJcdho5DR0dCicmn-2Fxi5Z48r55IIyVAaLyK-2F8jKi6YZsO8nHZnkRX=
BzjQgQNFYveR0FuKovJg2x1kq88A5lzZ6Ewu0J6FJGGnV8-2B3cQwmcXaX1SNPLkRGruI8JzXMj=
3xgT0DZxdIsaqj-P_1aLIKCBNLPVmwdQutZUSUugV8fxyBtiLOGSSmZooMqWYaLupMLd3q-2FGF=
K4P06N6X0icsfqD0qiRsMCw9DyEBuBs3PIxeNrtcE5zqNJaZH4ht5cWoH1QNl-2FWrX85yO-2BF=
-2BjaiIpyvI7DrBkkLm85aeoKyO2kq0-2FvwY0oIHqR-2FNno-2BzR1M0KafJDQQTohlPijw45o=
tgFSJUxMNQxYBbwC24gw-3D-3D" style=3D"border: none;font-weight: bold;font-st=
yle: normal;color:#ffffff;text-decoration: none" bis_size=3D'{"x":702,"y":3=
00,"w":38,"h":18,"abs_x":898,"abs_y":1191}'>Enjoy!</a>
														</td>
													</tr>
</tbody></table>
</td>
										</tr>

</tbody></table>
</td>
							</tr>
</tbody></table>
</td>
				</tr>

<tr bis_size=3D'{"x":370,"y":407,"w":600,"h":40,"abs_x":566,"abs_y":1298}'>
<td height=3D"40" style=3D"padding:0;line-height: 0" bis_size=3D'{"x":370,"=
y":407,"w":600,"h":40,"abs_x":566,"abs_y":1298}'>
					=C2=A0
					</td>
				</tr>

</tbody></table>
</td>
	</tr>

  </tbody>
</table>


<table width=3D"100%" border=3D"0" align=3D"center" cellpadding=3D"0" cells=
pacing=3D"0" bgcolor=3D"#fafafa" style=3D"padding: 0;margin: 0;border-colla=
pse: collapse" bis_size=3D'{"x":0,"y":447,"w":1341,"h":238,"abs_x":196,"abs=
_y":1338}' x>
	<tbody bis_size=3D'{"x":0,"y":447,"w":1341,"h":238,"abs_x":196,"abs_y":133=
8}' x>
<tr bis_size=3D'{"x":0,"y":447,"w":1341,"h":238,"abs_x":196,"abs_y":1338}' =
x>
		<td valign=3D"top" align=3D"center" bis_size=3D'{"x":0,"y":447,"w":1341,"=
h":238,"abs_x":196,"abs_y":1338}' x>
			<table class=3D"table-wrapper" bgcolor=3D"#ffffff" width=3D"600" border=
=3D"0" align=3D"center" cellpadding=3D"0" cellspacing=3D"0" bis_size=3D'{"x=
":370,"y":447,"w":600,"h":238,"abs_x":566,"abs_y":1338}' x style=3D"border-=
collapse: collapse">
				<tbody bis_size=3D'{"x":370,"y":447,"w":600,"h":238,"abs_x":566,"abs_y"=
:1338}' x>
<tr bis_size=3D'{"x":370,"y":447,"w":600,"h":198,"abs_x":566,"abs_y":1338}'=
 x>
					<td width=3D"600" style=3D"padding: 0px 30px" bis_size=3D'{"x":370,"y"=
:447,"w":600,"h":198,"abs_x":566,"abs_y":1338}' x>
						<table class=3D"table-inner" width=3D"540" border=3D"0" align=3D"cent=
er" cellpadding=3D"0" cellspacing=3D"0" bis_size=3D'{"x":400,"y":447,"w":54=
0,"h":198,"abs_x":596,"abs_y":1338}' x style=3D"border-collapse: collapse">
							<tbody bis_size=3D'{"x":400,"y":447,"w":540,"h":198,"abs_x":596,"abs=
_y":1338}' x>
<tr bis_size=3D'{"x":400,"y":447,"w":540,"h":198,"abs_x":596,"abs_y":1338}'=
 x>
								<td valign=3D"top" bis_size=3D'{"x":400,"y":447,"w":540,"h":198,"ab=
s_x":596,"abs_y":1338}' x>
								=09
									<table class=3D"full" width=3D"540" border=3D"0" align=3D"left" ce=
llpadding=3D"0" cellspacing=3D"0" style=3D"border-collapse:collapse;mso-tab=
le-lspace:0pt;mso-table-rspace:0pt" bis_size=3D'{"x":400,"y":447,"w":540,"h=
":198,"abs_x":596,"abs_y":1338}' x>
									=09
										<tbody bis_size=3D'{"x":400,"y":447,"w":540,"h":198,"abs_x":596,"=
abs_y":1338}' x>
<tr bis_size=3D'{"x":400,"y":447,"w":540,"h":40,"abs_x":596,"abs_y":1338}' =
x>
											<td class=3D"center" align=3D"center" style=3D"padding-bottom: 1=
5px;margin: 0;font-size:14px;color:#636363;font-family: 'Open Sans', Arial,=
 sans-serif;line-height: 0" bis_size=3D'{"x":400,"y":447,"w":540,"h":40,"ab=
s_x":596,"abs_y":1338}' x>
												<span bis_size=3D'{"x":658,"y":457,"w":25,"h":19,"abs_x":854,"a=
bs_y":1348}' x>
												<img editable=3D"" label=3D"quote icon" alt=3D"HEART-WEB-ORANGE=
" style=3D"width:25px;display: inline-block;line-height: 0" width=3D"25" he=
ight=3D"25" border=3D"0" class=3D"" data-id=3D"144528" src=3D"http://www.es=
tastonne.com/wp-content/uploads/2021/11/HEART-WEB-ORANGE-40x40.png" bis_siz=
e=3D'{"x":658,"y":447,"w":25,"h":25,"abs_x":854,"abs_y":1338}' x>
												</span>
											</td>
										</tr>
									=09
										<tr bis_size=3D'{"x":400,"y":487,"w":540,"h":138,"abs_x":596,"abs=
_y":1378}' x>
											<td class=3D"center" align=3D"center" style=3D"margin: 0;font-si=
ze:14px;color:#636363;font-family: 'Open Sans', Arial, sans-serif;line-heig=
ht: 23px;mso-line-height-rule: exactly" bis_size=3D'{"x":400,"y":487,"w":54=
0,"h":138,"abs_x":596,"abs_y":1378}' x>
												<strong bis_size=3D'{"x":421,"y":489,"w":103,"h":19,"abs_x":617=
,"abs_y":1380}'>=E2=80=9CSpontaneous=E2=80=9D</strong>=C2=A0is a collaborat=
ive album by=C2=A0<strong bis_size=3D'{"x":705,"y":489,"w":83,"h":19,"abs_x=
":901,"abs_y":1380}'>Estas Tonne</strong>=C2=A0and=C2=A0<strong bis_size=3D=
'{"x":821,"y":489,"w":95,"h":19,"abs_x":1017,"abs_y":1380}'>Sanya Kroitor</=
strong>, recorded in a single take in the studio. The album features improv=
isations based on pre-existing sketches, some previously recorded and some =
debuting. A few years after recording this album, it became clear that it s=
ymbolises time as concepts of linearity (structure) and multidimensionality=
 (improvisation), embodying what can be considered timelessness as a third =
yet main ingredient.
											</td>
										</tr>

									=09
									=09
									=09
										<tr bis_size=3D'{"x":400,"y":625,"w":540,"h":20,"abs_x":596,"abs_=
y":1516}' x>
											<td align=3D"center" valign=3D"top" style=3D"padding-top: 20px" =
bis_size=3D'{"x":400,"y":625,"w":540,"h":20,"abs_x":596,"abs_y":1516}' x>
											=09
											</td>
										</tr>

									=09
									</tbody>
</table>
								</td>
							</tr>

						</tbody>
</table>
					</td>
				</tr>

			=09
			=09
				<tr bis_size=3D'{"x":370,"y":645,"w":600,"h":40,"abs_x":566,"abs_y":153=
6}' x>
					<td height=3D"40" style=3D"padding:0;line-height: 0" bis_size=3D'{"x":=
370,"y":645,"w":600,"h":40,"abs_x":566,"abs_y":1536}' x>
					=C2=A0
					</td>
				</tr>

			=09
			</tbody>
</table>
		</td>
	</tr>

</tbody>
</table>


<table width=3D"100%" border=3D"0" align=3D"center" cellpadding=3D"0" cells=
pacing=3D"0" bgcolor=3D"fafafa" style=3D"padding: 0;margin: 0;border-collap=
se: collapse" bis_size=3D'{"x":0,"y":685,"w":1341,"h":165,"abs_x":196,"abs_=
y":1576}' x>
	<tbody bis_size=3D'{"x":0,"y":685,"w":1341,"h":165,"abs_x":196,"abs_y":157=
6}' x>
<tr bis_size=3D'{"x":0,"y":685,"w":1341,"h":165,"abs_x":196,"abs_y":1576}' =
x>
		<td valign=3D"top" align=3D"center" bis_size=3D'{"x":0,"y":685,"w":1341,"=
h":165,"abs_x":196,"abs_y":1576}' x>
			<table class=3D"table-wrapper" bgcolor=3D"#E99512" width=3D"600" border=
=3D"0" align=3D"center" cellpadding=3D"0" cellspacing=3D"0" bis_size=3D'{"x=
":370,"y":685,"w":600,"h":165,"abs_x":566,"abs_y":1576}' x style=3D"border-=
collapse: collapse">
				<tbody bis_size=3D'{"x":370,"y":685,"w":600,"h":165,"abs_x":566,"abs_y"=
:1576}' x>
<tr bis_size=3D'{"x":370,"y":685,"w":600,"h":165,"abs_x":566,"abs_y":1576}'=
 x>
				  <td width=3D"600" style=3D"padding:20px 10px" bis_size=3D'{"x":370,"y=
":685,"w":600,"h":165,"abs_x":566,"abs_y":1576}' x>
						<table class=3D"table-inner" width=3D"540" align=3D"center" cellpaddi=
ng=3D"0" cellspacing=3D"0" border=3D"0" bis_size=3D'{"x":400,"y":705,"w":54=
0,"h":43,"abs_x":596,"abs_y":1596}' x style=3D"border-collapse: collapse">
						=09
							<tbody bis_size=3D'{"x":400,"y":705,"w":540,"h":43,"abs_x":596,"abs_=
y":1596}' x>
<tr bis_size=3D'{"x":400,"y":705,"w":540,"h":43,"abs_x":596,"abs_y":1596}' =
x>
								<td class=3D"center" align=3D"center" style=3D"padding-bottom: 15px=
;font-weight: bold;font-family: 'Open Sans', 'Open Sans', Arial, sans-serif=
;color:#ffffff;font-size:18px;line-height:28px;mso-line-height-rule: exactl=
y" bis_size=3D'{"x":400,"y":705,"w":540,"h":43,"abs_x":596,"abs_y":1596}' x=
>
									Available on all major music platforms
								</td>
							</tr>

						=09
						</tbody>
</table>
					=09
					 =20
					  <table class=3D"table-inner" width=3D"540" border=3D"0" align=3D"cen=
ter" cellpadding=3D"0" cellspacing=3D"0" bis_size=3D'{"x":400,"y":748,"w":5=
40,"h":0,"abs_x":596,"abs_y":1639}' x style=3D"border-collapse: collapse">
						  <tbody bis_size=3D'{"x":400,"y":748,"w":540,"h":0,"abs_x":596,"abs_=
y":1639}' x>
<tr bis_size=3D'{"x":400,"y":748,"w":540,"h":0,"abs_x":596,"abs_y":1639}' x=
> </tr>

						</tbody>
					  </table>
						<table width=3D"200" border=3D"0" align=3D"center" bis_size=3D'{"x":4=
24,"y":748,"w":492,"h":82,"abs_x":620,"abs_y":1639}' x style=3D"border-coll=
apse: collapse">
						  <tbody bis_size=3D'{"x":424,"y":748,"w":492,"h":82,"abs_x":620,"abs=
_y":1639}' x>
						    <tr bis_size=3D'{"x":424,"y":748,"w":492,"h":82,"abs_x":620,"abs_=
y":1639}' x>
								<td bis_size=3D'{"x":424,"y":748,"w":82,"h":82,"abs_x":620,"abs_y":=
1639}' x><a href=3D"https://u4185734.ct.sendgrid.net/ls/click?upn=3Du001.pd=
0oGKLrp-2BvYGrqzuBZ-2FbjkfBX9zREo49nHbrscZ4gCzCA-2F5wffOX8oDejfFDHuzhDQyTJc=
pRl2kxCaFxlmoFLMh5MNF-2BIg-2BkljQnSD3A4n0AE21qttj-2B7YdSU03I38itYKx9UUVVXpX=
sljDZAjR-2BVSvd6IMnXE2tXqJbnn2PuHMQM-2BqdfOQ-2B4M2Qbf87V23msKtxlQU-2B1Nqa8Q=
eNCmk1s2ZI4UZMAAel4TzzSDvVRT3-2F069DnB9CUHFEx-2F36yJQE3nf_1aLIKCBNLPVmwdQut=
ZUSUugV8fxyBtiLOGSSmZooMqWYaLupMLd3q-2FGFK4P06N6XL-2FJK4-2Fd5hwIORRtepPNDYV=
yph-2BJDQmsZdi-2FnTHP-2BSy4ENE7xr8QtCcHcfwuhbkDwbp8EHS5kHq417l5buTJs6LxJPOn=
EfFT9pMuRA8KfEh6oX-2FVd8K3wKx5KcCVYTPCo3sS44938W9lm-2B9rLoI0ZCg-3D-3D" bis_=
size=3D'{"x":425,"y":814,"w":80,"h":18,"abs_x":621,"abs_y":1705}' style=3D"=
color:#DD9933;text-decoration:none;font-weight:normal;font-style: normal"><=
img editable=3D"" label=3D"icon1" alt=3D"nl-spotify-white" style=3D"width:8=
0px;display: inline-block" width=3D"80" height=3D"80" border=3D"0" class=3D=
"" data-id=3D"136623" bis_size=3D'{"x":425,"y":749,"w":80,"h":80,"abs_x":62=
1,"abs_y":1640}' x src=3D"http://www.estastonne.com/wp-content/uploads/2020=
/02/NL-Spotify-White-72x72-72x72-72x72.png"></a></td>
								<td bis_size=3D'{"x":506,"y":748,"w":82,"h":82,"abs_x":702,"abs_y":=
1639}' x><a href=3D"https://u4185734.ct.sendgrid.net/ls/click?upn=3Du001.pd=
0oGKLrp-2BvYGrqzuBZ-2FbjkfBX9zREo49nHbrscZ4gCzCA-2F5wffOX8oDejfFDHuzhDQyTJc=
pRl2kxCaFxlmoFLMh5MNF-2BIg-2BkljQnSD3A4mwjpn-2Bdn7soTPAqkluOMdJAZDLBsogM5MY=
eSfwVIAJkNTp5rnc2emUgqlg37GDe6q4w-2BSiFIkIdZnhEeuJAL2svbvBs-2BgMnOz3H7DuNqH=
IEw-3D-3DJOom_1aLIKCBNLPVmwdQutZUSUugV8fxyBtiLOGSSmZooMqWYaLupMLd3q-2FGFK4P=
06N6XBS6tbk1-2FEgUu3WwNEdDZSLHvX6kbz3aZxhAtzhXCUviDNbTO-2FBFjamj4DK1SzZNUpB=
WUn7vjJBai5Eh7qtPlrBWl89nMloBvEl78L-2BtGMCT-2BUCuxfMhtobetQCSM03azrwc4ih7Vm=
2BP1XFRWXuxxA-3D-3D" bis_size=3D'{"x":507,"y":814,"w":80,"h":18,"abs_x":703=
,"abs_y":1705}' style=3D"color:#DD9933;text-decoration:none;font-weight:nor=
mal;font-style: normal"><img editable=3D"" label=3D"icon1" alt=3D"nl-itunes=
-white" style=3D"width:80px;display: inline-block" width=3D"80" height=3D"8=
0" border=3D"0" class=3D"" bis_size=3D'{"x":507,"y":749,"w":80,"h":80,"abs_=
x":703,"abs_y":1640}' x data-id=3D"136624" src=3D"http://www.estastonne.com=
/wp-content/uploads/2020/02/NL-iTunes-White-72x72-72x72-72x72.png"></a></td=
>
								<td bis_size=3D'{"x":588,"y":748,"w":82,"h":82,"abs_x":784,"abs_y":=
1639}' x><a href=3D"https://u4185734.ct.sendgrid.net/ls/click?upn=3Du001.pd=
0oGKLrp-2BvYGrqzuBZ-2FbjkfBX9zREo49nHbrscZ4gCzCA-2F5wffOX8oDejfFDHuzhDQyTJc=
pRl2kxCaFxlmoFLMh5MNF-2BIg-2BkljQnSD3A4kq3awq7BeYjp-2B0YlOaOocJ9mO2UH6zJEbq=
bTpkOI6Sqyc9YX9jDhUOmrktNad4oFJUH1GtwNr2hZGAtKCurz4IaYSqtQC15SaD7U56pO7XhA-=
3D-3D1zvQ_1aLIKCBNLPVmwdQutZUSUugV8fxyBtiLOGSSmZooMqWYaLupMLd3q-2FGFK4P06N6=
XTdqQmbTYFR4akFyay0VaFgps-2FEUuytsKf6hrGwGs3cOzcM5yGL6RIkOIZjl24Uy3FSAOXAzI=
U5vPxPYSOBB2BTSodEUuYRX7bnRqKc6QJob9QHukCSUVAI-2BgeCcceln0BorWILYvTnG91sqTF=
yNlgw-3D-3D" bis_size=3D'{"x":589,"y":814,"w":80,"h":18,"abs_x":785,"abs_y"=
:1705}' style=3D"color:#DD9933;text-decoration:none;font-weight:normal;font=
-style: normal"><img editable=3D"" label=3D"icon1" alt=3D"nl-bandcamp-white=
" style=3D"width:80px;display: inline-block" width=3D"80" height=3D"80" bor=
der=3D"0" class=3D"" bis_size=3D'{"x":589,"y":749,"w":80,"h":80,"abs_x":785=
,"abs_y":1640}' x data-id=3D"136625" src=3D"http://www.estastonne.com/wp-co=
ntent/uploads/2020/02/NL-Bandcamp-White-72x72-72x72-72x72.png"></a></td>
								<td bis_size=3D'{"x":670,"y":748,"w":82,"h":82,"abs_x":866,"abs_y":=
1639}' x><a href=3D"https://u4185734.ct.sendgrid.net/ls/click?upn=3Du001.pd=
0oGKLrp-2BvYGrqzuBZ-2FbjkfBX9zREo49nHbrscZ4gCzCA-2F5wffOX8oDejfFDHuzhDQyTJc=
pRl2kxCaFxlmoFLMh5MNF-2BIg-2BkljQnSD3A4llVdKAEk7ZjCcJcdho5DR0qsNqLnxD22mR9S=
v6X0Dq7MQEtn9GwtLh6oqCjt1niZFH-2BnQU9qaF5bEKRFiC-2F6ob_Fhf_1aLIKCBNLPVmwdQu=
tZUSUugV8fxyBtiLOGSSmZooMqWYaLupMLd3q-2FGFK4P06N6XTkMdgGRnIYF7vMs8-2FSuZzgG=
cMd5bQRKcimWbslUYBPrRGYHVBL6vNjeWovpAfFu5uK6a-2F20-2FBe-2FWIEm3SBu66SZ9BR5B=
66daOAJ3PymFmJAHZUgenQNMXoi7icHdQwwwTPRhY9DJMTsH3Hioq6mlBQ-3D-3D" bis_size=
=3D'{"x":671,"y":814,"w":80,"h":18,"abs_x":867,"abs_y":1705}' style=3D"colo=
r:#DD9933;text-decoration:none;font-weight:normal;font-style: normal"><img =
editable=3D"" label=3D"icon1" alt=3D"nl-deezer-white" style=3D"width:80px;d=
isplay: inline-block" width=3D"80" height=3D"80" border=3D"0" class=3D"" bi=
s_size=3D'{"x":671,"y":749,"w":80,"h":80,"abs_x":867,"abs_y":1640}' x data-=
id=3D"136628" src=3D"http://www.estastonne.com/wp-content/uploads/2020/02/N=
L-Deezer-White-72x72-72x72.png"></a></td>
								<td bis_size=3D'{"x":752,"y":748,"w":82,"h":82,"abs_x":948,"abs_y":=
1639}' x><a href=3D"https://u4185734.ct.sendgrid.net/ls/click?upn=3Du001.pd=
0oGKLrp-2BvYGrqzuBZ-2FbjkfBX9zREo49nHbrscZ4gCzCA-2F5wffOX8oDejfFDHuzhDQyTJc=
pRl2kxCaFxlmoFLMh5MNF-2BIg-2BkljQnSD3A4nezTFtQqX-2BJshwHnj0orr4GZ1WIvYDy4p8=
-2FXV6SrUGG3x9ufRDra41C3hOcpKwUZHtdOP5G4NyoBFJW8s1TIZ11BWA_1aLIKCBNLPVmwdQu=
tZUSUugV8fxyBtiLOGSSmZooMqWYaLupMLd3q-2FGFK4P06N6XsGG2OhXv4nbmzhmU9Nl30HVhA=
cARvBSOxxYvHd9Ayw717IBE5qCssXXI2DFH2p1pOvNoAvaVQ-2BQPMxZ5XPnk2bVG8SrIbxO-2B=
WyVLykjUT8WTH6EVVI85eY3bZ93VQ1awz8V6wK-2BrLu0UPTMOKqm5DQ-3D-3D" bis_size=3D=
'{"x":753,"y":814,"w":80,"h":18,"abs_x":949,"abs_y":1705}' style=3D"color:#=
DD9933;text-decoration:none;font-weight:normal;font-style: normal"><img edi=
table=3D"" label=3D"icon1" alt=3D"nl-tidal-white" style=3D"width:80px;displ=
ay: inline-block" width=3D"80" height=3D"80" border=3D"0" class=3D"" bis_si=
ze=3D'{"x":753,"y":749,"w":80,"h":80,"abs_x":949,"abs_y":1640}' x data-id=
=3D"136629" src=3D"http://www.estastonne.com/wp-content/uploads/2020/02/NL-=
Tidal-White-72x72-72x72.png"></a></td>
								<td bis_size=3D'{"x":834,"y":748,"w":82,"h":82,"abs_x":1030,"abs_y"=
:1639}' x><a href=3D"https://u4185734.ct.sendgrid.net/ls/click?upn=3Du001.p=
d0oGKLrp-2BvYGrqzuBZ-2FbjkfBX9zREo49nHbrscZ4gCzCA-2F5wffOX8oDejfFDHuzhDQyTJ=
cpRl2kxCaFxlmoFLMh5MNF-2BIg-2BkljQnSD3A4mwjpn-2Bdn7soTPAqkluOMdJAZDLBsogM5M=
YeSfwVIAJkNTp5rnc2emUgqlg37GDe6q4w-2BSiFIkIdZnhEeuJAL2sGWh9P75Ms277elndeO-2=
BPDnTCiqcR9-2Bo-2Bm4hcss-2Bzv1s-3DRz9H_1aLIKCBNLPVmwdQutZUSUugV8fxyBtiLOGSS=
mZooMqWYaLupMLd3q-2FGFK4P06N6X-2BrOZr4-2FxI-2BX1lP2XX0H2YTJSzW4aB6iuDTz-2F1=
WtVRl5Y4K6TxYlmK9Dad-2FT20ChUhXlVvM4NtwueP1hBdehrCoI0b8fHAqPYTuAetqYi4Q4CHW=
pMEr7wGJthHeeb4HlPMjMCKPvFogeQ4esg-2Bg-2Fqeg-3D-3D" bis_size=3D'{"x":835,"y=
":814,"w":80,"h":18,"abs_x":1031,"abs_y":1705}' style=3D"color:#DD9933;text=
-decoration:none;font-weight:normal;font-style: normal"><img editable=3D"" =
label=3D"icon1" alt=3D"nl-itunesstore-white" style=3D"width:80px;display: i=
nline-block" width=3D"80" height=3D"80" border=3D"0" class=3D"" bis_size=3D=
'{"x":835,"y":749,"w":80,"h":80,"abs_x":1031,"abs_y":1640}' x data-id=3D"13=
6630" src=3D"http://www.estastonne.com/wp-content/uploads/2020/02/NL-iTunes=
STORE-White-72x72.png"></a></td>
					        </tr>

					      </tbody>
				    </table>
						<table class=3D"table-inner" width=3D"540" border=3D"0" align=3D"cent=
er" cellpadding=3D"0" cellspacing=3D"0" bis_size=3D'{"x":400,"y":830,"w":54=
0,"h":0,"abs_x":596,"abs_y":1721}' x style=3D"border-collapse: collapse">
						  <tbody bis_size=3D'{"x":400,"y":830,"w":540,"h":0,"abs_x":596,"abs_=
y":1721}' x>
					      </tbody>
				    </table>
					 =20
					</td>
				</tr>

			</tbody>
</table>
		</td>
	</tr>

</tbody>
</table>
<table width=3D"100%" border=3D"0" align=3D"center" cellpadding=3D"0" cells=
pacing=3D"0" bgcolor=3D"#fafafa" style=3D"padding: 0;margin: 0;border-colla=
pse: collapse" bis_size=3D'{"x":0,"y":850,"w":1341,"h":224,"abs_x":196,"abs=
_y":1741}'><tbody bis_size=3D'{"x":0,"y":850,"w":1341,"h":224,"abs_x":196,"=
abs_y":1741}'><tr bis_size=3D'{"x":0,"y":850,"w":1341,"h":224,"abs_x":196,"=
abs_y":1741}'>
<td valign=3D"top" align=3D"center" bis_size=3D'{"x":0,"y":850,"w":1341,"h"=
:224,"abs_x":196,"abs_y":1741}'>
			<table class=3D"table-wrapper" bgcolor=3D"#ffffff" width=3D"600" border=
=3D"0" align=3D"center" cellpadding=3D"0" cellspacing=3D"0" bis_size=3D'{"x=
":370,"y":850,"w":600,"h":184,"abs_x":566,"abs_y":1741}' style=3D"border-co=
llapse: collapse"><tbody bis_size=3D'{"x":370,"y":850,"w":600,"h":184,"abs_=
x":566,"abs_y":1741}'><tr bis_size=3D'{"x":370,"y":850,"w":600,"h":184,"abs=
_x":566,"abs_y":1741}'>
<td width=3D"600" style=3D"padding: 40px 30px" bis_size=3D'{"x":370,"y":850=
,"w":600,"h":184,"abs_x":566,"abs_y":1741}'>
						<table class=3D"table-inner" width=3D"540" border=3D"0" align=3D"cent=
er" cellpadding=3D"0" cellspacing=3D"0" bis_size=3D'{"x":400,"y":890,"w":54=
0,"h":104,"abs_x":596,"abs_y":1781}' style=3D"border-collapse: collapse"><t=
body bis_size=3D'{"x":400,"y":890,"w":540,"h":104,"abs_x":596,"abs_y":1781}=
'><tr bis_size=3D'{"x":400,"y":890,"w":540,"h":104,"abs_x":596,"abs_y":1781=
}'>
<td valign=3D"top" bis_size=3D'{"x":400,"y":890,"w":540,"h":104,"abs_x":596=
,"abs_y":1781}'>
									<table class=3D"full" width=3D"540" border=3D"0" align=3D"left" ce=
llpadding=3D"0" cellspacing=3D"0" style=3D"border-collapse:collapse;mso-tab=
le-lspace:0pt;mso-table-rspace:0pt" bis_size=3D'{"x":400,"y":890,"w":540,"h=
":104,"abs_x":596,"abs_y":1781}'>
<tbody bis_size=3D'{"x":400,"y":890,"w":540,"h":104,"abs_x":596,"abs_y":178=
1}'>
<tr bis_size=3D'{"x":400,"y":890,"w":540,"h":50,"abs_x":596,"abs_y":1781}'>
<td class=3D"center" align=3D"center" style=3D"padding-bottom: 10px;margin:=
 0;font-size:14px;color:#677b82;font-family: 'Open Sans', Helvetica, Arial,=
 sans-serif;line-height: 23px" bis_size=3D'{"x":400,"y":890,"w":540,"h":50,=
"abs_x":596,"abs_y":1781}'>
											=09
											=09
												=09
												=C2=A0
											=09
													<a href=3D"https://u4185734.ct.sendgrid.net/ls/click?upn=3Du00=
1.pd0oGKLrp-2BvYGrqzuBZ-2FbjkfBX9zREo49nHbrscZ4gCzCA-2F5wffOX8oDejfFDHuzhDQ=
yTJcpRl2kxCaFxlmoFLMh5MNF-2BIg-2BkljQnSD3A4llVdKAEk7ZjCcJcdho5DR0zs5tD-2FK7=
zEIhm-2FxTmD9CgqPiAXDk4RHmkFSaWW0zk5XWV-2F8IRA2-2BFuxYfAkmLkiSYT0z_1aLIKCBN=
LPVmwdQutZUSUugV8fxyBtiLOGSSmZooMqWYaLupMLd3q-2FGFK4P06N6XgL694gNGr9Dg9Fm70=
MC2HQ9BNWyVqVNzwJovwnzVlcH95Ea7Wx4c-2FEacL3PrQwpofDw5Aa0neqtWhBleqo-2BkORY-=
2FtERQPkdAlmcHv9M4v6Zamal96gw6UGfSYUyQ0QKnNfO17jL0BAcI1bzDOKwn1Q-3D-3D" bis=
_size=3D'{"x":586,"y":909,"w":34,"h":19,"abs_x":782,"abs_y":1800}' style=3D=
"color:#DD9933;text-decoration:none;font-weight:normal;font-style: normal">=
<img editable=3D"" label=3D"dribbble" src=3D"https://estastonne.com/wp-cont=
ent/uploads/mailster/templates/mantostemplate/img/social/dribbble.png" alt=
=3D"dribbble" style=3D"width:34px;display: inline-block" width=3D"34" heigh=
t=3D"34" border=3D"0" class=3D"" bis_size=3D'{"x":586,"y":890,"w":34,"h":34=
,"abs_x":782,"abs_y":1781}'></a>
												=C2=A0
											=09
													<a href=3D"https://u4185734.ct.sendgrid.net/ls/click?upn=3Du00=
1.pd0oGKLrp-2BvYGrqzuBZ-2FbjkfBX9zREo49nHbrscZ4gCzCA-2F5wffOX8oDejfFDHuzhDQ=
yTJcpRl2kxCaFxlmoFLMh5MNF-2BIg-2BkljQnSD3A4llVdKAEk7ZjCcJcdho5DR0Up4g1Dpvza=
uSH4veedPy1xHoQKN6AiqLQh-2B0KsQSj-2BcJvLBl0T2-2BsgHnQIv2mV1n2yUeDpTqYPaw1VH=
S2sbuug-3D-3D_ID8_1aLIKCBNLPVmwdQutZUSUugV8fxyBtiLOGSSmZooMqWYaLupMLd3q-2FG=
FK4P06N6XG8AMSXL0v0WdjM6Hts1EIXS2OKHkyTrEFA-2BTN3tjDBftIvnyBPmckWkfw-2FB1mj=
n5fbs56Ieg-2BxcgWUl4E-2B4ivSBI5etDVHvT7YbNBxtN5Z9-2FlYA6YIKTa5vgkKvEiW-2FOx=
Gc8oTUJ3CO8p5PloOMj8w-3D-3D" bis_size=3D'{"x":631,"y":909,"w":34,"h":19,"ab=
s_x":827,"abs_y":1800}' style=3D"color:#DD9933;text-decoration:none;font-we=
ight:normal;font-style: normal"><img editable=3D"" label=3D"facebook" src=
=3D"https://estastonne.com/wp-content/uploads/mailster/templates/mantostemp=
late/img/social/facebook.png" alt=3D"facebook" style=3D"width:34px;display:=
 inline-block" width=3D"34" height=3D"34" border=3D"0" class=3D"" bis_size=
=3D'{"x":631,"y":890,"w":34,"h":34,"abs_x":827,"abs_y":1781}'></a>
												=C2=A0
											=09
													<a href=3D"https://u4185734.ct.sendgrid.net/ls/click?upn=3Du00=
1.pd0oGKLrp-2BvYGrqzuBZ-2FbjkfBX9zREo49nHbrscZ4gCzCA-2F5wffOX8oDejfFDHuzhDQ=
yTJcpRl2kxCaFxlmoFLMh5MNF-2BIg-2BkljQnSD3A4n0AE21qttj-2B7YdSU03I38itYKx9UUV=
VXpXsljDZAjR-2BbMnGNCg5ewdArgo3h7PpstZMwJIp7i3ZIl9EuxV-2B5fLG-2BWRKXHRysLlj=
e66WDutSQ-3D-3Dvybn_1aLIKCBNLPVmwdQutZUSUugV8fxyBtiLOGSSmZooMqWYaLupMLd3q-2=
FGFK4P06N6XMyUr04HjlMonAS1PDKAEIQYxkBf6kLD7XvNPlgCBmJHE0W11gB0We7koFFqRWONc=
x0jDwcQ9uA-2FOaDfWrfqkrYRKh-2F-2B5rRP1qNQE219M66b30kMURc0T1hvxCUffktpXcEABP=
EBnQXSQMbjDEtQ-2FJw-3D-3D" bis_size=3D'{"x":675,"y":909,"w":34,"h":19,"abs_=
x":871,"abs_y":1800}' style=3D"color:#DD9933;text-decoration:none;font-weig=
ht:normal;font-style: normal"><img editable=3D"" label=3D"twitter" alt=3D"s=
potify-grey-01" style=3D"width:34px;display: inline-block" width=3D"34" hei=
ght=3D"34" border=3D"0" class=3D"" data-id=3D"130465" src=3D"http://www.est=
astonne.com/wp-content/uploads/2020/02/spotify-grey-01-64x64.png" bis_size=
=3D'{"x":675,"y":890,"w":34,"h":34,"abs_x":871,"abs_y":1781}'></a>
												=C2=A0
											=09
												=09
												=C2=A0
											=09
													<a href=3D"https://u4185734.ct.sendgrid.net/ls/click?upn=3Du00=
1.pd0oGKLrp-2BvYGrqzuBZ-2FbjkfBX9zREo49nHbrscZ4gCzCA-2F5wffOX8oDejfFDHuzhDQ=
yTJcpRl2kxCaFxlmoFLMh5MNF-2BIg-2BkljQnSD3A4llVdKAEk7ZjCcJcdho5DR0-2FIynHb3C=
hrzLtsBihLV-2BKN2hQZJAt-2BgqtijyzoeDTkMo5xo9Kh3jHPiCV8-2BHg-2BT0kU23_1aLIKC=
BNLPVmwdQutZUSUugV8fxyBtiLOGSSmZooMqWYaLupMLd3q-2FGFK4P06N6X81ANbgybhlbinK7=
ZkHUk4psrJ4NgWO6sEVI2o3WKYR0pViGCfWwxxAFC6SSAx31PrOjGfPmL7kJcPq0qwKcK86OaZp=
91Fo9kXAfTL-2FN7ReTGewH-2F3mbZUeg8NO-2B6Xv8A-2BES4CaYAV8Z15w8kMXwnsw-3D-3D"=
 bis_size=3D'{"x":728,"y":909,"w":34,"h":19,"abs_x":924,"abs_y":1800}' styl=
e=3D"color:#DD9933;text-decoration:none;font-weight:normal;font-style: norm=
al"><img editable=3D"" label=3D"instagram" src=3D"https://estastonne.com/wp=
-content/uploads/mailster/templates/mantostemplate/img/social/instagram.png=
" alt=3D"instagram" style=3D"width:34px;display: inline-block" width=3D"34"=
 height=3D"34" border=3D"0" class=3D"" bis_size=3D'{"x":728,"y":890,"w":34,=
"h":34,"abs_x":924,"abs_y":1781}'></a>
											=09
											</td>
										</tr>

<tr bis_size=3D'{"x":400,"y":940,"w":540,"h":54,"abs_x":596,"abs_y":1831}'>
<td class=3D"center" align=3D"center" style=3D"margin: 0;font-size:12px;col=
or:#636363;font-family: 'Open Sans', Arial, sans-serif;line-height: 18px;ms=
o-line-height-rule: exactly" bis_size=3D'{"x":400,"y":940,"w":540,"h":54,"a=
bs_x":596,"abs_y":1831}'>
												You have received this email because you have subscribed to <a =
href=3D"https://u4185734.ct.sendgrid.net/ls/click?upn=3Du001.pd0oGKLrp-2BvY=
GrqzuBZ-2FbjkfBX9zREo49nHbrscZ4gCzCA-2F5wffOX8oDejfFDHuzhDQyTJcpRl2kxCaFxlm=
oFLMh5MNF-2BIg-2BkljQnSD3A4kq3awq7BeYjp-2B0YlOaOocJ-2BRP4WWH0x-2BylAerjX3W0=
FtplILLbXQxY750VGlPi8PQ-3DvM_8_1aLIKCBNLPVmwdQutZUSUugV8fxyBtiLOGSSmZooMqWY=
aLupMLd3q-2FGFK4P06N6X95BH58dr-2FgFCGaOgVOoQL1YL6QKd3Ij7SZPMPhly4iHGXivzo5y=
jO6-2F-2BWbmitc3TluqSicIVzxEww0aJ53d2IM5CsmWdggHKsLSen-2FUpf9uIhq8XVonLgXkl=
PlPQVUBVcPcU5XArSH2vAoluaYBk1Q-3D-3D" bis_size=3D'{"x":754,"y":940,"w":102,=
"h":16,"abs_x":950,"abs_y":1831}' style=3D"color:#DD9933;text-decoration:no=
ne;font-weight:normal;font-style: normal">Estas Tonne Music</a> as inigoser=
na@HIDDEN If you no longer wish to receive emails please <a href=3D"https=
://u4185734.ct.sendgrid.net/ls/click?upn=3Du001.pd0oGKLrp-2BvYGrqzuBZ-2Fbjk=
fBX9zREo49nHbrscZ4gCzCA-2F5wffOX8oDejfFDHuzhDQyTJcpRl2kxCaFxlmoFLMh5MNF-2BI=
g-2BkljQnSD3A4llVdKAEk7ZjCcJcdho5DR0dCicmn-2Fxi5Z48r55IIyVAfMK-2BA7vDR1YGM1=
ar9BR4pYUV3bav-2BZ21-2BmEgexoMDTy2jSfoePnMtMtFv-2BMpBmqRqRygiNweXom-2FXegl-=
2F7HkqRY-2FhBaPhtp3v9BiZ-2FoIZC0oILk7-2BW07kFj3RxvVkZ6Hg-3D-3DnIkb_1aLIKCBN=
LPVmwdQutZUSUugV8fxyBtiLOGSSmZooMqWYaLupMLd3q-2FGFK4P06N6XanFxyA-2BeBkWWf-2=
FwBRdx5KXNcLNoda1z-2FXMXZe20CuaOycwRBU5JprnzAIOb-2FXGS5I2POfeWaDwqZd9xEP77R=
J-2Fqwx3cY-2BB6HjUW3tkzzAGyFIYZDIUtqxlpfYiJ-2B8hzEz-2Fm2852qnamcMzlMyHAoKA-=
3D-3D" style=3D"color:#DD9933;text-decoration:none;font-weight:normal;font-=
style: normal">unsubscribe</a> <br bis_size=3D'{"x":815,"y":958,"w":0,"h":1=
6,"abs_x":1011,"abs_y":1849}'><span style=3D"color: #dd9933" bis_size=3D'{"=
x":565,"y":976,"w":209,"h":16,"abs_x":761,"abs_y":1867}'> <a href=3D"#" sty=
le=3D"color: #dd9933;text-decoration:none;font-weight:normal;font-style: no=
rmal" bis_size=3D'{"x":565,"y":976,"w":73,"h":16,"abs_x":761,"abs_y":1867}'=
></a><a href=3D"https://u4185734.ct.sendgrid.net/ls/click?upn=3Du001.pd0oGK=
Lrp-2BvYGrqzuBZ-2FbjkfBX9zREo49nHbrscZ4gCzCA-2F5wffOX8oDejfFDHuzhDQyTJcpRl2=
kxCaFxlmoFLMh5MNF-2BIg-2BkljQnSD3A4llVdKAEk7ZjCcJcdho5DR0dCicmn-2Fxi5Z48r55=
IIyVAfwahVOI3lfL921-2BMeBfyeEjHf9SXMV3I-2BdDrfZD558IOHlZetqe8OXUq3t3dk3crl2=
1X49SeKG6dH9SozRAvao-3Di6Xv_1aLIKCBNLPVmwdQutZUSUugV8fxyBtiLOGSSmZooMqWYaLu=
pMLd3q-2FGFK4P06N6XicdSyK5y2MkByHSJzOzpm0QhC8Fuy0zNeUSyvIBVC02l-2FeRIN8F5RB=
-2BzMtuZgLMF9UylyhZMXOzIRNArUESemoaDspa-2B-2BWgHTV06aRczLO8knkPLn5VkNSwwJ7v=
ZTkxqTYmEeEjgNkfD9-2BHy-2FB1GCg-3D-3D" style=3D"color:#DD9933;text-decorati=
on:none;font-weight:normal;font-style: normal">webversion</a> =C2=A0|=C2=A0=
 <a href=3D"#" style=3D"color: #dd9933;text-decoration:none;font-weight:nor=
mal;font-style: normal" bis_size=3D'{"x":658,"y":976,"w":53,"h":16,"abs_x":=
854,"abs_y":1867}'></a><a href=3D"https://u4185734.ct.sendgrid.net/ls/click=
?upn=3Du001.pd0oGKLrp-2BvYGrqzuBZ-2FbjkfBX9zREo49nHbrscZ4gCzCA-2F5wffOX8oDe=
jfFDHuzhDQyTJcpRl2kxCaFxlmoFLMh5MNF-2BIg-2BkljQnSD3A4llVdKAEk7ZjCcJcdho5DR0=
dCicmn-2Fxi5Z48r55IIyVAfwahVOI3lfL921-2BMeBfyeEjHf9SXMV3I-2BdDrfZD558IOHlZe=
tqe8OXUq3t3dk3crnDNPaJ907j7watPNmcMhM-2F7ykDMDaRj0LecSm0D7MvnU_SM_1aLIKCBNL=
PVmwdQutZUSUugV8fxyBtiLOGSSmZooMqWYaLupMLd3q-2FGFK4P06N6XoUWVYZOxUWYnD0RV75=
JTKZHtesSf8XYnRrAkAKSbKffIOSYZGfakw6qrc7nYrS9yomdvcg5esgsaQieAfOM6ckHWfgToQ=
iNCpTMgnyBcH4iKl3MyV-2Fzm6Uco3r1jztOawrfGqMw8m8mK0D6TC9syew-3D-3D" style=3D=
"color:#DD9933;text-decoration:none;font-weight:normal;font-style: normal">=
forward to a friend</a> =C2=A0|=C2=A0 <a href=3D"#" style=3D"color: #dd9933=
;text-decoration:none;font-weight:normal;font-style: normal" bis_size=3D'{"=
x":730,"y":976,"w":44,"h":16,"abs_x":926,"abs_y":1867}'></a><a href=3D"http=
s://u4185734.ct.sendgrid.net/ls/click?upn=3Du001.pd0oGKLrp-2BvYGrqzuBZ-2Fbj=
kfBX9zREo49nHbrscZ4gCzCA-2F5wffOX8oDejfFDHuzhDQyTJcpRl2kxCaFxlmoFLMh5MNF-2B=
Ig-2BkljQnSD3A4llVdKAEk7ZjCcJcdho5DR0dCicmn-2Fxi5Z48r55IIyVAfMK-2BA7vDR1YGM=
1ar9BR4pYUV3bav-2BZ21-2BmEgexoMDTy2jSfoePnMtMtFv-2BMpBmqRqRygiNweXom-2FXegl=
-2F7HkqRY-2FhBaPhtp3v9BiZ-2FoIZC07Ionjz4zvtvwJ-2F0iaTJJBw-3D-3DBNv8_1aLIKCB=
NLPVmwdQutZUSUugV8fxyBtiLOGSSmZooMqWYaLupMLd3q-2FGFK4P06N6XxDppFi6-2FfXOvbq=
gibAn7-2BeqTteTPEsCHXMa6aGTHNu5DO0fduFSeOJOTdwGpnEBoMmghT6lUvJCe7PAHUwUZ5Lm=
RaKPC9LEpIsQXSB0ls3cZ2B93D1wy1kkHuLEf-2Bug1a0Cw2N58Rjrl-2F7qGklnnMw-3D-3D" =
style=3D"color:#DD9933;text-decoration:none;font-weight:normal;font-style: =
normal">unsubscribe</a> </span>
</td>
										</tr>


</tbody>
</table>
</td>
							</tr>
</tbody></table>
</td>
				</tr>
</tbody></table>
<table class=3D"table-wrapper" width=3D"600" align=3D"center" cellpadding=
=3D"0" cellspacing=3D"0" border=3D"0" bis_size=3D'{"x":370,"y":1034,"w":600=
,"h":40,"abs_x":566,"abs_y":1925}' style=3D"border-collapse: collapse"><tbo=
dy bis_size=3D'{"x":370,"y":1034,"w":600,"h":40,"abs_x":566,"abs_y":1925}'>=
<tr bis_size=3D'{"x":370,"y":1034,"w":600,"h":40,"abs_x":566,"abs_y":1925}'=
>
<td width=3D"100%" height=3D"40" bis_size=3D'{"x":370,"y":1034,"w":600,"h":=
40,"abs_x":566,"abs_y":1925}'>
						=C2=A0
					</td>
				</tr>
</tbody></table>

</td>
	</tr>
</tbody></table>





<img src=3D"https://www.estastonne.com/mailster/167871/6db20372c5f7b29cf684=
ed5914434b40/?t=3D1743156334" alt=3D"" width=3D"1" height=3D"1"><img src=3D=
"https://u4185734.ct.sendgrid.net/wf/open?upn=3Du001.yZoAlmKZRZtuuNnsb8VjgW=
LK6-2F2JFT2OMmmKVGhercPH4PFZurYsQh4mfu9IvMUkwjgzVaero-2B4DDZ3kOD0KdkUz4ADnA=
owjDNRYbXLSd-2B6vOOPD93Yv8c7-2FbVFxFH12rcWuyoLNZuh0TRYAgRUj-2BE-2F-2FMBeXZS=
5Sgur5dIHPWFLrdkrlxpOs3FIWnHF-2F8tbCKFYKBy5mSWOldzDv5MRjwQ-3D-3D" alt=3D"" =
width=3D"1" height=3D"1" border=3D"0" style=3D"height:1px !important;width:=
1px !important;border-width:0 !important;margin-top:0 !important;margin-bot=
tom:0 !important;margin-right:0 !important;margin-left:0 !important;padding=
-top:0 !important;padding-bottom:0 !important;padding-right:0 !important;pa=
dding-left:0 !important;"/></body>
</html>

--=-=-=
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable




On 21 April 2025 at 20:31 +02, Gerd M=C3=B6llmann=20
<gerd.moellmann@HIDDEN> wrote:

> Eli Zaretskii <eliz@HIDDEN> writes:
>
>>> Date: Mon, 21 Apr 2025 10:34:01 +0200
>>> From:  I=C3=B1igo Serna via "Bug reports for GNU Emacs,
>>>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
>>>=20
>>> Hi,
>>>=20
>>> Since a few weeks ago I'm noting that HTML emails rendering is=20
>>> very slow,
>>> f.e. from 1 second to 5-6 seconds.
>>>=20
>>> I compile Emacs with PGTK and Native Compilation every week on
>>> GNU/Linux Fedora 41/42, and use mu4e to read emails.
>>> More info of my compilation flags below.
>>>=20
>>>=20
>>> Today I got some free time and proceed to profile the issue,=20
>>> it=20
>>> showed
>>> ~10x more time in function 'shr-render-td-1' vs emacs v30.1.
>>>=20
>>> As this function is not changed since time ago I've bisected=20
>>> the=20
>>> problem,
>>> which showed that the commit=20
>>> #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
>>> was the culprit:
>>>=20
>>>    [machine] /h/_/l/d/emacs.bug > git bisect good
>>>        eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5 is the first=20
>>>        bad=20
>>>        commit
>>>    commit eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
>>>    Author: Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN>
>>>        Make sure to initialize glyph::frame to NULL=20
>>>        (bug#77039)
>>>                * src/dispnew.c (adjust_glyph_matrix): Clear=20
>>>                glyph=20
>>>                memory when
>>>        enlarging window-system window glyph matrices.
>>>     src/dispnew.c | 3 ++-
>>>     1 file changed, 2 insertions(+), 1 deletion(-)
>>>=20
>>>=20
>>> If I comment out the two lines added in this commit, problem=20
>>> disappears.
>>>=20
>>> I've read bug #77039 comment but it's way off my=20
>>> understanding.
>>>=20
>>>=20
>>> But looking deeper into the problem, it is related with my own=20
>>> theme,
>>> which hides mode-line of non-active windows by setting its=20
>>> height=20
>>> to a small value:
>>>=20
>>>    (mode-line-inactive ((((type tty)) (:background "#222222"=20
>>>    :foreground
>>> ,elms-fg :height 0.1))
>>>                        (((type graphic)) (:background ,elms-bg
>>> :foreground ,elms-fg :height 0.1))))
>>>=20
>>>=20
>>> If remove that height attribute (or set it to a bigger value=20
>>> such=20
>>> as 0.6) the issue disappears.
>>
>> Gerd, any comments or suggestions?
>
> Please try if this helps:
>
> [2. text/x-patch; xxx.diff]...
>
>
> The hypothesis behind this would be: The rendering apparently=20
> leads to
> increasing glyph matrix sizes; maybe it does something with=20
> fonts, no
> idea. The memset clears all glyphs which I can only imagine to=20
> play a
> role when we somewhere in the display code compare desired and=20
> current
> glyphs, and that fails with the memset and didn't fail without=20
> it. Where
> that might be I have no idea.
>
> Anyway, with the loop in my diff it should be as before, and
> glyph::frame is unused in the window-system case, so...

--=-=-=--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 04:36:02 +0000
Resent-Message-ID: <handler.77961.B77961.17452965513334 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.17452965513334
          (code B ref 77961); Tue, 22 Apr 2025 04:36:02 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 04:35:51 +0000
Received: from localhost ([127.0.0.1]:42887 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u75MM-0000ri-P3
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 00:35:51 -0400
Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:43050)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u75MJ-0000qQ-R3
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 00:35:49 -0400
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43cf680d351so32473225e9.0
 for <77961 <at> debbugs.gnu.org>; Mon, 21 Apr 2025 21:35:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745296541; x=1745901341; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=fuXuC826UqBMQiggNP+gLJ9WxrGOUPqdzlHtitfPWZ0=;
 b=QjxvE/pwziPXDhVMaaSo3tn8rDZQG+a22O+nlZjO01vVJFC6Uk4RJBdrISwts5I06e
 3+lXCKs7jh9gbQK7yeMpDIIfD7WwC7qDD1ix4hjwHuGs2pWi8XKbOBpOW+tQ7D45A3SY
 EGlCESL25fCdN5OxA7/JRZK9cKyYtKMuvt0/FpXuigc282BJy7jVZ7Y/j1/3iMBrLSKo
 T/dgWpWiiTJ93MWrFHkgc/agL8mRroWFpqJ6wNd64FEzqh5ncZr9os0efGLKBR6VRUYA
 fZMpbyZk7PjRmM+1mAUvZ5ofTdIYOpDcPeSsosQ38WpVpw6c//5g3PTj+Rrefbabw4Rt
 3gUA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745296541; x=1745901341;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=fuXuC826UqBMQiggNP+gLJ9WxrGOUPqdzlHtitfPWZ0=;
 b=aMmt7dmuCK8NdsiYL1CUK3kMCI4Kidt7wknG0TFI+AHTnWYGC2YoSnmphll5Fc8I/H
 xm0563IveYAdf9JjwIRnsPbvLova1iAUu5pFQDKyALZzfvuFmFTLd8IV9jKB3ONQuW92
 9N689c5Sazz+PGN3cRgGXVoeceYcV6KHDeMgqPc1asgyISkiGgl9amWYYfRFt0RW9bi9
 LWg65Fmd7l9kUFPKW5L7effEYcLJm0ZUOl1kgfIwHpZyJZ0QOK8/KyXcdsDuNF4ADD2B
 y9yk3ADmctgxTTz1dT8xBs8u6oT7cdo5m7KS2fU3IQkmFC0DVR4n7QTm6dQebm07wX0L
 Opgw==
X-Forwarded-Encrypted: i=1;
 AJvYcCVAWbFLiPhSdr3EYWr1LDi0S6sbk3ODoNujAcgml00APJpr+QR4uYNJMY/ncGNER/49HK+URQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzzkyhtWQGLAnWKSIIuRU+oE4tY1flUyg21jsCHXsscdv5u2l7V
 nDr1GwiNsPVDndfZNlmeCq7ivF0BVsk5qs5uCpkb5p+imKg057sA4TB+jg==
X-Gm-Gg: ASbGnctd+sU0Dm0HHqSE7g36X6ngBPO3MTzL4hZ9/D0TKxDZD1srZIG4wPv/QEVdMBN
 XEXo/M4ZBeCcR+EaVqgIAhc6pfCwkLsm1DFPY4fKq34RefP6wBljibN7SsHqGF2qU6Hay92utoe
 orXZkdhbpzhzD4N3lPqKYPaL+kWqUHUTR0uPZhZ+IAJzZsTtxj1tqewDxzqDxocYMnE35ncfc29
 NXoKtE8KMS44SgV7GshD43T3xys8uWFuC4RgTZkGuMndQ92C/SC370GYt3Q07kM4OW9fAB51u6I
 RGDCokFHQl45Ix7QivViIzEuBgG+KNyQi3iYgjqAv+mbC3hxICMiOWMjPGaWag+jiizn5OstQqS
 hwPROJQkDla2cKUTtGanhZa/x6D8LBqfl48MryEp6njBn
X-Google-Smtp-Source: AGHT+IHIRuIAaOnciHh30Oe+PXQW+ujYpDz1STg1N4l8TbOrQfh+4gG0ff7vjTBUEFc9SQqcrCv99w==
X-Received: by 2002:a05:600c:4c12:b0:43c:f3e1:a729 with SMTP id
 5b1f17b1804b1-44069790731mr91539465e9.12.1745296540746; 
 Mon, 21 Apr 2025 21:35:40 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4408d0a7802sm3722955e9.1.2025.04.21.21.35.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 21 Apr 2025 21:35:40 -0700 (PDT)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <87sem1ff67.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
Date: Tue, 22 Apr 2025 06:35:39 +0200
Message-ID: <m234e0ertw.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
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.0 (-)

I=C3=B1igo Serna <inigoserna@HIDDEN> writes:

> Hi, and thanks for the quick answer.
>
> On 21 April 2025 at 20:31 +02, Gerd M=C3=B6llmann
> <gerd.moellmann@HIDDEN> wrote:
>> Please try if this helps:
>>
>> [2. text/x-patch; xxx.diff]...
>
> Sorry, the patch does not solve the issue.

Then I'm out of ideas for the moment.

>
> I attach a profiler output, and a HTML file which causes a similar
> slowdown when opening from eww.

Thanks. Can you please tell how I can make this happen using the HTML
file? I'm not familiar with this part of Emacs.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 04:40:02 +0000
Resent-Message-ID: <handler.77961.B77961.17452967994174 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.17452967994174
          (code B ref 77961); Tue, 22 Apr 2025 04:40:02 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 04:39:59 +0000
Received: from localhost ([127.0.0.1]:42935 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u75QN-00015G-1r
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 00:39:59 -0400
Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:52242)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u75QK-00014e-8s
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 00:39:56 -0400
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-39c1ee0fd43so4218510f8f.0
 for <77961 <at> debbugs.gnu.org>; Mon, 21 Apr 2025 21:39:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745296789; x=1745901589; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=a8qAjTH0fC+SEcyz4IURywd33U2N+HzU68RVxbdJA+4=;
 b=dBhwCfnWHNFmccvaHveK+Dxb3oNZZuQOUz6M1/82ESw4juXt1DTfkndFsHmr6GAwUC
 hzuEqOeyTdxlS1Sqpnk3AxXn+TYc4p/Za4HDL2PZ9V1XL7y3yldJyncpoxYI0Z0juudO
 RdxWSy+1ogPU6tcpn0T8imzBsB7Gt7js8Nx4KKbxWsGluEdw1ZAAN8lODLAxQvBGB2oD
 1DfXb8nAoDHQDNVUYX3LDL1GjyVwwNbqeCxBIxZPeovPoEQxMkcJefL656Lyn6oBnDsS
 3htMZ3oZ7d0gXV48O174yoImcl4N2zTl5YXO57VQRhwhK5yNQvW8ZLOjdq6mrrz1fDAV
 BEQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745296789; x=1745901589;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=a8qAjTH0fC+SEcyz4IURywd33U2N+HzU68RVxbdJA+4=;
 b=cACUZWXPXbRHiD1utOlpXrecYAr91bTbFJLhhXHpF4I9rLeckr1HzHW5oqexFnnGT9
 pCg7Ikvlxr/RYOYEDyGll0ZP4fE22ITsAlU5Vpy4hW7qDzKdSFuE+mYl84Oi/UY1fRuN
 3EXXLBU+fpAmrBK3ZQrSUGnw3qe7qI2bKLfIzopdtdrmiDH/vpsuSJZmHo4dcI+Hzfcu
 4IJiMtFG5ngz4+fWOLvTtcY54aH6M+WydxLrt0Z1VlEXwQmZGVIjVwuLNsRQnGasXuvt
 rMcp6ho38H7JmGc3MyN7iOTwh8JOFZLjPfZip1OkN71ZjFG10+TznDfSxKy/qtxurTnU
 t8rA==
X-Forwarded-Encrypted: i=1;
 AJvYcCWRGF+B+pShzJyMwtDauQsXc8FS4DL1WlmXXpYalz2C2cs1IlEF77uvct7ilDZhEJAv0AWq/Q==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzB2tHlEE12waiqbuTmdEUdlLqLI7KXERhaDEtkpkfQ2HAwQdO1
 b3VfPfx89SdPZAiXjk8EVfkL+rNDTr2/PjlUlPnVt1AWh3dpkmxjhlCheg==
X-Gm-Gg: ASbGncuhmVqE/RK3TRk3y0XNTPxrNuoHpNvRN1ze81NuYag1mTaHhMwdj2EgeSymrfv
 5lnkPj9gSFaswjxTnO03HrGYh+TBdicSS8RaD2iOnrWyx1F/yIjZ8skPeyTnwiCG9lQnMffPzYV
 foF5C/VOSMCF+qQYw5zZgRSaxnj1BJR8MaaLrqrXodaIT/vg7EevShW+wKoLCxoP3E+M2M+gY3C
 sqzR14Bl0uEcfzuvnaKYDDefJBluSEydTfVfLgmwl6CnHhJqjqrnrNHOrXHcen1nxchTtRk0pJ/
 BcZi11cIeASs6yD/bdQfDz39GJetOM6wN7DuW/ALP7AZEqmp1Ru7KTNqwSQ/jbFgzyCBwp3TuZA
 ckoTMATJ97LoYy6oLd3+y0u/VAFEU3FGBYVOri+VOVX4k
X-Google-Smtp-Source: AGHT+IHrOSYBa/h7idZeckTwp6YWG8a/JzVEXSckDiHsqi3cSc5KMIFm2dZuTJGOxWl9I4EnQpAVdQ==
X-Received: by 2002:a5d:64ad:0:b0:39e:f89b:85ce with SMTP id
 ffacd0b85a97d-39efba61a01mr11601962f8f.26.1745296788973; 
 Mon, 21 Apr 2025 21:39:48 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa4207afsm13977888f8f.12.2025.04.21.21.39.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 21 Apr 2025 21:39:48 -0700 (PDT)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <87sem1ff67.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
Date: Tue, 22 Apr 2025 06:39:47 +0200
Message-ID: <m2y0vsdd2k.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
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.0 (-)

I=C3=B1igo Serna <inigoserna@HIDDEN> writes:

> I attach a profiler output, and a HTML file which causes a similar
> slowdown when opening from eww.

Can you please tell what the profiler output is? Looks like Lisp data in
one text line?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 04:44:01 +0000
Resent-Message-ID: <handler.77961.B77961.17452970045263 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.17452970045263
          (code B ref 77961); Tue, 22 Apr 2025 04:44:01 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 04:43:24 +0000
Received: from localhost ([127.0.0.1]:42970 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u75Tf-0001MZ-1f
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 00:43:23 -0400
Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:42452)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u75Tc-0001Lq-5X
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 00:43:20 -0400
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-39c1ef4ae3aso2732033f8f.1
 for <77961 <at> debbugs.gnu.org>; Mon, 21 Apr 2025 21:43:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745296993; x=1745901793; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=ncP5f6NvPnbr232TmnllcM/etCxsbKG900Mq4rI3YRI=;
 b=i9PmhQ+wJWsv3Jj3ObOH7CMs2Mi/IAPDoe50C+iVVv6aEEecmwThFVIAKINqtb+P5t
 1N8PfSqo4HyWbhHZEMMS22VgB1xX+1TEqaxtkOut8TNxpixIqZfsMNjBSNtSbOAcPzR7
 coknRWuipF5/dxMdPogJtJRawXmLexAMZ24CFUKdHixGbV4OxVK5YTcjgpjQ9vwCIlNc
 d0T6QC7/fZDy1G1ZNug3+A2T9nwBvgzOGM7hxxp1YVHlBJu6t8Z28G3BWTYhjxqBXGKS
 FheX4H+KMxYR7cWOMTHDBXlpqq4UvbG6vPI3uP3goWngXxz2ktjOmiKLNGGe8mtMIgvQ
 KZBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745296993; x=1745901793;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=ncP5f6NvPnbr232TmnllcM/etCxsbKG900Mq4rI3YRI=;
 b=W8NHkAN5wYc5ufOk+3ZIWwk/DmuV7U0QdVHFQDCD7cNzgUbtecL0hiLPnVsD2R8Voy
 4zb6ADFpk5TQvYijkiGgzBmSt/p9x7c+rGs68i6uD9+ayCwBl0rYKRm4Koaja0kBEEkE
 u2NkZGBabfAYZHMR5t/u/46iCgDQbk+IVcl62zvH49tqpAfp+ogQ9hbIwM9yHidDGhBx
 4Zl4lGc4YaTXlcKX5/IWEPDtZlCFiN282+A5CiyS2RFoMS/W4Kcw6Q9FvR0cgxGOlno0
 gOfV2W5bdVbhE76Axw6VRxP1tR8MnP9nRGj9GfdBExOCZtjrRVEPthMl6ZgzSUwlgUkh
 mcxQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCXHwLgpRKS1DaHFhEMvWYzk73kM0TM2PYElW1VsdwIGO6nepk/HG/G2X4NWZZbXqCwwnpr9KA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YyPtmboS8wQ4WLW5WYCNeLwYCUJwQhXPDxSnKmbHQ4SO+CYwTxz
 hZvOnELsfaUTWMs7nPwyeB1FljJplgQ3ApDERKS6d5gXcngB5S8pBgsYow==
X-Gm-Gg: ASbGncvOwePEEkAOLFd8KuEdnBpmxFGOk9RntFDsaKbUsEtP01OopbrFCntFmJy2gaT
 Q5HvSzDEj08EMPVSAkK1fyQgCDpFtE+BLEQL2C7lrLj0XF5vx+CCc2qP8Z6HdkZNxABVL0qO6iY
 ywLvN9o8RIyuBkCGgGla+z0qxL+EXK/cbB/4SYjiFkQGC63qBF+Y2No7tavuLK1RPj8eDuSax8b
 PvGP58CVx7ZrLMGJ2rtpz7ZxrsyNrWBgmGu1z9tbsVfbD2qjHE3DHzvZ2HM4Cp7AmS348Go7Ucu
 gFHE/Src1MOr0hndm2CW+o/VeKZ3Bog9o6l1TZ1IaWBLvDEiJRRzi2ysqqifnknfukP1Cwg3dWS
 J8Obfk7f0kMJ/MLVx2+JIZ+/qeLOhYSVF2/zTcJdNHmlk
X-Google-Smtp-Source: AGHT+IHdhCgFtHi7mK1iGH4t0k19DsJ7VoG9DvZt9/sakuvRnqm2Gx+tgHW1031dwLI0CwiPy37Apg==
X-Received: by 2002:a05:6000:1447:b0:391:386d:5971 with SMTP id
 ffacd0b85a97d-39ef8d934c3mr11626042f8f.14.1745296993515; 
 Mon, 21 Apr 2025 21:43:13 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa43ce2esm14039981f8f.57.2025.04.21.21.43.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 21 Apr 2025 21:43:13 -0700 (PDT)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <m2y0vsdd2k.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN>
Date: Tue, 22 Apr 2025 06:43:12 +0200
Message-ID: <m2tt6gdcwv.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
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.0 (-)

Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:

> I=C3=B1igo Serna <inigoserna@HIDDEN> writes:
>
>> I attach a profiler output, and a HTML file which causes a similar
>> slowdown when opening from eww.
>
> Can you please tell what the profiler output is? Looks like Lisp data in
> one text line?

Please forget that, profiler-find.* etc.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 05:26:02 +0000
Resent-Message-ID: <handler.77961.B77961.174529950517553 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.174529950517553
          (code B ref 77961); Tue, 22 Apr 2025 05:26:02 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 05:25:05 +0000
Received: from localhost ([127.0.0.1]:43254 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7680-0004Yn-BR
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 01:25:04 -0400
Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:58551)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u767x-0004Xx-K5
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 01:25:02 -0400
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-39c1ef4acf2so2800416f8f.0
 for <77961 <at> debbugs.gnu.org>; Mon, 21 Apr 2025 22:25:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745299495; x=1745904295; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=MsCC9Lhcon3xN9jq3O6LIKv9tqkRF17a+EpfVMiq/zI=;
 b=eqEqKX9YCx41eJ1XgraphNVqCRvs/z50LAtrv/SB94WqoQe09ILcI7mYpijSd+jpAS
 R57tURsx3neHSnQ8NSfrA9Mx7Oo+o/qrCYKe9KBsRKZmcbwIM2Af4A/Xe6AraXAMJldd
 nylIlfjPgddbcI/lf0ci+NchLKIpiO1colcHy1o6Z9/IBb+MVPp/tSttsg0fxboduXIg
 +hwIjgjImhAtG29EDvAMfRnEyaoVYz0YGcjk8OnTotebVa96Y99El/rS6YypoJIwycaY
 zhpBufdIF/LhJaQ+rafYSUGmFX/BwM0pwOuBmJs9hpYRPK0kFT5Paw8Uq/JG7ZCu+2F5
 IlFw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745299495; x=1745904295;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=MsCC9Lhcon3xN9jq3O6LIKv9tqkRF17a+EpfVMiq/zI=;
 b=NOG2jvNEOw8BVVneLb81JbqrI8gyNIEST1fakj9O8cx4i+QLpswR90DNVsYpiiS+EW
 BvrWns1tHnuEZMxhmIB49Gww+L8F5mCXR2pvYz907vXe1zU6+WO6fspaw2+3koIFBAKp
 eQZHs9eVr9iyDOzhJROVjhEjRIWOM7JayXnS+wWmXOpp0iErNDOH+KsHRtYcyOOQxc0N
 ybscbeflndEGA3dRgoYXgeqTD9K2VYHc+rhoRIM/2peT8CD/MyOVywyiPhJnU5+kM0lE
 KrTMj8pbhkFZr5N9o1t0XqY22lZoDnqqXIpgngHx2J97us/EEPbB9I5X02CCc3lJarWw
 GFag==
X-Forwarded-Encrypted: i=1;
 AJvYcCV4MY4tS5h8U0YRByT1Lv/VR8GwyS+DV+JPMkh+vU9zMs8IVqK99qUcQdokmtDUyJy8I/GXWQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzLbGAfntANcuTJZ0+gRBl0t0Z9Y/PkcbAgY5kFzkH77iRQqB7q
 JN9bAM4bq0QKCvc0TyvIT9BoPh9T9llxH6f8WAPOOXKfMgiDcYRpPXPCTw==
X-Gm-Gg: ASbGnct8f3HOwmI3wIAgFllUhrraqTsYeYiOA9EZM7H1tKLx1Rt383z1Ja5dd+vF65G
 eQLibwdfQN+MCgFv1Dq6lkpdiFRO9BNtupUmCBQaxrbo8u43nX6k+HaZmyq7dyAASwJy+Az0Yve
 0gVeNfRd7jUGxLr0BNYoTuUjiPK0xPxShl7gUuYoWtOA5hHfMikDJUuPfRhPzwqzApXlLVwEyUU
 ej+YfqFJCNbwQdW8MJa1LMm7coq1Yp+hZDHJXqzWQd8taWdwzn9GlAxcE8GDmyThvkAweCcuQeu
 2v09EeGTOVHDUsXFqu5uOzpNFi2+PFO1LZV6rhtW5vxhevj5AG9Ipic5ygm84Gg2NG/sWpMisr9
 SJ0tqVqF/nmc1ymHZauVi7lN7kgPYCUxDMnuo0s/Nn6v/
X-Google-Smtp-Source: AGHT+IGGs2Jjex1lRdOuiKZn658gyXlKQ7N7sW/bRDIZFZEXYjVUM4T9z1JCBh+F7YTvqSzKcwvgEQ==
X-Received: by 2002:a5d:64e3:0:b0:391:2889:4ea4 with SMTP id
 ffacd0b85a97d-39efba2ace2mr10846253f8f.9.1745299495149; 
 Mon, 21 Apr 2025 22:24:55 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa4332c1sm13709077f8f.27.2025.04.21.22.24.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 21 Apr 2025 22:24:54 -0700 (PDT)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <m2tt6gdcwv.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
Date: Tue, 22 Apr 2025 07:24:53 +0200
Message-ID: <m2plh4daze.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
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.0 (-)

Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:

> Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:
>
>> I=C3=B1igo Serna <inigoserna@HIDDEN> writes:
>>
>>> I attach a profiler output, and a HTML file which causes a similar
>>> slowdown when opening from eww.

I'm afraid I don't see much in the profile. Only thing is that that
redisplay_internal isn't called often. Which makes it even weirder that
glyph matrix enlargement should play a role.

Do we have someone available who knows how shr.el works internally, Eli?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Ihor Radchenko <yantar92@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 06:32:02 +0000
Resent-Message-ID: <handler.77961.B77961.17453035054559 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.17453035054559
          (code B ref 77961); Tue, 22 Apr 2025 06:32:02 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 06:31:45 +0000
Received: from localhost ([127.0.0.1]:43761 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u77AX-0001BT-89
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 02:31:45 -0400
Received: from mout02.posteo.de ([185.67.36.66]:33861)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <yantar92@HIDDEN>)
 id 1u77AT-0001B4-1y
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 02:31:42 -0400
Received: from submission (posteo.de [185.67.36.169]) 
 by mout02.posteo.de (Postfix) with ESMTPS id 78CA9240103
 for <77961 <at> debbugs.gnu.org>; Tue, 22 Apr 2025 08:31:28 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1745303493; bh=l4M66MdauJedYPCuOEXX+hp5dBvJFY1QQqkU9uPmzJE=;
 h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type:
 Content-Transfer-Encoding:From;
 b=oQyoUXFjPedbAGM0fsiPMiFJuUwaK8Eb7DCUQnrQiW59DB5MGrw1A0L6Jv4pJE4/e
 fWMTm+9N16oGThr7Qzwss6B3LccqOoqa48pgwdPD8Yp9g/lHX9JdAr76fbRC/nHOLY
 jURK09ui1Rt1DUYLkWgz/ki+T8d5WiLPtEd0COE1yKbvLbt/WspgaLcK9GCwWEfxxg
 fmResjc2zi7qG2MRNlafL2G4H8YMP2jRyDkg/9OZdfAqv6jL+WES4CczQjSv0mqyFk
 xYAkpgANjCHQ/GQuJKMtarfaKKLeViHkRg03dy2mJbyQRkfivRbcxfIM/SIR7bwpuk
 RPcgrw22KNcIw==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4ZhXSb1sbjz9rxK;
 Tue, 22 Apr 2025 08:31:27 +0200 (CEST)
From: Ihor Radchenko <yantar92@HIDDEN>
In-Reply-To: <m2plh4daze.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN>
Date: Tue, 22 Apr 2025 06:30:36 +0000
Message-ID: <87ikmwg12r.fsf@localhost>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
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 (---)

Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:
>>>> I attach a profiler output, and a HTML file which causes a similar
>>>> slowdown when opening from eww.
>
> I'm afraid I don't see much in the profile. Only thing is that that
> redisplay_internal isn't called often. Which makes it even weirder that
> glyph matrix enlargement should play a role.

Looking into reverse call tree (B), I see that

        1874  33% + set-window-configuration

takes 1/3 of CPU cycles. Looking into its source, it does deal with
glyph matrices. So, it is the suspect, judging from the submitted
profiler report.

--=20
Ihor Radchenko // yantar92,
Org mode maintainer,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 07:11:01 +0000
Resent-Message-ID: <handler.77961.B77961.174530585918004 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Ihor Radchenko <yantar92@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.174530585918004
          (code B ref 77961); Tue, 22 Apr 2025 07:11:01 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 07:10:59 +0000
Received: from localhost ([127.0.0.1]:44294 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u77mQ-0004ff-1w
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 03:10:58 -0400
Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]:58620)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u77mM-0004em-QB
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 03:10:52 -0400
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-39c1ef4acf2so2866435f8f.0
 for <77961 <at> debbugs.gnu.org>; Tue, 22 Apr 2025 00:10:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745305844; x=1745910644; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=SuRHjsBYveBYRduMB6OOIzQHUVl7BC5VzA9tok8KWYc=;
 b=A4oyO/vTSsHjyiMjMT+cDduFCb+x9g/8aZW+3UY/DByRITeaEg35LgLvQg74n36DhI
 uZWMToJFne9lLEWFP5b9H7ynDieYbEmc1Kolo5I9oWEdqFjTLX3XnrARjW3dR2dtwa1/
 j772Pi449uA/gp7phUF67T27ed7NFgZoGcGqXBNi9ZTa+w2pB0toqYgMMlWT64t7Lo+Y
 ao5X/WecQXqnEIKP2FzBueKhbbrX4YUVhtcM/RATeQ+OAM+ClnrM0EU+yGwJP8xy2rXp
 rJkGVVduWjsaNJe2Spj+eBLvF5/PNsGnDDyhpkqbA92KKPSdh5re+z1+28kt6cSPHDAw
 iqyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745305844; x=1745910644;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=SuRHjsBYveBYRduMB6OOIzQHUVl7BC5VzA9tok8KWYc=;
 b=dzJPO1HJ1C/b57GT+PVgtG94lNAZBmb7xWWAMbzM8OnT5AK4uVjS/6GIKHOfyWJ77e
 4x8tVuUp0LSyMveES+REY+cfpKbzwzUGvO7GUuKs9xsdbZn2mCmmE3srcuf/j2i1GJi3
 gr5yb18uZzToWsP2J0xjoDoiYt4Q0u00U6tV5iyCSUpJxHZH+jL1DxS1tNcjtwYTy3wI
 nwILTPXbu+7FtXCjvDzC59zqrmnzhjZENcAh7LJQ/emDBF1v2rDjs3+8/LAaMlaZITqJ
 tf1TshqATiAZEDliLYKalUPAR6JxtsX1/rmuKw7HrGt4XTJsibdL6aS178jcbvOVyupv
 vcUQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCV0c5Xal2cSg63DrpRbO17Ju5nADrVWKzAVVjlQO0pPP/rxJq+FvlzF3v3JFdRHkQPSZFDGfw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzWGpmzmiUwS7cIrXhoUFLQSOsGG41f9eBaTEPd+pFH4+IQwDrz
 uaXBQuPSZOUd788e3610FomlkcLA4IbsNPLOz7VVtUfa8xg3m3UWIANusw==
X-Gm-Gg: ASbGncs3+GCra9m7+aGiMrNY1rBGp2+DL9Avefnj/U2uBOMMz9wednjk71ZxTtCz56J
 gnjdD7jYGcM8nJf4agyJ/jYkQvOqNkpPoOchpBYKBQVuqhR87Ia8IFQxQg8YM2kfNZIuAe0muN0
 k/m0MuBRUW9/ulby5aVipxbK4ymWtMOuZNDvW+iMGTvYKBo2umsnf8VD7DGhGcG5uErz1VjFzLx
 Iz0qyBIfBN6qZCZEzH40y1vLyHzFukaLEgE56Ciw8HMjerPhVixCthD4xRVLJzuhETQDFvEomde
 K2jlf+jWFmahFIdMsQM1aQIieAzFdrQgw5LltG0Tym0JNEd0bJP1VUq0wMsQ5SS8ohRxCSpOfrU
 e0SCV+/iSAlhZ070yJzj/DTOe3+2HUB1wQHRY3HV5VLcAJraC5w==
X-Google-Smtp-Source: AGHT+IHVPL6X68VxC9HhEOrHxG5NgdjqNJ9lDbWeA0vEJwiXVyFJR2Af9Gd4Pi38RxKj9MZhm6HITA==
X-Received: by 2002:a5d:5f87:0:b0:391:29f:4f87 with SMTP id
 ffacd0b85a97d-39efbaee69fmr9913418f8f.49.1745305844070; 
 Tue, 22 Apr 2025 00:10:44 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4406d5ccd43sm160943365e9.26.2025.04.22.00.10.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Apr 2025 00:10:43 -0700 (PDT)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <87ikmwg12r.fsf@localhost>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
Date: Tue, 22 Apr 2025 09:10:42 +0200
Message-ID: <m2h62gd631.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
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.0 (-)

Ihor Radchenko <yantar92@HIDDEN> writes:

> Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:
>>>>> I attach a profiler output, and a HTML file which causes a similar
>>>>> slowdown when opening from eww.
>>
>> I'm afraid I don't see much in the profile. Only thing is that that
>> redisplay_internal isn't called often. Which makes it even weirder that
>> glyph matrix enlargement should play a role.
>
> Looking into reverse call tree (B), I see that
>
>         1874  33% + set-window-configuration
>
> takes 1/3 of CPU cycles. Looking into its source, it does deal with
> glyph matrices. So, it is the suspect, judging from the submitted
> profiler report.

Thanks, indeed.

Which I also find weird. Why is that done in the first place? Anyway,
that not leading to redisplays, how can adding a memset or for-loop
settign glyph::frame when adjusting matrices produce a 5x slowdown,
IIUC? I'm absolutely flabbergasted. That all doesn't add up.

Maybe comparing a before/after profile could show something.





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 07:30:02 +0000
Resent-Message-ID: <handler.77961.B77961.174530697925811 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Cc: Ihor Radchenko <yantar92@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.174530697925811
          (code B ref 77961); Tue, 22 Apr 2025 07:30:02 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 07:29:39 +0000
Received: from localhost ([127.0.0.1]:44538 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u784X-0006iB-PI
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 03:29:39 -0400
Received: from mout.gmx.net ([212.227.17.21]:37191)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <inigoserna@HIDDEN>)
 id 1u784Q-0006hH-GM
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 03:29:34 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.com;
 s=s31663417; t=1745306949; x=1745911749; i=inigoserna@HIDDEN;
 bh=QkTiEnbG2yAbUSZyATdeMHlNbgWdlQX3c/oGD+j/Z5U=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=QcAn3Im2FBeOggnATbl4Tphz/InUuCEaG1LFM3WT+4NkZtiNBmtqeiDeTY/mSq4j
 vShh0ceAKHBxqoc8LMWhrmrWpNn1hNcyN9da9m5LUiNE5cLv/jU1hr40uWy0CMNCg
 RFC/rZU+rdfHpgz7juHndpf3YPtSmghc3bxqWTt1xXWI7HaJymN/vn6CnwLg0OS2g
 kdBc76kywLJAt5Yl8miBwaKfSVakwD/U/ySCkePN1CMJgWEH1D3oh5GhvaQbPZHTE
 GOQdCWR2rIUpUk6WVZ8pa4Lfu2d875rIYNHIYoAe4x4EqreK1GcpyjbyBE8L+fmcd
 gJ2Ntnkw4quJGN0Ong==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from zeus.gmx.com ([93.176.183.109]) by mail.gmx.net (mrgmx104
 [212.227.17.174]) with ESMTPSA (Nemesis) id 1M8QS8-1uBXuu3wDQ-008Ryu; Tue, 22
 Apr 2025 09:29:09 +0200
From: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
In-Reply-To: <m2h62gd631.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN>
User-Agent: mu4e 1.12.9; emacs 31.0.50
Date: Tue, 22 Apr 2025 09:28:38 +0200
Message-ID: <877c3czmc9.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Provags-ID: V03:K1:4s7nuh5xlrSsq8nE36Lb0tvuvfX/O0tco8KJmCM2uqDeI5Js8cR
 YGK9vqZuJWaLBc5IeoxOO5f7f3rG4MDduQnchYxQTh0+nxMt7sBA+RMQfAo6MKHHotYZlNG
 y559Qpg/S9SSj2iJL83ZlKJBGW01OU5a0ludzY17czBfllIh+i3JOb3LhfFa4GgLONTgjLb
 TE7i4ip8UYORQ3KSu7NYw==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:4CFyWLG5F4A=;AbBFLBzM7Rb1b01YcQ1PHf4Nb36
 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
X-Spam-Score: -0.7 (/)
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; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

Hi,

On 22 April 2025 at 09:10 +02, Gerd M=C3=B6llmann=20
<gerd.moellmann@HIDDEN> wrote:

> Maybe comparing a before/after profile could show something.

I attach a profiler report of opening the same HTML email with=20
commit
#eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5 reverted (ie, no memset,=20
 no
for-loop either).

I attached an HTML sample file in a past message.
Opening it inside eww produces a similar slowdown on my system,=20
maybe a
bit shorter (~3-4 sec).  Without memset or for-loop is almost
instantaneous.


Thanks,
I=C3=B1igo Serna


--=-=-=
Content-Type: text/plain
Content-Disposition: attachment; filename=profiler-ok.txt
Content-Transfer-Encoding: quoted-printable


[profiler-profile "28.1" cpu #s(hash-table test equal data ([erase-buffer m=
ini-modeline-display mini-modeline--reroute-msg apply message apply profile=
r-start funcall-interactively call-interactively command-execute "#<byte-co=
de-function 88A>" ad-Advice-execute-extended-command apply execute-extended=
-command funcall-interactively call-interactively] 1 [commandp "#<byte-code=
-function C7D>" mapatoms execute-extended-command--shorter "#<byte-code-fun=
ction C31>" apply timer-event-handler nil nil nil nil nil nil nil nil nil] =
30 ["#<byte-code-function C7D>" mapatoms execute-extended-command--shorter =
"#<byte-code-function C31>" apply timer-event-handler nil nil nil nil nil n=
il nil nil nil nil] 6 [advice--car "#<byte-code-function E62>" apply oclosu=
re-interactive-form interactive-form commandp "#<byte-code-function C7D>" m=
apatoms execute-extended-command--shorter "#<byte-code-function C31>" apply=
 timer-event-handler nil nil nil nil] 1 [mapatoms execute-extended-command-=
-shorter "#<byte-code-function C31>" apply timer-event-handler nil nil nil =
nil nil nil nil nil nil nil nil] 1 [window-parameter redisplay--update-regi=
on-highlight run-hook-with-args redisplay--pre-redisplay-functions redispla=
y_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil] 1 =
[redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil ni=
l nil nil nil nil nil] 187 [nil nil nil nil nil nil nil nil nil nil nil nil=
 nil nil nil nil] 701 [jit-lock-context-fontify jit-lock-context--update ap=
ply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil] 1 =
[redisplay--pre-redisplay-functions redisplay_internal\ \(C\ function\) nil=
 nil nil nil nil nil nil nil nil nil nil nil nil nil] 3 [mini-modeline--mul=
ti-lr-render mini-modeline-display apply timer-event-handler nil nil nil ni=
l nil nil nil nil nil nil nil nil] 6 [dired-directory-changed-p dired-buffe=
r-stale-p auto-revert-handler auto-revert-buffer auto-revert-buffers apply =
timer-event-handler nil nil nil nil nil nil nil nil nil] 1 [frame-parameter=
s frame-width mini-modeline--multi-lr-render mini-modeline-display apply ti=
mer-event-handler nil nil nil nil nil nil nil nil nil nil] 3 [derived-mode-=
all-parents provided-mode-derived-p derived-mode-p mu4e--get-current-buffer=
-type mu4e-current-buffer-type-p "#<byte-code-function ED9>" "#<byte-code-f=
unction EB7>" mapcar "#<byte-code-function B49>" apply seq-map seq-filter m=
u4e-get-view-buffers mu4e-get-view-buffer mu4e-headers-view-message funcall=
-interactively] 1 [binky--auto-update run-hooks mu4e-get-view-buffer mu4e-v=
iew mu4e~headers-view-handler mu4e--server-filter nil nil nil nil nil nil n=
il nil nil nil] 2 [article-remove-cr mu4e-view mu4e~headers-view-handler mu=
4e--server-filter nil nil nil nil nil nil nil nil nil nil nil nil] 2 [match=
-string mail-decode-encoded-word-region article-decode-encoded-words run-ho=
oks mu4e--view-render-buffer mu4e-view mu4e~headers-view-handler mu4e--serv=
er-filter nil nil nil nil nil nil nil nil] 1 [mail-decode-encoded-word-regi=
on article-decode-encoded-words run-hooks mu4e--view-render-buffer mu4e-vie=
w mu4e~headers-view-handler mu4e--server-filter nil nil nil nil nil nil nil=
 nil nil] 1 [mail-header-parse-addresses article--check-suspicious-addresse=
s article-decode-encoded-words run-hooks mu4e--view-render-buffer mu4e-view=
 mu4e~headers-view-handler mu4e--server-filter nil nil nil nil nil nil nil =
nil] 1 [binky--auto-update run-hooks get-buffer-create generate-new-buffer =
mm-copy-to-buffer mm-dissect-buffer gnus-display-mime "#<byte-code-function=
 F6C>" gnus-article-prepare-display mu4e--view-render-buffer mu4e-view mu4e=
~headers-view-handler mu4e--server-filter nil nil nil] 1 [binky--auto-updat=
e run-hooks get-buffer-create generate-new-buffer mm-copy-to-buffer mm-diss=
ect-singlepart mm-dissect-buffer mm-dissect-multipart mm-dissect-buffer gnu=
s-display-mime "#<byte-code-function F6C>" gnus-article-prepare-display mu4=
e--view-render-buffer mu4e-view mu4e~headers-view-handler mu4e--server-filt=
er] 1 [file-attributes file-has-changed-p "#<native-comp-function F616e6f6e=
796d6f75732d6c616d626461_anonymous_lambda_8>" "#<byte-code-function E8B>" m=
apc seq-do seq-some mailcap-parse-mailcaps mailcap-mime-info mm-display-par=
t gnus-mime-display-alternative gnus-mime-display-part gnus-display-mime "#=
<byte-code-function F6C>" gnus-article-prepare-display mu4e--view-render-bu=
ffer] 1 [symbol-overlay-refresh quoted-printable-decode-region mm-decode-co=
ntent-transfer-encoding mm-shr mm-inline-text-html mm-display-inline mm-dis=
play-part gnus-mime-display-alternative gnus-mime-display-part gnus-display=
-mime "#<byte-code-function F6C>" gnus-article-prepare-display mu4e--view-r=
ender-buffer mu4e-view mu4e~headers-view-handler mu4e--server-filter] 1 [be=
acon--vanish quoted-printable-decode-region mm-decode-content-transfer-enco=
ding mm-shr mm-inline-text-html mm-display-inline mm-display-part gnus-mime=
-display-alternative gnus-mime-display-part gnus-display-mime "#<byte-code-=
function F6C>" gnus-article-prepare-display mu4e--view-render-buffer mu4e-v=
iew mu4e~headers-view-handler mu4e--server-filter] 1 [quoted-printable-deco=
de-region mm-decode-content-transfer-encoding mm-shr mm-inline-text-html mm=
-display-inline mm-display-part gnus-mime-display-alternative gnus-mime-dis=
play-part gnus-display-mime "#<byte-code-function F6C>" gnus-article-prepar=
e-display mu4e--view-render-buffer mu4e-view mu4e~headers-view-handler mu4e=
--server-filter nil] 5 [mm-shr mm-inline-text-html mm-display-inline mm-dis=
play-part gnus-mime-display-alternative gnus-mime-display-part gnus-display=
-mime "#<byte-code-function F6C>" gnus-article-prepare-display mu4e--view-r=
ender-buffer mu4e-view mu4e~headers-view-handler mu4e--server-filter nil ni=
l nil] 3 [shr-insert shr-tag-body shr-descend shr-tag-html shr-descend shr-=
insert-document mm-shr mm-inline-text-html mm-display-inline mm-display-par=
t gnus-mime-display-alternative gnus-mime-display-part gnus-display-mime "#=
<byte-code-function F6C>" gnus-article-prepare-display mu4e--view-render-bu=
ffer] 1 ["#<byte-code-function 0D4>" mapc seq-do seq-some binky--auto-updat=
e record-window-buffer shr-render-td-1 shr-render-td shr-make-table-1 shr-m=
ake-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-=
td-1 shr-render-td] 2 [shr-render-td-1 shr-render-td shr-make-table-1 shr-m=
ake-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-=
td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-=
table shr-descend shr-descend] 10 [binky--auto-update run-hooks set-window-=
configuration "#<byte-code-function 2BA>" shr-render-td-1 shr-render-td shr=
-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-=
descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table] 8 [s=
eq-some binky--auto-update record-window-buffer shr-render-td-1 shr-render-=
td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descen=
d shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table=
 shr-tag-table-1] 2 [seq-do seq-some binky--auto-update record-window-buffe=
r shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-tab=
le-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-render-td sh=
r-make-table-1 shr-make-table] 1 [frame-parameters frame-width shr-tag-tabl=
e-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-render-td shr=
-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-=
tag-body shr-descend shr-tag-html] 1 [shr-tag-body shr-descend shr-tag-html=
 shr-descend shr-insert-document mm-shr mm-inline-text-html mm-display-inli=
ne mm-display-part gnus-mime-display-alternative gnus-mime-display-part gnu=
s-display-mime "#<byte-code-function F6C>" gnus-article-prepare-display mu4=
e--view-render-buffer mu4e-view] 1 [make-closure seq-some binky--auto-updat=
e record-window-buffer shr-render-td-1 shr-render-td shr-make-table-1 shr-m=
ake-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-=
td-1 shr-render-td shr-make-table-1 shr-make-table] 1 [string-match string-=
trim-right string-trim shr-expand-url shr-tag-a shr-descend shr-tag-p shr-d=
escend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-=
table shr-tag-table-1 shr-tag-table shr-descend] 1 [shr-pixel-buffer-width =
shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table=
-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-render-td shr-=
make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend] 6 [s=
eq-contains-p "#<byte-code-function ABF>" "#<byte-code-function AA4>" mapc =
seq-do seq-reduce seq-difference textsec-covering-scripts textsec-restricti=
on-level textsec-ascii-confusable-p textsec-domain-suspicious-p textsec-url=
-suspicious-p textsec-suspicious-p shr-tag-a shr-descend shr-descend] 1 [ki=
ll-buffer "#<byte-code-function 649>" shr-render-td-1 shr-render-td shr-mak=
e-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-desc=
end shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-t=
able-1 shr-tag-table] 1 [mapcar "#<byte-code-function B49>" apply seq-map s=
eq-filter seq-remove binky--auto-update record-window-buffer shr-render-td-=
1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-tab=
le shr-descend shr-descend] 1 [set-window-configuration "#<byte-code-functi=
on 136>" shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-=
tag-table-1 shr-tag-table shr-descend shr-tag-body shr-descend shr-tag-html=
 shr-descend shr-insert-document mm-shr mm-inline-text-html] 1 [shr-parse-s=
tyle shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-=
table-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-render-td=
 shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend]=
 1 [set-window-configuration "#<byte-code-function 3FD>" shr-render-td-1 sh=
r-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table s=
hr-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-m=
ake-table shr-tag-table-1 shr-tag-table] 6 ["#<native-comp-function F616e6f=
6e796d6f75732d6c616d626461_anonymous_lambda_21>" binky--regexp-match binky-=
-exclude-regexp-p funcall "#<byte-code-function 792>" mapc seq-do seq-some =
binky--auto-update record-window-buffer shr-render-td-1 shr-render-td shr-m=
ake-table-1 shr-make-table shr-tag-table-1 shr-tag-table] 1 [color-values c=
olor-name-to-rgb shr-color-visible shr-color-check shr-colorize-region shr-=
descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-t=
ag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-render=
-td] 1 [shr-vertical-motion shr-fill-line shr-fill-lines shr-render-td-1 sh=
r-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table s=
hr-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-m=
ake-table shr-tag-table-1] 4 [binky--auto-update record-window-buffer shr-r=
ender-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 sh=
r-tag-table shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-=
table-1 shr-make-table shr-tag-table-1 shr-tag-table] 7 [shr-insert shr-tag=
-p shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 s=
hr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-ren=
der-td-1 shr-render-td shr-make-table-1 shr-make-table] 1 [binky--regexp-ma=
tch binky--exclude-regexp-p funcall "#<byte-code-function 4B6>" mapc seq-do=
 seq-some binky--auto-update record-window-buffer shr-render-td-1 shr-rende=
r-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-desc=
end] 1 [window-child window--min-size-1 window-min-size frame-windows-min-s=
ize set-window-configuration "#<byte-code-function A34>" shr-render-td-1 sh=
r-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table s=
hr-descend shr-descend shr-render-td-1 shr-render-td] 1 [shr-pixel-buffer-w=
idth shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-=
table-1 shr-tag-table shr-descend shr-tag-body shr-descend shr-tag-html shr=
-descend shr-insert-document mm-shr mm-inline-text-html mm-display-inline] =
5 [binky--exclude-mode-p funcall "#<byte-code-function 05D>" mapc seq-do se=
q-some binky--auto-update record-window-buffer shr-render-td-1 shr-render-t=
d shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend=
 shr-tag-body] 1 ["#<byte-code-function A53>" split-string shr-render-td-1 =
shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table=
 shr-descend shr-tag-body shr-descend shr-tag-html shr-descend shr-insert-d=
ocument mm-shr mm-inline-text-html] 1 [color-srgb-to-lab shr-color-visible =
shr-color-check shr-colorize-region shr-descend shr-tag-span shr-descend sh=
r-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr=
-tag-table-1 shr-tag-table shr-descend shr-descend] 1 [binky--regexp-match =
binky--exclude-regexp-p funcall "#<byte-code-function 945>" mapc seq-do seq=
-some binky--auto-update run-hooks set-window-configuration "#<byte-code-fu=
nction 5AF>" shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table =
shr-tag-table-1] 1 [shr-render-td-1 shr-render-td shr-make-table-1 shr-make=
-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-=
1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-tab=
le shr-descend shr-tag-body] 1 [binky--exclude-regexp-p funcall "#<byte-cod=
e-function 12D>" mapc seq-do seq-some binky--auto-update record-window-buff=
er shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-ta=
ble-1 shr-tag-table shr-descend shr-descend] 1 [shr-insert shr-descend shr-=
render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 s=
hr-tag-table shr-descend shr-descend shr-render-td-1 shr-render-td shr-make=
-table-1 shr-make-table shr-tag-table-1 shr-tag-table] 1 [shr-make-table sh=
r-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-ren=
der-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-de=
scend shr-descend shr-render-td-1 shr-render-td shr-make-table-1] 1 [window=
-min-size frame-windows-min-size set-window-configuration "#<byte-code-func=
tion 7E9>" shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table sh=
r-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-ren=
der-td shr-make-table-1 shr-make-table] 1 [color-values color-name-to-rgb s=
hr-color-visible shr-color-check shr-colorize-region shr-descend shr-descen=
d shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-tab=
le-1 shr-tag-table shr-descend shr-descend shr-render-td-1] 1 [shr-vertical=
-motion shr-fill-line shr-fill-lines shr-fill-text shr-tag-img shr-indirect=
-call shr-collect-extra-strings-in-table shr-collect-extra-strings-in-table=
 shr-collect-extra-strings-in-table shr-collect-extra-strings-in-table shr-=
collect-extra-strings-in-table shr-collect-extra-strings-in-table shr-colle=
ct-extra-strings-in-table shr-collect-extra-strings-in-table shr-collect-ex=
tra-strings-in-table shr-collect-extra-strings-in-table] 2 [shr-tag-a shr-d=
escend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-=
table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1=
 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1] 1 [url-gene=
ric-parse-url shr-urlify shr-tag-a shr-descend shr-descend shr-render-td-1 =
shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table=
 shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-1] 1 =
[generate-new-buffer-name generate-new-buffer url-generic-parse-url shr-url=
ify shr-tag-a shr-descend shr-tag-span shr-descend shr-descend shr-render-t=
d-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-t=
able shr-descend] 1 [window-preserved-size window--preserve-size window--si=
ze-fixed-1 window-size-fixed-p window--min-size-1 window-min-size frame-win=
dows-min-size set-window-configuration "#<byte-code-function 615>" shr-rend=
er-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-t=
ag-table shr-descend] 1 [shr-vertical-motion shr-fill-line shr-fill-lines s=
hr-insert-document mm-shr mm-inline-text-html mm-display-inline mm-display-=
part gnus-mime-display-alternative gnus-mime-display-part gnus-display-mime=
 "#<byte-code-function F6C>" gnus-article-prepare-display mu4e--view-render=
-buffer mu4e-view mu4e~headers-view-handler] 1 [set-window-configuration "#=
<byte-code-function 42A>" gnus-mime-display-alternative gnus-mime-display-p=
art gnus-display-mime "#<byte-code-function F6C>" gnus-article-prepare-disp=
lay mu4e--view-render-buffer mu4e-view mu4e~headers-view-handler mu4e--serv=
er-filter nil nil nil nil nil] 1 [re-search-forward article-hide-headers gn=
us-article-maybe-hide-headers gnus-treat-article gnus-display-mime "#<byte-=
code-function F6C>" gnus-article-prepare-display mu4e--view-render-buffer m=
u4e-view mu4e~headers-view-handler mu4e--server-filter nil nil nil nil nil]=
 1 [gnus-article-treat-unfold-headers gnus-treat-article gnus-display-mime =
"#<byte-code-function F6C>" gnus-article-prepare-display mu4e--view-render-=
buffer mu4e-view mu4e~headers-view-handler mu4e--server-filter nil nil nil =
nil nil nil nil] 1 [binky--auto-update record-window-buffer set-window-buff=
er window--display-buffer display-buffer-in-direction display-buffer mu4e-d=
isplay-buffer mu4e-view mu4e~headers-view-handler mu4e--server-filter nil n=
il nil nil nil nil] 1 [vertical-motion beginning-of-visual-line beacon--vis=
ual-current-column beacon--after-string-overlay beacon--shine beacon-blink =
beacon-blink-automated beacon--window-scroll-function set-window-buffer win=
dow--display-buffer display-buffer-in-direction display-buffer mu4e-display=
-buffer mu4e-view mu4e~headers-view-handler mu4e--server-filter] 1 [window-=
resize mu4e-resize-linked-headers-window run-hooks mu4e-view mu4e~headers-v=
iew-handler mu4e--server-filter nil nil nil nil nil nil nil nil nil nil] 13=
 [frame-parameter frame-focus-state telega-focus-state telega-online-status=
-timer-function apply timer-event-handler nil nil nil nil nil nil nil nil n=
il nil] 1 ["#<native-comp-function F616e6f6e796d6f75732d6c616d626461_anonym=
ous_lambda_29>" auto-revert--buffer-candidates auto-revert-buffers apply ti=
mer-event-handler nil nil nil nil nil nil nil nil nil nil nil] 2 [mode-line=
-default-help-echo redisplay_internal\ \(C\ function\) nil nil nil nil nil =
nil nil nil nil nil nil nil nil nil] 2 [global-colorful-mode-enable-in-buff=
er run-hooks run-mode-hooks minibuffer-mode read-from-minibuffer "#<byte-co=
de-function 68C>" apply "#<byte-code-function 504>" apply vertico--advice a=
pply completing-read-default completing-read read-extended-command-1 read-e=
xtended-command byte-code] 1 ["#<byte-code-function DA3>" minibuffer-setup =
read-from-minibuffer "#<byte-code-function 68C>" apply "#<byte-code-functio=
n 504>" apply vertico--advice apply completing-read-default completing-read=
 read-extended-command-1 read-extended-command byte-code call-interactively=
 command-execute] 1 ["#<byte-code-function D0B>" all-completions complete-w=
ith-action "#<byte-code-function 98B>" orderless--filter orderless-all-comp=
letions "#<byte-code-function E27>" funcall let eval "#<byte-code-function =
D4F>" "#<byte-code-function D5E>" mapc seq-do seq-some completion--nth-comp=
letion] 32 [commandp "#<byte-code-function 292>" "#<byte-code-function D0B>=
" all-completions complete-with-action "#<byte-code-function 98B>" orderles=
s--filter orderless-all-completions "#<byte-code-function E27>" funcall let=
 eval "#<byte-code-function D4F>" "#<byte-code-function D5E>" mapc seq-do] =
20 [all-completions complete-with-action "#<byte-code-function 98B>" orderl=
ess--filter orderless-all-completions "#<byte-code-function E27>" funcall l=
et eval "#<byte-code-function D4F>" "#<byte-code-function D5E>" mapc seq-do=
 seq-some completion--nth-completion "#<byte-code-function 824>"] 759 ["#<b=
yte-code-function 292>" "#<byte-code-function D0B>" all-completions complet=
e-with-action "#<byte-code-function 98B>" orderless--filter orderless-all-c=
ompletions "#<byte-code-function E27>" funcall let eval "#<byte-code-functi=
on D4F>" "#<byte-code-function D5E>" mapc seq-do seq-some] 7 [functionp "#<=
byte-code-function 292>" "#<byte-code-function D0B>" all-completions comple=
te-with-action "#<byte-code-function 98B>" orderless--filter orderless-all-=
completions "#<byte-code-function E27>" funcall let eval "#<byte-code-funct=
ion D4F>" "#<byte-code-function D5E>" mapc seq-do] 2 [string-match version-=
to-list "#<byte-code-function D0B>" all-completions complete-with-action "#=
<byte-code-function 98B>" orderless--filter orderless-all-completions "#<by=
te-code-function E27>" funcall let eval "#<byte-code-function D4F>" "#<byte=
-code-function D5E>" mapc seq-do] 1 [symbol-name "#<byte-code-function D0B>=
" all-completions complete-with-action "#<byte-code-function 98B>" orderles=
s--filter orderless-all-completions "#<byte-code-function E27>" funcall let=
 eval "#<byte-code-function D4F>" "#<byte-code-function D5E>" mapc seq-do s=
eq-some] 1 [version-to-list "#<byte-code-function D0B>" all-completions com=
plete-with-action "#<byte-code-function 98B>" orderless--filter orderless-a=
ll-completions "#<byte-code-function E27>" funcall let eval "#<byte-code-fu=
nction D4F>" "#<byte-code-function D5E>" mapc seq-do seq-some] 1 [vertico-s=
ort-history-length-alpha vertico--recompute vertico--update vertico--exhibi=
t read-from-minibuffer "#<byte-code-function 68C>" apply "#<byte-code-funct=
ion 504>" apply vertico--advice apply completing-read-default completing-re=
ad read-extended-command-1 read-extended-command byte-code] 6 ["#<primitive=
-function string-lessp>" "#<native-comp-function F616e6f6e796d6f75732d6c616=
d626461_anonymous_lambda_6>" vertico-sort-history-length-alpha vertico--rec=
ompute vertico--update vertico--exhibit read-from-minibuffer "#<byte-code-f=
unction 68C>" apply "#<byte-code-function 504>" apply vertico--advice apply=
 completing-read-default completing-read read-extended-command-1] 6 [delete=
-consecutive-dups vertico--recompute vertico--update vertico--exhibit read-=
from-minibuffer "#<byte-code-function 68C>" apply "#<byte-code-function 504=
>" apply vertico--advice apply completing-read-default completing-read read=
-extended-command-1 read-extended-command byte-code] 5 [marginalia-annotate=
-binding marginalia-annotate-command marginalia--cached marginalia--affixat=
e apply "#<byte-code-function 72C>" "#<byte-code-function 70E>" vertico--af=
fixate vertico--arrange-candidates vertico--exhibit read-from-minibuffer "#=
<byte-code-function 68C>" apply "#<byte-code-function 504>" apply vertico--=
advice] 4 [add-text-properties substitute-command-keys documentation margin=
alia--function-doc marginalia-annotate-command marginalia--cached marginali=
a--affixate apply "#<byte-code-function 72C>" "#<byte-code-function 70E>" v=
ertico--affixate vertico--arrange-candidates vertico--exhibit read-from-min=
ibuffer "#<byte-code-function 68C>" apply] 1 [substitute-command-keys docum=
entation marginalia--function-doc marginalia-annotate-command marginalia--c=
ached marginalia--affixate apply "#<byte-code-function 72C>" "#<byte-code-f=
unction 70E>" vertico--affixate vertico--arrange-candidates vertico--exhibi=
t read-from-minibuffer "#<byte-code-function 68C>" apply "#<byte-code-funct=
ion 504>"] 2 [time-less-p timer-event-handler read-from-minibuffer "#<byte-=
code-function 68C>" apply "#<byte-code-function 504>" apply vertico--advice=
 apply completing-read-default completing-read read-extended-command-1 read=
-extended-command byte-code call-interactively command-execute] 1 [redispla=
y_internal\ \(C\ function\) read-from-minibuffer "#<byte-code-function 68C>=
" apply "#<byte-code-function 504>" apply vertico--advice apply completing-=
read-default completing-read read-extended-command-1 read-extended-command =
byte-code call-interactively command-execute nil] 74 [read-from-minibuffer =
"#<byte-code-function 68C>" apply "#<byte-code-function 504>" apply vertico=
--advice apply completing-read-default completing-read read-extended-comman=
d-1 read-extended-command byte-code call-interactively command-execute nil =
nil] 784 [timer-inc-time timer-event-handler read-from-minibuffer "#<byte-c=
ode-function 68C>" apply "#<byte-code-function 504>" apply vertico--advice =
apply completing-read-default completing-read read-extended-command-1 read-=
extended-command byte-code call-interactively command-execute] 1 [time-conv=
ert timer--time-setter timer-set-time run-at-time apply run-with-timer tele=
ga-check-focus-change telega-handle-emacs-idle apply timer-event-handler re=
ad-from-minibuffer "#<byte-code-function 68C>" apply "#<byte-code-function =
504>" apply vertico--advice] 1 [redisplay_internal\ \(C\ function\) redispl=
ay vertico--update vertico--exhibit read-from-minibuffer "#<byte-code-funct=
ion 68C>" apply "#<byte-code-function 504>" apply vertico--advice apply com=
pleting-read-default completing-read read-extended-command-1 read-extended-=
command byte-code] 74 [redisplay vertico--update vertico--exhibit read-from=
-minibuffer "#<byte-code-function 68C>" apply "#<byte-code-function 504>" a=
pply vertico--advice apply completing-read-default completing-read read-ext=
ended-command-1 read-extended-command byte-code call-interactively] 22 [mat=
ch-data version-to-list "#<byte-code-function 469>" all-completions complet=
e-with-action "#<byte-code-function 98B>" orderless--filter orderless-all-c=
ompletions "#<byte-code-function A8D>" funcall let eval "#<byte-code-functi=
on E55>" "#<byte-code-function 44E>" mapc seq-do] 1 [text-quoting-style sub=
stitute-command-keys documentation marginalia--function-doc marginalia-anno=
tate-command marginalia--cached marginalia--affixate apply "#<byte-code-fun=
ction 7B8>" "#<byte-code-function 7A6>" vertico--affixate vertico--arrange-=
candidates vertico--exhibit read-from-minibuffer "#<byte-code-function 68C>=
" apply] 1 [oclosure-type oclosure-interactive-form interactive-form comman=
dp "#<byte-code-function 292>" "#<byte-code-function 5E4>" all-completions =
complete-with-action "#<byte-code-function 98B>" orderless--filter orderles=
s-all-completions "#<byte-code-function 7B3>" funcall let eval "#<byte-code=
-function 596>"] 1 ["#<native-comp-function F616e6f6e796d6f75732d6c616d6264=
61_anonymous_lambda_6>" vertico-sort-history-length-alpha vertico--recomput=
e vertico--update vertico--exhibit read-from-minibuffer "#<byte-code-functi=
on 68C>" apply "#<byte-code-function 504>" apply vertico--advice apply comp=
leting-read-default completing-read read-extended-command-1 read-extended-c=
ommand] 1 [get-buffer-create generate-new-buffer substitute-command-keys do=
cumentation marginalia--function-doc marginalia-annotate-command marginalia=
--cached marginalia--affixate apply "#<byte-code-function 406>" "#<byte-cod=
e-function 430>" vertico--affixate vertico--arrange-candidates vertico--exh=
ibit read-from-minibuffer "#<byte-code-function 68C>"] 1 [show-paren--defau=
lt show-paren-function apply timer-event-handler read-from-minibuffer "#<by=
te-code-function 68C>" apply "#<byte-code-function 504>" apply vertico--adv=
ice apply completing-read-default completing-read read-extended-command-1 r=
ead-extended-command byte-code] 1 [vector timer-create run-at-time undo-aut=
o--boundary-ensure-timer undo-auto--undoable-change self-insert-command fun=
call-interactively call-interactively command-execute read-from-minibuffer =
"#<byte-code-function 68C>" apply "#<byte-code-function 504>" apply vertico=
--advice apply] 1 [vertico--display-string "#<byte-code-function 435>" appl=
y "#<byte-code-function A3B>" "#<byte-code-function 3A6>" apply "#<byte-cod=
e-function 0D7>" apply "#<byte-code-function 09B>" apply vertico--format-ca=
ndidate vertico--arrange-candidates vertico--exhibit read-from-minibuffer "=
#<byte-code-function 68C>" apply] 1 [timer-event-handler read-from-minibuff=
er "#<byte-code-function 68C>" apply "#<byte-code-function 504>" apply vert=
ico--advice apply completing-read-default completing-read read-extended-com=
mand-1 read-extended-command byte-code call-interactively command-execute n=
il] 2 [kill-buffer "#<byte-code-function 0D3>" substitute-command-keys docu=
mentation marginalia--function-doc marginalia-annotate-command marginalia--=
cached marginalia--affixate apply "#<byte-code-function 9F4>" "#<byte-code-=
function 986>" vertico--affixate vertico--arrange-candidates vertico--exhib=
it read-from-minibuffer "#<byte-code-function 68C>"] 1 [time-add timer-rela=
tive-time timer-inc-time timer-event-handler read-from-minibuffer "#<byte-c=
ode-function 68C>" apply "#<byte-code-function 504>" apply vertico--advice =
apply completing-read-default completing-read read-extended-command-1 read-=
extended-command byte-code] 1 [completion--metadata-get-1 "#<byte-code-func=
tion 2EF>" apply "#<advice 9E1>" nerd-icons-completion-completion-metadata-=
get apply completion-metadata-get completion--nth-completion "#<byte-code-f=
unction 824>" apply completion-all-completions vertico--filter-completions =
vertico--recompute vertico--update vertico--exhibit read-from-minibuffer] 1=
 [redisplay--pre-redisplay-functions redisplay_internal\ \(C\ function\) re=
ad-from-minibuffer "#<byte-code-function 68C>" apply "#<byte-code-function =
504>" apply vertico--advice apply completing-read-default completing-read r=
ead-extended-command-1 read-extended-command byte-code call-interactively c=
ommand-execute] 1 [dired-directory-changed-p dired-buffer-stale-p auto-reve=
rt-handler auto-revert-buffer auto-revert-buffers apply timer-event-handler=
 read-from-minibuffer "#<byte-code-function 68C>" apply "#<byte-code-functi=
on 504>" apply vertico--advice apply completing-read-default completing-rea=
d] 2 [jit-lock-context-fontify jit-lock-context--update apply timer-event-h=
andler read-from-minibuffer "#<byte-code-function 68C>" apply "#<byte-code-=
function 504>" apply vertico--advice apply completing-read-default completi=
ng-read read-extended-command-1 read-extended-command byte-code] 1 [margina=
lia--affixate apply "#<byte-code-function AB5>" "#<byte-code-function A67>"=
 vertico--affixate vertico--arrange-candidates vertico--exhibit read-from-m=
inibuffer "#<byte-code-function 68C>" apply "#<byte-code-function 504>" app=
ly vertico--advice apply completing-read-default completing-read] 1 [rectan=
gle--unhighlight-for-redisplay apply "#<advice C00>" redisplay--update-regi=
on-highlight run-hook-with-args redisplay--pre-redisplay-functions redispla=
y_internal\ \(C\ function\) read-from-minibuffer "#<byte-code-function 68C>=
" apply "#<byte-code-function 504>" apply vertico--advice apply completing-=
read-default completing-read] 2 [vertico--display-count vertico--exhibit re=
ad-from-minibuffer "#<byte-code-function 68C>" apply "#<byte-code-function =
504>" apply vertico--advice apply completing-read-default completing-read r=
ead-extended-command-1 read-extended-command byte-code call-interactively c=
ommand-execute] 1 [timer-relative-time timer-inc-time timer-event-handler r=
ead-from-minibuffer "#<byte-code-function 68C>" apply "#<byte-code-function=
 504>" apply vertico--advice apply completing-read-default completing-read =
read-extended-command-1 read-extended-command byte-code call-interactively]=
 1 [global-colorful-mode-enable-in-buffer run-hooks run-mode-hooks minibuff=
er-inactive-mode read-from-minibuffer "#<byte-code-function 68C>" apply "#<=
byte-code-function 504>" apply vertico--advice apply completing-read-defaul=
t completing-read read-extended-command-1 read-extended-command byte-code] =
1 [binky--auto-update run-hooks read-from-minibuffer "#<byte-code-function =
68C>" apply "#<byte-code-function 504>" apply vertico--advice apply complet=
ing-read-default completing-read read-extended-command-1 read-extended-comm=
and byte-code call-interactively command-execute] 1 [Automatic\ GC nil] 220=
)) (26631 16923 953862 598000) nil]

--=-=-=
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable



> Ihor Radchenko <yantar92@HIDDEN> writes:
>
>> Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:
>>>>>> I attach a profiler output, and a HTML file which causes a=20
>>>>>> similar
>>>>>> slowdown when opening from eww.
>>>
>>> I'm afraid I don't see much in the profile. Only thing is that=20
>>> that
>>> redisplay_internal isn't called often. Which makes it even=20
>>> weirder that
>>> glyph matrix enlargement should play a role.
>>
>> Looking into reverse call tree (B), I see that
>>
>>         1874  33% + set-window-configuration
>>
>> takes 1/3 of CPU cycles. Looking into its source, it does deal=20
>> with
>> glyph matrices. So, it is the suspect, judging from the=20
>> submitted
>> profiler report.
>
> Thanks, indeed.
>
> Which I also find weird. Why is that done in the first place?=20
> Anyway,
> that not leading to redisplays, how can adding a memset or=20
> for-loop
> settign glyph::frame when adjusting matrices produce a 5x=20
> slowdown,
> IIUC? I'm absolutely flabbergasted. That all doesn't add up.
>
> Maybe comparing a before/after profile could show something.

--=-=-=--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Ihor Radchenko <yantar92@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 07:34:02 +0000
Resent-Message-ID: <handler.77961.B77961.174530723427331 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
Cc: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.174530723427331
          (code B ref 77961); Tue, 22 Apr 2025 07:34:02 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 07:33:54 +0000
Received: from localhost ([127.0.0.1]:44596 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u788f-00076c-5H
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 03:33:54 -0400
Received: from mout01.posteo.de ([185.67.36.65]:54629)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <yantar92@HIDDEN>)
 id 1u787b-0006zy-9I
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 03:32:48 -0400
Received: from submission (posteo.de [185.67.36.169]) 
 by mout01.posteo.de (Postfix) with ESMTPS id B3248240028
 for <77961 <at> debbugs.gnu.org>; Tue, 22 Apr 2025 09:32:39 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1745307159; bh=P5045mcl6xvO32pHlShhrI3Pn8s3X8AAT74gQnjZEpU=;
 h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type:
 Content-Transfer-Encoding:From;
 b=V8OgGqkE1XMLuuU/fdbn4g/un6ZsOfRkbzyMxztKCVTBNuPTzV+WMi07s/0vUKHPz
 ebYWZFJT4Knj/jX9m768mnPMouBZWFqkCD+iq0K7WWj73DLbpzTcKvZznC0CzLcCKY
 zYt6dnXrBedJgiiQ2+qpQ3vjX1Gtyiy0MNFTA11yPB1bqH3N1KUK1yyc6eBx4er5lr
 Vw+ae3uDUg29W1Nc/9jlUN4dfgyFgSbqDzYheXvYXLvh2FQmLctWOLtZnHb2VcyKRF
 K5fGdJaGNSAk7wF0V73LJTfsVtIE+NY58sVHgi6R2osa9rA3cw3w3vKjSbrRmtBLfM
 jmXYuE5ZjvCGw==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4ZhYqB4d0yz6v0D;
 Tue, 22 Apr 2025 09:32:38 +0200 (CEST)
From: Ihor Radchenko <yantar92@HIDDEN>
In-Reply-To: <877c3czmc9.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN> <877c3czmc9.fsf@HIDDEN>
Date: Tue, 22 Apr 2025 07:31:47 +0000
Message-ID: <87fri0fy8s.fsf@localhost>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
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 (---)

I=C3=B1igo Serna <inigoserna@HIDDEN> writes:

> I attach a profiler report of opening the same HTML email with=20
> commit
> #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5 reverted (ie, no memset,=20
>  no
> for-loop either).

what could provide more datapoints is compiling with -g3 and then
recording perf profile.

--=20
Ihor Radchenko // yantar92,
Org mode maintainer,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 07:43:02 +0000
Resent-Message-ID: <handler.77961.B77961.174530772930248 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Ihor Radchenko <yantar92@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.174530772930248
          (code B ref 77961); Tue, 22 Apr 2025 07:43:02 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 07:42:09 +0000
Received: from localhost ([127.0.0.1]:44683 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u78Ge-0007ro-Mm
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 03:42:09 -0400
Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:57450)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u78Gb-0007qf-Rx
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 03:42:06 -0400
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cfecdd8b2so34254925e9.2
 for <77961 <at> debbugs.gnu.org>; Tue, 22 Apr 2025 00:42:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745307718; x=1745912518; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=YTbHTYgO74073X34Qwn6oOZegmlPGAudgyA1w9O5j1I=;
 b=J4Y5mmsNL5NdTaCnimsiZaL2z4ndgQs7mnPAY+ImnT7wdIK05cSH4VGGtiYYOcdtFs
 hWAdCVP6F2FCxTYMce3rjyeU8qEQu99j5la14cQQ2dYxkR/aiOENHk2kYMr04262Jmu6
 Z8P1mP7hH7BFunMOSBHw4VBtTccD6KFU3MVdgcgIr+tpa6GYMLVpB+8UJzDZ78mdPHCp
 XnWOwsFW5tkICULje/osgBPPAi7Zzph+6zBi6k4LoTiCwcFnnRXeXrBpVs1QCzw/g+K2
 zLwPH9R8SVteHRgsfFsLDqFqgN631EHwjuMMglKcIbosPUqzfjX8qw7yguYWAks7G5qI
 HJSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745307718; x=1745912518;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=YTbHTYgO74073X34Qwn6oOZegmlPGAudgyA1w9O5j1I=;
 b=gBjjF+Sl3DQfXcfCkX2DzP+EQbpOewSpkf+Tnx1ox4JTx962hlK59JiRF2z9X+vyBh
 z9sHChMwR7L/R59YFG/KkTI3gqPS/5O+wTSHADKm/f4V9iFr1M1dWzaB6Axf++zyd9nP
 COIlTzRxZs3LBnX9siG7Hfme9fHveBmrLcBzk04nzYqcKW89S4gdvHlUEWQ67dBBLZDg
 nv7UOOEZEHgH2rLTK1FdEPE2kKLjLAJWFcXSmlUfE7iv62HTYxeiNP1tVmA+JNtRkxoc
 C9tlEdQokyqoXlHX8ODZBN7fMhWY+gw4duMvW6V9yQhHo0DMWuvdCXYDx/sShAfuYpZu
 lNuQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCUHJmLeuCjqiIX5jTGwOiZT6ER2F5k1cutHdZa7ZaedBzsewQXacOvN+EVUBYxuB93scobV9Q==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YyQqbnngW1sGAV5L0PMIj6k4fSu8MgenNs7EOf8JGrryVSMevvR
 afk5vcmKcQMxz6jbKjPNCizy31Y+oVLVfxbteZqdb5k8AH5CUMGvX4Ma/g==
X-Gm-Gg: ASbGncuUlI99w1iITrfZFJKRB2CscZS/j6a5A18nDCZcDqsUoprk9Cx7JArUeE3EGva
 xvgqt/ULY/zk0oC9w0tOjma4FBe3cS6OLM2JGyf1IQzUsUfS0ml9YjGFij9hnktL/ZtoSa9BFKh
 XzV9siwycxONfa55eDgzd6S8hH8+tKz8boO+HOg2j1Mr9E0iiWqwy/FBSyEZo1md+v5Swy30U6j
 P7iSzjZWjtHUPlqwr48uaX8h7zm2OsZ/gwwsrRbzMe9Mk//xujIooZm6+FR7sHY/rAVQ1uI15Mn
 0E4j9piQHg+fajGqBvbGZbz3ea5rs8uokuvLGY3HrjUQdcZWyiX/FSa0zHXr4Ux020OeadwdX7q
 U/BcfxD8P/IufV6GSj+LOCi9MnAW59YabRQsK8xwdQYFHgj9H7A==
X-Google-Smtp-Source: AGHT+IHWUw+wCfeejh2uaGCqx11RldnZ5I+vNx14R6pvoKMxP21FxEhDoXpgWztbe8rY4zM2EDMhkA==
X-Received: by 2002:a05:6000:4903:b0:39c:1257:cd41 with SMTP id
 ffacd0b85a97d-39efbb1a9e3mr12169263f8f.59.1745307717676; 
 Tue, 22 Apr 2025 00:41:57 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa4235dasm14077288f8f.9.2025.04.22.00.41.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Apr 2025 00:41:57 -0700 (PDT)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <87fri0fy8s.fsf@localhost>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN> <877c3czmc9.fsf@HIDDEN>
 <87fri0fy8s.fsf@localhost>
Date: Tue, 22 Apr 2025 09:41:56 +0200
Message-ID: <m27c3cabi3.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
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.0 (-)

Ihor Radchenko <yantar92@HIDDEN> writes:

> I=C3=B1igo Serna <inigoserna@HIDDEN> writes:
>
>> I attach a profiler report of opening the same HTML email with=20
>> commit
>> #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5 reverted (ie, no memset,=20
>>  no
>> for-loop either).
>
> what could provide more datapoints is compiling with -g3 and then
> recording perf profile.

That and maybe more samples with Emacs' profiler, i.e. run it say 100
times in a loop.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 08:04:01 +0000
Resent-Message-ID: <handler.77961.B77961.17453089904682 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Ihor Radchenko <yantar92@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.17453089904682
          (code B ref 77961); Tue, 22 Apr 2025 08:04:01 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 08:03:10 +0000
Received: from localhost ([127.0.0.1]:44871 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u78az-0001DM-V2
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 04:03:10 -0400
Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]:58584)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u78aw-0001Ci-9F
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 04:03:08 -0400
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-39c1ef4acf2so2908340f8f.0
 for <77961 <at> debbugs.gnu.org>; Tue, 22 Apr 2025 01:03:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745308980; x=1745913780; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=4vJRp0XM3xEYFta+k5xZ4go7DdaH61aeBWxLoU+gVbw=;
 b=kATrpq+5qtlDt2DmCOMLFyzy6CqoWR5H2ZrzotGijaKRzDlsIoW/yZ/yAKPWuyUL/N
 MkpZwk3O1+FmRbwHoJB87yZdAEBObHefg8H476bKNj26gtCLrcpxlfKW4JIYiPBY/3VM
 HV0hSoixn7mviNN/aveuReVN77oRND4hxc+6AnOj/wfYxvo35FmbUbdQQRK+ugPGW8hr
 A4PNMjeRXjhObEyD+YbLc25oGIXtmcejIPIU71CjabwbjPa3TOsHVKTSbJRalYVTEe2g
 AnT+UYhm1edacplcLlxqQT4ycioQeYUD3umAlukaR15dohAKw6DENnsQfssCCvikiP0W
 GOaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745308980; x=1745913780;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=4vJRp0XM3xEYFta+k5xZ4go7DdaH61aeBWxLoU+gVbw=;
 b=uoeolrbz4zg9hs212Fb4nZyevWRQir07MkLKFqcGrdkZlxD2QSk0I3OuJROf+5zeuq
 qrjv5C3cQf7LxKlxrK/iHGtn0MSOEONsj2XQr3mJU3RSvNpklz/DKXg8JkNZmfCP26A3
 YSKszw2OT+L1SIqTRZsUpDsRxbQUelh+3WB0IP+hse6gsEmjARtTLpyU0Xvsles+V9bu
 z25XLgq2kBAujqgs7Xd5oelfp0UHKBjcrsqY3upEwdIQk69e6F80fiNcxfx+knneL0fM
 J2+hTdY0Ds7+oPjRHz6Z/LsYac37sIFuGInIUssVvOUoqDdTM7XVevdHiOrIXO17qYs3
 Mtfw==
X-Forwarded-Encrypted: i=1;
 AJvYcCUz4EflLnySHVd7NEubP2x6LuqLXO/HTsqjWwFW95pByuWvP0GiuUp22SZ8P3MAzeEiBFOcBw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YyPiybUg8QkQR1C5ML3zOrHLZ2akxy1th6u0FiifkA+gtrMnOLx
 g5/AfpPfx5wHLbtBXzhOBciTyE/mfam2KqgHZuASY3ni2fLuQICSNC+dlQ==
X-Gm-Gg: ASbGncuuY3Cmw+RUvD6C1lZPnlw5k4/XOm7/bejkcXdLNuaeh3ECVZ8gO/8ItavZ0VX
 XYTeqM0ZVp1TEKmRlVGOyR02jQ4ugQNnrzFwLDSx5SJ3dzpmSMZDlytYifMaykQf1h1BDpk8GcI
 dby2zrG+pcFRnxAwID8kxctVj6AnmYMZaktnuX4tg0y/rBEr+SFTA/0AIDmuwzDy46ALCkbz/Zg
 amQH9pl+MVJNantl4KV5ChTuH/qm2I2LluheCGzclypfN1dWALF69Kpdc/QiXEgJcODWhE9JoRH
 AbFLC4g3oNvHJfw1GgU3IXrg5X9QCHkqDhngVxV+fl7I6CIfEwcJhLKevxgvvhTTOnMzQkomr9j
 aL1dHK0mag6dmRzBPVTWkV4TDA/XOnbEnPGGqOY6N4Q5EobD/ng==
X-Google-Smtp-Source: AGHT+IFe04DXqc0TJ1t9itMZRJwA4sksS8d6PFU1IE1JLX+zSwCTB3iuJnqPTpKtWoviPLE/SVMKLQ==
X-Received: by 2002:a05:6000:706:b0:39c:1257:dbab with SMTP id
 ffacd0b85a97d-39efbaf26f0mr9293313f8f.59.1745308979736; 
 Tue, 22 Apr 2025 01:02:59 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa4a4c37sm14661514f8f.98.2025.04.22.01.02.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Apr 2025 01:02:59 -0700 (PDT)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <m27c3cabi3.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN> <877c3czmc9.fsf@HIDDEN>
 <87fri0fy8s.fsf@localhost> <m27c3cabi3.fsf@HIDDEN>
Date: Tue, 22 Apr 2025 10:02:58 +0200
Message-ID: <m2zfg88vyl.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
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.0 (-)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:

> Ihor Radchenko <yantar92@HIDDEN> writes:
>
>> I=C3=B1igo Serna <inigoserna@HIDDEN> writes:
>>
>>> I attach a profiler report of opening the same HTML email with=20
>>> commit
>>> #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5 reverted (ie, no memset,=20
>>>  no
>>> for-loop either).
>>
>> what could provide more datapoints is compiling with -g3 and then
>> recording perf profile.
>
> That and maybe more samples with Emacs' profiler, i.e. run it say 100
> times in a loop.

Could you please also check with this diff?


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment; filename=xxx.diff

diff --git a/src/dispnew.c b/src/dispnew.c
index 24bf975ef9f..40df078aea6 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -504,13 +504,16 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y
 
 	  while (row < end)
 	    {
-	      row->glyphs[LEFT_MARGIN_AREA]
-		= xnrealloc (row->glyphs[LEFT_MARGIN_AREA],
-			     dim.width, sizeof (struct glyph));
-	      /* We actually need to clear only the 'frame' member, but
-                 it's easier to clear everything.  */
-	      memset (row->glyphs[LEFT_MARGIN_AREA], 0,
-		      dim.width * sizeof (struct glyph));
+	      if (dim.width > matrix->matrix_w || new_rows)
+		{
+		  row->glyphs[LEFT_MARGIN_AREA]
+		    = xnrealloc (row->glyphs[LEFT_MARGIN_AREA],
+				 dim.width, sizeof (struct glyph));
+		  /* We actually need to clear only the 'frame' member, but
+		     it's easier to clear everything.  */
+		  memset (row->glyphs[LEFT_MARGIN_AREA], 0,
+			  dim.width * sizeof (struct glyph));
+		}
 
 	      if ((row == matrix->rows + dim.height - 1
 		   /* The mode line, if displayed, never has marginal

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


This kind of assumes that set-window-configuration is called in a sort
of tight loop, and that window matrix sizes actually don't change.

--=-=-=--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 08:56:04 +0000
Resent-Message-ID: <handler.77961.B77961.174531212125387 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Cc: Ihor Radchenko <yantar92@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.174531212125387
          (code B ref 77961); Tue, 22 Apr 2025 08:56:04 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 08:55:21 +0000
Received: from localhost ([127.0.0.1]:45302 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u79P5-0006VQ-M4
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 04:55:21 -0400
Received: from mout.gmx.net ([212.227.17.22]:54545)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <inigoserna@HIDDEN>)
 id 1u79Oz-0006Ur-GQ
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 04:54:53 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.com;
 s=s31663417; t=1745312070; x=1745916870; i=inigoserna@HIDDEN;
 bh=MH/HYcJmZadWkEga6ESrXxBm0Hr2cu5NfN+Pm5y9rjw=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=X9ceNODQmpwWbePdsJQqo1LhkIkPjNE0dWxfBDNckmTDvqjbRjnPRSujJBBZdqdV
 b9kEbpMwep5h70/s1AXyQhUq0zGXcy7WunOu95T3t9A12VRKI/ddaXZllTVUPQCja
 tUx3UXxDngNOemA1Z5mo952KCNI2aFZhVqvZnPfYzmiF3vDuizsPCzSajkSk3ERQK
 A6S2dj1qpvmw6raqvQ/xSsrxqL0oQVA4JwKllDwY18ZaHRekkeL6Crh3oASd2MLFa
 8tuTUjfD1RVi6RGf3ocQbK+TDoq/3Pa2VNuJEaoSYdAk2xuFroF/H1D40AzW/WV5v
 4/wX99Dx7IOUH8RKGw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from zeus.gmx.com ([93.176.183.109]) by mail.gmx.net (mrgmx104
 [212.227.17.174]) with ESMTPSA (Nemesis) id 1Mk0JM-1urVmQ0wRs-00je9J; Tue, 22
 Apr 2025 10:54:30 +0200
From: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
In-Reply-To: <m2zfg88vyl.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN> <877c3czmc9.fsf@HIDDEN>
 <87fri0fy8s.fsf@localhost> <m27c3cabi3.fsf@HIDDEN>
 <m2zfg88vyl.fsf@HIDDEN>
User-Agent: mu4e 1.12.9; emacs 31.0.50
Date: Tue, 22 Apr 2025 10:54:01 +0200
Message-ID: <87y0vsy3ti.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Provags-ID: V03:K1:crr2pR3HK6DQZtUIuTPkt/Si3egH/Oinj/OXlEiIgotxUQ5x++N
 g2EB549NqsMZCh2HbqrdT6CNcZ9YRjCieanAKGpDyvYCQsv4U6tUOyESuvESCWkJc7/ivqt
 xxqVxkjWhvWl3Hw7dlcIU2WyAi/q0F5xcAfa+OrpkNPhVEmvZ+10hBuu2FsxEpMVr6lvIT/
 dW8by1iRiYZnCi+hOWUVQ==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:3T2JY/9DyiA=;Q8EBmtHI71owArmxyhDpMJkK68+
 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
X-Spam-Score: -0.7 (/)
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; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable


On 22 April 2025 at 10:02 +02, Gerd M=C3=B6llmann=20
<gerd.moellmann@HIDDEN> wrote:

> Could you please also check with this diff?

This patch solves the problem completely!
I don't know if it's placebo effect but I'd say the rendering is=20
even
faster than before.

I attach 2 profiler reports:
- first: with -g3, without native compilation, and without this=20
  patch
- second: one with my usual compilation flags, native compilation,=20
  and patch applied


Again, thanks a lot for the attention and for solving the problem,
I=C3=B1igo Serna


--=-=-=
Content-Type: text/plain
Content-Disposition: attachment; filename=profiler-g3.txt
Content-Transfer-Encoding: quoted-printable


[profiler-profile "28.1" cpu #s(hash-table test equal data ([redisplay_inte=
rnal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil n=
il nil] 196 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil ni=
l] 206 [commandp "#<byte-code-function 909>" mapatoms execute-extended-comm=
and--shorter "#<byte-code-function F99>" apply timer-event-handler nil nil =
nil nil nil nil nil nil nil] 28 ["#<byte-code-function 909>" mapatoms execu=
te-extended-command--shorter "#<byte-code-function F99>" apply timer-event-=
handler nil nil nil nil nil nil nil nil nil nil] 6 [string-match execute-ex=
tended-command--shorter-1 execute-extended-command--shorter-1 execute-exten=
ded-command--shorter "#<byte-code-function F99>" apply timer-event-handler =
nil nil nil nil nil nil nil nil nil] 1 [try-completion completion-emacs21-t=
ry-completion orderless-try-completion "#<byte-code-function 07C>" funcall =
let eval "#<byte-code-function F7D>" "#<byte-code-function F6C>" mapc seq-d=
o seq-some completion--nth-completion completion-try-completion execute-ext=
ended-command--shorter "#<byte-code-function F99>"] 11 [make-closure orderl=
ess-try-completion "#<byte-code-function 3BA>" funcall let eval "#<byte-cod=
e-function FA5>" "#<byte-code-function FB4>" mapc seq-do seq-some completio=
n--nth-completion completion-try-completion execute-extended-command--short=
er "#<byte-code-function F99>" apply] 1 [posn-at-point line-move-visual lin=
e-move next-line funcall-interactively call-interactively command-execute n=
il nil nil nil nil nil nil nil nil] 9 [macroexp-macroexpand macroexp--expan=
d-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-i=
nterpreted-closure function mapcar let* concat progn if when eval posn-at-p=
oint line-move-visual] 1 [string-width truncate-string-to-width mu4e--model=
ine-quote-and-truncate mu4e--modeline-string eval format-mode-line eval red=
isplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil] 1 [line-p=
ixel-height line-move previous-line funcall-interactively call-interactivel=
y command-execute nil nil nil nil nil nil nil nil nil nil] 1 [mu4e~headers-=
remove-header mu4e~headers-update-handler mu4e-view mu4e~headers-view-handl=
er mu4e--server-filter nil nil nil nil nil nil nil nil nil nil nil] 1 ["#<b=
yte-code-function B2D>" called-interactively-p mu4e-search-minor-mode mu4e-=
view-mode mu4e-get-view-buffer mu4e-view mu4e~headers-view-handler mu4e--se=
rver-filter nil nil nil nil nil nil nil nil] 1 [re-search-forward article-r=
emove-cr mu4e-view mu4e~headers-view-handler mu4e--server-filter nil nil ni=
l nil nil nil nil nil nil nil nil] 1 [article-decode-charset run-hooks mu4e=
--view-render-buffer mu4e-view mu4e~headers-view-handler mu4e--server-filte=
r nil nil nil nil nil nil nil nil nil nil] 1 [decode-coding-string rfc2047-=
decode-encoded-words rfc2047-decode-region mail-decode-encoded-address-regi=
on article-decode-encoded-words run-hooks mu4e--view-render-buffer mu4e-vie=
w mu4e~headers-view-handler mu4e--server-filter nil nil nil nil nil nil] 1 =
[quoted-printable-decode-string rfc2047-decode-encoded-words mail-decode-en=
coded-word-region article-decode-encoded-words run-hooks mu4e--view-render-=
buffer mu4e-view mu4e~headers-view-handler mu4e--server-filter nil nil nil =
nil nil nil nil] 5 ["#<byte-code-function 571>" split-string textsec-email-=
address-suspicious-p textsec-suspicious-p article--check-suspicious-address=
es article-decode-encoded-words run-hooks mu4e--view-render-buffer mu4e-vie=
w mu4e~headers-view-handler mu4e--server-filter nil nil nil nil nil] 1 [rfc=
2231-parse-string mail-header-parse-content-type mm-dissect-buffer gnus-dis=
play-mime "#<byte-code-function 132>" gnus-article-prepare-display mu4e--vi=
ew-render-buffer mu4e-view mu4e~headers-view-handler mu4e--server-filter ni=
l nil nil nil nil nil] 1 [binky--auto-update run-hooks get-buffer-create ge=
nerate-new-buffer mm-copy-to-buffer mm-dissect-singlepart mm-dissect-buffer=
 mm-dissect-multipart mm-dissect-buffer gnus-display-mime "#<byte-code-func=
tion 132>" gnus-article-prepare-display mu4e--view-render-buffer mu4e-view =
mu4e~headers-view-handler mu4e--server-filter] 1 [insert-buffer-substring m=
m-shr mm-inline-text-html mm-display-inline mm-display-part gnus-mime-displ=
ay-alternative gnus-mime-display-part gnus-display-mime "#<byte-code-functi=
on 132>" gnus-article-prepare-display mu4e--view-render-buffer mu4e-view mu=
4e~headers-view-handler mu4e--server-filter nil nil] 1 [quoted-printable-de=
code-region mm-decode-content-transfer-encoding mm-shr mm-inline-text-html =
mm-display-inline mm-display-part gnus-mime-display-alternative gnus-mime-d=
isplay-part gnus-display-mime "#<byte-code-function 132>" gnus-article-prep=
are-display mu4e--view-render-buffer mu4e-view mu4e~headers-view-handler mu=
4e--server-filter nil] 3 [symbol-overlay-refresh quoted-printable-decode-re=
gion mm-decode-content-transfer-encoding mm-shr mm-inline-text-html mm-disp=
lay-inline mm-display-part gnus-mime-display-alternative gnus-mime-display-=
part gnus-display-mime "#<byte-code-function 132>" gnus-article-prepare-dis=
play mu4e--view-render-buffer mu4e-view mu4e~headers-view-handler mu4e--ser=
ver-filter] 1 [looking-at quoted-printable-decode-region mm-decode-content-=
transfer-encoding mm-shr mm-inline-text-html mm-display-inline mm-display-p=
art gnus-mime-display-alternative gnus-mime-display-part gnus-display-mime =
"#<byte-code-function 132>" gnus-article-prepare-display mu4e--view-render-=
buffer mu4e-view mu4e~headers-view-handler mu4e--server-filter] 2 [re-searc=
h-forward mm-shr mm-inline-text-html mm-display-inline mm-display-part gnus=
-mime-display-alternative gnus-mime-display-part gnus-display-mime "#<byte-=
code-function 132>" gnus-article-prepare-display mu4e--view-render-buffer m=
u4e-view mu4e~headers-view-handler mu4e--server-filter nil nil] 1 [libxml-p=
arse-html-region mm-shr mm-inline-text-html mm-display-inline mm-display-pa=
rt gnus-mime-display-alternative gnus-mime-display-part gnus-display-mime "=
#<byte-code-function 132>" gnus-article-prepare-display mu4e--view-render-b=
uffer mu4e-view mu4e~headers-view-handler mu4e--server-filter nil nil] 2 [c=
oncat apply replace-regexp-in-string shr-parse-style shr-descend shr-tag-ht=
ml shr-descend shr-insert-document mm-shr mm-inline-text-html mm-display-in=
line mm-display-part gnus-mime-display-alternative gnus-mime-display-part g=
nus-display-mime "#<byte-code-function 132>"] 1 [set-window-buffer shr-rend=
er-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-t=
ag-table shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-tab=
le-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend] 1706 [set-wi=
ndow-configuration "#<byte-code-function E6B>" shr-render-td-1 shr-render-t=
d shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend=
 shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table =
shr-tag-table-1 shr-tag-table] 1704 [append binky--auto-update run-hooks se=
t-window-configuration "#<byte-code-function E6B>" shr-render-td-1 shr-rend=
er-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-des=
cend shr-descend shr-render-td-1 shr-render-td shr-make-table-1] 1 [binky--=
auto-update run-hooks set-window-configuration "#<byte-code-function FE7>" =
shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table=
-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-render-td shr-=
make-table-1 shr-make-table] 7 ["#<byte-code-function AAD>" mapconcat binky=
--regexp-match binky--exclude-regexp-p funcall "#<byte-code-function E75>" =
mapc seq-do seq-some binky--auto-update run-hooks set-window-configuration =
"#<byte-code-function 5D1>" shr-render-td-1 shr-render-td shr-make-table-1]=
 1 [window-text-pixel-size shr-pixel-buffer-width shr-render-td-1 shr-rende=
r-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-desc=
end shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-tab=
le shr-tag-table-1 shr-tag-table] 13 [xw-color-values color-values color-na=
me-to-rgb shr-color-visible shr-color-check shr-colorize-region shr-insert-=
table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1=
 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1] 1 [set-wind=
ow-buffer shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr=
-tag-table-1 shr-tag-table shr-descend shr-tag-body shr-descend shr-tag-htm=
l shr-descend shr-insert-document mm-shr mm-inline-text-html mm-display-inl=
ine] 249 [set-window-configuration "#<byte-code-function 50B>" shr-render-t=
d-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-t=
able shr-descend shr-tag-body shr-descend shr-tag-html shr-descend shr-inse=
rt-document mm-shr mm-inline-text-html] 252 [binky--auto-update run-hooks s=
et-window-configuration "#<byte-code-function 50B>" shr-render-td-1 shr-ren=
der-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-de=
scend shr-tag-body shr-descend shr-tag-html shr-descend shr-insert-document=
] 1 [replace-regexp-in-string shr-parse-style shr-descend shr-tag-span shr-=
descend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make=
-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-=
1 shr-render-td] 1 [intern shr-parse-style shr-descend shr-descend shr-rend=
er-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-t=
ag-table shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-tab=
le-1 shr-make-table] 2 [string-match binky--regexp-match binky--exclude-reg=
exp-p funcall "#<byte-code-function 4FC>" mapc seq-do seq-some binky--auto-=
update run-hooks set-window-configuration "#<byte-code-function BE7>" shr-r=
ender-td-1 shr-render-td shr-make-table-1 shr-make-table] 1 [make-closure s=
eq-contains-p "#<byte-code-function 74E>" "#<byte-code-function 77A>" mapc =
seq-do seq-reduce seq-union textsec-covering-scripts textsec-restriction-le=
vel textsec-ascii-confusable-p textsec-domain-suspicious-p textsec-url-susp=
icious-p textsec-suspicious-p shr-tag-a shr-descend] 1 [symbol-name shr-des=
cend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-ta=
ble shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1 s=
hr-render-td shr-make-table-1 shr-make-table shr-tag-table-1] 1 [expt color=
-cie-de2000 shr-color-visible shr-color-check shr-colorize-region shr-desce=
nd shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-ta=
ble-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-render-td] =
1 [display-color-cells shr-colorize-region shr-insert-table shr-tag-table-1=
 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-render-td shr-ma=
ke-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-des=
cend shr-render-td-1] 1 [mapcar "#<byte-code-function 78D>" apply seq-map s=
eq-filter seq-remove binky--auto-update run-hooks set-window-configuration =
"#<byte-code-function DCA>" shr-render-td-1 shr-render-td shr-make-table-1 =
shr-make-table shr-tag-table-1 shr-tag-table] 1 [make-closure seq-some bink=
y--auto-update run-hooks set-window-configuration "#<byte-code-function 01A=
>" shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-ta=
ble-1 shr-tag-table shr-descend shr-tag-body shr-descend shr-tag-html] 1 [c=
olor-cie-de2000 shr-color-visible shr-color-check shr-colorize-region shr-d=
escend shr-tag-a shr-descend shr-tag-span shr-descend shr-descend shr-rende=
r-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-ta=
g-table] 1 [frame-parameters frame-width shr-tag-table-1 shr-tag-table shr-=
descend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make=
-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-=
1 shr-render-td] 2 ["#<byte-code-function 78D>" apply seq-map seq-filter se=
q-remove binky--auto-update run-hooks record-window-buffer set-window-buffe=
r shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-tab=
le-1 shr-tag-table shr-descend] 1 [vertical-motion shr-vertical-motion shr-=
fill-line shr-fill-lines shr-render-td-1 shr-render-td shr-make-table-1 shr=
-make-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-rende=
r-td-1 shr-render-td shr-make-table-1 shr-make-table] 1 [string-match split=
-string puny-highly-restrictive-domain-p textsec-domain-suspicious-p textse=
c-url-suspicious-p textsec-suspicious-p shr-tag-a shr-descend shr-descend s=
hr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-=
1 shr-tag-table shr-descend] 1 [assoc shr-make-table shr-tag-table-1 shr-ta=
g-table shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-tabl=
e-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-descend sh=
r-render-td-1 shr-render-td] 2 ["#<byte-code-function DA0>" shr-render-td-1=
 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-tabl=
e shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 sh=
r-make-table shr-tag-table-1 shr-tag-table shr-descend] 1 [match-string shr=
-color->hexadecimal shr-color-check shr-colorize-region shr-insert-table sh=
r-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-ren=
der-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-de=
scend] 1 [format shr-render-td shr-make-table-1 shr-make-table shr-tag-tabl=
e-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-render-td shr=
-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-=
descend] 1 [count-lines shr-render-td-1 shr-render-td shr-make-table-1 shr-=
make-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render=
-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag=
-table shr-descend] 1 [shr-render-td-1 shr-render-td shr-make-table-1 shr-m=
ake-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-=
td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-=
table shr-descend shr-tag-body] 2 [window-text-pixel-size shr-pixel-buffer-=
width shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag=
-table-1 shr-tag-table shr-descend shr-tag-body shr-descend shr-tag-html sh=
r-descend shr-insert-document mm-shr mm-inline-text-html] 3 [dom-non-text-c=
hildren shr-column-specs shr-tag-table-1 shr-tag-table shr-descend shr-desc=
end shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-t=
able-1 shr-tag-table shr-descend shr-tag-body shr-descend shr-tag-html] 1 [=
replace-buffer-in-windows kill-buffer "#<byte-code-function 85F>" shr-rende=
r-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-ta=
g-table shr-descend shr-tag-body shr-descend shr-tag-html shr-descend shr-i=
nsert-document mm-shr] 1 [current-window-configuration shr-render-td-1 shr-=
render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr=
-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-mak=
e-table shr-tag-table-1 shr-tag-table shr-descend] 2 [binky--auto-update ru=
n-hooks record-window-buffer set-window-buffer shr-render-td-1 shr-render-t=
d shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend=
 shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table]=
 2 [re-search-forward shr-insert shr-descend shr-render-td-1 shr-render-td =
shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend s=
hr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table sh=
r-tag-table-1] 1 [frame-width shr-tag-table-1 shr-tag-table shr-descend shr=
-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-=
tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-rende=
r-td shr-make-table-1] 1 [reverse binky--auto-update run-hooks set-window-c=
onfiguration "#<byte-code-function F2D>" shr-render-td-1 shr-render-td shr-=
make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-d=
escend shr-render-td-1 shr-render-td shr-make-table-1] 1 [vertical-motion s=
hr-vertical-motion shr-fill-line shr-fill-lines shr-fill-text shr-tag-img a=
pply shr-indirect-call shr-collect-extra-strings-in-table shr-collect-extra=
-strings-in-table shr-collect-extra-strings-in-table shr-collect-extra-stri=
ngs-in-table shr-collect-extra-strings-in-table shr-collect-extra-strings-i=
n-table shr-collect-extra-strings-in-table shr-collect-extra-strings-in-tab=
le] 1 ["#<byte-code-function 8F9>" mapc seq-do seq-some binky--auto-update =
run-hooks set-window-configuration "#<byte-code-function 39A>" shr-render-t=
d-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-t=
able shr-descend shr-descend] 1 [xw-color-values color-values color-name-to=
-rgb shr-color-visible shr-color-check shr-colorize-region shr-descend shr-=
tag-a shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-=
1 shr-make-table shr-tag-table-1 shr-tag-table] 1 [shr-render-td-1 shr-rend=
er-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-des=
cend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-ta=
ble shr-tag-table-1 shr-tag-table shr-descend shr-descend] 2 [shr-render-td=
 shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend =
shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table s=
hr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1] 1 [sh=
r-insert-table shr-tag-table-1 shr-tag-table shr-descend shr-tag-body shr-d=
escend shr-tag-html shr-descend shr-insert-document mm-shr mm-inline-text-h=
tml mm-display-inline mm-display-part gnus-mime-display-alternative gnus-mi=
me-display-part gnus-display-mime] 1 [concat apply replace-regexp-in-string=
 shr-parse-style shr-descend shr-descend shr-render-td-1 shr-render-td shr-=
make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-d=
escend shr-render-td-1 shr-render-td] 1 ["#<byte-code-function 571>" split-=
string textsec-domain-suspicious-p textsec-url-suspicious-p textsec-suspici=
ous-p shr-tag-a shr-descend shr-descend shr-render-td-1 shr-render-td shr-m=
ake-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-de=
scend] 1 [add-text-properties shr-urlify shr-tag-a shr-descend shr-descend =
shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table=
-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-render-td shr-=
make-table-1] 1 [add-face-text-property shr-colorize-region shr-descend shr=
-tag-span shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-ta=
ble-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-descend =
shr-render-td-1 shr-render-td] 1 [shr-insert-table shr-tag-table-1 shr-tag-=
table shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-=
1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-=
render-td-1 shr-render-td shr-make-table-1] 1 [get-buffer-window shr-pixel-=
buffer-width shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table =
shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-r=
ender-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table] 1 [=
shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend s=
hr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table sh=
r-tag-table-1 shr-tag-table shr-descend shr-tag-body shr-descend shr-tag-ht=
ml] 1 [shr-tag-img apply shr-indirect-call shr-collect-extra-strings-in-tab=
le shr-collect-extra-strings-in-table shr-collect-extra-strings-in-table sh=
r-collect-extra-strings-in-table shr-collect-extra-strings-in-table shr-col=
lect-extra-strings-in-table shr-collect-extra-strings-in-table shr-collect-=
extra-strings-in-table shr-collect-extra-strings-in-table shr-collect-extra=
-strings-in-table shr-collect-extra-strings-in-table shr-collect-extra-stri=
ngs-in-table shr-collect-extra-strings-in-table] 1 [vertical-motion shr-ver=
tical-motion shr-fill-line shr-fill-lines shr-insert-document mm-shr mm-inl=
ine-text-html mm-display-inline mm-display-part gnus-mime-display-alternati=
ve gnus-mime-display-part gnus-display-mime "#<byte-code-function 132>" gnu=
s-article-prepare-display mu4e--view-render-buffer mu4e-view] 1 [article-st=
rip-banner apply gnus-article-strip-banner gnus-treat-article gnus-mime-dis=
play-alternative gnus-mime-display-part gnus-display-mime "#<byte-code-func=
tion 132>" gnus-article-prepare-display mu4e--view-render-buffer mu4e-view =
mu4e~headers-view-handler mu4e--server-filter nil nil nil] 1 [set-window-co=
nfiguration "#<byte-code-function A58>" gnus-mime-display-alternative gnus-=
mime-display-part gnus-display-mime "#<byte-code-function 132>" gnus-articl=
e-prepare-display mu4e--view-render-buffer mu4e-view mu4e~headers-view-hand=
ler mu4e--server-filter nil nil nil nil nil] 1 [beginning-of-line message-n=
ext-header "#<byte-code-function 7DB>" sort-build-lists sort-subr message-s=
ort-headers-1 article-hide-headers gnus-article-maybe-hide-headers gnus-tre=
at-article gnus-display-mime "#<byte-code-function 132>" gnus-article-prepa=
re-display mu4e--view-render-buffer mu4e-view mu4e~headers-view-handler mu4=
e--server-filter] 1 [re-search-forward gnus-article-add-buttons-to-head gnu=
s-treat-article gnus-display-mime "#<byte-code-function 132>" gnus-article-=
prepare-display mu4e--view-render-buffer mu4e-view mu4e~headers-view-handle=
r mu4e--server-filter nil nil nil nil nil nil] 1 [split-window-internal spl=
it-window split-window-no-error window--try-to-split-window-in-direction di=
splay-buffer-in-direction display-buffer mu4e-display-buffer mu4e-view mu4e=
~headers-view-handler mu4e--server-filter nil nil nil nil nil nil] 65 [bink=
y--auto-update run-hooks record-window-buffer set-window-buffer window--dis=
play-buffer display-buffer-in-direction display-buffer mu4e-display-buffer =
mu4e-view mu4e~headers-view-handler mu4e--server-filter nil nil nil nil nil=
] 1 [window-resize-apply window-resize mu4e-resize-linked-headers-window ru=
n-hooks mu4e-view mu4e~headers-view-handler mu4e--server-filter nil nil nil=
 nil nil nil nil nil nil] 49 [string-pixel-width mode--line-format-right-al=
ign eval redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil ni=
l nil nil nil nil] 2 [format-mode-line eval redisplay_internal\ \(C\ functi=
on\) nil nil nil nil nil nil nil nil nil nil nil nil nil] 1 [buffer-text-pi=
xel-size string-pixel-width mode--line-format-right-align eval redisplay_in=
ternal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil] 1 [jit=
-lock-context-fontify jit-lock-context--update apply timer-event-handler ni=
l nil nil nil nil nil nil nil nil nil nil nil] 1 [all-completions complete-=
with-action "#<byte-code-function F75>" all-completions orderless--filter o=
rderless-all-completions "#<byte-code-function 163>" funcall let eval "#<by=
te-code-function E41>" "#<byte-code-function E78>" mapc seq-do seq-some com=
pletion--nth-completion] 504 ["#<byte-code-function B74>" all-completions c=
omplete-with-action "#<byte-code-function F75>" all-completions orderless--=
filter orderless-all-completions "#<byte-code-function 163>" funcall let ev=
al "#<byte-code-function E41>" "#<byte-code-function E78>" mapc seq-do seq-=
some] 35 ["#<byte-code-function 6B3>" "#<byte-code-function B74>" all-compl=
etions complete-with-action "#<byte-code-function F75>" all-completions ord=
erless--filter orderless-all-completions "#<byte-code-function 163>" funcal=
l let eval "#<byte-code-function E41>" "#<byte-code-function E78>" mapc seq=
-do] 4 [version-to-list "#<byte-code-function B74>" all-completions complet=
e-with-action "#<byte-code-function F75>" all-completions orderless--filter=
 orderless-all-completions "#<byte-code-function 163>" funcall let eval "#<=
byte-code-function E41>" "#<byte-code-function E78>" mapc seq-do] 1 [comman=
dp "#<byte-code-function 6B3>" "#<byte-code-function B74>" all-completions =
complete-with-action "#<byte-code-function F75>" all-completions orderless-=
-filter orderless-all-completions "#<byte-code-function 163>" funcall let e=
val "#<byte-code-function E41>" "#<byte-code-function E78>" mapc] 23 [trans=
ient-command-completion-not-suffix-only-p "#<byte-code-function 6B3>" "#<by=
te-code-function B74>" all-completions complete-with-action "#<byte-code-fu=
nction F75>" all-completions orderless--filter orderless-all-completions "#=
<byte-code-function 163>" funcall let eval "#<byte-code-function E41>" "#<b=
yte-code-function E78>" mapc] 2 [string-match version-to-list "#<byte-code-=
function B74>" all-completions complete-with-action "#<byte-code-function F=
75>" all-completions orderless--filter orderless-all-completions "#<byte-co=
de-function 163>" funcall let eval "#<byte-code-function E41>" "#<byte-code=
-function E78>" mapc] 3 [gethash vertico-sort-history-length-alpha vertico-=
-recompute vertico--update vertico--exhibit read-from-minibuffer "#<byte-co=
de-function 513>" apply "#<byte-code-function 410>" apply vertico--advice a=
pply completing-read-default completing-read read-extended-command-1 read-e=
xtended-command] 6 [sort "#<byte-code-function B7E>" mapcan vertico-sort-hi=
story-length-alpha vertico--recompute vertico--update vertico--exhibit read=
-from-minibuffer "#<byte-code-function 513>" apply "#<byte-code-function 41=
0>" apply vertico--advice apply completing-read-default completing-read] 1 =
["#<primitive-function string-lessp>" sort "#<byte-code-function B7E>" mapc=
an vertico-sort-history-length-alpha vertico--recompute vertico--update ver=
tico--exhibit read-from-minibuffer "#<byte-code-function 513>" apply "#<byt=
e-code-function 410>" apply vertico--advice apply completing-read-default] =
2 [delete-consecutive-dups vertico--recompute vertico--update vertico--exhi=
bit read-from-minibuffer "#<byte-code-function 513>" apply "#<byte-code-fun=
ction 410>" apply vertico--advice apply completing-read-default completing-=
read read-extended-command-1 read-extended-command byte-code] 2 [where-is-i=
nternal marginalia-annotate-binding marginalia-annotate-command marginalia-=
-cached marginalia--affixate apply "#<byte-code-function 1DC>" "#<byte-code=
-function 1FE>" vertico--affixate vertico--arrange-candidates vertico--exhi=
bit read-from-minibuffer "#<byte-code-function 513>" apply "#<byte-code-fun=
ction 410>" apply] 3 [substitute-command-keys documentation marginalia--fun=
ction-doc marginalia-annotate-command marginalia--cached marginalia--affixa=
te apply "#<byte-code-function 1DC>" "#<byte-code-function 1FE>" vertico--a=
ffixate vertico--arrange-candidates vertico--exhibit read-from-minibuffer "=
#<byte-code-function 513>" apply "#<byte-code-function 410>"] 3 [string-mat=
ch marginalia--affixate apply "#<byte-code-function 1DC>" "#<byte-code-func=
tion 1FE>" vertico--affixate vertico--arrange-candidates vertico--exhibit r=
ead-from-minibuffer "#<byte-code-function 513>" apply "#<byte-code-function=
 410>" apply vertico--advice apply completing-read-default] 1 [generate-new=
-buffer-name generate-new-buffer substitute-command-keys documentation marg=
inalia--function-doc marginalia-annotate-command marginalia--cached margina=
lia--affixate apply "#<byte-code-function 1DC>" "#<byte-code-function 1FE>"=
 vertico--affixate vertico--arrange-candidates vertico--exhibit read-from-m=
inibuffer "#<byte-code-function 513>"] 1 [redisplay_internal\ \(C\ function=
\) read-from-minibuffer "#<byte-code-function 513>" apply "#<byte-code-func=
tion 410>" apply vertico--advice apply completing-read-default completing-r=
ead read-extended-command-1 read-extended-command byte-code call-interactiv=
ely command-execute nil] 61 [truncate-string-to-width mu4e--modeline-quote-=
and-truncate mu4e--modeline-string eval format-mode-line eval redisplay_int=
ernal\ \(C\ function\) read-from-minibuffer "#<byte-code-function 513>" app=
ly "#<byte-code-function 410>" apply vertico--advice apply completing-read-=
default completing-read] 1 [read-from-minibuffer "#<byte-code-function 513>=
" apply "#<byte-code-function 410>" apply vertico--advice apply completing-=
read-default completing-read read-extended-command-1 read-extended-command =
byte-code call-interactively command-execute nil nil] 231 [backward-prefix-=
chars back-to-indentation show-paren--locate-near-paren show-paren--default=
 show-paren-function apply timer-event-handler read-from-minibuffer "#<byte=
-code-function 513>" apply "#<byte-code-function 410>" apply vertico--advic=
e apply completing-read-default completing-read] 1 [redisplay_internal\ \(C=
\ function\) redisplay vertico--update vertico--exhibit read-from-minibuffe=
r "#<byte-code-function 513>" apply "#<byte-code-function 410>" apply verti=
co--advice apply completing-read-default completing-read read-extended-comm=
and-1 read-extended-command byte-code] 75 ["#<byte-code-function AFD>" sort=
 vertico-sort-history-length-alpha vertico--recompute vertico--update verti=
co--exhibit read-from-minibuffer "#<byte-code-function 513>" apply "#<byte-=
code-function 410>" apply vertico--advice apply completing-read-default com=
pleting-read read-extended-command-1] 1 [documentation marginalia--function=
-doc marginalia-annotate-command marginalia--cached marginalia--affixate ap=
ply "#<byte-code-function 683>" "#<byte-code-function E23>" vertico--affixa=
te vertico--arrange-candidates vertico--exhibit read-from-minibuffer "#<byt=
e-code-function 513>" apply "#<byte-code-function 410>" apply] 1 [require g=
lobal-hl-line-highlight read-from-minibuffer "#<byte-code-function 513>" ap=
ply "#<byte-code-function 410>" apply vertico--advice apply completing-read=
-default completing-read read-extended-command-1 read-extended-command byte=
-code call-interactively command-execute] 2 [sort vertico-sort--decorated v=
ertico-sort-history-length-alpha vertico--recompute vertico--update vertico=
--exhibit read-from-minibuffer "#<byte-code-function 513>" apply "#<byte-co=
de-function 410>" apply vertico--advice apply completing-read-default compl=
eting-read read-extended-command-1] 1 [add-text-properties substitute-comma=
nd-keys documentation marginalia--function-doc marginalia-annotate-command =
marginalia--cached marginalia--affixate apply "#<byte-code-function 528>" "=
#<byte-code-function 50A>" vertico--affixate vertico--arrange-candidates ve=
rtico--exhibit read-from-minibuffer "#<byte-code-function 513>" apply] 1 [t=
runcate-string-to-width marginalia--truncate marginalia--documentation marg=
inalia-annotate-command marginalia--cached marginalia--affixate apply "#<by=
te-code-function E4F>" "#<byte-code-function E6D>" vertico--affixate vertic=
o--arrange-candidates vertico--exhibit read-from-minibuffer "#<byte-code-fu=
nction 513>" apply "#<byte-code-function 410>"] 1 [internal-timer-start-idl=
e read-from-minibuffer "#<byte-code-function 513>" apply "#<byte-code-funct=
ion 410>" apply vertico--advice apply completing-read-default completing-re=
ad read-extended-command-1 read-extended-command byte-code call-interactive=
ly command-execute nil] 1 [concat apply vertico--display-candidates vertico=
--exhibit read-from-minibuffer "#<byte-code-function 513>" apply "#<byte-co=
de-function 410>" apply vertico--advice apply completing-read-default compl=
eting-read read-extended-command-1 read-extended-command byte-code] 1 [text=
-quoting-style substitute-command-keys documentation marginalia--function-d=
oc marginalia-annotate-command marginalia--cached marginalia--affixate appl=
y "#<byte-code-function A5C>" "#<byte-code-function A3A>" vertico--affixate=
 vertico--arrange-candidates vertico--exhibit read-from-minibuffer "#<byte-=
code-function 513>" apply] 2 [timer-event-handler read-from-minibuffer "#<b=
yte-code-function 513>" apply "#<byte-code-function 410>" apply vertico--ad=
vice apply completing-read-default completing-read read-extended-command-1 =
read-extended-command byte-code call-interactively command-execute nil] 1 [=
"#<byte-code-function D88>" buffer-match-p show-paren--enabled-p show-paren=
-function apply timer-event-handler read-from-minibuffer "#<byte-code-funct=
ion 513>" apply "#<byte-code-function 410>" apply vertico--advice apply com=
pleting-read-default completing-read read-extended-command-1] 1 [replace-bu=
ffer-in-windows kill-buffer "#<byte-code-function 765>" substitute-command-=
keys documentation marginalia--function-doc marginalia-annotate-command mar=
ginalia--cached marginalia--affixate apply "#<byte-code-function 443>" "#<b=
yte-code-function 15D1>" vertico--affixate vertico--arrange-candidates vert=
ico--exhibit read-from-minibuffer] 1 [format vertico--format-count vertico-=
-display-count vertico--exhibit read-from-minibuffer "#<byte-code-function =
513>" apply "#<byte-code-function 410>" apply vertico--advice apply complet=
ing-read-default completing-read read-extended-command-1 read-extended-comm=
and byte-code] 1 [binky--auto-update run-hooks read-from-minibuffer "#<byte=
-code-function 513>" apply "#<byte-code-function 410>" apply vertico--advic=
e apply completing-read-default completing-read read-extended-command-1 rea=
d-extended-command byte-code call-interactively command-execute] 1 [window-=
normalize-window window-min-size frame-windows-min-size read-from-minibuffe=
r "#<byte-code-function 513>" apply "#<byte-code-function 410>" apply verti=
co--advice apply completing-read-default completing-read read-extended-comm=
and-1 read-extended-command byte-code call-interactively] 1 [window--min-si=
ze-1 window--min-size-1 window-min-size frame-windows-min-size read-from-mi=
nibuffer "#<byte-code-function 513>" apply "#<byte-code-function 410>" appl=
y vertico--advice apply completing-read-default completing-read read-extend=
ed-command-1 read-extended-command byte-code] 1 [window-normalize-window wi=
ndow-preserved-size window--preserve-size window--size-fixed-1 window-size-=
fixed-p window--min-size-1 window--min-size-1 window-min-size frame-windows=
-min-size read-from-minibuffer "#<byte-code-function 513>" apply "#<byte-co=
de-function 410>" apply vertico--advice apply] 1 [delete add-to-history rea=
d-from-minibuffer "#<byte-code-function 513>" apply "#<byte-code-function 4=
10>" apply vertico--advice apply completing-read-default completing-read re=
ad-extended-command-1 read-extended-command byte-code call-interactively co=
mmand-execute] 1)) (26631 22206 483941 794000) nil]

--=-=-=
Content-Type: text/plain
Content-Disposition: attachment; filename=profiler-patched.txt
Content-Transfer-Encoding: quoted-printable


[profiler-profile "28.1" cpu #s(hash-table test equal data ([redisplay_inte=
rnal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil n=
il nil] 161 [format-mode-line eval redisplay_internal\ \(C\ function\) nil =
nil nil nil nil nil nil nil nil nil nil nil nil] 1 [nil nil nil nil nil nil=
 nil nil nil nil nil nil nil nil nil nil] 99 [frame-parameter tab-bar-tabs =
tab-bar--current-tab-find tab-bar--current-tab assq cdr format eval format-=
mode-line mode--line-format-right-align eval redisplay_internal\ \(C\ funct=
ion\) nil nil nil nil] 1 [mu4e~headers-update-handler mu4e-view mu4e~header=
s-view-handler mu4e--server-filter nil nil nil nil nil nil nil nil nil nil =
nil nil] 1 [gnus-parse-format gnus-update-format-specifications gnus-articl=
e-mode mu4e-view-mode mu4e-get-view-buffer mu4e-view mu4e~headers-view-hand=
ler mu4e--server-filter nil nil nil nil nil nil nil nil] 1 [insert-file-con=
tents insert-file-contents-literally mu4e-view mu4e~headers-view-handler mu=
4e--server-filter nil nil nil nil nil nil nil nil nil nil nil] 1 [article-r=
emove-cr mu4e-view mu4e~headers-view-handler mu4e--server-filter nil nil ni=
l nil nil nil nil nil nil nil nil nil] 2 [detect-coding-region mu4e--view-r=
ender-buffer mu4e-view mu4e~headers-view-handler mu4e--server-filter nil ni=
l nil nil nil nil nil nil nil nil nil] 1 [article-decode-encoded-words run-=
hooks mu4e--view-render-buffer mu4e-view mu4e~headers-view-handler mu4e--se=
rver-filter nil nil nil nil nil nil nil nil nil nil] 1 [decode-coding-strin=
g rfc2047-decode-encoded-words rfc2047-decode-region mail-decode-encoded-ad=
dress-region article-decode-encoded-words run-hooks mu4e--view-render-buffe=
r mu4e-view mu4e~headers-view-handler mu4e--server-filter nil nil nil nil n=
il nil] 1 [rfc2047-decode-region mail-decode-encoded-address-region article=
-decode-encoded-words run-hooks mu4e--view-render-buffer mu4e-view mu4e~hea=
ders-view-handler mu4e--server-filter nil nil nil nil nil nil nil nil] 1 [c=
har-equal rfc2047-decode-encoded-words mail-decode-encoded-word-region arti=
cle-decode-encoded-words run-hooks mu4e--view-render-buffer mu4e-view mu4e~=
headers-view-handler mu4e--server-filter nil nil nil nil nil nil nil] 1 [qu=
oted-printable-decode-string rfc2047-decode-encoded-words mail-decode-encod=
ed-word-region article-decode-encoded-words run-hooks mu4e--view-render-buf=
fer mu4e-view mu4e~headers-view-handler mu4e--server-filter nil nil nil nil=
 nil nil nil] 6 [mail-decode-encoded-word-region article-decode-encoded-wor=
ds run-hooks mu4e--view-render-buffer mu4e-view mu4e~headers-view-handler m=
u4e--server-filter nil nil nil nil nil nil nil nil nil] 1 [mail-extract-add=
ress-components mm-dissect-buffer mm-dissect-multipart mm-dissect-buffer gn=
us-display-mime "#<byte-code-function 45A>" gnus-article-prepare-display mu=
4e--view-render-buffer mu4e-view mu4e~headers-view-handler mu4e--server-fil=
ter nil nil nil nil nil] 1 [mm-shr mm-inline-text-html mm-display-inline mm=
-display-part gnus-mime-display-alternative gnus-mime-display-part gnus-dis=
play-mime "#<byte-code-function 45A>" gnus-article-prepare-display mu4e--vi=
ew-render-buffer mu4e-view mu4e~headers-view-handler mu4e--server-filter ni=
l nil nil] 4 [quoted-printable-decode-region mm-decode-content-transfer-enc=
oding mm-shr mm-inline-text-html mm-display-inline mm-display-part gnus-mim=
e-display-alternative gnus-mime-display-part gnus-display-mime "#<byte-code=
-function 45A>" gnus-article-prepare-display mu4e--view-render-buffer mu4e-=
view mu4e~headers-view-handler mu4e--server-filter nil] 3 [shr-parse-style =
shr-descend shr-tag-body shr-descend shr-tag-html shr-descend shr-insert-do=
cument mm-shr mm-inline-text-html mm-display-inline mm-display-part gnus-mi=
me-display-alternative gnus-mime-display-part gnus-display-mime "#<byte-cod=
e-function 45A>" gnus-article-prepare-display] 1 [shr-render-td-1 shr-rende=
r-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-desc=
end shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-tab=
le shr-tag-table-1 shr-tag-table shr-descend shr-descend] 1 [binky--regexp-=
match binky--exclude-regexp-p funcall "#<byte-code-function 802>" mapc seq-=
do seq-some binky--auto-update record-window-buffer shr-render-td-1 shr-ren=
der-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-de=
scend] 1 [shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-=
td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-=
table shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-=
1 shr-make-table] 1 [shr-urlify shr-tag-a shr-descend shr-tag-span shr-desc=
end shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-tab=
le shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1 sh=
r-render-td] 1 [shr-insert-table shr-tag-table-1 shr-tag-table shr-descend =
shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table s=
hr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-re=
nder-td shr-make-table-1] 2 [set-window-configuration "#<byte-code-function=
 1FF>" shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-ta=
g-table-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-render-=
td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table] 3 ["#<byt=
e-code-function 0BA>" mapc seq-do seq-some binky--auto-update run-hooks set=
-window-configuration "#<byte-code-function 708>" shr-render-td-1 shr-rende=
r-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-desc=
end shr-descend] 1 ["#<byte-code-function 78E>" mapc seq-do seq-some binky-=
-auto-update record-window-buffer shr-render-td-1 shr-render-td shr-make-ta=
ble-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-descend =
shr-render-td-1 shr-render-td] 1 [shr-insert shr-descend shr-render-td-1 sh=
r-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table s=
hr-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-m=
ake-table shr-tag-table-1 shr-tag-table] 1 [shr-pixel-buffer-width shr-rend=
er-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-t=
ag-table shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-tab=
le-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend] 4 ["#<byte-c=
ode-function 888>" color-name-to-rgb shr-color-visible shr-color-check shr-=
colorize-region shr-descend shr-render-td-1 shr-render-td shr-make-table-1 =
shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-re=
nder-td-1 shr-render-td] 1 [shr-vertical-motion shr-fill-line shr-fill-line=
s shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-tab=
le-1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-render-td sh=
r-make-table-1 shr-make-table shr-tag-table-1] 2 [textsec-restriction-level=
 textsec-ascii-confusable-p textsec-domain-suspicious-p textsec-url-suspici=
ous-p textsec-suspicious-p shr-tag-a shr-descend shr-descend shr-render-td-=
1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-tab=
le shr-descend shr-descend] 1 [url-generic-parse-url shr-urlify shr-tag-a s=
hr-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-m=
ake-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-=
td-1 shr-render-td shr-make-table-1] 1 [color-cie-de2000 shr-color-visible =
shr-color-check shr-colorize-region shr-insert-table shr-tag-table-1 shr-ta=
g-table shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-tabl=
e-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend] 1 [binky--reg=
exp-match binky--exclude-regexp-p funcall "#<byte-code-function 02B>" mapc =
seq-do seq-some binky--auto-update run-hooks set-window-configuration "#<by=
te-code-function 2C4>" shr-render-td-1 shr-render-td shr-make-table-1 shr-m=
ake-table shr-tag-table-1] 1 [binky--auto-update run-hooks set-window-confi=
guration "#<byte-code-function FCA>" shr-render-td-1 shr-render-td shr-make=
-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-desce=
nd shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table] 2 [shr-pi=
xel-buffer-width shr-render-td-1 shr-render-td shr-make-table-1 shr-make-ta=
ble shr-tag-table-1 shr-tag-table shr-descend shr-tag-body shr-descend shr-=
tag-html shr-descend shr-insert-document mm-shr mm-inline-text-html mm-disp=
lay-inline] 3 [binky--auto-update record-window-buffer shr-render-td-1 shr-=
render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr=
-descend shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-mak=
e-table shr-tag-table-1 shr-tag-table] 1 [pixel-fill-find-fill-point shr-fi=
ll-line shr-fill-lines shr-render-td-1 shr-render-td shr-make-table-1 shr-m=
ake-table shr-tag-table-1 shr-tag-table shr-descend shr-descend shr-render-=
td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1] 1 [func=
all "#<byte-code-function F89>" mapc seq-do seq-some binky--auto-update run=
-hooks set-window-configuration "#<byte-code-function C23>" shr-render-td-1=
 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-tabl=
e shr-descend] 1 [color-cie-de2000 shr-color-visible shr-color-check shr-co=
lorize-region shr-descend shr-tag-a shr-descend shr-descend shr-render-td-1=
 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-tabl=
e shr-descend shr-descend] 1 [generate-new-buffer url-generic-parse-url tex=
tsec-link-suspicious-p textsec-suspicious-p shr-tag-a shr-descend shr-desce=
nd shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-ta=
ble-1 shr-tag-table shr-descend shr-descend shr-render-td-1] 1 ["#<native-c=
omp-function F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_16>" mapc s=
eq-do textsec-domain-suspicious-p textsec-url-suspicious-p textsec-suspicio=
us-p shr-tag-a shr-descend shr-descend shr-render-td-1 shr-render-td shr-ma=
ke-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend] 1 [bin=
ky--auto-update record-window-buffer shr-render-td-1 shr-render-td shr-make=
-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-tag-b=
ody shr-descend shr-tag-html shr-descend shr-insert-document mm-shr mm-inli=
ne-text-html] 1 [split-string shr-parse-style shr-render-td-1 shr-render-td=
 shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend =
shr-descend shr-render-td-1 shr-render-td shr-make-table-1 shr-make-table s=
hr-tag-table-1 shr-tag-table] 1 [color-cie-de2000 shr-color-visible shr-col=
or-check shr-colorize-region shr-descend shr-descend shr-render-td-1 shr-re=
nder-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table shr-d=
escend shr-descend shr-render-td-1 shr-render-td] 1 [string-trim-right stri=
ng-trim shr-expand-url shr-tag-a shr-descend shr-descend shr-render-td-1 sh=
r-render-td shr-make-table-1 shr-make-table shr-tag-table-1 shr-tag-table s=
hr-descend shr-descend shr-render-td-1 shr-render-td] 1 [url-generic-parse-=
url textsec-link-suspicious-p textsec-suspicious-p shr-tag-a shr-descend sh=
r-tag-span shr-descend shr-descend shr-render-td-1 shr-render-td shr-make-t=
able-1 shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-descend=
] 1 [shr-make-table shr-tag-table-1 shr-tag-table shr-descend shr-descend s=
hr-render-td-1 shr-render-td shr-make-table-1 shr-make-table shr-tag-table-=
1 shr-tag-table shr-descend shr-descend shr-render-td-1 shr-render-td shr-m=
ake-table-1] 1 [shr-colorize-region shr-descend shr-tag-html shr-descend sh=
r-insert-document mm-shr mm-inline-text-html mm-display-inline mm-display-p=
art gnus-mime-display-alternative gnus-mime-display-part gnus-display-mime =
"#<byte-code-function 45A>" gnus-article-prepare-display mu4e--view-render-=
buffer mu4e-view] 1 [shr-vertical-motion shr-fill-line shr-fill-lines shr-i=
nsert-document mm-shr mm-inline-text-html mm-display-inline mm-display-part=
 gnus-mime-display-alternative gnus-mime-display-part gnus-display-mime "#<=
byte-code-function 45A>" gnus-article-prepare-display mu4e--view-render-buf=
fer mu4e-view mu4e~headers-view-handler] 1 [gnus-cite-parse gnus-cite-parse=
-wrapper gnus-cite-parse-maybe gnus-article-highlight-citation gnus-treat-a=
rticle gnus-mime-display-alternative gnus-mime-display-part gnus-display-mi=
me "#<byte-code-function 45A>" gnus-article-prepare-display mu4e--view-rend=
er-buffer mu4e-view mu4e~headers-view-handler mu4e--server-filter nil nil] =
1 [message-next-header sort-build-lists sort-subr message-sort-headers-1 ar=
ticle-hide-headers gnus-article-maybe-hide-headers gnus-treat-article gnus-=
display-mime "#<byte-code-function 45A>" gnus-article-prepare-display mu4e-=
-view-render-buffer mu4e-view mu4e~headers-view-handler mu4e--server-filter=
 nil nil] 1 [gnus-article-highlight-headers gnus-treat-article "#<byte-code=
-function 45A>" gnus-article-prepare-display mu4e--view-render-buffer mu4e-=
view mu4e~headers-view-handler mu4e--server-filter nil nil nil nil nil nil =
nil nil] 1 [split-window-internal split-window split-window-no-error window=
--try-to-split-window-in-direction display-buffer-in-direction display-buff=
er mu4e-display-buffer mu4e-view mu4e~headers-view-handler mu4e--server-fil=
ter nil nil nil nil nil nil] 56 [binky--regexp-match binky--exclude-regexp-=
p funcall "#<byte-code-function 147>" mapc seq-do seq-some binky--auto-upda=
te record-window-buffer set-window-buffer window--display-buffer display-bu=
ffer-in-direction display-buffer mu4e-display-buffer mu4e-view mu4e~headers=
-view-handler] 1 [window-resize mu4e-resize-linked-headers-window run-hooks=
 mu4e-view mu4e~headers-view-handler mu4e--server-filter nil nil nil nil ni=
l nil nil nil nil nil] 49 [window-frame mode-line-default-help-echo redispl=
ay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil ni=
l nil] 1 [propertize if "#<interpreted-function 3DD>" mapcar let* concat pr=
ogn if when eval redisplay_internal\ \(C\ function\) nil nil nil nil nil] 1=
 [format-mode-line mode--line-format-right-align eval redisplay_internal\ \=
(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil] 1 [rectangl=
e--unhighlight-for-redisplay apply "#<advice DA7>" redisplay--update-region=
-highlight run-hook-with-args redisplay--pre-redisplay-functions redisplay_=
internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil] 1 [read-from=
-minibuffer "#<byte-code-function 20D>" apply "#<byte-code-function FA6>" a=
pply vertico--advice apply completing-read-default completing-read read-ext=
ended-command-1 read-extended-command byte-code call-interactively command-=
execute nil nil] 153 ["#<byte-code-function 42E>" "#<byte-code-function 7C5=
>" all-completions complete-with-action "#<byte-code-function 25D>" orderle=
ss--filter orderless-all-completions "#<byte-code-function 648>" funcall le=
t eval "#<byte-code-function 709>" "#<byte-code-function 730>" mapc seq-do =
seq-some] 9 [version-to-list "#<byte-code-function 7C5>" all-completions co=
mplete-with-action "#<byte-code-function 25D>" orderless--filter orderless-=
all-completions "#<byte-code-function 648>" funcall let eval "#<byte-code-f=
unction 709>" "#<byte-code-function 730>" mapc seq-do seq-some] 5 [commandp=
 "#<byte-code-function 42E>" "#<byte-code-function 7C5>" all-completions co=
mplete-with-action "#<byte-code-function 25D>" orderless--filter orderless-=
all-completions "#<byte-code-function 648>" funcall let eval "#<byte-code-f=
unction 709>" "#<byte-code-function 730>" mapc seq-do] 13 ["#<byte-code-fun=
ction 7C5>" all-completions complete-with-action "#<byte-code-function 25D>=
" orderless--filter orderless-all-completions "#<byte-code-function 648>" f=
uncall let eval "#<byte-code-function 709>" "#<byte-code-function 730>" map=
c seq-do seq-some completion--nth-completion] 26 [gethash oclosure-interact=
ive-form interactive-form commandp "#<byte-code-function 42E>" "#<byte-code=
-function 7C5>" all-completions complete-with-action "#<byte-code-function =
25D>" orderless--filter orderless-all-completions "#<byte-code-function 648=
>" funcall let eval "#<byte-code-function 709>"] 1 [all-completions complet=
e-with-action "#<byte-code-function 25D>" orderless--filter orderless-all-c=
ompletions "#<byte-code-function 648>" funcall let eval "#<byte-code-functi=
on 709>" "#<byte-code-function 730>" mapc seq-do seq-some completion--nth-c=
ompletion "#<byte-code-function 014>"] 287 [transient-command-completion-no=
t-suffix-only-p "#<byte-code-function 42E>" "#<byte-code-function 7C5>" all=
-completions complete-with-action "#<byte-code-function 25D>" orderless--fi=
lter orderless-all-completions "#<byte-code-function 648>" funcall let eval=
 "#<byte-code-function 709>" "#<byte-code-function 730>" mapc seq-do] 1 ["#=
<byte-code-function CAC>" apply "#<advice 751>" nerd-icons-completion-compl=
etion-metadata-get apply completion-metadata-get vertico--metadata-get vert=
ico--sort-function vertico--recompute vertico--update vertico--exhibit read=
-from-minibuffer "#<byte-code-function 20D>" apply "#<byte-code-function FA=
6>" apply] 1 [vertico-sort-history-length-alpha vertico--recompute vertico-=
-update vertico--exhibit read-from-minibuffer "#<byte-code-function 20D>" a=
pply "#<byte-code-function FA6>" apply vertico--advice apply completing-rea=
d-default completing-read read-extended-command-1 read-extended-command byt=
e-code] 4 ["#<primitive-function string-lessp>" "#<native-comp-function F61=
6e6f6e796d6f75732d6c616d626461_anonymous_lambda_6>" vertico-sort-history-le=
ngth-alpha vertico--recompute vertico--update vertico--exhibit read-from-mi=
nibuffer "#<byte-code-function 20D>" apply "#<byte-code-function FA6>" appl=
y vertico--advice apply completing-read-default completing-read read-extend=
ed-command-1] 4 [vertico--recompute vertico--update vertico--exhibit read-f=
rom-minibuffer "#<byte-code-function 20D>" apply "#<byte-code-function FA6>=
" apply vertico--advice apply completing-read-default completing-read read-=
extended-command-1 read-extended-command byte-code call-interactively] 1 ["=
#<byte-code-function 99A>" marginalia--function-doc marginalia-annotate-com=
mand marginalia--cached marginalia--affixate apply "#<byte-code-function D8=
B>" "#<byte-code-function DA9>" vertico--affixate vertico--arrange-candidat=
es vertico--exhibit read-from-minibuffer "#<byte-code-function 20D>" apply =
"#<byte-code-function FA6>" apply] 1 [text-quoting-style substitute-command=
-keys documentation marginalia--function-doc marginalia-annotate-command ma=
rginalia--cached marginalia--affixate apply "#<byte-code-function D8B>" "#<=
byte-code-function DA9>" vertico--affixate vertico--arrange-candidates vert=
ico--exhibit read-from-minibuffer "#<byte-code-function 20D>" apply] 1 [red=
isplay_internal\ \(C\ function\) read-from-minibuffer "#<byte-code-function=
 20D>" apply "#<byte-code-function FA6>" apply vertico--advice apply comple=
ting-read-default completing-read read-extended-command-1 read-extended-com=
mand byte-code call-interactively command-execute nil] 63 [redisplay_intern=
al\ \(C\ function\) redisplay vertico--update vertico--exhibit read-from-mi=
nibuffer "#<byte-code-function 20D>" apply "#<byte-code-function FA6>" appl=
y vertico--advice apply completing-read-default completing-read read-extend=
ed-command-1 read-extended-command byte-code] 25 [symbol-name "#<byte-code-=
function 021>" all-completions complete-with-action "#<byte-code-function 2=
5D>" orderless--filter orderless-all-completions "#<byte-code-function C8D>=
" funcall let eval "#<byte-code-function 480>" "#<byte-code-function E44>" =
mapc seq-do seq-some] 1 [orderless-all-completions "#<byte-code-function C8=
D>" funcall let eval "#<byte-code-function 480>" "#<byte-code-function E44>=
" mapc seq-do seq-some completion--nth-completion "#<byte-code-function 014=
>" apply completion-all-completions vertico--filter-completions vertico--re=
compute] 1 ["#<native-comp-function F616e6f6e796d6f75732d6c616d626461_anony=
mous_lambda_6>" vertico-sort-history-length-alpha vertico--recompute vertic=
o--update vertico--exhibit read-from-minibuffer "#<byte-code-function 20D>"=
 apply "#<byte-code-function FA6>" apply vertico--advice apply completing-r=
ead-default completing-read read-extended-command-1 read-extended-command] =
1 [substitute-command-keys documentation marginalia--function-doc marginali=
a-annotate-command marginalia--cached marginalia--affixate apply "#<byte-co=
de-function 1E7>" "#<byte-code-function 1F9>" vertico--affixate vertico--ar=
range-candidates vertico--exhibit read-from-minibuffer "#<byte-code-functio=
n 20D>" apply "#<byte-code-function FA6>"] 2 [completion-metadata-get verti=
co--metadata-get vertico--recompute vertico--update vertico--exhibit read-f=
rom-minibuffer "#<byte-code-function 20D>" apply "#<byte-code-function FA6>=
" apply vertico--advice apply completing-read-default completing-read read-=
extended-command-1 read-extended-command] 1 ["#<byte-code-function E00>" ma=
pcar "#<byte-code-function 203>" vertico--affixate vertico--arrange-candida=
tes vertico--exhibit read-from-minibuffer "#<byte-code-function 20D>" apply=
 "#<byte-code-function FA6>" apply vertico--advice apply completing-read-de=
fault completing-read read-extended-command-1] 1 [completion-metadata-get c=
ompletion--nth-completion "#<byte-code-function 014>" apply completion-all-=
completions vertico--filter-completions vertico--recompute vertico--update =
vertico--exhibit read-from-minibuffer "#<byte-code-function 20D>" apply "#<=
byte-code-function FA6>" apply vertico--advice apply] 1 [marginalia-annotat=
e-binding marginalia-annotate-command marginalia--cached marginalia--affixa=
te apply "#<byte-code-function 7D3>" "#<byte-code-function 7E5>" vertico--a=
ffixate vertico--arrange-candidates vertico--exhibit read-from-minibuffer "=
#<byte-code-function 20D>" apply "#<byte-code-function FA6>" apply vertico-=
-advice] 1 [vertico--display-string "#<byte-code-function F83>" apply "#<by=
te-code-function DEB>" "#<byte-code-function E5C>" apply "#<byte-code-funct=
ion 563>" apply "#<byte-code-function 620>" apply vertico--format-candidate=
 vertico--arrange-candidates vertico--exhibit read-from-minibuffer "#<byte-=
code-function 20D>" apply] 1 [marginalia--affixate apply "#<byte-code-funct=
ion B0C>" "#<byte-code-function B2E>" vertico--affixate vertico--arrange-ca=
ndidates vertico--exhibit read-from-minibuffer "#<byte-code-function 20D>" =
apply "#<byte-code-function FA6>" apply vertico--advice apply completing-re=
ad-default completing-read] 1 [jit-lock-context-fontify jit-lock-context--u=
pdate apply timer-event-handler read-from-minibuffer "#<byte-code-function =
20D>" apply "#<byte-code-function FA6>" apply vertico--advice apply complet=
ing-read-default completing-read read-extended-command-1 read-extended-comm=
and byte-code] 1 [concat apply vertico--display-candidates vertico--exhibit=
 read-from-minibuffer "#<byte-code-function 20D>" apply "#<byte-code-functi=
on FA6>" apply vertico--advice apply completing-read-default completing-rea=
d read-extended-command-1 read-extended-command byte-code] 1 [make-closure =
"#<byte-code-function 563>" apply "#<byte-code-function 620>" apply vertico=
--format-candidate vertico--arrange-candidates vertico--exhibit read-from-m=
inibuffer "#<byte-code-function 20D>" apply "#<byte-code-function FA6>" app=
ly vertico--advice apply completing-read-default] 1 [global-colorful-mode-e=
nable-in-buffer run-hooks run-mode-hooks minibuffer-inactive-mode read-from=
-minibuffer "#<byte-code-function 20D>" apply "#<byte-code-function FA6>" a=
pply vertico--advice apply completing-read-default completing-read read-ext=
ended-command-1 read-extended-command byte-code] 1)) (26631 22320 328868 30=
1000) nil]

--=-=-=
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable



> Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:
>
>> Ihor Radchenko <yantar92@HIDDEN> writes:
>>
>>> I=C3=B1igo Serna <inigoserna@HIDDEN> writes:
>>>
>>>> I attach a profiler report of opening the same HTML email=20
>>>> with=20
>>>> commit
>>>> #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5 reverted (ie, no=20
>>>> memset,=20
>>>>  no
>>>> for-loop either).
>>>
>>> what could provide more datapoints is compiling with -g3 and=20
>>> then
>>> recording perf profile.
>>
>> That and maybe more samples with Emacs' profiler, i.e. run it=20
>> say 100
>> times in a loop.
>
> Could you please also check with this diff?
>
> [2. text/x-patch; xxx.diff]...
>
>
> This kind of assumes that set-window-configuration is called in=20
> a sort
> of tight loop, and that window matrix sizes actually don't=20
> change.

--=-=-=--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Ihor Radchenko <yantar92@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 09:00:02 +0000
Resent-Message-ID: <handler.77961.B77961.174531235027573 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
Cc: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.174531235027573
          (code B ref 77961); Tue, 22 Apr 2025 09:00:02 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 08:59:10 +0000
Received: from localhost ([127.0.0.1]:45343 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u79T9-0007AL-TB
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 04:59:09 -0400
Received: from mout02.posteo.de ([185.67.36.66]:51639)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <yantar92@HIDDEN>)
 id 1u79T5-00078W-GR
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 04:59:05 -0400
Received: from submission (posteo.de [185.67.36.169]) 
 by mout02.posteo.de (Postfix) with ESMTPS id B9431240101
 for <77961 <at> debbugs.gnu.org>; Tue, 22 Apr 2025 10:58:56 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1745312336; bh=c5kSDs99nKyti/GhrRB/+2xnrJWK6ZCPSL9YRgJUL4Q=;
 h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type:
 Content-Transfer-Encoding:From;
 b=T1ymFM8Yf/0Eiy5JRF5NkahxDt9m7WG4b3x9s/wQansooMC4x9/Od/adXv2NRjw9o
 w/xVpeP+SHOhI/haFl0RRHhZSdvc6EbAPNeMD/ysVJi07rVTaEIHKXTkcykDMLgYQR
 w5qgQm5U+GZAwuXDpY8tIGx/w0WNg3mgghAW2UBG5m2ajEicJS5tpGC3xFNmhH0SLI
 awNiZgllWEkfXGyMeLkjHGkU3Rqpsp4KPLBa/8wgIk2yqod2/BWYtGaFT2+tOcuoaj
 gO7qT7mlC9xenyKLNCAr6AxZSfvF9iuB9UrWIymPoLU2JlAahVi8JpVDhK4us/bJAW
 E5EYmWf30TdOw==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4Zhbkj623dz9rxG;
 Tue, 22 Apr 2025 10:58:53 +0200 (CEST)
From: Ihor Radchenko <yantar92@HIDDEN>
In-Reply-To: <87y0vsy3ti.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN> <877c3czmc9.fsf@HIDDEN>
 <87fri0fy8s.fsf@localhost> <m27c3cabi3.fsf@HIDDEN>
 <m2zfg88vyl.fsf@HIDDEN> <87y0vsy3ti.fsf@HIDDEN>
Date: Tue, 22 Apr 2025 08:58:03 +0000
Message-ID: <877c3cfu90.fsf@localhost>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
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 (---)

I=C3=B1igo Serna <inigoserna@HIDDEN> writes:

> I attach 2 profiler reports:
> - first: with -g3, without native compilation, and without this=20
>   patch

I think there was a confusion. I did not mean M-x profiler report for
-g3, but GNU perf's profile:
perf record -p <emacs pid>
...
C-c
perf report

--=20
Ihor Radchenko // yantar92,
Org mode maintainer,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 09:30:10 +0000
Resent-Message-ID: <handler.77961.B77961.174531418712463 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
Cc: Ihor Radchenko <yantar92@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.174531418712463
          (code B ref 77961); Tue, 22 Apr 2025 09:30:10 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 09:29:47 +0000
Received: from localhost ([127.0.0.1]:45631 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u79wn-0003Eg-Tv
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 05:29:46 -0400
Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]:49284)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u79wl-0003Dg-It
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 05:29:44 -0400
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cfdc2c8c9so27500345e9.2
 for <77961 <at> debbugs.gnu.org>; Tue, 22 Apr 2025 02:29:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745314177; x=1745918977; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=3w5abR5gaJuIVayi5+RS4YcDnFYvV0m9yoTa1OQGsBI=;
 b=Ny+ldUfdBgz1fY5X5oljGetPyjR2neOfuWgxPdOCQprk75Zv7SCNRCQtEQTPyUQqEJ
 r0SzMdYuE/odLz0TySTSUUqNrwnDsGNLuFWv06PPc3qhsbe5hL+xM+UN+zXPR+NaFJYm
 Kvs//V+ux4TaasT7Oxh1SfMpOURt7svd4ISjd+3fX4nIxHWpzVHxmIvujgFqucGAQy3X
 Fzh9ASyTwrsAOE1zBvCIZr1dcZmmqmgWrSlwpGA87Ngm3SW6JL9CruEgES/NUhXTk9Q6
 rTlT+OfayF+r2o1iyr0hC2E0F69rK8sXfWZq5a7fTM8waLgfFEHd2dfUOadvuzokE7pg
 f5FA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745314177; x=1745918977;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=3w5abR5gaJuIVayi5+RS4YcDnFYvV0m9yoTa1OQGsBI=;
 b=nGwC1VjiSb7UUuOB5hJLeAYQMAautHBhi8uk6TP+bcwmkXy4746NXu5dEQ1SjsUaJj
 egb9GW/n9NkeTQlJDvYSKFODC6a5TRDBfOZcll2pUVF+LF5yIhn+iDpvKaH1fDMj2sLR
 YrsrpsUwqOYllAFZxwHPYvZx/Fv1ncj4Du8TXWhSzJxcJLDkqL7wZkqy1QE36BRAtnzd
 ryhtshGnyxobD4uD9luDIp9Dh1yqW/S0PRAT3LqFskHgMK/kDwkcmcQsg/iJw6Nr4OCP
 BUEN58M5UFcADNbNxewWelaPQnJPEep0rQW/aeDjzNcNLo+joClqTmdBn/K9m/a2GhKp
 mfFg==
X-Forwarded-Encrypted: i=1;
 AJvYcCV6OsjNQOS1PI++KF18iFEXeeegmyHVhQJhcAI1oF7UkOrUyZaAhvbfYbIYGt6qqmrNuxE1pg==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yy7iYrSfkc9Qh8VeAZl5iSQVtChfio8yCHO021yi9THShmgTz3Q
 bsyWCOJeIqFVdMdczfHYe+KP33QiMNbn2CXkbUDvnf/kTcjVD0V1TO2/oA==
X-Gm-Gg: ASbGncuacQWcQSRAdIBc611cvVjuF/NLucxzx50R4/rJ5q28Fv4iDH5eN3Pk6P0lTM1
 BLQCw6dinB9ioJAqTE7rcom408Ou+C/k6iM1gvMrhAeLkMuO8qO1HJ5NxUg+jpWythJkTqxfTAd
 pDzfQinBSDKindoF+32Od/B+0fqGZOfDXtrv1u9KYbIg/++QaCVTkFcR2wl9VTWmdOhzja6QLcH
 ob+25/NDGL7yvw3IqCzFaGysQf5yt9S39WpIAfLtbriduR/wRKZD0QUl7pPYKok+ryqMsVK8f7G
 jZ5xaQWLGZypQkE/CxGaynJ8IwSADG6Mg3x213BGG/55B/gh0TDeij36UOaXBjdC22MC/gABrlW
 iGwp0mUDCB7IC1dxYt+MlBjclsWEn3yFZgSn8w2KMBT0y
X-Google-Smtp-Source: AGHT+IFiSS0mdG87kqjb13MGVY1YkJUmCWqaZ3MWywMZ8uAJJq+iwRJerNXgydY/uXM4Of3lPeLS2w==
X-Received: by 2002:a05:600c:4f8a:b0:43c:fe15:41d4 with SMTP id
 5b1f17b1804b1-4406aba7ebfmr142094625e9.18.1745314176775; 
 Tue, 22 Apr 2025 02:29:36 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4408c7d6ccdsm10627525e9.0.2025.04.22.02.29.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Apr 2025 02:29:36 -0700 (PDT)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <87y0vsy3ti.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN> <877c3czmc9.fsf@HIDDEN>
 <87fri0fy8s.fsf@localhost> <m27c3cabi3.fsf@HIDDEN>
 <m2zfg88vyl.fsf@HIDDEN> <87y0vsy3ti.fsf@HIDDEN>
Date: Tue, 22 Apr 2025 11:29:35 +0200
Message-ID: <m2ikmwee80.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
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.0 (-)

I=C3=B1igo Serna <inigoserna@HIDDEN> writes:

> On 22 April 2025 at 10:02 +02, Gerd M=C3=B6llmann
> <gerd.moellmann@HIDDEN> wrote:
>
>> Could you please also check with this diff?
>
> This patch solves the problem completely!
> I don't know if it's placebo effect but I'd say the rendering is even
> faster than before.

No placebo. The code is this:

dispnew.c:
  496       if (dim.width > matrix->matrix_w

Translate into plain English: If the matrix width has changed, or

  497           || new_rows

the height has changed,=20

  498           || tab_line_changed_p
  499           || header_line_changed_p
  500           || marginal_areas_changed_p)

or some other stuff has changed.

  501         {
  502           struct glyph_row *row =3D matrix->rows;
  503           struct glyph_row *end =3D row + matrix->rows_allocated;
  504
  505           while (row < end)
  506             {

  For all rows of the matrix

  507               if (dim.width > matrix->matrix_w || new_rows)
  508                 {
  509                   row->glyphs[LEFT_MARGIN_AREA]
  510                     =3D xnrealloc (row->glyphs[LEFT_MARGIN_AREA],
  511                                  dim.width, sizeof (struct glyph));
  512                   /* We actually need to clear only the 'frame' membe=
r, but
  513                      it's easier to clear everything.  */
  514                   memset (row->glyphs[LEFT_MARGIN_AREA], 0,
  515                           dim.width * sizeof (struct glyph));

Realloc and memset

  516                 }
  517=20

Realloc and msmset are only necessary when the matrix was made larger.
Under some conditions in the if above this is not the case. And it got
faster than before because avoid the realloc too when the matrix
dimensions were actually not enlarged.

Everything not a problem, unless someone triggers matrix adjustments
really really frequently. And that's what apparently happens somewhere
in this rendering thing.

(Might be considered a performance bug in shr-, but I don't know if
there's maybe a reason for that. Might be worth reporting, but anyway, I
don't want be dragged into that :-).)

>
> I attach 2 profiler reports:
> - first: with -g3, without native compilation, and without this
>   patch
> - second: one with my usual compilation flags, native compilation,
>   and patch applied
>
>
> Again, thanks a lot for the attention and for solving the problem,
> I=C3=B1igo Serna

Thanks for the report and for testing it!

I'll push something soon.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 09:42:07 +0000
Resent-Message-ID: <handler.77961.B77961.174531487918416 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
Cc: Ihor Radchenko <yantar92@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.174531487918416
          (code B ref 77961); Tue, 22 Apr 2025 09:42:07 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 09:41:19 +0000
Received: from localhost ([127.0.0.1]:45809 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7A7y-0004my-Qo
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 05:41:19 -0400
Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:50642)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7A7v-0004ma-Pj
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 05:41:16 -0400
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43cef035a3bso33683475e9.1
 for <77961 <at> debbugs.gnu.org>; Tue, 22 Apr 2025 02:41:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745314869; x=1745919669; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=SGxSh7b3o8cS+T+S00sUYDbECTgSOd6qc07k7YYbzhU=;
 b=P0Mz0f0nSwW//1xH9S2Zn5usKUFoKQQ0vV3A90Y1K0Gq+t1PA8ZAg+JddEhvM2AM2n
 f4hDEe/Fi5uG2OU79+yGbdJB33EB9B3i3HE4mTpLZ6dWEtkvKG0yHm0+SWLvYLU7A2BT
 LJcRgGMiBPLC2YjV7flEzigJWcTWGwKZQzzQQViWIvSWdn3InaSCuy/2VWZWCe10keey
 CL/xMu9cOu7YhUxOcMtPCc7uWyoNzkNHD2qe5Rd/Z0JZ0RnxsS5Fc6FMJjasMLJD1DW9
 ATRixCtBM99YI1jt/kgJMEQZsxHBsGpdSExyIN3F4K+cytE8BG4I2s55wottVg/fJ2/G
 8Hcg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745314869; x=1745919669;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=SGxSh7b3o8cS+T+S00sUYDbECTgSOd6qc07k7YYbzhU=;
 b=n6/wRuisfd8G1ogprm47oMmXdKw+ZentBu/S7AZ4IY6GT0Y0TiKkeUHPxxwXBMcMH/
 N8ugmeeFs4W96I5kgjVX9M2N0KoT11pptKWQAow47QTT+HBvshBsk6pkA8VEhTcsJWJ2
 o3ejMCrhp7pYvlPA0+jmSlS0pkQDjpBCzbxTXcQTTgt1MzlJkc/GDeHH2obvwkbho1e6
 MWEcgRhV6uLGBjO0gBTSP1FpQb6H1sXltEc3fP1HJwmC1qWE0BZ+AzcpdBo636zD+gVQ
 S2Lgo7Cjgx00dMdjvDP3Tv9w5Ht7dtqECHhC6/pW3vYFdKzTHobHn4aMQ6cTjLVa93Hk
 DErA==
X-Forwarded-Encrypted: i=1;
 AJvYcCXHbtdEN7Ir+lIstG/WpN58tTaFunpzTmOyuuBDOxhyrL1s0bSeZ3gkf8ALsEPpfftYj03jjw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxEWNZKzhFL0mVm5wk4KGet1M99D+Krp28QVyaqZ811AAMUm72B
 +xsrRgz5WUNLdokURqh7CteWIlrGdfWxLd2DD112OBB7M6yjz88mkWu39Q==
X-Gm-Gg: ASbGncuaWHEa3+5AkISTRj8L/zig67ooVGwfrZfG3RGEmzISoXvfFHtKmQGzVSju9M8
 /a20ET4i/vnU4gyDVoj9DqbLMDdd0M29g/tF8rSMUGcaYsLVLVhLL4jJQdMQIJYWDncFdUsCrMw
 /Gj+nVpylBopjbylXyPgepDsCYqoZ0nqN/V7xNGb/9uNo6YdtuecyTg9Mub7XmLoqRQWWdP86JI
 V6Qr2EPj1s10fiGnuvWQ8Q/wgUf9v9VFJTZ+wYYTsoIXOjtJzDLvVmQt52p3ajDYFs1SLbJyMNG
 XrxSdG/3oxyjYbFSwj9/lPxRFk1j//f7RZvWT5wccgUuwWplZVOjEzMWREVaYVw4MTTduKnkjsK
 ffQBOtpMiSmK7UXi3nzs7K4m98DZeBHn6+D0MwWWfS7n4
X-Google-Smtp-Source: AGHT+IGj0E1qGkgmSyA0L7p7tI6/c7QPV4NMI5zUQ75W0w245UlKe4jDMqTPcTVxCr9fRBuZj3C9uA==
X-Received: by 2002:a05:6000:4021:b0:39c:1a86:e473 with SMTP id
 ffacd0b85a97d-39efbb22a85mr11157965f8f.56.1745314869153; 
 Tue, 22 Apr 2025 02:41:09 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa4931e7sm14770306f8f.67.2025.04.22.02.41.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Apr 2025 02:41:08 -0700 (PDT)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <m2ikmwee80.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN> <877c3czmc9.fsf@HIDDEN>
 <87fri0fy8s.fsf@localhost> <m27c3cabi3.fsf@HIDDEN>
 <m2zfg88vyl.fsf@HIDDEN> <87y0vsy3ti.fsf@HIDDEN>
 <m2ikmwee80.fsf@HIDDEN>
Date: Tue, 22 Apr 2025 11:41:07 +0200
Message-ID: <m2fri0edos.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
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.0 (-)

Pushed and closing.

Thanks to Ihor for spotting the culprit!




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


Received: (at control) by debbugs.gnu.org; 22 Apr 2025 09:41:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 22 05:41:27 2025
Received: from localhost ([127.0.0.1]:45816 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7A87-0004nK-AF
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 05:41:27 -0400
Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:60896)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7A84-0004mx-BT
 for control <at> debbugs.gnu.org; Tue, 22 Apr 2025 05:41:24 -0400
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43cf3192f3bso48956745e9.1
 for <control <at> debbugs.gnu.org>; Tue, 22 Apr 2025 02:41:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745314878; x=1745919678; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:subject:from:to:message-id
 :date:from:to:cc:subject:date:message-id:reply-to;
 bh=GExo9awoRbUEikLIpD+PAFzSI8Bsg6awBFKPEksxsDY=;
 b=EQmizl9+dxv9E9Q5uhMQmeo2Y6lye1dW+9atvkEEVKDc3WAWceLfclFbOR1n36FDIF
 p7sSNZQAmq6KVcoXSHEyhW7l2KpU2Zq7dfTyIVoOZPRQgeEaizIp24EmTop9CyGQS6/6
 WFQ7zzBriHj8CmYolARe/zCCcoeYiBLzIFfzDitGWmjeKArSkuX2DQybfodP0rMwj1vY
 +tHlPv+9NGEX86q/KA5eCXRNuMsidoe/YwFJFv++kPTBdIitmoAhcOjsxYz7rPPWgS8f
 qc1sZWrd67gQPKXae99SWxIfgDvJupw5PrRFiuTD6M/mL/bafnJu/QaHMBBOICxDF3LC
 /iHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745314878; x=1745919678;
 h=content-transfer-encoding:mime-version:subject:from:to:message-id
 :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=GExo9awoRbUEikLIpD+PAFzSI8Bsg6awBFKPEksxsDY=;
 b=MjF7qCN24c+NIIgS65SmBUwGTfk5mmYcJ/rQ9XOF7niba57TmboQla/APtK5fcv232
 zgdsRRZEOYfmB8HrsoO6CPKXQBbWKFgUQF50/X0AqV9/S0dHzusj6GuXSi0FC7dT+NgV
 7NfA1tkNDuxqfFtR8IswH6B77BdWtruRMYLsvMBu7/CwVXFYCt8gh75ghhebdfbvZxhN
 xel0bjUW/EV7hOGJmZB00cUkWQOt0NdifwrdKjivgBE9BLc4qyydrCUzwmD4f2Cyj2Kh
 i1U4Gw6CAq3gwZ9Q9RlzbvX1xdthY84M0X3SP9m2VPsDI18rB3l9Yklg7cy1O98oA++r
 xn0A==
X-Gm-Message-State: AOJu0Yz2Q58plqZ0+BdGeXfLVORNDSIhLVwgTwCGH+mhkg28vnqzTMG6
 Yo6Txha5npkZB+re916NMPyhnrR/WiLlXo0yYSDod5coPsHkRC9rXgMfsQ==
X-Gm-Gg: ASbGncsDVb5JIziNr3Ia3l8ZXlP/O6WCQ3SUz6HFL4blhALBsDfQlIBDMBTj/Ln3HS2
 Uz42RouvIv8bd+30E58ADTlrA+Wf3XpzQ1RqZvzhvgEawPrvntvKCsosal0tTCT/V4kmb8EoZ97
 N+KJ3vB+ABjb2aahKhPXLfN4Xvvjkv81jB6biSJXwJ4BkpApyta2OoVG2aZkh8sXbXwZbYyP3hl
 gpiIiLz57C+dxNLI29X1W38PhQcb/oEBjsv5w4eJ6n+CopERJ0nq1ZYfLkO5CSzp+I3l5jkZP80
 FuWmq5j8/m8O8XAnDsKPfsgTGek4V+NoiJlhPxxVA4yOWblRp+6iGNT+pYMgu1fzbWyRksTtS7F
 sZYy9/SxODQqhtApu9hmqhyb9tCfGyq2KaKP1KbO3eHkQ
X-Google-Smtp-Source: AGHT+IGCtDEZJjVJEG6c/CKQ5ruvxZLU/rtQQg89gU7QewoNf4ZPnpImETbJWsDZl+QB+mm6bCmASw==
X-Received: by 2002:a05:600c:1ca0:b0:43c:fcbc:9680 with SMTP id
 5b1f17b1804b1-4406abfa9demr101179095e9.25.1745314877854; 
 Tue, 22 Apr 2025 02:41:17 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa433141sm14727448f8f.35.2025.04.22.02.41.17
 for <control <at> debbugs.gnu.org>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Apr 2025 02:41:17 -0700 (PDT)
Date: Tue, 22 Apr 2025 11:41:16 +0200
Message-Id: <m2ecxkedoj.fsf@HIDDEN>
To: control <at> debbugs.gnu.org
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Subject: control message for bug #77961
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: 2.0 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.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
 the administrator of that system for details.
 Content preview:  close 77961 31.1 quit 
 Content analysis details:   (2.0 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 -0.0 SPF_PASS               SPF: sender matches SPF record
 0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
 provider (gerd.moellmann[at]gmail.com)
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [2a00:1450:4864:20:0:0:0:329 listed in]
 [list.dnswl.org]
 2.0 MALFORMED_FREEMAIL     Bad headers on message from free email
 service
X-Debbugs-Envelope-To: control
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.0 (+)

close 77961 31.1
quit





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
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: Tue, 22 Apr 2025 12:56:04 +0000
Resent-Message-ID: <handler.77961.B77961.17453265355274 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>, martin rudalics <rudalics@HIDDEN>
Cc: yantar92@HIDDEN, inigoserna@HIDDEN, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.17453265355274
          (code B ref 77961); Tue, 22 Apr 2025 12:56:04 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 12:55:35 +0000
Received: from localhost ([127.0.0.1]:46736 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7D9z-0001Mw-2O
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 08:55:35 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:59192)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u7D9t-0001MY-Jf
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 08:55:32 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u7D9l-0007iy-VN; Tue, 22 Apr 2025 08:55:21 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=uGzNVOVhP2e7WSGbWO9mXWoZbsL7lJ6s0H6sK//Mcvc=; b=iGr1YQKwe6kdjSArMAK0
 deslRv/ouUODnLHOGLXR20u75OFB8giSakmTcJlnAqQ6H8K1KkPGYr2S9jXZvL83iyqQJg5D3Ky8v
 GVUQwFyGRo0sd6G0lvWhXWm43BLV8ULFUcVfScRty/wCGFoxt3dTZpEKZuaFPhxQYQNBYeDONAWsu
 udowiH+DZbRoLwy+sGfylMpYXt2aFYyQkdk4Ep0IC2twAPP84pwXhW4EIlNmBPFOPLXRuPA6mw1ik
 9jtoC0n8IJk19v55jIXNxMoI9fxBDh7DirMyTCWkeI555XpnuEnBBI6yrr7bHorRScLmL47qjySbs
 dKP8y9gsRlno2g==;
Date: Tue, 22 Apr 2025 15:55:18 +0300
Message-Id: <86h62g2w5l.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <m2h62gd631.fsf@HIDDEN> (message from Gerd =?UTF-8?Q?M=C3=B6llmann?= on Tue, 22 Apr 2025 09:10:42 +0200)
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@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: Gerd Möllmann <gerd.moellmann@HIDDEN>
> Cc: Iñigo Serna <inigoserna@HIDDEN>,  Eli Zaretskii
>  <eliz@HIDDEN>,
>   77961 <at> debbugs.gnu.org
> Date: Tue, 22 Apr 2025 09:10:42 +0200
> 
> Ihor Radchenko <yantar92@HIDDEN> writes:
> 
> > Gerd Möllmann <gerd.moellmann@HIDDEN> writes:
> >>>>> I attach a profiler output, and a HTML file which causes a similar
> >>>>> slowdown when opening from eww.
> >>
> >> I'm afraid I don't see much in the profile. Only thing is that that
> >> redisplay_internal isn't called often. Which makes it even weirder that
> >> glyph matrix enlargement should play a role.
> >
> > Looking into reverse call tree (B), I see that
> >
> >         1874  33% + set-window-configuration
> >
> > takes 1/3 of CPU cycles. Looking into its source, it does deal with
> > glyph matrices. So, it is the suspect, judging from the submitted
> > profiler report.
> 
> Thanks, indeed.
> 
> Which I also find weird. Why is that done in the first place?

If the comment in set-window-configuration before it messes with glyph
matrices doesn't answer this question, maybe Martin (CC'ed) can help us
understand the reason?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 12:59:01 +0000
Resent-Message-ID: <handler.77961.B77961.17453266865644 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: martin rudalics <rudalics@HIDDEN>, yantar92@HIDDEN, inigoserna@HIDDEN, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.17453266865644
          (code B ref 77961); Tue, 22 Apr 2025 12:59:01 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 12:58:06 +0000
Received: from localhost ([127.0.0.1]:46761 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7DCQ-0001Sy-Bb
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 08:58:06 -0400
Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:51241)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7DCK-0001Rq-36
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 08:58:03 -0400
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3913b539aabso3101418f8f.2
 for <77961 <at> debbugs.gnu.org>; Tue, 22 Apr 2025 05:58:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745326673; x=1745931473; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=GOpTSMdkgH/YV5DPIMAwSktAUFJqXbxRLYVC/2fKv0Q=;
 b=OKVJGW5OqtqXcY4jlEHeEzqaRd6k+Da9RlXNnZGnEv8f5oSmEVisvJVbrWpPbNZ+Yt
 kd/8BvHCH2Sxzc7MYCO47Bw5iKU8PMkgbfN/t/fTXMZCvDgCMqHiReuSGCP+txNJ87Sg
 OGiMVNMO3HYl0xICja/71dMiajYdqvu7G3OwWUDqKy4YAg7IsIEp7tEEtZWky2Zt0e8u
 htNMxplA42XetAYY04J2+8Sj+Kw3XWVfk1C6ydi48V9oLRA8ViUCkHYZNdXD3pIRSj04
 vpDJM0UB80tLEVjUfIjc+aecL9WRQD5V0koC/jQqq2tQcjgWqwpIKgnfkkv2RpRFaM7B
 nN7g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745326673; x=1745931473;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=GOpTSMdkgH/YV5DPIMAwSktAUFJqXbxRLYVC/2fKv0Q=;
 b=SmQLCh6BsY66UpFPHVzEejo3r0vEfu1dKko1DY9jVMK86F/8A1jCJ2/WkzGQoX5U4T
 xtEywFw18Niknno5cLQAf/dbLyxvTn2t5HCxJJ6h84fVDZrjHoCgbfAa53rZ6Nzoe2J6
 oBGa88jhtoLV3IrqZy33FdH7zIn02M8SITf0fanj+wyy34tCkCDkO+cJDKNx/Ocv6YIw
 4Ctux+3jEezHgF4imqw0AIJm3tOdAuB4+ZhTY+Gi4Z4Add2xGHNFou1LvXbC8Kpk9QeP
 u9HhYnwj0lYMKPreEdlf5OEev8h3Ez29xs82WmzXn5mse/9S7xtk2OJ23ZWQ/8fJkrKg
 t1XQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCWm0ijcZUvH6lV3y9KyF471zcmqM29Rp5M42iu01SM0ArwwdVStIolGQ2Sfq/8UjhOZFn+ynw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yz+IPJ5l6TH7I7D74AAC6wjufUTv2o3gTaGbBJwGUcVdVBj94gH
 vm7NchlsKc88Txaml9KJ5mD2xgDIrRMfZr7Om+yHTKzgZVSFBC7Q3V9XnXm+
X-Gm-Gg: ASbGnctSMSI8BPknOb+VsEnVWxbSLUYzhVNBzMbpzWWFyFkrm1C5/Ynne7cMtHFS4uT
 lgXjDUd+L5UC1Gx8ZvwdlTwvpIabfQOo7QLQVWWjxPoUQ0K3ClQx7JlSQrSDv515MpBUaL3re6t
 823faadzlAjY3YVhefdh11+d9DfJWhHMOr39kz7p8UI9JArpqCG0AjRBHuBOnodKECfw5sSkBKa
 ujhdjbZ1ZREwoZ+4n5Ykf40QLLaYVSoENrlyHVUaVSYWtw6e+yIoTW0/7Z9aaIJsaFYYtWFefwV
 lB3FKAvsOFPMGfs7VXUlkFdioehS4K3L1WdOr8Yyu8rGPlkM43FoVy+OPiNUFRIaqKQgitMn++R
 uS+ZOMcPKJyM51RIkf/+iWNfSv4ELpDRrHredNG4U+nVt
X-Google-Smtp-Source: AGHT+IGFSwmXsssJHaeCn6rpct8Mo7fd0Dn2i5UpLxGKV+a8PRCUAqFAABSThTxGVgIjdviQYr7DuQ==
X-Received: by 2002:a05:6000:2281:b0:39c:1257:c7a3 with SMTP id
 ffacd0b85a97d-39efbb23ac3mr13316262f8f.59.1745326673546; 
 Tue, 22 Apr 2025 05:57:53 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4406d5a9df6sm177841115e9.1.2025.04.22.05.57.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Apr 2025 05:57:52 -0700 (PDT)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <86h62g2w5l.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN> <86h62g2w5l.fsf@HIDDEN>
Date: Tue, 22 Apr 2025 14:57:51 +0200
Message-ID: <m2zfg8xsj4.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
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.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> From: Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN>
>> Cc: I=C3=B1igo Serna <inigoserna@HIDDEN>,  Eli Zaretskii
>>  <eliz@HIDDEN>,
>>   77961 <at> debbugs.gnu.org
>> Date: Tue, 22 Apr 2025 09:10:42 +0200
>>=20
>> Ihor Radchenko <yantar92@HIDDEN> writes:
>>=20
>> > Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:
>> >>>>> I attach a profiler output, and a HTML file which causes a similar
>> >>>>> slowdown when opening from eww.
>> >>
>> >> I'm afraid I don't see much in the profile. Only thing is that that
>> >> redisplay_internal isn't called often. Which makes it even weirder th=
at
>> >> glyph matrix enlargement should play a role.
>> >
>> > Looking into reverse call tree (B), I see that
>> >
>> >         1874  33% + set-window-configuration
>> >
>> > takes 1/3 of CPU cycles. Looking into its source, it does deal with
>> > glyph matrices. So, it is the suspect, judging from the submitted
>> > profiler report.
>>=20
>> Thanks, indeed.
>>=20
>> Which I also find weird. Why is that done in the first place?
>
> If the comment in set-window-configuration before it messes with glyph
> matrices doesn't answer this question, maybe Martin (CC'ed) can help us
> understand the reason?

Thanks, but I meant why does shr so many set-window-configuration calls.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
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: Tue, 22 Apr 2025 12:59:02 +0000
Resent-Message-ID: <handler.77961.B77961.17453266935665 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Cc: yantar92@HIDDEN, inigoserna@HIDDEN, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.17453266935665
          (code B ref 77961); Tue, 22 Apr 2025 12:59:02 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 12:58:13 +0000
Received: from localhost ([127.0.0.1]:46770 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7DCX-0001TI-09
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 08:58:13 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:46172)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u7DCU-0001Sv-Kn
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 08:58:11 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u7DCP-00084J-3X; Tue, 22 Apr 2025 08:58:05 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=zhBR1oHns0ZhJBAFRibJXW5FOD38k8C2B/aIxc71f1I=; b=OTzaLYMoaPLwvvBFu7qQ
 s6YyrLtjPL3cSYGNnXLLdTYGtUO0kiMvRPMDgIRfX1VRZKLaKQM5FLig7nrjFNqWUdgIEqOMhxDt6
 VZqN1j0DuWDRK3L5UGmIXITBXbHuDbfVPkxRMST7ALOYR+MLFilLxp1d0Uavb5t28EFEoA5tXlhR4
 98jRJLHSwFQbSDfGAfIBdnPy5twUOZVgsXt0XStmnOAM+H+P3NguntK/b1HIY2cXdIZq6phAdPLn4
 Uh76K2lEdwpzG1SXob73SAo3VrEePuD9Yvg4PaFE8rU8zVKfjVM0rdIvszbSG+2lsKkHC7KPV1fY7
 xFQ+W55//JayuQ==;
Date: Tue, 22 Apr 2025 15:57:58 +0300
Message-Id: <86fri02w15.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <m2zfg88vyl.fsf@HIDDEN> (message from Gerd =?UTF-8?Q?M=C3=B6llmann?= on Tue, 22 Apr 2025 10:02:58 +0200)
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN> <877c3czmc9.fsf@HIDDEN>
 <87fri0fy8s.fsf@localhost> <m27c3cabi3.fsf@HIDDEN>
 <m2zfg88vyl.fsf@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: Gerd Möllmann <gerd.moellmann@HIDDEN>
> Cc: Iñigo Serna <inigoserna@HIDDEN>,  Eli Zaretskii
>  <eliz@HIDDEN>,
>   77961 <at> debbugs.gnu.org
> Date: Tue, 22 Apr 2025 10:02:58 +0200
> 
> Could you please also check with this diff?
> 
> diff --git a/src/dispnew.c b/src/dispnew.c
> index 24bf975ef9f..40df078aea6 100644
> --- a/src/dispnew.c
> +++ b/src/dispnew.c
> @@ -504,13 +504,16 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y
>  
>  	  while (row < end)
>  	    {
> -	      row->glyphs[LEFT_MARGIN_AREA]
> -		= xnrealloc (row->glyphs[LEFT_MARGIN_AREA],
> -			     dim.width, sizeof (struct glyph));
> -	      /* We actually need to clear only the 'frame' member, but
> -                 it's easier to clear everything.  */
> -	      memset (row->glyphs[LEFT_MARGIN_AREA], 0,
> -		      dim.width * sizeof (struct glyph));
> +	      if (dim.width > matrix->matrix_w || new_rows)
> +		{
> +		  row->glyphs[LEFT_MARGIN_AREA]
> +		    = xnrealloc (row->glyphs[LEFT_MARGIN_AREA],
> +				 dim.width, sizeof (struct glyph));
> +		  /* We actually need to clear only the 'frame' member, but
> +		     it's easier to clear everything.  */
> +		  memset (row->glyphs[LEFT_MARGIN_AREA], 0,
> +			  dim.width * sizeof (struct glyph));
> +		}

This means a very large matrix will not be downsized when possible.
Is that a good idea?  Maybe try replacing '>' with '!=' and see if it
also solves the problem?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 13:06:02 +0000
Resent-Message-ID: <handler.77961.B77961.17453271137036 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: yantar92@HIDDEN, inigoserna@HIDDEN, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.17453271137036
          (code B ref 77961); Tue, 22 Apr 2025 13:06:02 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 13:05:13 +0000
Received: from localhost ([127.0.0.1]:46786 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7DJJ-0001oT-2C
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 09:05:13 -0400
Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]:50363)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7DJE-0001lo-7S
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 09:05:10 -0400
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43690d4605dso41665845e9.0
 for <77961 <at> debbugs.gnu.org>; Tue, 22 Apr 2025 06:05:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745327101; x=1745931901; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=xt0ROQTGL9/kB2Ymo8qYy8zo49aAxZL1kOCkxr8smYE=;
 b=hWtDm3rfzlgJEkCL3llPRqKoJs3dHDTv/Uc6n3RDpECItmihcUz8La94ZeWNJWj2JG
 vuMQmn5CEl6jT76I3vgynNJi/+Fr3wlKyxTnL9S/qDLS6Fv5398MiR2cixZCHXyykVpv
 vt26qD2lSeg1DA8Q5773d+UKSzjL3J1ZFWo7Lkwzy99exj4RI5gstEs6wg3yRwmD4iCv
 IrmnKfworOdAN+jGs14yjbzBUdRp7Vtc0/JOvPtpgBJ2VZJpJ7vc3CRpsP5k6a/B50Ln
 oDxjDOy9f64AeEH3HDNzPDC3hWI1waFM//6uGKkousuZAqeo5nIB5wm6EOzdAImZ7uyh
 xS+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745327101; x=1745931901;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=xt0ROQTGL9/kB2Ymo8qYy8zo49aAxZL1kOCkxr8smYE=;
 b=n4J7PBYZqafSACYulW7snuXdA6+4ViJPIi45KeNutn5NFq+MME1FYxmAY25Le/oF1l
 8Avs7yyfa0rhSwPaWqxqJ/NNLx5I+dtpe9lP5HdYkxuFWsQJiTdm53ZOdeXt9N62uxe9
 ZbhlyiFPHHo1QKfwhZIjpfkwnt7gPfjF9R2RQSKF2ztMk0DaS7D3SR9rV5e+3v+Ghhrr
 wYTJtJ5B9YbvBxjc+Ly9NdIL1yzLbYcGQ3CQtC632+VHfyue1XqNhUzZlzYztwrzRy+y
 a9jH3xZvjtmxh+JjuEGn2dx/WRvWnhs1wR5uUdtHwKNnf4nk5CB1bIQxsfdPJ3v80B4F
 uE4w==
X-Forwarded-Encrypted: i=1;
 AJvYcCVkTRE2chLipew1LnurCgDCdFG/mBbFPNjObGLLWkAtLevz0PX+bLNqJzesI6Hozq2o8HGqjg==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzU6Y3WcapvwRj1iCBhIg+J5AAZkKSVfG8cRK5TSUm3YkfVtkIi
 AfNEy81sFu0xwNcVqE2xx3ub0nU1la5DWKnZUNVdtzaj2LagqkzWpsgsuAaR
X-Gm-Gg: ASbGnct0XpXZ7GW9kGM36F7sBGXJMmwdJPszwxSX9u5M+rWLa+pccBv2mGwITtaA80r
 iQZ+uRJtB5AqvIo16NzMWq4CGlIIaaJuv+tf/WArfLHPqKdrejCgpFbS52bLLKgX+2M1M/xPuZP
 h3x9og52rdnibzPmiI8KdZeltP79uhAsan/FB54wdgMS41YLc654e91OioeCrMWoNrHL0YsNDLH
 /w1QQhjMIL/PznRHsdc2rE4rFJU+Ks3vKU9kKBbnGn/qfGbqe5epxg72g3m/YEvCEn99y9Poj62
 hb2B5Go6VpM2/SbMN1vttk7uIT/agMXPOs7rOoXizszFO5wNCs40CHqjtlEQnZetFj5vJq62dAt
 oS0e7wy5IQGtiT2oKn+I1vHxvxv0VvRJpVmveo9kCFvUV
X-Google-Smtp-Source: AGHT+IGpz0p4tEhYZVxX/N1Rqi3NTfI9HsO+NHrjl3KKuekgEySbWx/OCxFZPVeWfA0pyfywZj/M3w==
X-Received: by 2002:a05:600c:3b8b:b0:43d:fa5d:9314 with SMTP id
 5b1f17b1804b1-4406ac272d1mr101613605e9.32.1745327100825; 
 Tue, 22 Apr 2025 06:05:00 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa433133sm14996060f8f.28.2025.04.22.06.05.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Apr 2025 06:05:00 -0700 (PDT)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <86fri02w15.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN> <877c3czmc9.fsf@HIDDEN>
 <87fri0fy8s.fsf@localhost> <m27c3cabi3.fsf@HIDDEN>
 <m2zfg88vyl.fsf@HIDDEN> <86fri02w15.fsf@HIDDEN>
Date: Tue, 22 Apr 2025 15:04:59 +0200
Message-ID: <m2v7qwxs78.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
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.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> From: Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN>
>> Cc: I=C3=B1igo Serna <inigoserna@HIDDEN>,  Eli Zaretskii
>>  <eliz@HIDDEN>,
>>   77961 <at> debbugs.gnu.org
>> Date: Tue, 22 Apr 2025 10:02:58 +0200
>>=20
>> Could you please also check with this diff?
>>=20
>> diff --git a/src/dispnew.c b/src/dispnew.c
>> index 24bf975ef9f..40df078aea6 100644
>> --- a/src/dispnew.c
>> +++ b/src/dispnew.c
>> @@ -504,13 +504,16 @@ adjust_glyph_matrix (struct window *w, struct glyp=
h_matrix *matrix, int x, int y
>>=20=20
>>  	  while (row < end)
>>  	    {
>> -	      row->glyphs[LEFT_MARGIN_AREA]
>> -		=3D xnrealloc (row->glyphs[LEFT_MARGIN_AREA],
>> -			     dim.width, sizeof (struct glyph));
>> -	      /* We actually need to clear only the 'frame' member, but
>> -                 it's easier to clear everything.  */
>> -	      memset (row->glyphs[LEFT_MARGIN_AREA], 0,
>> -		      dim.width * sizeof (struct glyph));
>> +	      if (dim.width > matrix->matrix_w || new_rows)
>> +		{
>> +		  row->glyphs[LEFT_MARGIN_AREA]
>> +		    =3D xnrealloc (row->glyphs[LEFT_MARGIN_AREA],
>> +				 dim.width, sizeof (struct glyph));
>> +		  /* We actually need to clear only the 'frame' member, but
>> +		     it's easier to clear everything.  */
>> +		  memset (row->glyphs[LEFT_MARGIN_AREA], 0,
>> +			  dim.width * sizeof (struct glyph));
>> +		}
>
> This means a very large matrix will not be downsized when possible.
> Is that a good idea?  Maybe try replacing '>' with '!=3D' and see if it
> also solves the problem?

It's at least what I originally intended when I wrote that function. On
the grounds that if it grew to some size once, it woiuld likely again to
that size again. Compare the allocation of the row vector where I did
the same, for the same reason.

dispnew.c:
  416   /* Enlarge MATRIX->rows if necessary.  New rows are cleared.  */
  417   if (matrix->rows_allocated < dim.height)
  418     {
  419       int old_alloc =3D matrix->rows_allocated;
  420       new_rows =3D dim.height - matrix->rows_allocated;
  421       matrix->rows =3D xpalloc (matrix->rows, &matrix->rows_allocated,
  422                               new_rows, INT_MAX, sizeof *matrix->rows=
);
  423       memset (matrix->rows + old_alloc, 0,
  424               (matrix->rows_allocated - old_alloc)
  425                 * sizeof *matrix->rows);
  426     }
  427   else
  428     new_rows =3D 0;




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
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: Tue, 22 Apr 2025 13:14:02 +0000
Resent-Message-ID: <handler.77961.B77961.17453276368493 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Cc: rudalics@HIDDEN, yantar92@HIDDEN, inigoserna@HIDDEN, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.17453276368493
          (code B ref 77961); Tue, 22 Apr 2025 13:14:02 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 13:13:56 +0000
Received: from localhost ([127.0.0.1]:46812 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7DRj-0002Cu-QQ
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 09:13:56 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:60976)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u7DRd-0002CZ-64
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 09:13:52 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u7DRW-0001OD-SW; Tue, 22 Apr 2025 09:13:42 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=C3xGd51W9rkMh2AsajJQFlUMH0xQHxY/DUeip3qrixw=; b=gruwVYYuFvojInqGf79y
 Ovd1SOXn8cukKImGDhy8/pmcswi++nbYDADS3segQ2HjB9SjHCXR0hxNXa80/fMqgpAbMyIYofpn1
 ftemon8I0qbDSSWJMZBPLEMP5WoQFerNGuzf/z4LpR0Vjr5RCYhZlY7+L3kkwvJ6TWBB1+67koLm4
 cMoltkBonprh99Obam3HNLT+3WYPLaVLdt/Z7Fg4aV4hu6s4jOAMU3jRtiTjHcLjwKWg+ueDuAXaO
 Jw+3HgX4sdLmAmjgS8mjVr1I85ZmGlN7Ck0UZ6XY7iarCtRnTrltuLF8zllZoSICyvoKNcQYu6Fen
 p3IUWZcU64BiAg==;
Date: Tue, 22 Apr 2025 16:13:37 +0300
Message-Id: <86bjso2vb2.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <m2zfg8xsj4.fsf@HIDDEN> (message from Gerd =?UTF-8?Q?M=C3=B6llmann?= on Tue, 22 Apr 2025 14:57:51 +0200)
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN> <86h62g2w5l.fsf@HIDDEN> <m2zfg8xsj4.fsf@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: Gerd Möllmann <gerd.moellmann@HIDDEN>
> Cc: martin rudalics <rudalics@HIDDEN>,  yantar92@HIDDEN,
>   inigoserna@HIDDEN,  77961 <at> debbugs.gnu.org
> Date: Tue, 22 Apr 2025 14:57:51 +0200
> 
> Eli Zaretskii <eliz@HIDDEN> writes:
> 
> >> > Looking into reverse call tree (B), I see that
> >> >
> >> >         1874  33% + set-window-configuration
> >> >
> >> > takes 1/3 of CPU cycles. Looking into its source, it does deal with
> >> > glyph matrices. So, it is the suspect, judging from the submitted
> >> > profiler report.
> >> 
> >> Thanks, indeed.
> >> 
> >> Which I also find weird. Why is that done in the first place?
> >
> > If the comment in set-window-configuration before it messes with glyph
> > matrices doesn't answer this question, maybe Martin (CC'ed) can help us
> > understand the reason?
> 
> Thanks, but I meant why does shr so many set-window-configuration calls.

It calls save-window-excursion.  It does that because it performs
layout in Lisp, so it needs to futz with the selected window's
settings.

I believe if you set shr-use-fonts to nil, this will be avoided.  (But
the layout will be less pretty when using variable-pitch fonts.)




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 13:20:02 +0000
Resent-Message-ID: <handler.77961.B77961.17453279449476 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: rudalics@HIDDEN, yantar92@HIDDEN, inigoserna@HIDDEN, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.17453279449476
          (code B ref 77961); Tue, 22 Apr 2025 13:20:02 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 13:19:04 +0000
Received: from localhost ([127.0.0.1]:46838 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7DWh-0002Sl-6b
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 09:19:03 -0400
Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]:52682)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7DWc-0002S8-Ru
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 09:19:00 -0400
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-39c0e0bc733so4113585f8f.1
 for <77961 <at> debbugs.gnu.org>; Tue, 22 Apr 2025 06:18:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745327932; x=1745932732; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=SD9bnwBkzLFDkOnCSgljbtgz2TqJx6Gn3pKkEQzUYp0=;
 b=KTr42aAlapBa7AmwB3lRcNJwvJ18f2pJ41TkzYqTGe/ULmSjWHz1IlahiiTcJ4N2s6
 qVj8ryB/qP6DvGP6K1LE4oq0ezF5bT6GMPtpE6sODQxUwcCR4Krh0a8ixK46O++OJGd+
 XSEcVQTSXoUUxI7oVCZALbKGY+MerIwesUH2F6tR2S/KpzWZtQsHXibHJgiL1PrAmYnM
 HiBxJb5oXl46VtqtxNs0iC9GCAUWcgJynE0uiwd3Z3P+cz8FtGI3pmzMLowNr2mK27o4
 C2K1ZVtK2mZSN1a6jkodY4mF0uQPUeLXYNsBPMZj69hhB+xHVTj6PA98lOJ5qM0q249b
 +ZbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745327932; x=1745932732;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=SD9bnwBkzLFDkOnCSgljbtgz2TqJx6Gn3pKkEQzUYp0=;
 b=a8ooUUKIgVsJpY6+NBW6MfYXMzLuEE1aygdT0N2iI26bGujQEVbyaUEs01sdZKRd8Q
 /Yq+6PxrDPPxyWOVn7lrvvpUOI9o+VWnMIE9hq1CQfqJGqbpgvpRWZVfznWywnqAkpTy
 zI1SkQCBEG4ChBmMZx+1WSLeGzQQh8HbocoN662MQ+TTpQscmTHl+L7y7sQ1UWRXEJsP
 snslJNBWDKq5w5th8SauhnD/UuAhLK4KrrvTjw8pzNSWfLE5LNIPKMcaiYFjcvtNVBGG
 oPpuRmf1lI16cPAk7BUHuSRPQ/zSmdCg0WyoHEfVYNjeCnW3VhgzDlf7tr0JJoNLix+7
 Di9g==
X-Forwarded-Encrypted: i=1;
 AJvYcCWAGbiz684b+gBbzVaTuYsurQ7LTTmX5YVgbMDEcWCWw7GDABZvfSwwdXjKN/nQHC7DKZhfZA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yy3l+LKtro5K+dqYx8gpR8PdauUJp9H7DtD68VIpJGBFQ22fI2z
 1editwwH7hBd2v7TawMGk/KgZVvbXRUMwmbd7znAEd2/H6yUMNKLvw2Okis8
X-Gm-Gg: ASbGncu0FUppz/JJK1nO5W8IWl6eIN9whs7uYCEWlX/CYCup7tZonuaBSWp/gU0+Yty
 nAHSODEzGebxXMiADF4KuPn7hlHEDRCxaBSF9aQn2T6+Wmjf5I3vp5TJYHuo+cka5XGzjcwyJ20
 +MqOwmEZ+vCvMG+WDXmMVMMMAK3iUUqfOeY6heZjPr12sKqll5/WoxOMDvmEpTndQ/BTB55tTxY
 M1uicsQ74NieBJEK92ovxGAjKFRUgVLEAf7o7tN7SehLhCyx5TOecC6cUTd/TwW1zn6zEhjPS8v
 wkdZke2QIjjjSJt93PpMCWxleEvVdvfIxQDelgk56jAFCBSIHnwsdxlNnpK33QcHu2LHLktOGfr
 BLMP157cGogIhK6sx+Wrwebk5Bg1XrcsT6sgXAdK+m0PY
X-Google-Smtp-Source: AGHT+IGTciZ+sunrkkS48NIUVzJoGEvpAtxJBsQGtlmd1PldhqafEwgMTC2YSU2JUOPo3da/qi6B1w==
X-Received: by 2002:a05:6000:188e:b0:390:e9b5:d69c with SMTP id
 ffacd0b85a97d-39efba61aa5mr12875546f8f.25.1745327932209; 
 Tue, 22 Apr 2025 06:18:52 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa4331a9sm15505673f8f.36.2025.04.22.06.18.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Apr 2025 06:18:51 -0700 (PDT)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <86bjso2vb2.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN> <86h62g2w5l.fsf@HIDDEN>
 <m2zfg8xsj4.fsf@HIDDEN> <86bjso2vb2.fsf@HIDDEN>
Date: Tue, 22 Apr 2025 15:18:50 +0200
Message-ID: <m2msc8xrk5.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 1.0 (+)
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.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> From: Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN>
>> Cc: martin rudalics <rudalics@HIDDEN>,  yantar92@HIDDEN,
>>   inigoserna@HIDDEN,  77961 <at> debbugs.gnu.org
>> Date: Tue, 22 Apr 2025 14:57:51 +0200
>>=20
>> Eli Zaretskii <eliz@HIDDEN> writes:
>>=20
>> >> > Looking into reverse call tree (B), I see that
>> >> >
>> >> >         1874  33% + set-window-configuration
>> >> >
>> >> > takes 1/3 of CPU cycles. Looking into its source, it does deal with
>> >> > glyph matrices. So, it is the suspect, judging from the submitted
>> >> > profiler report.
>> >>=20
>> >> Thanks, indeed.
>> >>=20
>> >> Which I also find weird. Why is that done in the first place?
>> >
>> > If the comment in set-window-configuration before it messes with glyph
>> > matrices doesn't answer this question, maybe Martin (CC'ed) can help us
>> > understand the reason?
>>=20
>> Thanks, but I meant why does shr so many set-window-configuration calls.
>
> It calls save-window-excursion.  It does that because it performs
> layout in Lisp, so it needs to futz with the selected window's
> settings.
>
> I believe if you set shr-use-fonts to nil, this will be avoided.  (But
> the layout will be less pretty when using variable-pitch fonts.)

Thanks.

I'm wondering if shr could do its thing within one save-window-excursion,
or at least in fewer of them? But that's something for some shr specialist.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
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: Tue, 22 Apr 2025 13:20:03 +0000
Resent-Message-ID: <handler.77961.B77961.17453279549503 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Cc: yantar92@HIDDEN, inigoserna@HIDDEN, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.17453279549503
          (code B ref 77961); Tue, 22 Apr 2025 13:20:03 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 13:19:14 +0000
Received: from localhost ([127.0.0.1]:46842 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7DWs-0002TD-5M
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 09:19:14 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:45490)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u7DWp-0002Sv-VV
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 09:19:12 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u7DWk-0002Gm-4n; Tue, 22 Apr 2025 09:19:06 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=faBmQQO/QKtxZz8NnkN8uiwey4zH3yqstIGNK+EtMUk=; b=KmDhxEemDKhZ8iY4uN6V
 ILsZZSY3Kd29dAZZxCZr8sLXuFkmTmbK0MLMNrOqgiPv8r/7oTN1xonwo0KQqiGnl3XALO+Y47R7P
 d5MzzW4InwsN2MouWw/5TwU1k+Bz9Tl6Q3T8z7xspUBtcPon8EDc3KkxxyfDZbNYo2TU1KsbWffZp
 HQ5K5nwe/O26BbdsLKjrQLDIbT7mlfqBPgos7hQYGId1146mWFUph+mSjvphtQ7Einza9rmVKj2U7
 zeN6EII54PyWkvrjCAE7y7eJHzDIp8TC2znztQ4Y6DACXMMtnz7JEZGGa18jNooDbkUIP4J3vQvo3
 iWUMk2ZIYF+Xzw==;
Date: Tue, 22 Apr 2025 16:19:01 +0300
Message-Id: <86a5882v22.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <m2v7qwxs78.fsf@HIDDEN> (message from Gerd =?UTF-8?Q?M=C3=B6llmann?= on Tue, 22 Apr 2025 15:04:59 +0200)
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN> <877c3czmc9.fsf@HIDDEN>
 <87fri0fy8s.fsf@localhost> <m27c3cabi3.fsf@HIDDEN>
 <m2zfg88vyl.fsf@HIDDEN> <86fri02w15.fsf@HIDDEN>
 <m2v7qwxs78.fsf@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: Gerd Möllmann <gerd.moellmann@HIDDEN>
> Cc: yantar92@HIDDEN,  inigoserna@HIDDEN,  77961 <at> debbugs.gnu.org
> Date: Tue, 22 Apr 2025 15:04:59 +0200
> 
> Eli Zaretskii <eliz@HIDDEN> writes:
> 
> >> +	      if (dim.width > matrix->matrix_w || new_rows)
> >> +		{
> >> +		  row->glyphs[LEFT_MARGIN_AREA]
> >> +		    = xnrealloc (row->glyphs[LEFT_MARGIN_AREA],
> >> +				 dim.width, sizeof (struct glyph));
> >> +		  /* We actually need to clear only the 'frame' member, but
> >> +		     it's easier to clear everything.  */
> >> +		  memset (row->glyphs[LEFT_MARGIN_AREA], 0,
> >> +			  dim.width * sizeof (struct glyph));
> >> +		}
> >
> > This means a very large matrix will not be downsized when possible.
> > Is that a good idea?  Maybe try replacing '>' with '!=' and see if it
> > also solves the problem?
> 
> It's at least what I originally intended when I wrote that function. On
> the grounds that if it grew to some size once, it woiuld likely again to
> that size again. Compare the allocation of the row vector where I did
> the same, for the same reason.
> 
> dispnew.c:
>   416   /* Enlarge MATRIX->rows if necessary.  New rows are cleared.  */
>   417   if (matrix->rows_allocated < dim.height)
>   418     {
>   419       int old_alloc = matrix->rows_allocated;
>   420       new_rows = dim.height - matrix->rows_allocated;
>   421       matrix->rows = xpalloc (matrix->rows, &matrix->rows_allocated,
>   422                               new_rows, INT_MAX, sizeof *matrix->rows);
>   423       memset (matrix->rows + old_alloc, 0,
>   424               (matrix->rows_allocated - old_alloc)
>   425                 * sizeof *matrix->rows);
>   426     }
>   427   else
>   428     new_rows = 0;

So if the user drags the right side of the frame to make it very wide,
or just toggles it full-screen, we will grow the glyph matrices and
never free that space, ever, for as long as the Emacs session lives?
With today's large screens that could be a significant waste of memory
that is never returned to the system, I think?

If the problem we want to avoid is reallocating when the size doesn't
change (which was what happened in this case), then just '!=' should
prevent it, while simultaneously letting us free some memory when the
window is down-sized.  Whether such a realloc actually frees memory is
up to the implementation, but why not let it do what it supposedly
does best?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 13:29:02 +0000
Resent-Message-ID: <handler.77961.B77961.174532849811783 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: yantar92@HIDDEN, inigoserna@HIDDEN, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.174532849811783
          (code B ref 77961); Tue, 22 Apr 2025 13:29:02 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 13:28:18 +0000
Received: from localhost ([127.0.0.1]:46881 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7Dfc-00033y-RV
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 09:28:17 -0400
Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:55442)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7DfY-00033l-57
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 09:28:13 -0400
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-39c1efc457bso3185902f8f.2
 for <77961 <at> debbugs.gnu.org>; Tue, 22 Apr 2025 06:28:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745328486; x=1745933286; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=CD6/ZV/zOVhCMlhpl1KSYzjiUl2XxHW6Refcgfw3c9Q=;
 b=NN+ahBuKyKKEEKCUyxYSsTursuYzfB/PYwO3kwdrSviQTsETw12yf0nF18bwQKoIS6
 Xn0IQs4YYiy+3JBsEMy7yJ2qpF5Yk7RxZ4jTtbivAX0hqVvuJDB01eG4W+5Psb78rpIT
 7oDj+5xSCpIKHYLj2RSy7Jf12neY331W824CNG9iwB2ttzNx9gSY0xVsjtxa/qToVisU
 uPRHsSitgluvfoU4dY/p+1SiVC/b4a32GN7130jLEojwVHSZKnjBXlwejw3y8RPBbdeC
 WL8rs2TKojNtTWhZqLwWvx32HlZXophAHeM2oui9rLqZIXE1eOYEw8TCGQsjd99Tr744
 UU5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745328486; x=1745933286;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=CD6/ZV/zOVhCMlhpl1KSYzjiUl2XxHW6Refcgfw3c9Q=;
 b=f5Vy/GR+Gc2TBraay415rKRIa81Azs/Pcsu/TUvLita3qYPKgpztfAxbB8zICWwtG1
 /27rvigE/BevTBF13eXNGGww2dWOsSyEeccJd5Dm228pUy7GwfG5QkfirsXJNsv7f5Wc
 miBvnr8P5OI0cVCgKskgaF10w/11hNM4+RNPGuUPVb1CViEppMT7q/hIprRhW/yiREDg
 pv9EGwL8I0EbaYtiKit5n8NOkilrPeyQkTn2bx7ytqo0JxrW1u7LeByH3TbOqGKt+CWx
 Y67Nxx/aVcKebz+JCE9rYuIONwYrosaXDmZ3VA4GBpaW6ftWrGAwyjjgO3m1/UQBJGlQ
 nlsg==
X-Forwarded-Encrypted: i=1;
 AJvYcCWkTInY2WWQ38xY8u9r8Bba/XBtFO8E7L2B5XSkSe4mqVCHA2sB8+siIjfEt9+6PFd4V/WrfA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YypMvzSJOZWYO01TaM5cEroSDmTCj9dMoLsUOTpNgGlKLK+SpOT
 tcdSLy9MX9evwNM+o9qwEocDvna86NgtIiwSk1LjKguYJUT7GExVux2UsgZs
X-Gm-Gg: ASbGncukclBWCyqt9mo4f33Cc0L7QzV6sfp6ybsJwVn+P55ivo45FlsLAyOiBWcNmHn
 hNJFwjAQzZNNFWC8MKPU1KM7aYUiVtnRZ8Nl2h9asWL1OsAReIxn/XSPJP19CXONeGHzbHUPwAB
 AQqPuOVZ68ubDXMyhzKRtsC+x7Z9n8vB7ylTSacFAP3wBrWrGCWGa8KuzHrXE0ZOsY6CN+txzUy
 Re1yY4m1V0KCONV2j3yhZlSZKIkW9Ug+lCk92DopG4km+NNybRrfJ5blw4tOP6ERXOz9bzM6dAq
 GzqXvAB3VyLfJM9x8tA2+wdFUUrn2BJLvUAWGKCvRA4rmPLJ4iJgO9nDKJHRHMctIpjRdqzNJLu
 UWh4HK90Ur1WClqrN9DJMZ70a0TM3Zwp987KaisgRawAWU+i2LJ5ax8s=
X-Google-Smtp-Source: AGHT+IHb3d+z+wdejuTJ8+SM3/hWFOuu+MGT4djy0A+YBO0cng39dpZ8TNghTZtouVNuHW89L6Ep/w==
X-Received: by 2002:a5d:59a2:0:b0:399:71d4:a2 with SMTP id
 ffacd0b85a97d-39efba45f71mr12029492f8f.14.1745328485658; 
 Tue, 22 Apr 2025 06:28:05 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4406d6e034csm172986915e9.39.2025.04.22.06.28.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Apr 2025 06:28:05 -0700 (PDT)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <86a5882v22.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN> <877c3czmc9.fsf@HIDDEN>
 <87fri0fy8s.fsf@localhost> <m27c3cabi3.fsf@HIDDEN>
 <m2zfg88vyl.fsf@HIDDEN> <86fri02w15.fsf@HIDDEN>
 <m2v7qwxs78.fsf@HIDDEN> <86a5882v22.fsf@HIDDEN>
Date: Tue, 22 Apr 2025 15:28:04 +0200
Message-ID: <m2ikmwxr4r.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 1.0 (+)
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.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> From: Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN>
>> Cc: yantar92@HIDDEN,  inigoserna@HIDDEN,  77961 <at> debbugs.gnu.org
>> Date: Tue, 22 Apr 2025 15:04:59 +0200
>>=20
>> Eli Zaretskii <eliz@HIDDEN> writes:
>>=20
>> >> +	      if (dim.width > matrix->matrix_w || new_rows)
>> >> +		{
>> >> +		  row->glyphs[LEFT_MARGIN_AREA]
>> >> +		    =3D xnrealloc (row->glyphs[LEFT_MARGIN_AREA],
>> >> +				 dim.width, sizeof (struct glyph));
>> >> +		  /* We actually need to clear only the 'frame' member, but
>> >> +		     it's easier to clear everything.  */
>> >> +		  memset (row->glyphs[LEFT_MARGIN_AREA], 0,
>> >> +			  dim.width * sizeof (struct glyph));
>> >> +		}
>> >
>> > This means a very large matrix will not be downsized when possible.
>> > Is that a good idea?  Maybe try replacing '>' with '!=3D' and see if it
>> > also solves the problem?
>>=20
>> It's at least what I originally intended when I wrote that function. On
>> the grounds that if it grew to some size once, it woiuld likely again to
>> that size again. Compare the allocation of the row vector where I did
>> the same, for the same reason.
>>=20
>> dispnew.c:
>>   416   /* Enlarge MATRIX->rows if necessary.  New rows are cleared.  */
>>   417   if (matrix->rows_allocated < dim.height)
>>   418     {
>>   419       int old_alloc =3D matrix->rows_allocated;
>>   420       new_rows =3D dim.height - matrix->rows_allocated;
>>   421       matrix->rows =3D xpalloc (matrix->rows, &matrix->rows_alloca=
ted,
>>   422                               new_rows, INT_MAX, sizeof *matrix->r=
ows);
>>   423       memset (matrix->rows + old_alloc, 0,
>>   424               (matrix->rows_allocated - old_alloc)
>>   425                 * sizeof *matrix->rows);
>>   426     }
>>   427   else
>>   428     new_rows =3D 0;
>
> So if the user drags the right side of the frame to make it very wide,
> or just toggles it full-screen, we will grow the glyph matrices and
> never free that space, ever, for as long as the Emacs session lives?
> With today's large screens that could be a significant waste of memory
> that is never returned to the system, I think?
>
> If the problem we want to avoid is reallocating when the size doesn't
> change (which was what happened in this case), then just '!=3D' should
> prevent it, while simultaneously letting us free some memory when the
> window is down-sized.  Whether such a realloc actually frees memory is
> up to the implementation, but why not let it do what it supposedly
> does best?

It has always been in done in something like the if below. Note the
first two conditions. There have never been re-allocations to shrink a
matrix.=20

dispnew.c:
  493       /* If MATRIX->pool is null, MATRIX is responsible for managing
  494          its own memory.  It is a window matrix for window-based redi=
splay.
  495          Allocate glyph memory from the heap.  */
  496       if (dim.width > matrix->matrix_w
  497           || new_rows
  498           || tab_line_changed_p
  499           || header_line_changed_p
  500           || marginal_areas_changed_p)
  501         {

So shrinking is a new idea. One could try that out, but it's not
something for me ATM, sorry.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 13:42:02 +0000
Resent-Message-ID: <handler.77961.B77961.174532928414214 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, yantar92@HIDDEN, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.174532928414214
          (code B ref 77961); Tue, 22 Apr 2025 13:42:02 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 13:41:24 +0000
Received: from localhost ([127.0.0.1]:46915 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7DsH-0003h7-C7
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 09:41:23 -0400
Received: from mout.gmx.net ([212.227.17.21]:34907)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <inigoserna@HIDDEN>)
 id 1u7Ds7-0003gO-Me
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 09:41:16 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.com;
 s=s31663417; t=1745329262; x=1745934062; i=inigoserna@HIDDEN;
 bh=TMoyskkEt8qGPqosWG+AyEHTcZT37fjiRDQZvLvpWF0=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc:
 content-transfer-encoding:content-type:date:from:message-id:
 mime-version:reply-to:subject:to;
 b=Paalj1PI6n/Kp+x42KaqSFR8b9coh03Y4OjF6cvOOUIrJfeK9HMEHIM5dLz9wOMA
 tese//pcomp3ekOmlxvxLtJnC/DQTGeREfPkEf9Mf+OasES8jo5NXJZo9apLhqXWC
 rIUzZ2PBjDSgWlbfY8UUhPZGQ4pm+j70U7DX37tAuCgbJL9sVeppXuwPG25v3t0EU
 YkbXRc2qKbBaoDHBWaCCl35A8D3O7KoQ3gpKZjtIAMA6DF+rCTjcYlkFThtGtCKx0
 iAsgHfpGZLWned2VpElDinQPVwMIPAs8BxFLUD5RYr7rGZq/nIvXUogGxrR68cvUZ
 7A7CQLAo38PJm0DIBA==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from zeus.gmx.com ([93.176.183.109]) by mail.gmx.net (mrgmx104
 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MysRu-1v1mlr3jLW-00ycqU; Tue, 22
 Apr 2025 15:41:02 +0200
From: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
In-Reply-To: <m2ikmwxr4r.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN> <877c3czmc9.fsf@HIDDEN>
 <87fri0fy8s.fsf@localhost> <m27c3cabi3.fsf@HIDDEN>
 <m2zfg88vyl.fsf@HIDDEN> <86fri02w15.fsf@HIDDEN>
 <m2v7qwxs78.fsf@HIDDEN> <86a5882v22.fsf@HIDDEN>
 <m2ikmwxr4r.fsf@HIDDEN>
User-Agent: mu4e 1.12.9; emacs 31.0.50
Date: Tue, 22 Apr 2025 15:40:32 +0200
Message-ID: <87ikmw9uwf.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:oqV3ILf32asHQ0/IW4YEHPEpuV60KuXNmoMPN99/RvG96upggAD
 /f0jtyFo0H3D9YXxgECyFFqWWLrRQsKcqnFX2kMrJMKs8Hv6wrXMikXrJeAcqSbhhsXJj1s
 19rMl7c0l6OgfmF0BZiQk6uG1YTPYLrBM8Gj9Y5z4Mq/fcUQRC70En7AAaxlNJyqDAtPuja
 mjDUhrTtw2hhhLceKWcEA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:kQZtA2ZxTnc=;iT/jZohhREOULU1r91EangkgHno
 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
 K4XLoxILkzeoX98ABEiKXLhIp1KJtqeMgiVhfM6b7iIjjVXafIpz3DVZ7nO3qm2t5zoM49cCo
 jbJnPVTPZx594em0U/n1dmaAyenIZHmfvpZ9xNVVXylNTbtTKumZnjfBitASUob+6QfI4juiI
 5n+lVh1mbJ3BAmu1aDI4e/v3ec1W7vebzD8mpTRqq4JSVARc0qqGicVqJfVmHzhLlp3c43wAs
 t/ojODMEBLEp9QmhBLJBDx+kmrHrHGZGO/AshPljs6i108N63KoPz6FXXAsu6zFt15XLSKL8a
 TtscWBogbyVl24EPr/BtHDZLjszyU+wKSDKjvtwXfIpP+X2WcBf2Jy9qR+CcpaRY7feF/vXhJ
 r2doGzNCIgKA/5grZhcuU/0CASpLVrAaGSd05v25qCZKf9yZlto8n783V+GRYmqbbg9o3f0rs
 E7+7v9RBJce5AnyyqDI19HzHA885TB647m615uebKWrCgzPndvYWP1ro7wDf+KgdX215/odyR
 n9//1A0KpZH1huSufQcyP8kz0+ert+a2BJV98kfDP9p/2ngvQI+RmZhFb4UDUF4+1086iktox
 Q==
X-Spam-Score: -0.7 (/)
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 (-)

I confirm that replacing '>' with '!=3D' solves the problem as well.

On 22 April 2025 at 15:28 +02, Gerd M=C3=B6llmann=20
<gerd.moellmann@HIDDEN> wrote:

> Eli Zaretskii <eliz@HIDDEN> writes:
>
>>> From: Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN>
>>> Cc: yantar92@HIDDEN,  inigoserna@HIDDEN,=20
>>> 77961 <at> debbugs.gnu.org
>>> Date: Tue, 22 Apr 2025 15:04:59 +0200
>>>=20
>>> Eli Zaretskii <eliz@HIDDEN> writes:
>>>=20
>>> >> +	      if (dim.width > matrix->matrix_w || new_rows)
>>> >> +		{
>>> >> +		  row->glyphs[LEFT_MARGIN_AREA]
>>> >> +		    =3D xnrealloc (row->glyphs[LEFT_MARGIN_AREA],
>>> >> +				 dim.width, sizeof (struct glyph));
>>> >> +		  /* We actually need to clear only the 'frame'=20
>>> >> member, but
>>> >> +		     it's easier to clear everything.  */
>>> >> +		  memset (row->glyphs[LEFT_MARGIN_AREA], 0,
>>> >> +			  dim.width * sizeof (struct glyph));
>>> >> +		}
>>> >
>>> > This means a very large matrix will not be downsized when=20
>>> > possible.
>>> > Is that a good idea?  Maybe try replacing '>' with '!=3D' and=20
>>> > see if it
>>> > also solves the problem?
>>>=20
>>> It's at least what I originally intended when I wrote that=20
>>> function. On
>>> the grounds that if it grew to some size once, it woiuld=20
>>> likely again to
>>> that size again. Compare the allocation of the row vector=20
>>> where I did
>>> the same, for the same reason.
>>>=20
>>> dispnew.c:
>>>   416   /* Enlarge MATRIX->rows if necessary.  New rows are=20
>>>   cleared.  */
>>>   417   if (matrix->rows_allocated < dim.height)
>>>   418     {
>>>   419       int old_alloc =3D matrix->rows_allocated;
>>>   420       new_rows =3D dim.height - matrix->rows_allocated;
>>>   421       matrix->rows =3D xpalloc (matrix->rows,=20
>>>   &matrix->rows_allocated,
>>>   422                               new_rows, INT_MAX, sizeof=20
>>>   *matrix->rows);
>>>   423       memset (matrix->rows + old_alloc, 0,
>>>   424               (matrix->rows_allocated - old_alloc)
>>>   425                 * sizeof *matrix->rows);
>>>   426     }
>>>   427   else
>>>   428     new_rows =3D 0;
>>
>> So if the user drags the right side of the frame to make it=20
>> very wide,
>> or just toggles it full-screen, we will grow the glyph matrices=20
>> and
>> never free that space, ever, for as long as the Emacs session=20
>> lives?
>> With today's large screens that could be a significant waste of=20
>> memory
>> that is never returned to the system, I think?
>>
>> If the problem we want to avoid is reallocating when the size=20
>> doesn't
>> change (which was what happened in this case), then just '!=3D'=20
>> should
>> prevent it, while simultaneously letting us free some memory=20
>> when the
>> window is down-sized.  Whether such a realloc actually frees=20
>> memory is
>> up to the implementation, but why not let it do what it=20
>> supposedly
>> does best?
>
> It has always been in done in something like the if below. Note=20
> the
> first two conditions. There have never been re-allocations to=20
> shrink a
> matrix.=20
>
> dispnew.c:
>   493       /* If MATRIX->pool is null, MATRIX is responsible=20
>   for managing
>   494          its own memory.  It is a window matrix for=20
>   window-based redisplay.
>   495          Allocate glyph memory from the heap.  */
>   496       if (dim.width > matrix->matrix_w
>   497           || new_rows
>   498           || tab_line_changed_p
>   499           || header_line_changed_p
>   500           || marginal_areas_changed_p)
>   501         {
>
> So shrinking is a new idea. One could try that out, but it's not
> something for me ATM, sorry.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Apr 2025 13:51:02 +0000
Resent-Message-ID: <handler.77961.B77961.174532981716036 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: =?UTF-8?Q?I=C3=B1igo?= Serna <inigoserna@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, yantar92@HIDDEN, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.174532981716036
          (code B ref 77961); Tue, 22 Apr 2025 13:51:02 +0000
Received: (at 77961) by debbugs.gnu.org; 22 Apr 2025 13:50:17 +0000
Received: from localhost ([127.0.0.1]:46980 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7E0u-0004Aa-F5
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 09:50:16 -0400
Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]:44340)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7E0n-00044W-Et
 for 77961 <at> debbugs.gnu.org; Tue, 22 Apr 2025 09:50:13 -0400
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cfe574976so38249725e9.1
 for <77961 <at> debbugs.gnu.org>; Tue, 22 Apr 2025 06:50:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745329802; x=1745934602; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=4cG4y37HnczALYLpToF6G3CK6Ii7Ij9W9xTIZHKc4eQ=;
 b=Abx7LDvKVbVW6BxJiMfUhCn7d/M4Zp/1EyiByWSccamOCEY2yy5yT45QcIwYVOyhPL
 NdwNu1EAR0hnZjEkVdG4+/A9j1oiVc6WY68FR05hn/OR1rsvSGSmY0GGNMihPlKasyni
 3iz6niR7xvHMPMidvgsb74r+syPsRt7U0QuS+8DU2r3SB+Nsbj++014s6jZjqJFXmnvy
 21ZPeApfSMKKdAMsL5gL/rtMevvBHzsaSKZrdNK39DUSFk40HKv58EMMFc9OBxduvu0Q
 QxMYWm98dir2IRz7IHIUbG1AIpel3RXtFMPVeJGSh4aXYIOOmSWW9Yonrua2u9XbXHtd
 bIcQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745329802; x=1745934602;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=4cG4y37HnczALYLpToF6G3CK6Ii7Ij9W9xTIZHKc4eQ=;
 b=whzqquMZoW+KChRaabsq3ccJ6CjAejEAyOy//ZOqsPqE7koYP/M1FJADC1kESwoopO
 mQPvOLTn9QXwfNrKZtMfXwm0FI7hzFwpDuJq4WKab5+cKyyhOLMPlOtXbYBZ19wkcGVK
 AksCZjOSt3C8GlRW+FFhdhjIYaajm7haHbA81aOGQ+FN9Uw0h/MSZVgnaTiGokHRd+6S
 8KaWePBxxWCs4rs6rLFb8wVSOugB2Z0iAuuizGnb1CNayCJ3O/IVCQf+hpFN63H6nn6F
 AUfgEiQrlWM+7YIO+RESIlUVkyMZ84BQJbOAvbI/cvav8GEhW0kuq53TXSUtFcrTz9ic
 UIrA==
X-Forwarded-Encrypted: i=1;
 AJvYcCWOs9/7BfFG7ub60mCypV52I676w36uRiNfO9tvCO5vJxILH3wegTyEggxpgad3pkC/X3rLKA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxE6EH4oBus8KlWo6U6majkr1hRLY4pIiFJubn3ywa6TpticXUu
 2fTh467JFJPSBqXkNRnFLJzRBx0yQ1U1426NpYqQtKzj9GZ6ugHOI98MHqG1
X-Gm-Gg: ASbGncv3pmKvmBu09UZDC9JMKuM0wedf7CTm92cDsACiFzR+3BnnNimZvozDaQB7z1y
 ySicv7AQf7eIfKqrk4xPXVGkfnyxkU/yRO46Oqpgmjz4HQ0WZUxir+n0I/EUN/ht0CPaYH1xuKV
 qf+9o8GTQS0062VAogo0M0VUUv3ub7V98fYuy+92qO80xKEN2dMpEkCWngfekSEqwut+4THSoCO
 BzLD4RtWm9VDMw0l6yBcBbtQqAK58XkjLcSTr5YpQgEFS2MQwnNEtnbpA7RtTOJKcF95vN7aGmg
 65VTW3RHit3RkLE/4atlB3aX/Z09s+4JBYfqOw4B3m4UEhkKNsytfwJud0e/Ug5u01VJJerQ07e
 cKFuygfeM90zkQvLjuoKxssutS+1FXlV2rgLfeC83R97+
X-Google-Smtp-Source: AGHT+IFiZx0UgF1q4UC7MG+mcu8RyNK2D6nNZgLQQU+N9TlAUdOI8u4+I93vE/eY/tiqT1/ofKoLFg==
X-Received: by 2002:a05:6000:1889:b0:394:d0c3:da5e with SMTP id
 ffacd0b85a97d-39efbb054b2mr12115856f8f.47.1745329802140; 
 Tue, 22 Apr 2025 06:50:02 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa4a4f38sm15612521f8f.97.2025.04.22.06.50.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Apr 2025 06:50:01 -0700 (PDT)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <87ikmw9uwf.fsf@HIDDEN>
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN> <877c3czmc9.fsf@HIDDEN>
 <87fri0fy8s.fsf@localhost> <m27c3cabi3.fsf@HIDDEN>
 <m2zfg88vyl.fsf@HIDDEN> <86fri02w15.fsf@HIDDEN>
 <m2v7qwxs78.fsf@HIDDEN> <86a5882v22.fsf@HIDDEN>
 <m2ikmwxr4r.fsf@HIDDEN> <87ikmw9uwf.fsf@HIDDEN>
Date: Tue, 22 Apr 2025 15:50:00 +0200
Message-ID: <m27c3cxq47.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
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.0 (-)

I=C3=B1igo Serna <inigoserna@HIDDEN> writes:

> I confirm that replacing '>' with '!=3D' solves the problem as well.

Okay, thanks, but I'd prefer a design for shrinking matrices over one
more ad-hoc decision. YYMV.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Resent-From: martin rudalics <rudalics@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 23 Apr 2025 06:18:02 +0000
Resent-Message-ID: <handler.77961.B77961.174538907617240 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>, Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Cc: yantar92@HIDDEN, inigoserna@HIDDEN, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.174538907617240
          (code B ref 77961); Wed, 23 Apr 2025 06:18:02 +0000
Received: (at 77961) by debbugs.gnu.org; 23 Apr 2025 06:17:56 +0000
Received: from localhost ([127.0.0.1]:52027 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7TQh-0004Tx-2C
	for submit <at> debbugs.gnu.org; Wed, 23 Apr 2025 02:17:56 -0400
Received: from mout.gmx.net ([212.227.17.20]:50073)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1u7TQc-0004Sr-W2
 for 77961 <at> debbugs.gnu.org; Wed, 23 Apr 2025 02:17:52 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at;
 s=s31663417; t=1745389051; x=1745993851; i=rudalics@HIDDEN;
 bh=Oi7xbK45UyfuBQgQ9PHYo6UB1qLF+Ty+pRI6dPSDFG4=;
 h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc:
 References:From:In-Reply-To:Content-Type:
 Content-Transfer-Encoding:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=gDe2V4gW4OgtRsso1q+LwN8W2ljcF5aYWxmErI+4l1SU2cAzM6DGRNeNeo+gCMQz
 rSgtZwi2h+O1/hdFSOb3rGi+8HsuNqFZmkG6Dr6ZhWkqIUnoE/EAt2R04Rr8o3ctK
 3hxDdIsulR3s8dyfRgHjetwL1bl/ZDYKwZSnVNEHA5WaUFQigVMQ73lqKCDBG9AF1
 YoD5CytHwqadJgYnNIDlDLUPeUqvfLlkd0ml7KQQoAyU659GxtWy8WMMYSDI28HnE
 sBstDKH8m2iC4AREU87dEg4FRwJogB/abjqtGaBijDbQYXkYs0tDFIAhqnf3GTMlb
 riUjqVtfA9DVIZisdg==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from [192.168.31.113] ([212.95.5.203]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N8ofO-1vD6C507OA-010fQt; Wed, 23
 Apr 2025 08:17:31 +0200
Message-ID: <63c78568-59e7-4e5f-9385-a38e0299e769@HIDDEN>
Date: Wed, 23 Apr 2025 08:17:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN> <86h62g2w5l.fsf@HIDDEN>
Content-Language: en-US
From: martin rudalics <rudalics@HIDDEN>
In-Reply-To: <86h62g2w5l.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Provags-ID: V03:K1:gfGTwgp07itCVHtgJtxjYqIvLKO1G1k0blbTTnBw6EIMSeUXYuh
 IgLkUF1BmrNgSvu5041pJEXnTJrXV13h8aPQwmFV/IS0aFDEeMQB985nx+JSaDQApg8QeQE
 FkXSnvdEKUyHtFHj9Xp4c7+NS9PJaZaJVFkImaqjirDM7f85l2LuO3ivWjUUfsLbKbkwAtm
 mxdR79JHAcJ89kyr02gmg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:F1W5qSZ3dGQ=;vy4/jYrUlVgVG4XWSSvy70TbeZD
 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
 g==
X-Spam-Score: -0.7 (/)
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 (-)

 >>> Looking into reverse call tree (B), I see that
 >>>
 >>>          1874  33% + set-window-configuration
 >>>
 >>> takes 1/3 of CPU cycles. Looking into its source, it does deal with
 >>> glyph matrices. So, it is the suspect, judging from the submitted
 >>> profiler report.
 >>
 >> Thanks, indeed.
 >>
 >> Which I also find weird. Why is that done in the first place?
 >
 > If the comment in set-window-configuration before it messes with glyph
 > matrices doesn't answer this question, maybe Martin (CC'ed) can help us
 > understand the reason?

Do you mean the adjust_frame_glyphs call?  It's called whenever we may
have changed window sizes.  We could have 'set-window-configuration' use
checks similar to those from run_window_change_functions.  But such a
change would have to be done with considerable care: After all, an
accidentally missing call of 'window-size-change-functions' would be
hardly noticed.  The missing update of a glyph matrix would be much more
harmful.

'save-window-excursion' should be banned.  Its reminder

   BEWARE: Most uses of this macro introduce bugs.

is much too mild in my opinion.  AFAICT the first two calls in shr.el
could be avoided by using 'buffer-text-pixel-size'.  The one in
'shr-render-td-1' looks worse - since it calls 'shr-pixel-buffer-width'
it nests one 'save-window-excursion' call into another which is simply
evil.

martin




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
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, 23 Apr 2025 13:22:03 +0000
Resent-Message-ID: <handler.77961.B77961.174541451116702 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77961
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: martin rudalics <rudalics@HIDDEN>
Cc: gerd.moellmann@HIDDEN, yantar92@HIDDEN, inigoserna@HIDDEN, 77961 <at> debbugs.gnu.org
Received: via spool by 77961-submit <at> debbugs.gnu.org id=B77961.174541451116702
          (code B ref 77961); Wed, 23 Apr 2025 13:22:03 +0000
Received: (at 77961) by debbugs.gnu.org; 23 Apr 2025 13:21:51 +0000
Received: from localhost ([127.0.0.1]:55672 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7a2v-0004L2-EA
	for submit <at> debbugs.gnu.org; Wed, 23 Apr 2025 09:21:51 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:57992)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u7a2p-0004JR-2f
 for 77961 <at> debbugs.gnu.org; Wed, 23 Apr 2025 09:21:46 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u7a2i-00022j-Vv; Wed, 23 Apr 2025 09:21:36 -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=inmotXYfeDYkBm3+Mz74/iDZ4buaImIQ3QtzcFGGdPQ=; b=NAL95/JzMxje
 8QhtNNNU/fuQq4RJpYknxx+I4i9pLG8BjvFnfYENNXYvmw4kJtRldSKE9pxp46GPtPf/3YN3WeDRU
 gxzD3ZQBf+C0bNcF895qp/vS9DEYW4+06kAve+YJ8WmDZTdJwOXeqOmTYoUgo37vhcgfpFDFTOXqV
 pG9veVTP7NT4lY3O7Z7zKcWn3+xmc3O1S2njmsM2e3NWWZSoIIJclSRlJiSI9ugNUzTqOGuRL8Sf4
 2Xy9flvfEpFB9Ufz1bbqritwJY9SbE5GRTZg94Do2g5mxN371PKZsQkzAC43D9theb2OSmIy5OB/w
 ToOwnslea/uczcgl8yo0GQ==;
Date: Wed, 23 Apr 2025 16:21:34 +0300
Message-Id: <86y0vrypwh.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <63c78568-59e7-4e5f-9385-a38e0299e769@HIDDEN> (message from
 martin rudalics on Wed, 23 Apr 2025 08:17:29 +0200)
References: <877c3dhq12.fsf@HIDDEN> <867c3d4cdi.fsf@HIDDEN>
 <m2sem1e57q.fsf@HIDDEN> <87sem1ff67.fsf@HIDDEN>
 <m2y0vsdd2k.fsf@HIDDEN> <m2tt6gdcwv.fsf@HIDDEN>
 <m2plh4daze.fsf@HIDDEN> <87ikmwg12r.fsf@localhost>
 <m2h62gd631.fsf@HIDDEN> <86h62g2w5l.fsf@HIDDEN>
 <63c78568-59e7-4e5f-9385-a38e0299e769@HIDDEN>
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 (---)

> Date: Wed, 23 Apr 2025 08:17:29 +0200
> Cc: yantar92@HIDDEN, inigoserna@HIDDEN, 77961 <at> debbugs.gnu.org
> From: martin rudalics <rudalics@HIDDEN>
> 
> 'save-window-excursion' should be banned.  Its reminder
> 
>    BEWARE: Most uses of this macro introduce bugs.
> 
> is much too mild in my opinion.  AFAICT the first two calls in shr.el
> could be avoided by using 'buffer-text-pixel-size'.  The one in
> 'shr-render-td-1' looks worse - since it calls 'shr-pixel-buffer-width'
> it nests one 'save-window-excursion' call into another which is simply
> evil.

Thanks.  Patches welcome to avoid using save-window-excursion in
shr.el.





Last modified: Wed, 23 Apr 2025 13:30:04 UTC

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