From unknown Sun Jun 22 08:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#39133: 28.0.50; Emacs slowdown on special char Resent-From: Evgeny Zajcev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 14 Jan 2020 13:22:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 39133 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 39133@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.15790081064722 (code B ref -1); Tue, 14 Jan 2020 13:22:02 +0000 Received: (at submit) by debbugs.gnu.org; 14 Jan 2020 13:21:46 +0000 Received: from localhost ([127.0.0.1]:60795 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1irM8f-0001E6-Na for submit@debbugs.gnu.org; Tue, 14 Jan 2020 08:21:46 -0500 Received: from lists.gnu.org ([209.51.188.17]:56432) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1irM8d-0001Dw-CS for submit@debbugs.gnu.org; Tue, 14 Jan 2020 08:21:44 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46609) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1irM8Z-0003SC-Vu for bug-gnu-emacs@gnu.org; Tue, 14 Jan 2020 08:21:43 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, HTML_MESSAGE,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1irM8W-0001TS-Ty for bug-gnu-emacs@gnu.org; Tue, 14 Jan 2020 08:21:39 -0500 Received: from mail-lj1-x22e.google.com ([2a00:1450:4864:20::22e]:35022) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1irM8W-0001S1-EK for bug-gnu-emacs@gnu.org; Tue, 14 Jan 2020 08:21:36 -0500 Received: by mail-lj1-x22e.google.com with SMTP id j1so14302874lja.2 for ; Tue, 14 Jan 2020 05:21:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=dT1+R2R1DcDzZHNwGtyrIvDJkPjfpNefyIyHE6YckKk=; b=FMDIF3MY1Qga1FwsVFOlNjz9DMd3+9Ev8mn7XHxiXacBLi2H7RmL0TxsqtmYGjW20x qiRXHa7XLZKYRXB33m5FqTfTNh7Pbuoc7wB093LSpUTWA0pyV5dQprj/U8u8XOCmZUMG mSvgEtRyY2HDhcMiQsKqiMdEyxiYrcWx8FZQDgU4DVZFpR/NrpIHs8TAGnUkt03iV/D8 reekx5mJwhNuIrbCptJW4KWg6bfQ9/lJ8JbwibDqqzT0D7jUitaX2S0vubYzblAalZoq Fw16HPA4wDsMOeIO2QRK12wemySuJralDVDtil+aSHRMGAR0gOUP8x/+EGt0kH51JPll oCnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=dT1+R2R1DcDzZHNwGtyrIvDJkPjfpNefyIyHE6YckKk=; b=F/SHVCIiHcl+O2hirFvCZzyi4A+82Tw0f7F4Muabm3faiyMmd/kmQtrDBsbGIjtSBM jyg3fckgwHoCV4eCJPA/AaGZZkispKz01gGbAWXc5Wxbfm6++Px9xlItVXxO5ObCqazv AnvWPsuOhGL3rWLECIIrhVJnmzfTMxzKSMXJKPG0cg8+ZstIWiMYu+kRwt53631iV/YL SxQUleNHjtzEZmZC8vQ+osVmTcvVuInkhqSUNYEVx1aavQUTbeMyAEcL51FST35KI+5g s4hOlnwVD+2uHeTsqNpvn7M3RNN+14QcowgTsIFwDNheMQ+zyuBFOh45rR9J5R1gkWfH hFWw== X-Gm-Message-State: APjAAAWOVnj5eKtrcnZj5jLEUE1SU0Zl0JAH3OSSqOHr6mR/lMpW0xAK oahZoH+YfML66EtSjdu/ieeYo0q36LCWdjwHLqyZrPXh X-Google-Smtp-Source: APXvYqwkz36uxBEUAxilxzrSfOuBdJ8WxV5GxI49vvkiz0fuqiAmwMCg6hS7HA1QB6oFGEg8ept/Fo5Srlk0Qas4LGM= X-Received: by 2002:a2e:7d01:: with SMTP id y1mr14632170ljc.100.1579008094039; Tue, 14 Jan 2020 05:21:34 -0800 (PST) MIME-Version: 1.0 From: Evgeny Zajcev Date: Tue, 14 Jan 2020 16:21:23 +0300 Message-ID: Content-Type: multipart/alternative; boundary="0000000000008af124059c1978f3" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::22e X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --0000000000008af124059c1978f3 Content-Type: text/plain; charset="UTF-8" I'm experiencing extreme Emacs slowdown when VARIATION SELECTOR-16 char is used somewhere in Emacs buffer. For example, I just executed: (insert "a\xfe0f") in *scratch* buffer. Moving cursor (when this char is visible) become unbearable. Here is the results of cpu profiling: - command-execute 776 62% - call-interactively 776 62% - funcall-interactively 675 54% - previous-line 476 38% - line-move 476 38% - line-move-1 476 38% + vertical-motion 225 18% - next-line 198 15% - line-move 198 15% - line-move-1 198 15% + vertical-motion 94 7% + execute-extended-command 1 0% + byte-code 101 8% auto-compose-chars 185 14% + timer-event-handler 175 14% - redisplay_internal (C function) 75 6% auto-compose-chars 75 6% - ... 30 2% Automatic GC 30 2% As I remember I did not experienced something similar in Emacs 26/27 Thanks -------------------- In GNU Emacs 28.0.50 (build 3, x86_64-pc-linux-gnu, GTK+ Version 3.18.9, cairo version 1.14.6) of 2020-01-13 built on wrt Repository revision: 7c5d6a2afc6c23a7fff8456f506ee2aa2d37a3b9 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.11804000 System Description: Ubuntu 16.04.1 LTS Recent messages: next-line: End of buffer [2 times] Mark activated [2 times] CPU profiler stopped CPU profiler started Mark set Quit Mark set CPU profiler stopped CPU profiler started Mark set Configured using: 'configure --with-modules --with-cairo' Configured features: XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND DBUS GSETTINGS GLIB NOTIFY INOTIFY GNUTLS LIBXML2 FREETYPE HARFBUZZ LIBOTF ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS JSON PDUMPER LCMS2 GMP Important settings: value of $LC_MONETARY: ru_RU.UTF-8 value of $LC_NUMERIC: ru_RU.UTF-8 value of $LC_TIME: ru_RU.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tracking-mode: t telega-mode-line-mode: t icomplete-mode: t save-place-mode: t pyvenv-mode: t shell-dirtrack-mode: t display-time-mode: t global-undo-tree-mode: t undo-tree-mode: t override-global-mode: t cl-old-struct-compat-mode: t global-eldoc-mode: t eldoc-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t auto-fill-function: do-auto-fill transient-mark-mode: t Load-path shadows: /home/lg/.emacs.d/elpa/circe-20180105.1158/tracking hides /home/lg/.emacs.d/elpa/tracking-20171210.2102/tracking /home/lg/.emacs.d/elpa/circe-20180105.1158/shorten hides /home/lg/.emacs.d/elpa/tracking-20171210.2102/shorten ~/dev/xelb/xcb-renderutil hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-renderutil ~/dev/xelb/xcb-xinput hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xinput ~/dev/xelb/xcb-shape hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-shape ~/dev/xelb/xcb-icccm hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-icccm ~/dev/xelb/xcb-dri3 hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-dri3 ~/dev/xelb/xcb-xc_misc hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xc_misc ~/dev/xelb/xcb-render hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-render ~/dev/xelb/xcb-xf86vidmode hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xf86vidmode ~/dev/xelb/xcb-cursor hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-cursor ~/dev/xelb/xcb-dri2 hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-dri2 ~/dev/xelb/xcb-xprint hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xprint ~/dev/xelb/xcb-systemtray hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-systemtray ~/dev/xelb/xcb-composite hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-composite ~/dev/xelb/xcb-types hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-types ~/dev/xelb/xcb-dpms hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-dpms ~/dev/xelb/xcb-bigreq hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-bigreq ~/dev/xelb/xcb-xselinux hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xselinux ~/dev/xelb/xcb-xproto hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xproto ~/dev/xelb/xcb-xlib hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xlib ~/dev/xelb/xcb-xf86dri hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xf86dri ~/dev/xelb/xcb hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb ~/dev/xelb/xcb-xembed hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xembed ~/dev/xelb/xcb-present hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-present ~/dev/xelb/xcb-screensaver hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-screensaver ~/dev/xelb/xcb-shm hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-shm ~/dev/xelb/xcb-ge hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-ge ~/dev/xelb/xcb-xinerama hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xinerama ~/dev/xelb/xcb-xim hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xim ~/dev/xelb/xcb-damage hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-damage ~/dev/xelb/xcb-glx hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-glx ~/dev/xelb/xcb-sync hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-sync ~/dev/xelb/xcb-res hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-res ~/dev/xelb/xcb-xfixes hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xfixes ~/dev/xelb/xcb-xtest hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xtest ~/dev/xelb/xcb-keysyms hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-keysyms ~/dev/xelb/xcb-ewmh hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-ewmh ~/dev/xelb/el_client hides /home/lg/.emacs.d/elpa/xelb-0.18/el_client ~/dev/xelb/xcb-record hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-record ~/dev/xelb/xcb-xv hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xv ~/dev/xelb/xcb-randr hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-randr ~/dev/xelb/xcb-xkb hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xkb ~/dev/xelb/xcb-xevie hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xevie ~/dev/xelb/xcb-xvmc hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xvmc ~/dev/xelb/xelb hides /home/lg/.emacs.d/elpa/xelb-0.18/xelb Features: (shadow sort mail-extr emacsbug sendmail descr-text bug-reference cc-mode cc-fonts cc-guess cc-menus cc-styles cc-align apropos profiler find-func disp-table fill-column-indicator vc vc-dispatcher vc-git smerge-mode git log-edit pcvs-util add-log misearch multi-isearch wordfreq face-remap rect mm-archive gnutls network-stream url-cache multitran mule-util hl-line tracking shorten telega telega-modes telega-webpage telega-tme visual-fill-column telega-chat telega-i18n telega-company telega-user telega-sticker telega-notifications notifications dbus telega-msg telega-vvnote telega-media telega-root telega-voip telega-ffplay telega-info telega-filter telega-ins telega-inline telega-tdlib telega-util color svg dom xml ewoc telega-server telega-core cursor-sensor telega-customize exwm-wconf winner exwm-misc exwm exwm-match exwm-input xcb-keysyms exwm-manage exwm-floating xcb-cursor xcb-render exwm-layout exwm-workspace exwm-core xcb-ewmh xcb-icccm xcb xcb-xproto xcb-types work desktop frameset gnus-demon nntp gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc gnus-spec gnus-win nnoo gnus-int gnus-range message rfc822 mml mml-sec epa epg epg-config mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader gnus nnheader gnus-util rmail rmail-loaddefs text-property-search mail-utils autoinsert cal-menu calendar cal-loaddefs icomplete saveplace cython-mode company-capf company pcase help-fns radix-tree elpy find-file-in-project ivy delsel ivy-overlay ffap windmove diff-mode elpy-shell pyvenv elpy-profile elpy-django elpy-refactor python tramp-sh tramp tramp-loaddefs trampver tramp-integration tramp-compat parse-time iso8601 time-date ls-lisp format-spec grep files-x etags fileloop generator xref project cus-edit cus-start cus-load wid-edit python-mode info-look which-func imenu shell pcomplete hippie-exp flymake-proc flymake warnings thingatpt compile cc-cmds cc-engine cc-vars cc-defs dot-mode gist dired dired-loaddefs gh-gist gh-oauth gh-api logito gh-cache pcache gh-auth gh-url url-http url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm rmc puny timezone eieio-base server time google-translate google-translate-default-ui google-translate-core-ui google-translate-core google-translate-tk url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap whitespace undo-tree diff ido comint ansi-color ring avoid ibuffer-vc ibuf-ext ibuffer ibuffer-loaddefs edmacro kmacro browse-kill-ring derived cl cl-extra help-mode use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core tex-site gh-common gh-profile rx s marshal eieio-compat dash advice info package easymenu browse-url url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 844236 204685) (symbols 48 53129 1) (strings 32 212317 6977) (string-bytes 1 7670144) (vectors 16 104746) (vector-slots 8 3029493 25214) (floats 8 5990 341) (intervals 56 26458 1076) (buffers 1000 53) (heap 1024 91340 6613)) -- lg --0000000000008af124059c1978f3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I'm experiencing extreme Emacs slowdown when VARIATION= SELECTOR-16 char
is used somewhere in Emacs buffer.=C2=A0 For example, = I just executed:

=C2=A0 =C2=A0(insert "a\xfe0f")

in= *scratch* buffer.=C2=A0 Moving cursor (when this char is visible) becomeunbearable.=C2=A0 Here is the results of cpu profiling:

=C2=A0 - c= ommand-execute =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 776 =C2=A062%
=C2=A0 =C2=A0- call-int= eractively =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 776 =C2=A062%
=C2=A0 =C2=A0 - funcall-interactively = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 675 =C2= =A054%
=C2=A0 =C2=A0 =C2=A0- previous-line =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0476 =C2= =A038%
=C2=A0 =C2=A0 =C2=A0 - line-move =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 476 = =C2=A038%
=C2=A0 =C2=A0 =C2=A0 =C2=A0- line-move-1 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A047= 6 =C2=A038%
=C2=A0 =C2=A0 =C2=A0 =C2=A0 + vertical-motion =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 225 =C2=A018%=C2=A0 =C2=A0 =C2=A0- next-line =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0198 =C2= =A015%
=C2=A0 =C2=A0 =C2=A0 - line-move =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 198 = =C2=A015%
=C2=A0 =C2=A0 =C2=A0 =C2=A0- line-move-1 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A019= 8 =C2=A015%
=C2=A0 =C2=A0 =C2=A0 =C2=A0 + vertical-motion =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A094 =C2=A0= 7%
=C2=A0 =C2=A0 =C2=A0+ execute-extended-command =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 1 =C2=A0 0%
=C2=A0 =C2=A0 + byte-= code =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 101 =C2=A0 8%
=C2=A0 =C2=A0 auto-= compose-chars =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0185 =C2=A014%
=C2=A0 + timer-event-handler = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 175 =C2=A014%
=C2=A0 - redisplay_internal (C function) =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A075 =C2=A0 6%
=C2=A0 =C2=A0 =C2=A0auto-= compose-chars =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A075 =C2=A0 6%
=C2=A0 - ... =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A030 =C2=A0 2%
=C2=A0 = =C2=A0 =C2=A0Automatic GC =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A030 =C2=A0 2%
=
As I remember I did not experienced something similar in Emacs 26/27
Thanks

--------------------
In GNU Emacs 28.0.50 (build 3, x= 86_64-pc-linux-gnu, GTK+ Version 3.18.9, cairo version 1.14.6)
=C2=A0of = 2020-01-13 built on wrt
Repository revision: 7c5d6a2afc6c23a7fff8456f506= ee2aa2d37a3b9
Repository branch: master
Windowing system distributor = 'The X.Org Foundation', version 11.0.11804000
System Description= : Ubuntu 16.04.1 LTS

Recent messages:
next-line: End of buffer [2= times]
Mark activated [2 times]
CPU profiler stopped
CPU profiler= started
Mark set
Quit
Mark set
CPU profiler stopped
CPU pro= filer started
Mark set

Configured using:
=C2=A0'configure = --with-modules --with-cairo'

Configured features:
XPM JPEG TI= FF GIF PNG RSVG CAIRO SOUND DBUS GSETTINGS GLIB NOTIFY
INOTIFY GNUTLS LI= BXML2 FREETYPE HARFBUZZ LIBOTF ZLIB TOOLKIT_SCROLL_BARS
GTK3 X11 XDBE XI= M MODULES THREADS JSON PDUMPER LCMS2 GMP

Important settings:
=C2= =A0 value of $LC_MONETARY: ru_RU.UTF-8
=C2=A0 value of $LC_NUMERIC: ru_R= U.UTF-8
=C2=A0 value of $LC_TIME: ru_RU.UTF-8
=C2=A0 value of $LANG: = en_US.UTF-8
=C2=A0 locale-coding-system: utf-8-unix

Major mode: L= isp Interaction

Minor modes in effect:
=C2=A0 tracking-mode: t=C2=A0 telega-mode-line-mode: t
=C2=A0 icomplete-mode: t
=C2=A0 save= -place-mode: t
=C2=A0 pyvenv-mode: t
=C2=A0 shell-dirtrack-mode: t=C2=A0 display-time-mode: t
=C2=A0 global-undo-tree-mode: t
=C2=A0 u= ndo-tree-mode: t
=C2=A0 override-global-mode: t
=C2=A0 cl-old-struct-= compat-mode: t
=C2=A0 global-eldoc-mode: t
=C2=A0 eldoc-mode: t
= =C2=A0 mouse-wheel-mode: t
=C2=A0 file-name-shadow-mode: t
=C2=A0 glo= bal-font-lock-mode: t
=C2=A0 auto-composition-mode: t
=C2=A0 auto-enc= ryption-mode: t
=C2=A0 auto-compression-mode: t
=C2=A0 column-number-= mode: t
=C2=A0 line-number-mode: t
=C2=A0 auto-fill-function: do-auto= -fill
=C2=A0 transient-mark-mode: t

