emacs-devel
[Top][All Lists]
Advanced

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

Re: My Emacs unicode 2 crash again when I do some *Replace String (M-%)*


From: Kenichi Handa
Subject: Re: My Emacs unicode 2 crash again when I do some *Replace String (M-%)*, I give the debug informations under gdb in the attachments.
Date: Wed, 07 Mar 2007 13:58:37 +0900
User-agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/22.0.95 (i686-pc-linux-gnu) MULE/5.0 (SAKAKI)

In article <address@hidden>, Hongyi Zhao <address@hidden> writes:

> > make CFLAGS=-g
> > 
> > should work.  The current default for Emacs is "-g -O2".  I think it should
> > be "-g" for CVS Emacs, but I think that we might have had this discussion
> > on the mailing list before.

> But, both of the settings with CFLAGS on my case cann't work, please see 
> the debug errors for detail.

It now shows the correct place of calling abort() as below,
and I can reproduce the bug by compiling Emacs with
--enable-asserts.

Breakpoint 1, abort () at emacs.c:431
(gdb) bt full
#0  abort () at emacs.c:431
No locals.
#1  0x0808a8ec in try_window_id (w=0x8867cc8) at xdisp.c:15132

  /* Update window_end_pos and window_end_vpos.  */
  if (first_unchanged_at_end_row
      && !last_text_row_at_end)
    {
      /* Window end line if one of the preserved rows from the current
         matrix.  Set row to the last row displaying text in current
         matrix starting at first_unchanged_at_end_row, after
         scrolling.  */
      xassert (first_unchanged_at_end_row->displays_text_p);
      row = find_last_row_displaying_text (w->current_matrix, &it,
                                           first_unchanged_at_end_row);
      xassert (row && MATRIX_ROW_DISPLAYS_TEXT_P (row));

      w->window_end_pos = make_number (Z - MATRIX_ROW_END_CHARPOS (row));
      w->window_end_bytepos = Z_BYTE - MATRIX_ROW_END_BYTEPOS (row);
      w->window_end_vpos
        = make_number (MATRIX_ROW_VPOS (row, w->current_matrix));
      xassert (w->window_end_bytepos >= 0);   <-- line 15132
      IF_DEBUG (debug_method_add (w, "A"));
    }

I'm now trying to find what is wrong.

---
Kenichi Handa
address@hidden




reply via email to

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