tc-3.0 ready

103 views
Skip to first unread message

安宅正之

unread,
Aug 4, 2012, 11:46:33 AM8/4/12
to tc...@googlegroups.com
安宅です。

tc-3.0 (pre) のソースコードをいじりました。
手元の環境では無事コンパイルが通るようになりました。
これでトラブルがなければ、tc-3.0 としてリリースしようと思います。

そんなわけで、コンパイル・テストを行なって下さる方を募集します。
現状、以下の 2 つの環境でテストを行ないました。

Ubuntu Linux 8.10 / Emacs 23.1.50
MacOS 10.7 / Emacs 22.0.50

svn からソースコードを取って来た場合
configure が再度生成されることもあるかもしれません。
どうやら、これはタイムスタンプが svn に上書きされているのが
原因のようです。
もし、configure が再生成されるようであれば
configure 実行前に以下のコマンドを実行してみて下さい。

$ touch configure

また、make 時に elc-stamp 周りのエラーが出るかもしれません。
これも、どうやらタイムスタンプが原因のようです。

$ touch lisp/elc-stamp

これらの問題が、みなさんの環境で起きたかどうかも知りたいです。
どうぞ、よろしくお願いします。

PS.
--
Emacs 24.1.50 に関する問題は
tc-3.0.1 で取り上げたいと思いますが...
さて、どうなることやら。

Yosihiro Yuse

unread,
Aug 5, 2012, 10:30:08 AM8/5/12
to tc...@googlegroups.com
安宅さん、 tc-3.0 の開発おつかれさまです & ありがとうございます。
さっそく、
$ svn checkout http://tcode.googlecode.com/svn/trunk/tc tc3
でソースを取ってきて試しました。
問題なく configure && make && make install が通り、また、うまく
動作しているようです。
テストした環境は
Mac OS X 10.7.4 / Emacs 22.1.1
です。
Carbon Emacs 1.6.0 (GNU Emacs 22.2.1) でも問題なく使えています。

> svn からソースコードを取って来た場合
> configure が再度生成されることもあるかもしれません。
...snip...
> また、make 時に elc-stamp 周りのエラーが出るかもしれません。
こちらの環境では、こういった問題は起きないようでした。


本題とは関係ないところで、お願いがあるのですが、
tc-3.0 に含まれている TT-Code テーブルファイルを
新しい版に更新していただけないでしょうか。
現在 TT-Code は、新常用漢字対応・ bug fix などを行って
第三版となっています (まだ公開していませんが)。
もし対応してくださるなら、新しいテーブルファイルを
メールでお送りしたいと思います。
よろしくお願いします。

--
ゆせ よしひろ
yoy...@gmail.com

藤原 誠/

unread,
Aug 5, 2012, 11:34:36 AM8/5/12
to tc...@googlegroups.com
> 藤原 誠
安宅さん、ありがとうございます。

(NetBSD) pkgsrc/wip/tc-svn
も追従しました。

http://sourceforge.net/mailarchive/forum.php?thread_name=From_makoto%40users.sourceforge.net_Sun_Aug_05_15%3A01%3A21_2012&forum_name=pkgsrc-wip-cvs
(短くして)
http://bit.ly/OUIwBB

(1)
以前の 2.3.1 の版が入っている環境で、byte compile すると
tc-pre.el の中の
(defconst tcode-version "3.0")
の行が読まれても、それ以前に tcode-version が 2.3.1
になっていて、byte compile した方 (tc-pre.elc) には 2.3.1
が記録される(らしい)

ので、安直回避策として tc-pre.el は byte compile しないよう
にしました。
(しかし他にも *.elc には 2.3.1 という文字が刻まれている気もします)

(2) 3.0pre ということで、pkgsrc 的には 3.0 としてしまうと、
本物の 3.0 に上書き(更新)しにくくなると思ったので、勝手で申訳け
ありませんが 2.99.1 という版名にしています。(外側だけの話です)

(3)そして、実はこれが問題なのですが Emacs-24.1.50 では C-\ で
起動すると、tc-tbl がこわれている、と言われます。
添付の 996 行目のように (length newval) を表示するようにしてお
くと、80 と言っています。文字の数え方にまた何か変更があったのか
な、と思っています。

