(defun ndwnj-get-definition (agent code) (ndwnj-require agent (concat "SELECT lang, def FROM synset_def WHERE synset = '" (ndwnj-escape-string code) "' ORDER BY lang;") (lambda (process) (while (re-search-forward "^\\(.+\\)|\\(.+\\)$" nil t) (replace-match (concat (match-string 1) ": " (match-string 2)) t t)) (goto-char (point-min)) (when (and (looking-at "^SELECT lang, def FROM synset_def WHERE synset = '") (search-forward "lang;\n" nil t)) (delete-region (point-min) (match-end 0))) (while (re-search-forward (concat "^" ndwnj-prompt-string) nil t) (delete-region (match-beginning 0) (progn (forward-line) (point)))) (buffer-string))))だけどなんだか違うな、おそらくぼくの環境のせいだろうなぁと考え、他の解決策を探してみた。
ぼくが Meadow で(というか Windows で)使っている sqlite3 は自分で cygwin で make したものなんだけど、単に Precompiled Binaries For Windows を sqlite のサイトから貰ってきてくれば OK だった。sqlite3 は ndwnj 以外では cmew/smew で使う sqlite3-ruby しか使っていないので、これでも問題ない。
上の画像をじーーと見て、ふとヤマ勘で試したんだけど、cygwin で make するときに $ ./configure --disable-readline でも OK だった。sqlite3 をコマンドラインで使うことも(ぼくは)無いだろうから、今後は忘れずに --disable-readline を付けよう。
某armなデバイス向けバイナリでも、似たような症状に陥ったので、同じオプション付けて回避した記憶があります。