У меня есть следующие мертвые простые функции elisp; первый удаляет разрывы заливки из текущего абзаца, а второй проходит по текущему документу, применяя первый по очереди к каждому абзацу, фактически удаляя все отдельные разрывы строк из документа. Он работает быстро на моем компьютере Puppy Linux с низкими характеристиками, использующем emacs 22.3 (10 секунд для 600 страниц Томаса Аквинского), но когда я перехожу на мощный компьютер с Windows XP с emacs 21.3, на создание того же документа уходит почти час. Что я могу сделать, чтобы он работал и на машине Windows с emacs 21.3?
(defun remove-line-breaks ()
"Remove line endings in a paragraph."
(interactive)
(let ((fill-column 90002000))
(fill-paragraph nil)))
:
(defun remove-all-line-breaks ()
"Remove all single line-breaks in a document"
(interactive)
(while (not (= (point) (buffer-end 1)))
(remove-line-breaks)
(next-line 1)))
Прости мой бедный elisp; Мне очень нравится изучать Lisp и начинать использовать возможности emacs, но я еще новичок в этом.


В качестве первой попытки вы должны загрузить и установить Emacs 22.3 для вашего компьютера с Windows, а затем сравнить скорость.
После обновления разница в скорости не должна быть такой большой.
Возможно, это большое значение, которое вы присваиваете fill-column (они предлагают менее 80).
Понятно, я бы согласился с тем, что сказал другой ответ.
Смысл большого значения в том, чтобы быть больше любого рационального размера абзаца, поэтому при любых разумных обстоятельствах заполнение не будет.