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

split-string-in-c

http://d.hatena.ne.jp/unkounko1/20080911/splitstringinc (split-string "foo" "")とかしたときに無限ループするというのに気付いた

範囲内で文字を書き換えてスクロールのように見せる

オーバーレイを使ってヘッダに情報を追加するのを試していて、候補の割にウインドウが小さければヘッダが見えなくなってしまうというのをどうにかしたかった。 (defun scroll-test () (interactive) (let ((buf (get-buffer-create " *scroll-test"))) (save…

re: http://d.hatena.ne.jp/rubikitch/20080912/1221146271 ふむ、emacsの中でelispによる拡張ができるブラウザってのはかなり強力だと思ってるんですがねぇ。 anything+migemoでリンクを抽出→選択→(URLのコピー or ダウンロード or ジャンプ)とかできるブラ…

というかパッチ作るなら22.3用にした方がいいよね…

split-string

CVS head専用 http://www4.atpages.jp/loveloveelisp/split-string-in-c.patchベンチマーク (labels ((bench (proc) (with-temp-buffer (garbage-collect) ;; cat emacs/src/*.[ch] > test.dat (insert-file "~/tmp/project/emacs-split-string/test.dat") (…

emacs-w3mが遅い原因の大半はfontify?

split-string-in-cを使えばw3mからの出力が終了して、Renderingの状態でしばらく固まるのが軽減されるような感じがする。しかし、その後のFontiryingの方が遥かに長いんで結局font-lockをCで書かなきゃ駄目なんだけど、これはどうしようもない。 結局emacs-w…

split-string written in C

id:rubikitchさんが以前からぼやいていらっしゃるsplit-stringのCでの実装に挑戦してみました(for emacs cvs head) (defalias 'split-string 'split-string-in-c)とかして使うとsplit-stringを使う機能が速くなる…かもしれません でもやっぱりあまり変わらな…

imenuのタグジャンプをanythingから使う

http://www4.atpages.jp/loveloveelisp/lib/anything-c-imenu.el 動作確認環境はanything.elが1.95, emacsが23.0.60.3 load-pathが通っている所に置き (require 'anything-c-imenu) (require 'anything-match-plugin) で (defun my-anything-imenu () (inter…

anything-completing-read

iciclesのicy-modeみたいなものになるのかな? しかしエラーが出る… *** anything.el.orig Sat Aug 30 11:41:34 2008 --- anything.el Sat Aug 30 11:09:39 2008 *************** *** 2593,2599 **** (remove-if-not (lambda (c) (,predicate (if (listp c) …

candidates-in-buffer属性で(display . real)

initでcandidates-bufferに書くときは(insert (propertize display 'anything-realvalue real) "\n")を使う。 anything-get-selection内で自動的にrealに変換されるのでdisplay-to-real属性は不要。 適当に独自プロパティを設定してget-line、display-to-rea…

anything-c-imenu.el EmacsWikiのanything sourcesのmatsuyamaさんのを参考に作ったもの anything-c-linkd-tags.el linkdのタグにジャンプしたり挿入したりするもの anything-c-source-files-in-current-dir.el findとheadを使ってanything-candidate-number…

expectations-eval-defunの表示で=の数

*** el-expectations.el.orig Fri Aug 29 00:26:17 2008 --- el-expectations.el Fri Aug 29 00:26:35 2008 *************** *** 580,586 **** (let ((width (if noninteractive (or default-width (string-to-number (or (getenv "WIDTH") "60"))) ! (frame…

namespace for elisp

名前空間の導入は細かい関数に分けてそれぞれをテストしながら開発するスタイルには必要不可欠に思えます。 しかしemacs-lispでは長いシンボル名のプリフィクスを使うしか無い。そこでマクロを使い指定したプレフィクスを持つシンボルを展開するようような方…

新anythingの機能を使ったanything-c-source-buffer

http://www4.atpages.jp/loveloveelisp/anything-c-source-buffers2.el 英語が怪しいのはスルーで。 以下、設定例 (require 'anything) (require 'anything-migemo) (require 'anything-match-plugin) (require 'rx) ;; buffer (require 'anything-c-source-…

persistent-actionを自動的に実行し、任意の箇所をハイライト

(defvar anything-c-persistent-highlight-overlay (make-overlay (point) (point))) (defun anything-persistent-highlight-point (start &optional end buf face rec) (goto-char start) (when (overlayp anything-c-persistent-highlight-overlay) (move-…

新バージョンanythingでのM-x

(defvar anything-c-source-mx '((name . "M-x") (init . (lambda () (with-current-buffer (anything-candidate-buffer 'local) (loop for sym being the symbols when (commandp sym) do (insert (symbol-name sym) "\n"))))) (type . command) (candidate…

persistent-actionでハイライト

anything-c-moccur.elからのパクリ (defvar anything-c-persistent-highlight-overlay (make-overlay (point) (point))) (defun anything-persistent-highlight-point (start &optional end face rec) (goto-char start) (when (overlayp anything-c-persist…

anything-c-source-buffer with persistent-action

今まで気付かなかったが、persistent actionは最新版ではすでに実装されていたようだ。 http://www4.atpages.jp/loveloveelisp/anything-c-source-buffers.el よく知られたiswitchbで選択中のバッファを表示する改造と同じものがanythingでできる…と。 ただ…

で試行錯誤した結果がこれだと… persistent-actionを使うようにしてみた、しかし*shell*を選択しようとするとエラーがでる (defun --fake-contentswitch () (interactive) (let ((action '(("buf" . (lambda (marker) (let ((buf (get-buffer (car marker)))…

しかしこれではcontentswitchの話題と言うよりそこから連想したネタじゃないか 確かにanythingで再現できそうな動作ではあるが

anything-c-moccur-search-buffers

http://d.hatena.ne.jp/unkounko1/20080819/1219107165 上記エントリのネタで適当に書いたもの http://www4.atpages.jp/loveloveelisp/anything-c-moccur-search-buffers.el M-x anything-c-occur-by-search-buffers で実行 minibufferに入力したパターンを…

test

トラックバックが上手くいかないのか…? 反映されるまでラグがある模様

contentswitch.el

ref id:rubikitch:20080806:1217975452color-moccur.elのsearch-buffersのような雰囲気ですね。 (require 'color-moccur)したのち、M-x search-buffers REGEXP でREGEXPにマッチするものを含むバッファをmoccurのインタフェースで表示してくれて、さらにで選…

auto-insertはあると便利という程度じゃなく必需品であるという事がわかった

persistent-actionが実装されればc-source-bufferとか滅茶苦茶強力にできそうだな

simple-hatena、というかhatedaraは問答無用で上書きしてくれるのだな

anything-c-mx

id:rubikitchさんの指摘を元に色々修正した、仕様が確定するまでの暫定版。 http://d.hatena.ne.jp/unkounko1/20080729/anythingmx

id:rubikitch:20080804:1217854287 だけど1/100000秒短縮したところで意味ない気もする。 そうです、呼び出し頻度が秒間1や10程度ではコストが半分程度になっても意味が無いわけです。 ほとんど言い訳ですが、--spc.*2はanything-sourcesのmatch attributeで…

xinetdでdbskkd-cdbを使うemerge dbskkd-cdbだけじゃ上手く使えかったので、xinetdを入れて #!/bin/sh echo make xinetd.conf for dbskkd-cdb echo " service skkserv { port = 1178 socket_type = stream wait = no only_from = 127.0.0.1 user = root serv…

updatedbを使わずにlocateのdatabaseを更新

findの出力に$PREFIX/lib/locate/frcodeをかける find ... |/usr/lib/locate/frcode >~/locate.dbupdatedbはfindoptionsの処理があやしいけど、こちらはfindが吐いた通りのものができるからいいね。.hgignoreみたいな設定ファイルを使って指定するようなスク…