Last modified: Jun 12 02:33 JST 2008

自作のプログラムとか - Emacs-Lisp篇

ファイル名に xxx.el-v.v.gz のようにバージョン番号が含まれているファイルは、 gzip で伸長するときに -N (--name) オプションを使うと バージョン番号のついていないファイル名 (xxx.el) になります。 あとはこのファイルを通常の Emacs-Lisp ライブラリと同じようにインストールしてください。設定方法や更新履歴は Emacs-Lisp ライブラリの慣習に従ってソースファイル冒頭のライブラリヘッダに含めています (手を抜いてなければ :-))

メジャーモード

yapp-mode (Mar 20, 2001 / 2729 bytes)

Parse::Yapp の入力文法ファイルを編集するための Emacs のメジャーモードです (Parse::Yapp は、 Francois Desarmenien 氏による Perl 版の yacc です)。

systemc-mode (Jun 14, 2001 / 2223 bytes)

システム記述言語 SystemC のソースファイルを編集するための Emacs のメジャーモードです。 … まぁ、 c++-mode モードに皮を被せたものなんですが :-)

その他

えせ (Aug 05, 2006 / 5180 bytes)

グレゴリオ暦 (要は現代のふつうの日付) から旧暦と二十四節気・雑節を求めるプログラムです。

M-x koyomi-today
今日は 平成14年 (壬午) 8月8日 (戊申) 旧6月30日 大安 立秋 です。

メールのヘッダにこっそり旧暦を忍ばせるとかしてみるのも楽しいかも知れません :-)

uncompface (Jun 10, 2003 / 4154 bytes)

メール/ニュースの X-Face ヘッダなどで使われる compface 形式の圧縮ビットマップを展開するプログラムです。 Emacs-Lisp だけで実装されており、外部プログラム (uncompface など) を一切使いません。また Emacs のコンパイル時にライブラリを組み込んだりする必要もありません。

ブールベクタ定数修正プログラム (Jun 08, 2003 / 2304 bytes)

上の uncompface.el をコンパイルできてもロードできないという問題を回避するプログラムです。 uncompface.el をバイトコンパイルした後 emacs -batch -l fix-boolvec.el -f batch-fix-bool-vectors uncompface.elc のように実行すると正常にロードできるようになります。他にも eval-when-compile などでコンパイル時にブールベクタを定数として出力するようなプログラムに効果があります (たぶん)。

kishuizon (Sep 28, 2003 / 3217 bytes)

丸囲み数字や組み文字など、いわゆる「機種依存文字」が含まれているテキストを Emacs で読むためのプログラムです。 機種依存文字は「(1)」や「メートル」のように代替テキストで表示します。

kishuizon.el の表示サンプル
(他のシステム)kishuizon.el による代替表示
他システムでの表示 表示例

diff-buffer-file (Dec 18, 2003 / 1813 bytes)

編集中のバッファと、それに対応するファイルで diff を取るためのコマンド (M-x diff-buffer-file) です。バッファをセーブするに変更点を確認することができます。

disassemble-file (Jan 07, 2004 / 2317 bytes)

Emacs-Lisp のバイトコードは、 Emacs に付属する disassemble 関数を使って「逆アセンブル」することができますが、関数毎にしか逆アセンブルできません。このライブラリはコンパイル済みのバイトコードファイル (.elc ファイル) を一括して逆アセンブルするための disassemble のラッパです。 disassemble では簡単には見ることのできない、トップレベルの (関数やマクロの定義以外の) バイトコードも逆アセンブルできます。バッチモードでは逆アセンブル結果を標準出力に出力することもできます。

qr-encode (May 06, 2008 / 14792 bytes)

QRコードを生成するためのライブラリです。文字列 (8ビット文字とシフトJISに対応) をQRコードにエンコードし、できたシンボルをビットマップ (ブールベクタのベクタ) か Emacs-Lisp の Image Descriptor (Emacs が表示する画像の内部形式) で返します。誤り訂正レベル (M/L/H/Q) とバージョン (1〜40) については一応すべて対応しています。 … が、今一つ使い道がありません ;-p

qr-encode.el のスクリーンショット
スクリーンショット画像

バグ、ご提案などありましたら私まで


KMC のトップページ / 1つ上のディレクトリのインデックス
tak@kmc.gr.jp