[-- Attachment #1: Type: text/plain, Size: 1330 bytes --] 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))))) [-- Attachment #2: Type: text/html, Size: 2041 bytes --]
Hello,
"Frankie Y. Liu" <frankie.y.liu@gmail.com> writes:
> 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"))
What is "\d+"? You may want to try [0-9]+ insteal.
Regards,
--
Nicolas Goaziou
[-- Attachment #1: Type: text/plain, Size: 714 bytes --] Hi Nicolas, For: \\.pdf:\\([0-9]+\\)\\' [0-9]+ vs \d+ same issue, since the path not the link is being matched. Example: file:foo.pdf::1 will be matching on file:foo.pdf and the ::1 is dropped. Therefore it doesn't matter what you put after :: it is not being used. On Thu, Apr 12, 2018 at 12:38 PM, Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote: > Hello, > > "Frankie Y. Liu" <frankie.y.liu@gmail.com> writes: > > > 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")) > > What is "\d+"? You may want to try [0-9]+ insteal. > > Regards, > > -- > Nicolas Goaziou > [-- Attachment #2: Type: text/html, Size: 1455 bytes --]
Hello, "Frankie Y. Liu" <frankie.y.liu@gmail.com> writes: > For: > > \\.pdf:\\([0-9]+\\)\\' You forgot a colon. > [0-9]+ vs \d+ same issue, since the path not the link is being > matched. > > Example: > file:foo.pdf::1 will be matching on file:foo.pdf and the ::1 is > dropped. I cannot reproduce it here. The function `org-file-apps-entry-match-against-dlink-p' is responsible for deciding if a link needs to be matched in full, or not. Regards, -- Nicolas Goaziou 0x80A93738
[-- Attachment #1: Type: text/plain, Size: 924 bytes --] Hi Nicolas, Sorry I mistyped in the message, I did have two colons when trying it out. I will look into the function you pointed out. When you said you cannot reproduce it, does that mean it works/matches for you? I am using Emacs 25.3.5 and org-20180226 -f On Sat, Apr 14, 2018 at 12:42 AM, Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote: > Hello, > > "Frankie Y. Liu" <frankie.y.liu@gmail.com> writes: > > > For: > > > > \\.pdf:\\([0-9]+\\)\\' > > You forgot a colon. > > > [0-9]+ vs \d+ same issue, since the path not the link is being > > matched. > > > > Example: > > file:foo.pdf::1 will be matching on file:foo.pdf and the ::1 is > > dropped. > > > I cannot reproduce it here. The function > `org-file-apps-entry-match-against-dlink-p' is responsible for deciding > if a link needs to be matched in full, or not. > > Regards, > > -- > Nicolas Goaziou 0x80A93738 > [-- Attachment #2: Type: text/html, Size: 1662 bytes --]
"Frankie Y. Liu" <frankie.y.liu@gmail.com> writes:
> When you said you cannot reproduce it, does that mean it works/matches for
> you?
It does, indeed.