diff --git a/ChangeLog b/ChangeLog index 58c0018e08adc871498d908eab78e385ecbbd83c..3d1af7d27f8932faa5ba217232c9ce541e0741c1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,9 @@ 2015-06-14 Benno Schulenberg <bensberg@justemail.net> * src/winio.c (edit_draw): Add some debugging code to track which multidata codes (for multiline regexes) get assigned to which lines. + * src/winio.c (edit_draw): Start and end regexes can be very similar; + so if a found start has been qualified as an end earlier, believe it + and skip to the next step. This helps with Python's docstrings. 2015-06-11 Benno Schulenberg <bensberg@justemail.net> * src/winio.c (get_key_buffer): Add some debugging code to make it diff --git a/src/winio.c b/src/winio.c index 053b226b56c1aed376f76bff8d4b42a13d03ab07..286b750414a830b5e98d3eb361244490d8c9a3f1 100644 --- a/src/winio.c +++ b/src/winio.c @@ -2600,6 +2600,12 @@ void edit_draw(filestruct *fileptr, const char *converted, int start_line = start_line->prev; } + /* If the found start has been qualified as an end earlier, + * believe it and skip to the next step. */ + if (start_line != NULL && + start_line->multidata[tmpcolor->id] == CBEGINBEFORE) + goto step_two; + /* Skip over a zero-length regex match. */ if (startmatch.rm_so == startmatch.rm_eo) startmatch.rm_eo++;