]> git.wh0rd.org Git - nano.git/commitdiff
Refreshing the whole edit window only when there are multiline regexes,
authorBenno Schulenberg <bensberg@justemail.net>
Wed, 25 Nov 2015 09:10:02 +0000 (09:10 +0000)
committerBenno Schulenberg <bensberg@justemail.net>
Wed, 25 Nov 2015 09:10:02 +0000 (09:10 +0000)
and checking for this just once for every burst of keystrokes.

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

ChangeLog
src/nano.c

index dfc5ceb48669ba64b762d5a1e5de009adbce49f4..2bab1d758f47a423bd0dca02ee879cd513c9a2fd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-11-25  Benno Schulenberg  <bensberg@justemail.net>
+       * src/nano.c (do_output): Refreshing the whole edit window (instead
+       of just the current line) is not needed for any kind of syntax, but
+       only when there are multiline regexes.  And check for this not on
+       every keystroke in a burst, but just once.
+
 2015-11-24  Benno Schulenberg  <bensberg@justemail.net>
        * doc/syntax/makefile.nanorc: Also recognize the extensions .make and
        .mk as Makefiles.  Suggested by Emmanuel Bourg in Debian bug #804845.
index 9c95ed817d14e68f904aeb4cfa9fc740cb525e98..421ba3f95328d5cdccec6ae7ada8a74d7db0d7f9 100644 (file)
@@ -2072,14 +2072,15 @@ void do_output(char *output, size_t output_len, bool allow_cntrls)
            if (do_wrap(openfile->current))
                edit_refresh_needed = TRUE;
 #endif
+    }
 
 #ifndef DISABLE_COLOR
-       /* If color syntaxes are available and turned on, we need to
-        * call edit_refresh(). */
-       if (openfile->colorstrings != NULL && !ISSET(NO_COLOR_SYNTAX))
-           edit_refresh_needed = TRUE;
+    /* If syntax highlighting is turned on and there are multiline regexes,
+     * the edit window will need to be refreshed. */
+    if (!ISSET(NO_COLOR_SYNTAX) && openfile->syntax &&
+               openfile->syntax->nmultis > 0)
+       edit_refresh_needed = TRUE;
 #endif
-    }
 
 #ifndef NANO_TINY
     /* Well, we might also need a full refresh if we've changed the