Load-path shadows:
/home/l= g/.emacs.d/elpa/circe-20180105.1158/tracking hides /home/lg/.emacs.d/elpa/t= racking-20171210.2102/tracking
/home/lg/.emacs.d/elpa/circe-20180105.115= 8/shorten hides /home/lg/.emacs.d/elpa/tracking-20171210.2102/shorten
~/= dev/xelb/xcb-renderutil hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-renderut= il
~/dev/xelb/xcb-xinput hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xinp= ut
~/dev/xelb/xcb-shape hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-shape=
~/dev/xelb/xcb-icccm hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-icccm~/dev/xelb/xcb-dri3 hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-dri3
~/= dev/xelb/xcb-xc_misc hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xc_misc
= ~/dev/xelb/xcb-render hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-render
= ~/dev/xelb/xcb-xf86vidmode hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xf86v= idmode
~/dev/xelb/xcb-cursor hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-= cursor
~/dev/xelb/xcb-dri2 hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-dr= i2
~/dev/xelb/xcb-xprint hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xpri= nt
~/dev/xelb/xcb-systemtray hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-= systemtray
~/dev/xelb/xcb-composite hides /home/lg/.emacs.d/elpa/xelb-0.= 18/xcb-composite
~/dev/xelb/xcb-types hides /home/lg/.emacs.d/elpa/xelb-= 0.18/xcb-types
~/dev/xelb/xcb-dpms hides /home/lg/.emacs.d/elpa/xelb-0.1= 8/xcb-dpms
~/dev/xelb/xcb-bigreq hides /home/lg/.emacs.d/elpa/xelb-0.18/= xcb-bigreq
~/dev/xelb/xcb-xselinux hides /home/lg/.emacs.d/elpa/xelb-0.1= 8/xcb-xselinux
~/dev/xelb/xcb-xproto hides /home/lg/.emacs.d/elpa/xelb-0= .18/xcb-xproto
~/dev/xelb/xcb-xlib hides /home/lg/.emacs.d/elpa/xelb-0.1= 8/xcb-xlib
~/dev/xelb/xcb-xf86dri hides /home/lg/.emacs.d/elpa/xelb-0.18= /xcb-xf86dri
~/dev/xelb/xcb hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb~/dev/xelb/xcb-xembed hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xembed~/dev/xelb/xcb-present hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-present=
~/dev/xelb/xcb-screensaver hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-s= creensaver
~/dev/xelb/xcb-shm hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb= -shm
~/dev/xelb/xcb-ge hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-ge
= ~/dev/xelb/xcb-xinerama hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xinerama=
~/dev/xelb/xcb-xim hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xim
~/= dev/xelb/xcb-damage hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-damage
~/= dev/xelb/xcb-glx hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-glx
~/dev/xe= lb/xcb-sync hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-sync
~/dev/xelb/x= cb-res hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-res
~/dev/xelb/xcb-xfi= xes hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xfixes
~/dev/xelb/xcb-xte= st hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xtest
~/dev/xelb/xcb-keysy= ms hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-keysyms
~/dev/xelb/xcb-ewm= h hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-ewmh
~/dev/xelb/el_client h= ides /home/lg/.emacs.d/elpa/xelb-0.18/el_client
~/dev/xelb/xcb-record hi= des /home/lg/.emacs.d/elpa/xelb-0.18/xcb-record
~/dev/xelb/xcb-xv hides = /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xv
~/dev/xelb/xcb-randr hides /home= /lg/.emacs.d/elpa/xelb-0.18/xcb-randr
~/dev/xelb/xcb-xkb hides /home/lg/= .emacs.d/elpa/xelb-0.18/xcb-xkb
~/dev/xelb/xcb-xevie hides /home/lg/.ema= cs.d/elpa/xelb-0.18/xcb-xevie
~/dev/xelb/xcb-xvmc hides /home/lg/.emacs.= d/elpa/xelb-0.18/xcb-xvmc
~/dev/xelb/xelb hides /home/lg/.emacs.d/elpa/x= elb-0.18/xelb

Features:
(shadow sort mail-extr emacsbug sendmail = descr-text bug-reference
cc-mode cc-fonts cc-guess cc-menus cc-styles cc= -align apropos profiler
find-func disp-table fill-column-indicator vc vc= -dispatcher vc-git
smerge-mode git log-edit pcvs-util add-log misearch m= ulti-isearch
wordfreq face-remap rect mm-archive gnutls network-stream u= rl-cache
multitran mule-util hl-line tracking shorten telega telega-mode= s
telega-webpage telega-tme visual-fill-column telega-chat telega-i18ntelega-company telega-user telega-sticker telega-notifications
notific= ations dbus telega-msg telega-vvnote telega-media telega-root
telega-voi= p telega-ffplay telega-info telega-filter telega-ins
telega-inline teleg= a-tdlib telega-util color svg dom xml ewoc
telega-server telega-core cur= sor-sensor telega-customize exwm-wconf
winner exwm-misc exwm exwm-match = exwm-input xcb-keysyms exwm-manage
exwm-floating xcb-cursor xcb-render e= xwm-layout exwm-workspace exwm-core
xcb-ewmh xcb-icccm xcb xcb-xproto xc= b-types work desktop frameset
gnus-demon nntp gnus-group gnus-undo gnus-= start gnus-cloud nnimap nnmail
mail-source utf7 netrc gnus-spec gnus-win= nnoo gnus-int gnus-range
message rfc822 mml mml-sec epa epg epg-config = mm-decode mm-bodies
mm-encode mailabbrev gmm-utils mailheader gnus nnhea= der gnus-util rmail
rmail-loaddefs text-property-search mail-utils autoi= nsert cal-menu
calendar cal-loaddefs icomplete saveplace cython-mode com= pany-capf
company pcase help-fns radix-tree elpy find-file-in-project iv= y delsel
ivy-overlay ffap windmove diff-mode elpy-shell pyvenv elpy-prof= ile
elpy-django elpy-refactor python tramp-sh tramp tramp-loaddefs tramp= ver
tramp-integration tramp-compat parse-time iso8601 time-date ls-lisp<= br>format-spec grep files-x etags fileloop generator xref project cus-edit<= br>cus-start cus-load wid-edit python-mode info-look which-func imenu shell=
pcomplete hippie-exp flymake-proc flymake warnings thingatpt compilecc-cmds cc-engine cc-vars cc-defs dot-mode gist dired dired-loaddefs
gh= -gist gh-oauth gh-api logito gh-cache pcache gh-auth gh-url url-http
url= -auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr u= rl-gw nsm rmc puny timezone eieio-base server time
google-translate goog= le-translate-default-ui google-translate-core-ui
google-translate-core g= oogle-translate-tk url url-proxy url-privacy
url-expand url-methods url-= history url-cookie url-domsuf url-util
mailcap whitespace undo-tree diff= ido comint ansi-color ring avoid
ibuffer-vc ibuf-ext ibuffer ibuffer-lo= addefs edmacro kmacro
browse-kill-ring derived cl cl-extra help-mode use= -package
use-package-ensure use-package-delight use-package-diminish
= use-package-bind-key bind-key easy-mmode use-package-core tex-site
gh-co= mmon gh-profile rx s marshal eieio-compat dash advice info package
easym= enu browse-url url-handlers url-parse auth-source cl-seq eieio
eieio-cor= e cl-macs eieio-loaddefs password-cache json subr-x map
url-vars seq byt= e-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib
tooltip eldoc el= ectric uniquify ediff-hook vc-hooks lisp-float-type
mwheel term/x-win x-= win term/common-win x-dnd tool-bar dnd fontset image
regexp-opt fringe t= abulated-list replace newcomment text-mode elisp-mode
lisp-mode prog-mod= e register page tab-bar menu-bar rfn-eshadow isearch
timer select scroll= -bar mouse jit-lock font-lock syntax facemenu
font-core term/tty-colors = frame minibuffer cl-generic cham georgian
utf-8-lang misc-lang vietnames= e tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew gree= k romanian slovak czech european
ethiopic indian cyrillic chinese compos= ite charscript charprop
case-table epa-hook jka-cmpr-hook help simple ab= brev obarray
cl-preloaded nadvice loaddefs button faces cus-face macroex= p files
text-properties overlay sha1 md5 base64 format env code-pages mu= le
custom widget hashtable-print-readable backquote threads dbusbind
= inotify lcms2 dynamic-setting system-font-setting font-render-setting
ca= iro move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)
<= br>Memory information:
((conses 16 844236 204685)
=C2=A0(symbols 48 5= 3129 1)
=C2=A0(strings 32 212317 6977)
=C2=A0(string-bytes 1 7670144)=
=C2=A0(vectors 16 104746)
=C2=A0(vector-slots 8 3029493 25214)
= =C2=A0(floats 8 5990 341)
=C2=A0(intervals 56 26458 1076)
=C2=A0(buff= ers 1000 53)
=C2=A0(heap 1024 91340 6613))

