先日、markdown-mode が更新(v2.5)されていることに気が付いた。今使っているのが v2.3。あれ、v2.4 リリースには気付かなかったっけ?と思いながら v2.5 にして暫くした後、markdown コマンドが動かなくなっていることに気が付いた。
Markdown command markdown is not found
あー、なんか思い出してきた。昔 v2.4 にした時、やはり markdown コマンドが動かなくて v2.3 に戻したような気がする。v2.5 になっても直っていないということは、直す気がないか、私の環境がニッチなのだろう。このままずっと v2.3 というのも嫌なので、面倒だが調べてみる。
私の環境は MSYS2 + NTEmacs。M-! (shell-command)では markdown コマンドを実行できる。しかし markdown-mode からだと見つけられない。
(when (and (stringp command) (not (executable-find command)))
(user-error "Markdown command %s is not found" command))
上記が問題の部分。
(executable-find "markdown")
nil
(locate-file "markdown" exec-path)
"c:/home/user/bin/markdown"
これだ。私の場合、markdown コマンドは Ruby スクリプトだ。MSYS2 からは実行できても、実行ビットを解さない NTEmacs には単なるファイルにしか見えない。幸い、markdown-command にはリストも設定できるので、下記のようにして解決した。
(when (executable-find "env")
(setq markdown-command `("env" ,markdown-command)))
以上、結果からいうと、やはり私の環境のせいだった。しかし NTEmacs のことを考慮すれば、executable-find のチェックはやり過ぎのように感じる。単に locate-file にするか、そもそもチェックする必要があるのか?という気もする。困っているのが私だけなら良いのだが。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。