Cu プレフィックスで呼び出されたときにリージョンをタグ \begin{environment} および \end{environment} で囲み、タグ \item を各行の先頭に挿入するテンポ テンプレートを設定しようとしています。領域。ただし、「save-excursion: Args out of range: 2247, 2312」エラーが発生します。
(require 'tempo)
(setq tempo-interactive t)
(tempo-define-template "env"
'("\\begin{" (p "Environment: " environment) "}" > n>
r> n>
"\\end{" (s environment) "}" > n
(save-excursion
(narrow-to-region start end)
(goto-char (point-min))
(while (re-search-forward "^" nil t) (replace-match "\\item " nil t))
(widen)
))
"env"
"Insert a LaTeX environment.")
(defun item (start end)
(interactive "r")
(save-excursion
(narrow-to-region start end)
(goto-char (point-min))
(while (re-search-forward "^" nil t) (replace-match "\\item " nil t))
(widen)
))
item 関数自体は、リージョンに対して正常に機能します。tempo-template で elisp 関数項目を呼び出してみました。
(tempo-define-template "env"
'("\\begin{" (p "Environment: " environment) "}" > n>
r> n>
"\\end{" (s environment) "}" > n
(item point-min point-max)
)
"env"
"Insert a LaTeX environment.")
ただし、これにより「eval: Symbol's value as variable is void: point-min」エラーが発生します。問題を解決するための指針をいただければ幸いです。