Emacs 25.1 da avvalgidek ishlamayotgan er/kengaytirish hududi

Men er/expand-region ni juda g'alati deb hisoblayman va men noto'g'ri qilganimni tushuna olmayman (Emacs 25.1.50 ga yangilashdan tashqari).

Agar men buni elisp faylida topsam:

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

(bu parcha kodi faqat misol)

Men yulduzcha ustida bo'laman va kengaytiriladigan hududni boshlayman:

  • "*" (OK)
  • "* 2 2" (OK)
  • "* 2 2)" (WRONG)
  • "(* 2 2)" (odatda OK deb o'ylayman)
  • "(* 2 2) p)" (WRONG)
  • "(defun foo (p) (* 2 2) p)" (odatda OK deb o'ylayman)

Clojure fayllari bilan bir xil muammo bor.

Avvalroq, er/expand-region mos keladigan parantez ichidagi narsalarni tanlash uchun foydalanilgan. Muammo shundaki, hozir men istagan narsani tanlash uchun qo'shimcha tugmalar bosib o'tishi kerak va muvozanatsiz elisp/Clojure kodi bilan tugashga davom etaman, chunki men muvozanatsiz kod bo'laklarini kesib/o'ldiraman.

Qisqa klavishlardan foydalanib, ikkita qo'ng'iroq/kengaytirish-mintaqani sinab ko'rdim yoki uni qo'l bilan chaqirdim: bir xil natija. Mening testimdan, masalan, Clojure'da clojure-mode-expansion ro'yxati ishlatilgan va h.k.

er/expand-region qanday ishlayotgani bilan tanish emasman, lekin bu narsa er/mark-inside-pairs va er/mark-tashqarida-juftlarni va bu narsa to'g'ri burchakka mos keladigan edi.

Nima noto'g'ri ketdi va qanday qilib buni tuzatishga oid har qanday fikr?

Ham eski, ham kengaytirish hududim va eng yangi ELPA ni sinab ko'rdim.

1
Men emacs-25 dev filialining so'nggi versiyasigiman, lekin ko'rgan narsangizni takrorlay olmayman; mening kengayishim shu tartibda davom etadi: "* 2 2", "(* 2 2)", "defun foo (p) (* 2 2) p", "(defun foo (p) (* 2 2 ) p) ".
qo'shib qo'ydi muallif UnkwnTech, manba
Avval buni emacs -Q sessiyasida sinab ko'ring. Ushbu seansda faqat bitta paketni yuklang va er/expand-region bilan bir xil muammoni qayta tiklashingiz mumkinligini ko'ring. Ehtimol, u yaxshi ishlaydi va keyin siz aybdorni topish uchun init.el ni ajratib olishingiz kerak bo'ladi.
qo'shib qo'ydi muallif UnkwnTech, manba
MELPA-dan eng so'nggi kengaytma versiyasini ishlatasizmi?
qo'shib qo'ydi muallif Ishmaeel, manba
@Kausal Modi: Siz uchun juda katta rahmat, men bundan ilgari menga qanday munosabatda bo'lganini bilaman (men Emacs 25.0.50 da, 25.1.50 da emas). Men bu ishni bajarishga harakat qilaman: nima noto'g'ri ketayotganini bilmayman. Men o'chirib qo'yaman/qayta tiklayman va bir nechta versiyani sinab ko'raman (melpa-melpa-stabilda nimani yaxshi ko'rsam, eski Emacs bilan [yana bir foydalanuvchi katalogida ishlayotgan va boshqalar.
qo'shib qo'ydi muallif Yousend, manba
@Kaushal Modi: aslida men kengaytiriladigan mintaqani yaxshi ko'raman va men "g'alati emas, muvozanatli kengayib borayotgan" xatti-harakatlarni davom ettiraman deb ta'rif bergan holda sizda ishlash uchun juda foydalandim: - /
qo'shib qo'ydi muallif Yousend, manba
@ lunaryom: Oxir-oqibat buni hal qildim, garchi men uni ko'p marta ko'p marta o'chirib yuborganim uchun ishlashimga ishonchim komil emas. Hammasi aniq bilaman, $ HOME/.emacs.d/elpa/ katalogini o'chirib, barcha ELPA paketlarni qayta o'rnatganman. Keling, men expand-region 20150902.558 (manbalardan olingan Emacs 25.1.50 da) dan foydalanganligimni ko'rib turibman va barchasi yana yaxshi ishlaydi, ammo MELPA yoki MELPA-stabil kelganligini bilmayman. Yordam uchun bolalaringizga rahmat: men uni ishladim!
qo'shib qo'ydi muallif Yousend, manba

2 javoblar

Menimcha, bu Emacs 25.0 ning ba'zi o'zgarishlarga bog'liq. *

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

Men hali ham 25.0 ishlayapman * va MELPA'dan expand-region ni o'rnatish orqali muammoni hal qildi. Bu erda Amacs versiyalarining 25+ versiyasi qo'llanilgan.

Eslatma: MELPA versiyasi (0.10.0) ishlamayotganligi uchun turg'un ko'rinishida foydalanmang.

2
qo'shib qo'ydi
emacs-25 filialidan bugungi kunda (25.0.93.x) Melpa va emacsning eng oxirgi versiyasini expand-region kutilganidek ishlaydi.
qo'shib qo'ydi muallif UnkwnTech, manba

Eng so'nggi rasmiy Emacs versiyasi 24,5 va kengaytiruvchi hududni ishlab chiquvchi rivojlanishni qo'llab-quvvatlamaydi versiyalari (masalan, 25+). Amacs 25 filialida tez-tez o'zgarib turadigan narsa emas, chunki bu erda bu savolda ko'rsatilganidek, expand-region ni buzish va ochmaslik. Ular bilan ishlash juda oz foyda keltiradigan katta ish bo'lardi.

Muammoga echimlar:

  • Emacs rasmiy emassiz (ya'ni, 24.5).
  • Agar Emacsning ishlab chiqarish versiyasini ishlatsangiz, kengaytiriladigan hudud bilan ishlaydigan ma'lum bir nashrga yopishib oling. Eski versiyalarni almashtirishdan oldin yangi versiyalarni tekshiring.
1
qo'shib qo'ydi
emacs-25 filialidan bugungi kunda (25.0.93.x) Melpa va emacsning eng oxirgi versiyasini expand-region kutilganidek ishlaydi.
qo'shib qo'ydi muallif UnkwnTech, manba