Emacs macOS
macOS環境下でrdmをDaemon化するmacOS環境下のEmacsでrtagsを有効にしておくと, どうもrdmが起動していない場合に初回のみあらゆる(全てではない)コマンドがrdmのプロセスを立ち上げるか何かで戻ってこなくなる. のでrdmをDaemon化する事でこの事象を回避しようと思う.
homebrewでrtags一式入れたとして, 以下のようなplistを適当な名前で~/Library/LaunchAgents下に作り(${USER}の箇所は実在するUser名……というかフォルダ名にしておく),
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>net.rtags.rdm</string> <key>ProgramArguments</key> <array> <string>/usr/local/bin/rdm</string> <string>--verbose</string> <string>--launchd</string> <string>--inactivity-timeout=300</string> <string>--log-file=/usr/local/var/log/rtags.log</string> </array> <key>Sockets</key> <dict> <key>Listener</key> <dict> <key>SockPathName</key> <string>/Users/${USER}/.rdm</string> </dict> </dict> </dict> </plist>
macOSを再起動するか, launchctlでjobを起動する.
launchctl load ~/Library/LaunchAgents/net.rtags.rdm.plist launchctl start net.rtags.rdm
homebrewで入れるとDaemon化もhomebrew経由でできるのだけど, バージョンが固定されたplistが作られてupgradeする度にやり直さないといけないので, もし, homebrewを利用してDaemon化した場合は, 実行ファイルパスの箇所をシンボリックリンクに変えてあげるでも良いはず.