[NTG-context] version dates confuse me after upgrade

Hans Hagen pragma at wxs.nl
Fri Apr 7 00:31:45 CEST 2006


Gerben Wierda wrote:
> On 6 Apr 2006, at 18:06, Taco Hoekwater wrote:
>
>   
>> Hi,
>>
>> All this confusion with the formats and their paths is why my teTeX
>> installation page starts with:
>>
>>    "De-install any existing teTeX"
>>
>> That really is the least confusing option, IMO. If you really do
>> not want to do that (because you only ever use pdftex, for example)
>> simply always copy the formats generated by texexec over the ones
>> generated by texconfig/fmtutil.
>>     
>
> Currently, my fmtutil produced formats work fine:
>
>                 texexec : TeXExec 5.4.3 - ConTeXt / PRAGMA ADE 1997-2005
>                 texutil : TeXUtil 9.0.1 - ConTeXt / PRAGMA ADE 1992-2006
>                     tex : pdfeTeX, 3.141592-1.30.4-2.2 (Web2C 7.5.5)
>                 context : ver: 2006.04.05 20:06
>                 cont-en : ver: 2006.04.05 20:06  fmt: 2006.4.6  mes:  
> english
>                 cont-nl : ver: 2006.04.05 20:06  fmt: 2006.4.6  mes:  
> dutch
>
> So, I wonder if I am misunderstanding something.What is wrong with  
> using fmtutil to produce cont-en.fmt?
>   
in the past we had fmt, efmt, ofmt, ... suffixes, one for each engine 
(pdfetex, aleph, xetex, ...)

to simplify source code maintainance, this was dropped in favour of one 
suffix, fmt

when this was discussed, the engine subpath (reflected in an $engine 
variable set at runtime) came up as a solution  to  differentiate 
between formats of engines, so:

web2c/pdfetex/whatever.fmt
web2c/aleph/whatever.fmt
web2c/xetex/whatever.fmt

and such. 

So, i adapted texexec to this. However, it was decided that tetex fmtutil would not support the engine feature. (if i'd known that in advance, i'd objected against dropping the suffixes)

for lates, this is normally no problem since there each engine has its own format name (latex, pdflatex, lambda, etc) while context has one format for all (code adapts itself and drivers are loaded at runtime) 

(this also means that in principle multiple nearly identical copies of latex and plain are present, but one copy of context, unless one runs multiple user interfaces) 

so, as long as you generate formats with fmtutil, tex will find them in 

web2c/

when texexec is used, it will create the engine paths and use them; however, depending on the version of texlive / texexec, there may be a clash when there is: 

web2c/cont-en.fmt (could be for pdfetex, aleph or xetex) 

web2c/pdfetex/cont-en.fmt 
web2c/aleph/cont-en.fmt 
web2c/xetex/cont-en.fmt 

now, it depends on how formats are looked up; if it's: 

  web2c//

then you're in trouble since it will never find the engine subpaths, so the better definition is (in tex live if i'm right, but maybe not in tetex) 

web2/{engine,}//

which will first take the engine specific format and next the whatever one, 

so, if gwtex uses web2/{engine,}// texexec generated formats will be used, when present, and otherwise fmtutil ones; using fmtutil and texexec --make mixed may give problems 

[(new)texexec, at runtime, will fix the engine path using an environment variable unless it is set] 

as usual, changes like this (as with lm and so) never are without problems and because context follows such things closely, its users have to pay the price of progress  


Hans 

(btw, due to the suffix change, there are probably old efmt files around)  



-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
     tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                             | www.pragma-pod.nl
-----------------------------------------------------------------



More information about the ntg-context mailing list