Subject: bug#77011: 14.0.9; PDF2DSC removed in Ghostscript 10.05.0

From: David Kastrup <[email-masked]>
Date: Sat, 15 Mar 2025 13:08:40 +0100

Ikumi Keita <[email-masked]> writes:

> Hi all,
>
>>>>>> Arash Esbati <[email-masked]> writes:
>> philanche via bug-auctex via Bug reporting list for AUCTeX
>> <[email-masked]> writes:
>>> In Ghostscript 10.05.0, pdf2dsc was removed, as of the following commit: 
>>> 
>>> https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/commit/?id=be0f68e6119879e440c134ae1c2582574e7942bd.
>>> 
>>> Since preview-auctex uses pdf2dsc as part of the rendering, trying to
>>> preview anything, such as a simple \(x\), will give the following
>>> error.
>
>> Thanks for the heads-up.  IIUC, that change breaks preview wholesale.
>
>> @Keita: I think you're mostly familiar with preview.el.  Can we work
>> around this change?  Or should we ask the Ghostscript people to put that
>> utility back?  The way I read
>
>>   https://bugs.ghostscript.com/show_bug.cgi?id=708272
>
>> that door is still open.
>
> Hmm, this is disastrous for preview-latex. I'll ask Ghostscript
> developers to try to retain pdf2dsc.

It is comparatively easy to trigger Ghostscript to render individual PDF
pages, so technologically there is no justification for what
preview-latex does here.

The problem is that it would need to go back under the operating table
and get a separate communication module for talking with Ghostscript
about PDF files: right now it just talks about the pseudo PostScript
wrapper produced by pdf2dsc.

Exacerbating this is that last time I looked there really was no
dependable API or documentation for this feat which is obviously not a
part of the PDF document standard itself (which details nothing about
_how_ to trigger rendering of PDF with a particular engine, let alone
interactively and out of order).

In comparison, pdf2dsc has been remarkably stable and reliable as an
interface into page-wise rendering, and part of the reason is that the
Ghostscript maintainers themselves were responsible for keeping it
working for its limited purposes.

-- 
David Kastrup