キルバッファのEmacs gnuclient警告を無効にする方法

キルバッファのEmacs gnuclient警告を無効にする方法

M-x kill-bufferopenendでバッファを実行すると、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クライアントでは、それで実行します。

おすすめ記事