という訳で、今は前の版を使っています。

また、おたづねの問題は、こちらでは autoconf 等を起動している
ためか、何も問題は出ません。

いつも本当にありがとうございます。
---
(藤原)
tc.el:

982 (defun tcode-load-table-1 (filename &optional prefix)
983 (let ((k1 0) k2 newval char new-table)
984 (load filename)
985 (setq new-table (make-vector 40 nil))
986 (while (< k1 40)
987 (aset new-table k1 (make-vector 40 nil))
988 (setq k1 (1+ k1)))
989 (setq k1 0)
990 (while (< k1 40)
991 (let ((v (aref tcode-tbl k1)))
992 (if (null v)
993 ()
994 (setq newval (vconcat (delq ? (string-to-list v))))
995 (unless (= (length newval) 40)
⇒ 996 (error "Table corrupted at line %d length %d." (1+ k1) (length newval)) )
997 (setq k2 0)
998 (while (< k2 40)

藤原 誠/

unread,
Aug 5, 2012, 11:53:32 AM8/5/12
to tc...@googlegroups.com
> 藤原 誠
自分のメールを読直すと、情報が不足している気がしたので、
補足します。

| From: 藤原 誠/ Makoto Fujiwara <makoto....@gmail.com>
| Subject: Re: [tcode] tc-3.0 ready
| Date: Mon, 06 Aug 2012 00:34:36 +0900

> (1)
> 以前の 2.3.1 の版が入っている環境で、byte compile すると
> tc-pre.el の中の
> (defconst tcode-version "3.0")
> の行が読まれても、それ以前に tcode-version が 2.3.1
> になっていて、byte compile した方 (tc-pre.elc) には 2.3.1
> が記録される(らしい)

これは 「automake の elisp-comp にはまだ問題がある」のだと思って
います。
あるいは、tcode-version に限っては、利用者が設定するようなもの
ではないので、defconst でなく setq の方が良いのではないかという
気もします (僕が大きな勘違いをしているかも知れませんけれど)。

SEMI とか APEL のように独自の byte-compile 方法の方が良いのかな、
と思ったりもします。

> (3)そして、実はこれが問題なのですが Emacs-24.1.50 では C-\ で
...
> という訳で、今は前の版を使っています。

これは同じ Emacs-24.1.50 で少し前の tc-svn (例えば三日前)
では問題が出ないので、Emacs-24.1.50 の問題というよりは、今回の
3.0pre の変更に関係があるのかな、と思っています。
svn の操作には慣れていないので、差分を見る等がすぐには出来
ないので、何とも言えません。申訳けありません。

ありがとうございます。
---
(藤原)

藤原 誠/

unread,
Aug 5, 2012, 11:17:00 PM8/5/12
to tc...@googlegroups.com
> 藤原 誠
table がこわれている、と言われる件は、今回の変更の所為のよう
だ、と書いたのですが、
「今回の変更」にはそれに関係するような点はなさそうです。

では tc-pre.el を byte-compile しなかったのが原因なのでは、と思っ
て戻したら、どうも直っているようです。申訳けありません。

でも不思議なのは (pkgsrc/wip/tc-svn で) make する時に
tc-2.3.1 を pkg_delete しておけば良いと思って、そうしたのですが、
相変らず tcode-version は 2.3.1 だと言います。まだどこかに
その定義が残っているようなので、もう少し調べるつもりです。

不思議と言えば
「byte-compile すると table が正常」
「byte-compile しないと table がこわれていると言われる」
のも変な話で、逆ならともかく、です。あるいは漢字コードが関係
しているのかな、とも想像しています。
---
(藤原)
〒 260-0854 千葉市中央区長洲 1-10-13
Tel: 043-221-8082
FAX: 043-221-8083
H" 070-5073-4063

藤原 誠/

unread,
Aug 6, 2012, 11:08:41 AM8/6/12
to tc...@googlegroups.com
> 藤原 誠
3.0 にしたはずなのに tcode-version を見ると 2.3.1 になっている
問題は、
(間違っているかも知れませんが)
svn repositoy の tc-pre.el の中に、そういう行がまだ残っている
から、ではないかと思えて来ました。

-(defconst tcode-version "2.3.1")
+(defconst tcode-version "3.0")

build する時に、tc-pre.el は、(別のところから)書替えられて
3.0 になるのですが、僕の場合、autoconf/automake を実行する関係
上、この tc-pre.el を見ていて、それで、こんなことが起きているの
では、という推測をしています。

(もう一つの可能性は、僕は svn repository を適切に見ていない、適
切に down load して来ていない、ということもあるかも知れません)

ありがとうございます。
---
(藤原)

安宅 正之

unread,
Aug 8, 2012, 8:09:57 PM8/8/12
to tc...@googlegroups.com
安宅です。
返事が遅くなって申し訳ないです。

2012/8/5 Yosihiro Yuse <yoy...@gmail.com>:
> 本題とは関係ないところで、お願いがあるのですが、
> tc-3.0 に含まれている TT-Code テーブルファイルを
> 新しい版に更新していただけないでしょうか。
> 現在 TT-Code は、新常用漢字対応・ bug fix などを行って
> 第三版となっています (まだ公開していませんが)。

はーい。

> もし対応してくださるなら、新しいテーブルファイルを
> メールでお送りしたいと思います。
> よろしくお願いします。

新テーブル、取り込みます。
--
Masayuki Ataka (Japan)
twitter: at_aka

安宅 正之

unread,
Aug 8, 2012, 8:13:03 PM8/8/12
to tc...@googlegroups.com
安宅です。

2012/8/7 藤原 誠/ <makoto....@gmail.com>:
>> 藤原 誠
> 3.0 にしたはずなのに tcode-version を見ると 2.3.1 になっている
> 問題は、
> (間違っているかも知れませんが)
> svn repositoy の tc-pre.el の中に、そういう行がまだ残っている
> から、ではないかと思えて来ました。
>
> -(defconst tcode-version "2.3.1")
> +(defconst tcode-version "3.0")
>
> build する時に、tc-pre.el は、(別のところから)書替えられて
> 3.0 になるのですが、僕の場合、autoconf/automake を実行する関係
> 上、この tc-pre.el を見ていて、それで、こんなことが起きているの
> では、という推測をしています。
>
なるほど。
こちらでも調べてみます。

> (もう一つの可能性は、僕は svn repository を適切に見ていない、適
> 切に down load して来ていない、ということもあるかも知れません)
>
> ありがとうございます。
> ---
> (藤原)

安宅

Hidehiko Masuhara

unread,
Oct 7, 2012, 10:47:45 PM10/7/12
to tc...@googlegroups.com
安宅さん、

tc-3.0の開発ありがとうございます。
をして78版を取得して Ubuntu Linux 12.04 + GNU Emacs 23.3.1 の環境で
構築してみました。

(1) 単純に ./cofigure && make したところではエラーが出たので
elisp-comp に(set-language-environment "Japanese") を追加するようにした
ところ、無事に構築・実行に成功しました。(構築時の環境が
LANG=en_US.UTF-8 だったからからかも知れません。)

===================================================================
--- elisp-comp (revision 78)
+++ elisp-comp (working copy)
@@ -75,7 +75,7 @@

(
cd $tempdir
- echo "(setq load-path (cons nil (cons \"$abs_srcdir\" load-path)))" > script
+ echo "(set-language-environment \"Japanese\")(setq load-path (cons
nil (cons \"$abs_srcdir\" load-path)))" > script
$EMACS -batch -q -l script -f batch-byte-compile *.el || exit $?
mv *.elc ..
) || exit $?
===================================================================

(2) 試行錯誤の過程で make clean をしたところ、tc-pre がなくなってしまう
ようで、その後の make は途中で失敗します。以下のようなメッセージが出ます。

===================================================================
cp: cannot stat `./tc-pre.el': No such file or directory

In toplevel form:
eelll.el:29:1:Error: Cannot open load file: tc-pre
(などなど)
===================================================================

中途半端で申し訳けございませんが、報告と御礼まで。

増原英彦


2012/8/5 安宅正之 <masayuk...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages