2008-01-01から1年間の記事一覧

key-chord.elで定義しているコマンドを表示するanything-source

説明 key-chord.elで提供される key-chord-describe コマンドのanythingインターフェイスです。定義されているchordを表示します。 anything-sourceの変数 anything-c-source-key-chord-describe と、それを使ってanythingを起動するコマンド anything-c-key…

ごらんの有様だよ

クリスマスイブだというのに部屋で一人年賀状を作ってた。 ごらんの有様だよ!!

outputz.elでclマクロがrequireしないで使われている?

outputz.el読んでて気付いたので。 (unless (fboundp 'mailcap-parse-mailcaps) (block nil (dolist (path load-path) (when (or (file-exists-p (expand-file-name "mailcap.el" path)) (file-exists-p (expand-file-name "mailcap.elc" path))) (load (exp…

~/c/remedie/bin/remedie-server.pl開いてる時に~/c/remedie/lib/と~/c/remedie/extlib/をPERL5LIBにいれたい

flymakeでエラー出ちゃうので、どうにかしたいと思っていたのですがこんなのを思いついたのでメモ。 とりあえず、3ディレクトリくらい上がっていく間に存在するextlib,libをリストで返す関数を書いた。 (defun* plcmp--get-lib-path-list-liberal (&optional…

ac-candidate-max の値を100にしたらポップアップが表示されなくなった

普段は20で使っているので問題無いのですが。 (setq ac-candidate-max 100) にしたら候補が表示されなくなった。 (setq ac-candidate-max 1000) にすると表示された。 ソース追ってみたけど複雑で1時間じゃ理解できなかった。あと、auto-complete.elのソース…

perl-completion.elとauto-complete.elを連携させる

昨日trunkにコミットしたVersion1.0からauto-complete.elと連携できるようになりました。 ちょっと実験的な機能です。 (require 'perl-completion) した最にauto-complete.el用のsource ac-source-perl-completion が提供されるので ac-sources に追加してく…

anything-c-moccur.el更新 カスタマイズ型がintegerだと整数値しか設定できないのを修正

http://d.hatena.ne.jp/xcezx/20081110/1226289856 あと、 anything-c-moccur-anything-idle-delay のカスタマイズ型が'(choice (integer) (boolean))となっていたけどコレだと整数値以外を指定しようとすると「ダメー」って言われちゃうので number とした…

emacs lispで高速なremove-dupsを書く

次世代auto-complete.elを読んでみる - http://rubikitch.com/に移転しました id:IMAKADOさんによるとdelete-dupsは要素数が多いと遅いので、本当に高速化したい場合はハッシュテーブルを使ったほうがいいかと。anything.elではそうしている。 簡単なベンチ…

perl-completion.el branch/1.0のソースを更新,

http://svn.coderepos.org/share/lang/elisp/perl-completion/branch/1.0/にコミットしました。カスタマイズ変数を幾つか追加したり、メールアドレスのtypoを直したりです。 trunkにコミットしたかったけどテストする時間がなかったので今日はあきらめました…

anything.elメンテナーのrubikitchさんからトラックバックいただきました

cl関数は便利なのがおおい... unionとかremove-ifとかset-differenceとか...etc - IMAKADO::BLOG のエントリーに対してanything.elメンテナーのid:rubikitchさんからトラックバックいただきました。 anything.elはcl関数を使う - http://rubikitch.com/に移…

cl関数は便利なのがおおい... unionとかremove-ifとかset-differenceとか...etc

anything.elは将来的に (require 'cl)をeval-whenで囲むようにする予定とかあるのかな...予定があるのだったら移行する時のためにsource書くときにcl関数使わないようにしたほうが良いっすよね。でもremove-ifとか使えると楽なんですよね。自分で定義するの…

死亡フラグ

「…俺、perl-completion.elが無事作り終わったら結婚するんだ………」*1 *1:うそです

set-perl5lib.elのアイデアをブランチで作業している次バージョンのperl-completion.elに追加

id:sun-basixさんのset-perl5lib.elのアイデアをperl-completion.elでも実装することにしました。 PERL5LIBに編集中のCatAppのlibまでのパスを追加するelisp - taiyoh独言 このエントリーで書かれているアイデアです。コードは、coderepos上のものを参考にさ…

ストリングのリストを引数にとって割り当てられたキーを連続して押すと順番に入力するコマンド関数を返す関数

これもid:k1LoWさんが話していたアイデアです。 (eval-when-compile (require 'cl)) (defun my-chr (list-of-string) (lexical-let ((los list-of-string) (last-word "") (count 0)) (lambda () (interactive) (if (eq this-command real-last-command) (in…

良きに計らってリージョン選択してくれるコマンド(書き途中)

id:k1LoWさんと居酒屋で、 連打すると良きに計らってリージョン選択してくれるコマンドがあると便利ですよね。 という話をしたので考えてみました。書きかけ版です。 関数名とか適当です。 (defun auto-region-paren (&optional forward-char) (ignore-error…

バッファ内を走査してregexpにマッチしたストリングのリストを返す関数

よく使うので汎用的な関数を作って、それを使うことにしました。 codereposのブランチで作業しているperl-completion.elのversion1.0で使う予定です。 (eval-when-compile (require 'cl)) (defun* plcmp-collect-matches (re &optional (count 0) (match-str…

anything-sourceを選択してanythingを起動するanything-source

(defvar anything-c-source-call-source `((name . "call source") (init . (lambda () (with-current-buffer (anything-candidate-buffer 'global) (let ((sources (loop for sym being symbols for s = (symbol-name sym) when (string-match "^anything-c…

anything-c-moccur.el更新 version 0.32

id:rubikitchさんからコメント欄で教えていただきました。 regexp-quoteを入れておかないと場所によっては無限ループになるようです。 (defun anything-c-moccur-occur-by-moccur (&optional prefix) (interactive "P") (if prefix (anything-c-moccur-resum…

anything-c-moccur.el更新 isearch的なコマンドとresumeコマンドを追加しました。

追加したのは以下の三つのコマンドです。 anything-c-moccur-resume anything-c-moccur-isearch-forward anything-c-moccur-isearch-backward anything-c-moccur-resume anything-c-moccur-resume コマンドは anything-resume のラッパーです。 anything-c-m…

末尾に改行がないバッファで(while (re-search-forward (rx symbol-end) nil t))するとemacsがハングする気がする

末尾に改行がないバッファで以下のコードを実行するとemacsが落ちる気がします 自分のcarbon emacs環境だとC-gでもexitできないからanything-c-occur-by-moccurで落ちるときがあった。 (require 'rx) (while (re-search-forward (rx symbol-end) nil t)) 他…

anything-c-moccurにパターンを元にquery-replace-regexpを起動するコマンドを追加

いつもコピーしてC-M-%打っていたのでコマンドにしてみました。 デフォルトだとanything-c-moccur-occur-by-moccur起動中にC-M-%にバインドされます。あと、パターン入力中に使われるsyntax-tableをanything-current-bufferのsyntax-tableに変更しました。an…

anythingが最新版か確認するコマンド

(require 'url) を使ったネタです。 (defun anything-c-update-check () (interactive) (require 'url) (condition-case e (let* ((re "\\$Id: anything\\.el,v \\([0-9.]+\\)") (cur-version (string-to-int (when (string-match re anything-version) (mat…

list-load-path-shadowsのanything-source

(defvar anything-c-list-load-path-shadows-cache-buffer nil) (defvar anything-c-source-list-load-path-shadows `((name . "List load pash shadows") (init . (lambda () (unless (anything-candidate-buffer) (save-selected-window (call-interactive…

anything-match-pluginをつかっていて、candidates-in-bufferをつかったソースを起動する際にanything関数の第二引数で空白のみを指定するとエラーになるっぽい

2008/09/07 追記: 最新版では直っていました。 id:rubikitchさんからコメントいただきました。 手元のやつだとなりませんね… とりあえず最新版をどうぞ。 最初に指定したパターンが候補の先頭に出るようになっています。 さらに「!pattern」でpatternに一致…

anything-c-dabbrev.elを最新版のanythingに対応させました

anything-c-dabbrev.elをcodereposにコミットしました - IMAKADO::BLOG が最新版のanythingで動かなくなっていたので修正。codereposにコミット済みです。

anything-c-moccur.elを最新版のanythingに対応させました

過去のanything.elとは互換性がないので注意してください。 anything-c-moccur.elの設定や使い方等のまとめエントリー - IMAKADO::BLOG に追記しました。 リポジトリの構成が少し変わりました。 最新版のanythingのソース、結構読みました。 抽象化、テスト…

忙しい

今、公私共に非常に忙しいです。 自分が書いたanything関連のsourceのメンテナンスできてなくて凄くつらいです。 id:rubikitchさんがanything.elのメンテナンスを引き継ぎ、怒濤の勢いで新機能が追加されていってますね。 メンテナンスお疲れさまです。そし…

シンボルがmacroかどうかを判定するmacrop関数の実装

edebugパッケージで提供されるedebug-macrop関数を参考にしました。 prefixとしてmy-をつけてあります。 確実に判定できるかどうかは未検証です。 (defalias 'my-func1 'my-func2) (defalias 'my-func2 'my-func1) ↑のような関数の場合に無限ループにならな…

コマンド名と割り当てているキーの文字列のリストを返す関数

anythingでmenuを作れないかと思って調べたのでメモ。 (defun get-describe-command-cands (s) (loop for sym being the symbols for sym-name = (symbol-name sym) when (and (string-match s sym-name) (commandp sym)) collect (substitute-command-keys …

elisp 再帰的にファイルを探す関数って標準ではない?

探してみたけど見付からなかったので、それっぽい動きをする関数を書いてみた。 (defun IK::directory-files-recursively (regexp &optional directory type) (let* ((directory (or directory default-directory)) (predfunc (case type (dir 'file-directo…