er/expand-region не работает, как ранее в Emacs 25.1

У меня er/expand-region ведется очень странно, и я не понимаю, что я сделал неправильно (помимо обновления до Emacs 25.1.50).

Если у меня есть это в файле elisp:

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

(этот фрагмент кода является лишь примером)

и я нахожусь в звездочке и начинаю делать расширяющуюся область, которую я получаю:

  • "*" (OK)
  • "* 2 2" (ОК)
  • "* 2 2)" (НЕПРАВИЛЬНО)
  • "(* 2 2)" (вроде бы, я думаю)
  • "(* 2 2) p)" (НЕПРАВИЛЬНО)
  • "(defun foo (p) (* 2 2) p)" (вроде бы ОК, я думаю)

У меня такая же проблема с файлами Clojure.

Раньше er/expand-region использовался для выбора вещей между соответствующими скобками. Проблема в том, что теперь мне нужно больше клавиш, чтобы выбрать то, что я хочу, и я продолжаю в конечном итоге с неуравновешенным кодом elisp/Clojure, потому что я режу/убиваю несбалансированные фрагменты кода.

Я попробовал оба вызова er/expand-region с помощью ярлыка или вызова его вручную: тот же результат. Из моего тестирования это выглядит, скажем, когда в Clojure используется список clojure-mode-expansion и т. Д.

Я вообще не знаком с тем, как er/expand-region работает внутри, но это как если бы что-то вызывалось до er/mark-inside-pairs и er/mark-outside-pairs и что эта штука соответствовала правильной круглой скобке.

Любая идея о том, что пошло не так, и как я мог это исправить?

Я попробовал как мой старый регион er/expand, так и последний ELPA.

1
Я нахожусь в последней версии ветви emacs-25 dev, но я не могу воспроизвести то, что вы видите; мое расширение продолжается в этом порядке: «*», «* 2 2», «(* 2 2)», «defun foo (p) (* 2 2) p", "(defun foo (p) (* 2 2 ) п)".
добавлено автор UnkwnTech, источник
Сначала попробуйте в сеансе emacs -Q . В этом сеансе загрузите только этот пакет и посмотрите, можете ли вы воссоздать ту же проблему с помощью er/expand-region . Скорее всего, это сработает хорошо, и тогда вам нужно будет починить ваш init.el, чтобы найти виновника.
добавлено автор UnkwnTech, источник
Используете ли вы последнюю версию расширенного региона от MELPA?
добавлено автор Ishmaeel, источник
@ Kaushal Modi: Большое спасибо за попытку, это именно то, как он вел себя раньше (я был на Emacs 25.0.50, а не 25.1.50 ранее). Я буду продолжать пытаться заставить его работать: я не знаю, что пошло не так. Я удалю/переустановит и попробую несколько версий (я посмотрю, что я нахожу на melpa, melpa-stable, попробую с моим старым Emacs [который я все еще работаю в другом каталоге пользователя] и т. Д.).
добавлено автор Yousend, источник
@Kaushal Modi: на самом деле я люблю область расширения, и я так привык к ней, работая в том порядке/порядке, о котором вы описали, что я продолжаю делать ошибки сейчас, когда он делает «странные не сбалансированные расширения»: - /
добавлено автор Yousend, источник
@lunaryom: Я в конце концов решил его, хотя я не уверен, что я сделал, чтобы заставить его работать, потому что я много раз удалял/повторно устанавливал много вещей. Все, что я точно знаю, я удалил весь свой каталог $ HOME/.emacs.d/elpa/ и снова установил все мои пакеты ELPA. Теперь я вижу, что я использую expand-region 20150902.558 (на Emacs 25.1.50, собранном из источников), и все работает отлично, но я не знаю, пришли ли из MELPA или MELPA-stable. Спасибо вам, ребята, за помощь: я заработал!
добавлено автор Yousend, источник

2 ответы

Я думаю, что это связано с некоторыми нарушениями в Emacs 25.0. *

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

Я все еще работаю 25.0. * И решил проблему, установив расширение-область из MELPA, где было исправлено исправление для версий Emacs версии 25+.

Примечание. Не используйте версию (0.10.0) в MELPA stable , так как она не работает.

2
добавлено
Я использую последнюю версию формы expand-region Melpa и последней сборки emacs из ее ветви emacs-25 на сегодняшний день (25.0.93.x), и все работая нормально, как ожидалось.
добавлено автор UnkwnTech, источник

Последний официальный выпуск Emacs - 24,5, а разработчик расширения - не поддерживает разработку версии (т.е. 25+). Это не является необоснованным, так как в ветке Emacs 25 происходят частые изменения, которые ломают и разрывают expand-region , например, в этом вопросе. Продолжение с ними было бы большой работой за небольшую выгоду.

Решения проблемы:

  • придерживаться официального релиза Emacs (т. е. 24.5)
  • Если вы используете версию Emacs для разработки, придерживайтесь определенной версии, которая работает с областью расширения. Проверьте сборки новых версий перед заменой старых версий.
1
добавлено
Я использую последнюю версию формы expand-region Melpa и последней сборки emacs из ее ветви emacs-25 на сегодняшний день (25.0.93.x), и все работая нормально, как ожидалось.
добавлено автор UnkwnTech, источник
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Clojure — русскоговорящее сообщество
Clojure — русскоговорящее сообщество
433 участник(ов)

Общаемся на темы, посвященный Clojure. Решаем проблемы, обмениваемся опытом и делимся новостями. Вакансии и поиск работы: @clojure_jobs Вам могут быть интересны: @javascript_ru, @nodejs_ru, @ruby_ru, @devops_ru, @devops_jobs