タグ

elispに関するk1LoWのブックマーク (257)

  • multiverse.elで現在のファイルのスナップショットを取る - http://rubikitch.com/に移転しました

    プログラミングしているとき、実験的修正をしたくなることがあるだろう。もし実験が失敗したときに元に戻す…なんてことは日常茶飯事だ。 RCS、CVS、Subversionなどのバージョン管理システムはまさしくそれをやっているのだが、未完成のままではコミットはできない。たとえば、複数の(細かな)実装が思い付いたとき、どっちかひとつをコミットしたいなんて場合とか。 そんなときはバックアップコピーを作成していつでも戻れるようにするべきだが、それをやるのはかなり面倒だ。そこでmultiverse.elが役立つ。 M-x install-elisp http://www.emacswiki.org/cgi-bin/wiki/download/multiverse.el multiverse.elは現在のファイルのスナップショットを取る。 M-x multiverse-storeで名前をつけてスナップショ

    multiverse.elで現在のファイルのスナップショットを取る - http://rubikitch.com/に移転しました
  • elisp で weak reference を使う - 適当めも

    make-hash-table を :weakness キーワードを付けて呼ぶと使えるみたい。 まずは weakness なハッシュ表を作る (setq hash (make-hash-table :weakness 'value)) => #<hash-table 'eql value 0/65 0x1029e400> 他の変数から参照されてるリストとそうでないリストをハッシュ表につっこむ (setq val '(1 2)) => (1 2) (puthash 1 val hash) => (1 2) (puthash 2 '(3 4) hash) => (3 4) 値を取ってみる (gethash 1 hash) => (1 2) (gethash 2 hash) => (3 4) ここまでは普通のハッシュ表とかわんない。ここで gc してから値を取る (garbage-collect

    elisp で weak reference を使う - 適当めも
    k1LoW
    k1LoW 2008/12/16
    hash
  • EmacsWiki: Tail El

    Lisp:tail.el is a small interface for the unix tool tail. Note: Emacs 22 and later includes auto-revert-tail-mode and do not require the Unix tail utility. To enable in a buffer, use M-x auto-revert-tail-mode. ConfigurationPut tail.el in your load-path and this in your .emacs file: (require 'tail)Alternatively you can use autoload (replace <path> with to local path): (autoload 'tail-file "<path>/t

    k1LoW
    k1LoW 2008/12/12
    tail.el
  • define-minor-mode - Emacs ひきこもり生活

    w3m-session の改造を考え中。 まずは define-minor-mode の調査から。 describe-function の適当な和訳 define-minor-mode は `easy-mmode.el' で定義されている Lisp マクロ (define-minor-mode MODE DOC &optional INIT-VALUE LIGHTER KEYMAP &rest BODY) MODE という新しいマイナーモードを定義する。この関数は制御変数 MODE キー マップ MODE-map トグルコマンド MODE を定義する。 DOC はモードをトグルするコマンドのドキュメント。 INIT-VALUE はモードの変数の初期値。 (オプション) LIGHTER はモードが ON の時に modeline に表示される。 (オプション) KEYMAP はモードの ke

    define-minor-mode - Emacs ひきこもり生活
  • session.elの すごい 罠 - プログラム番長のヲボエガキ

    anything-sourceを変更しているとき、何度変更しても元に戻ってしまうという、ナゾの現象に遭遇した。 全lispファイルをgrepで確認しても、上書きしている箇所は見あたらず。 ウンウン悩んだあげく、session.elが犯人だと突き止めた。 (setq session-globals-regexp "-\\(ring\\|history\\)\\'")この設定で "ring" 及び "history" が含まれるシンボル全てが、再起動時に元に戻されてしまっている! 変更していたanything-source は "anything-c-source-mark-ring"。ハァ… 他にも、anything-c-source-kill-ring も対象になってしまっていたので、session.elの対象となるシンボルルールを変更した。 session-globals-include

    session.elの すごい 罠 - プログラム番長のヲボエガキ
    k1LoW
    k1LoW 2008/12/11
    session.el
  • はてなブログ | 無料ブログを作成しよう

    引越し遍歴パートⅡ 2018年に「上京して10年で引越しを6回した」というブログを書いた。 月日は流れ、あれから6年…さらに2回の引越しをした。ホテル暮らしも含めると3回かもしれない。 前回の記事では主に神奈川〜千葉〜東京の引越し事情を書いた。関東の浅瀬でちゃぷちゃぷ遊んでいたに過…

    はてなブログ | 無料ブログを作成しよう
    k1LoW
    k1LoW 2008/12/10
    鬼。
  • unique な list を作る - 適当めも

    なぜか標準で付いてない。 reduce 使うと楽。いきなり先頭要素がくると悲しいから頭に nil を付ける。 (reduce (lambda (a b) (if (memq b a) a (cons b a))) (cons nil '(a b c d a e))) => (e d c b a) 始めて reduce 使った。ruby の inject は使ってたのに。 追記 って思ったら remove-duplicate とかありやがんの。名前わかりずらい。 (remove-duplicates '(a b c d a e)) => (b c d a e)

    unique な list を作る - 適当めも
    k1LoW
    k1LoW 2008/12/02
    reduce remove-duplicates
  • anything-c-source-mark-ring を作った - プログラム番長のヲボエガキ

    マーク箇所をリスティングする anything-c-source-mark-ring を作った。 ソフトウェアとの覚え書き(2008-10-25) のパクリ + persistent-action の追加という代物。 微妙にanythingインターフェースの作り方忘れてるw というか、こんなことしている場合じゃ無いはずww 20:41修正 元々の作者さんも書いていたが、リングの内容がずれるて表示されるので、無理矢理修正。 icicleのパクリコードです。 (defvar anything-c-source-mark-ring '((name . "mark-ring") (candidates . anything-c-source-mark-ring-init) (init . anything-c-source-mark-ring-init) (action . (("Goto li

    anything-c-source-mark-ring を作った - プログラム番長のヲボエガキ
  • EmacsWiki: Ediff Mode

    Ediff makes patching easier: Never read that diff output again!Apply patch interactively!Merge with ease!This package provides a convenient way of simultaneous browsing through the differences between a pair (or a triple) of files or buffers. The files being compared, file-A, file-B, and file-C (if applicable) are shown in separate windows (side by side, one above the other or in separate frames)

    k1LoW
    k1LoW 2008/12/01
    From The Command Line
  • 情報源による拡張が可能な auto-complete 0.1.0 をリリースしました — ありえるえりあ

    情報源による拡張が可能な auto-complete 0.1.0 をリリースしました。 以下の URL から取得できます。 http://www.emacswiki.org/emacs/AutoComplete 目にみえる変更は少ないのですが、 Anything ばりの拡張性を持つようになりました。さまざまな候補機能を一緒に使えるようになっており、色々夢が広がった感じになっているのではないかと思います。 前のバージョンからの主な変更点は以下のようになっています。 情報源による拡張 オプションの追加 インターフェースの変更 ポップアップメニューの表示位置の改善 色々なバグフィックス 0.1.0 での一番の変更は情報源によって拡張可能にしたことです。 auto-complete は補完を実行するために以下の二つの変数を利用します。 ac-find-function ac-candidate-f

  • emacs lispで高速なremove-dupsを書く - IMAKADO::BLOG

    次世代auto-complete.elを読んでみる - http://rubikitch.com/に移転しました id:IMAKADOさんによるとdelete-dupsは要素数が多いと遅いので、当に高速化したい場合はハッシュテーブルを使ったほうがいいかと。anything.elではそうしている。 簡単なベンチマーク書いてみました。 emacs lispのベンチマークの書き方って、benchmark-run-compiled 関数を使う方法で正しいのでしょうか? (require 'cl) ; remove-duplicates, loop, push ;; 巨大なストリングのリストを作る (setq my-big-los (loop for sym being the symbols collect (symbol-name sym))) (length my-big-los) ;=>

    emacs lispで高速なremove-dupsを書く - IMAKADO::BLOG
  • http://www.emacswiki.org/emacs-en/MineSweeper

    k1LoW
    k1LoW 2008/11/28
    game
  • SKKを更に便利にする。 - 日々、とんは語る。

    SKK Manualを見ながら、EmacsのSKKを便利にしようとしております。 AquaSKKを辞書を共有。 AquaSKKには辞書サーバーとして利用する機能があるので、それを利用する。これによって、「折角、AquaSKKで力士の名前を登録したのに、ddskkで変換されないよー><」というのを防げるという。 AquaSKK側の設定で、skkserv を有効にして、 ;; skk-server (setq skk-server-portnum 1178) (setq skk-server-host "localhost") とする。これで、北大樹、若ノ鵬、錣山、何でもござれですよ。 変換候補の表示を変えて、注釈を付ける。 xyzzyでSKKを導入したときに、注釈(Annotation)がついていて、SKKにはこんな機能があったのかと思ったので、Emacs側でも導入する。 注釈を表示すると、

    SKKを更に便利にする。 - 日々、とんは語る。
    k1LoW
    k1LoW 2008/11/26
    動的補完、やっぱりあった。
  • Emacsで見たままの状態をHTMLに変換する

    以前に「"」とか、「<」とかのメタ文字をエスケープするだけのモノを作ったんですが、もっと便利な物があったんですね。知らなかったorz ということで、emacsでfont-lockでコードなんかを色付けして表示している場合、その体裁ごとHTMLに変換してくれるelisp. htmlize.el emacsの強調表示や色付けされた見たままの状態をCSS付きでHTMLに変換してくれます。 変換は、選択された範囲や、Buffer全体、ファイルから行えます。 ですがHTMLで変換されるので、部分引用したいときは不便を感じる。 face2html 同じく見たままをHTMLに変換してくれる。<pre>で囲んだHTMLを吐き出してくれます。 コードなんかをポトペタと張り付ける時にはこちらの方がいい感じです。 便利だね。Emacs♪

    k1LoW
    k1LoW 2008/11/25
    htmlize face2html
  • 次世代auto-complete.elを読んでみる - ’(rubikitch wanna be (a . lisper))

    テキスト入力中に補完候補を自動的に表示してくれる auto-complete.el をリリースしました — ありえるえりあ 情報源による拡張が可能な auto-complete 0.1.0 をリリースしました — ありえるえりあ←[2008/12/01]追記 今、auto-complete.elがアツい。現在、開発版として新機能が塔載されつつある。安定版はEmacsWikiにある。 M-x install-elisp http://www.cx4a.org/pub/auto-complete.el 2008-11-19版のコードを読んでみよう。 まずは流し読みしてみる 前々から気になっているけど、(eval-when-compile (require 'cl)) でCommon Lispマクロを使ったほうがかっこいいと思う。while/push/setq/nreverseでループを回すのが

    次世代auto-complete.elを読んでみる - ’(rubikitch wanna be (a . lisper))
  • oddmuse.elとmailcap.elの問題 - http://rubikitch.com/に移転しました

    http://d.hatena.ne.jp/khiker/20080123/oddmuse M-x oddmuse-edit としても, mailcap-parse-mailcaps がねえよと怒られてしまう. ちょっとソースを追ってみたら、oddmuse.el内部で使われているurl.elの問題だとわかった。 色々ググったりして調べた結果, 判明したのが, elispライブラリの flim に同名のパッケージ があるため, Emacs組み込みのmailcap.el(../emacs/バージョン/lisp/mailcap.el.gz)より先にそっちを読み 込んでいてエラーになっている, という感じみたい. いわゆるロードパス問題か…やはりライブラリがうまく動かない場合はロードパス問題を疑わないといけないな。言語を問わずよくある問題だ。 「M-x list-load-path-shadows

    oddmuse.elとmailcap.elの問題 - http://rubikitch.com/に移転しました
    k1LoW
    k1LoW 2008/11/21
    url.el
  • EmacsからOutputzに文字数を投げる - antipop

    ブラウザから投稿した文字数をカウントできるサービスOutputzがAPIを出したってんで(API - Outputz)、Emacsから文字数を投稿できるminor-modeを書いてみました。保存時に文字数が増えていたら、増加分だけOutputzにポストします。 http://svn.coderepos.org/share/lang/elisp/outputz/outputz.el 指定したメジャーモードでいい感じにminor-modeを自動的に適用する方法については、auto-complete.elを見て学習。なるほどー。elispを久しぶりに書いたので、ほとんど忘れかけていた……。 設定方法は以下の通り。 (require 'outputz) (setq outputz-key "Your Private Key") ;; 復活の呪文 (setq outputz-uri "http://

    EmacsからOutputzに文字数を投げる - antipop
  • Migemo: ローマ字のまま日本語をインクリメンタル検索

    Migemo とは? Migemo はローマ字のまま日語をインクリメンタル検索するため のツールです。かな漢字変換をすることなく日語のインクリメン タル検索を快適に行うことができます。 新着情報 2004-06-28: 関連リンク集に fub と XUL/Migemoプロジェクト を追加しました。 2004-01-28: yoshi223氏による MigemizeExplorer が公開されました。 Windows の「エクスプローラーにおいてローマ字入力のみで日語 ファイルをインクリメンタルに検索/選択することを可能にする」 ツールです。 2003-05-29: Migemo 0.40 を公開 連文節の検索に対応しました。 C/Migemoに対応しました。 Emacs側でのキャッシュに対応しました。 (白井秀行さんによる改良) Ruby 1.8 でも動くようにしました。 その他、細

  • Emacs補完候補の選択を便利に - あどけない話

    今話題のauto-complete.elを使ってみましたが、以下の点が使いづらく、使うのを止めてしまいました。 候補が最大10個しか出ない 10個以上の候補がある場合、次に打つべき文字が分らない バッファの最下部でメニューが表示されると、勝手にスクロールされる 個人的には、Emacsが提供する標準の Completion List モードを拡張する方がいいなぁと思いました。Completion List モードが使いにくいのは、以下の点です。 C-f/C-b/C-n/C-pはカーソルの移動であって、候補間の移動ではない RETで選ぶと、候補のリストを表示する前の状態に戻れない Emacs 22では、カーソルが他のバッファに行ってしまう Emacs 23では、元のバッファにカーソルが戻るが、余計なバッファが表示されたまま という訳で、これらを解決するコードを書いてみました。最後に付けているコ

    Emacs補完候補の選択を便利に - あどけない話
  • Page not found - ファイヤープロジェクト

    The page you are trying to reach does not exist, or has been moved. Please use the menus or the search box to find what you are looking for.