From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Brand Subject: Re: org-pdfview-open doesn't work anymore Date: Fri, 5 Feb 2016 19:47:13 +0100 Message-ID: References: <87a8nfzp44.fsf@free.fr> <8760y3qdfw.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=089e01227ba093ea6b052b0a47d5 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:47511) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aRlPY-0003yg-CZ for emacs-orgmode@gnu.org; Fri, 05 Feb 2016 13:47:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aRlPX-0000Sa-47 for emacs-orgmode@gnu.org; Fri, 05 Feb 2016 13:47:16 -0500 Received: from mail-wm0-x230.google.com ([2a00:1450:400c:c09::230]:38804) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aRlPW-0000SW-Q9 for emacs-orgmode@gnu.org; Fri, 05 Feb 2016 13:47:15 -0500 Received: by mail-wm0-x230.google.com with SMTP id p63so39610368wmp.1 for ; Fri, 05 Feb 2016 10:47:14 -0800 (PST) In-Reply-To: <8760y3qdfw.fsf@nicolasgoaziou.fr> 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-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Org Mode Cc: Julien Cubizolles --089e01227ba093ea6b052b0a47d5 Content-Type: text/plain; charset=UTF-8 Hi Nicolas On Fri, Feb 5, 2016 at 6:22 PM, Nicolas Goaziou wrote: > Michael Brand 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 --089e01227ba093ea6b052b0a47d5 Content-Type: text/x-patch; charset=US-ASCII; name="0001-org-file-apps-add-migration-hint-for-function-signat.patch" Content-Disposition: attachment; filename="0001-org-file-apps-add-migration-hint-for-function-signat.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ika1k1150 RnJvbSBmMWMzODJjYWJlNWIzNGY1MmRiMjJkZjcwZDVjMjVlMDJkZTJhMThhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIEJyYW5kIDxtaWNoYWVsLmNoLmJyYW5kQGdtYWls LmNvbT4KRGF0ZTogRnJpLCA1IEZlYiAyMDE2IDE5OjQyOjU1ICswMTAwClN1YmplY3Q6IFtQQVRD SF0gYG9yZy1maWxlLWFwcHMnIGFkZCBtaWdyYXRpb24gaGludCBmb3IgZnVuY3Rpb24gc2lnbmF0 dXJlCgoqIGxpc3Avb3JnLmVsIChvcmctb3Blbi1maWxlKTogQWRkIGFuIGVycm9yIHdoZW4gdGhl IGZ1bmN0aW9uCnNpZ25hdHVyZSBkb2VzIG5vdCBtYXRjaC4KLS0tCiBsaXNwL29yZy5lbCB8IDE5 ICsrKysrKysrKysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCA0 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3Avb3JnLmVsIGIvbGlzcC9vcmcuZWwKaW5k ZXggZDRmYjhhNi4uZjZjNWY4OSAxMDA2NDQKLS0tIGEvbGlzcC9vcmcuZWwKKysrIGIvbGlzcC9v cmcuZWwKQEAgLTExMzIzLDkgKzExMzIzLDE4IEBAIElmIHRoZSBmaWxlIGRvZXMgbm90IGV4aXN0 LCBhbiBlcnJvciBpcyB0aHJvd24uIgogCQkgICh3aGVuIChkZXJpdmVkLW1vZGUtcCAnb3JnLW1v ZGUpIChvcmctcmV2ZWFsKSkpCiAJICAgIChzZWFyY2ggKG9yZy1saW5rLXNlYXJjaCBzZWFyY2gp KSkpCiAgICAgICgoZnVuY3Rpb25wIGNtZCkKLSAgICAgIChzYXZlLW1hdGNoLWRhdGEKLQkoc2V0 LW1hdGNoLWRhdGEgbGluay1tYXRjaC1kYXRhKQotCShmdW5jYWxsIGNtZCBmaWxlIGxpbmspKSkK KyAgICAgIChjb25kaXRpb24tY2FzZSBlcnIKKwkgIChzYXZlLW1hdGNoLWRhdGEKKwkgICAgKHNl dC1tYXRjaC1kYXRhIGxpbmstbWF0Y2gtZGF0YSkKKwkgICAgKGZ1bmNhbGwgY21kIGZpbGUgbGlu aykpCisJOzsgRklYTUU6IFJlbW92ZSB0aGlzIGNoZWNrIHdoZW4gbW9zdCBkZWZhdWx0IGluc3Rh bGxhdGlvbnMgb2YKKwk7OyBFbWFjcyBoYXZlIGF0IGxlYXN0IE9yZyA5LjAuCisJKCh3cm9uZy1u dW1iZXItb2YtYXJndW1lbnRzIGludmFsaWQtZnVuY3Rpb24pCisJICh1c2VyLWVycm9yCisJICAo Y29uY2F0CisJICAgIlBsZWFzZSBzZWUgT3JnIE5ld3MgZm9yIHZlcnNpb24gOS4wIGFib3V0IGBv cmctZmlsZS1hcHBzJywgIgorCSAgICJlcnJvcjogIgorCSAgIChwcmluMS10by1zdHJpbmcgZXJy KSkpKSkpCiAgICAgICgoY29uc3AgY21kKQogICAgICAgOzsgRklYTUU6IFJlbW92ZSB0aGlzIGNo ZWNrIHdoZW4gbW9zdCBkZWZhdWx0IGluc3RhbGxhdGlvbnMgb2YKICAgICAgIDs7IEVtYWNzIGhh dmUgYXQgbGVhc3QgT3JnIDkuMC4KQEAgLTExMzMzLDcgKzExMzQyLDkgQEAgSWYgdGhlIGZpbGUg ZG9lcyBub3QgZXhpc3QsIGFuIGVycm9yIGlzIHRocm93bi4iCiAgICAgICA7OyBgb3JnLWxpbmst ZnJhbWUtc2V0dXAnIGZvciBhbiBvbGQgdXNhZ2Ugb2YgYG9yZy1maWxlLWFwcHMnCiAgICAgICA7 OyB3aXRoIHNleHAgaW5zdGVhZCBvZiBhIGZ1bmN0aW9uIGZvciBgY21kJy4KICAgICAgICh1c2Vy LWVycm9yCi0gICAgICAgIlBsZWFzZSBzZWUgT3JnIE5ld3MgZm9yIHZlcnNpb24gOS4wIGFib3V0 IGBvcmctZmlsZS1hcHBzJyIpKQorICAgICAgIChjb25jYXQgIlBsZWFzZSBzZWUgT3JnIE5ld3Mg Zm9yIHZlcnNpb24gOS4wIGFib3V0IGBvcmctZmlsZS1hcHBzJywgIgorCSAgICAgICAiZXJyb3I6 IGRlcHJlY2F0ZWQgdXNhZ2Ugb2YgIgorCSAgICAgICAocHJpbjEtdG8tc3RyaW5nIGNtZCkpKSkK ICAgICAgKHQgKGZ1bmNhbGwgKGNkciAoYXNzcSAnZmlsZSBvcmctbGluay1mcmFtZS1zZXR1cCkp IGZpbGUpKSkKICAgICAoYW5kIChkZXJpdmVkLW1vZGUtcCAnb3JnLW1vZGUpCiAJIChlcSBvbGQt bW9kZSAnb3JnLW1vZGUpCi0tIAoyLjEuMy5kaXJ0eQoK --089e01227ba093ea6b052b0a47d5--