--
lg
--0000000000008af124059c1978f3-- From unknown Sun Jun 22 08:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#39133: 28.0.50; Emacs slowdown on special char Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 14 Jan 2020 15:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39133 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Evgeny Zajcev Cc: 39133@debbugs.gnu.org Received: via spool by 39133-submit@debbugs.gnu.org id=B39133.157901560517293 (code B ref 39133); Tue, 14 Jan 2020 15:27:02 +0000 Received: (at 39133) by debbugs.gnu.org; 14 Jan 2020 15:26:45 +0000 Received: from localhost ([127.0.0.1]:33410 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1irO5c-0004Uq-UL for submit@debbugs.gnu.org; Tue, 14 Jan 2020 10:26:45 -0500 Received: from eggs.gnu.org ([209.51.188.92]:32776) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1irO5a-0004Ua-NY for 39133@debbugs.gnu.org; Tue, 14 Jan 2020 10:26:43 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47308) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1irO5V-0002t4-2B; Tue, 14 Jan 2020 10:26:37 -0500 Received: from [176.228.60.248] (port=4191 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1irO5T-0006gH-Us; Tue, 14 Jan 2020 10:26:36 -0500 Date: Tue, 14 Jan 2020 17:26:45 +0200 Message-Id: <83lfqa5aa2.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from Evgeny Zajcev on Tue, 14 Jan 2020 16:21:23 +0300) References: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Evgeny Zajcev > Date: Tue, 14 Jan 2020 16:21:23 +0300 > > I'm experiencing extreme Emacs slowdown when VARIATION SELECTOR-16 char > is used somewhere in Emacs buffer. For example, I just executed: > > (insert "a\xfe0f") > > in *scratch* buffer. Moving cursor (when this char is visible) become > unbearable. Here is the results of cpu profiling: > > - command-execute 776 62% > - call-interactively 776 62% > - funcall-interactively 675 54% > - previous-line 476 38% > - line-move 476 38% > - line-move-1 476 38% > + vertical-motion 225 18% Does it help to set inhibit-compacting-font-caches non-nil? > As I remember I did not experienced something similar in Emacs 26/27 I don't think Emacs < 27 supported variation selectors, did it? From unknown Sun Jun 22 08:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#39133: 28.0.50; Emacs slowdown on special char Resent-From: Robert Pluim Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 14 Jan 2020 16:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39133 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 39133@debbugs.gnu.org, Evgeny Zajcev Received: via spool by 39133-submit@debbugs.gnu.org id=B39133.157901905422971 (code B ref 39133); Tue, 14 Jan 2020 16:25:02 +0000 Received: (at 39133) by debbugs.gnu.org; 14 Jan 2020 16:24:14 +0000 Received: from localhost ([127.0.0.1]:33458 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1irOzF-0005yR-PS for submit@debbugs.gnu.org; Tue, 14 Jan 2020 11:24:14 -0500 Received: from mail-wr1-f46.google.com ([209.85.221.46]:46204) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1irOzF-0005yC-0O for 39133@debbugs.gnu.org; Tue, 14 Jan 2020 11:24:13 -0500 Received: by mail-wr1-f46.google.com with SMTP id z7so12743640wrl.13 for <39133@debbugs.gnu.org>; Tue, 14 Jan 2020 08:24:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :mime-version:content-transfer-encoding; bh=wvb7F2prjRaAUSkxxWH1A24fsF07KXsSWyOt7q5xdkQ=; b=Zhjmm90gruWNvv7gwwPfeJ8xD2Q6Ye44KCeMbQXTvkTMM7mvtlnoPxan8pmc7riaFg cIVxwj6DwKnf714ZDQuhajvYbOhkODgOJWC1bdYe/2qM4P6BKVXKDXU2MKCwUHy5wui5 cAe/6XBX1fVu4ZqBoh7tLQrJv1inY0Z5T5UicYyWC3ZZ5bO78ZkY2aLsgDhcB8nT1PK7 LMuJOo6TmRYFKvLZHz185wM4GdrhrKe2Lj/HS8Ug7cpohNOYjxl/IQjHR9pnXYlMlUAw dK/I6iMMxPFiEEv3CMG5LgSYhXLqTlsVstsXQltIWY3I7WFBpet3e6ksOuhijSr8P0es Rk2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:mime-version:content-transfer-encoding; bh=wvb7F2prjRaAUSkxxWH1A24fsF07KXsSWyOt7q5xdkQ=; b=dUY5LDM5tUaG2uoi4ahz8vqHZrwGuEywTCEjnfarL/5jHBI85iEZIf9q1q81EiRtX2 Rc4+0iwwYwIzBvi/6BfI8qHEkeUNMNJJQ3yvsVtN7oGB28RXhbjEkTG6iwn0fWGl7C2b 6oB87pR69iN4HaXOn7tQNwk0dk1pF0XpngHZ0D3CIY4RqDyd1s0EoIMsVTQPVD6A9Pxn cdhMmT5KvN2Gxg95i/wO6GFKLrf2nIpY+HlvLAOP6J5kS4DZZyJLJGNpKoPvZz6ANpl4 rlLwJ/4X4K+XEdwk8YwQAayYK6EU75SJHpol5pvD19wWYDQY5qllaqkhhj8/4hupCXfl iFeQ== X-Gm-Message-State: APjAAAUALi9AJY6wEMSg9NMHmUmBjkEEYfqo8lMI7+jRKlnKKpuzB7BE wM3ofh49wKWF1KsOl0LrU5hnDjifJqI= X-Google-Smtp-Source: APXvYqzzOrGlg1c+UgM7FQEBWPyNLpEkemF323LNTfqFOSj2v8DQ8JDiaJn9MpxCE9bfEHtTEhrizg== X-Received: by 2002:a05:6000:1047:: with SMTP id c7mr26692873wrx.341.1579019046513; Tue, 14 Jan 2020 08:24:06 -0800 (PST) Received: from rpluim-mac ([149.5.228.1]) by smtp.gmail.com with ESMTPSA id u8sm19243036wmm.15.2020.01.14.08.24.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jan 2020 08:24:05 -0800 (PST) From: Robert Pluim References: <83lfqa5aa2.fsf@gnu.org> Date: Tue, 14 Jan 2020 17:24:05 +0100 In-Reply-To: <83lfqa5aa2.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 14 Jan 2020 17:26:45 +0200") Message-ID: 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@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>>>> On Tue, 14 Jan 2020 17:26:45 +0200, Eli Zaretskii said: >> From: Evgeny Zajcev >> Date: Tue, 14 Jan 2020 16:21:23 +0300 >>=20 >> I'm experiencing extreme Emacs slowdown when VARIATION SELECTOR-16 c= har >> is used somewhere in Emacs buffer. For example, I just executed: >>=20 >> (insert "a\xfe0f") >>=20 >> in *scratch* buffer. Moving cursor (when this char is visible) beco= me >> unbearable. Here is the results of cpu profiling: >>=20 >> - command-execute 77= 6 62% >> - call-interactively 776= 62% >> - funcall-interactively 675 = 54% >> - previous-line 476 = 38% >> - line-move 476 3= 8% >> - line-move-1 476 38% >> + vertical-motion 225 18% Eli> Does it help to set inhibit-compacting-font-caches non-nil? >> As I remember I did not experienced something similar in Emacs 26/27 Eli> I don't think Emacs < 27 supported variation selectors, did it? It=CA=BCs coming from the caching in ftcrfont_glyph_extents: row =3D glyph / METRICS_NCOLS_PER_ROW; <=3D=3D glyph =3D=3D 0xFFFFFFFF, r= ow -> 0x1FFFFFF col =3D glyph % METRICS_NCOLS_PER_ROW; if (row >=3D ftcrfont_info->metrics_nrows) { ftcrfont_info->metrics =3D xrealloc (ftcrfont_info->metrics, sizeof (struct font_metrics *) * (row + 1)); memset (ftcrfont_info->metrics + ftcrfont_info->metrics_nrows, 0, (sizeof (struct font_metrics *) * (row + 1 - ftcrfont_info->metrics_nrows))); ftcrfont_info->metrics_nrows =3D row + 1; <=3D=3D=3D we=CA=BCre updat= ing metrics_nrows, lets look in ftfont.h } ftfont.h: #ifdef USE_CAIRO cairo_scaled_font_t *cr_scaled_font; /* Scale factor from the bitmap strike metrics in 1/64 pixels, used as the hb_position_t value in HarfBuzz, to those in (scaled) pixels. The value is 0 for scalable fonts. */ double bitmap_position_unit; /* Font metrics cache. */ struct font_metrics **metrics; short metrics_nrows; ^^^^^ oops! Now we end up calling xrealloc every time we enter ftctfont_glyph_extents for that glyph. Of course, I don=CA=BCt think glyph should be 0xFFFFFFFF, but that=CA=BCs a different problem. Robert From unknown Sun Jun 22 08:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#39133: 28.0.50; Emacs slowdown on special char Resent-From: YAMAMOTO Mitsuharu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 15 Jan 2020 04:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39133 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Robert Pluim Cc: 39133@debbugs.gnu.org, Eli Zaretskii , Evgeny Zajcev , handa@gnu.org Received: via spool by 39133-submit@debbugs.gnu.org id=B39133.15790623771843 (code B ref 39133); Wed, 15 Jan 2020 04:27:02 +0000 Received: (at 39133) by debbugs.gnu.org; 15 Jan 2020 04:26:17 +0000 Received: from localhost ([127.0.0.1]:34052 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iraG0-0000Tf-Ts for submit@debbugs.gnu.org; Tue, 14 Jan 2020 23:26:17 -0500 Received: from mathmail.math.s.chiba-u.ac.jp ([133.82.132.2]:55993) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iraFy-0000TS-N3 for 39133@debbugs.gnu.org; Tue, 14 Jan 2020 23:26:15 -0500 Received: from mathent.math.s.chiba-u.ac.jp (mathent [192.168.32.5]) by mathmail.math.s.chiba-u.ac.jp (Postfix) with ESMTP id 4E961F08ED; Wed, 15 Jan 2020 13:26:11 +0900 (JST) (envelope-from mituharu@math.s.chiba-u.ac.jp) Date: Wed, 15 Jan 2020 13:26:11 +0900 Message-ID: From: YAMAMOTO Mitsuharu In-Reply-To: References: <83lfqa5aa2.fsf@gnu.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM/1.14.9 (=?UTF-8?Q?Goj=C5=8D?=) APEL/10.8 EasyPG/1.0.0 Emacs/26 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) Organization: Faculty of Science, Chiba University MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Wed, 15 Jan 2020 01:24:05 +0900, Robert Pluim wrote: >=20 > >>>>> On Tue, 14 Jan 2020 17:26:45 +0200, Eli Zaretskii sa= id: >=20 > >> From: Evgeny Zajcev > >> Date: Tue, 14 Jan 2020 16:21:23 +0300 > >>=20 > >> I'm experiencing extreme Emacs slowdown when VARIATION SELECTOR-16= char > >> is used somewhere in Emacs buffer. For example, I just executed: > >>=20 > >> (insert "a\xfe0f") > >>=20 > >> in *scratch* buffer. Moving cursor (when this char is visible) be= come > >> unbearable. Here is the results of cpu profiling: > >>=20 > >> - command-execute = 776 62% > >> - call-interactively 7= 76 62% > >> - funcall-interactively 67= 5 54% > >> - previous-line 476= 38% > >> - line-move 476 = 38% > >> - line-move-1 476 = 38% > >> + vertical-motion 225 1= 8% >=20 > Eli> Does it help to set inhibit-compacting-font-caches non-nil? >=20 > >> As I remember I did not experienced something similar in Emacs 26/= 27 >=20 > Eli> I don't think Emacs < 27 supported variation selectors, did it? >=20 > It=CA=BCs coming from the caching in ftcrfont_glyph_extents: >=20 > row =3D glyph / METRICS_NCOLS_PER_ROW; <=3D=3D glyph =3D=3D 0xFFFFFFFF,= row -> 0x1FFFFFF > col =3D glyph % METRICS_NCOLS_PER_ROW; > if (row >=3D ftcrfont_info->metrics_nrows) > { > ftcrfont_info->metrics =3D > xrealloc (ftcrfont_info->metrics, > sizeof (struct font_metrics *) * (row + 1)); > memset (ftcrfont_info->metrics + ftcrfont_info->metrics_nrows, 0, > (sizeof (struct font_metrics *) > * (row + 1 - ftcrfont_info->metrics_nrows))); > ftcrfont_info->metrics_nrows =3D row + 1; <=3D=3D=3D we=CA=BCre upd= ating > metrics_nrows, lets look in ftfont.h > } >=20 > ftfont.h: >=20 > #ifdef USE_CAIRO > cairo_scaled_font_t *cr_scaled_font; > /* Scale factor from the bitmap strike metrics in 1/64 pixels, used > as the hb_position_t value in HarfBuzz, to those in (scaled) > pixels. The value is 0 for scalable fonts. */ > double bitmap_position_unit; > /* Font metrics cache. */ > struct font_metrics **metrics; > short metrics_nrows; > ^^^^^ oops! Now we end up calling xrealloc every time we enter > ftctfont_glyph_extents for that glyph. >=20 > Of course, I don=CA=BCt think glyph should be 0xFFFFFFFF, but that=CA=BCs= a > different problem. >=20 > Robert 0xFFFFFFFF comes from FONT_INVALID_CODE. font->driver->text_extents shouldn't be called if font->font->driver->encode_char returns it. diff --git a/src/font.c b/src/font.c index 2b90903c90..03e6176220 100644 --- a/src/font.c +++ b/src/font.c @@ -4420,15 +4420,19 @@ font_fill_lglyph_metrics (Lisp_Object glyph, Lisp_O= bject font_object) { struct font *font =3D XFONT_OBJECT (font_object); unsigned code =3D font->driver->encode_char (font, LGLYPH_CHAR (glyph)); - struct font_metrics metrics; - - LGLYPH_SET_CODE (glyph, code); - font->driver->text_extents (font, &code, 1, &metrics); - LGLYPH_SET_LBEARING (glyph, metrics.lbearing); - LGLYPH_SET_RBEARING (glyph, metrics.rbearing); - LGLYPH_SET_WIDTH (glyph, metrics.width); - LGLYPH_SET_ASCENT (glyph, metrics.ascent); - LGLYPH_SET_DESCENT (glyph, metrics.descent); + + if (code !=3D FONT_INVALID_CODE) + { + struct font_metrics metrics; + + LGLYPH_SET_CODE (glyph, code); + font->driver->text_extents (font, &code, 1, &metrics); + LGLYPH_SET_LBEARING (glyph, metrics.lbearing); + LGLYPH_SET_RBEARING (glyph, metrics.rbearing); + LGLYPH_SET_WIDTH (glyph, metrics.width); + LGLYPH_SET_ASCENT (glyph, metrics.ascent); + LGLYPH_SET_DESCENT (glyph, metrics.descent); + } } =20 =20 But I'm not sure if it is ok to leave the code and metrics-related fields nil when encode_char returns FONT_INVALID_CODE. Handa-san? YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp From unknown Sun Jun 22 08:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#39133: 28.0.50; Emacs slowdown on special char In-Reply-To: Resent-From: Robert Pluim Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 15 Jan 2020 08:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39133 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: YAMAMOTO Mitsuharu Cc: 39133@debbugs.gnu.org, Eli Zaretskii , Evgeny Zajcev , handa@gnu.org Received: via spool by 39133-submit@debbugs.gnu.org id=B39133.15790767627692 (code B ref 39133); Wed, 15 Jan 2020 08:27:02 +0000 Received: (at 39133) by debbugs.gnu.org; 15 Jan 2020 08:26:02 +0000 Received: from localhost ([127.0.0.1]:34242 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1irdzx-0001zm-GQ for submit@debbugs.gnu.org; Wed, 15 Jan 2020 03:26:02 -0500 Received: from mail-wm1-f53.google.com ([209.85.128.53]:40919) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1irdzr-0001zR-Rg for 39133@debbugs.gnu.org; Wed, 15 Jan 2020 03:25:56 -0500 Received: by mail-wm1-f53.google.com with SMTP id t14so16750814wmi.5 for <39133@debbugs.gnu.org>; Wed, 15 Jan 2020 00:25:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:message-id:mime-version :content-transfer-encoding; bh=CjcGgCoYhDWKc1GQ6nNS3oK9wP4g6HuVYSycC2wpx5s=; b=mZd76WI9tMOPqrtWJwXyiYuqOfJmgBkuAM4x6IvX36g+EijPjB+mtpltQINIp0dg2N 1M9t6uEL+FURz8kWMIBvfYcQ2DVqjl3X3Bw4j1yax1+kgFTY77x/iJzThUURoVz9iPtS QmXXG7lL9z6uBZ0se2wz4koy8zSPhZBYrdkmu71u3TWu+6d4IIrLCs5cgGW+R3j8PhqS WkK9j8FSWF63QK7LLI4sIW7rPwzDewRPchkgfuDDm0ICqVAILMZ/zZ7W3AAsae4CdShN /1yPlhVjH3+cvJnmG/uGhwss4O/BSqK+O1z2fuIePpdLh7/0Zy04xHU0B1LqPZBYi536 rmig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:message-id :mime-version:content-transfer-encoding; bh=CjcGgCoYhDWKc1GQ6nNS3oK9wP4g6HuVYSycC2wpx5s=; b=cSGCMzOrAYiC3ZS9e5j29Ig0RYkl4RXgclRLtgQBacjMMvLbapBGCqfI7xtc+3u/Tq KAlzYnBllmgGZStpcbxjNgWa9Baa8iBMncRy99Chx3tNE3gMFueV5Jb0w3tGPdwCSsDv dxjRdKCzQCuK4bGsYVzOEP1iZR/HDbQTNuOq4arEisfGx9gtH5auAzTNz3QrtU4yHTL8 bYN5v3gbGgBfZQB6oa8zrBldF8Xbkcl0DoDJuazeP+XeZiNSDqXifQ8g7EZARQDfoi3p nWBesTah0fnBACIFytCmvRQDVoZZw5ai6qtieRrwHvmQb7W9hMn7mNPEnOFFpMZP4OBX W5TQ== X-Gm-Message-State: APjAAAXaGcVNqS+cQksbiT6/sc0gNBoKpg+AqPyiPDzpf19KMfyQWrtz cBihubv59s59c6yhlkUdCbk= X-Google-Smtp-Source: APXvYqwOs3Dm7xVF+ZlMoqYx9X8wNVpMZmnMwcgAa8/GQLXcS7zsHNsisfp4ZRyRaJz9qwYA74geVQ== X-Received: by 2002:a05:600c:20e:: with SMTP id 14mr24440859wmi.104.1579076745821; Wed, 15 Jan 2020 00:25:45 -0800 (PST) Received: from rpluim-mac ([149.5.228.1]) by smtp.gmail.com with ESMTPSA id n189sm22877703wme.33.2020.01.15.00.25.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jan 2020 00:25:45 -0800 (PST) From: Robert Pluim References: <83lfqa5aa2.fsf@gnu.org> Date: Wed, 15 Jan 2020 09:25:43 +0100 Message-ID: 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@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>>>> On Wed, 15 Jan 2020 13:26:11 +0900, YAMAMOTO Mitsuharu said: YAMAMOTO> 0xFFFFFFFF comes from FONT_INVALID_CODE. font->driver->text_e= xtents YAMAMOTO> shouldn't be called if font->font->driver->encode_char return= s it. YAMAMOTO> diff --git a/src/font.c b/src/font.c YAMAMOTO> index 2b90903c90..03e6176220 100644 YAMAMOTO> --- a/src/font.c YAMAMOTO> +++ b/src/font.c YAMAMOTO> @@ -4420,15 +4420,19 @@ font_fill_lglyph_metrics (Lisp_Object= glyph, Lisp_Object font_object) YAMAMOTO> { YAMAMOTO> struct font *font =3D XFONT_OBJECT (font_object); YAMAMOTO> unsigned code =3D font->driver->encode_char (font, LGLYPH_= CHAR (glyph)); YAMAMOTO> - struct font_metrics metrics; YAMAMOTO> - YAMAMOTO> - LGLYPH_SET_CODE (glyph, code); YAMAMOTO> - font->driver->text_extents (font, &code, 1, &metrics); YAMAMOTO> - LGLYPH_SET_LBEARING (glyph, metrics.lbearing); YAMAMOTO> - LGLYPH_SET_RBEARING (glyph, metrics.rbearing); YAMAMOTO> - LGLYPH_SET_WIDTH (glyph, metrics.width); YAMAMOTO> - LGLYPH_SET_ASCENT (glyph, metrics.ascent); YAMAMOTO> - LGLYPH_SET_DESCENT (glyph, metrics.descent); YAMAMOTO> + YAMAMOTO> + if (code !=3D FONT_INVALID_CODE) YAMAMOTO> + { YAMAMOTO> + struct font_metrics metrics; YAMAMOTO> + YAMAMOTO> + LGLYPH_SET_CODE (glyph, code); YAMAMOTO> + font->driver->text_extents (font, &code, 1, &metrics); YAMAMOTO> + LGLYPH_SET_LBEARING (glyph, metrics.lbearing); YAMAMOTO> + LGLYPH_SET_RBEARING (glyph, metrics.rbearing); YAMAMOTO> + LGLYPH_SET_WIDTH (glyph, metrics.width); YAMAMOTO> + LGLYPH_SET_ASCENT (glyph, metrics.ascent); YAMAMOTO> + LGLYPH_SET_DESCENT (glyph, metrics.descent); YAMAMOTO> + } YAMAMOTO> } =20 =20 YAMAMOTO> But I'm not sure if it is ok to leave the code and metrics-re= lated YAMAMOTO> fields nil when encode_char returns FONT_INVALID_CODE. Handa= -san? I don=CA=BCt know either, but your patch fixes the slowdown and I=CA=BCve s= een no negative effects yet. Robert From unknown Sun Jun 22 08:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#39133: 28.0.50; Emacs slowdown on special char Resent-From: Evgeny Zajcev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 15 Jan 2020 10:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39133 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Robert Pluim Cc: handa@gnu.org, Eli Zaretskii , 39133@debbugs.gnu.org, YAMAMOTO Mitsuharu Received: via spool by 39133-submit@debbugs.gnu.org id=B39133.157908529211221 (code B ref 39133); Wed, 15 Jan 2020 10:49:02 +0000 Received: (at 39133) by debbugs.gnu.org; 15 Jan 2020 10:48:12 +0000 Received: from localhost ([127.0.0.1]:34302 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1irgDY-0002up-RR for submit@debbugs.gnu.org; Wed, 15 Jan 2020 05:48:12 -0500 Received: from mail-lf1-f45.google.com ([209.85.167.45]:36891) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1irgDS-0002u4-Lk for 39133@debbugs.gnu.org; Wed, 15 Jan 2020 05:48:06 -0500 Received: by mail-lf1-f45.google.com with SMTP id b15so12326925lfc.4 for <39133@debbugs.gnu.org>; Wed, 15 Jan 2020 02:48:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=KHIrum8UYIZHije9xKDhi8QeT0sE0KqLXvNDZNdYHZ4=; b=T0e9kj8sVw//Swis/LSAhjoZjh3z1FPDx+kdB9c96khY4iDT+y69yQm6XXDaW2vGUw 68oAXOHsqyTdZlUf/P10Nw4Ig+Grd6q2mHOTiacYPfJ0rqtaUlmrQT5rflibodQdWsJz XHQSs6W5j9k78EXHJS4amLyY65xRlEQoH7eGOY4gSJR72cvGO0b5jtrAExzP76cZU4tv TP9dewgFIikzlRVDFBUUKNxSQUIvUsKQtPdecEbvI88bG+SlqBjpEqyNufNTgUQSiDHZ ADPNzMgn1/YyHUIF+M70aM1aztVueZ3/uuEe1HsDLDlznOSLqQhG/D7IcV14hOEOnNBU 92kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=KHIrum8UYIZHije9xKDhi8QeT0sE0KqLXvNDZNdYHZ4=; b=cJ4ahAcHHCxGnsF4icrsWbsbUrX2Yyve05uaAX0kasZ6SPAZ2TAxyr6LsfYsuf4Nhb 0XJb2FTFm9P3ugIXJR+Ioo+hlPrb0+ZyXEdwu7SarVl3W0CnpTPPsrIQut22JbdzYRbi lpSa+ZTl1vO2Y9QrEi25gq2Nvw44SwNh75KAJPFX4fiu7U4TJC47RnbdZEajhZszt7Rp SurX+5VMsvhTRw7StoQMsh4Mwc/1/gFNNLwI6WdkR0WFwT9BVF2MO+3xNjLv1qdn1xNx HQVMyugMzty/wgJvAHpk0ToSPvvQFcKK5PqPev2KBSjtXV3sGExE1k4/bhaw+F8Hg4zL hpYA== X-Gm-Message-State: APjAAAUSBnlDUKZdj128UkCVwkdScBITSDMpCzPCPHjmD1/4Tfydcf3j TY782D/QRbIQFz2EpaaIA9Fh6yUr+plmoHXVFqI= X-Google-Smtp-Source: APXvYqwNj2lNR8zkPP5TVPxY/VATfIT/aJe3quSYOm4zQswBRn0+u5KzYy1RDfjjdgLE7Q0aw/ZzSkZkvOwKf+EbbDU= X-Received: by 2002:ac2:5b41:: with SMTP id i1mr4361174lfp.82.1579085276592; Wed, 15 Jan 2020 02:47:56 -0800 (PST) MIME-Version: 1.0 References: <83lfqa5aa2.fsf@gnu.org> In-Reply-To: From: Evgeny Zajcev Date: Wed, 15 Jan 2020 13:47:45 +0300 Message-ID: Content-Type: multipart/alternative; boundary="000000000000fb3db2059c2b7043" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000fb3db2059c2b7043 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable =D1=81=D1=80, 15 =D1=8F=D0=BD=D0=B2. 2020 =D0=B3. =D0=B2 11:25, Robert Plui= m : > >>>>> On Wed, 15 Jan 2020 13:26:11 +0900, YAMAMOTO Mitsuharu < > mituharu@math.s.chiba-u.ac.jp> said: > > YAMAMOTO> 0xFFFFFFFF comes from FONT_INVALID_CODE. > font->driver->text_extents > YAMAMOTO> shouldn't be called if font->font->driver->encode_char > returns it. > > YAMAMOTO> diff --git a/src/font.c b/src/font.c > YAMAMOTO> index 2b90903c90..03e6176220 100644 > YAMAMOTO> --- a/src/font.c > YAMAMOTO> +++ b/src/font.c > YAMAMOTO> @@ -4420,15 +4420,19 @@ font_fill_lglyph_metrics > (Lisp_Object glyph, Lisp_Object font_object) > YAMAMOTO> { > YAMAMOTO> struct font *font =3D XFONT_OBJECT (font_object); > YAMAMOTO> unsigned code =3D font->driver->encode_char (font, > LGLYPH_CHAR (glyph)); > YAMAMOTO> - struct font_metrics metrics; > YAMAMOTO> - > YAMAMOTO> - LGLYPH_SET_CODE (glyph, code); > YAMAMOTO> - font->driver->text_extents (font, &code, 1, &metrics); > YAMAMOTO> - LGLYPH_SET_LBEARING (glyph, metrics.lbearing); > YAMAMOTO> - LGLYPH_SET_RBEARING (glyph, metrics.rbearing); > YAMAMOTO> - LGLYPH_SET_WIDTH (glyph, metrics.width); > YAMAMOTO> - LGLYPH_SET_ASCENT (glyph, metrics.ascent); > YAMAMOTO> - LGLYPH_SET_DESCENT (glyph, metrics.descent); > YAMAMOTO> + > YAMAMOTO> + if (code !=3D FONT_INVALID_CODE) > YAMAMOTO> + { > YAMAMOTO> + struct font_metrics metrics; > YAMAMOTO> + > YAMAMOTO> + LGLYPH_SET_CODE (glyph, code); > YAMAMOTO> + font->driver->text_extents (font, &code, 1, &metrics= ); > YAMAMOTO> + LGLYPH_SET_LBEARING (glyph, metrics.lbearing); > YAMAMOTO> + LGLYPH_SET_RBEARING (glyph, metrics.rbearing); > YAMAMOTO> + LGLYPH_SET_WIDTH (glyph, metrics.width); > YAMAMOTO> + LGLYPH_SET_ASCENT (glyph, metrics.ascent); > YAMAMOTO> + LGLYPH_SET_DESCENT (glyph, metrics.descent); > YAMAMOTO> + } > YAMAMOTO> } > > > YAMAMOTO> But I'm not sure if it is ok to leave the code and > metrics-related > YAMAMOTO> fields nil when encode_char returns FONT_INVALID_CODE. > Handa-san? > > I don=CA=BCt know either, but your patch fixes the slowdown and I=CA=BCve= seen > no negative effects yet. > Yeah, this patch fixes the slowdown! --=20 lg --000000000000fb3db2059c2b7043 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
=D1=81=D1=80, 15 =D1=8F=D0=BD=D0=B2. = 2020 =D0=B3. =D0=B2 11:25, Robert Pluim <rpluim@gmail.com>:
>>>>> On Wed, 15 Jan 2020 13:26:11 +0900, YAM= AMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> said:

