5

Я только что обновился до emacs 23.2.1, когда наконец обновился до ubuntu 10.10, но первое, что я заметил, это то, что c-fill-абзац (Mq) больше не работает с комментариями или, по крайней мере, не работает так, как в emacs 23,1.? что у меня было до обновления.

Основная проблема заключается в том, что если у меня есть комментарий, например

//This is a long comment to illustrate an issue I have with emacs lorem ipsum

а затем сделать заполнение абзаца (Mq) после этого я получаю

//This is a long comment to illustrate an issue I have with
emacs lorem ipsum

тогда как я должен получить

//This is a long comment to illustrate an issue I have with
//emacs lorem ipsum

Я убил свой файл .emacs, чтобы попытаться определить причину появления проблемы, но она все равно появляется даже в ванильных emacs.

2 ответа2

1

Нашел ответ здесь с патчем, который можно использовать, если перекомпилировать emacs с нуля. Оказывается, это ошибка в cc-mode, которая, надеюсь, будет исправлена в следующей версии emacs.

Другое несколько более простое решение - просто использовать fill-paragraph а не c-fill-paragraph .

РЕДАКТИРОВАТЬ: и со страницы emacs в режиме php, кажется, что вы должны вручную применить патч, так как строки # не совпадают с текущим источником emacs.

0

У вас есть longlines-mode случайно? Автозаполнение и ярусы не очень хорошо сочетаются (но у меня есть для этого хак):

(defadvice fill-paragraph (around fill-paragraph-ignore-longlines act)
  "Ignore longlines-mode when calling fill-paragraph."
  (let ((restore-ll-mode nil))
    (when (boundp 'longlines-mode)
      (setq restore-ll-mode longlines-mode))
    (when restore-ll-mode
      (longlines-mode 0))
    ad-do-it
    (when restore-ll-mode
      (longlines-mode t))))

Чтобы перейти к обычному emacs, введите emacs -q --no-site-init в командной строке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .