Emacs折叠模式错误

时间:2010-08-27 19:44:53

标签: emacs elisp dot-emacs emacs23

我希望能够使用http://www.emacswiki.org/emacs/FoldingMode中的folding.el提供的emacs折叠模式

我将以下内容放在我的.emacs文件中:

(setq load-path (cons (concat (getenv "HOME") "/.emacs.d") load-path))
(load "folding")
(folding-mode-add-find-file-hook)
(folding-add-to-marks-list 'latex-mode   "%{"  "%}"  nil t)

然后,当我选择一个区域并运行

M-x folding-fold-region

我收到错误

Wrong type argument: char-or-string-p, nil

1 个答案:

答案 0 :(得分:5)

有两个问题:

  • 您不必为latex-mode重新声明标记,因为这已在folder.el line 4411中完成。因此,您应该删除行(folding-add-to-marks-list 'latex-mode "%{" "%}" nil t)

  • 如果未启用Wrong type argument: char-or-string-p, nil,则会收到错误folder-mode。添加行(folding-mode-add-find-file-hook)不足以默认在folder-mode中打开文件。要在folder-mode中打开,您还应将folded-file局部变量放在要打开的文件的第一行中,例如,在lisp中:

;; -*- folded-file: t; -*-

使用此局部变量,(folding-mode-add-find-file-hook)中的.emacs命令已启用folder-mode,并且在区域上调用folding-fold-region时您不再有问题。

执行 C-h f folding-mode-add-find-file-hook RET 以解释此机制。