unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Werner LEMBERG <wl@gnu.org>
To: eliz@gnu.org
Cc: 31316@debbugs.gnu.org
Subject: bug#31316: Emacs hangs in `font_open_entity'
Date: Tue, 08 May 2018 22:49:30 +0200 (CEST)	[thread overview]
Message-ID: <20180508.224930.1781869759556572607.wl@gnu.org> (raw)
In-Reply-To: <20180508.222027.1883638416377893055.wl@gnu.org>


For completeness:

> Attached. It contains all breaks between loading the test file in
> GB18030 encoding and displaying something on screen.
> 
> This is still emacs bca6c434 (Apr 29).

... with the following local patches (which don't influence the
selection of fonts, still leading to the problematic `Emmentaler'
font).


    Werner


PS: Why doesn't produce the `pp' command (from emacs's `.gdbinit'
    file) any output in `gdb.txt' if activated with `set logging on'?


======================================================================


diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el
index 4a7b754791..47f8c9ad3a 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -53,7 +53,7 @@
        ("ascii-0$" . ascii)
        ("gb2312.1980" . chinese-gb2312)
        ("gbk" . chinese-gbk)
-       ("gb18030" . (unicode . nil))
+       ("gb18030" . (gb18030 . unicode))
        ("jisx0208.1978" . japanese-jisx0208-1978)
        ("jisx0208" . japanese-jisx0208)
        ("jisx0201" . jisx0201)
diff --git a/src/font.c b/src/font.c
index ef3f92b594..daa6be00e6 100644
--- a/src/font.c
+++ b/src/font.c
@@ -2901,7 +2901,9 @@ font_open_entity (struct frame *f, Lisp_Object entity, int pixel_size)
   for (psize = pixel_size; ; psize++)
     {
       font_object = driver_list->driver->open (f, entity, psize);
-      if (NILP (font_object))
+      if (NILP (font_object)
+         /* Avoid an infinite loop.  */
+         || psize > pixel_size + 100)
        return Qnil;
       font = XFONT_OBJECT (font_object);
       if (font->average_width > 0 && font->height > 0)





  reply	other threads:[~2018-05-08 20:49 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-30  8:13 bug#31316: Emacs hangs in `font_open_entity' Werner LEMBERG
2018-04-30  8:16 ` Werner LEMBERG
2018-04-30 15:21 ` Eli Zaretskii
2018-04-30 17:22   ` Werner LEMBERG
2018-04-30 19:44     ` Eli Zaretskii
2018-04-30 20:20       ` Werner LEMBERG
2018-05-01 15:06         ` Eli Zaretskii
2018-05-05  8:55         ` Eli Zaretskii
2018-05-08 20:20           ` Werner LEMBERG
2018-05-08 20:49             ` Werner LEMBERG [this message]
2019-11-17  8:23 ` Lars Ingebrigtsen
2019-11-17 15:55   ` Eli Zaretskii
2019-11-17 16:05     ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180508.224930.1781869759556572607.wl@gnu.org \
    --to=wl@gnu.org \
    --cc=31316@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).