एडिफ में कभी फ्रेम न बनाएं


14

सामान्य तौर पर, मैं फ्रेम नापसंद करता हूं। अभी, मैं उपयोग कर रहा हूँ

(setq ediff-window-setup-function #'ediff-setup-windows-plain)

यह सुनिश्चित करने के लिए कि ediffयह शुरू होने पर एक फ्रेम नहीं बनाता है।

हालाँकि, कुछ कमांड, जैसे ediff-show-registryअभी भी नए फ्रेम खोलते हैं।

क्या कोई ऐसा तरीका है जिससे मैं फ्रेम के निर्माण को पूरी तरह से अक्षम कर सकता हूं ediff?


कैसे संशोधित ediff-skip-unsuitable-frames, या टिप्पणी के बारे में पूरी तरह से भीतर ediff-show-registry- जैसे, टिप्पणी बाहर (ediff-skip-unsuitable-frames 'ok-unsplittable):?
3

5
जब आप इस पर होते हैं, तो ediffपुस्तकालयों के -family के स्रोत को खोजने पर विचार करें (make-frameऔर आपको कुछ ऐसी जगहें मिलेंगी जिन्हें आपकी पसंद के हिसाब से ठीक करने की ज़रूरत है। आपका अनुरोध निश्चित रूप से उचित है, और लेखक के लिए एक फीचर अनुरोध (या मेरी राय) में योग्यता होगी / या Emacs टीम - ज्यादातर लोगों को लगता है ediff-setup-windows-plainकि विभिन्न make-frameअपवादों के बिना बोर्ड भर में आवेदन करना चाहिए ।
लॉस्टल ऑक्ट

जवाबों:


3

में एक आंतरिक विधेय है ediff-init.el, कहा जाता है ediff-window-display-p। जब मैंने इसे फिर से परिभाषित किया (निश्चित रूप से एडिफ़ लोड करने के बाद) तो, सब कुछ एक ही फ्रेम में काम करता है, जिसमें आपके द्वारा बताए गए फ़ंक्शन भी शामिल हैं:

(defun ediff-window-display-p () nil)

मैं @lawlist से सहमत हूं कि यह एक अच्छी सुविधा का अनुरोध है - ठीक करने के लिए ediff-window-setup-function


2
यह बेहतर लिखा जा सकता है (advice-add 'ediff-window-display-p :override #'ignore), जिसे और अधिक आसानी से उलटा किया जा सकता है advice-remove(इसके अलावा इसे पहले लोड करने की आवश्यकता नहीं है)।
npostavs

@npostavs महान! होशियार कोड के लिए धन्यवाद!
सायबरबिसन

मैंने यह कोशिश की, लेकिन यह दुर्भाग्य से मेरे कस्टम विंडो सेटअप फ़ंक्शन का उपयोग बंद करने का कारण बना।
tboyce12

@ tboyce12 यह भ्रामक है ... यदि आपको नई विंडो (यानी फ्रेम) नहीं दिखानी हैं तो आपके पास कस्टम विंडो सेट फंक्शन क्यों है? कार्य क्या करता है?
सायबरबिसन

मुझे नई खिड़कियां नहीं, बल्कि नए फ्रेम चाहिए। डिफ़ॉल्ट ediff-setup-windows-plainपूरे फ्रेम पर ले जाता है - मैं अपनी "संदर्भ" खिड़कियां खुली रखना चाहता हूं (उदाहरण के लिए नोट्स और अन्य फाइलें)। इसलिए मैंने एक कस्टम विंडो सेटअप फ़ंक्शन लिखा (इक्का-खिड़की द्वारा संचालित कस्टम डिस्प्ले-बफर का उपयोग करता है, जहां यह चुनने के लिए कि शायद खिड़कियों को विभाजित करें और नई बफ़र प्रदर्शित करें)। ऐसा लगता है कि जब एडिफ़ बूट्स अप इसे चेक करता है ediff-window-display-pऔर यदि गलत है, तो कस्टम विंडो सेटअप फ़ंक्शन को बायपास करता है और उपयोग करता है ediff-setup-windows-plain। तो मेरे कस्टम सेटअप के लिए, मैं या तो बचूंगा ediff-show-registry, या कस्टम कमांड लिखूंगा।
tboyce12
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.