From a89f0559c210def9a40bfeb9da6b38128a49cb55 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 7 Jan 2011 10:05:35 +0000 Subject: 28590: make read return status non-zero on error --- Src/builtin.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'Src/builtin.c') diff --git a/Src/builtin.c b/Src/builtin.c index 411b834e7..a85a49a20 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -5710,7 +5710,12 @@ bin_read(char *name, char **args, Options ops, UNUSED(int func)) } return 1; } - return 0; + /* + * The following is to ensure a failure to set the parameter + * causes a non-zero status return. There are arguments for + * turning a non-zero status into errflag more widely. + */ + return errflag; } /**/ -- cgit v1.2.3 From dbbcbf67cb8a330e5c7d8a40ed4152a53db6b5f8 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Tue, 22 Feb 2011 20:09:20 +0000 Subject: 28791: exit on errors with special builtins with POSIXBUILTINS --- ChangeLog | 8 +++++++- Doc/Zsh/options.yo | 6 +++--- Src/builtin.c | 10 ++++++++-- Src/exec.c | 22 +++++++++++++++------- Test/A04redirect.ztst | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 82 insertions(+), 13 deletions(-) (limited to 'Src/builtin.c') diff --git a/ChangeLog b/ChangeLog index bcaab5c63..cb9dcfd71 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-02-22 Peter Stephenson + + * 28791: Doc/Zsh/options.yo, Src/builtin.c, Src/exec.c, + Test/A04redirect.ztst: exit on errors in special builtins + with POSIXBUILTINS. + 2011-02-21 Peter Stephenson * 28783: Doc/Zsh/options.yo, Src/lex.c, Test/A01grammar.ztst: @@ -14242,5 +14248,5 @@ ***************************************************** * This is used by the shell to define $ZSH_PATCHLEVEL -* $Revision: 1.5205 $ +* $Revision: 1.5206 $ ***************************************************** diff --git a/Doc/Zsh/options.yo b/Doc/Zsh/options.yo index 4ecf8f831..892378469 100644 --- a/Doc/Zsh/options.yo +++ b/Doc/Zsh/options.yo @@ -1871,9 +1871,9 @@ tt(times), tt(trap) and tt(unset). -In addition, a failed redirection after tt(exec) causes a non-interactive -shell to exit and an interactive shell to return to its top-level -processing. +In addition, various error conditions associated with the above builtins +or tt(exec) cause a non-interactive shell to exit and an interactive +shell to return to its top-level processing. ) pindex(POSIX_IDENTIFIERS) pindex(NO_POSIX_IDENTIFIERS) diff --git a/Src/builtin.c b/Src/builtin.c index a85a49a20..aa87dfb7d 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -4821,8 +4821,14 @@ bin_dot(char *name, char **argv, UNUSED(Options ops), UNUSED(int func)) freearray(pparams); pparams = old; } - if (ret == SOURCE_NOT_FOUND) - zwarnnam(name, "%e: %s", errno, enam); + if (ret == SOURCE_NOT_FOUND) { + if (isset(POSIXBUILTINS)) { + /* hard error in POSIX (we'll exit later) */ + zerrnam(name, "%e: %s", errno, enam); + } else { + zwarnnam(name, "%e: %s", errno, enam); + } + } zsfree(arg0); if (old0) { zsfree(argzero); diff --git a/Src/exec.c b/Src/exec.c index da67465d8..25a2eee38 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -2416,6 +2416,8 @@ execcmd(Estate state, int input, int output, int how, int last1) checked = !(cflags & BINF_BUILTIN); break; } + cflags &= ~BINF_BUILTIN & ~BINF_COMMAND; + cflags |= hn->flags; if (!(hn->flags & BINF_PREFIX)) { is_builtin = 1; @@ -2425,8 +2427,6 @@ execcmd(Estate state, int input, int output, int how, int last1) assign = (hn->flags & BINF_MAGICEQUALS); break; } - cflags &= ~BINF_BUILTIN & ~BINF_COMMAND; - cflags |= hn->flags; checked = 0; if ((cflags & BINF_COMMAND) && nextnode(firstnode(args))) { /* check for options to command builtin */ @@ -3297,12 +3297,20 @@ execcmd(Estate state, int input, int output, int how, int last1) fixfds(save); done: - if (redir_err && isset(POSIXBUILTINS)) { - if (!isset(INTERACTIVE)) { - /* We've already _exit'ed if forked */ - exit(1); + if (isset(POSIXBUILTINS) && + (cflags & (BINF_PSPECIAL|BINF_EXEC))) { + /* + * For POSIX-compatibile behaviour with special + * builtins (including exec which we don't usually + * classify as a builtin, we treat all errors as fatal. + */ + if (redir_err || errflag) { + if (!isset(INTERACTIVE)) { + /* We've already _exit'ed if forked */ + exit(1); + } + errflag = 1; } - errflag = 1; } if (newxtrerr) { fil = fileno(newxtrerr); diff --git a/Test/A04redirect.ztst b/Test/A04redirect.ztst index c35977c66..9340b71f0 100644 --- a/Test/A04redirect.ztst +++ b/Test/A04redirect.ztst @@ -378,3 +378,52 @@ echo output' 1:failed exec redir, POSIX_BUILTINS ?zsh:2: no such file or directory: /nonexistent/nonexistent + + $ZTST_testdir/../Src/zsh -f -o POSIX_BUILTINS -c ' + set >/nonexistent/nonexistent + echo output' +1:failed special builtin redir, POSIX_BUILTINS +?zsh:2: no such file or directory: /nonexistent/nonexistent + + $ZTST_testdir/../Src/zsh -f -o POSIX_BUILTINS -c ' + echo >/nonexistent/nonexistent + echo output' +0:failed unspecial builtin redir, POSIX_BUILTINS +>output +?zsh:2: no such file or directory: /nonexistent/nonexistent + + $ZTST_testdir/../Src/zsh -f -o POSIX_BUILTINS -c ' + . /nonexistent/nonexistent + echo output' +1:failed dot, POSIX_BUILTINS +?zsh:.:2: no such file or directory: /nonexistent/nonexistent + + $ZTST_testdir/../Src/zsh -f -c ' + . /nonexistent/nonexistent + echo output' +0:failed dot, NO_POSIX_BUILTINS +>output +?zsh:.:2: no such file or directory: /nonexistent/nonexistent + + $ZTST_testdir/../Src/zsh -f <<<' + readonly foo + foo=bar set output + echo output' +0:failed assignment on posix special, NO_POSIX_BUILTINS +>output +?zsh: read-only variable: foo + + $ZTST_testdir/../Src/zsh -f -o POSIX_BUILTINS <<<' + readonly foo + foo=bar set output + echo output' +1:failed assignment on posix special, POSIX_BUILTINS +?zsh: read-only variable: foo + + $ZTST_testdir/../Src/zsh -f -o POSIX_BUILTINS <<<' + readonly foo + foo=bar echo output + echo output' +0:failed assignment on non-posix-special, POSIX_BUILTINS +>output +?zsh: read-only variable: foo -- cgit v1.2.3 From 6e50d3d7dbed4adb01f71de823dda2a6ee5442f3 Mon Sep 17 00:00:00 2001 From: Bart Schaefer Date: Tue, 1 Mar 2011 05:18:15 +0000 Subject: 28823: make it an error to tie the same scalar to two different arrays --- ChangeLog | 8 +++++++- Src/builtin.c | 9 +++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) (limited to 'Src/builtin.c') diff --git a/ChangeLog b/ChangeLog index 95e709e8f..a69dfee8e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-02-28 Barton E. Schaefer + + * 28823: Src/builtin.c: make it an error to tie the same scalar to + two different arrays (prevents crash bug); improve a couple of + other error messages. + 2011-02-28 Peter Stephenson * Frank, 28812, modified as in 28813: Src/string.c: wcs_ztrdup() @@ -14270,5 +14276,5 @@ ***************************************************** * This is used by the shell to define $ZSH_PATCHLEVEL -* $Revision: 1.5210 $ +* $Revision: 1.5211 $ ***************************************************** diff --git a/Src/builtin.c b/Src/builtin.c index aa87dfb7d..6dbfa75ca 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -2420,12 +2420,12 @@ bin_typeset(char *name, char **argv, Options ops, int func) } if (!strcmp(asg0.name, asg->name)) { unqueue_signals(); - zerrnam(name, "can't tie a variable to itself"); + zerrnam(name, "can't tie a variable to itself: %s", asg0.name); return 1; } if (strchr(asg0.name, '[') || strchr(asg->name, '[')) { unqueue_signals(); - zerrnam(name, "can't tie array elements"); + zerrnam(name, "can't tie array elements: %s", asg0.name); return 1; } /* @@ -2440,6 +2440,11 @@ bin_typeset(char *name, char **argv, Options ops, int func) if ((pm = (Param) paramtab->getnode(paramtab, asg0.name)) && !(pm->node.flags & PM_UNSET) && (locallevel == pm->level || !(on & PM_LOCAL))) { + if (pm->node.flags & PM_TIED) { + unqueue_signals(); + zerrnam(name, "can't tie already tied scalar: %s", asg0.name); + return 1; + } if (!asg0.value && !(PM_TYPE(pm->node.flags) & (PM_ARRAY|PM_HASHED))) oldval = ztrdup(getsparam(asg0.name)); on |= (pm->node.flags & PM_EXPORTED); -- cgit v1.2.3 From 2eac10577064b3de18173ba0e2ee07ee55240feb Mon Sep 17 00:00:00 2001 From: Frank Terbeck Date: Fri, 4 Mar 2011 13:25:25 +0000 Subject: 28853: Fix typo: preceed -> precede --- ChangeLog | 9 +++++++-- Doc/Zsh/contrib.yo | 2 +- Doc/Zsh/expn.yo | 2 +- Functions/Chpwd/cdr | 2 +- Src/builtin.c | 2 +- Src/prompt.c | 2 +- 6 files changed, 12 insertions(+), 7 deletions(-) (limited to 'Src/builtin.c') diff --git a/ChangeLog b/ChangeLog index 69b892566..7e6a794b1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-03-04 Frank Terbeck + + * 28853: Doc/Zsh/contrib.yo, Doc/Zsh/expn.yo, Functions/Chpwd/cdr, + Src/builtin.c, Src/prompt.c: Fix typo: preceed -> precede + 2011-03-02 Barton E. Schaefer * 28805: Doc/Zsh/builtins.yo, Doc/Zsh/mod_sched.yo: move stray @@ -1272,7 +1277,7 @@ * users/15011: Completion/Unix/Type/_path_files, Doc/Zsh/compsys.yo: add path-completion style to allow - completion of preceeding directories in files to be be turned + completion of preceding directories in files to be be turned off. 2010-04-13 Peter Stephenson @@ -14287,5 +14292,5 @@ ***************************************************** * This is used by the shell to define $ZSH_PATCHLEVEL -* $Revision: 1.5213 $ +* $Revision: 1.5214 $ ***************************************************** diff --git a/Doc/Zsh/contrib.yo b/Doc/Zsh/contrib.yo index 926c7b3c4..c5808fbeb 100644 --- a/Doc/Zsh/contrib.yo +++ b/Doc/Zsh/contrib.yo @@ -355,7 +355,7 @@ subsect(Use) All direct user interaction is via the tt(cdr) function. The argument to cdr is a number var(N) corresponding to the var(N)th most -recently changed-to directory. 1 is the immediately preceeding directory; +recently changed-to directory. 1 is the immediately preceding directory; the current directory is remembered but is not offered as a destination. Note that if you have multiple windows open 1 may refer to a directory changed to in another window; you can avoid this by having per-terminal diff --git a/Doc/Zsh/expn.yo b/Doc/Zsh/expn.yo index d246c3c23..9c4491386 100644 --- a/Doc/Zsh/expn.yo +++ b/Doc/Zsh/expn.yo @@ -381,7 +381,7 @@ Each part of a command argument that takes the form `tt(LPAR())var(list)tt(RPAR())' or `tt(=LPAR())var(list)tt(RPAR())' -is subject to process substitution. The expression may be preceeded +is subject to process substitution. The expression may be preceded or followed by other strings except that, to prevent clashes with commonly occurring strings and patterns, the last form must occur at the start of a command argument, and the forms diff --git a/Functions/Chpwd/cdr b/Functions/Chpwd/cdr index 3025a9d5c..4f399106b 100644 --- a/Functions/Chpwd/cdr +++ b/Functions/Chpwd/cdr @@ -15,7 +15,7 @@ # changing directory permanently, see below. # # The argument to cdr is a number corresponding to the Nth most recently -# changed-to directory starting at 1 for the immediately preceeding +# changed-to directory starting at 1 for the immediately preceding # directory (the current directory is remembered but is not offered as a # destination). You can use directory arguments if you set the # recent-dirs-default style, see below; however, it should be noted diff --git a/Src/builtin.c b/Src/builtin.c index 6dbfa75ca..cda5e68cb 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -4713,7 +4713,7 @@ zexit(int val, int from_where) */ in_exit = -1; /* - * We want to do all remaining processing regardless of preceeding + * We want to do all remaining processing regardless of preceding * errors. */ errflag = 0; diff --git a/Src/prompt.c b/Src/prompt.c index a91ac541f..715f4b503 100644 --- a/Src/prompt.c +++ b/Src/prompt.c @@ -1205,7 +1205,7 @@ prompttrunc(int arg, int truncchar, int doprint, int endchar, if (truncatleft) { /* * To truncate at the left, selectively copy - * maxwidth bytes from the main prompt, preceeded + * maxwidth bytes from the main prompt, preceded * by the truncation string in full. * * We're overwriting the string containing the -- cgit v1.2.3 From 35ddd9c4bae1956932dc45b4af48391ac71da0a2 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Mon, 11 Apr 2011 16:34:21 +0000 Subject: users/15953: handle EINTR when using read -k or -q with -u or -p --- ChangeLog | 10 +++++++++- Src/builtin.c | 13 ++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) (limited to 'Src/builtin.c') diff --git a/ChangeLog b/ChangeLog index e8c439bd3..cf1bfc19b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2011-04-11 Peter Stephenson + + * users/15953: Src/builtin.c: handle EINTR when using read -k or + -q together with -u or -p. + + * cat.in.136: users/15945: Completion/Redhat/Command/_yum: + various corrections and updates. + 2011-04-05 Wayne Davison * 28977: Src/utils.c: fix copying of uninitialized memory @@ -14425,5 +14433,5 @@ ***************************************************** * This is used by the shell to define $ZSH_PATCHLEVEL -* $Revision: 1.5241 $ +* $Revision: 1.5242 $ ***************************************************** diff --git a/Src/builtin.c b/Src/builtin.c index cda5e68cb..127d58bdb 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -5291,9 +5291,16 @@ bin_read(char *name, char **args, Options ops, UNUSED(int func)) *bptr = readchar; val = 1; readchar = -1; - } else if ((val = read(readfd, bptr, nchars)) <= 0) { - eof = 1; - break; + } else { + while ((val = read(readfd, bptr, nchars)) < 0) { + if (errno != EINTR || + errflag || retflag || breaks || contflag) + break; + } + if (val <= 0) { + eof = 1; + break; + } } #ifdef MULTIBYTE_SUPPORT -- cgit v1.2.3 From d89361739acdf07f0b0775c85f69abe89d57b600 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Mon, 9 May 2011 09:49:08 +0000 Subject: 29165: use term.h globally if needed at all. --- ChangeLog | 14 +++++- Src/Modules/files.c | 16 +++--- Src/Modules/termcap.c | 23 --------- Src/Modules/zpty.c | 4 +- Src/Zle/comp.h | 4 +- Src/Zle/complist.c | 132 ++++++++++++++++++++++++++------------------------ Src/Zle/compmatch.c | 6 +-- Src/Zle/compresult.c | 73 +++++++++++++++------------- Src/Zle/computil.c | 29 ++++++----- Src/Zle/zle_refresh.c | 12 ++--- Src/Zle/zle_tricky.c | 38 +++++++-------- Src/Zle/zle_utils.c | 6 +-- Src/builtin.c | 2 +- Src/exec.c | 6 +-- Src/glob.c | 4 +- Src/hashtable.c | 16 +++--- Src/init.c | 4 +- Src/jobs.c | 2 +- Src/loop.c | 6 +-- Src/params.c | 12 ++--- Src/prompt.c | 6 +-- Src/system.h | 24 +++++++++ Src/utils.c | 43 ++++++++-------- 23 files changed, 254 insertions(+), 228 deletions(-) (limited to 'Src/builtin.c') diff --git a/ChangeLog b/ChangeLog index 51a07cbfe..42e9fbb5c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2011-05-09 Peter Stephenson + + * 29165: Src/builtin.c, Src/exec.c, Src/glob.c, Src/hashtable.c, + Src/init.c, Src/jobs.c, Src/loop.c, Src/params.c, Src/prompt.c, + Src/system.h, Src/utils.c, Src/Modules/files.c, + Src/Modules/termcap.c, Src/Modules/zpty.c, Src/Zle/comp.h, + Src/Zle/complist.c, Src/Zle/compmatch.c, Src/Zle/compresult.c, + Src/Zle/computil.c, Src/Zle/zle_refresh.c, Src/Zle/zle_tricky.c, + Src/Zle/zle_utils.c: Use term.h globally if needed, instead of + just using in Modules and fudging the headers elsewhere. Fix + various name clashes. + 2011-05-08 Barton E. Schaefer * users/15986 (belated commit): Src/Modules/curses.c: handle @@ -14612,5 +14624,5 @@ ***************************************************** * This is used by the shell to define $ZSH_PATCHLEVEL -* $Revision: 1.5283 $ +* $Revision: 1.5284 $ ***************************************************** diff --git a/Src/Modules/files.c b/Src/Modules/files.c index 3fbccf576..f86b9c1e9 100644 --- a/Src/Modules/files.c +++ b/Src/Modules/files.c @@ -195,7 +195,7 @@ bin_rmdir(char *nam, char **args, UNUSED(Options ops), UNUSED(int func)) static int bin_ln(char *nam, char **args, Options ops, int func) { - MoveFunc move; + MoveFunc movefn; int flags, have_dir, err = 0; char **a, *ptr, *rp, *buf; struct stat st; @@ -203,7 +203,7 @@ bin_ln(char *nam, char **args, Options ops, int func) if(func == BIN_MV) { - move = (MoveFunc) rename; + movefn = (MoveFunc) rename; flags = OPT_ISSET(ops,'f') ? 0 : MV_ASKNW; flags |= MV_ATOMIC; } else { @@ -212,11 +212,11 @@ bin_ln(char *nam, char **args, Options ops, int func) if(OPT_ISSET(ops,'h') || OPT_ISSET(ops,'n')) flags |= MV_NOCHASETARGET; if(OPT_ISSET(ops,'s')) - move = (MoveFunc) symlink; + movefn = (MoveFunc) symlink; else #endif { - move = (MoveFunc) link; + movefn = (MoveFunc) link; if(!OPT_ISSET(ops,'d')) flags |= MV_NODIRS; } @@ -267,7 +267,7 @@ bin_ln(char *nam, char **args, Options ops, int func) else args[1] = args[0]; } - return domove(nam, move, args[0], args[1], flags); + return domove(nam, movefn, args[0], args[1], flags); havedir: buf = ztrdup(*a); *a = NULL; @@ -283,7 +283,7 @@ bin_ln(char *nam, char **args, Options ops, int func) buf[blen] = 0; buf = appstr(buf, ptr); - err |= domove(nam, move, *args, buf, flags); + err |= domove(nam, movefn, *args, buf, flags); } zsfree(buf); return err; @@ -291,7 +291,7 @@ bin_ln(char *nam, char **args, Options ops, int func) /**/ static int -domove(char *nam, MoveFunc move, char *p, char *q, int flags) +domove(char *nam, MoveFunc movefn, char *p, char *q, int flags) { struct stat st; char *pbuf, *qbuf; @@ -341,7 +341,7 @@ domove(char *nam, MoveFunc move, char *p, char *q, int flags) if(doit && !(flags & MV_ATOMIC)) unlink(qbuf); } - if(move(pbuf, qbuf)) { + if(movefn(pbuf, qbuf)) { zwarnnam(nam, "%s: %e", p, errno); zsfree(pbuf); return 1; diff --git a/Src/Modules/termcap.c b/Src/Modules/termcap.c index 7367dade7..cd0e85885 100644 --- a/Src/Modules/termcap.c +++ b/Src/Modules/termcap.c @@ -35,34 +35,11 @@ */ #include "../../config.h" -#ifdef HAVE_TGETENT -# if defined(ZSH_HAVE_CURSES_H) && defined(ZSH_HAVE_TERM_H) -# define USES_TERM_H 1 -# else -# ifdef HAVE_TERMCAP_H -# define USES_TERMCAP_H 1 -# endif -# endif -#endif - #include "termcap.mdh" #include "termcap.pro" /**/ #ifdef HAVE_TGETENT -# ifdef USES_TERM_H -# ifdef HAVE_TERMIO_H -# include -# endif -# ifdef ZSH_HAVE_CURSES_H -# include "../zshcurses.h" -# endif -# include "../zshterm.h" -# else -# ifdef USES_TERMCAP_H -# include -# endif -# endif #ifndef HAVE_BOOLCODES static char *boolcodes[] = { diff --git a/Src/Modules/zpty.c b/Src/Modules/zpty.c index 2a81e68cb..25ec7dfea 100644 --- a/Src/Modules/zpty.c +++ b/Src/Modules/zpty.c @@ -351,8 +351,8 @@ newptycmd(char *nam, char *pname, char **args, int echo, int nblock) struct ttyinfo info; if (ioctl(slave, TIOCGWINSZ, (char *) &info.winsize) == 0) { - info.winsize.ws_row = lines; - info.winsize.ws_col = columns; + info.winsize.ws_row = zterm_lines; + info.winsize.ws_col = zterm_columns; ioctl(slave, TIOCSWINSZ, (char *) &info.winsize); } } 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); diff --git a/Src/builtin.c b/Src/builtin.c index 127d58bdb..fc98eb1b1 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -3903,7 +3903,7 @@ bin_print(char *name, char **args, Options ops, int func) * nc: number of columns (at least one) */ sc = l + 2; - nc = (columns + 1) / sc; + nc = (zterm_columns + 1) / sc; if (!nc) nc = 1; nr = (n + nc - 1) / nc; diff --git a/Src/exec.c b/Src/exec.c index a06f2f3ac..df0101853 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -4398,7 +4398,7 @@ loadautofn(Shfunc shf, int fksh, int autol) mod_export int doshfunc(Shfunc shfunc, LinkList doshargs, int noreturnval) { - char **tab, **x, *oargv0; + char **pptab, **x, *oargv0; int oldzoptind, oldlastval, oldoptcind, oldnumpipestats, ret; int *oldpipestats = NULL; char saveopts[OPT_SIZE], *oldscriptname = scriptname; @@ -4432,7 +4432,7 @@ doshfunc(Shfunc shfunc, LinkList doshargs, int noreturnval) starttrapscope(); - tab = pparams; + pptab = pparams; if (!(flags & PM_UNDEFINED)) scriptname = dupstring(name); oldzoptind = zoptind; @@ -4548,7 +4548,7 @@ doshfunc(Shfunc shfunc, LinkList doshargs, int noreturnval) zsfree(argzero); argzero = oargv0; } - pparams = tab; + pparams = pptab; optcind = oldoptcind; zoptind = oldzoptind; scriptname = oldscriptname; diff --git a/Src/glob.c b/Src/glob.c index b788ff38a..bfc7f0416 100644 --- a/Src/glob.c +++ b/Src/glob.c @@ -2000,7 +2000,7 @@ hasbraces(char *str) /**/ int -xpandredir(struct redir *fn, LinkList tab) +xpandredir(struct redir *fn, LinkList redirtab) { char *nam; struct redir *ff; @@ -2048,7 +2048,7 @@ xpandredir(struct redir *fn, LinkList tab) ff = (struct redir *) zhalloc(sizeof *ff); *ff = *fn; ff->name = nam; - addlinknode(tab, ff); + addlinknode(redirtab, ff); ret = 1; } } diff --git a/Src/hashtable.c b/Src/hashtable.c index 6d7179412..235beda1c 100644 --- a/Src/hashtable.c +++ b/Src/hashtable.c @@ -59,7 +59,7 @@ struct scanstatus { int sorted; union { struct { - HashNode *tab; + HashNode *hashtab; int ct; } s; HashNode u; @@ -187,11 +187,11 @@ addhashnode2(HashTable ht, char *nam, void *nodeptr) hn->next = hp->next; if(ht->scan) { if(ht->scan->sorted) { - HashNode *tab = ht->scan->u.s.tab; + HashNode *hashtab = ht->scan->u.s.hashtab; int i; for(i = ht->scan->u.s.ct; i--; ) - if(tab[i] == hp) - tab[i] = hn; + if(hashtab[i] == hp) + hashtab[i] = hn; } else if(ht->scan->u.u == hp) ht->scan->u.u = hn; } @@ -286,11 +286,11 @@ removehashnode(HashTable ht, const char *nam) ht->ct--; if(ht->scan) { if(ht->scan->sorted) { - HashNode *tab = ht->scan->u.s.tab; + HashNode *hashtab = ht->scan->u.s.hashtab; int i; for(i = ht->scan->u.s.ct; i--; ) - if(tab[i] == hp) - tab[i] = NULL; + if(hashtab[i] == hp) + hashtab[i] = NULL; } else if(ht->scan->u.u == hp) ht->scan->u.u = hp->next; } @@ -397,7 +397,7 @@ scanmatchtable(HashTable ht, Patprog pprog, int sorted, qsort((void *)hnsorttab, ct, sizeof(HashNode), hnamcmp); st.sorted = 1; - st.u.s.tab = hnsorttab; + st.u.s.hashtab = hnsorttab; st.u.s.ct = ct; ht->scan = &st; diff --git a/Src/init.c b/Src/init.c index 0fcecef1a..30cd40e6c 100644 --- a/Src/init.c +++ b/Src/init.c @@ -908,8 +908,8 @@ setupvals(void) /* columns and lines are normally zero, unless something different * * was inhereted from the environment. If either of them are zero * * the setiparam calls below set them to the defaults from termcap */ - setiparam("COLUMNS", columns); - setiparam("LINES", lines); + setiparam("COLUMNS", zterm_columns); + setiparam("LINES", zterm_lines); #endif #ifdef HAVE_GETRLIMIT diff --git a/Src/jobs.c b/Src/jobs.c index 9a8dc8fea..951f06d6e 100644 --- a/Src/jobs.c +++ b/Src/jobs.c @@ -893,7 +893,7 @@ printjob(Job jn, int lng, int synch) { Process pn; int job, len = 9, sig, sflag = 0, llen; - int conted = 0, lineleng = columns, skip = 0, doputnl = 0; + int conted = 0, lineleng = zterm_columns, skip = 0, doputnl = 0; int doneprint = 0, skip_print = 0; FILE *fout = (synch == 2 || !shout) ? stdout : shout; diff --git a/Src/loop.c b/Src/loop.c index 40dbe6f8f..90a0761b3 100644 --- a/Src/loop.c +++ b/Src/loop.c @@ -324,13 +324,13 @@ selectlist(LinkList l, size_t start) while (t0) t0 /= 10, longest++; /* to compensate for added ')' */ - fct = (columns - 1) / (longest + 3); + fct = (zterm_columns - 1) / (longest + 3); if (fct == 0) fct = 1; else - fw = (columns - 1) / fct; + fw = (zterm_columns - 1) / fct; colsz = (ct + fct - 1) / fct; - for (t1 = start; t1 != colsz && t1 - start < lines - 2; t1++) { + for (t1 = start; t1 != colsz && t1 - start < zterm_lines - 2; t1++) { ap = arr + t1; do { size_t t2 = strlen(*ap) + 2; diff --git a/Src/params.c b/Src/params.c index ba6cd6365..cdc05213d 100644 --- a/Src/params.c +++ b/Src/params.c @@ -94,8 +94,8 @@ mod_export zlong lastval, /* $? */ mypid, /* $$ */ lastpid, /* $! */ - columns, /* $COLUMNS */ - lines, /* $LINES */ + zterm_columns, /* $COLUMNS */ + zterm_lines, /* $LINES */ ppid, /* $PPID */ zsh_subshell; /* $ZSH_SUBSHELL */ /**/ @@ -312,8 +312,8 @@ IPDEF4("PPID", &ppid), IPDEF4("ZSH_SUBSHELL", &zsh_subshell), #define IPDEF5(A,B,F) {{NULL,A,PM_INTEGER|PM_SPECIAL},BR((void *)B),GSU(varinteger_gsu),10,0,NULL,NULL,NULL,0} -IPDEF5("COLUMNS", &columns, zlevar_gsu), -IPDEF5("LINES", &lines, zlevar_gsu), +IPDEF5("COLUMNS", &zterm_columns, zlevar_gsu), +IPDEF5("LINES", &zterm_lines, zlevar_gsu), IPDEF5("OPTIND", &zoptind, varinteger_gsu), IPDEF5("SHLVL", &shlvl, varinteger_gsu), IPDEF5("TRY_BLOCK_ERROR", &try_errflag, varinteger_gsu), @@ -3269,8 +3269,8 @@ zlevarsetfn(Param pm, zlong x) zlong *p = pm->u.valptr; *p = x; - if (p == &lines || p == &columns) - adjustwinsize(2 + (p == &columns)); + if (p == &zterm_lines || p == &zterm_columns) + adjustwinsize(2 + (p == &zterm_columns)); } /* Function to set value of generic special scalar * diff --git a/Src/prompt.c b/Src/prompt.c index 715f4b503..d15b7c0d4 100644 --- a/Src/prompt.c +++ b/Src/prompt.c @@ -1008,7 +1008,7 @@ countprompt(char *str, int *wp, int *hp, int overf) #endif for (; *str; str++) { - if (w >= columns && overf >= 0) { + if (w >= zterm_columns && overf >= 0) { w = 0; h++; } @@ -1092,8 +1092,8 @@ countprompt(char *str, int *wp, int *hp, int overf) * This isn't easy to handle generally; just assume there's no * output. */ - if(w >= columns && overf >= 0) { - if (!overf || w > columns) { + if(w >= zterm_columns && overf >= 0) { + if (!overf || w > zterm_columns) { w = 0; h++; } diff --git a/Src/system.h b/Src/system.h index 33b0af2f3..01c6738ca 100644 --- a/Src/system.h +++ b/Src/system.h @@ -850,3 +850,27 @@ extern short ospeed; #elif HAVE_STRUCT_STAT_ST_CTIMENSEC # define GET_ST_CTIME_NSEC(st) (st).st_ctimensec #endif + +#ifdef HAVE_TGETENT +# if defined(ZSH_HAVE_CURSES_H) && defined(ZSH_HAVE_TERM_H) +# define USES_TERM_H 1 +# else +# ifdef HAVE_TERMCAP_H +# define USES_TERMCAP_H 1 +# endif +# endif + +# ifdef USES_TERM_H +# ifdef HAVE_TERMIO_H +# include +# endif +# ifdef ZSH_HAVE_CURSES_H +# include "zshcurses.h" +# endif +# include "zshterm.h" +# else +# ifdef USES_TERMCAP_H +# include +# endif +# endif +#endif diff --git a/Src/utils.c b/Src/utils.c index 22bffa276..066710e1e 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -1296,7 +1296,8 @@ preprompt(void) countprompt(str, &w, 0, -1); opts[PROMPTPERCENT] = percents; zputs(str, shout); - fprintf(shout, "%*s\r%*s\r", (int)columns - w - !hasxn, "", w, ""); + fprintf(shout, "%*s\r%*s\r", (int)zterm_columns - w - !hasxn, + "", w, ""); fflush(shout); free(str); } @@ -1558,49 +1559,49 @@ mod_export int winchanged; static int adjustlines(int signalled) { - int oldlines = lines; + int oldlines = zterm_lines; #ifdef TIOCGWINSZ - if (signalled || lines <= 0) - lines = shttyinfo.winsize.ws_row; + if (signalled || zterm_lines <= 0) + zterm_lines = shttyinfo.winsize.ws_row; else - shttyinfo.winsize.ws_row = lines; + shttyinfo.winsize.ws_row = zterm_lines; #endif /* TIOCGWINSZ */ - if (lines <= 0) { + if (zterm_lines <= 0) { DPUTS(signalled, "BUG: Impossible TIOCGWINSZ rows"); - lines = tclines > 0 ? tclines : 24; + zterm_lines = tclines > 0 ? tclines : 24; } - if (lines > 2) + if (zterm_lines > 2) termflags &= ~TERM_SHORT; else termflags |= TERM_SHORT; - return (lines != oldlines); + return (zterm_lines != oldlines); } static int adjustcolumns(int signalled) { - int oldcolumns = columns; + int oldcolumns = zterm_columns; #ifdef TIOCGWINSZ - if (signalled || columns <= 0) - columns = shttyinfo.winsize.ws_col; + if (signalled || zterm_columns <= 0) + zterm_columns = shttyinfo.winsize.ws_col; else - shttyinfo.winsize.ws_col = columns; + shttyinfo.winsize.ws_col = zterm_columns; #endif /* TIOCGWINSZ */ - if (columns <= 0) { + if (zterm_columns <= 0) { DPUTS(signalled, "BUG: Impossible TIOCGWINSZ cols"); - columns = tccolumns > 0 ? tccolumns : 80; + zterm_columns = tccolumns > 0 ? tccolumns : 80; } - if (columns > 2) + if (zterm_columns > 2) termflags &= ~TERM_NARROW; else termflags |= TERM_NARROW; - return (columns != oldcolumns); + return (zterm_columns != oldcolumns); } /* check the size of the window and adjust if necessary. * @@ -1634,8 +1635,8 @@ adjustwinsize(int from) ttycols = shttyinfo.winsize.ws_col; } else { /* Set to value from environment on failure */ - shttyinfo.winsize.ws_row = lines; - shttyinfo.winsize.ws_col = columns; + shttyinfo.winsize.ws_row = zterm_lines; + shttyinfo.winsize.ws_col = zterm_columns; resetzle = (from == 1); } #else @@ -1655,9 +1656,9 @@ adjustwinsize(int from) * but I'm concerned about what happens on race conditions; e.g., * * suppose the user resizes his xterm during `eval $(resize)'? */ if (adjustlines(from) && zgetenv("LINES")) - setiparam("LINES", lines); + setiparam("LINES", zterm_lines); if (adjustcolumns(from) && zgetenv("COLUMNS")) - setiparam("COLUMNS", columns); + setiparam("COLUMNS", zterm_columns); getwinsz = 1; break; case 2: -- cgit v1.2.3