Common Lisp

Common Lispで動くcurses (cl-charms)で日本語を出力する

cl-charmsのAPIをそのまま使うと日本語の文字列は文字化けして出力されます。 対処の方法を調べるのに時間がかかったのでここにメモ。 手元で試した限りだと、cl-charmsの処理に入る前に(cl-setlocale:set-all-to-native)を実行しておけば大丈夫そうでした。…

IMEと確定結果の扱い

はじめに かな漢字変換の結果を確定した時に確定した漢字を記憶しておき、次回以降の変換時に優先的に出力するのは、IMEのよくある機能です。 今回、この機能の劣化版を個人開発のIMEでも作ってみました。 まだ全然使い物にはならないものなのですが、 機能…

SBCLでUnix-domain socketを使う

はじめに Common Lispでsocketプログラミングをするには通常usocketを使うのですが、 usocketはUnix-domain socketに対応してなさそうです。 そこで、SBCLでUnix-domain socketを使う方法について調べました。 また、簡単なechoサーバーも書いてみました。 l…

IMEでの状態の扱い

はじめに sennという名前のWindowsで動くIMEを個人で開発しています。 IMEの状態の扱いがなかなか複雑なので、ここでメモしてみます。 stateful-ime sennにはstateful-imeというオブジェクトがあります。キー入力の処理等、ユーザーと対話するのはこのstatef…