ARAI Shun-ichi
herme****@ceres*****
2015年 1月 28日 (水) 21:08:40 JST
あらいです。 In <CANW2****@mail*****>; Mitsutoshi NAKANO <itsan****@gmail*****> wrote as Subject "[tsunagi 34] please review and test new tamago-tsunagi (was: egg-simで "Invalid code(s)")": > 上記mail > http://sourceforge.jp/projects/tamago-tsunagi/lists/archive/misc/2015-January/000029.html > の件で、tamago-tsunagiを修正してみました。 > あらいさんがおっしゃるとおり、egg-sim.elの(make-char-list)の > (make-char)がエラーを発していましたので > (ignore-errors)で囲ってみました。 > > ISO-8859-3に文字が定義されていない点があり、 > そこで(make-char)がエラーを返していたようです。 > http://en.wikipedia.org/wiki/ISO/IEC_8859-3 > > simを起動すると未定義のところはnilになっており、 > それを無理に入力しようとするとエラーになりますが、 > 一応、動かないという状態は脱したように思われます。 私もその後調べて、なんとかエラーを出さないようにできないか頑張ってみ たのですが、挫折しました。 当方では結局、このようなコードになりました。 ---- diff -aur tsunagi-5.0.1.0.orig/egg-sim.el tsunagi-5.0.1.0/egg-sim.el --- tsunagi-5.0.1.0.orig/egg-sim.el 2014-12-15 10:36:45.000000000 +0900 +++ tsunagi-5.0.1.0/egg-sim.el 2015-01-28 16:05:39.415558358 +0900 @@ -56,19 +56,23 @@ (<= to max) (cond ((= (charset-dimension charset) 1) (while (<= from to) - (setq result (cons (char-to-string - (make-char charset to)) - result) - to (1- to))) + (condition-case nil + (setq result (cons (char-to-string + (make-char charset to)) + result) ) + (error nil) ) + (setq to (1- to)) ) result) ((= (charset-dimension charset) 2) (while (<= from to) (let ((code max)) (while (<= min code) - (setq result (cons (char-to-string - (make-char charset to code)) - result) - code (1- code)))) + (condition-case nil + (setq result (cons (char-to-string + (make-char charset to code)) + result) ) + (error nil) ) + (setq code (1- code)) )) (setq to (1- to))) result))))) ---- 一応、latin-3 の F0 と言うのか 112 と言うのか、最初にエラーで引っ掛かっ た文字は一覧に出てこないようになっているようです。 参考までに。