[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [emacs-bidi] Re: Please help with the bidi Emacs
- To: Development Discussions <developer at arabeyes dot org>
- Subject: Re: [emacs-bidi] Re: Please help with the bidi Emacs
- From: Behdad Esfahbod <behdad at cs dot toronto dot edu>
- Date: Sun, 25 Apr 2004 09:52:26 -0400
- Cc: Emacs Bidirectional Mailing List <emacs-bidi at gnu dot org>
On Sun, 25 Apr 2004, ahmad khalifa wrote:
> > >
> > > if (!(type == STRONG_R
> > > || type == STRONG_L
> > > || type == WEAK_BN
> > > || type == WEAK_EN
> > > || type == WEAK_AN
> > > || type == NEUTRAL_B
> > > || type == NEUTRAL_S
> > > || type == NEUTRAL_WS
> > > || type == NEUTRAL_ON))
> > > abort ();
> >
> >Can you tell why you think it needs more parentheses? It basically
> >says
> >
> > if (!(expression))
> > abort ();
> >What's wrong with that, and why would an additional pair of enclosing
> >parens fix that?
>
> are you sure expression is evaluated correctly ? thats what the parens
> are for... 1 month ago i would have never thought that this would be a
> problem, but after debugging minibidi line by line, i found out that
> sometimes this happens, probably because ' || ' and ' == ' have the same
> evaluation priority or something.
Apparently not in this case. And no, they don't have the same
priority. The idiom is that something like this:
(a == b || c == d && e == f || g == h)
Works as you expect:
((a == b) || ((c == d) && (e == f)) || (g == h))
--behdad
behdad.org