Ошибка режима сворачивания Emacs - PullRequest
3 голосов
/ 27 августа 2010

Я хочу иметь возможность использовать режим сворачивания emacs, предоставляемый откидной .el из http://www.emacswiki.org/emacs/FoldingMode

. Я поместил в свой файл .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 Ответ

5 голосов
/ 28 августа 2010

Есть две проблемы:

  • вам не нужно повторно объявлять метки для латексного режима, поскольку это уже сделано в folder.el строка 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 , чтобы получить объяснение этого механизма.

...