ファイルの右クリックメニューに好きなコマンドを追加する方法

win

[ファイル名を指定して実行]で、regedit を実行 [マイコンピュータ] -> [HKEY_CLASSES_ROOT] -> [*] -> [shell] を右クリックし、新しいキーを作る。名前は何でもよい。 新しく作ったキーが選択された状態で、今度は右側ペインの(規定)というところをダブル…

Scheme どう書く?的

整列済みの number のリストがある。'(1 3 4 5 6 12 13 15)このようなリストで数が連続している部分は '(1 2 3) -> '(1 . 3) のように両端のみを書くような記法を導入する。最初の例のリストであれば以下のようになる。'(1 (3 . 6) (12 . 13) 15)このような…

moccur-grep-findをちょっと便利に

higeponさんのid:higepon:20080717:1216264518を見て、そういえば自分も moccur-grep-findの拡張子の指定のところで困ってたな〜と思い出した。 いい機会なので自分も少し設定をごにょごにょしてみることに。 せっかくなので、id:higepon さんとは別のアプロ…

moccur-grep-find のファイルマスクは正規表現だった

ずっと使ってて今日はじめて気づいたんだけど、 moccur-grep-find のファイルマスクは正規表現を指定するらしい。 例えば、拡張子が cpp か hpp のファイルからgrep-findしたいという時は、 Input Regexp and FileMask: xxxx \.cpp$\|\.hpp$ といった感じで…

Redmineかなり快適

