Index: sc/Makefile =================================================================== --- sc.orig/Makefile 2014-05-18 14:18:57.049996065 -0500 +++ sc/Makefile 2014-05-18 14:20:54.953997896 -0500 @@ -336,7 +336,7 @@ # real effect on the reliability of the program, but may concern some # people who don't understand them. #CFLAGS=-DSYSV3 -O2 -Wall -pipe -CFLAGS=-DSYSV3 -O2 -pipe +CFLAGS=-DSYSV3 -O2 -pipe -g LIB=-lm -lncurses # All of the source files Index: sc/cmds.c =================================================================== --- sc.orig/cmds.c 2014-05-18 14:18:57.049996065 -0500 +++ sc/cmds.c 2014-05-18 14:20:54.953997896 -0500 @@ -2406,7 +2406,7 @@ } else { switch (e->op) { case 'v': - if (e->e.v.vp->flags & is_cleared) { + if (e->e.v.vp->flags & flag_is_cleared) { e->op = ERR_; e->e.o.left = NULL; e->e.o.right = NULL; Index: sc/help.c =================================================================== --- sc.orig/help.c 2014-05-18 14:18:57.049996065 -0500 +++ sc/help.c 2014-05-18 14:20:54.957997896 -0500 @@ -15,6 +15,8 @@ #include "sc.h" #endif /* QREF */ +#include + char *intro[] = { " ", #if defined(QREF) && defined(TROFF) Index: sc/interp.c =================================================================== --- sc.orig/interp.c 2014-05-18 14:18:57.049996065 -0500 +++ sc/interp.c 2014-05-18 14:20:54.957997896 -0500 @@ -2159,7 +2159,7 @@ n->v = start; start += inc; n->flags |= (is_changed|is_valid); - n->flags &= ~(is_cleared); + n->flags &= ~(flag_is_cleared); } } else if (calc_order == BYCOLS) { @@ -2170,7 +2170,7 @@ n->v = start; start += inc; n->flags |= (is_changed|is_valid); - n->flags &= ~(is_cleared); + n->flags &= ~(flag_is_cleared); } } else error(" Internal error calc_order"); @@ -2461,7 +2461,7 @@ if (v->format) scxfree(v->format); v->format = NULL; - v->flags = (is_changed|is_cleared); + v->flags = (is_changed|flag_is_cleared); changed++; modflg++; } Index: sc/sc.c =================================================================== --- sc.orig/sc.c 2014-05-18 14:18:57.049996065 -0500 +++ sc/sc.c 2014-05-18 14:20:54.957997896 -0500 @@ -84,15 +84,6 @@ int wasforw = FALSE; #endif -void update(); -void repaint(); -extern void doshell(); -extern void gohome(); -extern void leftlimit(); -extern void rightlimit(); -extern void gototop(); -extern void gotobottom(); - char curfile[PATHLEN]; char revmsg[80]; @@ -165,7 +156,7 @@ if (*pp == NULL) { if (freeents != NULL) { *pp = freeents; - (*pp)->flags &= ~is_cleared; + (*pp)->flags &= ~flag_is_cleared; (*pp)->flags |= may_sync; freeents = freeents->next; } else @@ -827,7 +818,7 @@ break; case 'c': showcell = (!showcell); - repaint(lastmx, lastmy, fwidth[lastcol]); + repaint(lastmx, lastmy, fwidth[lastcol], 0, A_STANDOUT); error("Cell highlighting %sabled.", showcell ? "en" : "dis"); --modflg; /* negate the modflg++ */ Index: sc/sc.h =================================================================== --- sc.orig/sc.h 2014-05-18 14:18:57.049996065 -0500 +++ sc/sc.h 2014-05-18 14:20:54.957997896 -0500 @@ -304,7 +304,7 @@ #define is_deleted 0020 #define is_locked 0040 #define is_label 0100 -#define is_cleared 0200 +#define flag_is_cleared 0200 #define may_sync 0400 /* cell error (1st generation (ERROR) or 2nd+ (INVALID)) */ @@ -630,3 +630,14 @@ #else #include #endif + + +void update(int anychanged); +void repaint(int x, int y, int len, int attron, int attroff); + +void doshell(); +void gohome(); +void leftlimit(); +void rightlimit(); +void gototop(); +void gotobottom(); Index: sc/vi.c =================================================================== --- sc.orig/vi.c 2014-05-18 14:18:57.049996065 -0500 +++ sc/vi.c 2014-05-18 14:20:54.961997896 -0500 @@ -33,13 +33,6 @@ char *regex(); #endif -void doshell(); -void gohome(); -void leftlimit(); -void rightlimit(); -void gototop(); -void gotobottom(); - #define istext(a) (isalnum(a) || ((a) == '_')) /*#define bool int*/