%D \module %D [ file=attr-ini, %D version=2007.06.06, % probably a bit older %D title=\CONTEXT\ Node Macros, %D subtitle=Finalizing, %D author=Hans Hagen, %D date=\currentdate, %D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] %C %C This module is part of the \CONTEXT\ macro||package and is %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. \writestatus{loading}{ConTeXt Node Support / Finalizing} % Objects are processed indepently \unknown\ actually we may % need a proper callback. \unprotect \registerctxluafile{node-shp}{1.001} \registerctxluafile{node-fin}{1.001} % we might generalize this one % we might have two variants at some point (efficiency) \unexpanded\def\finalizeobjectbox #1{\ctxcommand{finalizebox(\number#1)}} \unexpanded\def\finalizeshipoutbox#1{\ctxcommand{finalizebox(\number#1)}} % Experimental (for Aditya): \unexpanded\def\cleanupbox#1{\ctxcommand{cleanupbox(\number#1)}} % Tricky stuff: this might become obsolete. \definesystemattribute[trigger][public] \newcount\attributeboxcount \edef\startinheritattributes{\attribute\triggerattribute\plusone} \edef\stopinheritattributes {\attribute\triggerattribute\attributeunsetvalue} \def\doattributedcopy{\afterassignment\dodoattributedcopy\attributeboxcount} \def\doattributedbox {\afterassignment\dodoattributedbox \attributeboxcount} \def\dodoattributedcopy {\startinheritattributes \ifvbox\attributeboxcount \vbox{\unvcopy\attributeboxcount}% \else \hbox{\unhcopy\attributeboxcount}% \fi \stopinheritattributes} \def\dodoattributedbox {\startinheritattributes \ifvbox\attributeboxcount \vbox{\unvbox\attributeboxcount}% \else \hbox{\unhbox\attributeboxcount}% \fi \stopinheritattributes} \def\enableattributeinheritance {\ctxlua{attributes.states.enabletriggering()}% \let\attributedcopy\doattributedcopy \let\attributedbox \doattributedbox} \def\disableattributeinheritance {\ctxlua{attributes.states.disabletriggering()}% \let\attributedcopy\copy \let\attributedbox \box} \disableattributeinheritance % \appendtoks % \enableattributeinheritance % will become default % \to\everyjob \protect \endinput