SKK の ML に書いた内容をブログにもメモしときます。 url-retrieve-synchronously は同期的に HTTP で指定した URL にアクセスすることができますが、相手サイトが重いと反応が中々返ってこず、Emacs が固まってしまいます。 その問題を解決するために、タイムアウトつきの url-retrieve-synchronously を作ってみました。 単純に run-with-timer で url-retrieve のプロセスを監視するタイマを作り、タイマが励起されると url-retrieve のプロセスが殺される仕組みです。 タイマウトは、デフォルトで2秒で発生します。 (require 'url-http) (defun my-url-retrieve-with-timeout (url coding-system &optional timeout-
JohnSwaby presented an idea on the emacs-devel MailingList on how to use “:;” as an alternative to “#!” to start Emacs scripts.[1]The shebang (”#!”) works for many languages because their comment character is a number sign, #, and they require only two arguments to run a script.The sesquicolon (”:;”) works for Emacs because it allows for more than two arguments and it is compatible with the Lisp c
カーソル位置の単語を辞書で引くemacs lispを使っていたのだけど,辞書を呼ぶPythonのスクリプトが遅くて,辞書を引いてる間Emacsがブロックして,不快だった. deferred.elを使ってスクリプトを呼ぶようにした. いろいろ機能が減って,実行が非同期になった. ;; 非同期に辞書を引く ;; ;; (+ "http://d.hatena.ne.jp/a666666/20100529/1275138722" ;; "http://sakito.jp/mac/dictionary.html" ;; "http://d.hatena.ne.jp/tomoya/20091218/1261138091" ;; "http://d.hatena.ne.jp/tomoya/20100103/1262482873") (require 'cl) (require 'deferred) (d
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Elnode is an asynchronous web server written in Emacs LISP. Emacs has had asynchronous socket programming facilities for some time and a few years ago asynchronous TCP server sockets were introduced. I couldn't quite believe that no one had written an asynchronous webserver with EmacsLISP before. So now I have. When I started looking at actually doing this I intended to knock up just a silly demo.
長ーい歴史をもつEmacsでも、いまだ解決できてない問題はいろいろあるわけで、その一つにパッケージ管理があると思います。 これには、すでにいろいろな試みがあります。 EmacsWiki: ELPA auto-install.elでEmacsLispパッケージを自動インストール→anything.el関連を一括インストール – (rubikitch loves (Emacs Ruby CUI Books)) el-get.elでEmacs Lispパッケージをインストール・アップグレードする – (rubikitch loves (Emacs Ruby CUI Books)) 他のプログラミング言語やLinuxディストロに目を向けてみますと、それぞれ独自のパッケージ管理方法があるわけですがCRAN、CPAN、PyPIのようなELPAに当たるサイトで集約的に管理されているものがほとんどです。
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
the latest news how to get packages how to upload packages marmalade repo marmalade-repo is an Emacs package repository. marmalade is free software, you can help improve it. we hold packages of Emacs code that Emacs users have uploaded for your enjoyment and use. package of the week macrostep is a great lisp macro debugging tool; invaluable from lisp programmers.
目標 : anything-follow-mode のようにパーシステントアクションを自動起動し、なおかつ、該当行に色を付けて目立たせること anything-c-source-.* を自分で作るような elisper 向けの内容です。この課題はいろんなひとが取り組んでいて、それぞれ「頑張っている」のですが、けっこう難しいので、この記事では anything-c-moccur.el のソースを手本に、実装例のひとつを示します。 ;; anything-c-source-.* (setq anything-c-source-rdefs '((name . "foobar") ... (persistent-action . ar:persistent-action) (cleanup . ar:clean-up) )) ;; 該当する行を目立たせるのにオーバレイを使う (defvar ar:
今まで何の説明も無しに自分のアプリで使ってきた謎ライブラリ concurrent.el ですが、一区切りが付いた気がしましたのでリリースしたいと思います。 この記事では concurrent.el の基盤である deferred.el について簡単に紹介して、 concurrent.el の機能と適用例を紹介します。 あらすじ deferred.el復習 concurrent.el紹介 機能一覧、コード例 cacoo.elでの設計解説 deferred.el 紹介 deferred.el の詳しい使い方やAPIなどはREADMEの文書がまとまっていますので、手っ取り早く使いたい人はそちらを参照してみてください。 おそらく、他の言語でDeferredに慣れていればすぐに使えるのではないかと思います。 deferred.el リリース - 技術日記@kiwanami (リリース記事:慣性スクロ
elispに名前空間を作る機能がないので、毎回同じような関数を違うprefixで定義しなければならなくてすごく面倒。 というか、関数の名前が長くなりがち。面倒。 なのでwith-prefixというマクロを作った。 すごく、強引だけどdefmacro!が認められるのだとしたらあって良い気がする。 とりあえず、個人的に利用するつもり。 使い方 (with-prefix ((@ with-prefix:) (util. with-prefix-util:)) (defun @odd? (x) "check a received argument is odd number or not" (if (<= x 0) nil (@even? (- x 1)))) (defun @even? (x) (if (<= x 0) t (@odd? (- x 1)))) (defun util.out (&
show-paren-styleなるものを知った。 カッコの中身をハイライトするのって mic-parenというのを使っていたの ですが、デフォルトの機能だけでできたんですね。知らなかったです。 そんなわけで show-paren-modeの設定を変更しました。 (show-paren-mode 1) (setq show-paren-delay 0) (setq show-paren-style 'expression) (set-face-attribute 'show-paren-match-face nil :background nil :foreground nil :underline "#ffff00" :weight 'extra-bold)show-paren-delayというのはハイライトするまでの遅延ですが、 デフォルトでは 0.15秒になっていました。 show-
EmacsでのR開発環境をRstudio、Eclipseライクにするe2wm-R.el 2011.03.15 Emacs e2wm, Emacs このところ、R界隈では新しく公開されたRstudioというIDEの話が飛びかっておりました。 RStudio これが、かなり完成度が高いです。補完機能はもちろんのこと、パッケージマネージャ、オブジェクトマネージャーなど洒落た機能まで持っています。しかもサーバ版まで。githubのコミットログを見てみると12月頃から開発が始められているようなので、3ヶ月ほどで完成したことになります。いやーすごいです。 Rstudioに始まったことではなく、R関連のエディタ、IDEはすでに成熟した分野となりつつあります。gedit、notepad+などの主要なエディタにはすでにR用の拡張がありますし、当然あのEclipseにもR用の拡張があります。 R を Ecli
yasnippet は定型コードなどを素早く展開することが出来る汎用テンプレートフレームワークです。 yasnippet - Project Hosting on Google Code 普通の使い方 yasnippetのドキュメントは本家のページに良くまとまっています。elisp書ける人は全部読むとかなりsnippet力が上がると思いますので、ぜひ読んでみたらいいと思います。 http://yasnippet-doc-jp.googlecode.com/svn/trunk/doc-jp/index.html (2011/09/15 追記) あと、以下のページでもみんなテンション高くなってます。(もう3年くらい前の祭りですが。。。) yasnippetがすごい!!!!1112345! - Kentaro Kuribayashi's blog yasnippet.elをインストールしてみた
Clojure-like Emacs (NOTE: changes to the monad library regarding scope have broken tons of code (temporarily) !) This is a group of loosely organized utilities to add clojure like abilities to emacs-lisp. It consists of defn and fn forms for declaring functions and anonymous functions. These forms support the usual clojure-style destructuring bind and arity based dispatch on function arguments. An
最近、長年書き溜めた色んな elisp を公開してます。 Emacs Lisp の refactoring 用ツールをまとめた erefactor.el を公開しました。 http://www.emacswiki.org/emacs/erefactor.el https://github.com/mhayashi1120/Emacs-erefactor erefactor.el は大きく三つの機能に分けられます。 symbol 名の変更 ローカル変数 highlight 外部 elint 似た機能を持つ elisp として https://github.com/mitsuo-saito/auto-highlight-symbol-mode がありますが、あちらは色々な言語用の汎用版で、こちらは Elisp 限定版と捉えればよいと思います。highlight 機能が被ってしまったので、その場
df 同時押し(右端への移動 - 要 key-chord.ell) キー操作で、指定の位置に移動したり、位置やサイズを少しずつずらしたり、保存しておいた位置とサイズに復元したりできます。 ダウンロードgist: 783058 - frame-arrange.el- GitHub 他に必要なものは、@podhmo さんの defmacro!.el 。 LoLのdefmacro!をelispに移植 - podhmoの日記 設定例この例では、キーの同時押しにコマンドを割り当てる(例えば qw 同時押しに左上端に移動するコマンド)key-chord.el を使用しています。 また、C-Shift-矢印で矢印の方向にちびちび移動できます。 EmacsWiki: key-chord.el (require 'frame-arrange) ;; key-map (define-key global-m
anything便利ですよね。でもマッチさせるパターンが正規表現って使いにくくないですか?僕は使ってたたまにイラっとします。".java"っていれたら"/java"がひっかかるとか。 この手のツールでマッチさせるときはやっぱり正規表現じゃなくてglobの方が便利だと思うんですよ。というわけでglobに対応させるamp-glob.elを書いてみました。要 anytyhing-match-plugin です。 導入は簡単。まずは「M-x auto-install-from-gist 792217」で amp-glob.el をインストールします。そしたら以下を .emacs.el に書いておきます。 (require 'amp-glob) (amp-glob-mode 1) あとは普通に anything を使うだけです。特に何も考えなくても、大体思ったとおりにマッチさせられるんじゃないかと思
id:m2ym さんがpopwin.elをリリースされました. http://d.hatena.ne.jp/m2ym/20110120/1295524932 自分はauto-save-buffers.elを使って2秒ごとに自動保存をしつつ,emacs-lispの場合ならバイトコンパイルをしています. (add-hook 'after-save-hook (function (lambda () (if (eq major-mode 'emacs-lisp-mode) (save-excursion (byte-compile-file buffer-file-name) ))))) んで,ここで問題になるのが*Compile-Log*がwindowを半分うばいとってしまうのです. 単に保存時にバイトコンパイルする場合の最終確認としての*Compile-Log*はうざくないのですがauto-
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く