ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen <pragma@wxs.nl>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Cc: Philipp Gesang <pgesang@ix.urz.uni-heidelberg.de>
Subject: Re: requesting multipass
Date: Tue, 27 Apr 2010 23:47:03 +0200	[thread overview]
Message-ID: <4BD75B57.6000907@wxs.nl> (raw)
In-Reply-To: <20100427210957.GA3705@aides>

On 27-4-2010 11:09, Philipp Gesang wrote:
> On 2010-04-27<20:02:27>, Hans Hagen wrote:
>> On 27-4-2010 5:04, Philipp Gesang wrote:
>>> Hi all,
>>>
>>>
>>> how do I trigger another pass?
>>>
>>> Using md5 and io I want to save data to a helper file and reuse it in a
>>> second pass (like e.g. mtx-context.lua) or update the file if
>>> appropriate. But I couldn't quite figure out how to request another pass
>> >from the lua end.
>>
>> there's
>>
>> jobfiles.run(
>> 	"filename-to-be-checked",
>> 	"command-to-be-executed-if-changed"
>> )
>
> Good evening, Hans!
>
>
> Let me clarify my intention a bit: jobfiles.run calls "context" on the
> argument list, but that is not what I need.
>
> My problem is that I generate stuff during the tex run and want to
> collect it in a table that is saved to a file at the end of the run.
> This data is hashed at the beginning of the document and if the hash
> does not match the end-run hash _or_ the file doesn't exist in the first
> place, then I'd like to run another independent pass.
>
> (I guess I could use jobfiles.run to process \jobname at the very end of
> the document but would have to handle recursion somehow.)

so, as you save your data in a file, just after saving the table, hash 
that file:

\starttext

test

\startluacode
     jobvariables.tobesaved.MyPersonalChecksum = file.checksum("MyName") 
or "no checksum"
\stopluacode

\stoptext

the context runner will take care of extra runs then.

(I'll think about a more robust user space for such status variables but 
as long as you use UpperCased names you quite safe.)


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
     tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                              | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


  reply	other threads:[~2010-04-27 21:47 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-27 15:04 Philipp Gesang
2010-04-27 18:02 ` Hans Hagen
2010-04-27 21:09   ` Philipp Gesang
2010-04-27 21:47     ` Hans Hagen [this message]
2010-04-29 20:53       ` Philipp Gesang

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=4BD75B57.6000907@wxs.nl \
    --to=pragma@wxs.nl \
    --cc=ntg-context@ntg.nl \
    --cc=pgesang@ix.urz.uni-heidelberg.de \
    /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.
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).