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

書き初め

schemeの感覚で書くとこんな感じかもしれない。foldの代わりにreduceで (defun dirs-children (dirs &optional exclude) (let ((exclude* (or exclude (mapconcat 'identity '("\\.\\{1,2\\}$" "\\.git$" "\\.svn$") "\\|")))) (nreverse (reduce #'(lambda …

lstripとかrstripとか欲しくなる。

例えば shell-command-to-stringで返ってきた文字列の末尾にいらない改行が含まれたりだとか。 そんなわけで、自分で定義して使っています。 code (defun rstrip (str) (replace-regexp-in-string "[ \t\n]+$" "" str)) ;;(defun lstrip (str) (replace-rege…

count-up

http://d.hatena.ne.jp/kitokitoki/20091219 http://d.hatena.ne.jp/gongoZ/20091222 (defun count-up (d) (interactive "P") (when (looking-at "[0-9.]") (let ((col (current-column)) (beg (progn (skip-chars-backward "[0-9.]") (point))) (end (progn…

info-modeで使うanything(memo)

anything-c-moccurのように、selectionを移動するたびに対応した行に移動する方法がわかった。 (defmacro let1 (var val &rest body) (declare (indent 2) (debug t)) `(let ((,var ,val)) ,@body)) (defmacro ilambda (&rest body) `(lambda () (interactiv…

timer用のanythingのSource

何となく作ってみた。(特に意味はない) 一度定義したタイマーを再利用したいかもしれないということで、いきなり殺すのではなく、stop-listというところに退避させるようにしている。でも、reviveは実装していない。*1 (defvar stop-timer-list nil) (defun …

keysnailを試そうとしてみた->失敗.

勧められたので、keysnailを入れてみました。 ESCをMとして認識させたいのだけれど、上手くいきませんでした。 .keysnail.jsに以下を追加すればいいはず…だと思ったのですが。 key.isMetaKey = function (aEvent) { return KeyEvent.DOM_VK_ESCAPE == aEvent…

emacsからtimeout付きでprocessを呼び出す2

emacs側では以下の2つのようなプロセスを呼び出せばいいことに気づいた。 . 動作 その後 this-process 渡されたコマンドを実行して もう一方のprocessが終わってなかったら殺す。 that-process sleepして もう一方のprocessが終わってなかったら殺す。 ;(req…

emacsからタイムアウト付きでプロセスを呼び出す。

なかなかうまく行かない。 with-timeoutはprocessの呼び出しに対応していない。 sleep-forは渡した秒数だけ待たないこともある。(原因不明) (sleep-for 3)が0.1xxx秒で終わってしまうことも 今のところはこのような感じ。(一応目的にあった振る舞いはするよ…