Emacs

popwin.el v0.3をリリースしました

popwin.el v0.3をリリースしました。表示まわりの修正が主です。個人的には過去最高の安定度だと思います。v0.3本体は次のURLから取得してください。https://github.com/m2ym/popwin-el/tree/v0.3install-elispあるいはauto-installを持っている人は次の式を…

主張しないスクロールバーモード、yascroll.elをリリースしました

恥をしのんで告白しますが、実は僕は数カ月前まで標準のスクロールバーモードを有効にしていました。明確な目的があったわけではなく、単純に自分の編集箇所を視覚的に知りたかっただけです。しかしながら、この標準のスクロールバーモードは、個別のウィン…

popwin.el v0.2をリリースしました

popwin.el v0.2をリリースしました。いくつかの対話コマンドの追加と雑多なバグ修正がメインです。v0.2は次のURLから取得できます。https://github.com/m2ym/popwin-el/tree/v0.2install-elispやauto-installでインストールする場合は次の式を評価してくださ…

ヘルプバッファや補完バッファをポップアップで表示してくれるpopwin.elをリリースしました

ヘルプバッファや補完バッファをポップアップで表示してくれるpopwin.elをリリースしました。popwin.elはEmacsにポップアップウィンドウという概念を導入することにより、バッファを表示する(display-buffer)際のEmacsのトチ狂った仕様を矯正します。この…

auto-complete v1.3をリリースしました

auto-complete v1.3をリリースしました。http://cx4a.org/software/auto-complete/主張するほどの新機能はありません。現状に不満がなければアップグレードしなくてもいいかもしれません。なお詳しい変更点は以下のURLにあります。http://cx4a.org/software/…

auto-complete.elがpos-tip.elに対応しました

@iRi_Eさん作のpos-tip.elにauto-completeが対応しました。補完のポップアップヘルプで利用できます。pos-tip.el: http://www.emacswiki.org/emacs-en/PosTipauto-completeのコードはいつものようにGitリポジトリから取得してください。pos-tip.elを使うには…

「スクリプト言語としてのEmacs Lisp」資料公開

3/18の「ありえるえりあ勉強会」で使った資料を公開します。応用編はまだ作りかけですが、少しでもEmacs Lispを知っている人なら、スクリプト言語としての利用が十分可能になるよう網羅されています。http://cx4a.org/pub/emacs-lisp-for-scripting.ja.html

auto-completeのヘルプ機能改善(persist-help, last-help)

auto-completeのヘルプ機能を少し改善してみました。コードはGitリポジトリから取得できます。http://cx4a.org/software/auto-complete/#Source_Code変更点:1. ヘルプ表示後に操作を行っても自動的に消えないバッファヘルプ機能(persist-help) 2. 前回補完…

auto-complete v1.2をリリースしました

次のURLから最新版を手に入れることができます。http://cx4a.org/software/auto-complete/index.ja.htmlv1.2の変更点は次のURLから確認できます。http://cx4a.org/software/auto-complete/changes-v1.2.ja.htmlデモムービーです。

auto-complete.elに補完候補を賢くソートしてくれる機能、comphistを実装

最近、auto-complete.elの拡張ばかりでパフォーマンスや安定性を度外視してる感がありますが、今回も凝りずにauto-complete.elの拡張の話をします。お許しを。auto-complete.elの開発を始めて以来、補完候補の選択の手間を減らせないか、という意見を定期的…

auto-complete.elが曖昧マッチに対応

auto-complete.elを曖昧マッチに対応させるため、今回からfuzzy.elという拡張が同封されるようになりました。この拡張は必須ではありませんが、曖昧マッチを使う場合は必要になります。曖昧マッチで補完を行うにはac-fuzzy-completeコマンドを実行します。こ…

auto-complete.el, popup.elがインクリメンタル検索に対応

先ほどauto-complete.el, popup.elをインクリメンタル検索に対応させるコードをリポジトリにコミットしました。補完中にC-sすることによりインクリメンタル検索が始まります。そのまま文字を入力することでパターンを更新し、RETで終了できます。popup.elで…

popup.elの関数名の変更に関して

先日、github上のIssue Tracking Systemにおいて、popup.elで使用しているpopup-menuという関数がEmacsに標準登載されているmouse.elの関数をシャドウしているというバグが報告されました。Emacs Lispの流儀に従えばファイル名と名前空間が一致するため、pop…

Lisp的直積集合

可変なループ構造を必要とする問題*1に関しては、再帰やスタックを使って可変なループ構造に対応するのがプログラミングの常套手段ですが、そのような手段がそもそも必要になるのは、for文を動的に増やせないという問題に絡んでいます。それじゃfor文を動的…

迷路の最短ルートを探索するEmacs Lisp

