Comment 21 for bug 1734624

Jan Winkler (jcwinkler) wrote :

OK, I will implement it.

W.r.t. to the versions I did some further tests (and have to partially correct my assumptions):

pstoedit 3.70 + gs <= 9.21 or gs == 9.23 --> OK
pstoedit 3.71 with any gs version --> OK (theoretically, see comment below)

pstoedit 3.70 + gs 9.22 --> NOT OK

History:
========

gs 9.21 was released on 2017-03-16

The gs team deprecated DELAYBIND in the following commit on 2017-06-17:
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8f796773b5aae90362ec500d942dc38e6a1f0f6b

This went into gs 9.22, released on 2017-10-04

The gs team re-introduced DELAYBIND in the following commit on 2017-11-16:
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fa499a5809aab45b2891b5c8b2363d1bca890757
(see last paragraph of commit message)

This went into gs 9.23, released on 2018-03-21

=========================================
The pstoedit people on the other hand side introduced the following in pstoedit 3.71:

(in pstoeditoptions.h:)
-----------------------
// with support for -DREALLYDELAYBIND - needed for gs9.22
#define WITHRDB 1

#if WITHRDB
OptionT < bool, BoolTrueExtractor > reallydelaybindversion ;//= false;
// use REALLYDELAYBIND instead of DELAYBIND which not supported in gs 9.22
#endif

(in pstoedit.cpp:)
------------------
#if WITHRDB
   }
   else if (options.reallydelaybindversion) {
      commandline.addarg("-dREALLYDELAYBIND");
#endif
   }
   else {
      commandline.addarg("-dDELAYBIND");
   }

=========================================
So this clearly explains the observations mentioned above. However, under Windows pstoedit 3.71 fails on gs 9.22 despite what is found in the source code :-(

Anyway, since gs 9.22 throws a precise error message we can catch it and give advice to the user.