unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#1990: 23.0.60; Emacs trying too hard to find fonts that don't exist
@ 2009-01-23  5:04 Chong Yidong
  2009-01-23 14:00 ` Jason Rumney
  0 siblings, 1 reply; 15+ messages in thread
From: Chong Yidong @ 2009-01-23  5:04 UTC (permalink / raw)
  To: Jason Rumney; +Cc: 1990, Kenichi Handa

> 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).

At the end of fontset_font (fontset.c:699), there is the following code:

  /* Remeber that we have no font for C.  */
  FONTSET_SET (fontset, make_number (c), Qt);

  return Qnil;

However, there are several other places in that function that return
with a Qnil, without doing this FONTSET_SET.  Do matters improve if we
do the same FONTSET_SET call before returning?






^ permalink raw reply	[flat|nested] 15+ 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
  0 siblings, 1 reply; 15+ 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] 15+ messages in thread

end of thread, other threads:[~2009-01-26 15:51 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-23  5:04 bug#1990: 23.0.60; Emacs trying too hard to find fonts that don't exist Chong Yidong
2009-01-23 14:00 ` Jason Rumney
2009-01-24 19:47   ` Chong Yidong
2009-01-24 21:50     ` Juanma Barranquero
2009-01-24 21:55       ` Chong Yidong
2009-01-24 22:06         ` Juanma Barranquero
2009-01-25  5:22       ` Jason Rumney
2009-01-25 11:57         ` Juanma Barranquero
2009-01-26 11:46           ` Kenichi Handa
2009-01-26 12:02             ` Juanma Barranquero
2009-01-26  8:00     ` Kenichi Handa
2009-01-26 15:51       ` Chong Yidong
  -- strict thread matches above, loose matches on Subject: below --
2009-01-22 13:22 Jason Rumney
2009-01-24 13:28 ` Juanma Barranquero
2009-01-24 14:02   ` Jason Rumney

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).