emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Bug: MobileOrg pull broken
@ 2016-07-31 17:58 Ian Dunn
  2016-08-07 22:15 ` Nicolas Goaziou
  0 siblings, 1 reply; 4+ messages in thread
From: Ian Dunn @ 2016-07-31 17:58 UTC (permalink / raw)
  To: emacs-orgmode


Emacs  : GNU Emacs 25.1.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.20.6) of 2016-07-22
Package: Org-mode version 8.3.5 (release_8.3.5-1032-g9798da)

    For the past month or so (I don't know exactly when it started), I've been having problems with MobileOrg (Android if it helps).  When I'd pull changes from my phone to my computer, I'd always get "EXECUTION FAILED" messages, and nothing would work.

    I stepped through org-mobile-apply using Edebug and found that the problem is with "(eval cmd)" in org-mobile.el, line 889.  It fails with the error "(void-variable data)".  I don't know why this is happening, but I've included a simple fix for this that passes the `data', `old', and `new' variables as a lexical environment to `eval'.  This may not work if `org-mobile-action-alist' is modified.

    I tried using "(eval cmd t)", but that didn't work; I got the same "void-variable" error.  If someone more familiar with lexical binding can look into this, or at least explain why this is happening, I'd appreciate it.

    Thanks!

-- 
Ian Dunn

--- a/lisp/org-mobile.el
+++ b/lisp/org-mobile.el
@@ -886,7 +886,11 @@ If BEG and END are given, only do this in that region."
 	    (condition-case msg
 		(org-with-point-at id-pos
 		  (progn
-		    (eval cmd)
+		    ;; Using (eval cmd t) doesn't work here, so
+		    ;; specify each required variable by hand.
+		    (eval cmd `((data . ,data)
+		    		(old  . ,old)
+		    		(new  . ,new)))
 		    (unless (member data (list "delete" "archive" "archive-sibling" "addheading"))
 		      (if (member "FLAGGED" (org-get-tags))
 			  (add-to-list 'org-mobile-last-flagged-files

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Bug: MobileOrg pull broken
  2016-07-31 17:58 Bug: MobileOrg pull broken Ian Dunn
@ 2016-08-07 22:15 ` Nicolas Goaziou
  2016-08-08  1:37   ` Ian Dunn
  0 siblings, 1 reply; 4+ messages in thread
From: Nicolas Goaziou @ 2016-08-07 22:15 UTC (permalink / raw)
  To: Ian Dunn; +Cc: emacs-orgmode

Hello,

Ian Dunn <dunni@gnu.org> writes:

>     I stepped through org-mobile-apply using Edebug and found that the
> problem is with "(eval cmd)" in org-mobile.el, line 889. It fails with
> the error "(void-variable data)". I don't know why this is happening,
> but I've included a simple fix for this that passes the `data', `old',
> and `new' variables as a lexical environment to `eval'. This may not
> work if `org-mobile-action-alist' is modified.

Actually `org-mobile-action-alist' is not meant to be modified, per its
docstring. Anyway I replaced the action sexp with a function. Does it
solve the problem ?

Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Bug: MobileOrg pull broken
  2016-08-07 22:15 ` Nicolas Goaziou
@ 2016-08-08  1:37   ` Ian Dunn
  2016-08-08  7:20     ` Nicolas Goaziou
  0 siblings, 1 reply; 4+ messages in thread
From: Ian Dunn @ 2016-08-08  1:37 UTC (permalink / raw)
  To: Nicolas Goaziou; +Cc: emacs-orgmode

Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:

> Hello,
>
> Ian Dunn <dunni@gnu.org> writes:
>
>>     I stepped through org-mobile-apply using Edebug and found that the
>> problem is with "(eval cmd)" in org-mobile.el, line 889. It fails with
>> the error "(void-variable data)". I don't know why this is happening,
>> but I've included a simple fix for this that passes the `data', `old',
>> and `new' variables as a lexical environment to `eval'. This may not
>> work if `org-mobile-action-alist' is modified.
>
> Actually `org-mobile-action-alist' is not meant to be modified, per its
> docstring. Anyway I replaced the action sexp with a function. Does it
> solve the problem ?
>
> Regards,

  It almost worked, but your change to `org-mobile-action-alist' doesn't need the function quote.

-- 
Ian Dunn

diff --git a/lisp/org-mobile.el b/lisp/org-mobile.el
index 93b1481..f7ae0a9 100644
--- a/lisp/org-mobile.el
+++ b/lisp/org-mobile.el
@@ -228,7 +228,7 @@ capture file `mobileorg.org' back to the WebDAV directory, for example
 using `rsync' or `scp'.")
 
 (defconst org-mobile-action-alist
-  '(("edit" . #'org-mobile-edit))
+  '(("edit" . org-mobile-edit))
   "Alist with flags and actions for mobile sync.
 When flagging an entry, MobileOrg will create entries that look like

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: Bug: MobileOrg pull broken
  2016-08-08  1:37   ` Ian Dunn
@ 2016-08-08  7:20     ` Nicolas Goaziou
  0 siblings, 0 replies; 4+ messages in thread
From: Nicolas Goaziou @ 2016-08-08  7:20 UTC (permalink / raw)
  To: Ian Dunn; +Cc: emacs-orgmode

Ian Dunn <dunni@gnu.org> writes:

>   It almost worked, but your change to `org-mobile-action-alist'
>   doesn't need the function quote.

Oops. Fixed. Thank you.


Regards,

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-08-08  7:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-31 17:58 Bug: MobileOrg pull broken Ian Dunn
2016-08-07 22:15 ` Nicolas Goaziou
2016-08-08  1:37   ` Ian Dunn
2016-08-08  7:20     ` 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).