=C2=A0 =C2=A0 YAMAMOTO> 0xFFFFFFFF comes from FONT_INVALID_CODE. font-&g= t;driver->text_extents
=C2=A0 =C2=A0 YAMAMOTO> shouldn't be called if font->font->dri= ver->encode_char returns it.

=C2=A0 =C2=A0 YAMAMOTO> diff --git a/src/font.c b/src/font.c
=C2=A0 =C2=A0 YAMAMOTO> index 2b90903c90..03e6176220 100644
=C2=A0 =C2=A0 YAMAMOTO> --- a/src/font.c
=C2=A0 =C2=A0 YAMAMOTO> +++ b/src/font.c
=C2=A0 =C2=A0 YAMAMOTO> @@ -4420,15 +4420,19 @@ font_fill_lglyph_metrics= (Lisp_Object glyph, Lisp_Object font_object)
=C2=A0 =C2=A0 YAMAMOTO>=C2=A0 {
=C2=A0 =C2=A0 YAMAMOTO>=C2=A0 =C2=A0 struct font *font =3D XFONT_OBJECT = (font_object);
=C2=A0 =C2=A0 YAMAMOTO>=C2=A0 =C2=A0 unsigned code =3D font->driver-&= gt;encode_char (font, LGLYPH_CHAR (glyph));
=C2=A0 =C2=A0 YAMAMOTO> -=C2=A0 struct font_metrics metrics;
=C2=A0 =C2=A0 YAMAMOTO> -
=C2=A0 =C2=A0 YAMAMOTO> -=C2=A0 LGLYPH_SET_CODE (glyph, code);
=C2=A0 =C2=A0 YAMAMOTO> -=C2=A0 font->driver->text_extents (font, = &code, 1, &metrics);
=C2=A0 =C2=A0 YAMAMOTO> -=C2=A0 LGLYPH_SET_LBEARING (glyph, metrics.lbea= ring);
=C2=A0 =C2=A0 YAMAMOTO> -=C2=A0 LGLYPH_SET_RBEARING (glyph, metrics.rbea= ring);
=C2=A0 =C2=A0 YAMAMOTO> -=C2=A0 LGLYPH_SET_WIDTH (glyph, metrics.width);=
=C2=A0 =C2=A0 YAMAMOTO> -=C2=A0 LGLYPH_SET_ASCENT (glyph, metrics.ascent= );
=C2=A0 =C2=A0 YAMAMOTO> -=C2=A0 LGLYPH_SET_DESCENT (glyph, metrics.desce= nt);
=C2=A0 =C2=A0 YAMAMOTO> +
=C2=A0 =C2=A0 YAMAMOTO> +=C2=A0 if (code !=3D FONT_INVALID_CODE)
=C2=A0 =C2=A0 YAMAMOTO> +=C2=A0 =C2=A0 {
=C2=A0 =C2=A0 YAMAMOTO> +=C2=A0 =C2=A0 =C2=A0 struct font_metrics metric= s;
=C2=A0 =C2=A0 YAMAMOTO> +
=C2=A0 =C2=A0 YAMAMOTO> +=C2=A0 =C2=A0 =C2=A0 LGLYPH_SET_CODE (glyph, co= de);
=C2=A0 =C2=A0 YAMAMOTO> +=C2=A0 =C2=A0 =C2=A0 font->driver->text_e= xtents (font, &code, 1, &metrics);
=C2=A0 =C2=A0 YAMAMOTO> +=C2=A0 =C2=A0 =C2=A0 LGLYPH_SET_LBEARING (glyph= , metrics.lbearing);
=C2=A0 =C2=A0 YAMAMOTO> +=C2=A0 =C2=A0 =C2=A0 LGLYPH_SET_RBEARING (glyph= , metrics.rbearing);
=C2=A0 =C2=A0 YAMAMOTO> +=C2=A0 =C2=A0 =C2=A0 LGLYPH_SET_WIDTH (glyph, m= etrics.width);
=C2=A0 =C2=A0 YAMAMOTO> +=C2=A0 =C2=A0 =C2=A0 LGLYPH_SET_ASCENT (glyph, = metrics.ascent);
=C2=A0 =C2=A0 YAMAMOTO> +=C2=A0 =C2=A0 =C2=A0 LGLYPH_SET_DESCENT (glyph,= metrics.descent);
=C2=A0 =C2=A0 YAMAMOTO> +=C2=A0 =C2=A0 }
=C2=A0 =C2=A0 YAMAMOTO>=C2=A0 }


=C2=A0 =C2=A0 YAMAMOTO> But I'm not sure if it is ok to leave the co= de and metrics-related
=C2=A0 =C2=A0 YAMAMOTO> fields nil when encode_char returns FONT_INVALID= _CODE.=C2=A0 Handa-san?

I don=CA=BCt know either, but your patch fixes the slowdown and I=CA=BCve s= een
no negative effects yet.

Yeah, this pat= ch fixes the slowdown!

