https://bugzilla.wikimedia.org/show_bug.cgi?id=64624

--- Comment #2 from Nik Everett <[email protected]> ---
            // Now we have to pick a start and end offset, but there are
            // actually four cases that can happen given the above for start
            // offset and four for end. I'll show the start offset here
            // because the end is just the mirror image:
            //
            // Case 1:
            // --------+------[-------+-------]--+----------------------
            //        min          expand       max
            // Case 2:
            // ----[---+-------+--------+-------------------------------
            //        min   expand     max
            // Case 3:
            // --------+---[----+-------+---]---------------------------
            //        min    expand    max
            // Case 4:
            // --------+-------+---------+------------------------------
            //      expand    min       max
            //
            // Case 1 is "normal", there are no obstructions and we pick
            // the boundary by looking from expand to [, the max scan, and if
            // that doesn't find anything looking from expand to the ], and if
            // that doesn't find anything defaulting to expand.
            //
            // Case 2 is almost normal. We look from expand to min but if that
            // doesn't find anything we deem min a valid boundary. Min is
            // generally the beginning of the source or the end of the last
            // segment and therefore a valid boundary. The case where expand
            // is right on top of min is pretty much a variant of this case.
            //
            // Case 3 is like case 2 but in reverse. We look to [ as in case
            // 1 and if we don't find anything we look to max. If that doesn't
            // find anything then we declare max a valid boundary. Max is
            // generally the beginning of the first hit, so very likely a valid
            // boundary.
            //
            // Case 4 is different. We'd like to expand past min which isn't
            // allowed so instead we deem min the boundary and try to shift the
            // whole segment forward some to make up for it.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to