Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!ucsd!ucbvax!bloom-beacon!eru!hagbard!sunic!mcsun!hp4nl!ruuinf!piet From: piet@cs.ruu.nl (Piet van Oostrum) Newsgroups: comp.text.tex Subject: Re: inconsistency between TeX 2.9 and 3.0 Message-ID: <3912@ruuinf.cs.ruu.nl> Date: 27 Sep 90 12:01:55 GMT References: <1990Sep27.010730.1819@zaphod.mps.ohio-state.edu> Sender: news@ruuinf.cs.ruu.nl Reply-To: piet@cs.ruu.nl (Piet van Oostrum) Organization: Dept of Computer Science, Utrecht University, The Netherlands Lines: 35 In-reply-to: eao@shape.mps.ohio-state.edu (Ed Overman) >>>>> In article <1990Sep27.010730.1819@zaphod.mps.ohio-state.edu>, eao@shape.mps.ohio-state.edu (Ed Overman) (EO) writes: EO> We just installed TeX 3.0 here over the weekend and there seems to be EO> an inconsistency between the new and old versions. I get different EO> results with the following: [ Example replaced by the following simpler:] \if\par\% TRUE\else FALSE\fi The TeX3.0 behaviour is the correct one. Both \par and \% are not expandable (they are not macros or anything mentioned on page 213/214) So they are considered to have character codes 256 and thus to test equal. Tex 2.9 and previous versions had a bug whereby \par was considered to have character code 0 (and category code 13). So the following example erroneously came out with TRUE: \catcode`\%=13 \ifcat\par\noexpand%TRUE\else FALSE\fi The fix is described in errorlog.tex: ------------------------------------------------------------------------ * 3 Dec 1989 ... S893. Distinguish |\par| from characters on |\if| tests. (MVL). @334 ------------------------------------------------------------------------ (that's a strange way of saying it!) -- Piet* van Oostrum, Dept of Computer Science, Utrecht University, Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands. Telephone: +31 30 531806 Uucp: uunet!mcsun!ruuinf!piet Telefax: +31 30 513791 Internet: piet@cs.ruu.nl (*`Pete')