2010-05-11 13 views
7

पर नेविगेट की गई एक नई विंडो खुलती है मैंने हाल ही में कार्बन Emacs (v22.3) से वेनिला Emacs 23.2 (http://www.emacsformacosx.com से) में अपग्रेड किया है। एक परियोजना संकलित करते समय कार्बन Emacs पर, फ्रेम शीर्ष विंडो में वर्तमान स्रोत फ़ाइल/SConscript के साथ दो में विभाजित है, और नीचे खिड़की में संकलन आउटपुट। मैं Cx ` पहली चेतावनी या संकलन उत्पादन में त्रुटि पर नेविगेट करने मारा था और इसे बदलना चाहते हैं जो कुछ भी स्रोत के साथ शीर्ष विंडो में था त्रुटि फ़ाइल या चेतावनी में है।Emacs 23.2 प्रत्येक संकलन त्रुटि/चेतावनी

Emacs 23.2 में, हालांकि , एक तीसरी खिड़की खोली जाती है जिससे फ्रेम के शीर्ष भाग में दो खिड़कियां खुलती हैं (लंबवत विभाजित होती हैं) और फ्रेम के निचले भाग की खिड़की में संकलन आउटपुट होता है। मैं Emacs को एक नई विंडो नहीं खोलने के लिए कैसे कहूं और इसके बजाय फ्रेम में मौजूदा गैर-कंपाइलर आउटपुट विंडो में कोड खोलूं?


मैंने जो व्यवहार देखा है उस पर थोड़ा और स्पष्टीकरण। अगर मैंने सी-एक्स ` मारा है जबकि स्रोत फ़ाइल या स्कॉन्स्क्रिप्ट फ़ाइल युक्त बफर सक्रिय है, तो कोई नई विंडो नहीं खोली गई है। यह केवल तभी होता है जब मैं मैन्युअल रूप से * संकलन * बफर के माध्यम से नेविगेट कर रहा हूं और किसी त्रुटि या चेतावनी पर प्रवेश कर रहा हूं, या माउस तीसरी बफर विंडो प्रकट होने पर चेतावनी पर क्लिक कर रहा है।

उत्तर

4

next-error कार्यक्षमता में उपयोग किया जाने वाला फ़ंक्शन pop-to-buffer है जो बदले में split-window-sensibly का उपयोग करता है। आप split-window-sensibly के व्यवहार को split-width-threshold और split-height-threshold को समायोजित करके नियंत्रित कर सकते हैं।

आपके मामले में यह split-width-threshold है जो बहुत छोटा है। मेरी Emacs में 23.1 यह 160 पर सेट है बस इसे एक बड़ी संख्या के लिए सेट और समस्या को हल किया जाना चाहिए:

(setq split-width-threshold 200) 
2

मैं इस समस्या को अपने आप को पुन: पेश नहीं कर सकते, लेकिन आप निम्नलिखित कोशिश कर सकते हैं:

(setq split-width-threshold nil) 

यह बताता है display-buffer खिड़कियों क्षैतिज विभाजित करने के लिए कभी नहीं, भले ही वे काफी विस्तृत है। split-height-threshold वेरिएबल भी है जो समान रूप से संभाला जाता है। इन चरों को जांचने के मौजूदा मूल्यों का सुझाव यह सुझाव दे सकता है कि वे आपके द्वारा देखे जा रहे व्यवहार के लिए प्रासंगिक हो सकते हैं या नहीं।

जांच करने के लिए एक आखिरी बात: यदि आपने अपना display-buffer-function परिभाषित किया है, तो यह आपके लिए ये निर्णय ले सकता है।

संबंधित मुद्दे