--
lg
--000000000000fb3db2059c2b7043-- From unknown Sun Jun 22 08:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#39133: 28.0.50; Emacs slowdown on special char Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 15 Jan 2020 16:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39133 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: YAMAMOTO Mitsuharu Cc: 39133@debbugs.gnu.org, rpluim@gmail.com, lg.zevlg@gmail.com, handa@gnu.org Received: via spool by 39133-submit@debbugs.gnu.org id=B39133.157910516329216 (code B ref 39133); Wed, 15 Jan 2020 16:20:02 +0000 Received: (at 39133) by debbugs.gnu.org; 15 Jan 2020 16:19:23 +0000 Received: from localhost ([127.0.0.1]:35421 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1irlO6-0007b8-Ty for submit@debbugs.gnu.org; Wed, 15 Jan 2020 11:19:23 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52837) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1irlO4-0007au-Ro for 39133@debbugs.gnu.org; Wed, 15 Jan 2020 11:19:21 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:39268) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1irlNy-0006Z7-Nn; Wed, 15 Jan 2020 11:19:14 -0500 Received: from [176.228.60.248] (port=3279 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1irlNx-00023Z-Ur; Wed, 15 Jan 2020 11:19:14 -0500 Date: Wed, 15 Jan 2020 18:19:28 +0200 Message-Id: <83r2004rqn.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from YAMAMOTO Mitsuharu on Wed, 15 Jan 2020 13:26:11 +0900) References: <83lfqa5aa2.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Wed, 15 Jan 2020 13:26:11 +0900 > From: YAMAMOTO Mitsuharu > Cc: Eli Zaretskii , > Evgeny Zajcev , > 39133@debbugs.gnu.org, handa@gnu.org > > + if (code != FONT_INVALID_CODE) > + { > + struct font_metrics metrics; > + > + LGLYPH_SET_CODE (glyph, code); > + font->driver->text_extents (font, &code, 1, &metrics); > + LGLYPH_SET_LBEARING (glyph, metrics.lbearing); > + LGLYPH_SET_RBEARING (glyph, metrics.rbearing); > + LGLYPH_SET_WIDTH (glyph, metrics.width); > + LGLYPH_SET_ASCENT (glyph, metrics.ascent); > + LGLYPH_SET_DESCENT (glyph, metrics.descent); > + } > } > > > But I'm not sure if it is ok to leave the code and metrics-related > fields nil when encode_char returns FONT_INVALID_CODE. Handa-san? We could do in the 'else' branch the same we do in the single caller of this function, fill_gstring_body, when we don't call font_fill_lglyph_metrics: if (FONT_OBJECT_P (font_object)) { font_fill_lglyph_metrics (g, font_object); } else { int width = XFIXNAT (CHAR_TABLE_REF (Vchar_width_table, c)); LGLYPH_SET_CODE (g, c); LGLYPH_SET_LBEARING (g, 0); LGLYPH_SET_RBEARING (g, width); LGLYPH_SET_WIDTH (g, width); LGLYPH_SET_ASCENT (g, 1); LGLYPH_SET_DESCENT (g, 0); } From unknown Sun Jun 22 08:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#39133: 28.0.50; Emacs slowdown on special char In-Reply-To: Resent-From: Robert Pluim Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Jan 2020 10:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39133 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: lg.zevlg@gmail.com, 39133@debbugs.gnu.org, YAMAMOTO Mitsuharu , handa@gnu.org Received: via spool by 39133-submit@debbugs.gnu.org id=B39133.157986084411003 (code B ref 39133); Fri, 24 Jan 2020 10:15:01 +0000 Received: (at 39133) by debbugs.gnu.org; 24 Jan 2020 10:14:04 +0000 Received: from localhost ([127.0.0.1]:53493 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iuvyV-0002rO-Lp for submit@debbugs.gnu.org; Fri, 24 Jan 2020 05:14:03 -0500 Received: from mail-wr1-f45.google.com ([209.85.221.45]:39655) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iuvyT-0002ql-Pj for 39133@debbugs.gnu.org; Fri, 24 Jan 2020 05:14:02 -0500 Received: by mail-wr1-f45.google.com with SMTP id y11so1277200wrt.6 for <39133@debbugs.gnu.org>; Fri, 24 Jan 2020 02:14:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:message-id:mime-version; bh=7qUoo+cz+mtqvQfhoiqCO5XJddBTrgxwZlm8wQ92ltg=; b=lPs3SJencP65QRzCvBGeTLSgnBRR6ietYyIOWeuU6LNH5NHH+gg3N/JGHmyR+ynEWE mz9hgtjwY2spvO4VSHMN8Vg/uH+i7DUoliXgGb76BdzmXP7mo/S2ySK84zqOseuRCmht 3P9k0uq/Gji1AtClUnl6c+KPmXCbKZLTdGeySPfs7uYCZOMIEJdu5X1t5txdiTPrP8yl zZ3w8JaGHFXgT9kH5DhVnw87MJ+3Hw93ykQnryIa7NUsYpQalAq8RjLfxX2C/0CEN15Q CJwJotMaWKLYT2zir4udAWYhnvV3Zn6pTGOwoH5vXUT3AT9kT3huNTbtRkbWoOjAv5sL psvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:message-id :mime-version; bh=7qUoo+cz+mtqvQfhoiqCO5XJddBTrgxwZlm8wQ92ltg=; b=Vl7jjbLs3gVpJLNw4QHMjIWyzmevFtk5ROMUs/AScBxcP8pKcCAKBspwwrlCIswgvL ZlDr+iaE5tOkjLujr2uyhDeRzONvUNrGKsEbmvxLajNv7Cn7zcGDfY0XbtZcx/QVP43p 8aZqVEVtFehVk5HFyJHL34JWp8gRX8RSZEB41GLbCCCt1CZW7u5UbE7wPUIpx8TKPeHk E4PKwh8Ccj3odG6BFcDJl6zOA4VdpYfQljuRzn8BPRN1krZPu/AGOD7l80GUs/HkOGwD 5YO4yjmwbarK07zOCAZ7AYUq8+1fMEwdxpWKBeWXmMZNCwjGXefMzV4ezrNJF6dXQB4O y2rA== X-Gm-Message-State: APjAAAVOAe+lQ9c0tb/y3xGJndyZy5FvB6taYGRsC2QBwqARuV+6JMP2 GQgFYnSfLwWQKRAtUwhoBzE= X-Google-Smtp-Source: APXvYqywQaZe03roxY/A1YRip0t7Gtw7zQ+oot/j4LNx/igYlJLrmS2kFmABoOg8nzoAkXPUPrc/FQ== X-Received: by 2002:adf:f54d:: with SMTP id j13mr3395105wrp.19.1579860835951; Fri, 24 Jan 2020 02:13:55 -0800 (PST) Received: from rpluim-mac ([149.5.228.1]) by smtp.gmail.com with ESMTPSA id r6sm6675997wrq.92.2020.01.24.02.13.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Jan 2020 02:13:55 -0800 (PST) From: Robert Pluim References: <83lfqa5aa2.fsf@gnu.org> <83r2004rqn.fsf@gnu.org> Date: Fri, 24 Jan 2020 11:13:54 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>>>> On Wed, 15 Jan 2020 18:19:28 +0200, Eli Zaretskii said: Eli> We could do in the 'else' branch the same we do in the single caller Eli> of this function, fill_gstring_body, when we don't call Eli> font_fill_lglyph_metrics: Rather than duplicate that code, I moved the FONT_INVALID_CODE check up. This works for me: diff --git a/src/composite.c b/src/composite.c index 53e6930b5f..bf5884fa55 100644 --- a/src/composite.c +++ b/src/composite.c @@ -818,6 +818,7 @@ fill_gstring_body (Lisp_Object gstring) Lisp_Object header = AREF (gstring, 0); ptrdiff_t len = LGSTRING_CHAR_LEN (gstring); ptrdiff_t i; + struct font *font = XFONT_OBJECT (font_object); for (i = 0; i < len; i++) { @@ -832,9 +833,12 @@ fill_gstring_body (Lisp_Object gstring) LGLYPH_SET_FROM (g, i); LGLYPH_SET_TO (g, i); LGLYPH_SET_CHAR (g, c); - if (FONT_OBJECT_P (font_object)) + + unsigned int code = font->driver->encode_char (font, LGLYPH_CHAR (g)); + + if (FONT_OBJECT_P (font_object) && code != FONT_INVALID_CODE) { - font_fill_lglyph_metrics (g, font_object); + font_fill_lglyph_metrics (g, font_object, code); } else { diff --git a/src/font.c b/src/font.c index bb39aef92d..03d9cc50ae 100644 --- a/src/font.c +++ b/src/font.c @@ -4416,10 +4416,9 @@ DEFUN ("clear-font-cache", Fclear_font_cache, Sclear_font_cache, 0, 0, 0, void -font_fill_lglyph_metrics (Lisp_Object glyph, Lisp_Object font_object) +font_fill_lglyph_metrics (Lisp_Object glyph, Lisp_Object font_object, unsigned int code) { struct font *font = XFONT_OBJECT (font_object); - unsigned code = font->driver->encode_char (font, LGLYPH_CHAR (glyph)); struct font_metrics metrics; LGLYPH_SET_CODE (glyph, code); diff --git a/src/font.h b/src/font.h index 0561e3c83f..d82039eed8 100644 --- a/src/font.h +++ b/src/font.h @@ -886,7 +886,7 @@ valid_font_driver (struct font_driver const *d) extern Lisp_Object font_range (ptrdiff_t, ptrdiff_t, ptrdiff_t *, struct window *, struct face *, Lisp_Object); -extern void font_fill_lglyph_metrics (Lisp_Object, Lisp_Object); +extern void font_fill_lglyph_metrics (Lisp_Object, Lisp_Object, unsigned int); extern Lisp_Object font_put_extra (Lisp_Object font, Lisp_Object prop, Lisp_Object val); From unknown Sun Jun 22 08:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#39133: 28.0.50; Emacs slowdown on special char Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Jan 2020 10:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39133 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Robert Pluim Cc: lg.zevlg@gmail.com, 39133@debbugs.gnu.org, mituharu@math.s.chiba-u.ac.jp, handa@gnu.org Received: via spool by 39133-submit@debbugs.gnu.org id=B39133.157986138511835 (code B ref 39133); Fri, 24 Jan 2020 10:24:02 +0000 Received: (at 39133) by debbugs.gnu.org; 24 Jan 2020 10:23:05 +0000 Received: from localhost ([127.0.0.1]:53497 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iuw7E-00034p-Ke for submit@debbugs.gnu.org; Fri, 24 Jan 2020 05:23:04 -0500 Received: from eggs.gnu.org ([209.51.188.92]:34127) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iuw7C-000349-GL for 39133@debbugs.gnu.org; Fri, 24 Jan 2020 05:23:03 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:48112) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iuw76-0002n2-Vk; Fri, 24 Jan 2020 05:22:57 -0500 Received: from [176.228.60.248] (port=3112 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iuw76-0002bb-Fh; Fri, 24 Jan 2020 05:22:56 -0500 Date: Fri, 24 Jan 2020 12:22:38 +0200 Message-Id: <8336c5rw5t.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from Robert Pluim on Fri, 24 Jan 2020 11:13:54 +0100) References: <83lfqa5aa2.fsf@gnu.org> <83r2004rqn.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > From: Robert Pluim > Cc: YAMAMOTO Mitsuharu , > 39133@debbugs.gnu.org, lg.zevlg@gmail.com, handa@gnu.org > Date: Fri, 24 Jan 2020 11:13:54 +0100 > > >>>>> On Wed, 15 Jan 2020 18:19:28 +0200, Eli Zaretskii said: > Eli> We could do in the 'else' branch the same we do in the single caller > Eli> of this function, fill_gstring_body, when we don't call > Eli> font_fill_lglyph_metrics: > > Rather than duplicate that code, I moved the FONT_INVALID_CODE check > up. This works for me: Looks reasonable, thanks. From unknown Sun Jun 22 08:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#39133: 28.0.50; Emacs slowdown on special char Resent-From: Robert Pluim Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Jan 2020 13:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39133 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 39133@debbugs.gnu.org, lg.zevlg@gmail.com, mituharu@math.s.chiba-u.ac.jp, handa@gnu.org Received: via spool by 39133-submit@debbugs.gnu.org id=B39133.15798713722032 (code B ref 39133); Fri, 24 Jan 2020 13:10:02 +0000 Received: (at 39133) by debbugs.gnu.org; 24 Jan 2020 13:09:32 +0000 Received: from localhost ([127.0.0.1]:53537 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iuyiJ-0000Wi-Os for submit@debbugs.gnu.org; Fri, 24 Jan 2020 08:09:31 -0500 Received: from mail-wr1-f43.google.com ([209.85.221.43]:34671) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iuyiI-0000WP-1E for 39133@debbugs.gnu.org; Fri, 24 Jan 2020 08:09:30 -0500 Received: by mail-wr1-f43.google.com with SMTP id t2so1922512wrr.1 for <39133@debbugs.gnu.org>; Fri, 24 Jan 2020 05:09:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :mime-version; bh=93ytGBeGYqqK4C0GmR2twGA2fmjC/ilyJcR/m8SEVSM=; b=nm7Xu18ITH7cDEAJBvSZ81qm3mfIOK+USwoHFZoe6eKHJcFwATJhZhlWgaL0JteqFB x5wu3geAR2ahhvSWFCCgbWJS0V0H1s/+6RD/PasKgiYRLxDzIeAlJuqFkzlbW5B7HJFo ROpLItEarU/0BYfCxdsLowbnyhVlMgh2KDR6qLgoj/W9rjPRY9s8vq8gUtO2U8+SzNvd JxhW3pWC5iKt2PuJXt+aCvNAdOzFVILCx6Oz7un/NDpS//n1Ih0sugnCepmQKt9pTltL vJffTQSpiKERdQp6jwvNAvMxAhdER3BB7v41AZGkBUratEPIvV5ItcOhBeqrtFIYDwZy fqTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:mime-version; bh=93ytGBeGYqqK4C0GmR2twGA2fmjC/ilyJcR/m8SEVSM=; b=DS55mSHbpGSeCc/C+kqaWFJvYF5DY/oqnf+8OcCx42pJ+ENrE/UpOsVdhmBT2wDLmR uInEhkgCZyjg7uuTZQ2uFgIVbrcy6+OtmuqCHiw2Yd28Cr2MtNaB1ux0zmQw2Kh5bAVH hmOn/7ONcD/Tlj+H26aO7cxOXXehDrpPXDJIxJrhVShMRkx7XQo6GcYh7CHpYHwW5U6K 9P84yvFHUXoMrXHzDIRbUiIoEPUPWNnBlMGqX4/chYGIkx5AGC8FrDfeTw0wyFt4pJDd KBTapXVBxBLDgkAjQQC2NjU5AcxtzeehaHRrY1/PYLza3gTEPakZKfHHcMDLxmX93DBb JEmg== X-Gm-Message-State: APjAAAW4tZEKtsJuI6ooOGLwWIiLwahMhTUpv3DjnlFZ+jOHVAOYLKKZ FZYmnzblfxHmBNPnnRgEm2I= X-Google-Smtp-Source: APXvYqzanjJ/Dn8X0KMugiCAZkmoNJKLwXYH6ZPbNCgwOlPghhYitz1UDojztXPULFFc6zCqaIYlBw== X-Received: by 2002:a5d:4d06:: with SMTP id z6mr4288580wrt.339.1579871364080; Fri, 24 Jan 2020 05:09:24 -0800 (PST) Received: from rpluim-mac ([149.5.228.1]) by smtp.gmail.com with ESMTPSA id y7sm12944584wmd.1.2020.01.24.05.09.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Jan 2020 05:09:23 -0800 (PST) From: Robert Pluim References: <83lfqa5aa2.fsf@gnu.org> <83r2004rqn.fsf@gnu.org> <8336c5rw5t.fsf@gnu.org> Date: Fri, 24 Jan 2020 14:09:22 +0100 In-Reply-To: <8336c5rw5t.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 24 Jan 2020 12:22:38 +0200") Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>>>> On Fri, 24 Jan 2020 12:22:38 +0200, Eli Zaretskii said: >> From: Robert Pluim >> Cc: YAMAMOTO Mitsuharu , >> 39133@debbugs.gnu.org, lg.zevlg@gmail.com, handa@gnu.org >> Date: Fri, 24 Jan 2020 11:13:54 +0100 >> >> >>>>> On Wed, 15 Jan 2020 18:19:28 +0200, Eli Zaretskii said: Eli> We could do in the 'else' branch the same we do in the single caller Eli> of this function, fill_gstring_body, when we don't call Eli> font_fill_lglyph_metrics: >> >> Rather than duplicate that code, I moved the FONT_INVALID_CODE check >> up. This works for me: Eli> Looks reasonable, thanks. Except it crashes under -nw. More investigation required. Robert From unknown Sun Jun 22 08:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#39133: 28.0.50; Emacs slowdown on special char Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Jan 2020 13:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39133 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Robert Pluim Cc: 39133@debbugs.gnu.org, lg.zevlg@gmail.com, mituharu@math.s.chiba-u.ac.jp, handa@gnu.org Received: via spool by 39133-submit@debbugs.gnu.org id=B39133.15798732554834 (code B ref 39133); Fri, 24 Jan 2020 13:41:02 +0000 Received: (at 39133) by debbugs.gnu.org; 24 Jan 2020 13:40:55 +0000 Received: from localhost ([127.0.0.1]:53553 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iuzCg-0001Fu-Rf for submit@debbugs.gnu.org; Fri, 24 Jan 2020 08:40:55 -0500 Received: from eggs.gnu.org ([209.51.188.92]:55242) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iuzCf-0001Fh-3I for 39133@debbugs.gnu.org; Fri, 24 Jan 2020 08:40:53 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:60893) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iuzCY-0003GY-Vg; Fri, 24 Jan 2020 08:40:47 -0500 Received: from [176.228.60.248] (port=3154 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iuzCO-0001v0-9E; Fri, 24 Jan 2020 08:40:37 -0500 Date: Fri, 24 Jan 2020 15:40:19 +0200 Message-Id: <83y2txq8fw.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from Robert Pluim on Fri, 24 Jan 2020 14:09:22 +0100) References: <83lfqa5aa2.fsf@gnu.org> <83r2004rqn.fsf@gnu.org> <8336c5rw5t.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > From: Robert Pluim > Cc: lg.zevlg@gmail.com, 39133@debbugs.gnu.org, > mituharu@math.s.chiba-u.ac.jp, handa@gnu.org > Date: Fri, 24 Jan 2020 14:09:22 +0100 > > >> Rather than duplicate that code, I moved the FONT_INVALID_CODE check > >> up. This works for me: > > Eli> Looks reasonable, thanks. > > Except it crashes under -nw. Yes, because the call to the font driver should only be done when 'font_object' is a font object (it isn't on TTY frames). Otherwise, simply assign FONT_INVALID_CODE to 'code'. From unknown Sun Jun 22 08:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#39133: 28.0.50; Emacs slowdown on special char Resent-From: Robert Pluim Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Jan 2020 13:51:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39133 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 39133@debbugs.gnu.org, lg.zevlg@gmail.com, mituharu@math.s.chiba-u.ac.jp, handa@gnu.org Received: via spool by 39133-submit@debbugs.gnu.org id=B39133.15798738195740 (code B ref 39133); Fri, 24 Jan 2020 13:51:01 +0000 Received: (at 39133) by debbugs.gnu.org; 24 Jan 2020 13:50:19 +0000 Received: from localhost ([127.0.0.1]:53565 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iuzLn-0001UW-8T for submit@debbugs.gnu.org; Fri, 24 Jan 2020 08:50:19 -0500 Received: from mail-wm1-f44.google.com ([209.85.128.44]:39024) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iuzLm-0001UK-0v for 39133@debbugs.gnu.org; Fri, 24 Jan 2020 08:50:18 -0500 Received: by mail-wm1-f44.google.com with SMTP id c84so891562wme.4 for <39133@debbugs.gnu.org>; Fri, 24 Jan 2020 05:50:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :mime-version; bh=KXuYTnG8K3XdmWRd0K/TEKFsqJd8VzdVKURg1M/wMOY=; b=UXMX/fLmG4DCxwP6A9zLKSTVE+p6N0cm56cDzVuIVIpLdYn7DVH9nRlTO3WuVXC3bG qz6e1E1N2Ly5br416g/x5IeIfzJy1rpzToLN/6yb/GmpV4RfmeKLfOwLPKLzplC9NOfX szSsfwABIG5d9adipkwAJlpSRO4kdgUq75tl25JWuRHKVbzK6tIvW9HHTo+xoarRP8ev qZe3Rji+QovNPNf2octyzIgfdFQB5moyQ7XbgFi4YeKDLvHf5+bLLfYugbcOifGtPWVF Nqw67ZepWwche7GMp4MX7sv/uX2WhZhQmwQ8njLA8tXfOgaztZmKqjhxbVHhtYoqrNKx KQhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:mime-version; bh=KXuYTnG8K3XdmWRd0K/TEKFsqJd8VzdVKURg1M/wMOY=; b=cvjh/RNgY9JPUaBDOo9ydxJQAdp8gHS7pBx64CMMSUmMcpweLgyNOB2i4kZRafuZ9F NSdpA/YF4wBfDLPSyqi2Vzr5qCDfrkrAsGLvC7Sihjgofe4Y0ujH6ApB5Ub7k55CfAs+ RAVqkwqwnd1uuO97xR7knbMnCdODWIfPVCp+GitIGJYSv+2QcCPjC7nsFC1WcgfTGwfg dwTasDdUhVclvAQIfXzRFqousTOP4BTzkqTX2QZg123rygUX3P0ZDfW0ARdcMPv9K4iG GWzh6xYSEOFxHEPP/93vMvjSk9A2+6oXta8k1mzNzFsqTlxFiC0KMvSqmBQoTfxi+LlH B/Lw== X-Gm-Message-State: APjAAAW4ehGJ5rns6ESfheEkL0RvyDSdt6SyZEh187c0VGxJnKrOcSxt +2IgR+EMFSQagGQANJfUVr4= X-Google-Smtp-Source: APXvYqzrjayWVVuThXafqJAZEOdClTd0wmPB8Pp2U1R1hc6DBFokkcOCXEQmEZ3SE5SodeyxxY6mDA== X-Received: by 2002:a7b:c183:: with SMTP id y3mr3295827wmi.45.1579873812092; Fri, 24 Jan 2020 05:50:12 -0800 (PST) Received: from rpluim-mac ([149.5.228.1]) by smtp.gmail.com with ESMTPSA id n10sm7335390wrt.14.2020.01.24.05.50.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Jan 2020 05:50:11 -0800 (PST) From: Robert Pluim References: <83lfqa5aa2.fsf@gnu.org> <83r2004rqn.fsf@gnu.org> <8336c5rw5t.fsf@gnu.org> <83y2txq8fw.fsf@gnu.org> Date: Fri, 24 Jan 2020 14:50:10 +0100 In-Reply-To: <83y2txq8fw.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 24 Jan 2020 15:40:19 +0200") Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>>>> On Fri, 24 Jan 2020 15:40:19 +0200, Eli Zaretskii said: >> From: Robert Pluim >> Cc: lg.zevlg@gmail.com, 39133@debbugs.gnu.org, >> mituharu@math.s.chiba-u.ac.jp, handa@gnu.org >> Date: Fri, 24 Jan 2020 14:09:22 +0100 >> >> >> Rather than duplicate that code, I moved the FONT_INVALID_CODE check >> >> up. This works for me: >> Eli> Looks reasonable, thanks. >> >> Except it crashes under -nw. Eli> Yes, because the call to the font driver should only be done when Eli> 'font_object' is a font object (it isn't on TTY frames). Otherwise, Eli> simply assign FONT_INVALID_CODE to 'code'. Yes, I worked that out. A simple crash, for once :-) Robert From unknown Sun Jun 22 08:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#39133: 28.0.50; Emacs slowdown on special char Resent-From: Robert Pluim Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Jan 2020 15:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39133 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: lg.zevlg@gmail.com, 39133@debbugs.gnu.org, mituharu@math.s.chiba-u.ac.jp, handa@gnu.org Received: via spool by 39133-submit@debbugs.gnu.org id=B39133.157988051025041 (code B ref 39133); Fri, 24 Jan 2020 15:42:02 +0000 Received: (at 39133) by debbugs.gnu.org; 24 Jan 2020 15:41:50 +0000 Received: from localhost ([127.0.0.1]:54653 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iv15h-0006Vp-L3 for submit@debbugs.gnu.org; Fri, 24 Jan 2020 10:41:49 -0500 Received: from mail-wr1-f44.google.com ([209.85.221.44]:39233) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iv15g-0006Vc-Fd for 39133@debbugs.gnu.org; Fri, 24 Jan 2020 10:41:48 -0500 Received: by mail-wr1-f44.google.com with SMTP id y11so2514223wrt.6 for <39133@debbugs.gnu.org>; Fri, 24 Jan 2020 07:41:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :mime-version; bh=MxRtJ5zkmV7F0mG5yJOHOZfAPdVKXFN4ExIr8PvBivg=; b=ACj0cFOGR9ci3P3tseMun2JhegRmUXZx4hxYN1/5PK1+D+pYzwMglPhoZfGthFN/me IJFcRANDowru7RRBgaVXLF+DBT8elgBHI2dTMYh8W9qYvqmVUzmkBd66NkUEB7OK/+nS FU639qGP8BxuIdWH9Ml/Ob/lVq6kpIPvNZxaeec5I/sF2j3QI2EoyB7IVR5kz39xbiMi Hoe01lldfE/z+SKEXzebOtSCOgoX7ITNT7bZfJkjDihSMnyW0RWS4U+hCXQL+NPCz/4s 6/W9MXUK/2UKaeisBEaJJMzNbM0xCiAseUceTE0yH7PRybIs7quEy+FwI97LeYJ+IFk4 iYgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:mime-version; bh=MxRtJ5zkmV7F0mG5yJOHOZfAPdVKXFN4ExIr8PvBivg=; b=XVohFwfuILq5c7l9z/LL70VIbdz6eHQ1jWZ3l6UGf9ZIstlIp56UDLv0TAvxqE67xA h/l5K/PofxEoBN3JjRcaSOBKk4HKSLwnq2qavJLDt2wKs2u2u/ADgEdIMvFpkF16huow 6F0JiKnxpCOxq9GZpT0MpExviYlaGje2ZLzw8TCq67Zg02ksxZEO1/e+43ipdmQImYyK ogRbhEdr498gGsEVnzcy04C2QJNqJqwAfMQftbBjyvj5kJu0FyV7pFjPGlfPM8JQa9a5 LAdM3LJTMNEGL2T6CTwtbheQFg8kw781iutI71vOzSz3vUZotvLeUDZov8JFUX+GVosf dMGQ== X-Gm-Message-State: APjAAAXIwjlLfRNpN4IfbUDi1JbNpxBL8ZOHrToVAZz2SCa8K5o4BqUc pO+deLNoJd+aKbZZf5RVFLM= X-Google-Smtp-Source: APXvYqw4Kbqfiub5zaEkRNVmIJLzxWC6R4Jj0LbIEPLt4QHg6MYN56F+GD8O7dBTHEf93IyUwUOKuw== X-Received: by 2002:adf:f103:: with SMTP id r3mr4905441wro.295.1579880502605; Fri, 24 Jan 2020 07:41:42 -0800 (PST) Received: from rpluim-mac ([149.5.228.1]) by smtp.gmail.com with ESMTPSA id a9sm6966767wmm.15.2020.01.24.07.41.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Jan 2020 07:41:41 -0800 (PST) From: Robert Pluim References: <83lfqa5aa2.fsf@gnu.org> <83r2004rqn.fsf@gnu.org> <8336c5rw5t.fsf@gnu.org> <83y2txq8fw.fsf@gnu.org> Date: Fri, 24 Jan 2020 16:41:40 +0100 In-Reply-To: (Robert Pluim's message of "Fri, 24 Jan 2020 14:50:10 +0100") Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain >>>>> On Fri, 24 Jan 2020 14:50:10 +0100, Robert Pluim said: Robert> Yes, I worked that out. A simple crash, for once :-) --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-Don-t-attempt-to-cache-glyph-metrics-for-FONT_INVALI.patch >From 667f47abecc13e8a47181f338e727d95e57a6354 Mon Sep 17 00:00:00 2001 From: Robert Pluim Date: Fri, 24 Jan 2020 14:11:44 +0100 Subject: [PATCH] Don't attempt to cache glyph metrics for FONT_INVALID_CODE This was causing massive slowdown in redisplay when eg #xfe0f (VARIATION SELECTOR-16) was present, as the cache ended up very large, unused, and being recreated on every call to font_fill_lglyph_metrics (Bug#39133). * src/composite.c (fill_gstring_body): Hoist FONT_OBJECT_P check out of loop. Calculate glyph code and check for FONT_INVALID_CODE before calling font_fill_lglyph_metrics. Pass glyph code to it. * src/font.c (font_fill_lglyph_metrics): Add code parameter, move glyph code calculation up the call stack into fill_gstring_body. * src/font.h: Adjust font_fill_lglyph_metrics prototype. --- src/composite.c | 18 ++++++++++++++---- src/font.c | 4 +--- src/font.h | 2 +- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/composite.c b/src/composite.c index 53e6930b5f..364d5c9316 100644 --- a/src/composite.c +++ b/src/composite.c @@ -818,6 +818,11 @@ fill_gstring_body (Lisp_Object gstring) Lisp_Object header = AREF (gstring, 0); ptrdiff_t len = LGSTRING_CHAR_LEN (gstring); ptrdiff_t i; + struct font *font = NULL; + unsigned int code; + + if (FONT_OBJECT_P (font_object)) + font = XFONT_OBJECT (font_object); for (i = 0; i < len; i++) { @@ -832,10 +837,15 @@ fill_gstring_body (Lisp_Object gstring) LGLYPH_SET_FROM (g, i); LGLYPH_SET_TO (g, i); LGLYPH_SET_CHAR (g, c); - if (FONT_OBJECT_P (font_object)) - { - font_fill_lglyph_metrics (g, font_object); - } + + if (font != NULL) + code = font->driver->encode_char (font, LGLYPH_CHAR (g)); + else + code = FONT_INVALID_CODE; + if (code != FONT_INVALID_CODE) + { + font_fill_lglyph_metrics (g, font, code); + } else { int width = XFIXNAT (CHAR_TABLE_REF (Vchar_width_table, c)); diff --git a/src/font.c b/src/font.c index bb39aef92d..2a45630061 100644 --- a/src/font.c +++ b/src/font.c @@ -4416,10 +4416,8 @@ DEFUN ("clear-font-cache", Fclear_font_cache, Sclear_font_cache, 0, 0, 0, void -font_fill_lglyph_metrics (Lisp_Object glyph, Lisp_Object font_object) +font_fill_lglyph_metrics (Lisp_Object glyph, struct font *font, unsigned int code) { - struct font *font = XFONT_OBJECT (font_object); - unsigned code = font->driver->encode_char (font, LGLYPH_CHAR (glyph)); struct font_metrics metrics; LGLYPH_SET_CODE (glyph, code); diff --git a/src/font.h b/src/font.h index 0561e3c83f..8614e7fa10 100644 --- a/src/font.h +++ b/src/font.h @@ -886,7 +886,7 @@ valid_font_driver (struct font_driver const *d) extern Lisp_Object font_range (ptrdiff_t, ptrdiff_t, ptrdiff_t *, struct window *, struct face *, Lisp_Object); -extern void font_fill_lglyph_metrics (Lisp_Object, Lisp_Object); +extern void font_fill_lglyph_metrics (Lisp_Object, struct font *, unsigned int); extern Lisp_Object font_put_extra (Lisp_Object font, Lisp_Object prop, Lisp_Object val); -- 2.23.0 --=-=-=-- From unknown Sun Jun 22 08:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#39133: 28.0.50; Emacs slowdown on special char Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Jan 2020 15:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39133 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Robert Pluim Cc: lg.zevlg@gmail.com, 39133@debbugs.gnu.org, mituharu@math.s.chiba-u.ac.jp, handa@gnu.org Received: via spool by 39133-submit@debbugs.gnu.org id=B39133.15798811581189 (code B ref 39133); Fri, 24 Jan 2020 15:53:02 +0000 Received: (at 39133) by debbugs.gnu.org; 24 Jan 2020 15:52:38 +0000 Received: from localhost ([127.0.0.1]:54661 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iv1GA-0000J7-0d for submit@debbugs.gnu.org; Fri, 24 Jan 2020 10:52:38 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49632) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iv1G7-0000It-UR for 39133@debbugs.gnu.org; Fri, 24 Jan 2020 10:52:36 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:34726) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iv1G1-0002yK-Iu; Fri, 24 Jan 2020 10:52:29 -0500 Received: from [176.228.60.248] (port=3309 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iv1G1-00010f-1J; Fri, 24 Jan 2020 10:52:29 -0500 Date: Fri, 24 Jan 2020 17:52:12 +0200 Message-Id: <83muacrgwj.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from Robert Pluim on Fri, 24 Jan 2020 16:41:40 +0100) References: <83lfqa5aa2.fsf@gnu.org> <83r2004rqn.fsf@gnu.org> <8336c5rw5t.fsf@gnu.org> <83y2txq8fw.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > From: Robert Pluim > Cc: 39133@debbugs.gnu.org, lg.zevlg@gmail.com, > mituharu@math.s.chiba-u.ac.jp, handa@gnu.org > Date: Fri, 24 Jan 2020 16:41:40 +0100 > > >>>>> On Fri, 24 Jan 2020 14:50:10 +0100, Robert Pluim said: > Robert> Yes, I worked that out. A simple crash, for once :-) > > >From 667f47abecc13e8a47181f338e727d95e57a6354 Mon Sep 17 00:00:00 2001 > From: Robert Pluim > Date: Fri, 24 Jan 2020 14:11:44 +0100 > Subject: [PATCH] Don't attempt to cache glyph metrics for FONT_INVALID_CODE > > This was causing massive slowdown in redisplay when eg #xfe0f > (VARIATION SELECTOR-16) was present, as the cache ended up very large, > unused, and being recreated on every call to font_fill_lglyph_metrics > (Bug#39133). > > * src/composite.c (fill_gstring_body): Hoist FONT_OBJECT_P check out > of loop. Calculate glyph code and check for FONT_INVALID_CODE before > calling font_fill_lglyph_metrics. Pass glyph code to it. > > * src/font.c (font_fill_lglyph_metrics): Add code parameter, move > glyph code calculation up the call stack into fill_gstring_body. > > * src/font.h: Adjust font_fill_lglyph_metrics prototype. Thanks. From unknown Sun Jun 22 08:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#39133: 28.0.50; Emacs slowdown on special char Resent-From: Robert Pluim Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 02 Mar 2020 07:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39133 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 39133@debbugs.gnu.org, lg.zevlg@gmail.com, mituharu@math.s.chiba-u.ac.jp, handa@gnu.org Received: via spool by 39133-submit@debbugs.gnu.org id=B39133.158313481313321 (code B ref 39133); Mon, 02 Mar 2020 07:41:01 +0000 Received: (at 39133) by debbugs.gnu.org; 2 Mar 2020 07:40:13 +0000 Received: from localhost ([127.0.0.1]:37222 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j8fgT-0003Sn-Ay for submit@debbugs.gnu.org; Mon, 02 Mar 2020 02:40:13 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:35990) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j8fgR-0003SL-99 for 39133@debbugs.gnu.org; Mon, 02 Mar 2020 02:40:11 -0500 Received: by mail-wr1-f67.google.com with SMTP id j16so11204690wrt.3 for <39133@debbugs.gnu.org>; Sun, 01 Mar 2020 23:40:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :mime-version; bh=2Iwk2tKRgu+iJ4YEvE1mFLzUKTirWyqq74bq0alYpns=; b=BXUX9d+BOtoFmvdSE6PLJhfsNrc3k3iSlO1CHeuJ+Bsj895XlKZAtIMl9fjfUmQV8f YSfIvD0pJdzhqLjRWVyT6IgAPmSp7fCZVtyur3JWL5KAYjxYtFtqo1vXr2tNmIn4bvp0 6MDOvSc8ntKHN9s+QQisV0oqEJhAJLl8wEejr0KzxWTv7vSRduElqrtCFOPqC6d9jF0m owmeAYHwCFw2ZG3XoFviLIPyx+jkCdVjDonqjehEK4Ed3Hxog7NBMYrXNDQTdD2ICvAp VGWmV4y5M+CA/ndfTGEf/TW8JnrGZGdVxEy802yvszMj4mXmgTU36GTcOutfY9HuD69U reeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:mime-version; bh=2Iwk2tKRgu+iJ4YEvE1mFLzUKTirWyqq74bq0alYpns=; b=DBmUndEepJbMlOhBM8337cAW3BMB8qKfO3x4+x28EAP0ofM7Sue4wzNeQgOGv1Ospj vf8U0U/TBLG37kbUWqA41658DWytr5OntDIZ+Mbu9lWyYtNRNwpTs//kTe615SNLVxez iK58j3EnGDzfQPUIVez4RWVsLoekjMNGAkykAJExwJHhYTsaPLw1MIqbS9JUR81WviuM lLK4mdw/JwdcB7RJZ0mUcb0motEuqf4qANlJDzJh0ftvpSbMryZ4sd9oB9ZLs27fMkv1 NX3PSxLq5M0SuZpyPhRz7dO6b/Mx9DDH7QHCwWNIf9nuLrhbaSSpCsica2mIwV+T+XfK Ac4w== X-Gm-Message-State: ANhLgQ2QqBDQuzpUIpXbTcJC+4+HlbWBhGhgEGkkOIHUNPKKJowhmoHP FaFo1FK1eQrJiaFPQptQwYw= X-Google-Smtp-Source: ADFU+vs9DXz/k/6j60JKPOlwU40fTnWCnd14RHJ4JH1nuYKcsoMHAfTX74PZfmnHgjidcDvyqFe1RA== X-Received: by 2002:adf:e6ca:: with SMTP id y10mr359592wrm.220.1583134805284; Sun, 01 Mar 2020 23:40:05 -0800 (PST) Received: from rpluim-mac ([149.5.228.1]) by smtp.gmail.com with ESMTPSA id f15sm8521411wru.83.2020.03.01.23.40.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 01 Mar 2020 23:40:04 -0800 (PST) From: Robert Pluim References: <83lfqa5aa2.fsf@gnu.org> <83r2004rqn.fsf@gnu.org> <8336c5rw5t.fsf@gnu.org> <83y2txq8fw.fsf@gnu.org> <83muacrgwj.fsf@gnu.org> Date: Mon, 02 Mar 2020 08:40:02 +0100 In-Reply-To: <83muacrgwj.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 24 Jan 2020 17:52:12 +0200") Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.5 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.5 (--) >>>>> On Fri, 24 Jan 2020 17:52:12 +0200, Eli Zaretskii said: >> From: Robert Pluim >> Cc: 39133@debbugs.gnu.org, lg.zevlg@gmail.com, >> mituharu@math.s.chiba-u.ac.jp, handa@gnu.org >> Date: Fri, 24 Jan 2020 16:41:40 +0100 >> >> >>>>> On Fri, 24 Jan 2020 14:50:10 +0100, Robert Pluim said: Robert> Yes, I worked that out. A simple crash, for once :-) >> >> >From 667f47abecc13e8a47181f338e727d95e57a6354 Mon Sep 17 00:00:00 2001 >> From: Robert Pluim >> Date: Fri, 24 Jan 2020 14:11:44 +0100 >> Subject: [PATCH] Don't attempt to cache glyph metrics for FONT_INVALID_CODE >> >> This was causing massive slowdown in redisplay when eg #xfe0f >> (VARIATION SELECTOR-16) was present, as the cache ended up very large, >> unused, and being recreated on every call to font_fill_lglyph_metrics >> (Bug#39133). >> >> * src/composite.c (fill_gstring_body): Hoist FONT_OBJECT_P check out >> of loop. Calculate glyph code and check for FONT_INVALID_CODE before >> calling font_fill_lglyph_metrics. Pass glyph code to it. >> >> * src/font.c (font_fill_lglyph_metrics): Add code parameter, move >> glyph code calculation up the call stack into fill_gstring_body. >> >> * src/font.h: Adjust font_fill_lglyph_metrics prototype. Eli> Thanks. So Mike Fabian has tested this, and it works for him. Which branch would you like me to push this to? Robert From unknown Sun Jun 22 08:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#39133: 28.0.50; Emacs slowdown on special char Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 02 Mar 2020 08:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39133 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Robert Pluim Cc: 39133@debbugs.gnu.org, lg.zevlg@gmail.com, mituharu@math.s.chiba-u.ac.jp, handa@gnu.org Received: via spool by 39133-submit@debbugs.gnu.org id=B39133.158313898730471 (code B ref 39133); Mon, 02 Mar 2020 08:50:02 +0000 Received: (at 39133) by debbugs.gnu.org; 2 Mar 2020 08:49:47 +0000 Received: from localhost ([127.0.0.1]:37282 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j8gln-0007vN-E6 for submit@debbugs.gnu.org; Mon, 02 Mar 2020 03:49:47 -0500 Received: from eggs.gnu.org ([209.51.188.92]:53730) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j8gll-0007v5-Ph for 39133@debbugs.gnu.org; Mon, 02 Mar 2020 03:49:46 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:35267) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1j8glg-0005RR-5r; Mon, 02 Mar 2020 03:49:40 -0500 Received: from [176.228.60.248] (port=3931 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1j8glf-000110-Gf; Mon, 02 Mar 2020 03:49:39 -0500 Date: Mon, 02 Mar 2020 10:49:33 +0200 Message-Id: <83a74zywde.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Robert Pluim on Mon, 02 Mar 2020 08:40:02 +0100) References: <83lfqa5aa2.fsf@gnu.org> <83r2004rqn.fsf@gnu.org> <8336c5rw5t.fsf@gnu.org> <83y2txq8fw.fsf@gnu.org> <83muacrgwj.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > From: Robert Pluim > Cc: lg.zevlg@gmail.com, 39133@debbugs.gnu.org, > mituharu@math.s.chiba-u.ac.jp, handa@gnu.org > Date: Mon, 02 Mar 2020 08:40:02 +0100 > > So Mike Fabian has tested this, and it works for him. Which branch > would you like me to push this to? The release branch, please. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 02 04:26:01 2020 Received: (at control) by debbugs.gnu.org; 2 Mar 2020 09:26:01 +0000 Received: from localhost ([127.0.0.1]:37309 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j8hKq-0000ca-NY for submit@debbugs.gnu.org; Mon, 02 Mar 2020 04:26:00 -0500 Received: from mail-wr1-f52.google.com ([209.85.221.52]:37915) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j8hKp-0000cG-9s for control@debbugs.gnu.org; Mon, 02 Mar 2020 04:25:59 -0500 Received: by mail-wr1-f52.google.com with SMTP id t11so5163599wrw.5 for ; Mon, 02 Mar 2020 01:25:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=oFGCNN+Kp7IPx6ikcpMo/MAE37mMhhRCcQxqOYqxmfE=; b=sEvjShfNZ1NLSPv7oEv4giMzXspjKlzMA6ZMgIvCZHI5iPDAOi80q5JvDyrFcM9GbW 5tkIx3+QRfYQqrdOEC+o97GNhc7/NJ4ifEmpL3cjDBkwh9ejDk7ny9OAgOcmTMA5tvtP vQrV0zaPkFdfK7FZuabHfJzl6JzlOBQZbfQ34+QU0R+OEPokDghK3Mfg9FK5Y5rze7fM GMKF+Egoy4T5dRvDYhDv/5+LSejLWTfLdrqxa13e2gp23muJ1mhQfvWUz/bO7Dp0QLyH u/HfKsJdOv/EakrjtR5FX6moENFX3+yDgpgHwyfHDrr23p2T3xWV2jnLVrWx0ecxPS40 qcaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=oFGCNN+Kp7IPx6ikcpMo/MAE37mMhhRCcQxqOYqxmfE=; b=QYT4JGCnTacXYoOF9KR2OjJ2hm1L8Uzy50V+5AiS1eGa+iF9oiaxPWxB++DEdCSvg+ 8HaTe3qlepgSDAga98fwCa8OTMP7SWfy2db71Y3y19QHa6J3YhXCZWBzBl/O7Z/zt1Kt jXWISful8iiXFwBMwgwzhVvY43X+RR33Pja+jAaijPszKarQTYvT+jHr120v9CAoUBSd CiuA9SwTYglHpMEMyZKSRoLm3og5xdcFpHKD71ngbHWsCAws9sfWiZdiUGn+bmgzxwZM IMIcuRfGHfM3Z1l5ojM0raxIKSJpe1b19eR9R9EQBKr7UmJ7Vfhw6ev1AoyLm7JLLpBu CFUw== X-Gm-Message-State: ANhLgQ0iMNoh9aV6wQJ5gFjqTcBMSSCVraGmEsDc/6mdp0eOMYy+XIdC yE9NtJ72wCULpyzOWkfDoBZTAvEv X-Google-Smtp-Source: ADFU+vuvs4iIy9eF64plqHBdZEBWcOYs15x9+FVjwEVGKnKFuxM5y5ZNwbcbw7tAOmy/F9gLYTXNWQ== X-Received: by 2002:adf:eaca:: with SMTP id o10mr5057903wrn.401.1583141153346; Mon, 02 Mar 2020 01:25:53 -0800 (PST) Received: from rpluim-mac ([149.5.228.1]) by smtp.gmail.com with ESMTPSA id i67sm3289951wri.50.2020.03.02.01.25.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2020 01:25:52 -0800 (PST) From: Robert Pluim To: control@debbugs.gnu.org Subject: control message for bug #39133 Date: Mon, 02 Mar 2020 10:25:52 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -1.5 (-) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.5 (--) fixed 39133 27.1 quit From unknown Sun Jun 22 08:03:19 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Evgeny Zajcev Subject: bug#39133: closed (Re: bug#39133: 28.0.50; Emacs slowdown on special char) Message-ID: References: X-Gnu-PR-Message: they-closed 39133 X-Gnu-PR-Package: emacs Reply-To: 39133@debbugs.gnu.org Date: Mon, 02 Mar 2020 09:26:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1583141163-2413-1" This is a multi-part message in MIME format... ------------=_1583141163-2413-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #39133: 28.0.50; Emacs slowdown on special char which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 39133@debbugs.gnu.org. --=20 39133: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D39133 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1583141163-2413-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 39133-done) by debbugs.gnu.org; 2 Mar 2020 09:25:15 +0000 Received: from localhost ([127.0.0.1]:37306 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j8hK7-0000bF-AU for submit@debbugs.gnu.org; Mon, 02 Mar 2020 04:25:15 -0500 Received: from mail-wr1-f43.google.com ([209.85.221.43]:36216) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j8hK4-0000au-7s for 39133-done@debbugs.gnu.org; Mon, 02 Mar 2020 04:25:13 -0500 Received: by mail-wr1-f43.google.com with SMTP id j16so11600439wrt.3 for <39133-done@debbugs.gnu.org>; Mon, 02 Mar 2020 01:25:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :mime-version; bh=Yh2ESQ7TO5e5abOyQLxpDDN71J0Y8dcpKcJe7FCthgc=; b=L8gb/Kh1XhGFt3ARUd0EapDoCx8AVX2VqbD4kcPcMSuLG5/WLVJHb0WyffWmL7cErd +NShhTPW8cgYUZrFZGcqTy5Vs2rJyky0nt/XZHI9WQAJoH1MonHRdA135t/npxDwPmo/ h7Mbu2SfntIf/tn5V37P/FPKP1826qujku0/KT1FKwpUgpIC10Zci5nuHEiZH7IWvhzt jFWmW0PLYTnc5Boc0TUhyL0sOh/9eUKcDDCsNBv65jaq+feFK1a+ZcLmB/AOXIxHDgQy oWHbdZaQb2aPUZQ0Z3UaeamytV8Jja3x+kIYjnNkwimEo4lhM0t4p6ETdaz+jKWZE6JB JvAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:mime-version; bh=Yh2ESQ7TO5e5abOyQLxpDDN71J0Y8dcpKcJe7FCthgc=; b=qAWfK0nevTzwOS3pI3E334DA8vbmWuuZ53UffNshmM1hIq4cDLCi6OZrOFrOBfvlvz waXPUXYhNXjNXZI4VkiemjIZ0AYYUONf+/0JvOdVxafj0jhQgctCNg60h4DoPRsAicZ1 1Nr8o3djMzZ+rMsFQf07iuqXZcJ3krXLFxNVviaMdD042HF5WcpoxNNJOVAv+BwEyiDa sXLefMmQEEgQRpXHpE4sibwDQ2BLh357DQjn/VusoyahqNawYRN+HlC9PqXDydZRII5f T95bHgAIiGnFGwjaI7HZd30krfXp8PFkS1b+1kIdzt3U6f4YkU2RgSz11tMymfetAKjS PjMg== X-Gm-Message-State: ANhLgQ3CvG8ZRf4c3jNZZVeX7FnlSLyz4HT5jsTkJOzoO13F9mIKyjRf omW6LZc+lWIMeSvXDmNcoqVwXYA+ X-Google-Smtp-Source: ADFU+vtguytSvFy7trOWs5YI6fa1apYK9+Y0rV1Rc/WdFNQJ1rRrPV1tBCAWkH93TJqctOQYvPrxwg== X-Received: by 2002:adf:fc81:: with SMTP id g1mr4298628wrr.410.1583141105962; Mon, 02 Mar 2020 01:25:05 -0800 (PST) Received: from rpluim-mac ([149.5.228.1]) by smtp.gmail.com with ESMTPSA id q6sm26659590wrf.67.2020.03.02.01.25.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2020 01:25:05 -0800 (PST) From: Robert Pluim To: Eli Zaretskii Subject: Re: bug#39133: 28.0.50; Emacs slowdown on special char References: <83lfqa5aa2.fsf@gnu.org> <83r2004rqn.fsf@gnu.org> <8336c5rw5t.fsf@gnu.org> <83y2txq8fw.fsf@gnu.org> <83muacrgwj.fsf@gnu.org> <83a74zywde.fsf@gnu.org> Date: Mon, 02 Mar 2020 10:25:03 +0100 In-Reply-To: <83a74zywde.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 02 Mar 2020 10:49:33 +0200") Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.5 (/) X-Debbugs-Envelope-To: 39133-done Cc: 39133-done@debbugs.gnu.org, lg.zevlg@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.5 (--) >>>>> On Mon, 02 Mar 2020 10:49:33 +0200, Eli Zaretskii said: >> From: Robert Pluim >> Cc: lg.zevlg@gmail.com, 39133@debbugs.gnu.org, >> mituharu@math.s.chiba-u.ac.jp, handa@gnu.org >> Date: Mon, 02 Mar 2020 08:40:02 +0100 >> >> So Mike Fabian has tested this, and it works for him. Which branch >> would you like me to push this to? Eli> The release branch, please. Done as fe1a447d52 Closing. Robert ------------=_1583141163-2413-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 14 Jan 2020 13:21:46 +0000 Received: from localhost ([127.0.0.1]:60795 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1irM8f-0001E6-Na for submit@debbugs.gnu.org; Tue, 14 Jan 2020 08:21:46 -0500 Received: from lists.gnu.org ([209.51.188.17]:56432) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1irM8d-0001Dw-CS for submit@debbugs.gnu.org; Tue, 14 Jan 2020 08:21:44 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46609) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1irM8Z-0003SC-Vu for bug-gnu-emacs@gnu.org; Tue, 14 Jan 2020 08:21:43 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, HTML_MESSAGE,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1irM8W-0001TS-Ty for bug-gnu-emacs@gnu.org; Tue, 14 Jan 2020 08:21:39 -0500 Received: from mail-lj1-x22e.google.com ([2a00:1450:4864:20::22e]:35022) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1irM8W-0001S1-EK for bug-gnu-emacs@gnu.org; Tue, 14 Jan 2020 08:21:36 -0500 Received: by mail-lj1-x22e.google.com with SMTP id j1so14302874lja.2 for ; Tue, 14 Jan 2020 05:21:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=dT1+R2R1DcDzZHNwGtyrIvDJkPjfpNefyIyHE6YckKk=; b=FMDIF3MY1Qga1FwsVFOlNjz9DMd3+9Ev8mn7XHxiXacBLi2H7RmL0TxsqtmYGjW20x qiRXHa7XLZKYRXB33m5FqTfTNh7Pbuoc7wB093LSpUTWA0pyV5dQprj/U8u8XOCmZUMG mSvgEtRyY2HDhcMiQsKqiMdEyxiYrcWx8FZQDgU4DVZFpR/NrpIHs8TAGnUkt03iV/D8 reekx5mJwhNuIrbCptJW4KWg6bfQ9/lJ8JbwibDqqzT0D7jUitaX2S0vubYzblAalZoq Fw16HPA4wDsMOeIO2QRK12wemySuJralDVDtil+aSHRMGAR0gOUP8x/+EGt0kH51JPll oCnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=dT1+R2R1DcDzZHNwGtyrIvDJkPjfpNefyIyHE6YckKk=; b=F/SHVCIiHcl+O2hirFvCZzyi4A+82Tw0f7F4Muabm3faiyMmd/kmQtrDBsbGIjtSBM jyg3fckgwHoCV4eCJPA/AaGZZkispKz01gGbAWXc5Wxbfm6++Px9xlItVXxO5ObCqazv AnvWPsuOhGL3rWLECIIrhVJnmzfTMxzKSMXJKPG0cg8+ZstIWiMYu+kRwt53631iV/YL SxQUleNHjtzEZmZC8vQ+osVmTcvVuInkhqSUNYEVx1aavQUTbeMyAEcL51FST35KI+5g s4hOlnwVD+2uHeTsqNpvn7M3RNN+14QcowgTsIFwDNheMQ+zyuBFOh45rR9J5R1gkWfH hFWw== X-Gm-Message-State: APjAAAWOVnj5eKtrcnZj5jLEUE1SU0Zl0JAH3OSSqOHr6mR/lMpW0xAK oahZoH+YfML66EtSjdu/ieeYo0q36LCWdjwHLqyZrPXh X-Google-Smtp-Source: APXvYqwkz36uxBEUAxilxzrSfOuBdJ8WxV5GxI49vvkiz0fuqiAmwMCg6hS7HA1QB6oFGEg8ept/Fo5Srlk0Qas4LGM= X-Received: by 2002:a2e:7d01:: with SMTP id y1mr14632170ljc.100.1579008094039; Tue, 14 Jan 2020 05:21:34 -0800 (PST) MIME-Version: 1.0 From: Evgeny Zajcev Date: Tue, 14 Jan 2020 16:21:23 +0300 Message-ID: Subject: 28.0.50; Emacs slowdown on special char To: bug-gnu-emacs@gnu.org Content-Type: multipart/alternative; boundary="0000000000008af124059c1978f3" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::22e X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --0000000000008af124059c1978f3 Content-Type: text/plain; charset="UTF-8" I'm experiencing extreme Emacs slowdown when VARIATION SELECTOR-16 char is used somewhere in Emacs buffer. For example, I just executed: (insert "a\xfe0f") in *scratch* buffer. Moving cursor (when this char is visible) become unbearable. Here is the results of cpu profiling: - command-execute 776 62% - call-interactively 776 62% - funcall-interactively 675 54% - previous-line 476 38% - line-move 476 38% - line-move-1 476 38% + vertical-motion 225 18% - next-line 198 15% - line-move 198 15% - line-move-1 198 15% + vertical-motion 94 7% + execute-extended-command 1 0% + byte-code 101 8% auto-compose-chars 185 14% + timer-event-handler 175 14% - redisplay_internal (C function) 75 6% auto-compose-chars 75 6% - ... 30 2% Automatic GC 30 2% As I remember I did not experienced something similar in Emacs 26/27 Thanks -------------------- In GNU Emacs 28.0.50 (build 3, x86_64-pc-linux-gnu, GTK+ Version 3.18.9, cairo version 1.14.6) of 2020-01-13 built on wrt Repository revision: 7c5d6a2afc6c23a7fff8456f506ee2aa2d37a3b9 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.11804000 System Description: Ubuntu 16.04.1 LTS Recent messages: next-line: End of buffer [2 times] Mark activated [2 times] CPU profiler stopped CPU profiler started Mark set Quit Mark set CPU profiler stopped CPU profiler started Mark set Configured using: 'configure --with-modules --with-cairo' Configured features: XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND DBUS GSETTINGS GLIB NOTIFY INOTIFY GNUTLS LIBXML2 FREETYPE HARFBUZZ LIBOTF ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS JSON PDUMPER LCMS2 GMP Important settings: value of $LC_MONETARY: ru_RU.UTF-8 value of $LC_NUMERIC: ru_RU.UTF-8 value of $LC_TIME: ru_RU.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tracking-mode: t telega-mode-line-mode: t icomplete-mode: t save-place-mode: t pyvenv-mode: t shell-dirtrack-mode: t display-time-mode: t global-undo-tree-mode: t undo-tree-mode: t override-global-mode: t cl-old-struct-compat-mode: t global-eldoc-mode: t eldoc-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t auto-fill-function: do-auto-fill transient-mark-mode: t Load-path shadows: /home/lg/.emacs.d/elpa/circe-20180105.1158/tracking hides /home/lg/.emacs.d/elpa/tracking-20171210.2102/tracking /home/lg/.emacs.d/elpa/circe-20180105.1158/shorten hides /home/lg/.emacs.d/elpa/tracking-20171210.2102/shorten ~/dev/xelb/xcb-renderutil hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-renderutil ~/dev/xelb/xcb-xinput hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xinput ~/dev/xelb/xcb-shape hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-shape ~/dev/xelb/xcb-icccm hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-icccm ~/dev/xelb/xcb-dri3 hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-dri3 ~/dev/xelb/xcb-xc_misc hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xc_misc ~/dev/xelb/xcb-render hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-render ~/dev/xelb/xcb-xf86vidmode hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xf86vidmode ~/dev/xelb/xcb-cursor hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-cursor ~/dev/xelb/xcb-dri2 hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-dri2 ~/dev/xelb/xcb-xprint hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xprint ~/dev/xelb/xcb-systemtray hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-systemtray ~/dev/xelb/xcb-composite hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-composite ~/dev/xelb/xcb-types hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-types ~/dev/xelb/xcb-dpms hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-dpms ~/dev/xelb/xcb-bigreq hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-bigreq ~/dev/xelb/xcb-xselinux hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xselinux ~/dev/xelb/xcb-xproto hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xproto ~/dev/xelb/xcb-xlib hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xlib ~/dev/xelb/xcb-xf86dri hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xf86dri ~/dev/xelb/xcb hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb ~/dev/xelb/xcb-xembed hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xembed ~/dev/xelb/xcb-present hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-present ~/dev/xelb/xcb-screensaver hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-screensaver ~/dev/xelb/xcb-shm hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-shm ~/dev/xelb/xcb-ge hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-ge ~/dev/xelb/xcb-xinerama hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xinerama ~/dev/xelb/xcb-xim hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xim ~/dev/xelb/xcb-damage hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-damage ~/dev/xelb/xcb-glx hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-glx ~/dev/xelb/xcb-sync hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-sync ~/dev/xelb/xcb-res hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-res ~/dev/xelb/xcb-xfixes hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xfixes ~/dev/xelb/xcb-xtest hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xtest ~/dev/xelb/xcb-keysyms hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-keysyms ~/dev/xelb/xcb-ewmh hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-ewmh ~/dev/xelb/el_client hides /home/lg/.emacs.d/elpa/xelb-0.18/el_client ~/dev/xelb/xcb-record hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-record ~/dev/xelb/xcb-xv hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xv ~/dev/xelb/xcb-randr hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-randr ~/dev/xelb/xcb-xkb hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xkb ~/dev/xelb/xcb-xevie hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xevie ~/dev/xelb/xcb-xvmc hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xvmc ~/dev/xelb/xelb hides /home/lg/.emacs.d/elpa/xelb-0.18/xelb Features: (shadow sort mail-extr emacsbug sendmail descr-text bug-reference cc-mode cc-fonts cc-guess cc-menus cc-styles cc-align apropos profiler find-func disp-table fill-column-indicator vc vc-dispatcher vc-git smerge-mode git log-edit pcvs-util add-log misearch multi-isearch wordfreq face-remap rect mm-archive gnutls network-stream url-cache multitran mule-util hl-line tracking shorten telega telega-modes telega-webpage telega-tme visual-fill-column telega-chat telega-i18n telega-company telega-user telega-sticker telega-notifications notifications dbus telega-msg telega-vvnote telega-media telega-root telega-voip telega-ffplay telega-info telega-filter telega-ins telega-inline telega-tdlib telega-util color svg dom xml ewoc telega-server telega-core cursor-sensor telega-customize exwm-wconf winner exwm-misc exwm exwm-match exwm-input xcb-keysyms exwm-manage exwm-floating xcb-cursor xcb-render exwm-layout exwm-workspace exwm-core xcb-ewmh xcb-icccm xcb xcb-xproto xcb-types work desktop frameset gnus-demon nntp gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc gnus-spec gnus-win nnoo gnus-int gnus-range message rfc822 mml mml-sec epa epg epg-config mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader gnus nnheader gnus-util rmail rmail-loaddefs text-property-search mail-utils autoinsert cal-menu calendar cal-loaddefs icomplete saveplace cython-mode company-capf company pcase help-fns radix-tree elpy find-file-in-project ivy delsel ivy-overlay ffap windmove diff-mode elpy-shell pyvenv elpy-profile elpy-django elpy-refactor python tramp-sh tramp tramp-loaddefs trampver tramp-integration tramp-compat parse-time iso8601 time-date ls-lisp format-spec grep files-x etags fileloop generator xref project cus-edit cus-start cus-load wid-edit python-mode info-look which-func imenu shell pcomplete hippie-exp flymake-proc flymake warnings thingatpt compile cc-cmds cc-engine cc-vars cc-defs dot-mode gist dired dired-loaddefs gh-gist gh-oauth gh-api logito gh-cache pcache gh-auth gh-url url-http url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm rmc puny timezone eieio-base server time google-translate google-translate-default-ui google-translate-core-ui google-translate-core google-translate-tk url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap whitespace undo-tree diff ido comint ansi-color ring avoid ibuffer-vc ibuf-ext ibuffer ibuffer-loaddefs edmacro kmacro browse-kill-ring derived cl cl-extra help-mode use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core tex-site gh-common gh-profile rx s marshal eieio-compat dash advice info package easymenu browse-url url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 844236 204685) (symbols 48 53129 1) (strings 32 212317 6977) (string-bytes 1 7670144) (vectors 16 104746) (vector-slots 8 3029493 25214) (floats 8 5990 341) (intervals 56 26458 1076) (buffers 1000 53) (heap 1024 91340 6613)) -- lg --0000000000008af124059c1978f3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I'm experiencing extreme Emacs slowdown when VARIATION= SELECTOR-16 char
is used somewhere in Emacs buffer.=C2=A0 For example, = I just executed:

