* bug#26402: 25.2; Font rendering extremely slow on any non-default font @ 2017-04-08 13:48 Gennady Uraltsev 2017-04-08 14:44 ` Eli Zaretskii 0 siblings, 1 reply; 11+ messages in thread From: Gennady Uraltsev @ 2017-04-08 13:48 UTC (permalink / raw) To: 26402 [-- Attachment #1.1.1: Type: text/plain, Size: 16364 bytes --] Font rendering in emacs is incredibly slow if any buffer-local change is made i.e. unless using 'default. I tried moving the cursor in a small (30 line) text file in emacs under X. It works perfectly, also changing the default font size with set-face-font or set-frame-font works perfectly well. On the other hand, any buffer local change of font makes everything extremely slow. These modifications include (buffer-face-set 'fixed-pitch) or text-scale-adjust The cursor gets redrawn around once every second making using emacs impossible. I am attaching the profiler logs for moving the cursor from the beginning to the end of the 30 line buffer Default run: > - command-execute 122 96% > - call-interactively 122 96% > - byte-code 88 69% > - read-extended-command 88 69% > - completing-read 88 69% > - completing-read-default 88 69% > - read-from-minibuffer 25 19% > - redisplay_internal (C function) 3 2% > - funcall 3 2% > - #<compiled 0x26fa55> 3 2% > - gui-backend-selection-exists-p 3 2% > - apply 3 2% > #<compiled 0x49fcad> 3 2% > - command-execute 2 1% > - call-interactively 2 1% > - funcall-interactively 2 1% > - previous-line-or-history-element 2 1% > - previous-history-element 2 1% > goto-history-element 2 1% > - funcall-interactively 34 26% > - execute-extended-command 33 26% > - sit-for 25 19% > - redisplay 20 15% > - redisplay_internal (C function) 4 3% > - funcall 4 3% > - #<compiled 0x26fa55> 4 3% > - gui-backend-selection-exists-p 4 3% > - apply 4 3% > #<compiled 0x49fcad> 4 3% > - command-execute 8 6% > - call-interactively 8 6% > - funcall-interactively 8 6% > - profiler-report 8 6% > - profiler-report-cpu 8 6% > profiler-cpu-profile 8 6% > - next-line 1 0% > - line-move 1 0% > - line-move-partial 1 0% > - window-screen-lines 1 0% > - window-inside-pixel-edges 1 0% > window-edges 1 0% > - ... 4 3% > Automatic GC 4 3% Run after set-frame-font: > - command-execute 100 90% > - call-interactively 100 90% > - byte-code 58 52% > - read-extended-command 58 52% > - completing-read 58 52% > + completing-read-default 58 52% > - funcall-interactively 42 37% > - execute-extended-command 36 32% > - sit-for 24 21% > - redisplay 17 15% > - redisplay_internal (C function) 2 1% > - funcall 2 1% > - #<compiled 0x26fa55> 2 1% > - gui-backend-selection-exists-p 2 1% > - apply 2 1% > #<compiled 0x49fcad> 2 1% > - command-execute 12 10% > - call-interactively 12 10% > - funcall-interactively 12 10% > - profiler-report 12 10% > - profiler-report-cpu 12 10% > profiler-cpu-profile 12 10% > - next-line 6 5% > - line-move 6 5% > line-move-visual 6 5% > - ... 10 9% > Automatic GC 10 9% > - timer-event-handler 1 0% > - apply 1 0% > jit-lock-context-fontify 1 0% BAD run after text-scale-adjust > - command-execute 2024 99% > - call-interactively 2024 99% > - funcall-interactively 1999 98% > - next-line 1965 96% > - line-move 1965 96% > - line-move-partial 1433 70% > - default-line-height 730 35% > default-font-height 730 35% > - window-screen-lines 695 34% > - default-line-height 691 33% > default-font-height 691 33% > - window-inside-pixel-edges 4 0% > window-edges 4 0% > - window-inside-pixel-edges 8 0% > - window-edges 8 0% > - window-current-scroll-bars 4 0% > frame-current-scroll-bars 4 0% > - default-line-height 524 25% > default-font-height 524 25% > line-move-visual 4 0% > - window-inside-pixel-edges 4 0% > - window-edges 4 0% > - window-current-scroll-bars 4 0% > frame-current-scroll-bars 4 0% > - execute-extended-command 34 1% > - sit-for 22 1% > redisplay 16 0% > - command-execute 12 0% > - call-interactively 12 0% > - funcall-interactively 12 0% > - profiler-report 12 0% > - profiler-report-cpu 12 0% > profiler-cpu-profile 12 0% > - byte-code 25 1% > - read-extended-command 25 1% > - completing-read 25 1% > - completing-read-default 25 1% > read-from-minibuffer 19 0% > - ... 11 0% > Automatic GC 11 0% BAD run after (buffer-set-face fixed-pitch) > command-execute 1778 99% > - call-interactively 1778 99% > - funcall-interactively 1745 97% > - next-line 1716 96% > - line-move 1716 96% > - line-move-partial 1176 65% > - default-line-height 608 34% > default-font-height 608 34% > - window-screen-lines 568 31% > - default-line-height 568 31% > default-font-height 568 31% > - default-line-height 540 30% > default-font-height 540 30% > - execute-extended-command 29 1% > - sit-for 15 0% > redisplay 12 0% > - command-execute 14 0% > - call-interactively 14 0% > - funcall-interactively 14 0% > - profiler-report 10 0% > - profiler-report-cpu 10 0% > profiler-cpu-profile 10 0% > profiler-start 4 0% > - byte-code 33 1% > - read-extended-command 33 1% > - completing-read 33 1% > - completing-read-default 33 1% > read-from-minibuffer 17 0% > - ... 8 0% > Automatic GC 8 0% In GNU Emacs 25.2.1 (x86_64-suse-linux-gnu, GTK+ Version 3.20.10) of 2017-03-27 built on lamb61 Windowing system distributor 'The X.Org Foundation', version 11.0.11803000 System Description: openSUSE Leap 42.2 Configured using: 'configure --with-pop --without-hesiod --with-kerberos --with-kerberos5 --with-xim --with-wide-int --with-file-notification=inotify --with-modules --enable-autodepend --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --localstatedir=/var --sharedstatedir=/var/lib --libexecdir=/usr/lib --enable-locallisppath=/usr/share/emacs/25.2/site-lisp:/usr/share/emacs/site-lisp --with-x --with-sound --with-xpm --with-jpeg --with-tiff --with-gif --with-png --with-rsvg --with-dbus --with-xft --without-gpm --with-x-toolkit=gtk3 --with-xwidgets --x-includes=/usr/include --x-libraries=/usr/lib64 --with-libotf --with-m17n-flt --build=x86_64-suse-linux 'CFLAGS=-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -D_GNU_SOURCE -DGDK_DISABLE_DEPRECATION_WARNINGS -DGLIB_DISABLE_DEPRECATION_WARNINGS -pipe -Wno-pointer-sign -Wno-unused-variable -Wno-unused-label -Wno-unprototyped-calls -fno-optimize-sibling-calls -fno-PIE -DSYSTEM_PURESIZE_EXTRA=55000 -DSITELOAD_PURESIZE_EXTRA=10000 ' LDFLAGS=-Wl,-O2' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GCONF GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 MODULES XWIDGETS Important settings: value of $LC_CTYPE: en_US.UTF-8 value of $LC_MONETARY: de_DE.UTF-8 value of $LC_NUMERIC: POSIX value of $LC_TIME: en_GB.UTF-8 value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=local locale-coding-system: utf-8-unix Major mode: Fundamental Minor modes in effect: buffer-face-mode: t tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Recent messages: Making completion list... [2 times] delete-backward-char: Text is read-only Making completion list... [3 times] You can run the command ‘buffer-face-set’ with M-x bu-s RET previous-line: Beginning of buffer [3 times] CPU profiler stopped CPU profiler started next-line: End of buffer Wrote /home/guraltsev/admin/bugs/emacs/font-slow/buffer-set-face-fixed-pitch C-x <up> is undefined [2 times] Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message dired format-spec rfc822 mml mml-sec password-cache epg epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util help-fns help-mode mail-prsvr mail-utils thingatpt profiler easymenu cl-loaddefs pcase cl-lib face-remap time-date mule-util delsel lpr tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame 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 charscript case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer 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 dbusbind inotify dynamic-setting system-font-setting font-render-setting xwidget-internal move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 121417 15744) (symbols 48 22660 0) (miscs 40 5039 157) (strings 32 23137 10436) (string-bytes 1 677307) (vectors 16 67484) (vector-slots 8 1659575 10120) (floats 8 184 184) (intervals 56 446 10) (buffers 976 24) (heap 1024 58366 8411)) [-- Attachment #1.1.2: BAD-text-scale-adjust-profile --] [-- Type: text/plain, Size: 2419 bytes --] [profiler-profile "24.3" cpu #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ([redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 16 [sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 6 [default-font-height default-line-height line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 730 [default-font-height default-line-height window-screen-lines line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 691 [default-font-height default-line-height line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil] 524 [window-edges window-inside-pixel-edges window-screen-lines line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 4 [line-move-visual line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 4 [frame-current-scroll-bars window-current-scroll-bars window-edges window-inside-pixel-edges line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 4 [frame-current-scroll-bars window-current-scroll-bars window-edges window-inside-pixel-edges line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 4 [window-edges window-inside-pixel-edges line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 4 [read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil] 19 [completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 6 [profiler-cpu-profile profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 12 [Automatic\ GC] 11)) (22760 58176 318849 204000) nil] [-- Attachment #1.1.3: BAD-buffer-set-face-fixed-pitch-profile --] [-- Type: text/plain, Size: 1766 bytes --] [profiler-profile "24.3" cpu #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ([profiler-start funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 4 [redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 12 [sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 3 [default-font-height default-line-height line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 608 [default-font-height default-line-height window-screen-lines line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 568 [default-font-height default-line-height line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil] 540 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 4 [read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil] 17 [completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 16 [profiler-cpu-profile profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 10 [Automatic\ GC] 8)) (22760 58394 492030 54000) nil] [-- Attachment #1.1.4: GOOD-default-profile --] [-- Type: text/plain, Size: 2040 bytes --] [profiler-profile "24.3" cpu #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ([redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 16 ["#<compiled 0x49fcad>" apply gui-backend-selection-exists-p "#<compiled 0x26fa55>" funcall redisplay_internal\ \(C\ function\) redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil] 4 [sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 5 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 26 [window-edges window-inside-pixel-edges window-screen-lines line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 1 [completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 63 [read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil] 20 ["#<compiled 0x49fcad>" apply gui-backend-selection-exists-p "#<compiled 0x26fa55>" funcall redisplay_internal\ \(C\ function\) read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil] 3 [goto-history-element previous-history-element previous-line-or-history-element funcall-interactively call-interactively command-execute read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil] 2 [profiler-cpu-profile profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 8 [Automatic\ GC] 4)) (22760 58093 299567 465000) nil] [-- Attachment #1.1.5: GOOD-set-frame-font-profile --] [-- Type: text/plain, Size: 2292 bytes --] [profiler-profile "24.3" cpu #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data (["#<compiled 0x49fcad>" apply gui-backend-selection-exists-p "#<compiled 0x26fa55>" funcall redisplay_internal\ \(C\ function\) redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil] 2 [redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 15 [sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 7 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 24 [jit-lock-context-fontify apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil nil] 1 [line-move-visual line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 6 [completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 39 [image-search-load-path find-image eval "#<compiled 0x280363>" mapcar tool-bar-make-keymap-1 tool-bar-make-keymap redisplay_internal\ \(C\ function\) read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil] 4 [read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil] 11 [apply timer-event-handler read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil] 3 [line-move-visual line-move previous-line previous-line-or-history-element funcall-interactively call-interactively command-execute read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil] 1 [profiler-cpu-profile profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 12 [Automatic\ GC] 10)) (22760 58827 129064 974000) nil] [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font 2017-04-08 13:48 bug#26402: 25.2; Font rendering extremely slow on any non-default font Gennady Uraltsev @ 2017-04-08 14:44 ` Eli Zaretskii 2017-04-08 14:54 ` Gennady Uraltsev 0 siblings, 1 reply; 11+ messages in thread From: Eli Zaretskii @ 2017-04-08 14:44 UTC (permalink / raw) To: Gennady Uraltsev; +Cc: 26402 > From: Gennady Uraltsev <gennady.uraltsev@gmail.com> > Date: Sat, 8 Apr 2017 15:48:38 +0200 > > Font rendering in emacs is incredibly slow if any buffer-local change is > made i.e. unless using 'default. Does setting inhibit-compacting-font-caches non-nil solve the problem? If it does, can you show an example of a buffer where you see this problem? ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font 2017-04-08 14:44 ` Eli Zaretskii @ 2017-04-08 14:54 ` Gennady Uraltsev 2017-04-08 16:10 ` Eli Zaretskii 0 siblings, 1 reply; 11+ messages in thread From: Gennady Uraltsev @ 2017-04-08 14:54 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 26402 [-- Attachment #1: Type: text/plain, Size: 714 bytes --] Hey, Nope, sorry. Doesn't seem to help. What I did: started emacs with #emacs -Q lorem-ipsum emacs opens in fundamental mode with the file (attached) # M-x eval-expression # (setq inhibit-compacting-font-caches t) # buffer-face-set # variable-pitch Slow as before. Attaching the profiler logs On 08/04/17 16:44, Eli Zaretskii wrote: > > From: Gennady Uraltsev <gennady.uraltsev@gmail.com> > > Date: Sat, 8 Apr 2017 15:48:38 +0200 > > > > Font rendering in emacs is incredibly slow if any buffer-local change is > > made i.e. unless using 'default. > > Does setting inhibit-compacting-font-caches non-nil solve the problem? > If it does, can you show an example of a buffer where you see this > problem? > [-- Attachment #2: BAD-inhibit-cache-buffer-set-face-profile --] [-- Type: text/plain, Size: 2591 bytes --] [profiler-profile "24.3" cpu #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ([redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 8 [default-font-height default-line-height line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 804 [default-font-height default-line-height window-screen-lines line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 750 [default-font-height default-line-height line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil] 670 [default-line-height line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 4 [default-line-height window-screen-lines line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 4 [line-move-visual line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 4 [completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 29 [image-search-load-path find-image eval "#<compiled 0x280363>" mapcar tool-bar-make-keymap-1 tool-bar-make-keymap redisplay_internal\ \(C\ function\) read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil] 4 [read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil] 23 [complete-with-action "#<compiled 0x24c47d>" try-completion completion-basic-try-completion "#<compiled 0x4abe53>" completion--some completion--nth-completion completion-try-completion completion--do-completion completion--in-region-1 "#<compiled 0x249589>" apply "#<compiled 0x5cdc62b>" completion--in-region completion-in-region minibuffer-complete] 3 [execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil nil] 5 [profiler-cpu-profile profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 8 [Automatic\ GC] 5)) (22760 63749 353013 10000) nil] [-- Attachment #3: BAD-inhibit-cache-buffer-set-face --] [-- Type: text/plain, Size: 2925 bytes --] - command-execute 2313 99% - call-interactively 2313 99% - funcall-interactively 2257 97% - next-line 2236 96% - line-move 2236 96% - line-move-partial 1558 67% - default-line-height 804 34% default-font-height 804 34% - window-screen-lines 754 32% - default-line-height 754 32% default-font-height 750 32% - default-line-height 674 29% default-font-height 670 28% line-move-visual 4 0% - execute-extended-command 21 0% - sit-for 8 0% redisplay 8 0% - command-execute 8 0% - call-interactively 8 0% - funcall-interactively 8 0% - profiler-report 8 0% - profiler-report-cpu 8 0% profiler-cpu-profile 8 0% - byte-code 56 2% - read-extended-command 56 2% - completing-read 56 2% - completing-read-default 56 2% - read-from-minibuffer 27 1% - redisplay_internal (C function) 4 0% - tool-bar-make-keymap 4 0% - tool-bar-make-keymap-1 4 0% - mapcar 4 0% + #<compiled 0x280363> 4 0% - ... 8 0% Automatic GC 5 0% - minibuffer-complete 3 0% - completion-in-region 3 0% - completion--in-region 3 0% + #<compiled 0x5cdc62b> 3 0% [-- Attachment #4: lore-ipsum --] [-- Type: text/plain, Size: 1151 bytes --] Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non orci commodo lobortis. Proin neque massa, cursus ut, gravida ut, lobortis eget, lacus. Sed diam. Praesent fermentum tempor tellus. Nullam tempus. Mauris ac felis vel velit tristique imperdiet. Donec at pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id enim. Phasellus neque orci, porta a, aliquet quis, semper a, massa. Phasellus purus. Pellentesque tristique imperdiet tortor. Nam euismod tellus id erat. Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non orci commodo lobortis. Proin neque massa, cursus ut, gravida ut, lobortis eget, lacus. Sed diam. Praesent fermentum tempor tellus. Nullam tempus. Mauris ac felis vel velit tristique imperdiet. Donec at pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id enim. Phasellus neque orci, porta a, aliquet quis, semper a, massa. Phasellus purus. Pellentesque tristique imperdiet tortor. Nam euismod tellus id erat. Nulla posuere. Nunc eleifend leo vitae magna. Nunc aliquet, augue nec adipiscing interdum, lacus tellus malesuada massa, quis varius mi purus non odio. ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font 2017-04-08 14:54 ` Gennady Uraltsev @ 2017-04-08 16:10 ` Eli Zaretskii [not found] ` <541302bf-540b-aedb-4ca4-2ba3acfe495e@gmail.com> 0 siblings, 1 reply; 11+ messages in thread From: Eli Zaretskii @ 2017-04-08 16:10 UTC (permalink / raw) To: Gennady Uraltsev; +Cc: 26402 > From: Gennady Uraltsev <gennady.uraltsev@gmail.com> > Cc: 26402@debbugs.gnu.org > Date: Sat, 8 Apr 2017 16:54:54 +0200 > > #emacs -Q lorem-ipsum > > emacs opens in fundamental mode with the file (attached) > > # M-x eval-expression > # (setq inhibit-compacting-font-caches t) > # buffer-face-set > # variable-pitch > > Slow as before. Attaching the profiler logs What font do you get when you do the above? You can use "C-u C-x =" to see that. ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <541302bf-540b-aedb-4ca4-2ba3acfe495e@gmail.com>]
* bug#26402: 25.2; Font rendering extremely slow on any non-default font [not found] ` <541302bf-540b-aedb-4ca4-2ba3acfe495e@gmail.com> @ 2017-04-08 17:18 ` Eli Zaretskii 2017-04-08 22:33 ` Gennady Uraltsev 0 siblings, 1 reply; 11+ messages in thread From: Eli Zaretskii @ 2017-04-08 17:18 UTC (permalink / raw) To: Gennady Uraltsev; +Cc: 26402 [Please keep the bug address on the CC list.] > From: Gennady Uraltsev <gennady.uraltsev@gmail.com> > Date: Sat, 8 Apr 2017 18:32:34 +0200 > > The default font that emacs -Q starts with is > > xft:-adobe-Source Code > Pro-normal-normal-normal-*-15-*-*-*-m-0-iso10646-1 (#x2C) > > (I guess it comes from the fact that that is my predefined qt and gtk > monospace font) > > once zooming in (text-scale-adjust INC) I get > > xft:-adobe-Source Code > Pro-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1 (#x1E) > > If instead of zooming in I do M-x buffer-face-set variable-pitch > I get the font > > xft:-unknown-Roboto-normal-normal-normal-*-15-*-*-*-*-0-iso10646-1 (#x48) > > > > I can also replicate this by setting the global font to be something > else like > > xft:-unknown-Droid Sans-normal-normal-normal-*-15-*-*-*-*-0-iso10646-1 > (#x54) > xft:-monotype-Noto Sans-normal-normal-normal-*-15-*-*-*-*-0-iso10646-1 > (#x36) > > at the level of the frame by using > > M-x set-frame-font > -unknown-Droid Sans-normal-normal-normal-*-*-*-*-*-*-0-iso10646-1 > or > -monotype-Noto Sans-normal-normal-normal-*-*-*-*-*-*-0-iso10646-1 > > respectively. This does not have a negative impact on performance. But > as soon as I enable something like > > M-x buffer-face-set fixed-pitch or > (text-scale-adjust INC) the problem returns Can you build your own Emacs? If so, could you please apply the following patch and see if it solves the problem? diff --git a/src/font.c b/src/font.c index a929509..bb6d18b 100644 --- a/src/font.c +++ b/src/font.c @@ -2777,21 +2777,22 @@ font_list_entities (struct frame *f, Lisp_Object spec) val = XCDR (val); else { - val = driver_list->driver->list (f, scratch_font_spec); - if (!NILP (val)) - { - Lisp_Object copy = copy_font_spec (scratch_font_spec); + Lisp_Object copy; - val = Fvconcat (1, &val); - ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type); - XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache))); - } + val = driver_list->driver->list (f, scratch_font_spec); + if (NILP (val)) + val = zero_vector; + else + val = Fvconcat (1, &val); + copy = copy_font_spec (scratch_font_spec); + ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type); + XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache))); } - if (VECTORP (val) && ASIZE (val) > 0 + if (ASIZE (val) > 0 && (need_filtering || ! NILP (Vface_ignored_fonts))) val = font_delete_unmatched (val, need_filtering ? spec : Qnil, size); - if (VECTORP (val) && ASIZE (val) > 0) + if (ASIZE (val) > 0) list = Fcons (val, list); } ^ permalink raw reply related [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font 2017-04-08 17:18 ` Eli Zaretskii @ 2017-04-08 22:33 ` Gennady Uraltsev 2017-04-09 5:44 ` Eli Zaretskii 0 siblings, 1 reply; 11+ messages in thread From: Gennady Uraltsev @ 2017-04-08 22:33 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 26402 [-- Attachment #1.1.1: Type: text/plain, Size: 8717 bytes --] [Sorry about the CC, must have escaped me] I recompiled from latest git of today so emacs decalres version 26.0.50 I tried recompiling without your patch and also with your patch. No apparent improvement I tried running both (text-scale-adjust INC) and buffer-set-face both with and without (setq inhibit-compacting-font-caches t) The profiler profiles are attached. The profiler output for moving the cursor down from the beginning of the file to the end are as follows: ***************** M-x buffer-set-face variable-width without (setq inhibit-compacting-font-caches t) ***************** > - command-execute 2227 99% > - call-interactively 2227 99% > - funcall-interactively 2189 98% > - next-line 2176 97% > - line-move 2176 97% > - line-move-partial 1560 69% > - default-line-height 808 36% > default-font-height 808 36% > - window-screen-lines 752 33% > - default-line-height 752 33% > default-font-height 752 33% > - default-line-height 616 27% > default-font-height 612 27% > - display-graphic-p 4 0% > framep-on-display 4 0% > - execute-extended-command 13 0% > - sit-for 13 0% > redisplay 8 0% > - byte-code 34 1% > - read-extended-command 34 1% > - completing-read 34 1% > - completing-read-default 34 1% > - read-from-minibuffer 17 0% > - window--sanitize-window-sizes 5 0% > - walk-window-tree 5 0% > - walk-window-tree-1 5 0% > - #<compiled 0x4a56e9> 5 0% > window-min-size 5 0% > - ... 4 0% > Automatic GC 4 0% ***************** M-x buffer-set-face variable-width with (setq inhibit-compacting-font-caches t) ***************** > - command-execute 2509 99% > - call-interactively 2509 99% > - funcall-interactively 2459 97% > - next-line 2415 96% > - line-move 2415 96% > - line-move-partial 1763 70% > - default-line-height 887 35% > default-font-height 887 35% > - window-screen-lines 876 34% > - default-line-height 876 34% > default-font-height 876 34% > - default-line-height 652 25% > default-font-height 652 25% > - execute-extended-command 44 1% > - sit-for 23 0% > - redisplay 12 0% > - redisplay_internal (C function) 4 0% > kill-this-buffer-enabled-p 4 0% > - command-execute 21 0% > - call-interactively 21 0% > - funcall-interactively 21 0% > - profiler-report 21 0% > - profiler-report-cpu 21 0% > profiler-cpu-profile 21 0% > - byte-code 50 1% > - read-extended-command 50 1% > - completing-read 50 1% > - completing-read-default 50 1% > - read-from-minibuffer 21 0% > - command-execute 3 0% > - call-interactively 3 0% > - funcall-interactively 3 0% > delete-backward-char 3 0% > - ... 5 0% > Automatic GC 5 0% On 08/04/17 19:18, Eli Zaretskii wrote: > [Please keep the bug address on the CC list.] > >> From: Gennady Uraltsev <gennady.uraltsev@gmail.com> >> Date: Sat, 8 Apr 2017 18:32:34 +0200 >> >> The default font that emacs -Q starts with is >> >> xft:-adobe-Source Code >> Pro-normal-normal-normal-*-15-*-*-*-m-0-iso10646-1 (#x2C) >> >> (I guess it comes from the fact that that is my predefined qt and gtk >> monospace font) >> >> once zooming in (text-scale-adjust INC) I get >> >> xft:-adobe-Source Code >> Pro-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1 (#x1E) >> >> If instead of zooming in I do M-x buffer-face-set variable-pitch >> I get the font >> >> xft:-unknown-Roboto-normal-normal-normal-*-15-*-*-*-*-0-iso10646-1 (#x48) >> >> >> >> I can also replicate this by setting the global font to be something >> else like >> >> xft:-unknown-Droid Sans-normal-normal-normal-*-15-*-*-*-*-0-iso10646-1 >> (#x54) >> xft:-monotype-Noto Sans-normal-normal-normal-*-15-*-*-*-*-0-iso10646-1 >> (#x36) >> >> at the level of the frame by using >> >> M-x set-frame-font >> -unknown-Droid Sans-normal-normal-normal-*-*-*-*-*-*-0-iso10646-1 >> or >> -monotype-Noto Sans-normal-normal-normal-*-*-*-*-*-*-0-iso10646-1 >> >> respectively. This does not have a negative impact on performance. But >> as soon as I enable something like >> >> M-x buffer-face-set fixed-pitch or >> (text-scale-adjust INC) the problem returns > > Can you build your own Emacs? If so, could you please apply the > following patch and see if it solves the problem? > > diff --git a/src/font.c b/src/font.c > index a929509..bb6d18b 100644 > --- a/src/font.c > +++ b/src/font.c > @@ -2777,21 +2777,22 @@ font_list_entities (struct frame *f, Lisp_Object spec) > val = XCDR (val); > else > { > - val = driver_list->driver->list (f, scratch_font_spec); > - if (!NILP (val)) > - { > - Lisp_Object copy = copy_font_spec (scratch_font_spec); > + Lisp_Object copy; > > - val = Fvconcat (1, &val); > - ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type); > - XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache))); > - } > + val = driver_list->driver->list (f, scratch_font_spec); > + if (NILP (val)) > + val = zero_vector; > + else > + val = Fvconcat (1, &val); > + copy = copy_font_spec (scratch_font_spec); > + ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type); > + XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache))); > } > - if (VECTORP (val) && ASIZE (val) > 0 > + if (ASIZE (val) > 0 > && (need_filtering > || ! NILP (Vface_ignored_fonts))) > val = font_delete_unmatched (val, need_filtering ? spec : Qnil, size); > - if (VECTORP (val) && ASIZE (val) > 0) > + if (ASIZE (val) > 0) > list = Fcons (val, list); > } > > [-- Attachment #1.1.2: BAD-patched-buffer-set-face-profile --] [-- Type: text/plain, Size: 1873 bytes --] [profiler-profile "24.3" cpu #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 8 [sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 5 [default-font-height default-line-height line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 808 [default-font-height default-line-height window-screen-lines line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 752 [default-font-height default-line-height line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil] 612 [call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 4 [framep-on-display display-graphic-p default-line-height line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 4 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 5 [completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 17 [read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil] 12 [window-min-size "#<compiled 0x4a56e9>" walk-window-tree-1 walk-window-tree window--sanitize-window-sizes read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil] 5 [Automatic\ GC] 4)) (22761 25294 926762 984000) nil] [-- Attachment #1.1.3: BAD-patched-inhibit-cache-buffer-set-face-profile --] [-- Type: text/plain, Size: 2010 bytes --] [profiler-profile "24.3" cpu #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([kill-this-buffer-enabled-p redisplay_internal\ \(C\ function\) redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 4 [redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 8 [sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 11 [default-font-height default-line-height line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 887 [default-font-height default-line-height window-screen-lines line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 876 [default-font-height default-line-height line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil] 652 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 7 [read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil] 18 [completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 29 [delete-backward-char funcall-interactively call-interactively command-execute read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil] 3 [profiler-cpu-profile profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 21 [Automatic\ GC] 5)) (22761 25503 836230 71000) nil] [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font 2017-04-08 22:33 ` Gennady Uraltsev @ 2017-04-09 5:44 ` Eli Zaretskii 2017-04-09 9:45 ` Eli Zaretskii 0 siblings, 1 reply; 11+ messages in thread From: Eli Zaretskii @ 2017-04-09 5:44 UTC (permalink / raw) To: Gennady Uraltsev; +Cc: 26402 > Cc: 26402@debbugs.gnu.org > From: Gennady Uraltsev <gennady.uraltsev@gmail.com> > Date: Sun, 9 Apr 2017 00:33:23 +0200 > > I recompiled from latest git of today so emacs decalres version 26.0.50 > I tried recompiling without your patch and also with your patch. No > apparent improvement > > I tried running both (text-scale-adjust INC) and buffer-set-face > both with and without (setq inhibit-compacting-font-caches t) Then I think this is a problem we never saw before. Unfortunately, since I'm unable to reproduce this on my machine, I cannot debug it further. One last idea I have is to upgrade all the relevant libraries to their latest versions. > The profiler profiles are attached. The profiles clearly tell the problem is related to font metrics, but they don't tell what exactly causes the slow-down or why. Sorry. ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font 2017-04-09 5:44 ` Eli Zaretskii @ 2017-04-09 9:45 ` Eli Zaretskii 2017-04-09 11:07 ` Gennady Uraltsev 0 siblings, 1 reply; 11+ messages in thread From: Eli Zaretskii @ 2017-04-09 9:45 UTC (permalink / raw) To: gennady.uraltsev; +Cc: 26402 > Date: Sun, 09 Apr 2017 08:44:55 +0300 > From: Eli Zaretskii <eliz@gnu.org> > Cc: 26402@debbugs.gnu.org > > > The profiler profiles are attached. > > The profiles clearly tell the problem is related to font metrics, but > they don't tell what exactly causes the slow-down or why. Sorry. How proficient are you with using GDB? If I ask you to step through a certain Emacs function and tell which of its parts is the slow one, can you do that? I can give more detailed instructions if needed. TIA ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font 2017-04-09 9:45 ` Eli Zaretskii @ 2017-04-09 11:07 ` Gennady Uraltsev 2017-04-09 11:59 ` Eli Zaretskii 0 siblings, 1 reply; 11+ messages in thread From: Gennady Uraltsev @ 2017-04-09 11:07 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 26402 [-- Attachment #1.1: Type: text/plain, Size: 1403 bytes --] Dear Eli, 1) I must admit that I am not very familiar with GDB. I have done some programming so I am familiar with the basic concepts but not the tool. If you give me an outline of what to do I can try to do it (I do not mean step by step instructions, I guess I can figure something out and if I really can't I could ask for clarifications). 2) Currently this is what I am doing. I have some virtual machines of otherdistributions (vanilla installations) that I use to test for bugs (cross-check). I see that on kubuntu 16.10 with emacs 24.5.1 and with emacs25.1.2 the problem does not appear: everything works smoothly. 3) Just a question: is there a way to ask emacs to dump the info about the versions of all the libraries it uses? Let me know what to do. Thanks! Gena On 09/04/17 11:45, Eli Zaretskii wrote: > > Date: Sun, 09 Apr 2017 08:44:55 +0300 > > From: Eli Zaretskii <eliz@gnu.org> > > Cc: 26402@debbugs.gnu.org > > > >> The profiler profiles are attached. > > > > The profiles clearly tell the problem is related to font metrics, but > > they don't tell what exactly causes the slow-down or why. Sorry. > > How proficient are you with using GDB? If I ask you to step through a > certain Emacs function and tell which of its parts is the slow one, > can you do that? I can give more detailed instructions if needed. > > TIA > [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font 2017-04-09 11:07 ` Gennady Uraltsev @ 2017-04-09 11:59 ` Eli Zaretskii 2019-11-17 7:47 ` Lars Ingebrigtsen 0 siblings, 1 reply; 11+ messages in thread From: Eli Zaretskii @ 2017-04-09 11:59 UTC (permalink / raw) To: Gennady Uraltsev; +Cc: 26402 > From: Gennady Uraltsev <gennady.uraltsev@gmail.com> > Cc: 26402@debbugs.gnu.org > Date: Sun, 9 Apr 2017 13:07:03 +0200 > > 1) I must admit that I am not very familiar with GDB. I have done some > programming so I am familiar with the basic concepts but not the tool. > If you give me an outline of what to do I can try to do it (I do not > mean step by step instructions, I guess I can figure something out and > if I really can't I could ask for clarifications). Thanks. The function we are interested in is font-info, or Ffont_info on the C level. Its code is in the file font.c around line 5100. It calls various other functions, like fs_query_fontset and font_open_by_name. I'd like to know which one of them takes most of the time, then drill down into that function and find out which of its subroutines takes most of the time, etc. One way of doing that is step through the code and find the line whose execution takes a perceptible time. Alternatively, you could use the 'perf' utility available on GNU/Linux systems, to profile the code of Ffont_info and its subroutines and find out which one takes most of the time. > I see that on kubuntu 16.10 with emacs 24.5.1 and with emacs25.1.2 the > problem does not appear: everything works smoothly. Maybe the fonts available on those systems are different? > 3) Just a question: is there a way to ask emacs to dump the info about > the versions of all the libraries it uses? Yes, the 'ldd' command is your friend. ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font 2017-04-09 11:59 ` Eli Zaretskii @ 2019-11-17 7:47 ` Lars Ingebrigtsen 0 siblings, 0 replies; 11+ messages in thread From: Lars Ingebrigtsen @ 2019-11-17 7:47 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 26402, Gennady Uraltsev Eli Zaretskii <eliz@gnu.org> writes: > The function we are interested in is font-info, or Ffont_info on the C > level. Its code is in the file font.c around line 5100. It calls > various other functions, like fs_query_fontset and font_open_by_name. > I'd like to know which one of them takes most of the time, then drill > down into that function and find out which of its subroutines takes > most of the time, etc. One way of doing that is step through the code > and find the line whose execution takes a perceptible time. This was two years ago, and there was no followup. I'm not able to reproduce the problem here, and the font machinery in Emacs has changed substantially in Emacs 27, so I'm closing this bug report. If this is still a problem, please reopen. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2019-11-17 7:47 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-04-08 13:48 bug#26402: 25.2; Font rendering extremely slow on any non-default font Gennady Uraltsev 2017-04-08 14:44 ` Eli Zaretskii 2017-04-08 14:54 ` Gennady Uraltsev 2017-04-08 16:10 ` Eli Zaretskii [not found] ` <541302bf-540b-aedb-4ca4-2ba3acfe495e@gmail.com> 2017-04-08 17:18 ` Eli Zaretskii 2017-04-08 22:33 ` Gennady Uraltsev 2017-04-09 5:44 ` Eli Zaretskii 2017-04-09 9:45 ` Eli Zaretskii 2017-04-09 11:07 ` Gennady Uraltsev 2017-04-09 11:59 ` Eli Zaretskii 2019-11-17 7:47 ` Lars Ingebrigtsen
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).