zsh-workers
 help / color / mirror / code / Atom feed
From: gwing@primenet.com.au
To: schaefer@nbn.com
Cc: zsh-workers@math.gatech.edu (zsh-workers)
Subject: Re: Zle patch - termok change
Date: Sat, 8 Mar 1997 01:03:02 +1100 (EST)	[thread overview]
Message-ID: <19970307140303.20527.qmail@primenet.com.au> (raw)
In-Reply-To: <970307014359.ZM12055@candle.brasslantern.com> from Bart Schaefer at "Mar 7, 97 01:43:59 am"

Bart Schaefer wrote:
:On Mar 7,  6:23pm, gwing@primenet.com.au wrote:
:} Subject: Zle patch - termok change
:} termok  now is flag based, not value based.
:} termok == 0 indicates a `normal' working terminal - this is *opposite* to
:}  the previous situation.
:In that case, you should never use the form (!termok) because it reads as
:if you mean the terminal is not OK.  Use (termok == 0) or make a new macro
:#define nosetflag(X)	((X) == 0)
:and then write (nosetflag(termok)).

Point taken, though I probably shouldn't be using !termok where I have, but
isanysetflag(termok, TERM_BAD | TERM_UNKNOWN | TERM_NOUP | TERM_SHORT)

:} Flags for termok are defined and explained in zsh.h - currently TERM_NARROW
:} is unused.
:It looks like it is used in zlevarsetfn() ... you mean nobody explicitly
:tests for it, but it is used in the sense that it makes termok != 0 ...

Yes, I meant explicitly, but also if I change as above, then it won't be
used yet.

:} If a terminal is evaluated as TERM_BAD then that status shouldn't go until
:} $TERM is changed.
:So that means that init_term() looks for TERM_BAD and doesn't change it?
:Or what?

Have no idea what I meant, but:
Until $TERM is changed, init_term() is not going to get called.  So your
terminal is TERM_BAD for one combination of $TERM/$TERMCAP/TERMCAP-file.
Yep, I don't know where I was going with this.  Don't worry about it.

:} I can't see why lines/columns should be any way connected to init_term() .
:They don't need to be as long as init_term() doesn't reset TERM_SHORT or
:TERM_NARROW.  If I do
:
:TERM=vt100
:LINES=3
:COLUMNS=3
:TERM=xterm
:
:Then what happens to termok?  Am I going to get a crash because init_term()
:has reset termok to zero?

No, init_term() doesn't touch TERM_SHORT or TERM_NARROW.  termok is flag
based and only set explicitly in  setupvals()

:BTW:
:#define issetflag(X, Y)		((X & (Y)) == Y)
:#define isanysetflag(X, Y)	(X & (Y))
:Is it really necessary for these to be different?  Why risk evaluating Y
:twice in issetflag?

There's no risk I can see or I would have put everything in parentheses.
You can't use the first form if you do something like my example above,
and the first form always evaluates to 1.  Hmmm,  you're right, I should
probably change it to:

#define issetflag(X, Y)		((X & (Y)) != 0)

And replace all isanysetflag()s with issetflag().  Good thinking.

-- 
Geoff Wing [mason@primenet.com.au]   Technical Manager
  Phone    : +61-3-9818 2977         PrimeNet - Internet Consultancy
  Facsimile: +61-3-9819 3788         Web : <URL:http://www.primenet.com.au/>
  Mobile   : 0412 162 441


  reply	other threads:[~1997-03-07 14:17 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-03-07  7:23 gwing
1997-03-07  9:43 ` Bart Schaefer
1997-03-07 14:03   ` gwing [this message]
1997-03-08  0:14     ` Zoltan T. Hidvegi
1997-03-07 15:03 ` Zefram
     [not found] <5fpbgb$lsm$1@coral.primenet.com.au>
1997-03-08 12:19 ` G C Wing

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=19970307140303.20527.qmail@primenet.com.au \
    --to=gwing@primenet.com.au \
    --cc=schaefer@nbn.com \
    --cc=zsh-workers@math.gatech.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).