2009-03-01から1ヶ月間の記事一覧

gaucheの補完をanythingから使えるようにしてみた

symbol名の補完 inferior-gauche-modeでは以下の点が不満でした。 scheme-other-window*1で立ち上がったreplとも通信できない anythingで候補を選択できない*2 inferior-gauche-modeではcompleting-readを利用して候補を選択する replと通信する scheme-othe…

putがウザくなってきたのでマクロを書く。

(require 'cl) (defmacro set-put (progname edit-list) "edit-list = ((<value> . (sym ...)) ...)" `(progn ,@(loop for (depth sym-list) in edit-list nconc (loop for sym in sym-list collect `(put (quote ,sym) ,progname ,depth))))) (set-put 'scheme-ind</value>…

faceの情報取得

emacsの色の設定などを変更したかったので、カーソル位置の文字のfaceの情報を取得したかった。 現在位置のfaceは以下のようにして取得できる (get-char-property (point) 'face) 取得したfaceから設定されている情報をみたい。 face-all-attributesという関…

今までloopマクロを怖がって避けてたけど、つかってみたら結構便利だった。

1から10までの数を集める (require 'cl) (loop for i from 1 to 10 collect i); =>(1 2 3 4 5 6 7 8 9 10) collectを使うとlistに集めていくような処理になるみたい 他にもappend,nconc,sum,count,doがある (defmacro 1from10 (action var expr) `(loop for …

javascriptなどのfunctionとかの表示を短くしてみる

書いたもの (defmacro set-pretty-keywords (mode keyword-num-char-list) `(font-lock-add-keywords ,mode (quote ,(loop for (keyword num char) in keyword-num-char-list collect `(,keyword (0 (prog1 () (compose-region (match-beginning ,num) (matc…

emacsで画像の変更をチェックしてリロードする関数を書いた

これで絵を書くコードで遊ぶのが楽になるはず>< (defvar reload-image-target-path "") (defvar reload-image-target-buf "") (defvar reload-image-current-buffer "") (defvar reload-image-wait-time 1) (defvar reload-image-every-where-p nil) (defv…

MeCabとrubyで遊んだ

mecabのinstall sudo aptitude install mecab mecab-ipadic mecab-utils libmecab-dev euc-jp->utf-8 sudo /usr/lib/mecab/mecab-dict-index -d /usr/share/mecab/dic/ipadic -o /var/lib/mecab/dic/ipadic -f euc-jp -t utf-8 -p mecab-rubyのinstall mecab…