Hallo Taco,
Everything I read below says there should be a 'plain.mem' in the folder where you ran theat file in. If there really really isn't, then my only advise to you is to buy a less thieving operating system, as it seems this one steals your files before you can even have an admiring look at them. :-)
May be you are right that operating system steals files. We should do
something against that.
Lutz Haseloff has send me his test (he too sees no 'mpost.mem'):
------------------------------------
TeXExec | processing document 'mplibtest.tex'
TeXExec | no ctx file found
TeXExec | tex processing method: context
TeXExec | TeX run 1
TeXExec | writing option file mplibtest.top
TeXExec | using randomseed 256
TeXExec | tex engine: luatex
TeXExec | tex format: cont-en
(./mplibtest.tex
ConTeXt ver: 2008.04.16 17:34 MKIV fmt: 2008.4.18 int:
english/english
language : language en is active
system : cont-new loaded
(C:/tex/texmf-context/tex/context/base/cont-new.tex
systems : beware: some patches loaded from cont-new.tex
(C:/tex/texmf-context/tex/context/base/cont-new.mkiv
lua : used config path - C:/tex/texmf-
local/web2c/texmf.cnf;C:/tex/texmf-
context/web2c/texmf.cnf;C:/tex/texmf/web2c/texmf.cnf
lua : used cache path - C:/tex/texmf-cache/luatex-
cache/context/71ddae2d1527093aac63e0e1aa139641
) (C:/tex/texmf-context/tex/context/base/cont-mtx.tex))
system : cont-old loaded
(C:/tex/texmf-context/tex/context/base/cont-old.tex
loading : Context Old Macros
)
system : cont-fil loaded
(C:/tex/texmf-context/tex/context/base/cont-fil.tex
loading : Context File Synonyms
)
system : cont-sys loaded
(C:/tex/texmf-local/tex/context/user/cont-sys.tex (C:/tex/texmf-
context/tex/context/base/type-tmf.tex) (C:/tex/texmf-
context/tex/context/base/type-siz.tex) (C:/tex/texmf-
context/tex/context/base/type-otf.tex))
bodyfont : 12pt rm is loaded
specials : tex loaded
system : mplibtest.top loaded
(./mplibtest.top
specials : loading definition file tpd
(C:/tex/texmf-context/tex/context/base/spec-tpd.tex
specials : loading definition file fdf
(C:/tex/texmf-context/tex/context/base/spec-fdf.tex (C:/tex/texmf-
context/tex/context/base/spec-fdf.mkiv))
specials : fdf loaded
)
specials : fdf loaded
) (./mplibtest.tuo) (./mplibtest.tuo)
systems : begin file mplibtest at line 2
t={
["log"]="This is MetaPost, Version 1.003 (INIMP) 18 APR 2008 06:34
(mpost.mp(plain.mp\
Preloading the plain mem file, version 0.99)",
["status"]=0,
["term"]="This is MetaPost, Version 1.003 (Cweb version 0.40)
(INIMP)\
(mpost.mp(plain.mp\
Preloading the plain mem file, version 0.99)",
}
nothing
t={
["log"]=" )\
Beginning to dump on file mpost.mem\
(mem=mpost 8.4.18)\
at most 736 strings of total length 3629\
3326 memory locations dumped; current usage is 1021&2227\
501 symbolic tokens\
",
["status"]=0,
["term"]=" )\
Beginning to dump on file mpost.mem\
(mem=mpost 8.4.18)\
at most 736 strings of total length 3629\
3326 memory locations dumped; current usage is 1021&2227\
501 symbolic tokens\
Transcript written on mpost.log.\
",
}
nothing
fonts : resetting map file list
{C:/tex/texmf-context/fonts/map/pdftex/context/original-empty.map}
fonts : using map file: original-base
{C:/tex/texmf-context/fonts/map/pdftex/context/original-base.map}
fonts : using map file: lm-math
{C:/tex/texmf/fonts/map/dvips/lm/lm-math.map}
fonts : using map file: lm-rm
{C:/tex/texmf/fonts/map/dvips/lm/lm-rm.map}
fonts : using map file: original-ams-base
{C:/tex/texmf-context/fonts/map/pdftex/context/original-ams-base.map}
fonts : using map file: original-ams-euler
{C:/tex/texmf-context/fonts/map/pdftex/context/original-ams-
euler.map}
fonts : using map file: original-public-lm
{C:/tex/texmf-context/fonts/map/pdftex/context/original-public-
lm.map} [1.1]
systems : end file mplibtest at line 38
)
I tried the same with 'mpost'. This has the advantage that one has not to adapt 'plain.mp'.
But here too, there is no 'mpost.mem' and no 'mpost.log'.
I have included a test before and after mp:finish().
Can anybody with a minimal under windows run this example? ------------------------------- \starttext % start low-level \startlua local function finder(name, mode, ftype) if mode=="w" then return name else return kpse.find_file(name,ftype) end end mp = mplib.new ( { hash_size = 100000, main_memory = 2000000, param_size = 100000, find_file = finder, ini_version = true } ) if mp then res = mp:execute("mpost") tex.print("[" .. tostring(res.status) .. "]") print(table.serialize(res)) if io.open("mpost.mem","r") then print("found") else print("nothing") end res = mp:finish() print(table.serialize(res)) if io.open("mpost.mem","r") then print("found") else print("nothing") end end \stoplua % stop low-level \stoptext -------------------------------
Grusz, Wolfgang
Wolfgang Werners-Lucchini wrote:
Hallo Taco,
Everything I read below says there should be a 'plain.mem' in the folder where you ran theat file in. If there really really isn't, then my only advise to you is to buy a less thieving operating system, as it seems this one steals your files before you can even have an admiring look at them. :-)
May be you are right that operating system steals files. We should do something against that.
Lutz Haseloff has send me his test (he too sees no 'mpost.mem'):
When Hans and I tested this, it worked just fine. Does the high-level context interface work for you at all, btw? I have no idea what is going on, and I cannot test myself, so I am even more lost than you are. MPlib firmly believes it has written a file: Beginning to dump on file mpost.mem (mem=mpost 8.4.18) at most 736 strings of total length 3629 3326 memory locations dumped; current usage is 1021&2227 501 symbolic tokens There is nothing more I myself can do about it. Best wishes, Taco
Hi, Wolfgang Werners-Lucchini wrote:
May be you are right that operating system steals files. We should do something against that.
Akira found the cause .
\startlua local function finder(name, mode, ftype) if mode=="w" then return name else return kpse.find_file(name,ftype) end end
It turns out that currently (on windows only) the code above always runs the "else" branch. So instead of returning a local file name, it finds the pre-existing format inside the texmf tree. That filename is then used for writing, and errors result. Akira says that after a small change to the windows binaries, all should work as (I) expected again, you just have to update your binaries in a day or so. Best wishes, Taco
participants (2)
-
Taco Hoekwater
-
Wolfgang Werners-Lucchini