Нельзя сказать, что поведение оператора null чётко описано в Red Book - PostScript Language Reference Manual, second edition, ISBN 0-201-18127-4. |
|
PostScript Language Reference Manual http://partners.adobe.com/asn/developer/pdfs/tn/psrefman.pdf Errata URL: http://partners.adobe.com/asn/developer/pdfs/tn/5085.Redbook_Errata.pdf |
В Aladdin Ghostscript и XFree86 использование null на месте операнда scratch оператора resourceforall приводит к тому, что операция копирования в null, выбираемых на стек операндов "names of resource instances", не вызывает ошибки и "names of resource instances" остаются на стеке операндов (см. XFree86, xc/programs/dpsinfo/iwraps.psw,v 1.1 2001/03/01 01:23:59). |
|
$ gs -dNODISPLAY Aladdin Ghostscript 6.0 (2000-02-03) Copyright (C) 2000 Aladdin Enterprises, Menlo Park, CA. All rights reserved. This software comes with NO WARRANTY: see the file PUBLIC for details. GS>(*) { } null /FontType resourceforall GS<10>pstack 32 42 3 10 1 0 4 11 2 9 GS<10>^C$ |
PostScript(r) Version 2015.108 в Solaris 8 ведёт себя иначе - операция копирования в null вызывает ошибку typecheck. |
|
$ /usr/openwin/demo/dpsexec -root PostScript(r) Version 2015.108 (c) Copyright 1984-1996 Adobe Systems Incorporated. Typefaces (c) Copyright 1981 Linotype-Hell AG and/or its subsidiaries. All Rights Reserved. PS>(*) { } null /FontType resourceforall %%[ Error: typecheck; OffendingCommand: resourceforall ]%% PS>pstack /FontType -null- {} (*) PS>^C$ |