3

我有以下简单的 elisp 函数;第一个从当前段落中删除填充中断,第二个循环遍历当前文档,依次将第一个应用于每个段落,实际上从文档中删除所有单个换行符。它在我使用 emacs 22.3 的低规格 Puppy Linux 机器上运行得很快(600 页 Thomas Aquinas 需要 10 秒),但是当我使用 emacs 21.3 使用功能强大的 Windows XP 机器时,它需要将近一个小时才能完成相同的文档。我该怎么做才能让它在带有 emacs 21.3 的 Windows 机器上运行?

(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 的力量时玩得很开心,但我还是新手。

4

2 回答 2

3

作为第一次尝试,您应该为您的 Windows 机器下载并安装 Emacs 22.3,然后比较速度。

升级后速度差异应该不会那么大。

于 2008-12-04T15:35:20.850 回答
0

也许这是您分配给 fill-column 的大值(他们建议小于 80)。

于 2008-12-04T15:42:47.573 回答