
M-x kill-buffer
openendでバッファを実行すると、gnuclient
まず次のメッセージが表示されます。
Kill buffer (default 'my-buffer-name'):
次に、2番目のプロンプト/メッセージを受け取ります...
Buffer 'my-buffer-name' belongs to gnuserv client(s); kill anyway? (yes or no)
2番目のものを無効にする方法gnuserv/クライアント情報? (必要ありません)。
答え1
次のスクリプトは次のように動作します。gnuclientまたはEmacsクライアント, (オリジナル) 文書文字列に次のように記載されていても"gnuclientを考慮してバッファを終了します。"...からemacswiki: KillKey
(defun my-kill ()
"Kill buffer, taking gnuclient into account."
(interactive)
(if (buffer-modified-p)
(error "Buffer has unsaved changes")
(if server-buffer-clients
(server-edit)
(kill-buffer (current-buffer)))))
上記は要求どおりに問題を解決しましたが、さらにemacsの組み込み機能を使用して解決しました。仕える人そしてEmacsクライアント(質問で述べたようにgnuclientと比較)。
この新しいサーバー/クライアントの組み合わせにより、次のような利点が得られます。開いているEmacs自体でファイルを開く(アクセスする)のように、BashシェルでEmacsのファイルを開きます。
たとえば、ランチャースクリプトから。名前を指定すると、e
この基本コマンドはトリックを実行します。バッファを終了すると、迷惑なメッセージは表示されなくなります。
また追加の利点このような機能を許可します見えるブックマークの復元そのファイル/バッファが実行されるのを待ちます。
emacsclient -e "(find-file \"$1\")" &>/dev/null
私はGNUサーバー/クライアントを使って同様のことができると思いますが、むしろEmacsクライアントでは、それで実行します。