Hi All,

I'm trying to update a ConTeXt module of mine.  It does some data gathering during the ConTeXt run, and then processes it after the run is complete.  This used to work last year:

local id, err = callback.register('stop_run', new_stop_run_function)

But now err is set to "callback 'stop_run' is frozen (actions performed at the end of a run)".

I see from the mailing list archive that registering user callbacks was disallowed in February of this year (2010).  I also saw some advice for installing other new user processing (like 'pre_linebreak_filter'), but no general advice for adapting to the lack of callbacks.  (http://archive.contextgarden.net/message/20100219.130524.b3857a0a.en.html)

After trying various approaches for a couple of hours, I'm calling for help. :)

Here's what I ended up with:

\startluacode
print('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TEST1')
local function after_run (head, groupcode)
    print('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TEST2')
    return head, true
end
nodes.tasks.appendaction('finalizers','after','after_run')
\stopluacode
\starttext
\input knuth
\stoptext

In the output, I see the TEST1 line, but not the TEST2 line.

I don't know what "head" and "groupcode" are, but those seem to be the expected parameters for an action.  I don't know why it returns "head, true", but that was recommended in a posting (http://archive.contextgarden.net/message/20100410.005025.76ac9efd.en.html).

I have no idea if 'finalizers' is the right parameter, but I didn't see any others that looked like it could be synonymous with 'stop_run'.