Ошибка режима сворачивания Emacs

Я хочу иметь возможность использовать режим сворачивания emacs, предоставляемый Folding.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

person forefinger    schedule 27.08.2010    source источник


Ответы (1)


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

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

person Jérôme Radix    schedule 27.08.2010