emacs-devel
[Top][All Lists]
Advanced

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

Re: Problem report #5


From: Stuart D. Herring
Subject: Re: Problem report #5
Date: Tue, 11 Apr 2006 10:22:51 -0700 (PDT)
User-agent: SquirrelMail/1.4.3a-11.EL3

> 3140    prev = NULL;
> 3141    for (tail = buf->overlays_before; tail; prev = tail, tail = next)
> 3142      {
> 3143        next = tail->next;
> 3144        XSETMISC (overlay, tail);
> 3145
> 3146        /* If the overlay is not valid, get rid of it.  */
> 3147        if (!OVERLAY_VALID (overlay))
> [...]
> 3161
> 3162        beg = OVERLAY_START (overlay);
> 3163        end = OVERLAY_END (overlay);
> 3164
> 3165        if (OVERLAY_POSITION (end) > pos)
> 3166          {
> 3167            /* OVERLAY needs to be moved.  */
> 3168            int where = OVERLAY_POSITION (beg);
> 3169            struct Lisp_Overlay *other, *other_prev;
> 3170
> 3171            /* Splice the cons cell TAIL out of overlays_before.  */
>
> Event dead_error_condition: On this path, the condition "prev != 0" could
> not be true
> Also see events: [dead_error_line][assignment][const][const][assignment]
>
> 3172            if (prev)

It's true that tail is never 0 within the loop (loop test), and that on
every iteration but the first prev has been assigned tail, which wasn't 0
at the time of assignment.  But on the first iteration, this test is
guaranteed to pass!  No bug.

Davis

-- 
This product is sold by volume, not by mass.  If it appears too dense or
too sparse, it is because mass-energy conversion has occurred during
shipping.




reply via email to

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