* org-pdfview-open doesn't work anymore
@ 2016-02-05 5:46 Julien Cubizolles
2016-02-05 8:33 ` Michael Brand
0 siblings, 1 reply; 12+ messages in thread
From: Julien Cubizolles @ 2016-02-05 5:46 UTC (permalink / raw)
To: emacs-orgmode
I've been using org-pdfview (from
https://github.com/markus1189/org-pdfview) to have org-mode open pdf
files generated during export.
--8<---------------cut here---------------start------------->8---
(pdf-tools-install)
(eval-after-load 'org '(progn (require 'org-pdfview)
(add-to-list 'org-file-apps '("\\.pdf\\'" . org-pdfview-open))
))
--8<---------------cut here---------------end--------------->8---
Since a recent upgrade, this fails with:
--8<---------------cut here---------------start------------->8---
(wrong-number-of-arguments #[(link) "\304\305\b\"\2031\306\307\b\"\310\306\311\b\"!\310\306\312\b\"!\313 \307\"\210\314
!\210\315\316\v\317 @_\320 \245!!+\207\304\321\b\"\203N\306\307\b\"\310\306\311\b\"!\313 \307\"\210\314
!*\207\313\b\307\"\207" [link path page height string-match "\\(.*\\)::\\([0-9]*\\)\\+\\+\\([[0-9]\\.*[0-9]*\\)" match-string 1 string-to-number 2 3 org-open-file pdf-view-goto-page image-set-window-vscroll round pdf-view-image-size frame-char-height "\\(.*\\)::\\([0-9]+\\)$"] 4 ("/home/wilk/.emacs.d/elpa/org-pdfview-20160125.1254/org-pdfview.elc" . 662)] 2)
org-pdfview-open("/home/wilk/enseignement/2015-2016/topos/topo-tipe-beamer.pdf" "/home/wilk/enseignement/2015-2016/topos/topo-tipe-beamer.pdf")
--8<---------------cut here---------------end--------------->8---
Is it a bug in Org-mode or should I report the issue to the org-pdfview
author ?
Julien.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: org-pdfview-open doesn't work anymore
2016-02-05 5:46 org-pdfview-open doesn't work anymore Julien Cubizolles
@ 2016-02-05 8:33 ` Michael Brand
2016-02-05 13:36 ` Nicolas Goaziou
2016-02-05 13:45 ` Michael Brand
0 siblings, 2 replies; 12+ messages in thread
From: Michael Brand @ 2016-02-05 8:33 UTC (permalink / raw)
To: Julien Cubizolles; +Cc: Org Mode
Hi Julien
On Fri, Feb 5, 2016 at 6:46 AM, Julien Cubizolles <j.cubizolles@free.fr> wrote:
> I've been using org-pdfview (from
> https://github.com/markus1189/org-pdfview) to have org-mode open pdf
> files generated during export.
>
> --8<---------------cut here---------------start------------->8---
> (pdf-tools-install)
> (eval-after-load 'org '(progn (require 'org-pdfview)
> (add-to-list 'org-file-apps '("\\.pdf\\'" . org-pdfview-open))
> ))
> --8<---------------cut here---------------end--------------->8---
>
> Since a recent upgrade, this fails with:
>
> --8<---------------cut here---------------start------------->8---
> (wrong-number-of-arguments #[(link) "\304\305 \"\2031\306\307 \"\310\306\311 \"!\310\306\312 \"!\313 \307\"\210\314
> !\210\315\316 \317 @_\320 \245!!+\207\304\321 \"\203N\306\307 \"\310\306\311 \"!\313 \307\"\210\314
> !*\207\313 \307\"\207" [link path page height string-match "\\(.*\\)::\\([0-9]*\\)\\+\\+\\([[0-9]\\.*[0-9]*\\)" match-string 1 string-to-number 2 3 org-open-file pdf-view-goto-page image-set-window-vscroll round pdf-view-image-size frame-char-height "\\(.*\\)::\\([0-9]+\\)$"] 4 ("/home/wilk/.emacs.d/elpa/org-pdfview-20160125.1254/org-pdfview.elc" . 662)] 2)
> org-pdfview-open("/home/wilk/enseignement/2015-2016/topos/topo-tipe-beamer.pdf" "/home/wilk/enseignement/2015-2016/topos/topo-tipe-beamer.pdf")
> --8<---------------cut here---------------end--------------->8---
>
> Is it a bug in Org-mode or should I report the issue to the org-pdfview
> author ?
Due to lexical binding in org.el there was a change in
`org-file-apps', see Org News for version 9.0 and e. g. this thread:
http://thread.gmane.org/gmane.emacs.orgmode/104272
I think the most convenient would be if `org-open-file' tries to find
out that `cmd' in this case is a function with only one argument and
call it with just `file'.
@Nicolas: Is this reasonable for you to implement?
Michael
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: org-pdfview-open doesn't work anymore
2016-02-05 8:33 ` Michael Brand
@ 2016-02-05 13:36 ` Nicolas Goaziou
2016-02-10 12:55 ` Julien Cubizolles
2016-02-05 13:45 ` Michael Brand
1 sibling, 1 reply; 12+ messages in thread
From: Nicolas Goaziou @ 2016-02-05 13:36 UTC (permalink / raw)
To: Michael Brand; +Cc: Org Mode, Julien Cubizolles
Hello,
Michael Brand <michael.ch.brand@gmail.com> writes:
> Hi Julien
>
> On Fri, Feb 5, 2016 at 6:46 AM, Julien Cubizolles <j.cubizolles@free.fr> wrote:
>> I've been using org-pdfview (from
>> https://github.com/markus1189/org-pdfview) to have org-mode open pdf
>> files generated during export.
>>
>> --8<---------------cut here---------------start------------->8---
>> (pdf-tools-install)
>> (eval-after-load 'org '(progn (require 'org-pdfview)
>> (add-to-list 'org-file-apps '("\\.pdf\\'" . org-pdfview-open))
>> ))
>> --8<---------------cut here---------------end--------------->8---
>>
>> Since a recent upgrade, this fails with:
>>
>> --8<---------------cut here---------------start------------->8---
>> (wrong-number-of-arguments #[(link) "\304\305 \"\2031\306\307 \"\310\306\311 \"!\310\306\312 \"!\313 \307\"\210\314
>> !\210\315\316 \317 @_\320 \245!!+\207\304\321 \"\203N\306\307 \"\310\306\311 \"!\313 \307\"\210\314
>> !*\207\313 \307\"\207" [link path page height string-match "\\(.*\\)::\\([0-9]*\\)\\+\\+\\([[0-9]\\.*[0-9]*\\)" match-string 1 string-to-number 2 3 org-open-file pdf-view-goto-page image-set-window-vscroll round pdf-view-image-size frame-char-height "\\(.*\\)::\\([0-9]+\\)$"] 4 ("/home/wilk/.emacs.d/elpa/org-pdfview-20160125.1254/org-pdfview.elc" . 662)] 2)
>> org-pdfview-open("/home/wilk/enseignement/2015-2016/topos/topo-tipe-beamer.pdf" "/home/wilk/enseignement/2015-2016/topos/topo-tipe-beamer.pdf")
>> --8<---------------cut here---------------end--------------->8---
>>
>> Is it a bug in Org-mode or should I report the issue to the org-pdfview
>> author ?
>
> Due to lexical binding in org.el there was a change in
> `org-file-apps', see Org News for version 9.0 and e. g. this thread:
> http://thread.gmane.org/gmane.emacs.orgmode/104272
> I think the most convenient would be if `org-open-file' tries to find
> out that `cmd' in this case is a function with only one argument and
> call it with just `file'.
>
> @Nicolas: Is this reasonable for you to implement?
I think the simplest solution may be to follow the advice in ORG-NEWS
and use
(lambda (file link) (org-pdfview-open file))
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: org-pdfview-open doesn't work anymore
2016-02-05 8:33 ` Michael Brand
2016-02-05 13:36 ` Nicolas Goaziou
@ 2016-02-05 13:45 ` Michael Brand
2016-02-05 17:22 ` Nicolas Goaziou
1 sibling, 1 reply; 12+ messages in thread
From: Michael Brand @ 2016-02-05 13:45 UTC (permalink / raw)
To: Org Mode; +Cc: Julien Cubizolles
[-- Attachment #1: Type: text/plain, Size: 797 bytes --]
Hi Nicolas
On Fri, Feb 5, 2016 at 9:33 AM, Michael Brand
<michael.ch.brand@gmail.com> wrote:
> Due to lexical binding in org.el there was a change in
> `org-file-apps', see Org News for version 9.0 and e. g. this thread:
> http://thread.gmane.org/gmane.emacs.orgmode/104272
> I think the most convenient would be if `org-open-file' tries to find
> out that `cmd' in this case is a function with only one argument and
> call it with just `file'.
Only after a closer look I saw that the single parameter of
`org-pdfview-open' is not `file' but `link'. It is probably better for
`org-open-file' to not guess in case of `cmd' with a single parameter
whether it is meant to be `file' or `link'. That leads me to suggest
the attached patch to be reviewed that checks the function signature.
Michael
[-- Attachment #2: 0001-org-file-apps-add-migration-hint-for-function-signat.patch --]
[-- Type: text/x-patch, Size: 1797 bytes --]
From 9788cb03d2714cde555fbe2abb55ddd383a885c1 Mon Sep 17 00:00:00 2001
From: Michael Brand <michael.ch.brand@gmail.com>
Date: Fri, 5 Feb 2016 14:44:26 +0100
Subject: [PATCH] `org-file-apps' add migration hint for function signature
* lisp/org.el (org-open-file): Add an error when the function
signature does not match.
---
lisp/org.el | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/lisp/org.el b/lisp/org.el
index 5a6c74e..9ebabf8 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -11323,6 +11323,18 @@ If the file does not exist, an error is thrown."
(when (derived-mode-p 'org-mode) (org-reveal)))
(search (org-link-search search))))
((functionp cmd)
+ ;; FIXME: Remove this check when most default installations of
+ ;; Emacs have at least Org 9.0.
+ (let ((arglist (help-function-arglist cmd)))
+ (when (or (memq '&optional arglist)
+ (memq '&rest arglist)
+ (/= 2 (length arglist)))
+ (user-error
+ (format
+ "%s%s%S"
+ "Please see Org News for version 9.0 about `org-file-apps', "
+ "this function signature is wrong: "
+ cmd))))
(save-match-data
(set-match-data link-match-data)
(funcall cmd file link)))
@@ -11333,7 +11345,10 @@ If the file does not exist, an error is thrown."
;; `org-link-frame-setup' for an old usage of `org-file-apps'
;; with sexp instead of a function for `cmd'.
(user-error
- "Please see Org News for version 9.0 about `org-file-apps'"))
+ (format "%s%s%S"
+ "Please see Org News for version 9.0 about `org-file-apps', "
+ "this usage is wrong: "
+ cmd)))
(t (funcall (cdr (assq 'file org-link-frame-setup)) file)))
(and (derived-mode-p 'org-mode)
(eq old-mode 'org-mode)
--
2.1.3.dirty
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: org-pdfview-open doesn't work anymore
2016-02-05 13:45 ` Michael Brand
@ 2016-02-05 17:22 ` Nicolas Goaziou
2016-02-05 18:47 ` Michael Brand
0 siblings, 1 reply; 12+ messages in thread
From: Nicolas Goaziou @ 2016-02-05 17:22 UTC (permalink / raw)
To: Michael Brand; +Cc: Org Mode, Julien Cubizolles
Hello,
Michael Brand <michael.ch.brand@gmail.com> writes:
> + ;; FIXME: Remove this check when most default installations of
> + ;; Emacs have at least Org 9.0.
> + (let ((arglist (help-function-arglist cmd)))
> + (when (or (memq '&optional arglist)
> + (memq '&rest arglist)
> + (/= 2 (length arglist)))
> + (user-error
> + (format
> + "%s%s%S"
> + "Please see Org News for version 9.0 about `org-file-apps', "
> + "this function signature is wrong: "
> + cmd))))
I have the feeling there is some over-engineering involved there.
In any case, instead of relying on `help-function-arglist', I suggest to
use something lightweight:
(condition-case err
(funcall ...)
(wrong-number-of-arguments
(user-error "Please ..."))
(invalid-function
(user-error "Please ...")))
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: org-pdfview-open doesn't work anymore
2016-02-05 17:22 ` Nicolas Goaziou
@ 2016-02-05 18:47 ` Michael Brand
2016-02-05 22:43 ` Nicolas Goaziou
0 siblings, 1 reply; 12+ messages in thread
From: Michael Brand @ 2016-02-05 18:47 UTC (permalink / raw)
To: Org Mode; +Cc: Julien Cubizolles
[-- Attachment #1: Type: text/plain, Size: 1658 bytes --]
Hi Nicolas
On Fri, Feb 5, 2016 at 6:22 PM, Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote:
> Michael Brand <michael.ch.brand@gmail.com> writes:
>> + ;; FIXME: Remove this check when most default installations of
>> + ;; Emacs have at least Org 9.0.
>> + (let ((arglist (help-function-arglist cmd)))
>> + (when (or (memq '&optional arglist)
>> + (memq '&rest arglist)
>> + (/= 2 (length arglist)))
>> + (user-error
>> + (format
>> + "%s%s%S"
>> + "Please see Org News for version 9.0 about `org-file-apps', "
>> + "this function signature is wrong: "
>> + cmd))))
>
> I have the feeling there is some over-engineering involved there.
Also it should have allowed at least optional arguments
(when (or (memq
;; Too complicated to parse regarding that such functions
;; are probably not useful here.
'&rest
arglist)
(/= 2 (length (delete '&optional arglist))))
(user-error
for e. g. a simple
(add-to-list 'org-file-apps
(cons (concat org-player-file-extensions-regexp "$")
'org-player-play-file))
which refers to the existing
(defun org-player-play-file (filename &optional pos)
> In any case, instead of relying on `help-function-arglist', I suggest to
> use something lightweight:
>
> (condition-case err
> (funcall ...)
> (wrong-number-of-arguments
> (user-error "Please ..."))
> (invalid-function
> (user-error "Please ...")))
Of course. I didn't know about this possibility, remixed patch attached.
Michael
[-- Attachment #2: 0001-org-file-apps-add-migration-hint-for-function-signat.patch --]
[-- Type: text/x-patch, Size: 1914 bytes --]
From f1c382cabe5b34f52db22df70d5c25e02de2a18a Mon Sep 17 00:00:00 2001
From: Michael Brand <michael.ch.brand@gmail.com>
Date: Fri, 5 Feb 2016 19:42:55 +0100
Subject: [PATCH] `org-file-apps' add migration hint for function signature
* lisp/org.el (org-open-file): Add an error when the function
signature does not match.
---
lisp/org.el | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/lisp/org.el b/lisp/org.el
index d4fb8a6..f6c5f89 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -11323,9 +11323,18 @@ If the file does not exist, an error is thrown."
(when (derived-mode-p 'org-mode) (org-reveal)))
(search (org-link-search search))))
((functionp cmd)
- (save-match-data
- (set-match-data link-match-data)
- (funcall cmd file link)))
+ (condition-case err
+ (save-match-data
+ (set-match-data link-match-data)
+ (funcall cmd file link))
+ ;; FIXME: Remove this check when most default installations of
+ ;; Emacs have at least Org 9.0.
+ ((wrong-number-of-arguments invalid-function)
+ (user-error
+ (concat
+ "Please see Org News for version 9.0 about `org-file-apps', "
+ "error: "
+ (prin1-to-string err))))))
((consp cmd)
;; FIXME: Remove this check when most default installations of
;; Emacs have at least Org 9.0.
@@ -11333,7 +11342,9 @@ If the file does not exist, an error is thrown."
;; `org-link-frame-setup' for an old usage of `org-file-apps'
;; with sexp instead of a function for `cmd'.
(user-error
- "Please see Org News for version 9.0 about `org-file-apps'"))
+ (concat "Please see Org News for version 9.0 about `org-file-apps', "
+ "error: deprecated usage of "
+ (prin1-to-string cmd))))
(t (funcall (cdr (assq 'file org-link-frame-setup)) file)))
(and (derived-mode-p 'org-mode)
(eq old-mode 'org-mode)
--
2.1.3.dirty
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: org-pdfview-open doesn't work anymore
2016-02-05 18:47 ` Michael Brand
@ 2016-02-05 22:43 ` Nicolas Goaziou
2016-02-06 8:08 ` Michael Brand
0 siblings, 1 reply; 12+ messages in thread
From: Nicolas Goaziou @ 2016-02-05 22:43 UTC (permalink / raw)
To: Michael Brand; +Cc: Org Mode, Julien Cubizolles
Hello,
Michael Brand <michael.ch.brand@gmail.com> writes:
> + ;; FIXME: Remove this check when most default installations of
> + ;; Emacs have at least Org 9.0.
> + ((wrong-number-of-arguments invalid-function)
> + (user-error
> + (concat
> + "Please see Org News for version 9.0 about `org-file-apps', "
> + "error: "
> + (prin1-to-string err))))))
(user-error
"Please see Org News for version 9.0 about `org-file-apps', error: %S"
(nth 1 err))
You can use continuation character (i.e., "\" followed by a newline) if
string is too large.
> ((consp cmd)
> ;; FIXME: Remove this check when most default installations of
> ;; Emacs have at least Org 9.0.
> @@ -11333,7 +11342,9 @@ If the file does not exist, an error is thrown."
> ;; `org-link-frame-setup' for an old usage of `org-file-apps'
> ;; with sexp instead of a function for `cmd'.
> (user-error
> - "Please see Org News for version 9.0 about `org-file-apps'"))
> + (concat "Please see Org News for version 9.0 about `org-file-apps', "
> + "error: deprecated usage of "
> + (prin1-to-string cmd))))
Ditto.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: org-pdfview-open doesn't work anymore
2016-02-05 22:43 ` Nicolas Goaziou
@ 2016-02-06 8:08 ` Michael Brand
2016-02-06 16:41 ` Nicolas Goaziou
0 siblings, 1 reply; 12+ messages in thread
From: Michael Brand @ 2016-02-06 8:08 UTC (permalink / raw)
To: Org Mode; +Cc: Julien Cubizolles
[-- Attachment #1: Type: text/plain, Size: 2112 bytes --]
Hi Nicolas
On Fri, Feb 5, 2016 at 11:43 PM, Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote:
> Michael Brand <michael.ch.brand@gmail.com> writes:
>> + ;; FIXME: Remove this check when most default installations of
>> + ;; Emacs have at least Org 9.0.
>> + ((wrong-number-of-arguments invalid-function)
>> + (user-error
>> + (concat
>> + "Please see Org News for version 9.0 about `org-file-apps', "
>> + "error: "
>> + (prin1-to-string err))))))
>
> (user-error
> "Please see Org News for version 9.0 about `org-file-apps', error: %S"
> (nth 1 err))
The above does not provide (nth 0 err) which is the important error
type and (nth 2 err) which I find also helpful. See following zerop
examples.
What am I missing that it should not be
((wrong-number-of-arguments wrong-type-argument invalid-function)
(user-error "Please see Org News for version 9.0 about \
`org-file-apps'--Lisp error: %S" err))
to get
Please see Org News for version 9.0 about \
`org-file-apps'--Lisp error: (wrong-number-of-arguments zerop 2)
Please see Org News for version 9.0 about \
`org-file-apps'--Lisp error: (wrong-type-argument numberp nil)
from
(condition-case err (zerop nil nil) ...)
(condition-case err (zerop nil) ...)
to mimic
Debugger entered--Lisp error: (wrong-number-of-arguments zerop 2)
Debugger entered--Lisp error: (wrong-type-argument numberp nil)
from
(zerop nil nil)
(zerop nil)
as far as possible?
I just notice that in our case at least in case of wrong-type-argument the
`cmd' is missing, so I suggest
((wrong-number-of-arguments wrong-type-argument invalid-function)
(user-error "Please see Org News for version 9.0 about \
`org-file-apps'--Lisp error: The function %S leads to %S" cmd err))
for the attached intermediate patch version. For the above example of
(zerop nil) it would not only report "wrong-type-argument" and
"numberp" together with "nil" but also "zerop" which in our case is
the registered application, the source of the problem where the user
needs to look.
Michael
[-- Attachment #2: 0001-org-file-apps-add-migration-hint-for-function-signat.patch --]
[-- Type: text/x-patch, Size: 1727 bytes --]
From 873e99c9ee03594e45dd3e82d880c4b8a90d2192 Mon Sep 17 00:00:00 2001
From: Michael Brand <michael.brand@alumni.ethz.ch>
Date: Sat, 6 Feb 2016 09:03:17 +0100
Subject: [PATCH] `org-file-apps' add migration hint for function signature
* lisp/org.el (org-open-file): Add an error for when the function
signature does not match.
---
lisp/org.el | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/lisp/org.el b/lisp/org.el
index cce4f3a..cacae0f 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -11325,15 +11325,21 @@ If the file does not exist, an error is thrown."
((functionp cmd)
(save-match-data
(set-match-data link-match-data)
- (funcall cmd file link)))
+ (condition-case err
+ (funcall cmd file link)
+ ;; FIXME: Remove this check when most default installations
+ ;; of Emacs have at least Org 9.0.
+ ((wrong-number-of-arguments wrong-type-argument invalid-function)
+ (user-error "Please see Org News for version 9.0 about \
+`org-file-apps'--Lisp error: The function %S leads to %S" cmd err)))))
((consp cmd)
;; FIXME: Remove this check when most default installations of
;; Emacs have at least Org 9.0.
;; Heads-up instead of silently fall back to
;; `org-link-frame-setup' for an old usage of `org-file-apps'
;; with sexp instead of a function for `cmd'.
- (user-error
- "Please see Org News for version 9.0 about `org-file-apps'"))
+ (user-error "Please see Org News for version 9.0 about \
+`org-file-apps'--error: Deprecated usage of %S" cmd))
(t (funcall (cdr (assq 'file org-link-frame-setup)) file)))
(and (derived-mode-p 'org-mode)
(eq old-mode 'org-mode)
--
2.4.9 (Apple Git-60)
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: org-pdfview-open doesn't work anymore
2016-02-06 8:08 ` Michael Brand
@ 2016-02-06 16:41 ` Nicolas Goaziou
2016-02-07 10:13 ` Michael Brand
0 siblings, 1 reply; 12+ messages in thread
From: Nicolas Goaziou @ 2016-02-06 16:41 UTC (permalink / raw)
To: Michael Brand; +Cc: Org Mode, Julien Cubizolles
Hello,
Michael Brand <michael.ch.brand@gmail.com> writes:
> I just notice that in our case at least in case of wrong-type-argument the
> `cmd' is missing, so I suggest
>
> ((wrong-number-of-arguments wrong-type-argument invalid-function)
> (user-error "Please see Org News for version 9.0 about \
> `org-file-apps'--Lisp error: The function %S leads to %S" cmd err))
>
> for the attached intermediate patch version. For the above example of
> (zerop nil) it would not only report "wrong-type-argument" and
> "numberp" together with "nil" but also "zerop" which in our case is
> the registered application, the source of the problem where the user
> needs to look.
IMO, notifying user that there's something rotten in the state of
`org-file-apps' is enough. There's no need to go into the gory details
of the problem.
Anyway, if you feel strongly about it, your patch looks good and you can
push it.
Thank you.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: org-pdfview-open doesn't work anymore
2016-02-06 16:41 ` Nicolas Goaziou
@ 2016-02-07 10:13 ` Michael Brand
2016-02-07 11:06 ` Nicolas Goaziou
0 siblings, 1 reply; 12+ messages in thread
From: Michael Brand @ 2016-02-07 10:13 UTC (permalink / raw)
To: Org Mode; +Cc: Julien Cubizolles
[-- Attachment #1: Type: text/plain, Size: 569 bytes --]
Hi Nicolas
On Sat, Feb 6, 2016 at 5:41 PM, Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote:
> IMO, notifying user that there's something rotten in the state of
> `org-file-apps' is enough. There's no need to go into the gory details
> of the problem.
I agree and finally found what I was missing: Add `debug' to the
handler of `condition-case' to finally not disable support of further
investigation with `toggle-debug-on-error'. It obsoletes my trials to
provide enough context about the Lisp error in the handler itself.
Remixed patch for review attached.
Michael
[-- Attachment #2: 0001-org-file-apps-add-migration-hint-for-function-signat.patch --]
[-- Type: text/x-patch, Size: 1716 bytes --]
From 96aa89840c15c71c534faa0ce265530d5ff88c0a Mon Sep 17 00:00:00 2001
From: Michael Brand <michael.brand@alumni.ethz.ch>
Date: Sun, 7 Feb 2016 11:07:56 +0100
Subject: [PATCH] `org-file-apps' add migration hint for function signature
* lisp/org.el (org-open-file): Add a user error for when the function
signature does not match.
---
lisp/org.el | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/lisp/org.el b/lisp/org.el
index cce4f3a..e77fd4a 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -11325,15 +11325,22 @@ If the file does not exist, an error is thrown."
((functionp cmd)
(save-match-data
(set-match-data link-match-data)
- (funcall cmd file link)))
+ (condition-case nil
+ (funcall cmd file link)
+ ;; FIXME: Remove this check when most default installations
+ ;; of Emacs have at least Org 9.0.
+ ((debug wrong-number-of-arguments wrong-type-argument
+ invalid-function)
+ (user-error "Please see Org News for version 9.0 about \
+`org-file-apps'--Lisp error: %S" cmd)))))
((consp cmd)
;; FIXME: Remove this check when most default installations of
;; Emacs have at least Org 9.0.
;; Heads-up instead of silently fall back to
;; `org-link-frame-setup' for an old usage of `org-file-apps'
;; with sexp instead of a function for `cmd'.
- (user-error
- "Please see Org News for version 9.0 about `org-file-apps'"))
+ (user-error "Please see Org News for version 9.0 about \
+`org-file-apps'--Error: Deprecated usage of %S" cmd))
(t (funcall (cdr (assq 'file org-link-frame-setup)) file)))
(and (derived-mode-p 'org-mode)
(eq old-mode 'org-mode)
--
2.4.9 (Apple Git-60)
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: org-pdfview-open doesn't work anymore
2016-02-07 10:13 ` Michael Brand
@ 2016-02-07 11:06 ` Nicolas Goaziou
0 siblings, 0 replies; 12+ messages in thread
From: Nicolas Goaziou @ 2016-02-07 11:06 UTC (permalink / raw)
To: Michael Brand; +Cc: Org Mode, Julien Cubizolles
Hello,
Michael Brand <michael.ch.brand@gmail.com> writes:
> Remixed patch for review attached.
It looks good. Please apply it on master.
Thank you.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: org-pdfview-open doesn't work anymore
2016-02-05 13:36 ` Nicolas Goaziou
@ 2016-02-10 12:55 ` Julien Cubizolles
0 siblings, 0 replies; 12+ messages in thread
From: Julien Cubizolles @ 2016-02-10 12:55 UTC (permalink / raw)
To: emacs-orgmode
Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
> I think the simplest solution may be to follow the advice in ORG-NEWS
> and use
>
> (lambda (file link) (org-pdfview-open file))
It's working, thanks.
Julien.
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2016-02-10 12:55 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-05 5:46 org-pdfview-open doesn't work anymore Julien Cubizolles
2016-02-05 8:33 ` Michael Brand
2016-02-05 13:36 ` Nicolas Goaziou
2016-02-10 12:55 ` Julien Cubizolles
2016-02-05 13:45 ` Michael Brand
2016-02-05 17:22 ` Nicolas Goaziou
2016-02-05 18:47 ` Michael Brand
2016-02-05 22:43 ` Nicolas Goaziou
2016-02-06 8:08 ` Michael Brand
2016-02-06 16:41 ` Nicolas Goaziou
2016-02-07 10:13 ` Michael Brand
2016-02-07 11:06 ` Nicolas Goaziou
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).