Monday 20 February 2012

バグ取りな日

いや、OSの採点300通があるんですが…

TreeVNC http://www.cr.ie.u-ryukyu.ac.jp/software/TreeVNC.jar 調子は良いんですが、Lion だと「ポンポンうるさい」という問題が。で、今日、学生と一緒に見たんだけど、なんか、Toolkit.beep() なコードが。ってことは、自分で鳴らしてるの? しばらく悩んでわかりましたよ。

このプログラムをVNC server 上で動かすと、なんかの拍子でベルが鳴った時に、VNC server からベルコードが送られてて、TreeVNC がピンポンと鳴らす。そうすると、それをVNC server がベルコードとして送ってきて… つまり、ビデオフィードバックと同じことが起きていたわけね。Snow Leopard や、他のホストでやると鳴らないが不思議だったんですが、Snow Leopard はベルコードは送らなかったようです。

Mecurial のversionが上がっていて、Web から見ると、また、tab が消えてる。はぁ。同じように直そうと思うと直らない。template base になっていて、修正する所が少し違ったようです。

   def lines():
    for lineno, t in enumerate(text.splitlines(True)):
      yield {"line": re.sub(r'\t', '    ', t),
          "lineid": "l%d" % (lineno + 1),
          "linenumber": "% 6d" % (lineno + 1),
          "parity": parity.next()}

というようにすればよいらしい。' ' は空白8個。そう、

tabstop = 8, swiftwidth = 4 が正しいんだよ。tabstop=4 に設定する学生が二人もいて、だいぶソースコードを破壊したようです。インデント合わせろよ。変だと思わなかったのか? vim では、

set sw=4 ts=8
set expandtab
set softtabstop=4
set nocompatible
autocmd FileType make setlocal noexpandtab

と設定してます。今後は、ソースコードは tab 入れるの禁止だな。

本業のコードの方は、どんどん動かなくなる感じだった。遅いので問題が出なかった感じか… Task の依存関係が足りなくて、追い越してパイプラインなデータを壊しているような感じ。この手のバグは難しい。

No comments: