for things like deleting text. Will have to go back and force inside functions.
Add check in reset_multis for CNONE type since that's slowing us down and is dumb
to leave out.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4379
35c25a1d-7b9e-4130-9fde-
d3aeb78583b8
2009-02-16 Chris Allegretta <chrisa@asty.org>
* Add new argument to reset_multis for force redraws without attempting to
- guess whether we need to, force updates when running a non-viewok function.
- New utility function color.c:reset_multis_for_id(). Fixes e.g. incorrect
- highlighting when cutting text.
+ guess whether we need to, for functions that we don't have good info about
+ the text state. New utility function color.c:reset_multis_for_id().
2009-02-15 Chris Allegretta <chrisa@asty.org>
* configure.ac, doc/man/Makefile.am - Add check for HTML output support in GNU
if (fileptr->multidata[tmpcolor->id] == CWHOLELINE) {
if (nobegin && noend)
continue;
- } else if (fileptr->multidata[tmpcolor->id] & CBEGINBEFORE && !noend
+ } else if (fileptr->multidata[tmpcolor->id] == CNONE) {
+ if (nobegin && noend)
+ continue;
+ } else if (fileptr->multidata[tmpcolor->id] & CBEGINBEFORE && !noend
&& (nobegin || endmatch.rm_eo > startmatch.rm_eo)) {
reset_multis_after(fileptr, tmpcolor->id);
continue;
/* Update the screen. */
edit_refresh_needed = TRUE;
+#ifdef ENABLE_COLOR
+ reset_multis(openfile->current, FALSE);
+#endif
+
#ifdef DEBUG
dump_filestruct(cutbuffer);
#endif
/* Update the screen. */
edit_refresh_needed = TRUE;
+#ifdef ENABLE_COLOR
+ reset_multis(openfile->current, FALSE);
+#endif
+
#ifdef DEBUG
dump_filestruct_reverse();
#endif
if (jusbuffer != NULL)
free_filestruct(jusbuffer);
#endif
+#ifdef DEBUG
/* Free the memory associated with each open file buffer. */
if (openfile != NULL)
free_openfilestruct(openfile);
+#endif
#ifdef ENABLE_COLOR
if (syntaxstr != NULL)
free(syntaxstr);
*ran_func = TRUE;
if (ISSET(VIEW_MODE) && f && !f->viewok)
print_view_warning();
- else
+ else {
#ifndef NANO_TINY
if (s->scfunc == DO_TOGGLE)
do_toggle(s->toggle);
else {
+#else
+ {
#endif
iso_me_harder_funcmap(s->scfunc);
#ifdef ENABLE_COLOR
if (!f->viewok && openfile->syntax != NULL
&& openfile->syntax->nmultis > 0) {
- reset_multis(openfile->current, TRUE);
+ reset_multis(openfile->current, FALSE);
}
if (edit_refresh_needed) {
+#ifdef DEBUG
+ fprintf(stderr, "running edit_refresh() as edit_refresh_needed is true\n");
+#endif
edit_refresh();
edit_refresh_needed = FALSE;
}
+
#endif
}
+ }
#ifndef NANO_TINY
}
#endif
set_modified();
-#ifdef ENABLE_COLOR
- /* If color syntaxes are available and turned on, we need to call
- * edit_refresh(). */
- if (openfile->colorstrings != NULL && !ISSET(NO_COLOR_SYNTAX))
- do_refresh = TRUE;
-#endif
-
if (do_refresh)
edit_refresh_needed = TRUE;
else