いやぁー。Redmine、かなり快適だ。 コミットログに、 あんなところや、こんなところを直した。(fixes #12) というふうに、"fixes #チケット番号" のように書いておくと、 勝手にそのチケットがクローズされます。 ただし、管理 -> 設定 -> リポジトリ のと…

プロジェクト管理用アプリをRedMine0.7.2に変更。

インストールは/doc/INSTALLに書いてあるとおり。 思ったよりもサクサク動いてかなり快適。 実は最初インストールにてこずって結構はまったので忘れないようにメモ。 サーバのRubyがなぜか1.7が入っていたのでまず1.8.7にアップグレード。 RedMine0.7.2がRai…

Diredモードでファイルの作成

Diredモードで dired-create-directoryはあるのになんで dired-create-file はないのかなぁーと不思議に思ってた。あそっか、shell-command で tocuh 'filename'としてやれば済む話だからか、と納得。 それで shell-command で試してみたら、mcompleteの補完…

amazonでコンパイラ関連の本をいくつか購入。

『コンパイラの構成と最適化』はずっと欲しくてしょうがなかったんだけど、 価格があれなんでずっと我慢してた。けどやっぱり最適化のところが読みたくて、 ついにえいやっと買ってしまった・・・。結局買ってしまうんならもっと早く 手に入れるべきだったと…

3imp ((lambda(x) x) 9) が実行される様子

3impの3章に出ているスタックベースのSchemeVMで ((lambda(x) x) 9)がどのように実行されるのかみてみた。コンパイル結果は以下のようになった。 ======================================================================== ((lambda (x) x) 9) => (frame (…

CUnit2.1.0 libcunit.so.1が見つからない

そろそろテストも書かないといかんなー、というわけで CUnit2.1.0を導入。 早速今作っているSchemeVM用のテストを書いてみた。 gcc -o vmtest vmtest.o -L/usr/local/lib -lcunitとして、できあがったものを実行してみると、エラーがでる。 libcunit.so.1: c…

3imp で (+ 3 4)を実行してみる

vmで各レジスタやスタックの中身をデバッグプリントするようにしたので入力されたコードが実行される様子がわかりやすくなった。例えば以下のコードは (run '(+ - * / cons car cdr a) (list + - * / cons car cdr 1) '(+ 3 4))このように表示される。(日本…

manコマンドでCライブラリ

Ubuntu 7.04で man fprintf などで、エントリーがない、と言われてしまうことに今更ながら気づいた。 sudo apt-get install manpages-devとして、表示されるようになった。

3impでプリミティブ関数

3impで紹介されているスタックベースのScheme処理系は、そのままではプリミティブ関数が実行できないのでちょっと細工してみた。まずはcompileを以下のように変更し、applyインストラクションに手続きに適用する引数の数を指定する。 . . 略 . [else (let lo…

3impのスタック機械

コンパイルしてできた命令列のリストを脳内でVMに渡してシミュレートする、という事をやってたんだけど、これじゃああまりにもあんまりなんで実行中のスタックや各レジスタの状態が一目でわかるようにVM関数のなかにデバッグprintをはさんでみた。まずは各レ…

Scheme処理系の作成

SICP -> 『プログラミング言語処理系』 -> ドラゴンブック と読み進んで、今、Scheme(R5RS)のサブセットの処理系をCで実装しています。 抽象構文木(AST)をたどりながら逐次実行していく、というSICPの4章に出てきたものをそのままCで実装しました、というよ…

 anything.el

emacs に anthing.elを導入しました。すごく便利で重宝してるんですが、(setq frame-title-format "%f")としてウィンドウバーにファイルのパスを表示してたのが、anyting.elを導入後からうまく表示されなくなってしまいました。う〜ん、これなんとかなんない…

GNU Global の htags を使ってみた。

gtags -v htags -f -F -s -x などとするとHTMLファイルを生成してくれる。 いやぁ、これはすごい。もの凄く快適。今までは gtags + emacs という組み合わせで使っててこれはこれで相当便利だったんだけど、コードは書かずに読むのが目的、という場合 htags …

Meadow3.0でfm.el

最近Meadow2.10からMeadow3.0に乗り換えた。 今までigrep + fm.el で便利に使っていたんだけど、Meadow3.0にしたらigrepした時にCannot use fm in this mode.と表示されるようになってしまった。fm.elのなかにあるfm-start関数定義の途中にカーソルを置いて …

UbuntuにSubversionとtracをいれてみた。

まずはApacheをインストール sudo apt-get install apache2 Subversionをインストール sudo apt-get install subversion subversion用のディレクトリを作って、イニシャライズ。 cd /var/local sudo mkdir svn cd svn sudo mkdir xxx cd xxx sudo svnadmin c…

Ctrl 押下しながら単語上でマウスクリックでバッファ上の同じ単語をハイライト表示する機能。

emacsなのにマウスで操作って邪道だとか言われそうですが・・・。 この変数どこで使われてるんだ?とかいう時に気軽に使えます。 コードを読む時、occur使うまでもないかなって時にかなーり重宝してます。 (global-set-key [C-down-mouse-1] 'hilight-curren…

cygwin + screen + zsh + ck で日本語表示・入力の備忘録

まずは .inputrc の設定 set kanji-code sjis set convert-meta off set meta-flag on set output-meta on 次に.screenrc termcapinfo cygwin KJ=SJIS defencoding SJIS ck はWindowバー?上で右クリックのメニュー上で Input Shift JIS Display Shift JIS Di…

emacsに辞書を導入

まずはlookup-elを導入。ここからソースを入手し、 install.elをemacsで開いてM-x eval-buffer とする。・・・がなぜか途中で止まってしまう。 lookup-logo.xpmがみつからないというメッセージが出てるんだけどそもそも探しているディレクトリが 1階層ちが…

UbuntuへSLIBを導入

http://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3aFAQ#H-1wd28wz ↑を参考にしました。まずは、apt-get。 apt-get install slib Gaucheのライブラリのパスを確認。 gauche-config --syslibdir 念のためバックアップ cp slib.scm slib.scm.default sli…

M->, M-<が効かない

Ubuntu7.04 の emacs23 で M->, M- M-., M-,として認識されているようで、どうもAlt+Shiftというキーバインドが、 scrollLockのトグルになっているらしい。 システム→設定→キーボード→レイアウトのオプション→「Group Shift/Lock behavior」内のチェックを全…

SICP

[scheme]SICP 2章の終盤まで読んだ。 3章はどんな展開になるんだろうか・・・。ワクワクする。