Hi, I updated the inclusion mechanism a bit. It's now: % initializations: % % - pass settings from tex to mp (delayed expansion) % - used by context core (and modules) % - cummulative definitions % - flushed each graphic % - can be disabled per instance % - managed at the tex end % % extensions: % % - add mp functionality (immediate expansion) % - cummulative % - all instances or subset of instances % - can be disabled per instance % - managed at the lua/mp end % - could be managed at the tex end but no real reason and also messy % % definitions: % % - add mp functionality (delayed expansion) % - cummulative % - per instance % - managed at the tex end % % inclusions: % % - add mp functionality (delayed expansion) % - cummulative only when [+] % - per instance % - managed at the tex end % % order of execution: % % definitions % extensions % inclusions % beginfig % initializations % graphic % endfig So, the main differences are: (1) inclusions bound to default or specific instanced (2) extensions more flexible \starttext \startMPextensions color ColorOne ; ColorOne := red ; color ColorTwo ; ColorTwo := green ; color ColorThree ; ColorThree := blue ; \stopMPextensions \startMPextensions{doublefun} color ColorThree ; ColorThree := magenta ; \stopMPextensions \startMPinclusions def DoWhatever = draw textext("N") ; enddef ; \stopMPinclusions \startMPinclusions def DoWhatever = draw textext("Y") ; enddef ; \stopMPinclusions \startMPinclusions{doublefun} def DoWhatever = draw textext("Y") ; enddef ; \stopMPinclusions \startMPinclusions[+]{doublefun} def DoWhatever = draw textext("YY") ; enddef ; \stopMPinclusions \startMPcode{metafun} draw fullcircle scaled 1cm withcolor ColorOne withpen pencircle scaled 1mm ; draw fullcircle scaled 2cm withcolor ColorTwo withpen pencircle scaled 1mm ; draw fullcircle scaled 3cm withcolor ColorThree withpen pencircle scaled 1mm ; DoWhatever ; \stopMPcode \startMPcode{doublefun} draw fullcircle scaled 1cm withcolor ColorOne withpen pencircle scaled 1mm ; draw fullcircle scaled 2cm withcolor ColorTwo withpen pencircle scaled 1mm ; draw fullcircle scaled 3cm withcolor ColorThree withpen pencircle scaled 1mm ; DoWhatever ; \stopMPcode \stoptext Hans ----------------------------------------------------------------- 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 -----------------------------------------------------------------