From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tassilo Horn Newsgroups: gmane.emacs.bugs Subject: bug#23184: 25.0.92; User-friendly way to override doc-view-mode as MIME viewer Date: Fri, 08 Apr 2016 22:46:49 +0200 Message-ID: <878u0nj0au.fsf@gnu.org> References: <87shz4pi13.fsf@iki.fi> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1460148555 14901 80.91.229.3 (8 Apr 2016 20:49:15 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 8 Apr 2016 20:49:15 +0000 (UTC) Cc: 23184@debbugs.gnu.org To: Teemu Likonen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Apr 08 22:49:10 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aodL3-0006nM-Hd for geb-bug-gnu-emacs@m.gmane.org; Fri, 08 Apr 2016 22:49:09 +0200 Original-Received: from localhost ([::1]:58221 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aodL2-0001of-Vg for geb-bug-gnu-emacs@m.gmane.org; Fri, 08 Apr 2016 16:49:08 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43017) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aodJ4-0006NU-55 for bug-gnu-emacs@gnu.org; Fri, 08 Apr 2016 16:47:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aodJ0-0005Wn-PI for bug-gnu-emacs@gnu.org; Fri, 08 Apr 2016 16:47:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:42631) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aodJ0-0005Wi-JG for bug-gnu-emacs@gnu.org; Fri, 08 Apr 2016 16:47:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1aodJ0-00089G-Ep for bug-gnu-emacs@gnu.org; Fri, 08 Apr 2016 16:47:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Tassilo Horn Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 08 Apr 2016 20:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23184 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 23184-submit@debbugs.gnu.org id=B23184.146014841531307 (code B ref 23184); Fri, 08 Apr 2016 20:47:02 +0000 Original-Received: (at 23184) by debbugs.gnu.org; 8 Apr 2016 20:46:55 +0000 Original-Received: from localhost ([127.0.0.1]:54968 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aodIt-00088s-4t for submit@debbugs.gnu.org; Fri, 08 Apr 2016 16:46:55 -0400 Original-Received: from out5-smtp.messagingengine.com ([66.111.4.29]:54997) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aodIr-00088j-4L for 23184@debbugs.gnu.org; Fri, 08 Apr 2016 16:46:53 -0400 Original-Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id C566721B94 for <23184@debbugs.gnu.org>; Fri, 8 Apr 2016 16:46:52 -0400 (EDT) Original-Received: from frontend2 ([10.202.2.161]) by compute5.internal (MEProxy); Fri, 08 Apr 2016 16:46:52 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-sasl-enc :x-sasl-enc; s=smtpout; bh=7Q26vIlP1apDpORZSDQyc43ZFiI=; b=qH1eR O8kIoM4C+F/sX2ozfJre7vPrqt7+8DFrVONWxPO5LfAMH69+ps2VkDKL8uVfzOUg DX6hFdHrRMNjGtAJba5fcmA0WajxmKzwtgmkWmnmpNrrT/5wZdaGqry5y0gnN9z+ a9TgBL2IfJUs3aatK4tN9OdqC36YmglIVwZI58= X-Sasl-enc: BM8LPrlLT+7eIU5bUE7W6nf5v9OtoSV6pZy1zAKza5Qy 1460148412 Original-Received: from thinkpad-t440p (unknown [31.213.240.199]) by mail.messagingengine.com (Postfix) with ESMTPA id C5F1F68018E; Fri, 8 Apr 2016 16:46:51 -0400 (EDT) In-Reply-To: <87shz4pi13.fsf@iki.fi> (Teemu Likonen's message of "Sat, 02 Apr 2016 10:49:12 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.92 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 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.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:116243 Archived-At: Teemu Likonen writes: Hi Teemu, > Emacs has mailcap-mime-data variable which is used to decide how > various contents are displayed. The variable is (or seems to be) > bootstrapped from operating system's mailcap configuration but Emacs > overrides some parts of it with (viewer . doc-view-mode) or (viewer > . pdf-view-mode). `pdf-view-mode' and `doc-view-mode' are standard entries in `mailcap-mime-data', and entries from mailcap files are prepended to the list. > Not all users want to use doc-view-mode for displaying mime contents. I > wish there was an easy way to not use doc-view-mode or to move its > priority to the bottom of the viewer list. Hm, for me, evince (from my ~/.mailcap) is before `pdf-view-mode' which is in turn before `doc-view-mode' in mailcap-mime-data' but still clicking on a PDF attachment in Gnus opens the file with PDF Tools (`pdf-view-mode', which I like very much). So it seems its (at least not only) the order in `mailcap-mime-data' which defines which tool is used. Ok, `mailcap-mime-info' computes the viewer to be used. It first selects all whose test passes (which would include doc-view, pdf-view, "evince", "okular" and what not), and then sorts them according to `mailcap-viewer-lessp' returning the first viewer after sorting. `mailcap-viewer-lessp' prefers viewers whose declared type contains no wildcard, and it prefers Emacs viewers over external apps. So, yes, if you don't like PDF Tools or DocView, it's pretty hard to get rid of them. (1) We could add a function `mailcap-remove-viewer' which essentially does what you do already. (2) Or maybe we could add a customizable list `mailcap-user-mime-data' (better name welcome) which would override `mailcap-mime-data', i.e., if a viewer is specified there, then `mailcap-mime-data' with the heuristics around it won't even be consulted. I guess the second approach is better as it lets users specify preferences instead of disabling alternatives until the heuristics select the preferred viewer. Any better suggestions? If not, I can do that. (In case I'd implement that, should that go only into master or emacs-25?) Bye, Tassilo