about summary refs log tree commit diff
path: root/Src/Zle
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Zle')
-rw-r--r--Src/Zle/comp.h4
-rw-r--r--Src/Zle/complist.c132
-rw-r--r--Src/Zle/compmatch.c6
-rw-r--r--Src/Zle/compresult.c73
-rw-r--r--Src/Zle/computil.c29
-rw-r--r--Src/Zle/zle_refresh.c12
-rw-r--r--Src/Zle/zle_tricky.c38
-rw-r--r--Src/Zle/zle_utils.c6
8 files changed, 156 insertions, 144 deletions
diff --git a/Src/Zle/comp.h b/Src/Zle/comp.h
index e96c4217c..a8be74d03 100644
--- a/Src/Zle/comp.h
+++ b/Src/Zle/comp.h
@@ -323,8 +323,8 @@ struct cadata {
 typedef struct cldata *Cldata;
 
 struct cldata {
-    int columns;		/* screen width */
-    int lines;			/* screen height */
+    int zterm_columns;		/* screen width */
+    int zterm_lines;		/* screen height */
     int menuacc;		/* value of global menuacc */
     int valid;			/* no need to calculate anew */
     int nlist;			/* number of matches to list */
diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c
index c253daa4c..6d0da448c 100644
--- a/Src/Zle/complist.c
+++ b/Src/Zle/complist.c
@@ -656,7 +656,7 @@ clprintfmt(char *p, int ml)
 		tcout(TCCLEAREOL);
 	    cc = 0;
 	}
-	if (ml == mlend - 1 && (cc % columns) == columns - 1)
+	if (ml == mlend - 1 && (cc % zterm_columns) == zterm_columns - 1)
 	    return 0;
 
 	if (*p == Meta) {
@@ -664,9 +664,9 @@ clprintfmt(char *p, int ml)
 	    putc(*p ^ 32, shout);
 	} else
 	    putc(*p, shout);
-	if ((beg = !(cc % columns)))
+	if ((beg = !(cc % zterm_columns)))
 	    ml++;
-	if (mscroll && !(cc % columns) &&
+	if (mscroll && !(cc % zterm_columns) &&
 	    !--mrestlines && (ask = asklistscroll(ml)))
 	    return ask;
     }
@@ -765,7 +765,7 @@ clnicezputs(int do_colors, char *s, int ml)
 	    /* Input is metafied... */
 	    int nc = (*t == Meta) ? STOUC(*++t ^ 32) : STOUC(*t);
 	    /* Is the screen full? */
-	    if (ml == mlend - 1 && col == columns - 1) {
+	    if (ml == mlend - 1 && col == zterm_columns - 1) {
 		mlprinted = ml - oml;
 		return 0;
 	    }
@@ -787,13 +787,13 @@ clnicezputs(int do_colors, char *s, int ml)
 	     * There might be problems with characters of printing width
 	     * greater than one here.
 	     */
-	    if (col > columns) {
+	    if (col > zterm_columns) {
 		ml++;
 		if (mscroll && !--mrestlines && (ask = asklistscroll(ml))) {
 		    mlprinted = ml - oml;
 		    return ask;
 		}
-		col -= columns;
+		col -= zterm_columns;
 		if (do_colors)
 		    fputs(" \010", shout);
 	    }
@@ -820,12 +820,12 @@ clnicezputs(int do_colors, char *s, int ml)
 
 	for (t = nicechar(cc); *t; t++) {
 	    int nc = (*t == Meta) ? STOUC(*++t ^ 32) : STOUC(*t);
-	    if (ml == mlend - 1 && col == columns - 1) {
+	    if (ml == mlend - 1 && col == zterm_columns - 1) {
 		mlprinted = ml - oml;
 		return 0;
 	    }
 	    putc(nc, shout);
-	    if (++col > columns) {
+	    if (++col > zterm_columns) {
 		ml++;
 		if (mscroll && !--mrestlines && (ask = asklistscroll(ml))) {
 		    mlprinted = ml - oml;
@@ -991,7 +991,7 @@ asklistscroll(int ml)
 		   !strcmp(cmd->nam, "expand-or-complete-prefix") ||
 		   !strcmp(cmd->nam, "menu-complete") ||
 	     !strcmp(cmd->nam, "menu-expand-or-complete"))
-	mrestlines = lines - 1;
+	mrestlines = zterm_lines - 1;
     else if (cmd == Th(z_acceptsearch))
 	ret = 1;
     else {
@@ -1001,7 +1001,7 @@ asklistscroll(int ml)
     selectlocalmap(NULL);
     settyinfo(&shttyinfo);
     putc('\r', shout);
-    for (i = columns - 1; i-- > 0; )
+    for (i = zterm_columns - 1; i-- > 0; )
 	putc(' ', shout);
     putc('\r', shout);
 
@@ -1213,8 +1213,8 @@ compprintfmt(char *fmt, int n, int dopr, int doesc, int ml, int *stop)
 		    /* nc only contains ASCII text */
 		    int l = strlen(nc);
 
-		    if (l + cc > columns - 2)
-			nc[l -= l + cc - (columns - 2)] = '\0';
+		    if (l + cc > zterm_columns - 2)
+			nc[l -= l + cc - (zterm_columns - 2)] = '\0';
 		    fputs(nc, shout);
 		    cc += l;
 		} else if (dopr && m == 1) {
@@ -1230,16 +1230,17 @@ compprintfmt(char *fmt, int n, int dopr, int doesc, int ml, int *stop)
 	} else {
 	    cc += width;
 
-	    if ((cc >= columns - 2 || cchar == ZWC('\n')) && stat)
+	    if ((cc >= zterm_columns - 2 || cchar == ZWC('\n')) && stat)
 		dopr = 2;
 	    if (cchar == ZWC('\n')) {
 		if (dopr == 1 && mlbeg >= 0 && tccan(TCCLEAREOL))
 		    tcout(TCCLEAREOL);
-		l += 1 + ((cc - 1) / columns);
+		l += 1 + ((cc - 1) / zterm_columns);
 		cc = 0;
 	    }
 	    if (dopr == 1) {
-		if (ml == mlend - 1 && (cc % columns) == columns - 1) {
+		if (ml == mlend - 1 && (cc % zterm_columns) ==
+		    zterm_columns - 1) {
 		    dopr = 0;
 		    p += len;
 		    continue;
@@ -1256,7 +1257,7 @@ compprintfmt(char *fmt, int n, int dopr, int doesc, int ml, int *stop)
 		 * TODO: the following doesn't allow for
 		 * character widths greater than 1.
 		 */
-		if ((beg = !(cc % columns)) && !stat) {
+		if ((beg = !(cc % zterm_columns)) && !stat) {
 		    ml++;
                     fputs(" \010", shout);
                 }
@@ -1264,7 +1265,7 @@ compprintfmt(char *fmt, int n, int dopr, int doesc, int ml, int *stop)
 		    *stop = 1;
 		    if (stat && n)
 			mfirstl = -1;
-		    mlprinted = l + (cc ? ((cc-1) / columns) : 0);
+		    mlprinted = l + (cc ? ((cc-1) / zterm_columns) : 0);
 		    return mlprinted;
 		}
 	    }
@@ -1273,7 +1274,7 @@ compprintfmt(char *fmt, int n, int dopr, int doesc, int ml, int *stop)
 	}
     }
     if (dopr) {
-        if (!(cc % columns))
+        if (!(cc % zterm_columns))
             fputs(" \010", shout);
         if (mlbeg >= 0 && tccan(TCCLEAREOL))
             tcout(TCCLEAREOL);
@@ -1285,7 +1286,7 @@ compprintfmt(char *fmt, int n, int dopr, int doesc, int ml, int *stop)
      * *Not* subtracting 1 from cc at this point appears to be
      * correct.  C.f. printfmt in zle_tricky.c.
      */
-    mlprinted = l + (cc / columns);
+    mlprinted = l + (cc / zterm_columns);
     return mlprinted;
 }
 
@@ -1309,7 +1310,7 @@ compzputs(char const *s, int ml)
 	putc(c, shout);
 	if (c == '\n' && mlbeg >= 0 && tccan(TCCLEAREOL))
 	    tcout(TCCLEAREOL);
-	if (mscroll && (++col == columns || c == '\n')) {
+	if (mscroll && (++col == zterm_columns || c == '\n')) {
 	    ml++;
 	    if (!--mrestlines && (ask = asklistscroll(ml)))
 		return ask;
@@ -1344,10 +1345,11 @@ compprintlist(int showall)
 	lastml = 0;
 	lastnlnct = -1;
     }
-    cl = (listdat.nlines > lines - nlnct - mhasstat ?
-	  lines - nlnct - mhasstat : listdat.nlines) - (lastnlnct > nlnct);
+    cl = (listdat.nlines > zterm_lines - nlnct - mhasstat ?
+	  zterm_lines - nlnct - mhasstat :
+	  listdat.nlines) - (lastnlnct > nlnct);
     lastnlnct = nlnct;
-    mrestlines = lines - 1;
+    mrestlines = zterm_lines - 1;
     lastinvcount = invcount;
 
     if (cl < 2) {
@@ -1643,20 +1645,20 @@ compprintlist(int showall)
 	/* Move the cursor up to the prompt, if always_last_prompt *
 	 * is set and all that...                                  */
 	if (mlbeg >= 0) {
-	    if ((nl = listdat.nlines + nlnct) >= lines) {
+	    if ((nl = listdat.nlines + nlnct) >= zterm_lines) {
 		if (mhasstat) {
 		    putc('\n', shout);
 		    compprintfmt(NULL, 0, 1, 1, mline, NULL);
                     mstatprinted = 1;
 		}
-		nl = lines - 1;
+		nl = zterm_lines - 1;
 	    } else
 		nl--;
 	    tcmultout(TCUP, TCMULTUP, nl);
 	    showinglist = -1;
 
 	    lastlistlen = listdat.nlines;
-	} else if ((nl = listdat.nlines + nlnct - 1) < lines) {
+	} else if ((nl = listdat.nlines + nlnct - 1) < zterm_lines) {
 	    if (mlbeg >= 0 && tccan(TCCLEAREOL))
 		tcout(TCCLEAREOL);
 	    tcmultout(TCUP, TCMULTUP, nl);
@@ -1666,12 +1668,12 @@ compprintlist(int showall)
 	} else {
 	    clearflag = 0;
 	    if (!asked) {
-		mrestlines = (ml + nlnct > lines);
+		mrestlines = (ml + nlnct > zterm_lines);
 		compprintnl(ml);
 	    }
 	}
     } else if (!asked) {
-	mrestlines = (ml + nlnct > lines);
+	mrestlines = (ml + nlnct > zterm_lines);
 	compprintnl(ml);
     }
     listshown = (clearflag ? 1 : -1);
@@ -1789,7 +1791,7 @@ clprintm(Cmgroup g, Cmatch *mp, int mc, int ml, int lastc, int width)
 	if (!dolist(ml)) {
 	    int nc = ZMB_nicewidth(m->disp ? m->disp : m->str);
 	    if (nc)
-		mlprinted = (nc-1) / columns;
+		mlprinted = (nc-1) / zterm_columns;
 	    else
 		mlprinted = 0;
 	    return 0;
@@ -1831,7 +1833,7 @@ clprintm(Cmgroup g, Cmatch *mp, int mc, int ml, int lastc, int width)
 	    return 1;
 	}
 	len = ZMB_nicewidth(m->disp ? m->disp : m->str);
-	mlprinted = len ? (len-1) / columns : 0;
+	mlprinted = len ? (len-1) / zterm_columns : 0;
 
 	modec = (mcolors.flags & LC_FOLLOW_SYMLINKS) ? m->fmodec : m->modec;
 	if ((g->flags & CGF_FILES) && modec) {
@@ -1864,9 +1866,11 @@ static int
 singlecalc(int *cp, int l, int *lcp)
 {
     int c = *cp, n, j, first = 1;
-    Cmatch **p, *op, *mp = mtab[l * columns + c];
+    Cmatch **p, *op, *mp = mtab[l * zterm_columns + c];
 
-    for (n = 0, j = c, p = mtab + l * columns + c, op = NULL; j >= 0; j--, p--) {
+    for (n = 0, j = c, p = mtab + l * zterm_columns + c, op = NULL;
+	 j >= 0;
+	 j--, p--) {
         if (*p == mp)
             c = j;
         if (!first && *p != op)
@@ -1876,7 +1880,7 @@ singlecalc(int *cp, int l, int *lcp)
     }
     *cp = c;
     *lcp = 1;
-    for (p = mtab + l * columns + c; c < columns; c++, p++)
+    for (p = mtab + l * zterm_columns + c; c < zterm_columns; c++, p++)
         if (*p && mp != *p)
             *lcp = 0;
 
@@ -1906,9 +1910,9 @@ singledraw()
         tc_downcurs(md1);
     if (mc1)
         tcmultout(TCRIGHT, TCMULTRIGHT, mc1);
-    DPUTS(ml1 * columns + mc1 >= mgtabsize, "BUG: invalid position");
-    g = mgtab[ml1 * columns + mc1];
-    clprintm(g, mtab[ml1 * columns + mc1], mcc1, ml1, lc1,
+    DPUTS(ml1 * zterm_columns + mc1 >= mgtabsize, "BUG: invalid position");
+    g = mgtab[ml1 * zterm_columns + mc1];
+    clprintm(g, mtab[ml1 * zterm_columns + mc1], mcc1, ml1, lc1,
              (g->widths ? g->widths[mcc1] : g->width));
     if (mlprinted)
 	(void) tcmultout(TCUP, TCMULTUP, mlprinted);
@@ -1918,20 +1922,20 @@ singledraw()
         tc_downcurs(md2 - md1);
     if (mc2)
         tcmultout(TCRIGHT, TCMULTRIGHT, mc2);
-    DPUTS(ml2 * columns + mc2 >= mgtabsize, "BUG: invalid position");
-    g = mgtab[ml2 * columns + mc2];
-    clprintm(g, mtab[ml2 * columns + mc2], mcc2, ml2, lc2,
+    DPUTS(ml2 * zterm_columns + mc2 >= mgtabsize, "BUG: invalid position");
+    g = mgtab[ml2 * zterm_columns + mc2];
+    clprintm(g, mtab[ml2 * zterm_columns + mc2], mcc2, ml2, lc2,
              (g->widths ? g->widths[mcc2] : g->width));
     if (mlprinted)
 	(void) tcmultout(TCUP, TCMULTUP, mlprinted);
     putc('\r', shout);
 
     if (mstatprinted) {
-        int i = lines - md2 - nlnct;
+        int i = zterm_lines - md2 - nlnct;
 
         tc_downcurs(i - 1);
         compprintfmt(NULL, 0, 1, 1, mline, NULL);
-        tcmultout(TCUP, TCMULTUP, lines - 1);
+        tcmultout(TCUP, TCMULTUP, zterm_lines - 1);
     } else
         tcmultout(TCUP, TCMULTUP, md2 + nlnct);
 
@@ -1951,7 +1955,7 @@ complistmatches(UNUSED(Hookdef dummy), Chdata dat)
 
     noselect = 0;
 
-    if ((minfo.asked == 2 && mselect < 0) || nlnct >= lines) {
+    if ((minfo.asked == 2 && mselect < 0) || nlnct >= zterm_lines) {
 	showinglist = 0;
 	amatches = oamatches;
 	return (noselect = 1);
@@ -1971,7 +1975,7 @@ complistmatches(UNUSED(Hookdef dummy), Chdata dat)
 
     getcols();
 
-    mnew = ((calclist(mselect >= 0) || mlastcols != columns ||
+    mnew = ((calclist(mselect >= 0) || mlastcols != zterm_columns ||
 	     mlastlines != listdat.nlines) && mselect >= 0);
 
     if (!listdat.nlines || (mselect >= 0 &&
@@ -2006,7 +2010,7 @@ complistmatches(UNUSED(Hookdef dummy), Chdata dat)
 	    mscroll = 1;
 	} else {
 	    clearflag = 1;
-	    minfo.asked = (listdat.nlines + nlnct <= lines);
+	    minfo.asked = (listdat.nlines + nlnct <= zterm_lines);
 	}
     } else {
 	unqueue_signals();
@@ -2019,7 +2023,7 @@ complistmatches(UNUSED(Hookdef dummy), Chdata dat)
 	}
     }
     if (mlbeg >= 0) {
-	mlend = mlbeg + lines - nlnct - mhasstat;
+	mlend = mlbeg + zterm_lines - nlnct - mhasstat;
 	while (mline >= mlend)
 	    mlbeg++, mlend++;
     } else
@@ -2030,7 +2034,7 @@ complistmatches(UNUSED(Hookdef dummy), Chdata dat)
 
     	mtab_been_reallocated = 1;
 
-	i = columns * listdat.nlines;
+	i = zterm_columns * listdat.nlines;
 	free(mtab);
 	mtab = (Cmatch **) zalloc(i * sizeof(Cmatch **));
 	memset(mtab, 0, i * sizeof(Cmatch **));
@@ -2040,7 +2044,7 @@ complistmatches(UNUSED(Hookdef dummy), Chdata dat)
 	mgtabsize = i;
 #endif
 	memset(mgtab, 0, i * sizeof(Cmgroup));
-	mlastcols = mcols = columns;
+	mlastcols = mcols = zterm_columns;
 	mlastlines = mlines = listdat.nlines;
     }
     last_cap = (char *) zhalloc(max_caplen + 1);
@@ -2067,13 +2071,13 @@ complistmatches(UNUSED(Hookdef dummy), Chdata dat)
 static int
 adjust_mcol(int wish, Cmatch ***tabp, Cmgroup **grp)
 {
-    Cmatch **tab = *tabp;
+    Cmatch **matchtab = *tabp;
     int p, n, c;
 
-    tab -= mcol;
+    matchtab -= mcol;
 
-    for (p = wish; p >= 0 && (!tab[p] || mmarked(tab[p])); p--);
-    for (n = wish; n < mcols && (!tab[n] || mmarked(tab[n])); n++);
+    for (p = wish; p >= 0 && (!matchtab[p] || mmarked(matchtab[p])); p--);
+    for (n = wish; n < mcols && (!matchtab[n] || mmarked(matchtab[n])); n++);
     if (n == mcols)
 	n = -1;
 
@@ -2086,7 +2090,7 @@ adjust_mcol(int wish, Cmatch ***tabp, Cmgroup **grp)
     else
 	c = ((mcol - p) < (n - mcol) ? p : n);
 
-    *tabp = tab + c;
+    *tabp = matchtab + c;
     if (grp)
 	*grp = *grp + c - mcol;
 
@@ -2177,7 +2181,7 @@ setmstatus(char *status, char *sline, int sll, int scs,
     }
     pl = strlen(p);
     sl = strlen(s);
-    max = (columns < MAX_STATUS ? columns : MAX_STATUS) - 14;
+    max = (zterm_columns < MAX_STATUS ? zterm_columns : MAX_STATUS) - 14;
 
     if (max > 12) {
         int h = (max - 2) >> 1;
@@ -2394,9 +2398,9 @@ domenuselect(Hookdef dummy, Chdata dat)
     
     if ((s = getsparam("MENUSCROLL"))) {
 	if (!(step = mathevali(s)))
-	    step = (lines - nlnct) >> 1;
+	    step = (zterm_lines - nlnct) >> 1;
 	else if (step < 0)
-	    if ((step += lines - nlnct) < 0)
+	    if ((step += zterm_lines - nlnct) < 0)
 		step = 1;
     }
     if ((s = getsparam("MENUMODE"))) {
@@ -2473,34 +2477,34 @@ domenuselect(Hookdef dummy, Chdata dat)
 	    }
 
 	if (mlbeg && lbeg != mlbeg) {
-	    Cmatch **p = mtab + ((mlbeg - 1) * columns), **q;
+	    Cmatch **p = mtab + ((mlbeg - 1) * zterm_columns), **q;
 	    int c;
 
 	    while (mlbeg) {
-		for (q = p, c = columns; c > 0; q++, c--)
+		for (q = p, c = zterm_columns; c > 0; q++, c--)
 		    if (*q && !mmarked(*q))
 			break;
 		if (c)
 		    break;
-		p -= columns;
+		p -= zterm_columns;
 		mlbeg--;
 	    }
 	}
-	if ((space = lines - pl - mhasstat))
+	if ((space = zterm_lines - pl - mhasstat))
 	    while (mline >= mlbeg + space)
 		if ((mlbeg += step) + space > mlines)
 		    mlbeg = mlines - space;
 	if (lbeg != mlbeg) {
-	    Cmatch **p = mtab + (mlbeg * columns), **q;
+	    Cmatch **p = mtab + (mlbeg * zterm_columns), **q;
 	    int c;
 
 	    while (mlbeg < mlines) {
-		for (q = p, c = columns; c > 0; q++, c--)
+		for (q = p, c = zterm_columns; c > 0; q++, c--)
 		    if (*q)
 			break;
 		if (c)
 		    break;
-		p += columns;
+		p += zterm_columns;
 		mlbeg++;
 	    }
 	}
@@ -2955,7 +2959,7 @@ domenuselect(Hookdef dummy, Chdata dat)
 		   cmd == Th(z_viforwardword) ||
 		   cmd == Th(z_viforwardwordend) ||
 		   cmd == Th(z_forwardword)) {
-	    int i = lines - pl - 1, oi = i, ll = 0;
+	    int i = zterm_lines - pl - 1, oi = i, ll = 0;
 	    Cmatch **lp = NULL;
 
             mode = 0;
@@ -2983,7 +2987,7 @@ domenuselect(Hookdef dummy, Chdata dat)
 	} else if (cmd == Th(z_emacsbackwardword) ||
 		   cmd == Th(z_vibackwardword) ||
 		   cmd == Th(z_backwardword)) {
-	    int i = lines - pl - 1, oi = i, ll = 0;
+	    int i = zterm_lines - pl - 1, oi = i, ll = 0;
 	    Cmatch **lp = NULL;
 
             mode = 0;
diff --git a/Src/Zle/compmatch.c b/Src/Zle/compmatch.c
index b59f5a2e1..4cd3b9ffe 100644
--- a/Src/Zle/compmatch.c
+++ b/Src/Zle/compmatch.c
@@ -1268,7 +1268,7 @@ pattern_match_equivalence(Cpattern lp, convchar_t wind, int wmtp,
 /**/
 static int
 pattern_match_restrict(Cpattern p, Cpattern wp, convchar_t *wsc, int wsclen,  
-		       Cpattern prestrict, ZLE_STRING_T newline)
+		       Cpattern prestrict, ZLE_STRING_T new_line)
 {
     convchar_t c;
     convchar_t ind, wind;
@@ -1356,7 +1356,7 @@ pattern_match_restrict(Cpattern p, Cpattern wp, convchar_t *wsc, int wsclen,
 	}
 
 	/* We need to assemble the line */
-	*newline++ = (ZLE_CHAR_T)c;
+	*new_line++ = (ZLE_CHAR_T)c;
 	prestrict = prestrict->next;
 	wsc++;
 	wsclen--;
@@ -1393,7 +1393,7 @@ pattern_match_restrict(Cpattern p, Cpattern wp, convchar_t *wsc, int wsclen,
 	if (!pattern_match1(p, c, &mt))
 	    return 0;
 	p = p->next;
-	*newline++ = (ZLE_CHAR_T)c;
+	*new_line++ = (ZLE_CHAR_T)c;
 	prestrict = prestrict->next;
     }
 
diff --git a/Src/Zle/compresult.c b/Src/Zle/compresult.c
index 0389b52a2..f2729a0fe 100644
--- a/Src/Zle/compresult.c
+++ b/Src/Zle/compresult.c
@@ -1473,13 +1473,14 @@ calclist(int showall)
     if (lastinvcount == invcount &&
 	listdat.valid && onlyexpl == listdat.onlyexpl &&
 	menuacc == listdat.menuacc && showall == listdat.showall &&
-	lines == listdat.lines && columns == listdat.columns)
+	zterm_lines == listdat.zterm_lines &&
+	zterm_columns == listdat.zterm_columns)
 	return 0;
     lastinvcount = invcount;
 
     for (g = amatches; g; g = g->next) {
 	char **pp = g->ylist;
-	int nl = 0, l, glong = 1, gshort = columns, ndisp = 0, totl = 0;
+	int nl = 0, l, glong = 1, gshort = zterm_columns, ndisp = 0, totl = 0;
         int hasf = 0;
 
 	g->flags |= CGF_PACKED | CGF_ROWS;
@@ -1495,7 +1496,7 @@ calclist(int showall)
 	    /* We have an ylist, lets see, if it contains newlines. */
 	    hidden = 1;
 	    while (!nl && *pp) {
-                if (MB_METASTRWIDTH(*pp) >= columns)
+                if (MB_METASTRWIDTH(*pp) >= zterm_columns)
                     nl = 1;
                 else
                     nl = !!strchr(*pp++, '\n');
@@ -1511,11 +1512,12 @@ calclist(int showall)
 		    while (*sptr) {
 			if ((nlptr = strchr(sptr, '\n'))) {
 			    *nlptr = '\0';
-			    nlines += 1 + (MB_METASTRWIDTH(sptr)-1) / columns;
+			    nlines += 1 + (MB_METASTRWIDTH(sptr)-1) /
+				zterm_columns;
 			    *nlptr = '\n';
 			    sptr = nlptr + 1;
 			} else {
-			    nlines += (MB_METASTRWIDTH(sptr)-1) / columns;
+			    nlines += (MB_METASTRWIDTH(sptr)-1) / zterm_columns;
 			    break;
 			}
 		    }
@@ -1607,7 +1609,7 @@ calclist(int showall)
 	g->dcount = ndisp;
 	g->width = glong + CM_SPACE;
 	g->shortest = gshort + CM_SPACE;
-	if ((g->cols = columns / g->width) > g->dcount)
+	if ((g->cols = zterm_columns / g->width) > g->dcount)
 	    g->cols = g->dcount;
 	if (g->cols) {
 	    i = g->cols * g->width - CM_SPACE;
@@ -1636,9 +1638,10 @@ calclist(int showall)
 		    } else {
 			g->cols = 1;
 			g->width = 1;
-			
+
 			while (*pp)
-			    glines += 1 + (MB_METASTRWIDTH(*pp++) / columns);
+			    glines += 1 + (MB_METASTRWIDTH(*pp++) /
+					   zterm_columns);
 		    }
 		}
 	    } else {
@@ -1650,15 +1653,17 @@ calclist(int showall)
 		} else if (!(g->flags & CGF_LINES)) {
 		    g->cols = 1;
 		    g->width = 0;
-		    
+
 		    for (p = g->matches; (m = *p); p++)
 			if (!(m->flags & CMF_HIDE)) {
 			    if (m->disp) {
 				if (!(m->flags & CMF_DISPLINE))
-				    glines += 1 + ((mlens[m->gnum] - 1) / columns);
+				    glines += 1 + ((mlens[m->gnum] - 1) /
+						   zterm_columns);
 			    } else if (showall ||
 				       !(m->flags & (CMF_NOLIST | CMF_MULT)))
-				glines += 1 + (((mlens[m->gnum]) - 1) / columns);
+				glines += 1 + (((mlens[m->gnum]) - 1) /
+					       zterm_columns);
 			}
 		}
 	    }
@@ -1669,8 +1674,8 @@ calclist(int showall)
 	    if (!(g->flags & CGF_PACKED))
 		continue;
 
-	    ws = g->widths = (int *) zalloc(columns * sizeof(int));
-	    memset(ws, 0, columns * sizeof(int));
+	    ws = g->widths = (int *) zalloc(zterm_columns * sizeof(int));
+	    memset(ws, 0, zterm_columns * sizeof(int));
 	    tlines = g->lins;
 	    tcols = g->cols;
 	    width = 0;
@@ -1686,14 +1691,14 @@ calclist(int showall)
 		    if (g->flags & CGF_ROWS) {
                         int nth, tcol, len;
 
-                        for (tcols = columns / (g->shortest + CM_SPACE);
+                        for (tcols = zterm_columns / (g->shortest + CM_SPACE);
                              tcols > g->cols;
                              tcols--) {
 
                             memset(ws, 0, tcols * sizeof(int));
 
                             for (width = nth = tcol = 0, tlines = 1;
-                                 width < columns && nth < g->dcount;
+                                 width < zterm_columns && nth < g->dcount;
                                  nth++, tcol++) {
 
                                 m = *p;
@@ -1709,13 +1714,13 @@ calclist(int showall)
                                     ws[tcol] = len;
                                 }
                             }
-                            if (width < columns)
+                            if (width < zterm_columns)
                                 break;
                         }
 		    } else {
                         int nth, tcol, tline, len;
 
-                        for (tcols = columns / (g->shortest + CM_SPACE);
+                        for (tcols = zterm_columns / (g->shortest + CM_SPACE);
                              tcols > g->cols;
                              tcols--) {
 
@@ -1725,7 +1730,7 @@ calclist(int showall)
                             memset(ws, 0, tcols * sizeof(int));
 
                             for (width = nth = tcol = tline = 0;
-                                 width < columns && nth < g->dcount;
+                                 width < zterm_columns && nth < g->dcount;
                                  nth++, tline++) {
 
                                 m = *p;
@@ -1745,7 +1750,7 @@ calclist(int showall)
                                     ws[tcol] = len;
                                 }
                             }
-                            if (width < columns)
+                            if (width < zterm_columns)
                                 break;
                         }
 		    }
@@ -1754,7 +1759,7 @@ calclist(int showall)
 		if (g->flags & CGF_ROWS) {
                     int nth, tcol, len;
 
-                    for (tcols = columns / (g->shortest + CM_SPACE);
+                    for (tcols = zterm_columns / (g->shortest + CM_SPACE);
                          tcols > g->cols;
                          tcols--) {
 
@@ -1762,7 +1767,7 @@ calclist(int showall)
 
                         for (width = nth = tcol = 0, tlines = 1,
                              p = skipnolist(g->matches, showall);
-                             *p && width < columns && nth < g->dcount;
+                             *p && width < zterm_columns && nth < g->dcount;
                              nth++, p = skipnolist(p + 1, showall), tcol++) {
 
                             m = *p;
@@ -1779,13 +1784,13 @@ calclist(int showall)
                                 ws[tcol] = len;
                             }
                         }
-                        if (width < columns)
+                        if (width < zterm_columns)
                             break;
                     }
 		} else {
                     int nth, tcol, tline, len;
 
-                    for (tcols = columns / (g->shortest + CM_SPACE);
+                    for (tcols = zterm_columns / (g->shortest + CM_SPACE);
                          tcols > g->cols;
                          tcols--) {
 
@@ -1796,7 +1801,7 @@ calclist(int showall)
 
                         for (width = nth = tcol = tline = 0,
                              p = skipnolist(g->matches, showall);
-                             *p && width < columns && nth < g->dcount;
+                             *p && width < zterm_columns && nth < g->dcount;
                              nth++, p = skipnolist(p + 1, showall), tline++) {
 
                             m = *p;
@@ -1817,7 +1822,7 @@ calclist(int showall)
                                 ws[tcol] = len;
                             }
                         }
-                        if (width < columns) {
+                        if (width < zterm_columns) {
                             if (++tcol < tcols)
                                 tcols = tcol;
                             break;
@@ -1828,7 +1833,7 @@ calclist(int showall)
             if (tcols <= g->cols)
                 tlines = g->lins;
 	    if (tlines == g->lins) {
-		zfree(ws, columns * sizeof(int));
+		zfree(ws, zterm_columns * sizeof(int));
 		g->widths = NULL;
 	    } else {
 		nlines += tlines - g->lins;
@@ -1862,8 +1867,8 @@ calclist(int showall)
     listdat.nlines = nlines;
     listdat.menuacc = menuacc;
     listdat.onlyexpl = onlyexpl;
-    listdat.columns = columns;
-    listdat.lines = lines;
+    listdat.zterm_columns = zterm_columns;
+    listdat.zterm_lines = zterm_lines;
     listdat.showall = showall;
 
     return 1;
@@ -1884,7 +1889,7 @@ asklist(void)
     if ((!minfo.cur || !minfo.asked) &&
 	((complistmax > 0 && listdat.nlist >= complistmax) ||
 	 (complistmax < 0 && listdat.nlines <= -complistmax) ||
-	 (!complistmax && listdat.nlines >= lines))) {
+	 (!complistmax && listdat.nlines >= zterm_lines))) {
 	int qup, l;
 
 	zsetterm();
@@ -1893,7 +1898,7 @@ asklist(void)
 		     listdat.nlist, listdat.nlines) :
 	     fprintf(shout, "zsh: do you wish to see all %d lines? ",
 		     listdat.nlines));
-	qup = ((l + columns - 1) / columns) - 1;
+	qup = ((l + zterm_columns - 1) / zterm_columns) - 1;
 	fflush(shout);
 	if (!getzlequery()) {
 	    if (clearflag) {
@@ -1987,7 +1992,7 @@ printlist(int over, CLPrintFunc printm, int showall)
 		while ((p = *pp++)) {
 		    zputs(p, shout);
 		    if (*pp) {
-                        if (MB_METASTRWIDTH(p) % columns)
+                        if (MB_METASTRWIDTH(p) % zterm_columns)
                             putc('\n', shout);
                         else
                             fputs(" \010", shout);
@@ -2113,7 +2118,7 @@ printlist(int over, CLPrintFunc printm, int showall)
     if (clearflag) {
 	/* Move the cursor up to the prompt, if always_last_prompt *
 	 * is set and all that...                                  */
-	if ((ml = listdat.nlines + nlnct - 1) < lines) {
+	if ((ml = listdat.nlines + nlnct - 1) < zterm_lines) {
 	    tcmultout(TCUP, TCMULTUP, ml);
 	    showinglist = -1;
 
@@ -2134,8 +2139,8 @@ bld_all_str(Cmatch all)
 {
     Cmgroup g;
     Cmatch *mp, m;
-    int len = columns - 5, t, add = 0;
-    VARARR(char, buf, columns + 1);
+    int len = zterm_columns - 5, t, add = 0;
+    VARARR(char, buf, zterm_columns + 1);
 
     buf[0] = '\0';
 
diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c
index 0cc9d7400..e5a99485c 100644
--- a/Src/Zle/computil.c
+++ b/Src/Zle/computil.c
@@ -226,8 +226,8 @@ cd_prep()
     runp = &(cd_state.runs);
 
     if (cd_state.groups) {
-        int lines = cd_state.groups + cd_state.descs;
-        VARARR(Cdstr, grps, lines);
+        int preplines = cd_state.groups + cd_state.descs;
+        VARARR(Cdstr, grps, preplines);
         VARARR(int, wids, cd_state.maxg);
         Cdstr gs, gp, gn, *gpp;
         int i, j, d;
@@ -275,7 +275,7 @@ cd_prep()
         if (cd_state.gprew > cd_state.maxmlen && cd_state.maxglen > 1)
             return 1;
 
-	for (i = 0; i < lines; i++) {
+	for (i = 0; i < preplines; i++) {
 	    Cdstr s = grps[i];
 	    int dummy;
 
@@ -283,9 +283,9 @@ cd_prep()
 	    unmetafy(s->sortstr, &dummy);
 	}
 
-        qsort(grps, lines, sizeof(Cdstr), cd_sort);
+        qsort(grps, preplines, sizeof(Cdstr), cd_sort);
 
-        for (i = lines, strp = grps; i > 1; i--, strp++) {
+        for (i = preplines, strp = grps; i > 1; i--, strp++) {
             strp2 = strp + 1;
             if (!strcmp((*strp)->desc, (*strp2)->desc))
                 continue;
@@ -303,9 +303,9 @@ cd_prep()
         expl =  (Cdrun) zalloc(sizeof(*run));
         expl->type = CRT_EXPL;
         expl->strs = grps[0];
-        expl->count = lines;
+        expl->count = preplines;
 
-        for (i = lines, strp = grps, strp2 = NULL; i; i--, strp++) {
+        for (i = preplines, strp = grps, strp2 = NULL; i; i--, strp++) {
             str = *strp;
             *strp = str->other;
             if (strp2)
@@ -321,7 +321,7 @@ cd_prep()
         *strp2 = NULL;
 
         for (i = cd_state.maxg - 1; i; i--) {
-            for (d = 0, j = lines, strp = grps; j; j--, strp++) {
+            for (d = 0, j = preplines, strp = grps; j; j--, strp++) {
                 if ((str = *strp)) {
                     if (d) {
                         *runp = run = (Cdrun) zalloc(sizeof(*run));
@@ -465,7 +465,7 @@ cd_init(char *nam, char *hide, char *mlen, char *sep,
     cd_state.showd = disp;
     cd_state.maxg = cd_state.groups = cd_state.descs = 0;
     cd_state.maxmlen = atoi(mlen);
-    itmp = columns - cd_state.swidth - 4;
+    itmp = zterm_columns - cd_state.swidth - 4;
     if (cd_state.maxmlen > itmp)
         cd_state.maxmlen = itmp;
     if (cd_state.maxmlen < 4)
@@ -545,7 +545,7 @@ cd_init(char *nam, char *hide, char *mlen, char *sep,
 	    args++;
     }
     if (disp && grp) {
-        int mg = columns;
+        int mg = zterm_columns;
 
         do {
             cd_group(mg);
@@ -651,7 +651,8 @@ cd_get(char **params)
 		     * is available. Leave 1 character at the end of screen
 		     * as safety margin
 		     */
-		    remw = columns - cd_state.premaxw - cd_state.swidth - 3;
+		    remw = zterm_columns - cd_state.premaxw -
+			cd_state.swidth - 3;
 		    d = str->desc;
 		    w = MB_METASTRWIDTH(d);
 		    if (w <= remw)
@@ -727,7 +728,8 @@ cd_get(char **params)
         case CRT_EXPL:
             {
 		/* add columns as safety margin */
-                VARARR(char, dbuf, cd_state.suf + cd_state.slen + columns);
+                VARARR(char, dbuf, cd_state.suf + cd_state.slen +
+		       zterm_columns);
                 char buf[20], *p, *pp, *d;
                 int i = run->count, remw, w, l;
 
@@ -743,7 +745,8 @@ cd_get(char **params)
                     }
 
                     strcpy(dbuf, cd_state.sep);
-		    remw = columns - cd_state.gprew - cd_state.swidth - CM_SPACE;
+		    remw = zterm_columns - cd_state.gprew -
+			cd_state.swidth - CM_SPACE;
 		    p = pp = dbuf + cd_state.slen;
 		    d = str->desc;
 		    w = MB_METASTRWIDTH(d);
diff --git a/Src/Zle/zle_refresh.c b/Src/Zle/zle_refresh.c
index a78aef7db..797f86251 100644
--- a/Src/Zle/zle_refresh.c
+++ b/Src/Zle/zle_refresh.c
@@ -688,12 +688,12 @@ resetvideo(void)
 {
     int ln;
  
-    winw = columns;  /* terminal width */
+    winw = zterm_columns;  /* terminal width */
     if (termflags & TERM_SHORT)
 	winh = 1;
     else
-	winh = (lines < 2) ? 24 : lines;
-    rwinh = lines;		/* keep the real number of lines */
+	winh = (zterm_lines < 2) ? 24 : zterm_lines;
+    rwinh = zterm_lines;		/* keep the real number of lines */
     vln = vmaxln = winprompt = 0;
     winpos = -1;
     if (winw_alloc != winw || winh_alloc != winh) {
@@ -1082,7 +1082,7 @@ zrefresh(void)
 
     cleareol = 0;		/* unset */
     more_start = more_end = 0;	/* unset */
-    if (isset(SINGLELINEZLE) || lines < 3
+    if (isset(SINGLELINEZLE) || zterm_lines < 3
 	|| (termflags & (TERM_NOUP | TERM_BAD | TERM_UNKNOWN)))
 	termflags |= TERM_SHORT;
     else
@@ -1138,7 +1138,7 @@ zrefresh(void)
 	}
 	fflush(shout);
 	clearf = clearflag;
-    } else if (winw != columns || rwinh != lines)
+    } else if (winw != zterm_columns || rwinh != zterm_lines)
 	resetvideo();
 
 /* now winw equals columns and winh equals lines 
@@ -2004,7 +2004,7 @@ refreshline(int ln)
 		 * last line lest undesired scrolling occurs due to `illegal'
 		 * characters on screen
 		 */ 
-		if (tccan(TCINS) && (vln != lines - 1)) {
+		if (tccan(TCINS) && (vln != zterm_lines - 1)) {
 		    /* not on last line */
 		    for (i = 1; nl[i].chr; i++) {
 			if (tcinscost(i) < wpfxlen(ol, nl + i)) {
diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c
index 74da24e6c..8f7c2aac1 100644
--- a/Src/Zle/zle_tricky.c
+++ b/Src/Zle/zle_tricky.c
@@ -2419,13 +2419,13 @@ printfmt(char *fmt, int n, int dopr, int doesc)
 		    if (tccan(TCCLEAREOL))
 			tcout(TCCLEAREOL);
 		    else {
-			int s = columns - 1 - (cc % columns);
+			int s = zterm_columns - 1 - (cc % zterm_columns);
 
 			while (s-- > 0)
 			    putc(' ', shout);
 		    }
 		}
-		l += 1 + ((cc - 1) / columns);
+		l += 1 + ((cc - 1) / zterm_columns);
 		cc = 0;
 		if (dopr)
 		    putc('\n', shout);
@@ -2445,18 +2445,18 @@ printfmt(char *fmt, int n, int dopr, int doesc)
 		} else
 		    p += clen;
 		cc += WCWIDTH_WINT(cchar);
-		if (dopr && !(cc % columns))
+		if (dopr && !(cc % zterm_columns))
 			fputs(" \010", shout);
 	    }
 	}
     }
     if (dopr) {
-        if (!(cc % columns))
+        if (!(cc % zterm_columns))
             fputs(" \010", shout);
 	if (tccan(TCCLEAREOL))
 	    tcout(TCCLEAREOL);
 	else {
-	    int s = columns - 1 - (cc % columns);
+	    int s = zterm_columns - 1 - (cc % zterm_columns);
 
 	    while (s-- > 0)
 		putc(' ', shout);
@@ -2467,7 +2467,7 @@ printfmt(char *fmt, int n, int dopr, int doesc)
      * cc is correct, i.e. if just misses wrapping we still add 1.
      * (Why?)
      */
-    return l + (cc / columns);
+    return l + (cc / zterm_columns);
 }
 
 /* This is used to print expansions. */
@@ -2481,8 +2481,8 @@ listlist(LinkList l)
     LinkNode node;
     char **p;
     VARARR(int, lens, num);
-    VARARR(int, widths, columns);
-    int longest = 0, shortest = columns, totl = 0;
+    VARARR(int, widths, zterm_columns);
+    int longest = 0, shortest = zterm_columns, totl = 0;
     int len, ncols, nlines, tolast, col, i, max, pack = 0, *lenp;
 
     for (node = firstnode(l), p = data; node; incnode(node), p++)
@@ -2500,7 +2500,7 @@ listlist(LinkList l)
 	    shortest = len;
 	totl += len;
     }
-    if ((ncols = ((columns + 2) / longest))) {
+    if ((ncols = ((zterm_columns + 2) / longest))) {
 	int tlines = 0, tline, tcols = 0, maxlen, nth, width;
 
 	nlines = (num + ncols - 1) / ncols;
@@ -2509,7 +2509,7 @@ listlist(LinkList l)
 	    if (isset(LISTROWSFIRST)) {
 		int count, tcol, first, maxlines = 0, llines;
 
-		for (tcols = columns / shortest; tcols > ncols;
+		for (tcols = zterm_columns / shortest; tcols > ncols;
 		     tcols--) {
 		    for (nth = first = maxlen = width = maxlines =
 			     llines = tcol = 0,
@@ -2522,7 +2522,7 @@ listlist(LinkList l)
 			nth += tcols;
 			tlines++;
 			if (nth >= num) {
-			    if ((width += maxlen) >= columns)
+			    if ((width += maxlen) >= zterm_columns)
 				break;
 			    widths[tcol++] = maxlen;
 			    maxlen = 0;
@@ -2536,13 +2536,13 @@ listlist(LinkList l)
 			widths[tcol++] = maxlen;
 			width += maxlen;
 		    }
-		    if (!count && width < columns)
+		    if (!count && width < zterm_columns)
 			break;
 		}
 		if (tcols > ncols)
 		    tlines = maxlines;
 	    } else {
-		for (tlines = ((totl + columns) / columns);
+		for (tlines = ((totl + zterm_columns) / zterm_columns);
 		     tlines < nlines; tlines++) {
 		    for (p = data, nth = tline = width =
 			     maxlen = tcols = 0;
@@ -2550,7 +2550,7 @@ listlist(LinkList l)
 			if (lens[nth] > maxlen)
 			    maxlen = lens[nth];
 			if (++tline == tlines) {
-			    if ((width += maxlen) >= columns)
+			    if ((width += maxlen) >= zterm_columns)
 				break;
 			    widths[tcols++] = maxlen;
 			    maxlen = tline = 0;
@@ -2560,7 +2560,7 @@ listlist(LinkList l)
 			widths[tcols++] = maxlen;
 			width += maxlen;
 		    }
-		    if (nth == num && width < columns)
+		    if (nth == num && width < zterm_columns)
 			break;
 		}
 	    }
@@ -2572,7 +2572,7 @@ listlist(LinkList l)
     } else {
 	nlines = 0;
 	for (p = data; *p; p++)
-	    nlines += 1 + (strlen(*p) / columns);
+	    nlines += 1 + (strlen(*p) / zterm_columns);
     }
     /* Set the cursor below the prompt. */
     trashzle();
@@ -2581,7 +2581,7 @@ listlist(LinkList l)
     clearflag = (isset(USEZLE) && !termflags && tolast);
 
     max = getiparam("LISTMAX");
-    if ((max && num > max) || (!max && nlines > lines)) {
+    if ((max && num > max) || (!max && nlines > zterm_lines)) {
 	int qup, l;
 
 	zsetterm();
@@ -2589,7 +2589,7 @@ listlist(LinkList l)
 	     fprintf(shout, "zsh: do you wish to see all %d possibilities (%d lines)? ",
 		     num, nlines) :
 	     fprintf(shout, "zsh: do you wish to see all %d lines? ", nlines));
-	qup = ((l + columns - 1) / columns) - 1;
+	qup = ((l + zterm_columns - 1) / zterm_columns) - 1;
 	fflush(shout);
 	if (!getzlequery()) {
 	    if (clearflag) {
@@ -2656,7 +2656,7 @@ listlist(LinkList l)
 	}
     }
     if (clearflag) {
-	if ((nlines += nlnct - 1) < lines) {
+	if ((nlines += nlnct - 1) < zterm_lines) {
 	    tcmultout(TCUP, TCMULTUP, nlines);
 	    showinglist = -1;
 	} else
diff --git a/Src/Zle/zle_utils.c b/Src/Zle/zle_utils.c
index e63f6a162..03a514cce 100644
--- a/Src/Zle/zle_utils.c
+++ b/Src/Zle/zle_utils.c
@@ -1257,7 +1257,7 @@ showmsg(char const *msg)
 	    p++;
 
 	    putc('\n', shout);
-	    up += 1 + cc / columns;
+	    up += 1 + cc / zterm_columns;
 	    cc = 0;
 	} else {
 	    /*
@@ -1308,7 +1308,7 @@ showmsg(char const *msg)
 	    c = *++p ^ 32;
 	if(c == '\n') {
 	    putc('\n', shout);
-	    up += 1 + cc / columns;
+	    up += 1 + cc / zterm_columns;
 	    cc = 0;
 	} else {
 	    char const *n = nicechar(c);
@@ -1317,7 +1317,7 @@ showmsg(char const *msg)
 	}
     }
 #endif
-    up += cc / columns;
+    up += cc / zterm_columns;
 
     if (clearflag) {
 	putc('\r', shout);