From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Morgan Smith Newsgroups: gmane.emacs.bugs Subject: bug#64516: [PATCH] docview: Only enable imenu when supported Date: Fri, 07 Jul 2023 12:05:56 -0400 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19866"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: 64516@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Jul 07 18:07:24 2023 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 1qHnzP-0004x1-Hh for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 07 Jul 2023 18:07:23 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qHnz8-00029B-Ra; Fri, 07 Jul 2023 12:07:07 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qHnz5-00028S-HC for bug-gnu-emacs@gnu.org; Fri, 07 Jul 2023 12:07:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qHnz4-0006qs-Hl for bug-gnu-emacs@gnu.org; Fri, 07 Jul 2023 12:07:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qHnz3-0002rQ-Rs for bug-gnu-emacs@gnu.org; Fri, 07 Jul 2023 12:07:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Morgan Smith Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 07 Jul 2023 16:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64516 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 64516-submit@debbugs.gnu.org id=B64516.168874597210938 (code B ref 64516); Fri, 07 Jul 2023 16:07:01 +0000 Original-Received: (at 64516) by debbugs.gnu.org; 7 Jul 2023 16:06:12 +0000 Original-Received: from localhost ([127.0.0.1]:43658 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qHnyF-0002qM-Go for submit@debbugs.gnu.org; Fri, 07 Jul 2023 12:06:11 -0400 Original-Received: from mail-co1nam11olkn2067.outbound.protection.outlook.com ([40.92.18.67]:3425 helo=NAM11-CO1-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qHny9-0002ph-QZ for 64516@debbugs.gnu.org; Fri, 07 Jul 2023 12:06:10 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EJ84m2Yw3r2t/mvEhYW7pf8puKzE2egQcIX2jm4g/QOvOKHldu4er5bH4xTGB3ilv0/R8B2ZZXEWPvjdFlTRQEC0NNm7Z3VQLUuuLMdCRv2pCzm3I0Y6aY8oV4XXI2YRBRjLwN9ZPQzaHHMWvy16CCr9SxT/13eoGN39KOirTwXSuV1Q9YQyPbjkPaliSy2UYELnjox788/npRjg1bY5WeqYNCp8wwDRQznU8qlwqO6pPCz6ttwvw7bt6DLZjq/+sWOo7wVK2L9a3Ngb8D6cp/cgJiAc2bQ5EPD5aMeO6ZNsLT4kfCSBJDnFKstI2+0bAfb2+m0mfuL6M7vhxKEiDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=07Ej3lR0DiaAl0MnUd9mD3VknrP36QUiHa+T2IAk1+g=; b=dXkxo+oeEjlaNyXsWQT5u7OKrEzlTKOUY8//ki9TBCPlu98glstMy8ofchQBht/2hpGiqMC+3hQjeuacMYZIAOOABaYLHRQvcRFwivC34upC4MigK6+sk8ULm/3aco/lHcCAH2F1H1BDWUGpkVaFD80InBs5+XkMkyJjVegISOSV6Zj+BQAq9ExZ7oM8cHEq45afGQ5hMpmfYb7RH0AfwSE5jnHpSDyzh10dlXLWkrs+AMD/u2NOcfyme+X8qR5Lnk3usiwy8oYhECRTT1L5EEP0xT3UdvfNbFeJeFtWBzc7cUKYdKs+t/UIXDhgBdsyzgeGEqmRLFXxrXtVKN/GeA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=07Ej3lR0DiaAl0MnUd9mD3VknrP36QUiHa+T2IAk1+g=; b=jW3yPZM0EuVWwLahB3QnVUnFxqLK9bhN6/iped788AxyL/vCtkjIRBjJ/FutEYb4GXSBwub2JOUUw9i/+bdGyv03iH+KnX0RQT2tHVjpbn4emB5EkAnoqnSwoewG4IYX7gxEkjjj+Ww7AIF8XHH4hXpd7uAannuOQwAmBRiSbwirNdwaMJ+ijPz89bD2enupmX4qD36aijghf+O5xjQupLsl1ozf1vrxMcvfGljPEvxwJ3/uhi4MJ0PqBmKhUv5OLw8K3qmupyeldVciS543IyPcdDMqe+Ym0iWEIfsoSEnT5IQ29NGGjf33biyfWOKytu9enyoY0l+5PanFWHEccw== Original-Received: from DM5PR03MB3163.namprd03.prod.outlook.com (2603:10b6:4:40::24) by SA1PR03MB6579.namprd03.prod.outlook.com (2603:10b6:806:1ca::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.25; Fri, 7 Jul 2023 16:05:59 +0000 Original-Received: from DM5PR03MB3163.namprd03.prod.outlook.com ([fe80::d561:bdf5:3af9:b03e]) by DM5PR03MB3163.namprd03.prod.outlook.com ([fe80::d561:bdf5:3af9:b03e%4]) with mapi id 15.20.6565.025; Fri, 7 Jul 2023 16:05:59 +0000 In-Reply-To: (Morgan Smith's message of "Fri, 07 Jul 2023 11:40:20 -0400") X-Hashcash: 1:20:230707:64516@debbugs.gnu.org::HR7h4DlYJVkiibYa:0fYX X-TMN: [i0PBRxSTFwvtIq97l3X+FnlqbFrxhklTkTVRaT7+dCzc2CM+718bUQ==] X-ClientProxiedBy: YQXP288CA0018.CANP288.PROD.OUTLOOK.COM (2603:10b6:c00:41::48) To DM5PR03MB3163.namprd03.prod.outlook.com (2603:10b6:4:40::24) X-Microsoft-Original-Message-ID: <871qhjd7vf.fsf@outlook.com> X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR03MB3163:EE_|SA1PR03MB6579:EE_ X-MS-Office365-Filtering-Correlation-Id: 741a951e-3d63-4615-ab0c-08db7f040d82 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QqI//0M/rF5u2IssHi2AhJ6sa3mp1PVk4WWtvPvpk9JaPiRV6WVwVhn8OzJQI+3iCD3zXCiygF/l8sDgOSBkRA2oqMNrJk9qTd9jTKLYkxScvfX5qnL2H7kx3h7Q+yxznPWqYSBrK3yyAW4+VUma/MT12L10vtqKLvV/kkPuX7x35R9F+jawfgWR1Mk5U+UOnHVG+N2y0witLOVSLZuZBT+EZ/d7kHJGxcr+K07U0o9YvKq+cVbth76rcOoDdR5Bp++VvoUXyjpDGebuhUQoggGVv8Bvgwp9X4j0rM/fYqbOB6wNeFNrc9qt8EVzAGcTZ93JUhF4uskBFzzUr2BDh3wr0++aiaKzUIjB1yWq2Z8Q4ygZnmw5tugZYlrAiO1Fbq+o4Z4eBTVxECqe6yGxNXHvbG7R7BOVlhM+ICeCehsCTtFRCYeKaOQJiKRCDWZUEPMYRaQUaVv0PlY7Fg9BODlLIOJvBSBwNTgh1dHNcPpY2aB8XevlsNR9EagjQNM2sgmVOA4tZVLy8mv+UtvPujiS1zStJSpik43fUlrLdrS7zbhVwtoObCCPLnSoDl3X X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3CknNmcB5fT34VzwG4PCHVRbWcON7c9Si+y9BVvbTm941W+2J75NEhkIwfYkKYEiqgr7AiiKdqUUvabqq2HbIkTYwHiOSVjsM+/iNMVsE0iazPsZqL2qc3Nb0o0bP8EfMXzgth1dJKVX/j/wjMwnP5Fp/Xl3Qq7WrQe2/EUxn2t/KpKBYqYnwHJ3G0ke710wRw27a7ojwTia94CV0QueyWR7MlbdzYlg1iFUiO/H5a1CyOM94LroRWGvJDxMQdFjS0yKschMsNvbVPg4kgYS5tUZz8L+FyK5XEoPTt6Y3Fxdd5dBl0eYNzkNTayHXtXTLArx0HWWgdEJiTb03rEzQrPj2WitXugL8EYh8PNcwCEZ7LlQk/qfMbdWD5W3sVIv8tRbecHHdAy5zQo4FFjZNOv96KMIpodbLKpF1bRHk1r9U76ISk4SsknSsT1lwIaGFZYvsmsH6PKB2kTLt2DvciR3ehNiTFW3Gc4g0iX8Lfwp7VucLelMKukbc1OArpAlXJNdhFe7Wy2qzEjYyt2bGkxVhQue/SpzGDJdWUFJHf6WSR+BukW9zLklsbyBSsmrQUb6ISiHyCW5rZYz6oqQxDNnxnQJxWR2pEZIqHCwKIGW8WF1BX99gvVy1PNbe7789RpR8sHt0tC2C+re3gAe2NiqKcrhQgyzMaiaJEDo/WyGiLwC0h3inXOGHCxL1Il6ZWbUBlGJB3puG5xg+58xGonWyYWeV9D10ZpOuuNypwHfgOTC5ZTEZKfXE8 6wUNJobzIK3fDfWKI5ySE/Cbm3cuELFbQnIPSv9Fc94NLdDSUDqshKdbMoho7T4KD+wfxRm4ZyTwZepH1kJ5pZsLu07DXHRMuU X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 741a951e-3d63-4615-ab0c-08db7f040d82 X-MS-Exchange-CrossTenant-AuthSource: DM5PR03MB3163.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2023 16:05:59.0764 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6579 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:264733 Archived-At: --=-=-= Content-Type: text/plain Sorry, I wasn't thinking very hard about the simplifications I made in the V2 patch. Now it would error out if '(or file-name (buffer-file-name))' was nil which I assume can happen. Here is a V3 patch which should be good now. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-docview-Only-enable-imenu-when-supported.patch >From 011beaccb3b2e004240ed80a4948d791fc4efbb9 Mon Sep 17 00:00:00 2001 From: Morgan Smith Date: Fri, 7 Jul 2023 11:17:15 -0400 Subject: [PATCH] docview: Only enable imenu when supported While 'mutool' supports many filetypes, 'mutool show' only supports PDF files. This would lead to cryptic imenu errors when opening other file types (like EPUB) since we would parse the error output. During my testing this caused 'imenu--index-alist' to have a value of '(nil). * lisp/doc-view.el (doc-view--pdf-outline): Error when 'mutool' returns an error. Use 'call-process' to get the return value and remove the call to 'shell-quote-argument' as 'call-process' doesn't want any escapes. (doc-view-imenu-setup): Don't check for 'mutool' as that is already done by 'doc-view-imenu-enabled'. Only enable imenu for PDF documents. (bug#64516) --- lisp/doc-view.el | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lisp/doc-view.el b/lisp/doc-view.el index b14655fb274..101de04297f 100644 --- a/lisp/doc-view.el +++ b/lisp/doc-view.el @@ -1910,9 +1910,10 @@ doc-view--pdf-outline (let ((fn (or file-name (buffer-file-name)))) (when fn (let ((outline nil) - (fn (shell-quote-argument (expand-file-name fn)))) + (fn (expand-file-name fn))) (with-temp-buffer - (insert (shell-command-to-string (format "mutool show %s outline" fn))) + (unless (= 0 (call-process "mutool" nil (current-buffer) nil "show" fn "outline")) + (error "Unable to create imenu index using `mutool'")) (goto-char (point-min)) (while (re-search-forward doc-view--outline-rx nil t) (push `((level . ,(length (match-string 1))) @@ -1961,7 +1962,7 @@ doc-view-imenu-index (defun doc-view-imenu-setup () "Set up local state in the current buffer for imenu, if needed." - (when (and doc-view-imenu-enabled (executable-find "mutool")) + (when (and doc-view-imenu-enabled (eq 'pdf doc-view-doc-type)) (setq-local imenu-create-index-function #'doc-view-imenu-index imenu-submenus-on-top nil imenu-sort-function nil -- 2.40.1 --=-=-=--