From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.bugs Subject: bug#37436: Acknowledgement (27.0.50; Function proposal doc-view-open-file) Date: Tue, 17 Sep 2019 09:04:00 +0200 Message-ID: <20190917070400.GA13547@protected.rcdrun.com> References: <86y2ynph79.fsf@protected.rcdrun.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="87299"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mutt/1.10.1 (2018-07-13) To: 37436@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Sep 17 09:05:18 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iA7Y5-000MYw-3O for geb-bug-gnu-emacs@m.gmane.org; Tue, 17 Sep 2019 09:05:17 +0200 Original-Received: from localhost ([::1]:42334 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iA7Y3-0005D7-Ch for geb-bug-gnu-emacs@m.gmane.org; Tue, 17 Sep 2019 03:05:15 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42695) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iA7Xs-0005Cr-7u for bug-gnu-emacs@gnu.org; Tue, 17 Sep 2019 03:05:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iA7Xq-0003Ld-G9 for bug-gnu-emacs@gnu.org; Tue, 17 Sep 2019 03:05:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:42730) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iA7Xq-0003LG-BJ for bug-gnu-emacs@gnu.org; Tue, 17 Sep 2019 03:05:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iA7Xq-0006Js-2w for bug-gnu-emacs@gnu.org; Tue, 17 Sep 2019 03:05:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jean Louis Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 17 Sep 2019 07:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 37436 X-GNU-PR-Package: emacs Original-Received: via spool by 37436-submit@debbugs.gnu.org id=B37436.156870385224223 (code B ref 37436); Tue, 17 Sep 2019 07:05:02 +0000 Original-Received: (at 37436) by debbugs.gnu.org; 17 Sep 2019 07:04:12 +0000 Original-Received: from localhost ([127.0.0.1]:51551 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iA7X2-0006Id-4A for submit@debbugs.gnu.org; Tue, 17 Sep 2019 03:04:12 -0400 Original-Received: from stw1.rcdrun.com ([217.170.207.13]:53633) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iA7Wz-0006IM-HE for 37436@debbugs.gnu.org; Tue, 17 Sep 2019 03:04:10 -0400 Original-Received: from protected.rcdrun.com ([::ffff:31.223.149.84]) (AUTH: PLAIN admin, TLS: TLS1.2,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 000000000006E360.000000005D808562.00004B2F; Tue, 17 Sep 2019 00:04:02 -0700 Original-Received: from localhost (localhost [127.0.0.1]) (uid 1001) by protected.rcdrun.com with local id 00000000000C18DC.000000005D808561.0000350E; Tue, 17 Sep 2019 09:04:01 +0200 Content-Disposition: inline In-Reply-To: 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: 209.51.188.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:166619 Archived-At: I have made this function now for me. But such could be improved for GNU Emacs so that PDF, DJVU and other doc view file could be opened straight from Emacs Lisp and at the specific page number for specific query, even query number could be implemented. (defun doc-view-open-file (file &optional page-number query match) "Opens PDF file in GNU Emacs at specific page number or at specific match" (let* ((allowed-extensions '("pdf" "djvu" "dvi")) (file-ext (file-name-extension file)) (match (if match match 0))) (when (and (file-exists-p file) (seq-contains allowed-extensions file-ext 'equalp)) (setq doc-view--current-search-matches nil) (let ((created (create-file-buffer file)) (buffer (get-file-buffer file))) (switch-to-buffer created) (set-visited-file-name file ) (insert file) (doc-view-mode) (when page-number (doc-view-goto-page page-number)) (when query (let ((txt (expand-file-name "doc.txt" (doc-view--current-cache-dir)))) (if (file-readable-p txt) (progn (setq doc-view--current-search-matches (doc-view-search-internal query txt)) (doc-view-search-next-match match)))))))))