[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: emacs from cvs on GNU dumps core when opening any kind of c file
From: |
Jan D. |
Subject: |
Re: emacs from cvs on GNU dumps core when opening any kind of c file |
Date: |
Fri, 20 Aug 2004 10:51:07 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2) Gecko/20040810 |
Han Boetes wrote:
Han Boetes wrote:
This crash happens on both GNU and OpenBSD.
I actually found out that one specific line in my .emacs causes this crash.
mv .emacs .emacs_bak
echo '(standard-display-european t)' > .emacs
emacs some/c/file.c
and there is the core-dump.
This happens since the beginning of august.
The buffer contents is "foo123", ZV is 7, BEGV is 1. Crach happens here in
intervals.c, charpos is 8:
2032 /* Check this now, before checking if the buffer has any intervals.
2033 That way, we can catch conditions which break this sanity check
2034 whether or not there are intervals in the buffer. */
2035 if (charpos > BUF_ZV (buffer) || charpos < BUF_BEGV (buffer))
2036 abort ();
I think there is a bug in skip_chars in syntax.c. In the last while (1) loop,
we are skipping backwards, but the code says:
while (1)
{
if (p <= stop)
{
if (p <= endp)
break;
p = GPT_ADDR;
stop = endp;
}
if (! NILP (iso_classes) && in_classes (p[-1], iso_classes))
{
if (negate)
break;
else
goto fwd_ok;
-----------------------------^^^^^^---------
}
if (!fastmap[p[-1]])
break;
p--, pos--;
}
thus increasing pos beyond the end of the buffer.
Just changing this to goto back_ok does not fix it, because then the loop is
exited only when pos is 0, i.e. before the start of the buffer, and the same
abort happens.
Hopefully someone with more knowledge of this code knows whats wrong.
Jan D.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: emacs from cvs on GNU dumps core when opening any kind of c file,
Jan D. <=