タグ

ブックマーク / rubikitch.hatenadiary.org (2)

  • Emacs Lispで関数定義を置き換える方法 - http://rubikitch.com/に移転しました

    Emacs Lispでは、気に入らない関数呼び出しを別な関数に置き換えることができる。たとえば、今のウィンドウに表示してほしいのに内部で switch-to-buffer-other-window を呼んでいる場合とか。 こんな場合は、letffletやlabelsを使えばよい。letにはlet*という亜種があるように、letfにはletf*という亜種がある。 関数定義をすげ変えるテストケースを el-expectations.el で記述してみる。 (require 'el-expectations) (require 'cl) ; (eval-when-compile (require 'cl)) でもよい (defun f (x) (* 2 x)) (defun g (x) (* 3 x)) (expectations (desc "オリジナル") (expect 4 (f 2))

    Emacs Lispで関数定義を置き換える方法 - http://rubikitch.com/に移転しました
    mrmt
    mrmt 2009/09/19
  • w3m-autopagerizeを公開予定 - http://rubikitch.com/に移転しました

    FirefoxのAutoPagerize(id:swdyhさん作)がうらやましくなったのでw3m版も作ってみた。 というか、AutoPagerizeが生まれる前から「次のページ」ボタンが欲しくなってワンタッチでLocal CGIを起動して次のページリンクを見つけて押すようなものを作っていたのだ。だけど対応すべきサイトが膨大すぎるため自分が見るサイトしか対応していなくて公開してなかった。正直万人に使える代物ではなかった。 だが、AutoPagerizeの登場と最新版AutoPagerizeの設定データ(SITEINFO)がwebで公開されていることで状況が変わった。そこのデータを流用してしまえば、定番サイトは対応できるだろうと考えた。 しかし、壁はまだ残っていた。HTMLを解析してXPathで抜き出すまともなRubyのライブラリが存在しなかった。HpricotはいちおうXPathにも対応して

    w3m-autopagerizeを公開予定 - http://rubikitch.com/に移転しました
    mrmt
    mrmt 2009/01/01
  • 1