From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Frankie Y. Liu" Subject: org-file-apps regex matching against path not link Date: Thu, 12 Apr 2018 12:22:48 -0700 Message-ID: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="f403045c1ada5b6c610569abae58" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35703) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f6ho4-0003D6-5x for emacs-orgmode@gnu.org; Thu, 12 Apr 2018 15:22:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f6ho3-0003yC-5i for emacs-orgmode@gnu.org; Thu, 12 Apr 2018 15:22:52 -0400 Received: from mail-wm0-x22c.google.com ([2a00:1450:400c:c09::22c]:51032) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f6ho2-0003xV-Ty for emacs-orgmode@gnu.org; Thu, 12 Apr 2018 15:22:51 -0400 Received: by mail-wm0-x22c.google.com with SMTP id t67so443107wmt.0 for ; Thu, 12 Apr 2018 12:22:50 -0700 (PDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: emacs-orgmode@gnu.org --f403045c1ada5b6c610569abae58 Content-Type: text/plain; charset="UTF-8" I wanted to open a pdf at a particular page, the instructions under org-file-apps suggested using (add-to-list 'org-file-apps '("\\.pdf::\\(\\d+\\)\\'" . "evince -p %1 %s")) This doesn't work because the regular expression doesn't parse the link but the path. Therefore the ::(\d+) part is not being matched. I had to write my own version using both file and link but maybe there is a better way -- or a more elegant solution than what I have below. Please let me know. (add-to-list 'org-file-apps '("\\.pdf\\'" . (lambda (file link) (let* ((mylink (split-string link "::")) (option (> (length mylink) 1)) (cmd (concat "evince " file (and option (concat " -p " (nth 1 mylink)))))) (message "Running %s...done" cmd) (start-process-shell-command cmd nil cmd))))) --f403045c1ada5b6c610569abae58 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+SSB3YW50ZWQgdG8gb3BlbiBhIHBkZiBhdCBhIHBhcnRpY3VsYXIgcGFn ZSwgdGhlIGluc3RydWN0aW9ucyB1bmRlciBvcmctZmlsZS1hcHBzIHN1Z2dlc3RlZCB1c2luZ8Kg PGRpdj48YnI+PGRpdj4oYWRkLXRvLWxpc3QgJiMzOTtvcmctZmlsZS1hcHBzICYjMzk7KCZxdW90 O1xcLnBkZjo6XFwoXFxkK1xcKVxcJiMzOTsmcXVvdDsgLiAmcXVvdDtldmluY2UgLXAgJTEgJXMm cXVvdDspKTxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlRoaXMgZG9lc24mIzM5O3Qgd29y ayBiZWNhdXNlIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gZG9lc24mIzM5O3QgcGFyc2UgdGhlIGxp bmsgYnV0IHRoZSBwYXRoLsKgIFRoZXJlZm9yZSB0aGUgOjooXGQrKSBwYXJ0IGlzIG5vdCBiZWlu ZyBtYXRjaGVkLjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkkgaGFkIHRvIHdyaXRlIG15 IG93biB2ZXJzaW9uIHVzaW5nIGJvdGggZmlsZSBhbmQgbGluayBidXQgbWF5YmUgdGhlcmUgaXMg YSBiZXR0ZXIgd2F5IC0tIG9yIGEgbW9yZSBlbGVnYW50IHNvbHV0aW9uIHRoYW4gd2hhdCBJIGhh dmUgYmVsb3cuwqAgUGxlYXNlIGxldCBtZSBrbm93LjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+ KGFkZC10by1saXN0ICYjMzk7b3JnLWZpbGUtYXBwczxicj48L2Rpdj48ZGl2PsKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgJiMzOTsoJnF1b3Q7XFwucGRmXFwmIzM5OyZxdW90OyAu PC9kaXY+PGRpdj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoChsYW1iZGE8 L2Rpdj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKGZpbGUg bGluayk8L2Rpdj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg KGxldCo8L2Rpdj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgKChteWxpbms8L2Rpdj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgKHNwbGl0LXN0cmluZyBsaW5rICZxdW90Ozo6JnF1b3Q7KSk8L2Rp dj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIChv cHRpb248L2Rpdj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgKCZndDs8L2Rpdj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIChsZW5ndGggbXlsaW5rKTwvZGl2PjxkaXY+wqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgMSkpPC9kaXY+PGRpdj7CoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAoY21kPC9kaXY+PGRp dj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoChjb25j YXQgJnF1b3Q7ZXZpbmNlICZxdW90OyBmaWxlPC9kaXY+PGRpdj7CoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoChhbmQgb3B0aW9uPC9k aXY+PGRpdj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCAoY29uY2F0ICZxdW90OyAtcCAmcXVvdDs8L2Rpdj48ZGl2PsKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIChudGggMSBteWxpbmspKSkpKSk8L2Rpdj48ZGl2PsKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKG1lc3NhZ2UgJnF1b3Q7UnVu bmluZyAlcy4uLmRvbmUmcXVvdDsgY21kKTwvZGl2PjxkaXY+wqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAoc3RhcnQtcHJvY2Vzcy1zaGVsbC1jb21tYW5kIGNtZCBu aWwgY21kKSkpKSk8L2Rpdj48ZGl2Pjxicj48L2Rpdj48L2Rpdj48L2Rpdj4NCg== --f403045c1ada5b6c610569abae58--