1

新しいフレームを作成し、その新しいフレームでバッファのリストを取得する関数をemacsで作成したいと考えています。私はこれを試しました:

(defun get-buffer-menu-in-new-frame (arg)
(make-frame)
(switch-to-buffer-other-frame ( list-buffers)))

私はinit.elで働いていました。私はそれを呼び出すためにこれを追加しました:

(get-buffer-menu-in-new-frame)

次に、「eval-buffer」を実行しました。これは機能しているようです: 新しいフレームを取得しました。その中にバッファ リストがあります (この結果が偶然ではなかったことを願っています。

しかし、私はこれを試しました:

(global-set-key (kbd "<f4>") 'get-buffer-menu-in-new-frame)

次に、function4 キーを押しましたが、次のようになりました。

recursive-edit: Wrong type argument: commandp, get-buffer-menu-in-new-frame

私は何を間違っていますか?

4

1 に答える 1

4

を使用して、関数をコマンドにする必要がありますinteractive

(defun get-buffer-menu-in-new-frame ()
  (interactive)
  (switch-to-buffer-other-frame (list-buffers-noselect)))

使用されていない引数も削除しました。

于 2012-08-17T22:38:14.523 に答える