Re: [NTG-context] callback.register
I tried the following -- \starttext \startluacode local OldPreLB function MyPreLB(head,gc) ?texio.write_nl(### Here I am!) ?OldPreLB(head,gc) end OldPreLB = callback.find('pre_linebreak_filter') callback.register('pre_linebreak_filter',MyPreLB) \stopluacode Test \stoptext -- but MyPreLB() is not called. What I am doing wrong here? Hi Wolfgang, see http://www.ntg.nl/pipermail/ntg-context/2010/047018.html -- Best regards, Li Yanrui (???) I see! From the info found there - there are two user hooks: tasks.appendaction(processors,before,modules.mine.whatever_a) tasks.appendaction(processors,after,modules.mine.whatever_b) - it is not clear for me how to use this. So it seems that the luatex reference is useless for a context user. Is there an other documentation on this? I have found an other mechanism in 'luat-cbk.lua' which offers a pair of functions 'callbacks.push()' and 'callbacks.pop()'. But I have not made any attempts to use them. Are they useable or are they disabled too? Wolfgang ___ 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 ___
Re: [NTG-context] callback.register
Hello, Here a patch for luat-cbk.lua: function callbacks.register(name,func,freeze) if frozen[name] then if trace_callbacks then frozenmessage(registering,name) end return nil, name .. is frozen elseif freeze then frozen[name] = (type(freeze) == string and freeze) or registered return register_callback(name,func) else return register_callback(name,func) end end function callback.register(name,func) -- original if frozen[name] then if trace_callbacks then frozenmessage(registering,name) end return nil, name .. is frozen else return register_callback(name,func) end end (Untested...) Cheers, Peter and function callbacks.report() local list = callback.list() for name, func in table.sortedpairs(list) do local str = frozen[name] if str then logs.report(callbacks,%s: %s - %s,state(name),name,str) else logs.report(callbacks,%s: %s,state(name),name) end end end Wolfgang ___ 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 ___
Re: [NTG-context] callback.register
there are two user hooks: tasks.appendaction(processors,before,modules.mine.whatever_a) tasks.appendaction(processors,after,modules.mine.whatever_b) - My example looks now \starttext \startluacode function MyPreLB(head,gc) texio.write(\n) for n in node.traverse(head) do if node.type(n.id) == glyph then texio.write(string.char(n.char)) elseif node.type(n.id) == glue then texio.write(' ') end end texio.write(\n) return head end tasks.appendaction(processors,before,MyPreLB) \stopluacode Dies ist ein Test. \stoptext Is it correct to return 'head'? Wolfgang ___ 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 ___
Re: [NTG-context] callback.register
2010/4/10 Wolfgang Werners-Lucchini w...@musensturm.de: there are two user hooks: tasks.appendaction(processors,before,modules.mine.whatever_a) tasks.appendaction(processors,after,modules.mine.whatever_b) - My example looks now \starttext \startluacode function MyPreLB(head,gc) texio.write(\n) for n in node.traverse(head) do if node.type(n.id) == glyph then texio.write(string.char(n.char)) elseif node.type(n.id) == glue then texio.write(' ') end end texio.write(\n) return head end tasks.appendaction(processors,before,MyPreLB) \stopluacode Dies ist ein Test. \stoptext Is it correct to return 'head'? Maybe 'return head, true', because I found a few functions in the beta do so. Such as 'scripts.preprocess'. -- Best regards, Li Yanrui (李延瑞) ___ 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 ___
Re: [NTG-context] callback.register
On Thu, Apr 08 2010, Wolfgang Werners-Lucchini wrote: [...] but MyPreLB() is not called. What I am doing wrong here? Hello Wolfgang, I don't know, but I've played a bit with your example file: \starttext \startluacode local OldPreLB function MyPreLB(head,gc) tex.print(Here I am!) return OldPreLB(head,gc) end local id, error = callback.register('pre_linebreak_filter', MyPreLB) if id == nil then tex.print(Error string:, type(error), \\par) end \stopluacode Problem: callback.register returns nil, but no error message. \stoptext Cheers, Peter -- Contact information: http://pmrb.free.fr/contact/ ___ 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 ___
Re: [NTG-context] callback.register
2010/4/9 Wolfgang Werners-Lucchini w...@musensturm.de: Hallo, I tried the following -- \starttext \startluacode local OldPreLB function MyPreLB(head,gc) texio.write_nl(### Here I am!) OldPreLB(head,gc) end OldPreLB = callback.find('pre_linebreak_filter') callback.register('pre_linebreak_filter',MyPreLB) \stopluacode Test \stoptext -- but MyPreLB() is not called. What I am doing wrong here? Hi Wolfgang, see http://www.ntg.nl/pipermail/ntg-context/2010/047018.html -- Best regards, Li Yanrui (李延瑞) ___ 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 ___