[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#14100: 24.3.50; emacs_backtrace.txt
From: |
Eli Zaretskii |
Subject: |
bug#14100: 24.3.50; emacs_backtrace.txt |
Date: |
Tue, 29 Dec 2015 19:42:27 +0200 |
> From: Lars Ingebrigtsen <larsi@gnus.org>
> Cc: Drew Adams <drew.adams@oracle.com>, 14100@debbugs.gnu.org
> Date: Tue, 29 Dec 2015 12:09:56 +0100
>
> > The abort is here (in get_local_map):
> >
> > /* Perhaps we should just change `position' to the limit. */
> > if (position > BUF_ZV (buffer) || position < BUF_BEGV (buffer))
> > emacs_abort ();
> >
> > The caller, Fcurrent_active_maps, checks a different condition before
> > the call:
> >
> > pos = POSN_BUFFER_POSN (position);
> > if (INTEGERP (pos)
> > && XINT (pos) >= BEG && XINT (pos) <= Z)
> > {
> > local_map = get_local_map (XINT (pos),
> > current_buffer, Qlocal_map);
> >
> > So perhaps the bug is in the caller: it should test BEGV and ZV
> > instead of BEG and Z.
>
> Was there anything to be done here? It sounds like it, but then there
> were no further messages. :-)
The call to emacs_abort is no longer in the source. Instead, we have
this:
position = clip_to_bounds (BUF_BEGV (buffer), position, BUF_ZV (buffer));
So I'm closing the bug, as the problem can no longer happen.