Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!julius.cs.uiuc.edu!apple!well!shiva From: shiva@well.sf.ca.us (Kenneth Porter) Newsgroups: comp.lang.postscript Subject: Re: transfer function (was Re: Help!) Summary: settransfer not commutative Message-ID: <20947@well.sf.ca.us> Date: 4 Oct 90 18:37:16 GMT References: <20829@well.sf.ca.us> Lines: 26 Actually, I think you want to put the old transfer function at the *end* of the new transfer procedure to get the right effect, since there's no guarantee that the two procedures are commutative: /newstuff { .... } def % remember to disable packing so put can write into executable array false setpacking % real code should save current packing state { newstuff 0 exec } dup 1 currenttransfer put settransfer The resulting transfer proc is { newstuff exec } Is currenttransfer a variable or an operator? If an operator, then the following doesn't work: { currenttransfer } bind If it's a variable, then you can just do this: { //currenttransfer exec } Ken (shiva@well.sf.ca.us)