Emacs Org Mode Mobile (org-mobile-pull) の問題

Emacs Org Mode Mobile (org-mobile-pull) の問題

私は、iPhone アプリ MobileOrg を介して Mac と iPhone 上の .org ファイルを同期しようとしています。org-mobile-pull コマンドを実行して、iPhone からステージング フォルダー ( で定義org-mobile-directory) に送信されたファイルを元のファイル ( という名前220212.org) に戻そうとするまで、ファイルは機能していました。

と入力するとC-c C-x RET g、 と同等になりM-x org-mobile-pull、次のエラーが発生します。Wrong type argument: stringp, nil

org-mobile-pull を実行する前の mobileorg.org (電話で実行された更新を含むファイル) の内容:

 * F(edit:todo) [[olp:220212.org:s/stretch neck right][stretch neck right]]
 ** Old value
 TODO
 ** New value
 DONE
 ** End of edit

org-mobile-pullを実行してエラーが表示された後: empty

私は Lisp コードや Emacs のデバッグは初めてですが、org-mobile-pullEmacs で「debug-on-error」と「debug-on-entry」を true に設定してみました。関数内の正確な位置を把握するのに少し苦労しましたが、最初の数コマンドにあるようです。デバッガーで d を繰り返し押すと、関数呼び出しが再帰的に入力され続け、少し混乱しました。デバッガーをマスターして、さらにデバッグしてみるといいかもしれません。

私の .init.el には、、、が含まれており、org-directoryすべてorg-mobile-inbox-for-pull適切org-mobile-directoryに 設定されていると思います。org-mobile-filesorg-mobile-force-id-on-agenda-items

何が原因か知っている人はいませんか? このエラーの結果、mobileorg.org の変更は元の 220212.org ファイルに同期されません。

答え1

これを解決し、ここに全文を投稿しました:https://github.com/MobileOrg/mobileorg/issues/285

まとめ:

受信トレイ ファイルと mobileorg.org ファイルを混同していました。違いを理解した上で、org-mobile-inbox-for-pull を org-mobile-directory の mobileorg.org ではなく、org-directory のファイルに指定しました。

具体的には、~/.emacs.d/init.elを

(setq org-directory "[redacted]/repo/typed/")
(setq org-mobile-inbox-for-pull "[redacted]/repo/typed/mobile/mobileorg.org")
(setq org-mobile-directory "[redacted]/repo/typed/mobile")
(setq org-mobile-files (quote ("[redacted]/repo/typed/220212.org")))

(setq org-directory "[redacted]/repo/typed/")
(setq org-mobile-inbox-for-pull "[redacted]/repo/typed/inbox-for-pull.org")
(setq org-mobile-directory "[redacted]/repo/typed/mobile")
(setq org-mobile-files (quote ("[redacted]/repo/typed/220212.org")))

関連情報