=C2=A0 =C2=A0(insert "a\xfe0f")

in= *scratch* buffer.=C2=A0 Moving cursor (when this char is visible) becomeunbearable.=C2=A0 Here is the results of cpu profiling:

=C2=A0 - c= ommand-execute =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 776 =C2=A062%
=C2=A0 =C2=A0- call-int= eractively =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 776 =C2=A062%
=C2=A0 =C2=A0 - funcall-interactively = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 675 =C2= =A054%
=C2=A0 =C2=A0 =C2=A0- previous-line =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0476 =C2= =A038%
=C2=A0 =C2=A0 =C2=A0 - line-move =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 476 = =C2=A038%
=C2=A0 =C2=A0 =C2=A0 =C2=A0- line-move-1 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A047= 6 =C2=A038%
=C2=A0 =C2=A0 =C2=A0 =C2=A0 + vertical-motion =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 225 =C2=A018%=C2=A0 =C2=A0 =C2=A0- next-line =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0198 =C2= =A015%
=C2=A0 =C2=A0 =C2=A0 - line-move =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 198 = =C2=A015%
=C2=A0 =C2=A0 =C2=A0 =C2=A0- line-move-1 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A019= 8 =C2=A015%
=C2=A0 =C2=A0 =C2=A0 =C2=A0 + vertical-motion =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A094 =C2=A0= 7%
=C2=A0 =C2=A0 =C2=A0+ execute-extended-command =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 1 =C2=A0 0%
=C2=A0 =C2=A0 + byte-= code =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 101 =C2=A0 8%
=C2=A0 =C2=A0 auto-= compose-chars =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0185 =C2=A014%
=C2=A0 + timer-event-handler = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 175 =C2=A014%
=C2=A0 - redisplay_internal (C function) =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A075 =C2=A0 6%
=C2=A0 =C2=A0 =C2=A0auto-= compose-chars =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A075 =C2=A0 6%
=C2=A0 - ... =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A030 =C2=A0 2%
=C2=A0 = =C2=A0 =C2=A0Automatic GC =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A030 =C2=A0 2%
=
As I remember I did not experienced something similar in Emacs 26/27
Thanks

