]> git.wh0rd.org Git - nano.git/commitdiff
Setting each multiline-color value instead of OR-ing it.
authorBenno Schulenberg <bensberg@justemail.net>
Sat, 1 Aug 2015 08:35:14 +0000 (08:35 +0000)
committerBenno Schulenberg <bensberg@justemail.net>
Sat, 1 Aug 2015 08:35:14 +0000 (08:35 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5335 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/nano.c

index 3eb8bc56253d89e54db06d856ec7b49b1c681ad9..4376ba1c847c2bc6c2a6682401024bc31fb9ce7c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2015-08-01  Benno Schulenberg  <bensberg@justemail.net>
+       * src/nano.c (precalc_multicolorinfo): Set each multiline-color
+       value instead of OR-ing it.  This fixes Savannah bug #45640.
+
 2015-07-31  Benno Schulenberg  <bensberg@justemail.net>
        * src/text.c (do_cutword, do_cut_prev_word, do_cut_next_word),
        src/global.c (shortcut_init, strtosc), doc/texinfo/nano.texi,
index 6e80f6f9e7c6a9015c9796554855c0346e3af9ea..56ec8ba33aba57a1cebac197371ab205ba2c8eb0 100644 (file)
@@ -1919,7 +1919,7 @@ void precalc_multicolorinfo(void)
                    if (regexec(tmpcolor->end, &fileptr->data[startx], 1, &endmatch,
                                (startx == 0) ? 0 : REG_NOTBOL) == 0) {
                        startx += endmatch.rm_eo;
-                       fileptr->multidata[tmpcolor->id] |= CSTARTENDHERE;
+                       fileptr->multidata[tmpcolor->id] = CSTARTENDHERE;
 #ifdef DEBUG
                        fprintf(stderr, "end found on this line\n");
 #endif
@@ -1953,7 +1953,7 @@ void precalc_multicolorinfo(void)
 #endif
                    /* We found it, we found it, la la la la la.  Mark all
                     * the lines in between and the end properly. */
-                   fileptr->multidata[tmpcolor->id] |= CENDAFTER;
+                   fileptr->multidata[tmpcolor->id] = CENDAFTER;
 #ifdef DEBUG
                    fprintf(stderr, "marking line %ld as CENDAFTER\n", (long)fileptr->lineno);
 #endif
@@ -1965,7 +1965,7 @@ void precalc_multicolorinfo(void)
 #endif
                    }
                    alloc_multidata_if_needed(endptr);
-                   fileptr->multidata[tmpcolor->id] |= CBEGINBEFORE;
+                   fileptr->multidata[tmpcolor->id] = CBEGINBEFORE;
 #ifdef DEBUG
                    fprintf(stderr, "marking line %ld as CBEGINBEFORE\n", (long)fileptr->lineno);
 #endif