Only in joe-3.1/: .deps Only in joe-3.1/: Makefile Only in joe-3.1/: autoconf.h diff -Bur joe-3.1.orig/bw.c joe-3.1/bw.c --- joe-3.1.orig/bw.c 2004-05-28 16:48:36.000000000 +0000 +++ joe-3.1/bw.c 2004-06-30 03:07:27.000000000 +0000 @@ -33,6 +33,7 @@ extern int square; extern int staen; extern SCREEN *maint; +extern int bg_color; static P *getto(P *p, P *cur, P *top, long int line) { @@ -270,7 +271,7 @@ int *syn; P *tmp; int idx=0; - int atr = 0; + int atr = BG_COLOR(bg_color); utf8_init(&utf8_sm); @@ -302,8 +303,10 @@ bc = ungetit; ungetit = -1; } - if(st!=-1) + if(st!=-1) { atr = syn[idx++]; + if(!((atr&BG_VALUE)>>BG_SHIFT)) atr |= BG_COLOR(bg_color); + } if (p->b->o.crlf && bc == '\r') { ++byte; if (!--amnt) { @@ -418,8 +421,10 @@ bc = ungetit; ungetit = -1; } - if(st!=-1) + if(st!=-1) { atr=syn[idx++]; + if(!((atr&BG_VALUE)>>BG_SHIFT)) atr |= BG_COLOR(bg_color); + } if (p->b->o.crlf && bc == '\r') { ++byte; if (!--amnt) { @@ -733,7 +738,7 @@ else strcpy((char *)buf, " "); for (z = 0; buf[z]; ++z) { - outatr(w->b->o.charmap, t, screen + z, attr + z, z, y, buf[z], 0); + outatr(w->b->o.charmap, t, screen + z, attr + z, z, y, buf[z], BG_COLOR(bg_color)); if (ifhave) return; comp[z] = buf[z]; Only in joe-3.1/charmaps: klingon Only in joe-3.1/: color Only in joe-3.1/: color- Only in joe-3.1/: config.log Only in joe-3.1/: config.status Only in joe-3.1/: jmacsrc Only in joe-3.1/: joe.1 Only in joe-3.1/: joerc Only in joe-3.1/: jpicorc Only in joe-3.1/: jstarrc diff -Bur joe-3.1.orig/rc.c joe-3.1/rc.c --- joe-3.1.orig/rc.c 2004-05-28 16:37:30.000000000 +0000 +++ joe-3.1/rc.c 2004-06-30 02:23:14.000000000 +0000 @@ -66,6 +66,7 @@ extern int noxon, lines, staen, columns, Baud, dopadding, orphan, marking, beep, keepup, nonotice; extern int notite, usetabs, assume_color, guesscrlf, guessindent, menu_explorer, icase, wrap, autoswap; extern unsigned char *backpath; +extern int bg_color; /* Default options for prompt windows */ @@ -272,6 +273,7 @@ {US "notite", 0, ¬ite, NULL, 0, 0, 0 }, {US "usetabs", 0, &usetabs, NULL, 0, 0, 0 }, {US "assume_color", 0, &assume_color, NULL, 0, 0, 0 }, + {US "bg_color", 1, &bg_color, NULL, 0, 0, 0, 0, 0, 16 }, { NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, 0, 0 } }; Only in joe-3.1/: rjoerc diff -Bur joe-3.1.orig/scrn.c joe-3.1/scrn.c --- joe-3.1.orig/scrn.c 2004-05-25 02:29:22.000000000 +0000 +++ joe-3.1/scrn.c 2004-06-30 03:17:16.000000000 +0000 @@ -21,6 +21,7 @@ #include "utf8.h" #include "utils.h" +int bg_color = 8; int skiptop = 0; int lines = 0; int columns = 0; @@ -393,17 +394,17 @@ } while (ss != s); if ((ss - s > 3 || s[w] != ' ' || a[w] != 0) && t->ce) { cpos(t, x, y); - set_attr(t, 0); + set_attr(t, BG_COLOR(bg_color)); texec(t->cap, t->ce, 1, 0, 0, 0, 0); msetI(s, ' ', w); - msetI(a, 0, w); + msetI(a, BG_COLOR(bg_color), w); } else if (s != ss) { if (t->ins) clrins(t); if (t->x != x || t->y != y) cpos(t, x, y); if (t->attrib) - set_attr(t, 0); + set_attr(t, BG_COLOR(bg_color)); while (s != ss) { *s = ' '; *a = 0; @@ -1314,7 +1315,7 @@ mmove(t->scrn + t->co * y + x, t->scrn + t->co * y + x + n, (t->co - (x + n)) * sizeof(int)); mmove(t->attr + t->co * y + x, t->attr + t->co * y + x + n, (t->co - (x + n)) * sizeof(int)); msetI(t->scrn + t->co * y + t->co - n, ' ', n); - msetI(t->attr + t->co * y + t->co - n, 0, n); + msetI(t->attr + t->co * y + t->co - n, BG_COLOR(bg_color), n); } /* Insert/Delete within line */ @@ -1432,7 +1433,7 @@ if (!amnt) return; - set_attr(t, 0); + set_attr(t, BG_COLOR(bg_color)); if (top == 0 && bot == t->li && (t->sf || t->SF)) { setregn(t, 0, t->li); cpos(t, 0, t->li - 1); @@ -1494,7 +1495,7 @@ msetI(t->syntab + t->li - amnt, -1, amnt); } else { msetI(t->scrn + (bot - amnt) * t->co, ' ', amnt * t->co); - msetI(t->attr + (bot - amnt) * t->co, 0, amnt * t->co); + msetI(t->attr + (bot - amnt) * t->co, BG_COLOR(bg_color), amnt * t->co); } } @@ -1504,7 +1505,7 @@ if (!amnt) return; - set_attr(t, 0); + set_attr(t, BG_COLOR(bg_color)); if (top == 0 && bot == t->li && (t->sr || t->SR)) { setregn(t, 0, t->li); cpos(t, 0, 0); @@ -1565,7 +1566,7 @@ msetI(t->syntab, -1, amnt); } else { msetI(t->scrn + t->co * top, ' ', amnt * t->co); - msetI(t->attr + t->co * top, 0, amnt * t->co); + msetI(t->attr + t->co * top, BG_COLOR(bg_color), amnt * t->co); } } @@ -1603,7 +1604,7 @@ void npartial(SCRN *t) { - set_attr(t, 0); + set_attr(t, BG_COLOR(bg_color)); clrins(t); setregn(t, 0, t->li); } @@ -1708,9 +1709,9 @@ { dostaupd = 1; msetI(t->scrn, ' ', t->co * skiptop); - msetI(t->attr, 0, t->co * skiptop); + msetI(t->attr, BG_COLOR(bg_color), t->co * skiptop); msetI(t->scrn + skiptop * t->co, -1, (t->li - skiptop) * t->co); - msetI(t->attr + skiptop * t->co, 0, (t->li - skiptop) * t->co); + msetI(t->attr + skiptop * t->co, BG_COLOR(bg_color), (t->li - skiptop) * t->co); msetI(t->sary, 0, t->li); msetI(t->updtab + skiptop, -1, t->li - skiptop); msetI(t->syntab + skiptop, -1, t->li - skiptop); @@ -1720,7 +1721,7 @@ t->bot = 0; t->attrib = -1; t->ins = -1; - set_attr(t, 0); + set_attr(t, BG_COLOR(bg_color)); clrins(t); setregn(t, 0, t->li); @@ -1730,12 +1731,12 @@ t->x = 0; t->y = 0; msetI(t->scrn, ' ', t->li * t->co); - msetI(t->attr, 0, t->li * t->co); + msetI(t->attr, BG_COLOR(bg_color), t->li * t->co); } else if (t->cd) { cpos(t, 0, 0); texec(t->cap, t->cd, 1, 0, 0, 0, 0); msetI(t->scrn, ' ', t->li * t->co); - msetI(t->attr, 0, t->li * t->co); + msetI(t->attr, BG_COLOR(bg_color), t->li * t->co); } } } @@ -1857,7 +1858,7 @@ } /* Fill balance of field with spaces */ while (x < last_col) { - outatr(locale_map, t, scrn, attr, x, y, ' ', 0); + outatr(locale_map, t, scrn, attr, x, y, ' ', BG_COLOR(bg_color)); ++x; ++scrn; ++attr; diff -Bur joe-3.1.orig/scrn.h joe-3.1/scrn.h --- joe-3.1.orig/scrn.h 2004-05-04 15:13:47.000000000 +0000 +++ joe-3.1/scrn.h 2004-06-30 01:14:39.000000000 +0000 @@ -111,6 +111,8 @@ #define BG_CYAN (14<color |= meta_color(bf); diff -Bur joe-3.1.orig/uedit.c joe-3.1/uedit.c --- joe-3.1.orig/uedit.c 2004-05-28 16:39:43.000000000 +0000 +++ joe-3.1/uedit.c 2004-06-30 02:24:31.000000000 +0000 @@ -32,6 +32,8 @@ /******** i don't like global var ******/ +extern int bg_color; + /* * Move cursor to beginning of line */ @@ -1015,7 +1017,7 @@ simple = 0; if (simple && k != '\t' && k != '\n' && !curmacro) { int a; - int atr = 0; + int atr; unsigned char c = k; SCRN *t = bw->parent->t->t; int y = bw->y + bw->cursor->line - bw->top->line; @@ -1023,6 +1025,8 @@ int *attr = t->attr + y * t->co; x += bw->x; + atr = BG_COLOR(bg_color); + if (!upd && piseol(bw->cursor) && !bw->o.highlight) t->updtab[y] = 0; if (markb &&