Subject: Re: bug#44338: 27.1; EWW can't download and view pdf

From: Nicholas Harrison <[email-masked]>
Date: Tue, 3 Nov 2020 18:01:38 -0700

In WSL on 27.1 the mailcap-mime-data problem remains, but past that the
conversion when doc-view-mode is enabled works with both binary and the
default raw-text.

On Tue, Nov 3, 2020 at 5:23 PM Basil L. Contovounesios <[email-masked]>
wrote:

> Nicholas Harrison <[email-masked]> writes:
>
> > I'll make a couple more comments on the original problem I
> > explained. It looks like you may have identified additional
> > improvements in the process.
> >
> > I believe the first problem for me is that both mailcap-mime-data and
> > mailcap-user-mime-data are nil. This causes the `error in process
> > filter: mailcap-view-mime: Symbol’s function definition is void: nil`
> > and makes the pdf download and appear in Fundamental mode. This occurs
> > whether I will be using doc-view-mode or pdf-view-mode. I'll use
> > DocView for the rest of this example.
> >
> > 1. emacs -Q
> > 2. M-x eww
> > 3. https://www.gnu.org/software/emacs/manual/pdf/emacs-xtra.pdf
> >
> > This results in the error message and the following:
> > image.png
> >
> > This can be (partially) corrected by running the following code before
> the steps 2 and 3:
> > (add-to-list 'mailcap-user-mime-data
> >              '((type . "application/pdf")
> >                (viewer . doc-view-mode)))
> >
> > This chooses a view mode for the pdf but that brings the second
> > problem. This selects the default encoding of raw-text and the
> > conversion fails:
> >
> > Instead I choose doc-view-mode manually for the eww pdf buffer:
> >
> > Then selecting binary for the encoding finally gets a viewable pdf:
> >
> > I hope this is in some way helpful.
>
> Thanks.  I cannot reproduce these on what will be Emacs 27.2 or Emacs
> 28.1 on GNU/Linux.  Perhaps they have been fixed already, or are
> specific to MS Windows.  If someone on MS Windows could check whether
> they still occur on master and emacs-27, that would be helpful.
>
> --
> Basil
>
> In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
> version 1.16.0, Xaw3d scroll bars)
>  of 2020-11-03 built on thunk
> Repository revision: f9d6e463d310db0e1931f26609d938531c56f9c3
> Repository branch: master
> Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
> System Description: Debian GNU/Linux bullseye/sid
>
> Configured using:
>  'configure 'CC=ccache gcc' 'CFLAGS=-O2 -march=native' --config-cache
>  --prefix=/home/blc/.local --with-x-toolkit=lucid
>  --with-file-notification=yes --with-x'
>
> Configured features:
> XAW3D XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GSETTINGS GLIB
> NOTIFY INOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT
> LIBOTF ZLIB TOOLKIT_SCROLL_BARS LUCID X11 XDBE XIM MODULES THREADS
> LIBSYSTEMD JSON PDUMPER LCMS2
>
> Important settings:
>   value of $LANG: en_IE.UTF-8
>   value of $XMODIFIERS: @im=ibus
>   locale-coding-system: utf-8-unix
>
> Major mode: Lisp Interaction
>
> Minor modes in effect:
>   tooltip-mode: t
>   global-eldoc-mode: t
>   eldoc-mode: t
>   electric-indent-mode: t
>   mouse-wheel-mode: t
>   tool-bar-mode: t
>   menu-bar-mode: t
>   file-name-shadow-mode: t
>   global-font-lock-mode: t
>   font-lock-mode: t
>   blink-cursor-mode: t
>   auto-composition-mode: t
>   auto-encryption-mode: t
>   auto-compression-mode: t
>   line-number-mode: t
>   transient-mark-mode: t
>
> Load-path shadows:
> None found.
>
> Features:
> (shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
> rfc822 mml easymenu mml-sec epa derived epg epg-config gnus-util rmail
> rmail-loaddefs auth-source cl-seq eieio eieio-core cl-macs
> eieio-loaddefs password-cache json map text-property-search time-date
> subr-x seq byte-opt gv bytecomp byte-compile cconv mm-decode mm-bodies
> mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs
> cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
> tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
> mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image
> regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode
> lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch
> timer select scroll-bar mouse jit-lock font-lock syntax facemenu
> font-core term/tty-colors frame minibuffer cl-generic cham georgian
> utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
> japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
> ethiopic indian cyrillic chinese composite charscript charprop
> case-table epa-hook jka-cmpr-hook help simple abbrev obarray
> cl-preloaded nadvice button loaddefs faces cus-face macroexp files
> window text-properties overlay sha1 md5 base64 format env code-pages
> mule custom widget hashtable-print-readable backquote threads dbusbind
> inotify lcms2 dynamic-setting system-font-setting font-render-setting
> cairo x-toolkit x multi-tty make-network-process emacs)
>
> Memory information:
> ((conses 16 51798 5028)
>  (symbols 48 6742 1)
>  (strings 32 18899 1840)
>  (string-bytes 1 612322)
>  (vectors 16 12192)
>  (vector-slots 8 168066 8842)
>  (floats 8 23 45)
>  (intervals 56 221 0)
>  (buffers 992 10))
>