Asla ediff'te çerçeve oluşturma


14

Genel olarak çerçeveleri sevmiyorum. Şu an kullanıyorum

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

Bunun ediffbaşladığında bir çerçeve oluşturmamasını sağlamak için .

Ancak, bazı komutlar, ediff-show-registryyine de yeni kareler açar.

Çerçevelerin oluşturulmasını tamamen devre dışı bırakabilmemin bir yolu var mı ediff?


Nasıl değiştirmeyle ilgili ediff-skip-unsuitable-framesveya tamamen dahilinde olduğuna dikkat yorumlama ediff-show-registry- out, örneğin yorumunu: (ediff-skip-unsuitable-frames 'ok-unsplittable)?
— hukukçu

5
Siz edifforadayken, kitaplık ailesinin kaynağını aramayı düşünün (make-frameve tercihlerinize göre düzeltilmesi gereken birkaç yer bulacaksınız. Talebiniz kesinlikle makul ve yazar ve / veya Emacs ekibine bir özellik isteği (benim görüşüme göre) haklı olacaktır - çoğu insan ediff-setup-windows-plainçeşitli make-frameistisnalar olmaksızın kurul genelinde başvurması gerektiğini varsayacaktır .
— hukukçu

Yanıtlar:


3

ediff-init.elDenilen bir iç yüklem vardır ediff-window-display-p. Elbette (ediff yükledikten sonra) yeniden tanımladığımda, sorun olarak bahsettiğiniz işlev dahil olmak üzere her şey tek bir çerçevede çalışır:

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

Düzeltmek için @lawlist ile bunun güzel bir özellik isteği olduğunu kabul ediyorum ediff-window-setup-function.


2
Bu daha iyi yazılabilir (advice-add 'ediff-window-display-p :override #'ignore), bu da daha kolay tersine çevrilebilir advice-remove(ayrıca önce ediff yüklemesi gerekmez).
— npostavs

@npostavs harika! Daha akıllı kod için teşekkürler!
— cyberbisson

Bunu denedim, ama ne yazık ki ediff benim özel pencere kurulum işlevini kullanarak durdurmak için neden oldu.
— tboyce12

@ tboyce12 Bu kafa karıştırıcı ... Yeni pencerelerin (yani çerçevelerin) gösterilmesini istemiyorsanız neden özel bir pencere ayarlama işleviniz var? İşlev ne yapar?
— cyberbisson

Yeni pencereler istiyorum ama yeni çerçeveler istemiyorum. Varsayılan ediff-setup-windows-plaintüm kareyi devralır - "Bağlam" pencerelerimi açık tutmak istiyorum (örn. Notlar ve diğer dosyalar). Bu yüzden özel bir pencere kurulum işlevi yazdım (belki pencereleri bölmeyi ve yeni tamponları göstermeyi seçmek için ace-window tarafından desteklenen özel ekran arabelleğini kullanır). Ediff açıldığında bunu kontrol eder ediff-window-display-pve yanlışsa, özel pencere kurulum işlevini atlar ve kullanır ediff-setup-windows-plain. Bu yüzden özel kurulumum için, kaçınacağım ediff-show-registryveya özel komut yazacağım.
— tboyce12
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.