タグ

Emacs Lispに関するpoginのブックマーク (20)

  • libpcre binding of Emacs Lisp - Shohei Yoshida's Diary

    I'm writing libpcre binding of Emacs Lisp. Most of programmers is not familiar with Emacs Lisp regular expression because regular expression function or library of many languages has compatibility of Perl regular expression. I suppose such people writes regular expression easily with this library. Repository github.com Sample code (let ((input "https://example.com/foo/bar/baz.txt") (regexp " ^ # b

    libpcre binding of Emacs Lisp - Shohei Yoshida's Diary
  • 2016年の抱負: Emacs Lisp を書く会社を立ち上げる - だるい

    私には、Emacs Lisp によるウェブアプリケーション開発シーンを盛り上げていきたいという熱い想いがあります。 最近、「次に来る大物Web言語」と称され Elixir などが注目されている様子が伺えますが、ウェブアプリケーションのサーバーサイド実装において次に来る言語というのであれば、個人的には Emacs Lisp こそを推していきたいと思います。なぜなら Emacs Lisp には、インタプリタでありそして同時にプログラミング環境でもある Emacs というソフトウェアが存在するからです。Emacs と最も親和性が高く、最もプラグインが豊富な言語こそが Emacs Lisp です。これを単なる Emacs の設定やプラグインを記述するための言語に留めておくには惜しいと言えるでしょう。 残念ながら現状 Emacs Lisp でのウェブアプリケーション開発は全くといって注目されていない

  • Emacs Lispでブログエンジン書いた

    このブログはEmacs Lispで書かれていて、CoreOSが入ったマシンにDockerコンテナとしてデプロイされ、動いてる。あなたがこのブログのページをロードする度に、Dockerコンテナ内で走っているEmacsがリクエストをハンドリングして、org-modeで書かれた記事ファイルをhtmlに変換し、用意されたviewに差し込み、レスポンスを返している。elnode というEmacsをウェブサーバー化するプロダクト見つけて、気持ちが高まってしまったのが動機。 記事はorg-modeで書けて、いい感じ。ソースコードは github.com/supermomonga/darui.io にあります。Emacs Lispによるウェブアプリケーション開発、ある程度知見が貯まったので次はSinatra風ウェブアプリケーション作って、その後ドッグフーディングしてちゃんとしたブログエンジンとして書きなお

  • Emacs 24.4 の新機能・内蔵ブラウザ eww.el を調べてみた - 雑文発散(2014-08-07)

    Cookie の一覧」は、eww が実装したものではなく、Emacs 24.4 で追加された新機能( url-cookie-list )を使っているのが面白いところ。標準添付される Emacs Lisp に合わせて、体に機能が追加された形に見える(真実がどうなのかは知らない)。 簡単な操作はこんな感じでだいたい使えそうなので、後は検索エンジンをカスタマイズしてみよう。「自由な」 DuckDuckGo もステキだけど、ここはみんな大好き Google に変えてみよう。 カスタマイズ用の変数が用意されているので、次のようにするだけで検索エンジンを Google にできる。 (setq eww-search-prefix "https://www.google.co.jp/search?q=") そして、Google で「雑文発散」を検索してみた結果はこうなった。 左側の「Search Op

    Emacs 24.4 の新機能・内蔵ブラウザ eww.el を調べてみた - 雑文発散(2014-08-07)
  • Re: “Emacs Lisp テクニックバイブル” るびきち著

    を入れるだけです。 これでletがレキシカルスコープになって動作も速くなって幸せになれます。 (require 'cl)問題 にも決着が見えてきました。 cl.el 自体がdeprecatedになっていて、今は cl-lib.el を使うようになっています。 cl.elがcl-lib.elを呼ぶようになっていて、Common Lispマクロ・関数には「cl-」というプレフィクスがつきます。 loop→cl-loop destructure-bind→cl-destructuring-bind remove-if-not→cl-remove-if-not よって、(require 'cl-lib)してしまえばCommon Lisp関数も 合法的に 使えます! おまけに、Emacsにも 念願のパッケージシステム が登場したおかげで、外部パッケージをどんどん投入できるようになりました。 使うと役

    Re: “Emacs Lisp テクニックバイブル” るびきち著
  • Emacs Lispまとめ - まとめうぃき

    Emacs Lispまとめ 出典: まとめうぃき 移動: ナビゲーション, 検索 "http://matome.replore.com/index.php?title=Emacs_Lisp%E3%81%BE%E3%81%A8%E3%82%81" より作成 表示 文 ノート ソースを表示 履歴 個人用ツール ログイン ナビゲーション メインページ コミュニティ・ポータル 最近の出来事 最近更新したページ ヘルプ 検索 ショートカット Macショートカット Winショートカット エディター Emacsまとめ Emacs Lispまとめ Vimまとめ TextMateまとめ ブラウザ Firefoxまとめ vimperatorまとめ Unix関連 Unixコマンドまとめ screenまとめ zshまとめ プログラミング関連 C++まとめ C#まとめ デザインパターンまとめ バージョン管理関連

  • yasnippet 8.0の導入からスニペットの書き方、anything/helm/auto-completeとの連携 - Web学び

    yasnippet 8.0の導入からスニペットの書き方、anything/helm/auto-completeとの連携 2012年 9月 13日 yasnippet 7.0を使っていましたが、8.0が出たということで変えてみました。 ほとんど変わっている様子はなさそうなので、古いドキュメントから要約してまとめています。 次の環境で進めましたが、EmacsならWindowsでもLinux,Macでもほとんど同じだと思います。 Mac OSX Lion 10.7.4 Cocoa Emacs 24.1 github capitaomorte/yasnippet 8.0 yasnippet導入 capitaomorte / yasnippet githubにおいてあるものが最新版です。現時点での最終更新日は2012年8月22日です。 まずはelispを置くディレクトリ(私の場合はホームの.emac

    yasnippet 8.0の導入からスニペットの書き方、anything/helm/auto-completeとの連携 - Web学び
    pogin
    pogin 2012/09/21
    yasnippet 8.0になってたとは知らなかった。
  • rspecのように前処理などを構造化できるEmacs Lisp用テストフレームワーク(el-spec)をリリース - むしゃくしゃしてやった

    [http://d.hatena.ne.jp/uk-ar/20120720/p1:title]にて機能追加をおこないました。そちらも参照ください。 Emacs Lispでrspec*1のように前処理などをネストして定義できるテストフレームワーク(el-spec)が欲しくて作ってみました。 https://github.com/uk-ar/el-spec 実用になりそうなレベルになったのでリリースします。 きっかけ、が欲しいです。 Emacs Lispにもいくつかテストフレームワークがあり、今まではid:rubikitch さんのel-expectation*2を使ってました。使い勝手が良くてテスト数の少ないうちは満足していたのですが、テストが多くなると複数のテストで同じような前処理をしているのが目立ってきました。 このような場合マクロや関数で対応するのが常套手段です。しかし、前処理の内容も

    rspecのように前処理などを構造化できるEmacs Lisp用テストフレームワーク(el-spec)をリリース - むしゃくしゃしてやった
  • Emacs Lisp

    back 気ままに書き散らかした小片。 リンク: Gauche ユーザリファレンス GNU Emacs Lisp Reference Manual CL manual fold (リストの畳み込み) Scheme の高階関数 fold を再帰で実装してみよう。kons は2引数の関数とし、knil は初期値、ls はリストである。 リストの各要素を e1,e2,e3...en とすると、左端の要素 e1 を初期値 knil に kons し、更に左から順にとられた要素を累積的に kons して行く(畳み込んで行く)。fold は次の結果を返す。 (kons en (kons … (kons e3 (kons e2 (kons e1 knil))) … )) fold-right は、右端の要素 en を初期値 knil に kons し、更に右から順にとられた要素を累積的に kons して

  • Emacs Lispで大域名前空間を汚さない方法 - 【はてな】ガットポンポコ

    Emacs Lispでは名前空間が基的に1つしかない(※1)ため、プラグインを新たに作成する際は各関数にパッケージ固有の接頭辞を必ずつけるようにするという不文律によって関数名の衝突を回避している。 あまり今っぽくないこの仕様をどうにかしたい。 以下実験では、クラス概念が導入されていないEmacs Lispで上手いことやる方法を探ります。 関数内でローカルな関数を生成する手法 局所変数hogeをlambda式に束縛 ⇒ 関数内で呼び出す(funcall) (defun hoge1 () (let ((hoge (lambda () (message "ufu")))) (funcall hoge))) → hoge1 (hoge1) → "ufu" 局所変数plus2をlambda式に束縛 ⇒ 関数内で呼び出す(mapcar) (defun foo (lst) (let ((plus2 (

    Emacs Lispで大域名前空間を汚さない方法 - 【はてな】ガットポンポコ
  • emacs lispを普通のスクリプト言語として遊ぶときのオプション - 計算機と戯れる日々

    emacs lispを普通のスクリプト言語として遊ぶときのオプションの覚え書き ファイルを使うとき $ echo '(print "hello,world")'>a.el ;emacs -script a.el ; rm a.el "hello,world" ワンライナー $ emacs -batch -eval '(print "hello,world")' "hello,world" 速度比較 Gauche圧勝(笑 $ time gosh -e '(print "hello,world")' -e '(exit)' hello,world real 0m0.011s user 0m0.010s sys 0m0.000s $ time emacs -batch -eval '(print "hello,world")' "hello,world" real 0m0.237s user 0

    emacs lispを普通のスクリプト言語として遊ぶときのオプション - 計算機と戯れる日々
  • c-eldoc.el で C 言語プログラミング革命 - mooz deceives you

    emacs は人生 先日, また Life Changing なものに出会ってしまいました. 最近, 毎週のようにこの言葉を使っていて僕はどれだけ人生を変えれば気が済むのかという話なのですが, 出会ってしまったのです. c-eldoc.el に. eldoc.el 皆さん, eldoc.el をご存知でしょうか. Emacs Lisp を少しでも書かれるという方なら絶対に使っておきたいパッケージの一つが, この eldoc.el です. カーソル付近の関数に対する引数のリストをエコーエリアへ表示してくれたり, カーソルの位置から対応する引数を割り出しハイライトしてくれたり, もうこれなしで elisp を書く気などおきません. さらには eldoc-extension というパッケージを入れることにより関数や変数のドキュメントを表示してくれる機能まで追加され, もう至れり尽くせりです. 詳

    c-eldoc.el で C 言語プログラミング革命 - mooz deceives you
  • Emacs Lisp が「書ける」ようになるまで - 技術日記@kiwanami

    先日の関西Emacsでは、Emacs Lisp の入門記事がうけるとか、「書ける」ようになる情報がないらしいという話を聞きました。確かに、Emacsの初歩的な操作入門と、良く書ける人がアプリやブログなどでelispをばしっと書いてるのはよく見ます。入門から書けるようになるまでの間の過程は見たこと無かったかもしれないと思いました。 ということで、Emacsの先人たちにはまだまだ及びませんが、いくつかのアプリを書いてみた自分がたどった方法を書いてみます。先にまとめると以下の2つになると思います。 elispでどうしても書きたい物があること たくさん書いて動かして(こっちが先)、そしてInfoや他人のコードを見て勉強する 書ける以前のまとめ Emacs歴10年以上。すでに生活の一部。 でも設定を書くのに使っていたぐらい。 既存のアプリの分かりやすいバグを手元でちょっと直すとか。 LISP系の言語

    Emacs Lisp が「書ける」ようになるまで - 技術日記@kiwanami
  • ヘルプバッファや補完バッファをポップアップで表示してくれるpopwin.elをリリースしました - Functional Emacser

    ヘルプバッファや補完バッファをポップアップで表示してくれるpopwin.elをリリースしました。popwin.elはEmacsにポップアップウィンドウという概念を導入することにより、バッファを表示する(display-buffer)際のEmacsのトチ狂った仕様を矯正します。この「トチ狂った仕様」とは例えば、 M-x describe-functionしたらウィンドウが勝手に分割された あるいはウィンドウのバッファを勝手に切り替えられた ヘルプバッファ(*Help*)とか補完バッファ(*Completions*)がどのウィンドウに出現するか予測できない しかも作業後にそれらのバッファが表示されたままになったりする のようなものを指します。Emacsを触ったことがある人なら上記のいずれかは不満に思ったことがあるはずです。ちなみに僕は全てを不満に思っています。 余談になりますが、Wikiped

    ヘルプバッファや補完バッファをポップアップで表示してくれるpopwin.elをリリースしました - Functional Emacser
  • Scheme、Common Lisp、Emacs Lispの比較

    This domain may be for sale!

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 【特典付】『Emacs Lispテクニックバイブル』発売します - http://rubikitch.com/に移転しました

    お久しぶりです。 この度、新著の 『Emacs Lispテクニックバイブル 〜真髄を知るLispの掟〜』 を執筆しました。 このは、すでにEmacsを使っている人が、 Emacsを手足の如く扱うことを目的にしています。 前著『Emacsテクニックバイブル 〜作業効率をカイゼンする200の技〜』は あらゆるEmacs Lispプログラムを活用して、快適な環境を構築するための カタログ的なでした。 紹介された様々なEmacs Lispプログラムによって、 あなたのEmacsは劇的な進化を遂げたことでしょう。 それでも、人間の欲というものは限りないものです。 「このEmacs Lispプログラムのココが気にわない」 「このようなEmacs Lispプログラム欲しいけどないなー」 「世界でただ一つ、俺だけのEmacsを作りたいぜ」 みたいな欲が出てくるんですね。 もし、その感情が湧いたことが

    【特典付】『Emacs Lispテクニックバイブル』発売します - http://rubikitch.com/に移転しました
  • Emacs の recentf-mode をチューニングしたよ

    Emacs で最近開いたファイルのリストを自動保存する。 - 日々、とんは語る。 anything.el との組み合わせが素敵すぎますね。ずっと便利に使ってます。 ただ、ミニバッファに 30 秒ごとに “Wrote ~/.emacs.d/.recentf” と表示 されるのが結構気になっていました。なので、メッセージを表示しないよ うに、且つ必要時以外は recentf-save-file に保存しないようにしました。 設定は @tomoyaton さんの記事と重複してますが、分かりづらくなるので 私の recentf 関連の設定を全て記載しています。recentf-save-file をデ フォルトの ~/.recentf から ~/.emacs.d/.recentf にも変更しています。 @cvmat さんにはいろいろというか、ほぼ全てのアドバイスを頂きました。 いつもありがとうござい

  • Marmalade(emacsのlispリポジトリ)が便利な件 - I’m hungry

    package.el + Marmaladeが激しく便利だったので備忘メモ。 まずMarmalade(http://marmalade-repo.org/)からパッケージ管理用package.elをダウンロードしてきます。 [oogou@dev tmp]$ wget http://repo.or.cz/w/emacs.git/blob_plain/1a0a666f941c99882093d7bd08ced15033bc3f0c:/lisp/emacs-lisp/package.el --snip-- HTTP request sent, awaiting response... 200 OK Length: unspecified [text/plain] Saving to: “package.el” [ <=> ] 65,578 57.6K/s in 1.1s 2011-08-16 1

    Marmalade(emacsのlispリポジトリ)が便利な件 - I’m hungry
  • 1