emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Redisplay crash


From: Kenichi Handa
Subject: Re: Redisplay crash
Date: Fri, 9 Apr 2004 10:57:37 +0900 (JST)
User-agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/21.3 (sparc-sun-solaris2.6) MULE/5.0 (SAKAKI)

In article <address@hidden>, Stefan Monnier <address@hidden> writes:
> There was a discussion about it with Gerd which led to

> 2002-08-27  Gerd Moellmann  <address@hidden>

>       * xdisp.c (redisplay_updating_p): Variable removed.
>       (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
>       New variables.
>       (init_iterator): Don't free realized faces if
>       inhibit_free_realized_faces is set.
>       (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
>       (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
>       initialize Qinhibit_free_realized_faces.

>       * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
>       when iterator is adding glyphs to a glyph matrix.

> I can't find trace of this discussion, tho.
> I've always had the impression that the above patch didn't really fix the
> problem, tho it made it less frequent, so maybe it only hid the problem
> more than fix it, I don't know.  In any case I figure maybe you'd like
> to know.

Thank you for the info.  I found at least one way to crash
Emacs constantly.

At first, evaluate this in *scratch* buffer.

(put-text-property 2 3 'display '(when (clear-face-cache t)))

Then, type C-h h C-x C-k (i.e. view HELLO file and kill that
buffer).

Then, Emacs crashes in get_next_display_element at:

      /* Adjust face id for a multibyte character.  There are no
         multibyte character in unibyte text.  */
      if (it->multibyte_p
          && success_p
          && FRAME_WINDOW_P (it->f))
        {
          struct face *face = FACE_FROM_ID (it->f, it->face_id);
here->    it->face_id = FACE_FOR_CHAR (it->f, face, it->c);
        }

because FACE_FROM_ID returns NULL.

But, it seems that this is a different bug.

---
Ken'ichi HANDA
address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]