* bug#1952: 23.0.60[W32-Mingw]; opening etc/HELLO is slower than before @ 2009-01-19 2:40 ` Kevin Yu 2009-01-19 14:14 ` Jason Rumney 2009-01-24 22:50 ` bug#1952: marked as done (23.0.60[W32-Mingw];opening etc/HELLO is slower than before) Emacs bug Tracking System 0 siblings, 2 replies; 14+ messages in thread From: Kevin Yu @ 2009-01-19 2:40 UTC (permalink / raw) To: emacs-pretest-bug Hi, C-h h. It takes about 3~4 seconds to render the buffer. And if you try beginning-of-buffer/end-of-buffer, you will notice that it's a little lag to refresh. Here's hardware configuration of my PC: 2.6GHz CPU 512M MEM Best wishes Kevin ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1952: 23.0.60[W32-Mingw]; opening etc/HELLO is slower than before 2009-01-19 2:40 ` bug#1952: 23.0.60[W32-Mingw]; opening etc/HELLO is slower than before Kevin Yu @ 2009-01-19 14:14 ` Jason Rumney 2009-01-19 14:52 ` Juanma Barranquero 2009-01-20 2:05 ` Kevin Yu 2009-01-24 22:50 ` bug#1952: marked as done (23.0.60[W32-Mingw];opening etc/HELLO is slower than before) Emacs bug Tracking System 1 sibling, 2 replies; 14+ messages in thread From: Jason Rumney @ 2009-01-19 14:14 UTC (permalink / raw) To: Kevin Yu, 1952; +Cc: emacs-pretest-bug "slower than before" means what exactly? Can you pinpoint the change that caused the slowdown? Or are you comparing with Emacs 22.3? If the latter, then at least part of the slowdown can be attributed to the fact that Emacs 23 is finding all the fonts it can to display the characters in etc/HELLO correctly, while Emacs 22.3 displays about half the languages as empty boxes, and another couple of languages as the font's "undefined" glyph. ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1952: 23.0.60[W32-Mingw]; opening etc/HELLO is slower than before 2009-01-19 14:14 ` Jason Rumney @ 2009-01-19 14:52 ` Juanma Barranquero 2009-01-20 12:52 ` Jason Rumney 2009-01-20 2:05 ` Kevin Yu 1 sibling, 1 reply; 14+ messages in thread From: Juanma Barranquero @ 2009-01-19 14:52 UTC (permalink / raw) To: Jason Rumney; +Cc: Kevin Yu, 1952 On Mon, Jan 19, 2009 at 15:14, Jason Rumney <jasonr@gnu.org> wrote: > "slower than before" means what exactly? Can you pinpoint the change that > caused the slowdown? Or are you comparing with Emacs 22.3? > > If the latter, then at least part of the slowdown can be attributed to the > fact that Emacs 23 is finding all the fonts it can to display the characters > in etc/HELLO correctly, while Emacs 22.3 displays about half the languages > as empty boxes, and another couple of languages as the font's "undefined" > glyph. I think Kevin Yu is right. Moving around in etc/HELLO, even with a lot of installed fonts, was quite fast until this change: 2009-01-09 Jason Rumney <jasonr@gnu.org> * w32font.c (add_font_entity_to_list): Don't report unknown Windows charset as any unrecognized registry. (Bug#1548) Only report Unicode Plane 2 fonts as unicode-sip. Now, moving in etc/HELLO is unbearably slow. I'm talking of typing <down> and waiting about two seconds for the cursor to move. Juanma ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1952: 23.0.60[W32-Mingw]; opening etc/HELLO is slower than before 2009-01-19 14:52 ` Juanma Barranquero @ 2009-01-20 12:52 ` Jason Rumney 2009-01-20 15:49 ` Juanma Barranquero 0 siblings, 1 reply; 14+ messages in thread From: Jason Rumney @ 2009-01-20 12:52 UTC (permalink / raw) To: Juanma Barranquero; +Cc: Kevin Yu, 1952 Juanma Barranquero wrote: > I think Kevin Yu is right. Moving around in etc/HELLO, even with a lot > of installed fonts, was quite fast until this change: > > 2009-01-09 Jason Rumney <jasonr@gnu.org> > > * w32font.c (add_font_entity_to_list): Don't report unknown > Windows charset as any unrecognized registry. (Bug#1548) > Only report Unicode Plane 2 fonts as unicode-sip. > > Now, moving in etc/HELLO is unbearably slow. I'm talking of typing > <down> and waiting about two seconds for the cursor to move. > I don't see any slowness when scrolling, but it may be because I do not have a lot of fonts installed compared with some people, or it may be because I have fonts installed for all the languages in HELLO, so there are no failures (which I suspect may not get cached). One of the changes made at the same time as the above (which I apparently forgot to add a ChangeLog entry for) was to fix the return value of add_one_font_entity_to_list. This function was supposed to abort the font enumeration as soon as a match was found. But previously the logic was wrong so it was aborting if the first font did not match the given font-spec. So in the majority of cases, it would only enumerate one font and return nil, only if the first font matched would it go through every font in the system and return all the fonts that matched. After the fix, it will go through all the fonts for characters that do not have a matching font installed, and will go through enough fonts to find a match for others. Since there was no visible bug previously, I wonder what use this function is, and whether it is just wasting time looking for a match that we already have. ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1952: 23.0.60[W32-Mingw]; opening etc/HELLO is slower than before 2009-01-20 12:52 ` Jason Rumney @ 2009-01-20 15:49 ` Juanma Barranquero 2009-01-20 16:05 ` Jason Rumney 0 siblings, 1 reply; 14+ messages in thread From: Juanma Barranquero @ 2009-01-20 15:49 UTC (permalink / raw) To: Jason Rumney; +Cc: Kevin Yu, 1952 On Tue, Jan 20, 2009 at 13:52, Jason Rumney <jasonr@gnu.org> wrote: > This function was supposed to abort the font > enumeration as soon as a match was found. But previously the logic was wrong > so it was aborting if the first font did not match the given font-spec. So > in the majority of cases, it would only enumerate one font and return nil, > only if the first font matched would it go through every font in the system > and return all the fonts that matched. After the fix, it will go through all > the fonts for characters that do not have a matching font installed, and > will go through enough fonts to find a match for others. The change that causes the slowdown in my system is not the one to add_one_font_entity_to_list, but this one to add_font_entity_to_list: @@ -1449,6 +1449,5 @@ && !EQ (spec_charset, Qunicode_bmp) && !EQ (spec_charset, Qunicode_sip) - && match_data->pattern.lfCharSet == DEFAULT_CHARSET - && logical_font->elfLogFont.lfCharSet != DEFAULT_CHARSET) + && match_data->pattern.lfCharSet == DEFAULT_CHARSET) return 0; Reverting this bit eliminates the problem. Juanma ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1952: 23.0.60[W32-Mingw]; opening etc/HELLO is slower than before 2009-01-20 15:49 ` Juanma Barranquero @ 2009-01-20 16:05 ` Jason Rumney 2009-01-20 16:21 ` Juanma Barranquero 0 siblings, 1 reply; 14+ messages in thread From: Jason Rumney @ 2009-01-20 16:05 UTC (permalink / raw) To: Juanma Barranquero; +Cc: Kevin Yu, 1952 Juanma Barranquero wrote: > The change that causes the slowdown in my system is not the one to > add_one_font_entity_to_list, but this one to add_font_entity_to_list: > > @@ -1449,6 +1449,5 @@ > && !EQ (spec_charset, Qunicode_bmp) > && !EQ (spec_charset, Qunicode_sip) > - && match_data->pattern.lfCharSet == DEFAULT_CHARSET > - && logical_font->elfLogFont.lfCharSet != DEFAULT_CHARSET) > + && match_data->pattern.lfCharSet == DEFAULT_CHARSET) > return 0; > The earlier code never returned 0, always 1, so I don't think that is the actual change. > Reverting this bit eliminates the problem. > Strange, I'd expect that to speed things up, since the new code aborts a search that will never find a match where the old code would go through all the fonts, returning false matches that would fail later tests. Can you debug this to see why the earlier version is faster? ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1952: 23.0.60[W32-Mingw]; opening etc/HELLO is slower than before 2009-01-20 16:05 ` Jason Rumney @ 2009-01-20 16:21 ` Juanma Barranquero 0 siblings, 0 replies; 14+ messages in thread From: Juanma Barranquero @ 2009-01-20 16:21 UTC (permalink / raw) To: Jason Rumney; +Cc: Kevin Yu, 1952 On Tue, Jan 20, 2009 at 17:05, Jason Rumney <jasonr@gnu.org> wrote: > The earlier code never returned 0, always 1, so I don't think that is the > actual change. This is not the *actual* change, it's part of the change you committed. But reverting just that bit is enough for Emacs to behave as it did before w32font.c rev 1.67. > Can you debug this to see why the earlier version is faster? Sure, I'll try. Any pointer about what/where to debug is very welcome. Juanma ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1952: 23.0.60[W32-Mingw]; opening etc/HELLO is slower than before 2009-01-19 14:14 ` Jason Rumney 2009-01-19 14:52 ` Juanma Barranquero @ 2009-01-20 2:05 ` Kevin Yu 2009-01-20 12:23 ` Jason Rumney 1 sibling, 1 reply; 14+ messages in thread From: Kevin Yu @ 2009-01-20 2:05 UTC (permalink / raw) To: Jason Rumney; +Cc: emacs-pretest-bug, 1952 On Mon, Jan 19, 2009 at 10:14 PM, Jason Rumney <jasonr@gnu.org> wrote: > "slower than before" means what exactly? Can you pinpoint the change that > caused the slowdown? Or are you comparing with Emacs 22.3? comparing with emacs 23. > > If the latter, then at least part of the slowdown can be attributed to the > fact that Emacs 23 is finding all the fonts it can to display the characters > in etc/HELLO correctly, while Emacs 22.3 displays about half the languages > as empty boxes, and another couple of languages as the font's "undefined" > glyph. But when I'm using beginning-of-buffer/end-of-buffer repeatedly, It still lags. Is emacs finding fonts at this situation? > > > ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1952: 23.0.60[W32-Mingw]; opening etc/HELLO is slower than before 2009-01-20 2:05 ` Kevin Yu @ 2009-01-20 12:23 ` Jason Rumney 0 siblings, 0 replies; 14+ messages in thread From: Jason Rumney @ 2009-01-20 12:23 UTC (permalink / raw) To: Kevin Yu; +Cc: 1952 Kevin Yu wrote: > But when I'm using beginning-of-buffer/end-of-buffer repeatedly, It > still lags. Is emacs > finding fonts at this situation? > It shouldn't be, but perhaps we are not caching failures. Can you please try the following: M-: (setq font-log nil) C-h h C-End C-Home M-x font-show-log and paste the result in a reply to this. ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1952: marked as done (23.0.60[W32-Mingw];opening etc/HELLO is slower than before) 2009-01-19 2:40 ` bug#1952: 23.0.60[W32-Mingw]; opening etc/HELLO is slower than before Kevin Yu 2009-01-19 14:14 ` Jason Rumney @ 2009-01-24 22:50 ` Emacs bug Tracking System 1 sibling, 0 replies; 14+ messages in thread From: Emacs bug Tracking System @ 2009-01-24 22:50 UTC (permalink / raw) To: Chong Yidong [-- Attachment #1: Type: text/plain, Size: 916 bytes --] Your message dated Sat, 24 Jan 2009 17:44:13 -0500 with message-id <874ozowchu.fsf@cyd.mit.edu> and subject line Re: bug#1990: 23.0.60; Emacs trying too hard to find fonts that don't exist has caused the Emacs bug report #1952, regarding 23.0.60[W32-Mingw];opening etc/HELLO is slower than before to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@emacsbugs.donarmstrong.com immediately.) -- 1952: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=1952 Emacs Bug Tracking System Contact owner@emacsbugs.donarmstrong.com with problems [-- Attachment #2: Type: message/rfc822, Size: 3153 bytes --] From: Kevin Yu <yujie052@gmail.com> To: emacs-pretest-bug <emacs-pretest-bug@gnu.org> Subject: 23.0.60[W32-Mingw];opening etc/HELLO is slower than before Date: Mon, 19 Jan 2009 10:40:09 +0800 Message-ID: <42b562540901181840v1cfc73bbxec292b40aa4a60aa@mail.gmail.com> Hi, C-h h. It takes about 3~4 seconds to render the buffer. And if you try beginning-of-buffer/end-of-buffer, you will notice that it's a little lag to refresh. Here's hardware configuration of my PC: 2.6GHz CPU 512M MEM Best wishes Kevin [-- Attachment #3: Type: message/rfc822, Size: 1948 bytes --] From: Chong Yidong <cyd@stupidchicken.com> To: Juanma Barranquero <lekktu@gmail.com> Cc: Jason Rumney <jasonr@gnu.org>, Kenichi Handa <handa@m17n.org>, 1990-done@emacsbugs.donarmstrong.com, 1952-done@emacsbugs.donarmstrong.com Subject: Re: bug#1990: 23.0.60; Emacs trying too hard to find fonts that don't exist Date: Sat, 24 Jan 2009 17:44:13 -0500 Message-ID: <874ozowchu.fsf@cyd.mit.edu> Juanma Barranquero <lekktu@gmail.com> writes: >> That log message is emitted just before calling fontset_font (which is >> where we would check whether fonts are known not to exist). > > OK. > > Then, please install your change. It's a big improvement. I have installed a similar patch in CVS. ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1990: 23.0.60; Emacs trying too hard to find fonts that don't exist @ 2009-01-22 13:22 ` Jason Rumney 2009-01-24 13:28 ` Juanma Barranquero 2009-01-24 22:50 ` bug#1990: marked as done (23.0.60; Emacs trying too hard to find fonts that don't exist) Emacs bug Tracking System 0 siblings, 2 replies; 14+ messages in thread From: Jason Rumney @ 2009-01-22 13:22 UTC (permalink / raw) To: emacs-pretest-bug Please write in English if possible, because the Emacs maintainers usually do not have translators to read other languages for them. Your bug report will be posted to the emacs-pretest-bug@gnu.org mailing list. Please describe exactly what actions triggered the bug and the precise symptoms of the bug: If fonts are not installed for some characters, then Emacs keeps trying to find fonts for them every time those characters are redisplayed. The following excerpt from font-log is with the xft font backend on GNU/Linux where the search is quick, thus not noticeable, but on Windows the search for fonts is expensive, so redisplay takes a couple of seconds. I have cut the end off, as the full font-log is long, but you can see from the first two font-for entries that Emacs is trying twice for the same character (and it tries again many times further down the log). font for: (4121 . mule-unicode-0100-24ff) list: -mutt-clearlyu-*-iso10646-1 list: -gnu-unifont-*-iso10646-1 list: -bitstream-Bitstream Vera Sans Mono-*-gb18030*-* list: -*-Bitstream Vera Sans Mono-*-gb18030*-* list: -bitstream-*-gb18030*-* list: -*-gb18030*-* list: -bitstream-Bitstream Vera Sans Mono-*-ksc5601.1987*-* list: -*-Bitstream Vera Sans Mono-*-ksc5601.1987*-* list: -bitstream-*-ksc5601.1987*-* list: -*-ksc5601.1987*-* list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-1 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-1 list: -bitstream-*-cns11643.1992-1 list: -*-cns11643.1992-1 list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-4 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-4 list: -bitstream-*-cns11643.1992-4 list: -*-cns11643.1992-4 list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-5 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-5 list: -bitstream-*-cns11643.1992-5 list: -*-cns11643.1992-5 list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-6 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-6 list: -bitstream-*-cns11643.1992-6 list: -*-cns11643.1992-6 list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-7 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-7 list: -bitstream-*-cns11643.1992-7 list: -*-cns11643.1992-7 font for: (4121 . mule-unicode-0100-24ff) list: -mutt-clearlyu-*-iso10646-1 list: -gnu-unifont-*-iso10646-1 list: -bitstream-Bitstream Vera Sans Mono-*-gb18030*-* list: -*-Bitstream Vera Sans Mono-*-gb18030*-* list: -bitstream-*-gb18030*-* list: -*-gb18030*-* list: -bitstream-Bitstream Vera Sans Mono-*-ksc5601.1987*-* list: -*-Bitstream Vera Sans Mono-*-ksc5601.1987*-* list: -bitstream-*-ksc5601.1987*-* list: -*-ksc5601.1987*-* list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-1 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-1 list: -bitstream-*-cns11643.1992-1 list: -*-cns11643.1992-1 list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-4 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-4 list: -bitstream-*-cns11643.1992-4 list: -*-cns11643.1992-4 list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-5 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-5 list: -bitstream-*-cns11643.1992-5 list: -*-cns11643.1992-5 list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-6 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-6 list: -bitstream-*-cns11643.1992-6 list: -*-cns11643.1992-6 list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-7 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-7 list: -bitstream-*-cns11643.1992-7 list: -*-cns11643.1992-7 To reproduce: C-h h On my system, there are boxes displayed for Sinhala, Tibetan, Khmer and Burmese. Scroll down so that the first set of boxes disappears just off the top of the window. M-: (setq font-log nil) Scroll back up M-x font-show-log If Emacs crashed, and you have the Emacs process in the gdb debugger, please include the output from the following gdb commands: `bt full' and `xbacktrace'. If you would like to further debug the crash, please read the file /home/jasonr/emacs/etc/DEBUG for instructions. In GNU Emacs 23.0.60.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.12.11) of 2008-12-28 on wanchan.jasonrumney.net Windowing system distributor `Colin Harrison', version 11.0.60900031 Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_GB.UTF-8 value of $XMODIFIERS: nil locale-coding-system: utf-8-unix default-enable-multibyte-characters: t Major mode: Help Minor modes in effect: tooltip-mode: t tool-bar-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t global-auto-composition-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t view-mode: t Recent input: <help-echo> <help-echo> <help-echo> <help-echo> <escape> x C-g C-h h <help-echo> <next> <prior> <down> <down> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <escape> : ( s e t q SPC f o n t - l o g SPC n i l ) <return> <prior> <escape> x f o n t - s h <tab> <return> <down-mouse-1> <mouse-movement> <mouse-movement> <mouse-movement> <mouse-movement> <mouse-movement> <drag-mouse-1> <down-mouse-1> <mouse-1> <prior> <prior> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> C-@ <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <escape> w <help-echo> <help-echo> <help-echo> <help-echo> <escape> x r e p o r t - e m a <tab> <return> Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Quit Loading vc-cvs...done View mode: type C-h for help, h for commands, q to quit. nil Mark activated Saved text from "font for: (4121 . mule-unicode-0100-24ff" ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1990: 23.0.60; Emacs trying too hard to find fonts that don't exist 2009-01-22 13:22 ` bug#1990: 23.0.60; Emacs trying too hard to find fonts that don't exist Jason Rumney @ 2009-01-24 13:28 ` Juanma Barranquero 2009-01-24 14:02 ` Jason Rumney 2009-01-24 22:50 ` bug#1990: marked as done (23.0.60; Emacs trying too hard to find fonts that don't exist) Emacs bug Tracking System 1 sibling, 1 reply; 14+ messages in thread From: Juanma Barranquero @ 2009-01-24 13:28 UTC (permalink / raw) To: Jason Rumney; +Cc: 1990 On Thu, Jan 22, 2009 at 14:22, Jason Rumney <jasonr@gnu.org> wrote: > If fonts are not installed for some characters, then Emacs keeps trying to > find fonts for them every time those characters are redisplayed. Is this bug related to #1952, "23.0.60[W32-Mingw];opening etc/HELLO is slower than before"? Juanma ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1990: 23.0.60; Emacs trying too hard to find fonts that don't exist 2009-01-24 13:28 ` Juanma Barranquero @ 2009-01-24 14:02 ` Jason Rumney 0 siblings, 0 replies; 14+ messages in thread From: Jason Rumney @ 2009-01-24 14:02 UTC (permalink / raw) To: Juanma Barranquero; +Cc: 1990 Juanma Barranquero wrote: > On Thu, Jan 22, 2009 at 14:22, Jason Rumney <jasonr@gnu.org> wrote: > >> If fonts are not installed for some characters, then Emacs keeps trying to >> find fonts for them every time those characters are redisplayed. >> > > Is this bug related to #1952, "23.0.60[W32-Mingw];opening etc/HELLO is > slower than before"? > Probably. ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1990: marked as done (23.0.60; Emacs trying too hard to find fonts that don't exist) 2009-01-22 13:22 ` bug#1990: 23.0.60; Emacs trying too hard to find fonts that don't exist Jason Rumney 2009-01-24 13:28 ` Juanma Barranquero @ 2009-01-24 22:50 ` Emacs bug Tracking System 1 sibling, 0 replies; 14+ messages in thread From: Emacs bug Tracking System @ 2009-01-24 22:50 UTC (permalink / raw) To: Chong Yidong [-- Attachment #1: Type: text/plain, Size: 919 bytes --] Your message dated Sat, 24 Jan 2009 17:44:13 -0500 with message-id <874ozowchu.fsf@cyd.mit.edu> and subject line Re: bug#1990: 23.0.60; Emacs trying too hard to find fonts that don't exist has caused the Emacs bug report #1990, regarding 23.0.60; Emacs trying too hard to find fonts that don't exist to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@emacsbugs.donarmstrong.com immediately.) -- 1990: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=1990 Emacs Bug Tracking System Contact owner@emacsbugs.donarmstrong.com with problems [-- Attachment #2: Type: message/rfc822, Size: 10429 bytes --] From: Jason Rumney <jasonr@gnu.org> To: emacs-pretest-bug <emacs-pretest-bug@gnu.org> Subject: 23.0.60; Emacs trying too hard to find fonts that don't exist Date: Thu, 22 Jan 2009 21:22:32 +0800 Message-ID: <49787318.20708@gnu.org> Please write in English if possible, because the Emacs maintainers usually do not have translators to read other languages for them. Your bug report will be posted to the emacs-pretest-bug@gnu.org mailing list. Please describe exactly what actions triggered the bug and the precise symptoms of the bug: If fonts are not installed for some characters, then Emacs keeps trying to find fonts for them every time those characters are redisplayed. The following excerpt from font-log is with the xft font backend on GNU/Linux where the search is quick, thus not noticeable, but on Windows the search for fonts is expensive, so redisplay takes a couple of seconds. I have cut the end off, as the full font-log is long, but you can see from the first two font-for entries that Emacs is trying twice for the same character (and it tries again many times further down the log). font for: (4121 . mule-unicode-0100-24ff) list: -mutt-clearlyu-*-iso10646-1 list: -gnu-unifont-*-iso10646-1 list: -bitstream-Bitstream Vera Sans Mono-*-gb18030*-* list: -*-Bitstream Vera Sans Mono-*-gb18030*-* list: -bitstream-*-gb18030*-* list: -*-gb18030*-* list: -bitstream-Bitstream Vera Sans Mono-*-ksc5601.1987*-* list: -*-Bitstream Vera Sans Mono-*-ksc5601.1987*-* list: -bitstream-*-ksc5601.1987*-* list: -*-ksc5601.1987*-* list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-1 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-1 list: -bitstream-*-cns11643.1992-1 list: -*-cns11643.1992-1 list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-4 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-4 list: -bitstream-*-cns11643.1992-4 list: -*-cns11643.1992-4 list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-5 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-5 list: -bitstream-*-cns11643.1992-5 list: -*-cns11643.1992-5 list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-6 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-6 list: -bitstream-*-cns11643.1992-6 list: -*-cns11643.1992-6 list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-7 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-7 list: -bitstream-*-cns11643.1992-7 list: -*-cns11643.1992-7 font for: (4121 . mule-unicode-0100-24ff) list: -mutt-clearlyu-*-iso10646-1 list: -gnu-unifont-*-iso10646-1 list: -bitstream-Bitstream Vera Sans Mono-*-gb18030*-* list: -*-Bitstream Vera Sans Mono-*-gb18030*-* list: -bitstream-*-gb18030*-* list: -*-gb18030*-* list: -bitstream-Bitstream Vera Sans Mono-*-ksc5601.1987*-* list: -*-Bitstream Vera Sans Mono-*-ksc5601.1987*-* list: -bitstream-*-ksc5601.1987*-* list: -*-ksc5601.1987*-* list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-1 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-1 list: -bitstream-*-cns11643.1992-1 list: -*-cns11643.1992-1 list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-4 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-4 list: -bitstream-*-cns11643.1992-4 list: -*-cns11643.1992-4 list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-5 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-5 list: -bitstream-*-cns11643.1992-5 list: -*-cns11643.1992-5 list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-6 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-6 list: -bitstream-*-cns11643.1992-6 list: -*-cns11643.1992-6 list: -bitstream-Bitstream Vera Sans Mono-*-cns11643.1992-7 list: -*-Bitstream Vera Sans Mono-*-cns11643.1992-7 list: -bitstream-*-cns11643.1992-7 list: -*-cns11643.1992-7 To reproduce: C-h h On my system, there are boxes displayed for Sinhala, Tibetan, Khmer and Burmese. Scroll down so that the first set of boxes disappears just off the top of the window. M-: (setq font-log nil) Scroll back up M-x font-show-log If Emacs crashed, and you have the Emacs process in the gdb debugger, please include the output from the following gdb commands: `bt full' and `xbacktrace'. If you would like to further debug the crash, please read the file /home/jasonr/emacs/etc/DEBUG for instructions. In GNU Emacs 23.0.60.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.12.11) of 2008-12-28 on wanchan.jasonrumney.net Windowing system distributor `Colin Harrison', version 11.0.60900031 Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_GB.UTF-8 value of $XMODIFIERS: nil locale-coding-system: utf-8-unix default-enable-multibyte-characters: t Major mode: Help Minor modes in effect: tooltip-mode: t tool-bar-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t global-auto-composition-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t view-mode: t Recent input: <help-echo> <help-echo> <help-echo> <help-echo> <escape> x C-g C-h h <help-echo> <next> <prior> <down> <down> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <escape> : ( s e t q SPC f o n t - l o g SPC n i l ) <return> <prior> <escape> x f o n t - s h <tab> <return> <down-mouse-1> <mouse-movement> <mouse-movement> <mouse-movement> <mouse-movement> <mouse-movement> <drag-mouse-1> <down-mouse-1> <mouse-1> <prior> <prior> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> C-@ <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <escape> w <help-echo> <help-echo> <help-echo> <help-echo> <escape> x r e p o r t - e m a <tab> <return> Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Quit Loading vc-cvs...done View mode: type C-h for help, h for commands, q to quit. nil Mark activated Saved text from "font for: (4121 . mule-unicode-0100-24ff" [-- Attachment #3: Type: message/rfc822, Size: 1956 bytes --] From: Chong Yidong <cyd@stupidchicken.com> To: Juanma Barranquero <lekktu@gmail.com> Cc: Jason Rumney <jasonr@gnu.org>, Kenichi Handa <handa@m17n.org>, 1990-done@emacsbugs.donarmstrong.com, 1952-done@emacsbugs.donarmstrong.com Subject: Re: bug#1990: 23.0.60; Emacs trying too hard to find fonts that don't exist Date: Sat, 24 Jan 2009 17:44:13 -0500 Message-ID: <874ozowchu.fsf@cyd.mit.edu> Juanma Barranquero <lekktu@gmail.com> writes: >> That log message is emitted just before calling fontset_font (which is >> where we would check whether fonts are known not to exist). > > OK. > > Then, please install your change. It's a big improvement. I have installed a similar patch in CVS. ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2009-01-24 22:50 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <874ozowchu.fsf@cyd.mit.edu> 2009-01-19 2:40 ` bug#1952: 23.0.60[W32-Mingw]; opening etc/HELLO is slower than before Kevin Yu 2009-01-19 14:14 ` Jason Rumney 2009-01-19 14:52 ` Juanma Barranquero 2009-01-20 12:52 ` Jason Rumney 2009-01-20 15:49 ` Juanma Barranquero 2009-01-20 16:05 ` Jason Rumney 2009-01-20 16:21 ` Juanma Barranquero 2009-01-20 2:05 ` Kevin Yu 2009-01-20 12:23 ` Jason Rumney 2009-01-24 22:50 ` bug#1952: marked as done (23.0.60[W32-Mingw];opening etc/HELLO is slower than before) Emacs bug Tracking System 2009-01-22 13:22 ` bug#1990: 23.0.60; Emacs trying too hard to find fonts that don't exist Jason Rumney 2009-01-24 13:28 ` Juanma Barranquero 2009-01-24 14:02 ` Jason Rumney 2009-01-24 22:50 ` bug#1990: marked as done (23.0.60; Emacs trying too hard to find fonts that don't exist) Emacs bug Tracking System
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).