--------------------
In GNU Emacs 28.0.50 (build 3, x= 86_64-pc-linux-gnu, GTK+ Version 3.18.9, cairo version 1.14.6)
=C2=A0of = 2020-01-13 built on wrt
Repository revision: 7c5d6a2afc6c23a7fff8456f506= ee2aa2d37a3b9
Repository branch: master
Windowing system distributor = 'The X.Org Foundation', version 11.0.11804000
System Description= : Ubuntu 16.04.1 LTS

Recent messages:
next-line: End of buffer [2= times]
Mark activated [2 times]
CPU profiler stopped
CPU profiler= started
Mark set
Quit
Mark set
CPU profiler stopped
CPU pro= filer started
Mark set

Configured using:
=C2=A0'configure = --with-modules --with-cairo'

Configured features:
XPM JPEG TI= FF GIF PNG RSVG CAIRO SOUND DBUS GSETTINGS GLIB NOTIFY
INOTIFY GNUTLS LI= BXML2 FREETYPE HARFBUZZ LIBOTF ZLIB TOOLKIT_SCROLL_BARS
GTK3 X11 XDBE XI= M MODULES THREADS JSON PDUMPER LCMS2 GMP

Important settings:
=C2= =A0 value of $LC_MONETARY: ru_RU.UTF-8
=C2=A0 value of $LC_NUMERIC: ru_R= U.UTF-8
=C2=A0 value of $LC_TIME: ru_RU.UTF-8
=C2=A0 value of $LANG: = en_US.UTF-8
=C2=A0 locale-coding-system: utf-8-unix

