2012-01-22
backtrace が読めない
emacs でエラーが出たときに *Backtrace* バッファに表示されるトレース,日本語の部分が読めないのが前から気になってたので調べた。
debug-on-error を有効にして M-: から (error "えらー") を評価してみると
Debugger entered--Lisp error: (error "\x3048\x3089\x30fc")
signal(error ("\x3048\x3089\x30fc"))
error("\x3048\x3089\x30fc")
eval((error "\x3048\x3089\x30fc"))
eval-expression((error "\x3048\x3089\x30fc") nil)
call-interactively(eval-expression nil nil)
こんなのが出る。
ソースコード追いかけてみたところ,debug.el で定義されている debugger-setup-buffer の中で (set-buffer-multibyte nil) しているので,そのせいで日本語はエスケープされてしまうらしい。
で,どう対処すればいいのかよくわからないけど,"\x3048\x3089\x30fc" みたいなところをコピーして別のバッファに移動して eval-expression するなりなんなりすれば "えらー" みたいに表示されて読めることに気付いた(multibyte なバッファでやらないと読めない)。これでいいことにしようか。
トラックバック - http://d.hatena.ne.jp/lkozima/20120122/1327229015
リンク元
- 3 http://practical-scheme.net/wiliki/rssmix.cgi
- 1 http://d.hatena.ne.jp/keyword/emacs
- 1 http://d.hatena.ne.jp/lkozima
- 1 http://k.hatena.ne.jp/keywordblog/Emacs
- 1 http://k.hatena.ne.jp/keywordblog/Lisp?mode=rss
- 1 http://reader.livedoor.com/reader/
- 1 http://search.yahoo.co.jp/search?p=consider+使い方&ei=UTF-8&fr=moz2
- 1 http://search.yahoo.co.jp/search?p=except+that+&aq=-1&oq=&ei=UTF-8&fr=top_ga1_sa&x=wrt
- 1 http://search.yahoo.co.jp/search?p=kozima+euler&aq=-1&oq=&ei=UTF-8&fr=top_ga1_sa&x=wrt
- 1 http://search.yahoo.co.jp/search?p=kozima+euler&search.x=1&fr=top_ga1_sa_122&tid=top_ga1_sa_122&ei=UTF-8&aq=&oq=