Подтвердить что ты не робот

Как отключить * вход/выход * буфер в гуде

Недавно я переключился на использование GNU Emacs 24 из 23, и я заметил, что всякий раз, когда я вхожу в gud, буфер ввода * вывода * открыт. Я закрываю его вручную с помощью C-x 0 каждый раз, когда я отлаживаю. Может ли кто-нибудь указать мне правильную переменную, которая должна быть настроена, чтобы остановить отображение этого буфера по умолчанию?

4b9b3361

Ответ 1

В новых выпусках emacs есть "gud-gdb", которые реализуют старое поведение взаимодействия gdb/emacs (без выделенных окон и без буфера ввода-вывода). Если вы не хотите вызывать M-x gud-gdb, когда вы используете его, вы можете определить псевдоним для M-x gdb

Ответ 2

У меня тоже есть эта проблема. После быстрого просмотра исходного кода проблема заключается в том, что GUD выделяет большую часть своих окон (т.е. Называет set-window-dedicated-p на них). Отдельное окно - это то, от которого нельзя отказаться. Я предполагаю, что все больше и больше молодых ружей используют GUD во многих режимах Windows и хотят, чтобы GUD управлял их макетом окна, а те из нас, кто нравится делать это вручную, находятся в меньшинстве. В gdb-mi.el нет ничего очевидного, который отключает это поведение (например, gdb-set-window-buffer, как представляется, всегда выполняет от set-window-dedicated-p до t для всех окон, которыми он управляет).

В настоящее время это решение является более или менее той, которую я использую, - я вручную деактивирую выделение окна. Это кажется субоптимальным. Должен быть какой-то способ заставить GUD позволить вам вручную управлять макетом окна. Этот вопрос связан.

Ответ 3

Вы можете полностью отключить выделение окна следующим образом: (в Emacs 24.4 +)

(defun set-window-undedicated-p (window flag)
 "Never set window dedicated."
 flag)

(advice-add 'set-window-dedicated-p :override #'set-window-undedicated-p)

Обратите внимание, что это не влияет на уже выделенные окна.