From unknown Sun Jun 22 11:49:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#21194: 2015-06-01; add support for ffap via kpsewhich Resent-From: Nicolas Richard Original-Sender: "Debbugs-submit" Resent-CC: bug-auctex@gnu.org Resent-Date: Wed, 05 Aug 2015 17:36:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 21194 X-GNU-PR-Package: auctex X-GNU-PR-Keywords: To: 21194@debbugs.gnu.org X-Debbugs-Original-To: bug-auctex@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.14387961133929 (code B ref -1); Wed, 05 Aug 2015 17:36:01 +0000 Received: (at submit) by debbugs.gnu.org; 5 Aug 2015 17:35:13 +0000 Received: from localhost ([127.0.0.1]:40312 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZN2av-00011J-FU for submit@debbugs.gnu.org; Wed, 05 Aug 2015 13:35:13 -0400 Received: from eggs.gnu.org ([208.118.235.92]:39600) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZN2as-000114-Oo for submit@debbugs.gnu.org; Wed, 05 Aug 2015 13:35:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZN2am-0002bT-E6 for submit@debbugs.gnu.org; Wed, 05 Aug 2015 13:35:10 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_40,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:46142) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZN2am-0002b2-BK for submit@debbugs.gnu.org; Wed, 05 Aug 2015 13:35:04 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53091) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZN2al-0000Ni-3K for bug-auctex@gnu.org; Wed, 05 Aug 2015 13:35:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZN2ai-0002O9-Ch for bug-auctex@gnu.org; Wed, 05 Aug 2015 13:35:03 -0400 Received: from nm20-vm1.bullet.mail.ir2.yahoo.com ([212.82.96.243]:52801) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZN2ai-0002Mp-15 for bug-auctex@gnu.org; Wed, 05 Aug 2015 13:35:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1438796098; bh=IKhoha71T+CYj28Ati8e6t2Bdf4mAG5ybjgFYUa3H6c=; h=From:To:Subject:Date:From:Subject; b=UiGSwl+Sycw0Jmuc0yhq9AHaNo5stO8Zs5kJJve7eGDbPFKW83oB5N598GeWnOXrUMfzEA6sjH6r9TdqICMxZEDxChlmVLL4c2DiBj/PR45qgK5ik5IBL+Ubg75HGsGDMQaSyD7KIyBxH69BuPAl7F2ldutJ1eyUODimIrxErg7JRgEBpAjdu+F7gqcVk1pAunU+bh77PNnJSaoJOCEbttD9nnU1JeWRrPyXN6LFsnzql08cvk0uwh08RF6ezLUGkFoCrQ7hbyDBCXKkqlwv9Ln4v/Eig3ao/31+ZjrLKKSqGQZclfPC6IYRIECLxj5N6VkisULwFX6ndcnKpDCyLw== Received: from [212.82.98.51] by nm20.bullet.mail.ir2.yahoo.com with NNFMP; 05 Aug 2015 17:34:58 -0000 Received: from [46.228.39.71] by tm4.bullet.mail.ir2.yahoo.com with NNFMP; 05 Aug 2015 17:34:58 -0000 Received: from [127.0.0.1] by smtp108.mail.ir2.yahoo.com with NNFMP; 05 Aug 2015 17:34:58 -0000 X-Yahoo-Newman-Id: 17477.90284.bm@smtp108.mail.ir2.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: p_FPAnQVM1mI1CQnx_0ZmWDVr8bKBpC4kPXcDlMjMwvVE3v e5JiEadbSiI93VFRogtsMckBFtP62aXo20ep2jfxwqrz1vpkeMfZ7_zl7SoI LYvqJGT6DeaSy_aG.0qtPFXLSWo2j_qJ_YSP61gpuSIJsG4oxUo2YiwoXpmL klAf5PMf6rytxonWH9BoqU9lPZEtAxDMYYQe36pzeK887vgr6drKZNKB5hbA Mhlaav4RPniMLbMzj04Lo77OP83mm9KG7tFZQN2lVG52jYlqw54fqq6T8lU5 xr24x3dmND4YyDLe4OYhUJGnjXGx8sLjzBdFBAFpLrQiuveLwjln2QX_fOMf f1UW_omLbxfyAn9mzUgbypsSNLAmcpTk_JjxQZ3kZ7rrwqVS0SgzGdERcNw6 SickRbXusXb7aCwhknzSj3gJ89bRab2apOTUPPgJVEUmDCIkxgN0PsSpJXpN 2FRdhHeSWxVArhqIwE_AxAdO7M8k39HH3_ogtUkxj7k1sVdE2fJUPU0ND7NR IPpDHuQFFD6BqLF4jcgyBqhmAFQtl2oU03VuvrgKB881h2WqKxVACAA-- X-Yahoo-SMTP: 62rWct2swBAqKO_y6KiyXe3pZRcxSSoYuFEwRLrH6M41hw-- From: Nicolas Richard Date: Wed, 05 Aug 2015 19:34:56 +0200 Message-ID: <86a8u5hc5b.fsf@members.fsf.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hi all, I'm using the following customizations, which I thought I'd share with you. As the subject says it, it uses kpsewhich for guessing a filename at point. It allows to use M-x ffap with point on "geometry" to find geometry.sty, or with point on "memoir" to find memoir.cls. It is very quick because it calls kpsewhich only once. I'm not making this into an actual patch because while it works fine on my system, it's not ready for inclusion yet. I'm open to your ideas to make it better and eventually include it. ;; a first step is : ;; don't allow braces as possible characters in a filename (otherwise ;; \input{foo} is seen as a possible filename, instead of just foo) ;; (this is because of a recent change in emacs, see commit ;; ba6c32b6decaa2a72a3d5f854efd513e8e82c118 for detail) (push '(latex-mode "--:\\\\$+<>@-Z_[:alpha:]~*?" "<@" "@>;.,!:") ffap-string-at-point-mode-alist) ;; second step is to extend rules for finding file at point, and use kpsewhich (defun yf/ffap-latex-mode (name) "ffap function in latex buffers" (if (file-exists-p name) name (let ((curbuf (current-buffer))) (with-temp-buffer (let ((suffixes '(".sty" ".cls" ".ltx" ".tex" "" ".ldf")) (prefixes '("" "beamertheme" "beamercolortheme" "beamerfonttheme" "beamerinnertheme" "beameroutertheme")) args) (setq args (apply #'append (mapcar (lambda (suffix) (mapcar (lambda (prefix) (concat prefix name suffix)) prefixes)) suffixes))) (let ((process-environment (buffer-local-value 'process-environment curbuf)) (exec-path (buffer-local-value 'exec-path curbuf))) (apply #'call-process "kpsewhich" nil t nil args)) (when (< (point-min) (point-max)) (buffer-substring (goto-char (point-min)) (point-at-eol)))))))) ;; use the above (advice-add 'ffap-latex-mode :override 'yf/ffap-latex-mode) Comments welcome! Nicolas. From unknown Sun Jun 22 11:49:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#21194: 2015-06-01; add support for ffap via kpsewhich Resent-From: =?UTF-8?Q?Mos=C3=A8?= Giordano Original-Sender: "Debbugs-submit" Resent-CC: bug-auctex@gnu.org Resent-Date: Wed, 05 Aug 2015 18:25:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 21194 X-GNU-PR-Package: auctex X-GNU-PR-Keywords: To: Nicolas Richard Cc: 21194@debbugs.gnu.org Received: via spool by 21194-submit@debbugs.gnu.org id=B21194.14387990768637 (code B ref 21194); Wed, 05 Aug 2015 18:25:01 +0000 Received: (at 21194) by debbugs.gnu.org; 5 Aug 2015 18:24:36 +0000 Received: from localhost ([127.0.0.1]:40355 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZN3Mi-0002FF-7R for submit@debbugs.gnu.org; Wed, 05 Aug 2015 14:24:36 -0400 Received: from eggs.gnu.org ([208.118.235.92]:51764) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZN3Mf-0002F3-QO for 21194@debbugs.gnu.org; Wed, 05 Aug 2015 14:24:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZN3Mb-00041y-HJ for 21194@debbugs.gnu.org; Wed, 05 Aug 2015 14:24:33 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.7 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:59240) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZN3Mb-00041r-DV for 21194@debbugs.gnu.org; Wed, 05 Aug 2015 14:24:29 -0400 Received: from mail-ig0-f182.google.com ([209.85.213.182]:35908) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_ARCFOUR_SHA1:128) (Exim 4.82) (envelope-from ) id 1ZN3Ma-0003rc-U4 for 21194@debbugs.gnu.org; Wed, 05 Aug 2015 14:24:29 -0400 Received: by igbij6 with SMTP id ij6so100708660igb.1 for <21194@debbugs.gnu.org>; Wed, 05 Aug 2015 11:24:28 -0700 (PDT) X-Received: by 10.50.97.33 with SMTP id dx1mr673413igb.1.1438799068308; Wed, 05 Aug 2015 11:24:28 -0700 (PDT) MIME-Version: 1.0 Received: by 10.36.31.201 with HTTP; Wed, 5 Aug 2015 11:23:48 -0700 (PDT) In-Reply-To: <86a8u5hc5b.fsf@members.fsf.org> References: <86a8u5hc5b.fsf@members.fsf.org> From: =?UTF-8?Q?Mos=C3=A8?= Giordano Date: Wed, 5 Aug 2015 20:23:48 +0200 Message-ID: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.1 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.1 (-----) Hi Nicolas! 2015-08-05 19:34 GMT+02:00 Nicolas Richard : > Hi all, > > I'm using the following customizations, which I thought I'd share with > you. As the subject says it, it uses kpsewhich for guessing a filename > at point. It allows to use M-x ffap with point on "geometry" to find > geometry.sty, or with point on "memoir" to find memoir.cls. > > It is very quick because it calls kpsewhich only once. > > I'm not making this into an actual patch because while it works > fine on my system, it's not ready for inclusion yet. I'm open to > your ideas to make it better and eventually include it. > > ;; a first step is : > ;; don't allow braces as possible characters in a filename (otherwise > ;; \input{foo} is seen as a possible filename, instead of just foo) > ;; (this is because of a recent change in emacs, see commit > ;; ba6c32b6decaa2a72a3d5f854efd513e8e82c118 for detail) > > (push '(latex-mode "--:\\\\$+<>@-Z_[:alpha:]~*?" "<@" "@>;.,!:") > ffap-string-at-point-mode-alist) > > ;; second step is to extend rules for finding file at point, and use kpse= which > > (defun yf/ffap-latex-mode (name) > "ffap function in latex buffers" > (if (file-exists-p name) > name > (let ((curbuf (current-buffer))) > (with-temp-buffer > (let ((suffixes '(".sty" ".cls" ".ltx" ".tex" "" ".ldf")) > (prefixes '("" "beamertheme" > "beamercolortheme" > "beamerfonttheme" > "beamerinnertheme" > "beameroutertheme")) > args) > (setq args (apply #'append (mapcar > (lambda (suffix) > (mapcar > (lambda (prefix) > (concat prefix name suffix)) > prefixes)) > suffixes))) > (let ((process-environment (buffer-local-value 'process-environ= ment curbuf)) > (exec-path (buffer-local-value 'exec-path curbuf))) > (apply #'call-process "kpsewhich" nil t nil args)) > (when (< (point-min) (point-max)) > (buffer-substring (goto-char (point-min)) (point-at-eol))))))= )) > > ;; use the above > (advice-add 'ffap-latex-mode :override 'yf/ffap-latex-mode) > > Comments welcome! I like this idea, indeed in my init file I've something similar: --8<---------------cut here---------------start------------->8--- (defun mg-TeX-kpsewhich-find-file (&optional name) "Visit file associated to NAME searching for it with kpsewhich. If NAME is nil prompt for a file name. If there is an active region, use it as initial input. When it is called with \\[universal-argument] prefix, visit file in another window, in the current one otherwise." (interactive) (if (executable-find "kpsewhich") (let* ((fun (if current-prefix-arg 'find-file-other-window 'find-file= )) (default-directory (TeX-master-directory)) (name (or name (TeX-read-string "File name: " (if (TeX-active-mark) (buffer-substring-no-properties (region-beginning) (region-end)))))) (file (replace-regexp-in-string "[\n\r]*\\'" "" (shell-command-to-string (concat "kpsewhich " name))))) (if (and (not (zerop (length file))) (file-exists-p file)) (funcall fun file) (message (concat "File " name " not found.")))) (message "Kpsewhich not available."))) ;; From an original idea of John Wickerson and a first simple implementatio= n of ;; David Carlisle: http://tex.stackexchange.com/q/113376 (defun mg-LaTeX-find-file-at-point () "Visit LaTeX file searching for it with kpsewhich. File basename is guessed from text around point and its extension is guessed from current macro. When it is called with \\[universal-argument] prefix, visit file in another window, in the current one otherwise. See also `mg-TeX-kpsewhich-find-file'." (interactive) (let* ((file-name-regexp "-~/A-Za-z0-9_.$#%:+") ;; Get filename at point. (name ;; Check whether character at point is a valid file name ;; character. (if (string-match (concat "[" file-name-regexp "]") (string (char-after))) (save-excursion (skip-chars-backward file-name-regexp) (looking-at (concat "\\([" file-name-regexp "]+\\)")) (TeX-match-buffer 1)))) ;; Get current macro once. (current-macro (TeX-current-macro)) ;; Guess file extension based on current macro. (extension (cond ((or (equal "usepackage" current-macro) (equal "RequirePackage" current-macro) (equal "RequirePackageWithOptions" current-macro)) ".sty") ((or (equal "documentclass" current-macro) (equal "documentstyle" current-macro) (equal "LoadClass" current-macro) (equal "LoadClassWithOptions" current-macro)) ".cls") ((equal "include" current-macro) ".tex") ((equal "input" current-macro) ;; `input' macro accepts a file name with extension, in ;; that case use an empty but non-nil extension. (if (and name (file-name-extension name)) "" ".tex")) ((equal "bibliography" current-macro) ".bib") ((equal "addbibresource" current-macro) "") (t nil)))) (if (and name extension) (mg-TeX-kpsewhich-find-file (concat name extension)) (message "Cannot guess file name at point.")))) --8<---------------cut here---------------end--------------->8--- This is smarter than your function in the sense that it looks at current macro to determine the extension (didn't test it, but I think your implementation would open "article.sty" instead of the more sensible "article.cls" with point on "article"). You can try to improve your implementation stealing my code ;-) Bye, Mos=C3=A8 From unknown Sun Jun 22 11:49:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#21194: 2015-06-01; add support for ffap via kpsewhich Resent-From: Tassilo Horn Original-Sender: "Debbugs-submit" Resent-CC: bug-auctex@gnu.org Resent-Date: Wed, 05 Aug 2015 18:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 21194 X-GNU-PR-Package: auctex X-GNU-PR-Keywords: To: Nicolas Richard Cc: 21194@debbugs.gnu.org Received: via spool by 21194-submit@debbugs.gnu.org id=B21194.14387995149358 (code B ref 21194); Wed, 05 Aug 2015 18:32:01 +0000 Received: (at 21194) by debbugs.gnu.org; 5 Aug 2015 18:31:54 +0000 Received: from localhost ([127.0.0.1]:40359 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZN3Tm-0002Qs-FG for submit@debbugs.gnu.org; Wed, 05 Aug 2015 14:31:54 -0400 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:36379) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZN3Tj-0002Qk-V7 for 21194@debbugs.gnu.org; Wed, 05 Aug 2015 14:31:52 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id BBA5020B1A for <21194@debbugs.gnu.org>; Wed, 5 Aug 2015 14:31:51 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute3.internal (MEProxy); Wed, 05 Aug 2015 14:31:51 -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=3oSO6NX+XLADub07vP4p/XCfxUk=; b=VQ0Yj H/9V/LQo5PWSzkYlzhBPWw2BgzN9CiMI1AjaxiRuqwmIQ/eq9EuGDQsMQHq96H6l ZNSJkvjZOaoAdEn3YB+k79q8idf1DXkcbN/l6LqI3RxRW2VMBAtMNy8B+yAQw+Fh B1GQKaJ27ah71VqKsxH2/c0hCC1ylZKVbw0SsM= X-Sasl-enc: yTUxltE0w8+KNchQPf98U6G/XIbMg4o7ubvg51FD61NR 1438799511 Received: from thinkpad-t440p (unknown [2.161.220.43]) by mail.messagingengine.com (Postfix) with ESMTPA id 108F668019F; Wed, 5 Aug 2015 14:31:50 -0400 (EDT) From: Tassilo Horn References: <86a8u5hc5b.fsf@members.fsf.org> Date: Wed, 05 Aug 2015 20:31:48 +0200 In-Reply-To: <86a8u5hc5b.fsf@members.fsf.org> (Nicolas Richard's message of "Wed, 05 Aug 2015 19:34:56 +0200") Message-ID: <877fp9pox7.fsf@gnu.org> User-Agent: Gnus/5.130014 (Ma Gnus v0.14) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) Nicolas Richard writes: Hi Nicolas, > I'm using the following customizations, which I thought I'd share with > you. As the subject says it, it uses kpsewhich for guessing a filename > at point. It allows to use M-x ffap with point on "geometry" to find > geometry.sty, or with point on "memoir" to find memoir.cls. > > It is very quick because it calls kpsewhich only once. > > I'm not making this into an actual patch because while it works fine > on my system, it's not ready for inclusion yet. I'm open to your > ideas to make it better and eventually include it. It's definitely useful but... > ;; use the above > (advice-add 'ffap-latex-mode :override 'yf/ffap-latex-mode) ...since you override the Emacs builtin `ffap-latex-mode' function, why not improve ffap.el by making it use `kpsewhich' if that's available? Then this feature would be available to all emacs users, not only to AUCTeX users. Of course, I'd happily add a menu entry and/or keybinding for it in AUCTeX. Bye, Tassilo From unknown Sun Jun 22 11:49:43 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Nicolas Richard Subject: bug#21194: closed (Re: bug#21194: 2015-06-01; add support for ffap via kpsewhich) Message-ID: References: <86pp2we7b4.fsf@members.fsf.org> <86a8u5hc5b.fsf@members.fsf.org> X-Gnu-PR-Message: they-closed 21194 X-Gnu-PR-Package: auctex Reply-To: 21194@debbugs.gnu.org Date: Sun, 09 Aug 2015 16:50:04 +0000 Content-Type: multipart/mixed; boundary="----------=_1439139004-1824-1" This is a multi-part message in MIME format... ------------=_1439139004-1824-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #21194: 2015-06-01; add support for ffap via kpsewhich which was filed against the auctex package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 21194@debbugs.gnu.org. --=20 21194: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D21194 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1439139004-1824-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 21194-done) by debbugs.gnu.org; 9 Aug 2015 16:49:08 +0000 Received: from localhost ([127.0.0.1]:51373 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZOTmW-0000SI-7G for submit@debbugs.gnu.org; Sun, 09 Aug 2015 12:49:08 -0400 Received: from nm8-vm6.bullet.mail.ir2.yahoo.com ([212.82.96.140]:55741) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZOTmU-0000S9-CC for 21194-done@debbugs.gnu.org; Sun, 09 Aug 2015 12:49:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1439138945; bh=OH61Lk1P6z7kqFUqwN/jPcmt+t6XUEAntsYy+BW7dfo=; h=From:To:Cc:Subject:References:Date:From:Subject; b=JbkpRVgIjNAlYGmM7vk7oXGYFSpQCrD/aKO8pPF4S5IOKmXespaqmCNdLhETvRQHiX6gBB5IVSPkA8kGfULBTwysb4QoLxISNYis+mdWhHh4DQT0PCuMt2ZIXf8JZ1tQDkVnwFoLfGOors9CoC+WE4g86ACbtTomqt6PIoSK27Au4i6JyL5F5goRMS8wdmLq7w93fVvjs3uEer+5SphkmT/6sVpf77t35yQHdeX0O6GuHVKyOIbY8MDdj+zybMDv/Lbe5ORoUunAEXbjfppb5mL83/Z0Ya0kP97P4dgrBQbzzHvIgdZH3TnS+9me9qGh0DiE/fzn/zqKbL9t/kLNTw== Received: from [212.82.98.60] by nm8.bullet.mail.ir2.yahoo.com with NNFMP; 09 Aug 2015 16:49:05 -0000 Received: from [46.228.39.98] by tm13.bullet.mail.ir2.yahoo.com with NNFMP; 09 Aug 2015 16:49:05 -0000 Received: from [127.0.0.1] by smtp135.mail.ir2.yahoo.com with NNFMP; 09 Aug 2015 16:49:05 -0000 X-Yahoo-Newman-Id: 386911.39174.bm@smtp135.mail.ir2.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: wUrFSDkVM1k_aT7sV5xcFxzaokr0T4pifymofqZFzSIXwXl Hf9WkMOsqWBbY9Nk5CPaZuKKueEkEcBPs6dMyJ.u6Gmh8P3MRGAsmrbZQy6U 6QlVG1Znc9GF2XjmYX23NLGGmMNwOW21CJNI_RteqVDqYBW4oK9hS8u2SMnm 9kM1rtVy_GUHv3WjILf6Qm7oYxuWFDqJsqp4CPqXPLgSg0yCyLnzGbGM4YYQ jNB7U4wFH2C1FwV7Jlb6AaL.Jh0mTbkEX_ViRq8JoSQamWSBoS7_yVCFwC61 7IdJjj2pS78.6.rZ2IW9A1GvFrhgBWB5JjEMbTtHEDi38ot2GL4B1pePK8so TqbK4oBXyF3tvyQHLriM6vfAKqVCySKPMyceQQK1roILILCtulnW78uJ1z2y tjmQqEZDGxg5snCreZSHANzauHLKx7RFaOj0yVQ7fukBeP5dF6fXnr.vhVFt .9uCzOmh3O4SmBJckAK3AglNu47VKWtkkEjUWXncHViedv_.2OA17YWARdZz _tY8YMVi92Khuy5hsRM9end5XeaYYL_UbvUdpXeRMcd0JuvpiY5WtJEbKK2s - X-Yahoo-SMTP: 62rWct2swBAqKO_y6KiyXe3pZRcxSSoYuFEwRLrH6M41hw-- From: Nicolas Richard To: =?utf-8?Q?Mos=C3=A8?= Giordano Subject: Re: bug#21194: 2015-06-01; add support for ffap via kpsewhich References: <86a8u5hc5b.fsf@members.fsf.org> Date: Sun, 09 Aug 2015 18:49:03 +0200 Message-ID: <86pp2we7b4.fsf@members.fsf.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 21194-done Cc: 21194-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Hello Mos=C3=A8 Mos=C3=A8 Giordano writes: > This is smarter than your function in the sense that it looks at > current macro to determine the extension (didn't test it, but I think > your implementation would open "article.sty" instead of the more > sensible "article.cls" with point on "article"). Indeed, there are a few ways to confuse my code, but it doesn't bite me often (I never use article class anyway :p). I've fixed this nonetheless. I pushed the result to emacs master, so it should make its way to emacs 25.1. Thanks for your comments. --=20 Nico. ------------=_1439139004-1824-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 5 Aug 2015 17:35:13 +0000 Received: from localhost ([127.0.0.1]:40312 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZN2av-00011J-FU for submit@debbugs.gnu.org; Wed, 05 Aug 2015 13:35:13 -0400 Received: from eggs.gnu.org ([208.118.235.92]:39600) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZN2as-000114-Oo for submit@debbugs.gnu.org; Wed, 05 Aug 2015 13:35:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZN2am-0002bT-E6 for submit@debbugs.gnu.org; Wed, 05 Aug 2015 13:35:10 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_40,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:46142) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZN2am-0002b2-BK for submit@debbugs.gnu.org; Wed, 05 Aug 2015 13:35:04 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53091) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZN2al-0000Ni-3K for bug-auctex@gnu.org; Wed, 05 Aug 2015 13:35:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZN2ai-0002O9-Ch for bug-auctex@gnu.org; Wed, 05 Aug 2015 13:35:03 -0400 Received: from nm20-vm1.bullet.mail.ir2.yahoo.com ([212.82.96.243]:52801) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZN2ai-0002Mp-15 for bug-auctex@gnu.org; Wed, 05 Aug 2015 13:35:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1438796098; bh=IKhoha71T+CYj28Ati8e6t2Bdf4mAG5ybjgFYUa3H6c=; h=From:To:Subject:Date:From:Subject; b=UiGSwl+Sycw0Jmuc0yhq9AHaNo5stO8Zs5kJJve7eGDbPFKW83oB5N598GeWnOXrUMfzEA6sjH6r9TdqICMxZEDxChlmVLL4c2DiBj/PR45qgK5ik5IBL+Ubg75HGsGDMQaSyD7KIyBxH69BuPAl7F2ldutJ1eyUODimIrxErg7JRgEBpAjdu+F7gqcVk1pAunU+bh77PNnJSaoJOCEbttD9nnU1JeWRrPyXN6LFsnzql08cvk0uwh08RF6ezLUGkFoCrQ7hbyDBCXKkqlwv9Ln4v/Eig3ao/31+ZjrLKKSqGQZclfPC6IYRIECLxj5N6VkisULwFX6ndcnKpDCyLw== Received: from [212.82.98.51] by nm20.bullet.mail.ir2.yahoo.com with NNFMP; 05 Aug 2015 17:34:58 -0000 Received: from [46.228.39.71] by tm4.bullet.mail.ir2.yahoo.com with NNFMP; 05 Aug 2015 17:34:58 -0000 Received: from [127.0.0.1] by smtp108.mail.ir2.yahoo.com with NNFMP; 05 Aug 2015 17:34:58 -0000 X-Yahoo-Newman-Id: 17477.90284.bm@smtp108.mail.ir2.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: p_FPAnQVM1mI1CQnx_0ZmWDVr8bKBpC4kPXcDlMjMwvVE3v e5JiEadbSiI93VFRogtsMckBFtP62aXo20ep2jfxwqrz1vpkeMfZ7_zl7SoI LYvqJGT6DeaSy_aG.0qtPFXLSWo2j_qJ_YSP61gpuSIJsG4oxUo2YiwoXpmL klAf5PMf6rytxonWH9BoqU9lPZEtAxDMYYQe36pzeK887vgr6drKZNKB5hbA Mhlaav4RPniMLbMzj04Lo77OP83mm9KG7tFZQN2lVG52jYlqw54fqq6T8lU5 xr24x3dmND4YyDLe4OYhUJGnjXGx8sLjzBdFBAFpLrQiuveLwjln2QX_fOMf f1UW_omLbxfyAn9mzUgbypsSNLAmcpTk_JjxQZ3kZ7rrwqVS0SgzGdERcNw6 SickRbXusXb7aCwhknzSj3gJ89bRab2apOTUPPgJVEUmDCIkxgN0PsSpJXpN 2FRdhHeSWxVArhqIwE_AxAdO7M8k39HH3_ogtUkxj7k1sVdE2fJUPU0ND7NR IPpDHuQFFD6BqLF4jcgyBqhmAFQtl2oU03VuvrgKB881h2WqKxVACAA-- X-Yahoo-SMTP: 62rWct2swBAqKO_y6KiyXe3pZRcxSSoYuFEwRLrH6M41hw-- From: Nicolas Richard To: bug-auctex@gnu.org Subject: 2015-06-01; add support for ffap via kpsewhich Date: Wed, 05 Aug 2015 19:34:56 +0200 Message-ID: <86a8u5hc5b.fsf@members.fsf.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hi all, I'm using the following customizations, which I thought I'd share with you. As the subject says it, it uses kpsewhich for guessing a filename at point. It allows to use M-x ffap with point on "geometry" to find geometry.sty, or with point on "memoir" to find memoir.cls. It is very quick because it calls kpsewhich only once. I'm not making this into an actual patch because while it works fine on my system, it's not ready for inclusion yet. I'm open to your ideas to make it better and eventually include it. ;; a first step is : ;; don't allow braces as possible characters in a filename (otherwise ;; \input{foo} is seen as a possible filename, instead of just foo) ;; (this is because of a recent change in emacs, see commit ;; ba6c32b6decaa2a72a3d5f854efd513e8e82c118 for detail) (push '(latex-mode "--:\\\\$+<>@-Z_[:alpha:]~*?" "<@" "@>;.,!:") ffap-string-at-point-mode-alist) ;; second step is to extend rules for finding file at point, and use kpsewhich (defun yf/ffap-latex-mode (name) "ffap function in latex buffers" (if (file-exists-p name) name (let ((curbuf (current-buffer))) (with-temp-buffer (let ((suffixes '(".sty" ".cls" ".ltx" ".tex" "" ".ldf")) (prefixes '("" "beamertheme" "beamercolortheme" "beamerfonttheme" "beamerinnertheme" "beameroutertheme")) args) (setq args (apply #'append (mapcar (lambda (suffix) (mapcar (lambda (prefix) (concat prefix name suffix)) prefixes)) suffixes))) (let ((process-environment (buffer-local-value 'process-environment curbuf)) (exec-path (buffer-local-value 'exec-path curbuf))) (apply #'call-process "kpsewhich" nil t nil args)) (when (< (point-min) (point-max)) (buffer-substring (goto-char (point-min)) (point-at-eol)))))))) ;; use the above (advice-add 'ffap-latex-mode :override 'yf/ffap-latex-mode) Comments welcome! Nicolas. ------------=_1439139004-1824-1-- From unknown Sun Jun 22 11:49:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#21194: 2015-06-01; add support for ffap via kpsewhich In-Reply-To: <86a8u5hc5b.fsf@members.fsf.org> Resent-From: Nicolas Richard Original-Sender: "Debbugs-submit" Resent-CC: bug-auctex@gnu.org Resent-Date: Sun, 09 Aug 2015 16:51:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 21194 X-GNU-PR-Package: auctex X-GNU-PR-Keywords: To: Tassilo Horn Cc: 21194@debbugs.gnu.org Received: via spool by 21194-submit@debbugs.gnu.org id=B21194.14391390211903 (code B ref 21194); Sun, 09 Aug 2015 16:51:01 +0000 Received: (at 21194) by debbugs.gnu.org; 9 Aug 2015 16:50:21 +0000 Received: from localhost ([127.0.0.1]:51381 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZOTng-0000Ud-LN for submit@debbugs.gnu.org; Sun, 09 Aug 2015 12:50:20 -0400 Received: from nm37-vm3.bullet.mail.ir2.yahoo.com ([212.82.97.144]:60912) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZOTnf-0000UW-C7 for 21194@debbugs.gnu.org; Sun, 09 Aug 2015 12:50:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1439139018; bh=vijspImxGjtJ50aaNlae8YxOmEESwzaYwmvW0+Xxq8A=; h=From:To:Cc:Subject:References:Date:From:Subject; b=VMB0ymxAjZcYeKvXs8WRuTDfHWLwEdUi7kkrb9xpVVL1mGzkwKZsexHzvwgjoZc/tseVkZOuH11cOD/tcnRBv7OxuRGYuytX8KRQNonpG/LLV06MBxb4y1MPit3u6n5T+H5a+sCUaF1cul4YybTqKB0XL8ohtSzZhqR/QItIZ+tPIweswOAnQhtIS2FZoqYS1ROtUQQ8xXxdZEfZ+aPZGX4F2E4SOgj6gWhYtpm1c6QRNzB6JAWkdP/44DrqwCkBntnd2mqqOSEmkLRJ0GPpNqBUynMW7A0wP4S3JCjX5UNIUqXTkluQgRDpqFdecHQIwOqBrm/Lo8nuJ6uCjgCKIg== Received: from [212.82.98.124] by nm37.bullet.mail.ir2.yahoo.com with NNFMP; 09 Aug 2015 16:50:18 -0000 Received: from [46.228.39.92] by tm17.bullet.mail.ir2.yahoo.com with NNFMP; 09 Aug 2015 16:50:18 -0000 Received: from [127.0.0.1] by smtp129.mail.ir2.yahoo.com with NNFMP; 09 Aug 2015 16:50:18 -0000 X-Yahoo-Newman-Id: 580780.34629.bm@smtp129.mail.ir2.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: s1FmfFwVM1lvVwriTtKgfqjOEkbao5bIqmVTGwwdJBilNWd yM1ObxmPdqfO3aDbKNcV1IK5CIqeqG9xNINyIpXomK955tlayzsITUovCL0P _ms6fiARnlRuuXhriVUx3d36dbSVbh9mmlz40o4vlL6HK2R4wWeBOSO4RtV6 5kKcRylX.4tC8MraGHnZ.KYCsjeCuBBIC3zc7UZxE1BelY9P3avfUJxsc74b AwWCIiEaC92Gfdt1xgEufNRvPY3Dk_ec6YZ3yAirj4jzPnMxdAQpW9Y97Tbu JRbZyF64aDzhJcW76ORWUsTJlIKuFKAV3wwlTEI8EZMThcDhVUoXM0ODLvb9 qB08FkKx3pXIznMoO8gy9Ji1__T3_OGZ3VQFLc9fpdUgdTDEU3EdM3IOYCnu olcCW7h2X5B5bsvC9IkZ0oEWQ2poSda.mxV0Ccv8cJAfAwDHbi6PlV6f_eQI X4bImHw3y_AASpqSZz4Lp5Km2JzbLYn9n7KqFT2XaiB0OEhEle8yZFLvERBz VVaIts2iwwa1ks7aFA7pnrcSz8pMGxoHYWxbbbsK1uvaZ.RkDly83SMKO X-Yahoo-SMTP: 62rWct2swBAqKO_y6KiyXe3pZRcxSSoYuFEwRLrH6M41hw-- From: Nicolas Richard References: <86a8u5hc5b.fsf@members.fsf.org> <877fp9pox7.fsf@gnu.org> Date: Sun, 09 Aug 2015 18:50:17 +0200 Message-ID: <86egjce792.fsf@members.fsf.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hello Tassilo, Thanks for your comment. Tassilo Horn writes: > ...since you override the Emacs builtin `ffap-latex-mode' function, why > not improve ffap.el by making it use `kpsewhich' if that's available? Because it's about LaTeX and my brain somehow always associates LaTeX with AUCTeX. Silly brain. I followed your advice and pushed this to emacs master just now. Nicolas. From unknown Sun Jun 22 11:49:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#21194: 2015-06-01; add support for ffap via kpsewhich Resent-From: =?UTF-8?Q?Mos=C3=A8?= Giordano Original-Sender: "Debbugs-submit" Resent-CC: bug-auctex@gnu.org Resent-Date: Sun, 09 Aug 2015 17:03:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 21194 X-GNU-PR-Package: auctex X-GNU-PR-Keywords: To: Nicolas Richard Cc: 21194@debbugs.gnu.org Received: via spool by 21194-submit@debbugs.gnu.org id=B21194.14391397562972 (code B ref 21194); Sun, 09 Aug 2015 17:03:01 +0000 Received: (at 21194) by debbugs.gnu.org; 9 Aug 2015 17:02:36 +0000 Received: from localhost ([127.0.0.1]:51385 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZOTzX-0000lr-WC for submit@debbugs.gnu.org; Sun, 09 Aug 2015 13:02:36 -0400 Received: from eggs.gnu.org ([208.118.235.92]:37425) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZOTzE-0000lQ-9j for 21194@debbugs.gnu.org; Sun, 09 Aug 2015 13:02:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZOTzA-0005sL-Q5 for 21194@debbugs.gnu.org; Sun, 09 Aug 2015 13:02:15 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:37827) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZOTzA-0005sB-Na for 21194@debbugs.gnu.org; Sun, 09 Aug 2015 13:02:12 -0400 Received: from mail-ig0-f176.google.com ([209.85.213.176]:38637) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_ARCFOUR_SHA1:128) (Exim 4.82) (envelope-from ) id 1ZOTzA-0002xH-CH for 21194@debbugs.gnu.org; Sun, 09 Aug 2015 13:02:12 -0400 Received: by igfj19 with SMTP id j19so37277798igf.1 for <21194@debbugs.gnu.org>; Sun, 09 Aug 2015 10:02:11 -0700 (PDT) X-Received: by 10.50.137.100 with SMTP id qh4mr6996630igb.1.1439139731538; Sun, 09 Aug 2015 10:02:11 -0700 (PDT) MIME-Version: 1.0 Received: by 10.36.31.201 with HTTP; Sun, 9 Aug 2015 10:01:32 -0700 (PDT) In-Reply-To: <86pp2we7b4.fsf@members.fsf.org> References: <86a8u5hc5b.fsf@members.fsf.org> <86pp2we7b4.fsf@members.fsf.org> From: =?UTF-8?Q?Mos=C3=A8?= Giordano Date: Sun, 9 Aug 2015 19:01:32 +0200 Message-ID: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hi Nicolas, 2015-08-09 18:49 GMT+02:00 Nicolas Richard : > Hello Mos=C3=A8 > > Mos=C3=A8 Giordano writes: >> This is smarter than your function in the sense that it looks at >> current macro to determine the extension (didn't test it, but I think >> your implementation would open "article.sty" instead of the more >> sensible "article.cls" with point on "article"). > > Indeed, there are a few ways to confuse my code, but it doesn't bite me > often (I never use article class anyway :p). I've fixed this nonetheless. > > I pushed the result to emacs master, so it should make its way to emacs > 25.1. Cool! Thank you! Bye, Mos=C3=A8