Paket sahiplerinin Emacs paket yöneticisini kullanmamaları için teknik hususlar?


10

Bazı önemli paket sahiplerinin Emacs paket yönetim sistemini (ESS?) Kullanmamayı veya sınırlamalarından (Helm) şikayet etmeyi seçtiğini fark ediyorum.

Alıntı Helm bireyin README.md :

UYARI : Dümen dosyalarını almak ve derlemekle görevli kötü bir paket.el kavramı nedeniyle, kullanıcılar melpa ve liste paketinden yükseltme yaparken çoğu zaman hatalar yaşadılar. Bundan kaçınmak için Async, paketi zorlamak için dümene bağımlı olarak eklenmiştir. Dosyaları temiz bir ortamda derlemektedir. Git'ten yüklenen ve make dosyasını kullanan kişiler bu sorundan muzdarip olmayacaklar ve (m) elpa'dan package.el ile yükleyebileceğiniz tüm diğer paketlerin kurulumunu düzelttiği için Async'e ihtiyaç duymazlar. Daha fazla bilgi için SSS'ye bakın.

Mevcut paket yönetim sisteminin ilgili olabileceği kesin teknik sınırlamalar nelerdir ve paketlerin neden asyncbağımlılık olarak kullanılması gerekir ?


1
Bence bu soru bu site için çok geniş olmalıdır. Daha iyi bir tartışma forumuna yöneliktir. Help-gnu-emacs@gnu.org veya emacs-devel@gnu.org veya Emacs reddit veya benzerlerini deneyin. “ Sorun tam olarak nedir? ” Böyle bir sorun olduğunu varsayar ve herhangi bir paket (veya herhangi bir paket bakımcısı) için olası sorunların ne olduğunu sormak çok geniştir.
Drew

2
ESS, Melpa'da barındırılıyor: melpa.org/#/ess , belki de sadece bir belge. Genellikle bir sistem paketi yöneticisi aracılığıyla yüklenebilen birçok proje biliyorum, ancak gerçek bir nedenden ötürü bu seçeneği belirtmemeyi tercih ediyorum (belki de siteden kaynakları / ikili dosyaları indirmeye kadar giderseniz, o zaman bir yapmak için bir neden). Helm'in ne gibi bir problemi olduğunu bilmiyorum.
wvxvw

Başlığın bana biraz tuhaf geliyor. İki kez "yöneticiler" mi yazmak istediniz, yoksa bakımcılar mı demek istediniz?
Malabarba

1
Bir ESS geliştiricisi olarak yazmak, konuları nasıl iyileştirebileceğimizi bize bildirin - diğerleri yorumladığı gibi, ESS MELPA'da.
Stephen Eglen

Yanıtlar:


19

Bahsettiğiniz sorun, muhtemelen bir paketi zaten kullanımda olan bir Emacs oturumundan yükselttiğinizde, paketin eski sürümünün bazen yeni sürümün derlenmesi sırasında müdahale ederek yanlış derlenmiş dosyalara yol açmasıdır.

Emacs-25'te bunun için geçici bir düzeltme var, ancak AFAIK sorun 24.5'te hala mevcut.


9

ProofGeneral'in dikkate değer istisnası dışında, bazı ELPA arşivlerinde bulunmayan büyük Emacs paketlerinin farkında değilim. Özellikle, ESS üç yıldan beri MELPA'da . PG tek başına bir hikaye ve kesinlikle tüm Emacs ekosistemini temsil etmiyor.

ELPA kesinlikle kusurlarına sahiptir, ancak paketlerin büyük çoğunluğu için Magit gibi büyük olanlar için bile iyi çalışır. Helm, ELPA'dan şikayetçi olduğunu gördüğüm tek paket. Tam olarak ne şikayet ettiklerinden emin değilim, ama sanırım derleme hakkında:

Yükseltmeler sırasında Emacs, paketin yeni sürümünü eski sürümün yüklü olduğu bir ortamda derler. Normalde, bu hiçbir şekilde zarar vermez, ancak bazı durumlarda makroları kırabilir. Emacs, yeni sürümü makronun eski uygulamasına karşı derler .

Kendimi bir paket koruyucusu olarak, bu ifadeye katılmıyorum. ELPA veya Emacs yerine Helm'i suçlama eğilimindeyim. Kanımca ifade abartı ve mesele ama aşırı ve ab kullanan makroların bir belirtisidir.

Çok fazla makro kullanırsanız ve daha da kötüsü makroların gövdesine önemsiz olmayan kodlar koyarsanız, bunun bayt derlemesi için sahip olduğu etkilerin farkında olmanız ve kendi makrolarınızla geriye dönük uyumluluğu sürdürmeye dikkat etmeniz gerekir. paketinizin içinde. Bunu yapmamak ve bunun yerine suçu aktarmak çok hoş bir şey değil. Benim 2 sentim.


2
FWIW, anlaşmazlığınıza katılmıyorum: makroları aşırı kullanmaktan kaçınmanın daha iyi olduğunu kabul etsem de, derleme sorunları gerçektir ve makro çağrılarından daha fazlasını etkileyebilir (örn. Etkiler, inline edilemez fonksiyonlar veya çağrılan fonksiyonlar tarafından tetiklenebilir) makro genişletme sırasında). Ve bu sorundan ısırdığınızda, .elc dosyalarınız yanlış ve her türlü ilginç şekilde yanlış davranabilir, bu nedenle sorunu teşhis etmek zor olabilir ve düzeltmek paketi kaldırmayı + yeniden yüklemeyi gerektirir (bir kez düşündüğünüzde) sorun ve hangi paketin yeniden yüklenmesi gerekiyor
Stefan

1
@Stefan Derleme sorunlarını inkar etmiyorum. Kendimi ısırdım. Ancak bu ifadeden doğan tavırdan ve “dengeli bakış açısı” dediğim şeyin eksikliğinden hoşlanmıyorum. Miğfer bu kadar kötü ısırılır, çünkü yanlarında da birçok hata yapmışlardır, ancak ifadeleri bunu kabul etmez. Benim düşünceme göre, makro gövdede işlevleri çağırmak böyle bir hatadır. Makrolar yalnızca sözdizimi içindir, ancak asla işlevsellik için değildir. Ancak bunun Emacs Lisp topluluğunun birçok farklı düşünceye sahip olduğu bir konu olduğunu anlıyorum.
lunaryorn

ropemacs , jdee-emacs ve excorporate , herhangi bir ELPA arşivinde bulunmayan önemli paketlerdir (büyük paketler için ölçütlerinize bağlı olarak). Yine de paketlerin büyük çoğunluğu.
Wilfred Hughes
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.