]> git.eshelyaron.com Git - emacs.git/commit
Improve eww support for externally viewed PDFs
authorBasil L. Contovounesios <contovob@tcd.ie>
Tue, 3 Nov 2020 22:54:34 +0000 (22:54 +0000)
committerBasil L. Contovounesios <contovob@tcd.ie>
Thu, 5 Nov 2020 17:34:23 +0000 (17:34 +0000)
commitbfd31242025cde90c8252db92dc54d0be4115c91
treebcfd82a6e4e5562d4c974228cc8e8b2b375b7c73
parent38a109e58c3a4d945123e3e985efd40b0626eca0
Improve eww support for externally viewed PDFs

The *eww pdf* buffer is only needed when viewing PDFs within Emacs,
e.g., with doc-view-mode.  External PDF viewers are called with a
temporary file, so the buffer is not needed in that case.  What's
more, mailcap-view-mime erased the buffer and left it in
fundamental-mode until now, so the user was left staring at a
useless, empty buffer.  To make things even worse, external viewers
were invoked synchronously until now, so the user could not browse
the PDF file and use Emacs simultaneously.

* lisp/net/mailcap.el (mailcap--async-shell): New function.
(mailcap-view-mime): Use it to invoke external viewers
asynchronously.  Mention erasure of current buffer in that case in
docstring.  Add a period between the temporary file name and its
extension.

* lisp/net/eww.el (eww-display-pdf): Simplify using
insert-buffer-substring.  Fix coding-system-for-write for a stream
of raw bytes.  Pop to *eww pdf* buffer only if it is used for
displaying a document; otherwise kill it.  (bug#44338)
lisp/net/eww.el
lisp/net/mailcap.el