ehrlich@psuvax1.UUCP (Dan Ehrlich) (12/17/86)
We just got a couple of LaserWriter Pluses in the department, and being
adventerous tried changing the printer name with the attach PostScript
program. This always results in the following error showing up in the
log file:
%%[ Error: undefined; OffendingCommand: setprintername ]%%
From reading in "PostScript Language Reference Manual" the program appears
to be correct. The "setprintername" command has a dagger after it, along
with a number of other "set*" commands, but I cannot find what the dagger
means. Any help would be appreciated. Thanks in advance.
========================= SetPrinterName.PS ===================================
%!
serverdict begin
statusdict begin
0 checkpassword
{0 exitserver}
{(Incorrect Server Password!!)= flush stop}
ifelse
(PSU/CS-LaserWriter0) setprintername
end
===============================================================================
--
Dan Ehrlich
Computer Science Department
The Pennsylvania State University
ehrlich@psuvax1.uucp
ehrlich@psuvax1.bitnetgreid@adobe.UUCP (Glenn Reid) (12/19/86)
>We just got a couple of LaserWriter Pluses in the department, and being >adventerous tried changing the printer name with the attach PostScript >program. This always results in the following error showing up in the >log file: > > %%[ Error: undefined; OffendingCommand: setprintername ]%% > >From reading in "PostScript Language Reference Manual" the program appears >to be correct. The "setprintername" command has a dagger after it, along >with a number of other "set*" commands, but I cannot find what the dagger >means. Any help would be appreciated. Thanks in advance. The dagger means that you must exit the server loop before executing that particular operator. This is not the problem, since you have done that in your example file. The problem is that "exitserver" will start a new job, and once it is executed, neither serverdict nor statusdict will be present on the dictionary stack (This is why you don't need a corresponding "end" for "serverdict begin". Here is a revised version of your program which should work correctly: %! 0000 serverdict begin statusdict begin dup checkpassword { exitserver }{ ( ) cvs print ( is not the correct server password.)= flush stop } ifelse % here begins a new job, in effect. Hereafter all definitions will % remain until the printer is re-booted. statusdict begin (PSU/CS-LaserWriter0) setprintername end