From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#44338: 27.1; EWW can't download and view pdf Date: Thu, 05 Nov 2020 15:42:52 +0200 Message-ID: <837dqzc42r.fsf@gnu.org> References: <878sbmo6i0.fsf@tcd.ie> <83tuu5b1oh.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="29421"; mail-complaints-to="usenet@ciao.gmane.io" Cc: contovob@tcd.ie, 44338@debbugs.gnu.org To: Nicholas Harrison Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Nov 05 14:57:29 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kaflZ-0007VV-GP for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 05 Nov 2020 14:57:29 +0100 Original-Received: from localhost ([::1]:45116 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaflY-0006L3-Ht for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 05 Nov 2020 08:57:28 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59516) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kafYY-0007Zc-EJ for bug-gnu-emacs@gnu.org; Thu, 05 Nov 2020 08:44:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:40464) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kafYY-0004zF-38 for bug-gnu-emacs@gnu.org; Thu, 05 Nov 2020 08:44:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kafYY-00015K-15 for bug-gnu-emacs@gnu.org; Thu, 05 Nov 2020 08:44:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 05 Nov 2020 13:44:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 44338 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 44338-submit@debbugs.gnu.org id=B44338.16045837834093 (code B ref 44338); Thu, 05 Nov 2020 13:44:01 +0000 Original-Received: (at 44338) by debbugs.gnu.org; 5 Nov 2020 13:43:03 +0000 Original-Received: from localhost ([127.0.0.1]:52010 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kafXa-00013w-M1 for submit@debbugs.gnu.org; Thu, 05 Nov 2020 08:43:02 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:59116) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kafXZ-00013L-4p for 44338@debbugs.gnu.org; Thu, 05 Nov 2020 08:43:01 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:56767) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kafXT-0004dx-6u; Thu, 05 Nov 2020 08:42:55 -0500 Original-Received: from [176.228.60.248] (port=2160 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kafXR-00055b-Oa; Thu, 05 Nov 2020 08:42:55 -0500 In-Reply-To: (message from Nicholas Harrison on Wed, 4 Nov 2020 16:43:13 -0700) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:192716 Archived-At: > From: Nicholas Harrison > Date: Wed, 4 Nov 2020 16:43:13 -0700 > Cc: "Basil L. Contovounesios" , 44338@debbugs.gnu.org > > Not sure if this is much help, but here is the backtrace given when I do the following steps: > > 1. emacs -Q > 2. M-: (debug-on-entry 'select-safe-coding-system) RET > 3. M-x eww RET https://www.gnu.org/software/emacs/manual/pdf/emacs-xtra.pdf RET > (no backtrace here) > 4. M-x doc-view-mode RET > > Debugger entered--entering a function: > * select-safe-coding-system(1 381654 iso-latin-1-dos nil > "c:/Users/nicho/AppData/Local/Temp/docview1001/!eww pdf!") > write-region(nil nil "c:/Users/nicho/AppData/Local/Temp/docview1001/!eww pdf!") > doc-view-mode() > funcall-interactively(doc-view-mode) > call-interactively(doc-view-mode record nil) > command-execute(doc-view-mode record) > execute-extended-command(nil "doc-view-mode" "doc-view-mo") > funcall-interactively(execute-extended-command nil "doc-view-mode" "doc-view-mo") > call-interactively(execute-extended-command nil nil) > command-execute(execute-extended-command) Thanks. This tells part of the story, but not all of it. What I wanted to see was the backtrace when doc-view-mode is invoked by EWW. AFAIU, that requires you to augment mailcap-user-mime-data as this: (add-to-list 'mailcap-user-mime-data '((type . "application/pdf") (viewer . doc-view-mode))) before performing the reproduction steps. To give you more background: when you invoke doc-view-mode manually in a buffer produced by "M-x eww", the buffer's buffer-file-coding-system is the platform default, in your case iso-latin-1-dos. That is what doc-view-mode uses to write the PDF bytestream to a temporary file, and that fails because iso-latin-1-dos cannot encode the raw bytes in the binary content. But eww-display-pdf binds coding-system-for-write to 'raw-text, and then doc-view-mode ought to use that to write to the temporary file, and yet in your screenshot I still see it tried to use iso-latin-1-dos, which I cannot explain. So I'd like to see the backtrace when you invoke doc-view-mode via EWW, after augmenting mailcap-user-mime-data, to try to understand why it uses the wrong encoding. Can you please produce the backtrace under those modified conditions?