あなたが最終的に何を達成しようとしているのか知りたいですか?なぜ常に新しいEmacsプロセスを開始しないのですか?追加のオーバーヘッドはほんの一瞬です
私の2歳のMBPについて:
%time emacs --batch --eval nil emacs --batch --eval nil 0.03s user 0.01s system 87%cpu 0.054 total
現在のパスをたどると、終了コードを確認してemacsclient
、バッチで実行する必要があるかどうかを判断できます。
if emacsclient --eval nil >/dev/null 2>&1; then echo "run client"; else echo "run emacs"; fi
編集:あなたはロックを盗む質問への答えをスクリプト化したいと思います。これを解決するために使用するためのこの質問に対する私の答えをチェックしてくださいask-user-about-lock
。
編集:つまり、ask-user-about-lock
tを返すように再定義するという考え方です。ドキュメントを参照してください:
ask-user-about-lockは、`userlock.el'に自動ロードされたLisp関数です。
(ファイルの対戦相手にユーザーに尋ねる)
ファイルを編集したいが、相手によってロックされている場合の対処方法をユーザーに尋ねます。この関数には、次の3つの方法を選択できます。ファイルの編集を控えるdo(signal'file-locked(list FILE OPPONENT))return t(ファイルのロックを取得)return nil(ファイルを編集しますロックされています)。この関数を再定義して、これら3つの選択肢から好きな方法で選択できます。
[戻る]
スクリプトの例(chmodを忘れないでください)
#!/usr/bin/env emacs --script
(defun ask-user-about-lock (file opponent)
t)
(org-mobile-pull)
(org-mobile-push)