元ネタ: http://okajima.air-nifty.com/b/2010/01/post-abc6.html幅優先検索を使えば一瞬で解けるのでいちいち晒すほどのネタではありませんが、解決手順をEmacs Lispでアニメーションできたら面白いかなと思ったのでやってみました。C-x bで適当なバッファ…

auto-completeに関数と変数の情報源を追加

ac-source-symbolsは大雑把すぎるので、もう少し細かく制御できる情報源を追加しました。一つは関数をオムニ補完するac-source-functionsという情報源で、もう一つは変数を補完するac-source-variablesという情報源です。ac-source-functionsは(の直後のシン…

popup.elによるポップアップメニュー、カスケードポップアップメニュー、ツールチップの実現

さまざまな現代的なインターフェースを実現できるようpulldown.elを大幅に拡張しました。それに伴って抽象度も上がったため、pulldown.elという名前は少し内容にそぐわなくなりました。そこでpulldown.elあらためpopup.elという名前で開発を続けていくことに…

指定したポイントにうまくツールチップを表示できない

x-show-tip関数を使えばマウスカーソルからの任意の相対位置にツールチップを表示できますが、あくまでマウスカーソルと併用することを前提とされているため、きわめてありえるケース、つまりバッファ上の論理的なポイント付近にツールチップを表示すること…

scratchバッファで不用意に評価されないようにする

scratchバッファの存在意義であるC-j(カーソルの直前にあるS式を評価して出力)ですが、関数定義中などでは一時的に通常の動作(改行+インデント)に戻ってほしいことがあります。次のコードを評価すると、まさにその挙動を手に入れることができます。 (de…

auto-completeに大文字小文字を区別しないオプションを追加しました

ac-ignore-case変数をtあるいはsmartにすることにより、大文字小文字を区別せずに補完できるようになりました。デフォルトはnilです。ac-ignore-case変数をtにすると、無条件に大文字小文字を区別しなくなります。smartにすると、プリフィックス(補完中文字…

loopマクロのcollect節でintoを使うと非常に遅い

loopマクロでcollect節と一緒にintoを使うと演算コストが非常に大きくなるという話。原因を探るためにintoなしとintoありのloopマクロをmacroexpandで展開してpretty-printしてみます。どちらの演算式も返す値は同じになります。 ;; intoなし (pp (macroexpa…

auto-complete 1.0をリリースしました

微妙に政治的な理由によりauto-complete 1.0を今日リリースしました。次のURLから入手できます。http://cx4a.org/pub/auto-complete-1.0.tar.bz2開発リポジトリからv1.0タグをチェックアウトするのもありです。 $ git clone git://github.com/m2ym/auto-comp…

同じメジャーモードのバッファ内の単語を補完する

あるユーザーからの要望で、同じメジャーモードのバッファ内の単語を補完するauto-complete用のソースを追加しました。今までは現在のバッファ内の単語を補完するac-source-words-in-bufferと、全てのバッファ内の単語を単語を補完するac-source-words-in-al…

auto-completeでファイル名補完

現在、auto-complete 1.0のリリースに向けてバグの修正やテスト、仕様の確定作業を行っています。中途半端に実装された機能は、今度ちゃんと実装することを念頭に置いて、ひとまずソースコードからは削除しています。オムニ補完機能によるファイル名補完機能…

汎用プルダウンメニューインターフェースライブラリpulldown.el

汎用のプルダウンメニューインターフェースライブラリpulldown.elをリリースしました。このライブラリはauto-complete.elからメニュー表示ルーチンを抜き出して独立させたものです。今のところauto-complete.elのリポジトリで開発しています。利用するにはau…

Rubyコード補完進捗報告2

前回からもう少し進めてみました。前回と比べて内部的な改良はあまり進んでいませんが、標準クラスのFileとStringの補完情報を定義したことにより、上のスクリーンショットのように(超部分的に)かなり良い精度で補完できるようになってきました。動画を撮る…

Rubyコード補完進捗報告1

ここ二週間ほど、集中して取り組んだおかげで、一応それっぽく動くようになりました。問題は山積みで実用などは遥か遠い未来の話ですが、ちょっと嬉しかったので報告です。次のスクリーンショットを見てください。なんの変哲のない補完に見えますが、よく見…

Rubyにおけるコード補完の考察

実験的ではあるにせよ、現状ではRubyのコード補完はid:rubikitchさんのrcodetoolsでなんとか対応できています。が、次のような(大きな)問題をかかえています。ちなみにここでいうrcodetoolsの問題というのは補完機能のことで、xmpfilterとかは全然関係ないこ…

auto-completeで特定の単語で補完を消す方法

元ネタ: id:kitokitoki:20090819要するに

「tokyo-emacs#x02の個人的レポート」を書きました

会社のブログに書きました。tokyo-emacs#x02の個人的レポート