%20%E3%81%AE%E5%95%8F%E9%A1%8C.png)
私は、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-pull
Emacs で「debug-on-error」と「debug-on-entry」を true に設定してみました。関数内の正確な位置を把握するのに少し苦労しましたが、最初の数コマンドにあるようです。デバッガーで d を繰り返し押すと、関数呼び出しが再帰的に入力され続け、少し混乱しました。デバッガーをマスターして、さらにデバッグしてみるといいかもしれません。
私の .init.el には、、、が含まれており、org-directory
すべてorg-mobile-inbox-for-pull
適切org-mobile-directory
に 設定されていると思います。org-mobile-files
org-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")))