Major mode: L= isp Interaction

Minor modes in effect:
=C2=A0 tracking-mode: t=C2=A0 telega-mode-line-mode: t
=C2=A0 icomplete-mode: t
=C2=A0 save= -place-mode: t
=C2=A0 pyvenv-mode: t
=C2=A0 shell-dirtrack-mode: t=C2=A0 display-time-mode: t
=C2=A0 global-undo-tree-mode: t
=C2=A0 u= ndo-tree-mode: t
=C2=A0 override-global-mode: t
=C2=A0 cl-old-struct-= compat-mode: t
=C2=A0 global-eldoc-mode: t
=C2=A0 eldoc-mode: t
= =C2=A0 mouse-wheel-mode: t
=C2=A0 file-name-shadow-mode: t
=C2=A0 glo= bal-font-lock-mode: t
=C2=A0 auto-composition-mode: t
=C2=A0 auto-enc= ryption-mode: t
=C2=A0 auto-compression-mode: t
=C2=A0 column-number-= mode: t
=C2=A0 line-number-mode: t
=C2=A0 auto-fill-function: do-auto= -fill
=C2=A0 transient-mark-mode: t

Load-path shadows:
/home/l= g/.emacs.d/elpa/circe-20180105.1158/tracking hides /home/lg/.emacs.d/elpa/t= racking-20171210.2102/tracking
/home/lg/.emacs.d/elpa/circe-20180105.115= 8/shorten hides /home/lg/.emacs.d/elpa/tracking-20171210.2102/shorten
~/= dev/xelb/xcb-renderutil hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-renderut= il
~/dev/xelb/xcb-xinput hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xinp= ut
~/dev/xelb/xcb-shape hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-shape=
~/dev/xelb/xcb-icccm hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-icccm~/dev/xelb/xcb-dri3 hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-dri3
~/= dev/xelb/xcb-xc_misc hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xc_misc
= ~/dev/xelb/xcb-render hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-render
= ~/dev/xelb/xcb-xf86vidmode hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xf86v= idmode
~/dev/xelb/xcb-cursor hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-= cursor
~/dev/xelb/xcb-dri2 hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-dr= i2
~/dev/xelb/xcb-xprint hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xpri= nt
~/dev/xelb/xcb-systemtray hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-= systemtray
~/dev/xelb/xcb-composite hides /home/lg/.emacs.d/elpa/xelb-0.= 18/xcb-composite
~/dev/xelb/xcb-types hides /home/lg/.emacs.d/elpa/xelb-= 0.18/xcb-types
~/dev/xelb/xcb-dpms hides /home/lg/.emacs.d/elpa/xelb-0.1= 8/xcb-dpms
~/dev/xelb/xcb-bigreq hides /home/lg/.emacs.d/elpa/xelb-0.18/= xcb-bigreq
~/dev/xelb/xcb-xselinux hides /home/lg/.emacs.d/elpa/xelb-0.1= 8/xcb-xselinux
~/dev/xelb/xcb-xproto hides /home/lg/.emacs.d/elpa/xelb-0= .18/xcb-xproto
~/dev/xelb/xcb-xlib hides /home/lg/.emacs.d/elpa/xelb-0.1= 8/xcb-xlib
~/dev/xelb/xcb-xf86dri hides /home/lg/.emacs.d/elpa/xelb-0.18= /xcb-xf86dri
~/dev/xelb/xcb hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb~/dev/xelb/xcb-xembed hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xembed~/dev/xelb/xcb-present hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-present=
~/dev/xelb/xcb-screensaver hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-s= creensaver
~/dev/xelb/xcb-shm hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb= -shm
~/dev/xelb/xcb-ge hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-ge
= ~/dev/xelb/xcb-xinerama hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xinerama=
~/dev/xelb/xcb-xim hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xim
~/= dev/xelb/xcb-damage hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-damage
~/= dev/xelb/xcb-glx hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-glx
~/dev/xe= lb/xcb-sync hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-sync
~/dev/xelb/x= cb-res hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-res
~/dev/xelb/xcb-xfi= xes hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xfixes
~/dev/xelb/xcb-xte= st hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xtest
~/dev/xelb/xcb-keysy= ms hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-keysyms
~/dev/xelb/xcb-ewm= h hides /home/lg/.emacs.d/elpa/xelb-0.18/xcb-ewmh
~/dev/xelb/el_client h= ides /home/lg/.emacs.d/elpa/xelb-0.18/el_client
~/dev/xelb/xcb-record hi= des /home/lg/.emacs.d/elpa/xelb-0.18/xcb-record
~/dev/xelb/xcb-xv hides = /home/lg/.emacs.d/elpa/xelb-0.18/xcb-xv
~/dev/xelb/xcb-randr hides /home= /lg/.emacs.d/elpa/xelb-0.18/xcb-randr
~/dev/xelb/xcb-xkb hides /home/lg/= .emacs.d/elpa/xelb-0.18/xcb-xkb
~/dev/xelb/xcb-xevie hides /home/lg/.ema= cs.d/elpa/xelb-0.18/xcb-xevie
~/dev/xelb/xcb-xvmc hides /home/lg/.emacs.= d/elpa/xelb-0.18/xcb-xvmc
~/dev/xelb/xelb hides /home/lg/.emacs.d/elpa/x= elb-0.18/xelb

Features:
(shadow sort mail-extr emacsbug sendmail = descr-text bug-reference
cc-mode cc-fonts cc-guess cc-menus cc-styles cc= -align apropos profiler
find-func disp-table fill-column-indicator vc vc= -dispatcher vc-git
smerge-mode git log-edit pcvs-util add-log misearch m= ulti-isearch
wordfreq face-remap rect mm-archive gnutls network-stream u= rl-cache
multitran mule-util hl-line tracking shorten telega telega-mode= s
telega-webpage telega-tme visual-fill-column telega-chat telega-i18ntelega-company telega-user telega-sticker telega-notifications
notific= ations dbus telega-msg telega-vvnote telega-media telega-root
telega-voi= p telega-ffplay telega-info telega-filter telega-ins
telega-inline teleg= a-tdlib telega-util color svg dom xml ewoc
telega-server telega-core cur= sor-sensor telega-customize exwm-wconf
winner exwm-misc exwm exwm-match = exwm-input xcb-keysyms exwm-manage
exwm-floating xcb-cursor xcb-render e= xwm-layout exwm-workspace exwm-core
xcb-ewmh xcb-icccm xcb xcb-xproto xc= b-types work desktop frameset
gnus-demon nntp gnus-group gnus-undo gnus-= start gnus-cloud nnimap nnmail
mail-source utf7 netrc gnus-spec gnus-win= nnoo gnus-int gnus-range
message rfc822 mml mml-sec epa epg epg-config = mm-decode mm-bodies
mm-encode mailabbrev gmm-utils mailheader gnus nnhea= der gnus-util rmail
rmail-loaddefs text-property-search mail-utils autoi= nsert cal-menu
calendar cal-loaddefs icomplete saveplace cython-mode com= pany-capf
company pcase help-fns radix-tree elpy find-file-in-project iv= y delsel
ivy-overlay ffap windmove diff-mode elpy-shell pyvenv elpy-prof= ile
elpy-django elpy-refactor python tramp-sh tramp tramp-loaddefs tramp= ver
tramp-integration tramp-compat parse-time iso8601 time-date ls-lisp<= br>format-spec grep files-x etags fileloop generator xref project cus-edit<= br>cus-start cus-load wid-edit python-mode info-look which-func imenu shell=
pcomplete hippie-exp flymake-proc flymake warnings thingatpt compilecc-cmds cc-engine cc-vars cc-defs dot-mode gist dired dired-loaddefs
gh= -gist gh-oauth gh-api logito gh-cache pcache gh-auth gh-url url-http
url= -auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr u= rl-gw nsm rmc puny timezone eieio-base server time
google-translate goog= le-translate-default-ui google-translate-core-ui
google-translate-core g= oogle-translate-tk url url-proxy url-privacy
url-expand url-methods url-= history url-cookie url-domsuf url-util
mailcap whitespace undo-tree diff= ido comint ansi-color ring avoid
ibuffer-vc ibuf-ext ibuffer ibuffer-lo= addefs edmacro kmacro
browse-kill-ring derived cl cl-extra help-mode use= -package
use-package-ensure use-package-delight use-package-diminish
= use-package-bind-key bind-key easy-mmode use-package-core tex-site
gh-co= mmon gh-profile rx s marshal eieio-compat dash advice info package
easym= enu browse-url url-handlers url-parse auth-source cl-seq eieio
eieio-cor= e cl-macs eieio-loaddefs password-cache json subr-x map
url-vars seq byt= e-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib
tooltip eldoc el= ectric uniquify ediff-hook vc-hooks lisp-float-type
mwheel term/x-win x-= win term/common-win x-dnd tool-bar dnd fontset image
regexp-opt fringe t= abulated-list replace newcomment text-mode elisp-mode
lisp-mode prog-mod= e register page tab-bar menu-bar rfn-eshadow isearch
timer select scroll= -bar mouse jit-lock font-lock syntax facemenu
font-core term/tty-colors = frame minibuffer cl-generic cham georgian
utf-8-lang misc-lang vietnames= e tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew gree= k romanian slovak czech european
ethiopic indian cyrillic chinese compos= ite charscript charprop
case-table epa-hook jka-cmpr-hook help simple ab= brev obarray
cl-preloaded nadvice loaddefs button faces cus-face macroex= p files
text-properties overlay sha1 md5 base64 format env code-pages mu= le
custom widget hashtable-print-readable backquote threads dbusbind
= inotify lcms2 dynamic-setting system-font-setting font-render-setting
ca= iro move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)
<= br>Memory information:
((conses 16 844236 204685)
=C2=A0(symbols 48 5= 3129 1)
=C2=A0(strings 32 212317 6977)
=C2=A0(string-bytes 1 7670144)=
=C2=A0(vectors 16 104746)
=C2=A0(vector-slots 8 3029493 25214)
= =C2=A0(floats 8 5990 341)
=C2=A0(intervals 56 26458 1076)
=C2=A0(buff= ers 1000 53)
=C2=A0(heap 1024 91340 6613))

--
lg
--0000000000008af124059c1978f3-- ------------=_1583141163-2413-1--