2005年3月13日 (日曜日)

15:03:53 # Life 第2回東京エリアDebian勉強会参加報告. 第2回Debian勉強会は無事に終りました.

感想ありましたら,ブログのURLをメールで御連絡ください,リンクさせてください.

16:09:11 # Life whizzytexの新しいバージョンのパッケージングに絶賛はまり中. whizzytex 1.2.2が起動するところまではパッチをあてた. しかし,編集中にadviが思う頁に移動しない. upstreamはwhizzyedit機能しか使ってないとみた.

adviをstrace -pでトレースしてみる.1.1.3の場合.

--- SIGUSR1 (User defined signal 1) @ 0 (0) ---
rt_sigprocmask(SIG_BLOCK, [USR1], [USR1 PIPE IO], 8) = 0
rt_sigprocmask(SIG_SETMASK, [PIPE IO], NULL, 8) = 0
stat64("_whizzy_200504.wdvi", {st_mode=S_IFREG|0644, st_size=56620, ...}) = 0
open("_whizzy_200504.wdvi", O_RDONLY|O_LARGEFILE) = 4
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
_llseek(4, 0, [0], SEEK_CUR)            = 0
_llseek(4, 0, [56620], SEEK_END)        = 0
_llseek(4, 0, [0], SEEK_SET)            = 0
read(4, "\367\2\1\203\222\300\34;\0\0\0\0\3\350\33 TeX output 2"..., 4096) = 4096
_llseek(4, 56619, [56619], SEEK_SET)    = 0
read(4, "\337", 4096)                   = 1
_llseek(4, 56618, [56618], SEEK_SET)    = 0
	

1.2.2の場合

--- SIGUSR1 (User defined signal 1) @ 0 (0) ---
rt_sigprocmask(SIG_BLOCK, [USR1], [USR1 PIPE IO], 8) = 0
rt_sigprocmask(SIG_SETMASK, [PIPE IO], NULL, 8) = 0
stat64("_whizzy_200504.wdvi", {st_mode=S_IFREG|0644, st_size=56624, ...}) = 0
open("_whizzy_200504.wdvi", O_RDONLY|O_LARGEFILE) = 4
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
_llseek(4, 0, [0], SEEK_CUR)            = 0
_llseek(4, 0, [56624], SEEK_END)        = 0
_llseek(4, 0, [0], SEEK_SET)            = 0
read(4, "\367\2\1\203\222\300\34;\0\0\0\0\3\350\33 TeX output 2"..., 4096) = 4096
_llseek(4, 56623, [56623], SEEK_SET)    = 0
read(4, "\337", 4096)                   = 1
	

ADVI側では特にかわったことはなく,wdviファイルを読み込んでいるだけのようだ. wdviファイルは ^^A が今カーソルのある場所である,というだけのDVIファイルで, sigusr1を受けるとadviはwdviファイルを読み込むようになっているはず. ctrl-@をうめこめていないのだろうか.

whizzytex.styを見るかぎりでは,1.2.2からwhizzylevelという変数が出て来ている. adviであるか,という判定ではなく,whizzylevelで判定しているみたいだ.

 %% Special effects for advi (static value)
 \newif \ifwhizzy@advi
-\@ifundefined {WhizzyAdvi}
+\@ifundefined {WhizzyLevel}
   {\whizzy@advifalse}
-  {\ifx \WhizzyAdvi1\whizzy@advitrue\fi}
+  {\ifx \WhizzyLevel2\whizzy@advitrue\fi}
	

-adviコマンドを指定するかしないと,デフォルトでは $LEVEL=0. そして,LEVEL=2と指定してあげないと,カレントポインタの場所は指定してくれないのか...

とりあえず深くデバッグするための方法をさぐる. 200504.texというファイルをwhizzytexしているときに,whizzytexコマンドとの通信を実施しているバッファが*200504.tex*という名前で存在している. それは,/usr/lib/whizzytex/whizzytexのループが待ちかまえている部分で, 'info'コマンドをうちこむと現在のシェル変数の一覧が出力される.

        COMMAND=info
        EXT=.tex
        MKSLICE=defaultmkslice
        MKFILE=defaultmkfile
        INITEX=iniptex
        LATEX=platex
        FORMAT=platex
        MULTIPLE=false
        DUPLEX=false
        VIEW=wdvi
        VIEWCOMMAND=advi
        LEVEL=2

        BASENAME=200504.tex
        EXT=.tex
        NAME=200504

        AUTOCOMPILE=true
        AUTORECOMPILE=true

        TRACE=true
        VERSION=1.2.2
	

_whizzy_200504.texを見た限りでは,一応なにかが出ていて,267行目にはきっちりと ctrl-A文字があった.

	  \WhizzyStart{}\WhizzyLinePoint{267}\relax 
	

気が付いたらwhizzy.styという設定ファイルを読み込むように変更になっている.

   \IfFileExists{\WHIZZYCONFIGDIR/whizzy.sty}%
        {\@input {\WHIZZYCONFIGDIR/whizzy.sty}}{}%
   \IfFileExists{\WHIZZYHOME/.whizzytex/whizzy.sty}%
        {\@input {\WHIZZYHOME/.whizzytex/whizzy.sty}}{}%
	

19:41:28 # Life debconf向けの論文の案を書こうとがりがりと書きはじめたが,500 wordsって結構多い... 原稿用紙2-3頁くらいでしょうか. なんかざっくりとabstractをかくつもりでいたら,失敗.

19:51:38 # Life ecasoundの新しいリリースが出ていた. arts用のソースファイルが抜け落ちているので,artsドライバが欠落するが, とりあえず,ecasound2.4.0がうまくビルドできたみたいなので,アップロード.

Comparing ecasound2.2_2.3.5-8_i386.changes and ecasound2.2_2.4.0-1_i386.changes
Files in second .changes but not in first
-----------------------------------------
/usr/include/libecasound/sample-ops_impl.h
	
Junichi Uekawa

$Id: dancer-diary.el,v 1.86 2005/03/13 10:09:29 dancer Exp $