2012-11-26 179 views

回答

7

我也有這個問題。在快速查看源代碼後,問題似乎是GUD將其大部分窗口專用(即它調用set-window-dedicated-p)。專用窗口是無法切換的窗口。我想越來越多的年輕槍在很多窗口模式下使用GUD,並希望GUD管理他們的窗口布局,而那些喜歡手動操作的我們這些少數人。在gdb-mi.el中似乎沒有任何明顯的表示可以禁用此行爲(例如,gdb-set-window-buffer似乎總是對其管理的所有窗口執行set-window-dedicated-pt)。

現在,this solution或多或少是我正在使用的 - 我手動停用窗口的奉獻。儘管如此,這似乎並不理想。應該有辦法讓GUD讓你手動管理窗口布局。 This question is related.

+0

由於某些原因,您的修補程序僅適用於一點 - 然後窗口再次以專用模式彈出,每次它都會得到新的輸出。 –

12

新emacs發行版中有一個'gud-gdb',用於實現gdb/emacs交互的舊行爲(沒有專用窗口和沒有I/O緩衝區)。如果您不想打電話給GUD的Mx-GDB當您使用它你可以定義一個別名對於MX GDB

+0

thanx ..默認gdb行爲是不受歡迎的,因爲M-x gdb-many-windows永遠存在.. – vrdhn

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) 

請注意,這不會影響已經專用的窗口。