]> git.wh0rd.org Git - nano.git/commitdiff
Skipping to the next step when a found start has been qualified as
authorBenno Schulenberg <bensberg@justemail.net>
Sun, 14 Jun 2015 17:56:44 +0000 (17:56 +0000)
committerBenno Schulenberg <bensberg@justemail.net>
Sun, 14 Jun 2015 17:56:44 +0000 (17:56 +0000)
an end earlier.  This helps with Python's triple-quoted strings.

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5247 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/winio.c

index 58c0018e08adc871498d908eab78e385ecbbd83c..3d1af7d27f8932faa5ba217232c9ce541e0741c1 100644 (file)
--- 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
index 053b226b56c1aed376f76bff8d4b42a13d03ab07..286b750414a830b5e98d3eb361244490d8c9a3f1 100644 (file)
@@ -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++;