Emacs

Elisp で AES 暗号

Emacs には標準では暗号用の pure elisp なパッケージがないみたいだし、暗号プログラムってどんなものか知りたかったので elisp で作ってみた。 openssl コマンドの暗号出力と仕様を統一して、出力を突き合わせてテストしているのでバグってはいないのでし…

Emacs 電子六法 laws.el を fork

日本の法律を http://law.e-gov.go.jp/ からダウンロードして Emacs で表示する laws.el という elisp package があります。http://www.ne.jp/asahi/alpha/kazu/laws.htmlEmacs で開いてインクリメンタルサーチしてコピペできたりするのはうれしいので愛用し…

lexical-binding

Emacs 24 が release されて直後に途中まで書いてからほったらかしておいたら、大部経ってしまった。 前半あたりはたぶん 24.1 最後あたりは 24.3 でやった結果。 Emacs の lexical scope について、いくつか思いつくところを試していきます。 (symbol-plist…

gist.el → yagist.el

gist.el から fork したものを、名前を変えて marmalade に上げた。今のところ把握してる本流との主な機能の違いは 他のライブラリへの依存があんまりない paging サポート gist リポジトリを ~/.gist に fetch token の暗号化 gist リポジトリのファイルを…

twittering-mode の tab 機能拡張 (2)

twittering-mode の tab 拡張にアイコン表示も追加。割と簡単だった。

定数シンボルに fset

それにしても elisp ってなんで list 操作の関数をもうちょっと潤沢に標準でサポートしてくれないものか。 cl 関数とか名前分かりづらいし長い。めんどくさい。で、名前空間なんとかして標準で添付できないのかと考えてて、ふと思ったのが、keyword シンボル…

メールの日付を自分のタイムゾーンでも表示

mew の小ネタを。海外から送られてくるメールは現地時刻で表示されてるので、 深夜に来たメールを朝や夕方に確認したときに、送信された時間がわからなくって混乱したりします。`;' (M-x mew-summary-trace-path) で見れば大体わかるのですが、Mew Message …

Emacs で画像のスライドショーとカタログ表示

Emacs Advent Calendar jp: 2011 : ATND の 14 日目です。 昨日は uwabamiさん、明日はg000001さんですスライドショーをする lisp と画像の非同期でサムネイル一覧を表示する image-dired の拡張を作ってみました。 # まだ Windows であんまり確認してません…

flet + advice で関数定義が壊れる

flet は advice + 関数定義をぶっこわしちゃうんだよな。# こういうのあるから elisp の cl が嫌い。1. 普通に関数定義をしてみる。 (defun hoge () 'default) (hoge) => default 2. 関数定義に advice をくっつける。 (defadvice hoge (around hoge-ad () a…

石川県から日帰りで関西 Emacs 行ってきた。

遅くなったけど簡単に感想を。tomoya さんの自己紹介とリクルートで爆笑できた。ラングリッチ楽しそう。 あと Gentoo の人が嫉妬できるぐらいイケメンだった。ますます「ておくれ」の意味がわからない。みなさんユーモラスで全然ておくれ感ないですよ!他の…

twittering-mode :favorites を拡張

:favorites タイムラインのページ表示できるように変更してみた。# はてなって script タグも使えるのね。

twittering-mode Non Ascii hashtag

近い内に対応されそうな気もするけど、いい加減な正規表現で暫定で対応してみた。 正確にやろうとすると結構大変そう。# gist.el が動かん。。

Emacs で git blame を使う

https://github.com/mhayashi1120/git-emacsminibuffer がちらついてうざいけど、Emacs で git blame するときはこれについてる git-blame-mode が一番それっぽく使える。もうちょっといい感じにしたいなぁ。log とか rebase は magit で、 commit や blame …

auto-complete (2)

auto-complete - まにっきあ、minor-mode のキー設定のやり方、ずーっと勘違いしてた。fallback しなくても nil にしてあげればよかったのか。 auto-complete のカスタマイズ ;; 関数名が `ac-' で始まらないといけない。 (defun ac-my-complete () (interac…

twittering-mode に tab 機能拡張してみた

w3m の真似して twittering-mode に tab 機能追加してみた。設定はこんな感じ (require 'twittering+tab) (eval-after-load 'twittering-mode `(twittering+tab-mode 1)) どうも、いっぱい TL 開いたときの計算間違えてるっぽい。作る前にイメージしてたのと…

fset

へー。ゴミを fset してもエラーにならないんだ。 (fset 'abcd "A") (symbol-function 'abcd) => "A"もちろん呼び出すとエラーになるけど。 (abcd) => Invalid function: abcd 多段だったらどうなるかついでに試してみる。 (fset 'a 'b) (fset 'b 'c) (fset …

ローカル変数

let Emacs Lisp の let ってバッファローカルな変数を上書きしてるような挙動を見せる。let フォームから脱出するときに元に戻す、と。いつの日かソースを読めばはっきりわかるんだろう。多分読まないけど。 (defvar my-var nil) (make-variable-buffer-loca…

magit.el

git-emacs を fork - まにっきgit-emacs を fork した記事を書いたけど、magit.el の方が圧倒的に機能が豊富だし不具合も少なそうです。開発もすごく活発!なんで今まで知らなかったんだか。。使いづらいなぁなどと思いながら 1 年近く我慢して使っていた gi…

git-emacs を fork

GitHub - mhayashi1120/git-emacs: Yet another git mode on emacs for newbies前から気になっていた git-emacs の使いづらさや不具合を多少でも改善すべく github で fork しました。 今のところ、概ね以下のような変更を施しています。 dired サポート フ…

pymacs

pymacs ってあるんだ。 これが gosh-mode で漠然とやりたかったことに近そうなので、そのうちソース読んだりしてみる。Emacs Python 双方向で操作できるというのは素晴らしそう。そういえば、python やってて落ち着かないのは括弧の数が異常に少ないことな気…

LanguageTool

vi にあるのに Emacs にないという状況なので即興で作ってみました。github に上げています。http://github.com/mhayashi1120/Emacs-langtool/raw/master/langtool.el私は長い英語の文章は書かないので、というより書けないのであまり嬉しさは分からないので…

erefactor.el

最近、長年書き溜めた色んな elisp を公開してます。Emacs Lisp の refactoring 用ツールをまとめた erefactor.el を公開しました。http://www.emacswiki.org/emacs/erefactor.el https://github.com/mhayashi1120/Emacs-erefactorerefactor.el は大きく三つ…

auto-complete

auto-complete のカスタマイズ デフォルトのキーに耐えられなかったので 私はこんな風にして使っています。間違っていたので新しく作成。auto-complete (2) - まにっき 設定解説 self-insert で自動的に頻繁に auto-complete が始まるのに C-m, C-i, C-s の…

ついさっき驚いたこと。

load-path に以下のような内容の hoge.el というファイルを置いて (defvar hoge-variable nil) (provide 'hoge) 以下を評価してみます。 (defun my-func () (interactive) (let ((hoge-variable t)) (require 'hoge))) M-x my-func で実行した後でもhoge-var…

gosh-mode.el

前もちょっと書いたんですけど、こつこつと書き溜めてたものを紹介します。 gosh-mode に関するものであれば、どんなコメントも歓迎します!gosh-mode は Emacs 上で動く scheme-mode の拡張 major-mode です。 scheme-complete.el や gauche-mode.el などを…

sekka インストール

つぶやきの垂れ流しだけではなく、たまには書こうOS: Debian lennyインストール作業は http://oldtype.sumibi.org/show-page/Sekka.Setup にある通りなのですが Debian だと ruby をソースからインストールしないといけないようなので、インストールディレク…

gdic.el 改良

http://gist.github.com/575981 id:kitokitoki さんにアイデアをもらってちょっと改良してみました。これやっぱりマイナーモード定義するしかないかもしれないな。M-x gdic-start-auto-echoでカーソル位置の英単語の日本語訳をエコーエリアに表示します。 む…