Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Errors in the PostScript Language Reference Manual third edition

40 views
Skip to first unread message

jdaw1

unread,
Sep 1, 2019, 10:15:43 AM9/1/19
to
This thread is to hold errors in PLRM3.

jdaw1

unread,
Sep 1, 2019, 10:19:48 AM9/1/19
to
Page 538 says that ‘bind’ takes a single parameter ‘proc’. But bind also works with non-procedure non-executable arrays, thus:
[ {…} {…} … ] bind
which correctly binds the inner {…}s.

Test code:

%!PS

/testProcs [ {currentpoint} ] def
testProcs 0 get 0 get type =
testProcs 0 get 0 get ==
() =
testProcs bind 0 get 0 get type =
testProcs bind 0 get 0 get ==

David Newall

unread,
Jan 21, 2022, 9:46:31 PM1/21/22
to
Apologies for the followup of a 30-month old posting. I have just
started reading this group.

On 2/9/19 12:19 am, jdaw1 wrote:
> Page 538 says that ‘bind’ takes a single parameter ‘proc’. But bind also works with non-procedure non-executable arrays, thus:
> [ {…} {…} … ] bind
> which correctly binds the inner {…}s.s

I think this is not an error. PostScript Language Reference 3rd
edition, 3.12.1, p118, says:

"The effect of bind applies not only to the procedure being bound but
to all subsidiary procedures (executable arrays or executable packed
arrays) contained within it, nested to arbitrary depth."

Hence, [/print cvx] bind becomes [--print--].

What is not obvious in the reference manual is that "procedure" does
not necessarily mean "executable array". It seems to mean any array.

On reflection, perhaps this is not surprising.
0 new messages