Blob


1 %
2 % Unbind the operators in an executable array or packedarray. Leaves the
3 % unbound array or the original object on the stack.
4 %
6 /unbind {
7 0 index xcheck
8 1 index type /arraytype eq
9 2 index type /packedarraytype eq or and {
10 dup length array copy cvx
11 dup 0 exch {
12 dup type /operatortype eq {
13 ( ) cvs cvn cvx
14 } if
16 0 index xcheck
17 1 index type /arraytype eq
18 2 index type /packedarraytype eq or and {
19 unbind
20 } if
22 3 copy put pop
23 1 add
24 } forall
25 pop
26 } if
27 } def