Daha önce Emacs 25.1'de çalışmayan er/expand-zone

Çok garip davranan er/expand-region var ve ne yaptığımı anlamıyorum (Emacs 25.1.50'ye yükseltmenin yanında).

Eğer bir elisp dosyasında varsa:

(defun foo (p) (* 2 2) p)

(bu kod parçası sadece bir örnektir)

ve yıldız işaretindeyim ve genişleyen bölgeye başladım:

  • "*" (OK)
  • "* 2 2" (Tamam)
  • "* 2 2)" (YANLIŞ)
  • "(* 2 2)" (sanırım tamam sanırım)
  • "(* 2 2) p)" (YANLIŞ)
  • "(defun foo (p) (* 2 2) p)" (sanırım tamam sanırım)

Clojure dosyaları ile aynı sorunu yaşıyorum.

Önceden eşleşen parantez arasında bir şeyler seçmek için kullanılan er/genişletme bölgesi . Sorun şu ki, ne istediğimi seçmek için daha fazla tuşa ihtiyacım var ve ben dengesiz elisp/Clojure koduyla bitebiliyorum, çünkü ben dengeli olmayan kod parçalarını kesiyorum/öldürüyorum.

Hem kısayolu kullanarak hem de manuel olarak çağırarak er/genişleme bölgesini aramayı denedim: aynı sonuç. Testlerimden göründüğü gibi Clojure’da clojure-mode-expansion listesi kullanılır.

er/expand-region 'ın dahili olarak nasıl çalıştığını hiç bilmiyorum ama sanki er/mark-inside-double ve er gibi bir şey çağrılmış gibi./işaret-dışı-çiftleri ve bu şeyin doğru parantez ile eşleştiğini.

Neyin yanlış gittiğine ve bunu nasıl düzeltebileceğime dair bir fikrin var mı?

Hem eski er/genişletme bölgemi hem de en son ELPA'yı denedim.

1
Emacs-25 dev dalının en son sürümündeyim ama gördüğünüz şeyi kopyalayamıyorum; Genişlemem şu sırayla ilerliyor: "*", "* 2 2", "(* 2 2)", "defun foo (p) (* 2 2) p", "(defun foo (p) (* 2 2) p) ".
katma yazar UnkwnTech, kaynak
Önce emacs -Q oturumunda deneyin. Bu oturumda, sadece bu tek paketi yükleyin ve er/expand-region ile aynı sorunu yeniden oluşturabilir misiniz. Büyük olasılıkla iyi çalışır ve ardından suçluyu bulmak için init.el'inizi ikiye bölmeniz gerekir.
katma yazar UnkwnTech, kaynak
MELPA'nın en yeni genişleyen bölge sürümünü kullanıyor musunuz?
katma yazar Ishmaeel, kaynak
@Kaushal Modi: denediğin için çok teşekkür ederim, daha önce benim için nasıl davrandığını tam olarak anlattım (daha önce 25.1.50 değil, Emacs 25.0.50'deydim). Çalışmaya çalışmayı sürdüreceğim: Neyin yanlış gittiğini bilmiyorum. Silmeyi/yeniden kurmayı ve birkaç versiyonunu deneyeceğim (melpa, melpa-stabil'de bulduklarımı göreceğim, eski Emacs'imle [hala başka bir kullanıcı dizininde çalışıyorum], vb.) Deneyeceğim.
katma yazar Yousend, kaynak
@Kaushal Modi: Aslında genişleyen bölgeyi seviyorum ve bu kadar alışkınım ki/sırayla çalıştığım/sırayla yaptığım hatalar yapmaya devam ettiğimi şimdi "garip dengeli olmayan genişlemeler" yapıyor: - /
katma yazar Yousend, kaynak
@lunaryom: Bunu çözmek için ne yaptığımı emin olmadığımdan sonunda çözdüm, çünkü birçok şeyi birçok kez sildim/kurdum. Emin olduğum tek şey bütün $ HOME/.emacs.d/elpa/ dizinimi sildim ve tüm ELPA paketlerini yeniden yükledim. Şimdi görüyorum ki genişleyen bölge 20150902.558 (kaynaklardan derlenmiş Emacs 25.1.50'de) ve her şey yine iyi çalışıyor ancak MELPA veya MELPA kararlılığından gelip gelmediğini bilmiyorum. Yardımınız için teşekkürler: Çalışıyorum!
katma yazar Yousend, kaynak

2 cevap

Bunun Emacs 25.0'daki bazı kırılma değişiklikleri ile ilgili olduğunu düşünüyorum. *

https://github.com/magnars/expand-region.el/issues/160

Hâlâ 25.0. * Çalışıyorum ve sorunu MELPA'dan genişletme bölgesini yükleyerek, çözümün Emacs sürümleri 25+ 'nin üzerinde uygulandığı bir sorunu çözdüm.

Not: Çalışmıyor olduğundan, MELPA kararlı 'daki sürümü (0.10.0) kullanmayın.

2
katma
Bugün emacs-25 dalında bulunan expand-region formunun son sürümü olan Melpa'yı ve en son emacs sürümünü (25.0.93.x) kullanıyorum. beklendiği gibi çalışıyor.
katma yazar UnkwnTech, kaynak

En son resmi Emacs sürümü 24.5 ve genişletme bölgesinin geliştiricisi gelişmeyi desteklemiyor sürümler (örneğin, 25+). Emacs 25 dalında sık sık yapılan ve burada genişleme bölgesi 'nin kırılması ve ayrılması gibi, buradaki soruda gösterildiği gibi, bu durum mantıksız değildir. Onlara yetişmek, küçük bir fayda için büyük bir iş olurdu.

Problemin çözümü:

  • resmi bir Emacs sürümüne (yani 24,5) bağlı
  • Emacs'in bir geliştirme sürümünü kullanırsanız, genişleyen bölge ile çalışan belirli bir sürümde kalın. Eski sürümlerinizi değiştirmeden önce yeni sürümlerin testleri yapılır
1
katma
Bugün emacs-25 dalında bulunan expand-region formunun son sürümü olan Melpa'yı ve en son emacs sürümünü (25.0.93.x) kullanıyorum. beklendiği gibi çalışıyor.
katma yazar UnkwnTech, kaynak