buffer-read-onlyやテキストプロパティで書き込み禁止(読み込み専用)になっているバッファ文字列を強制的に書き込み可能にする変数がinhibit-read-only。ローカル変数として使う。
「Emacs Lispライブラリ」の記事一覧
Async/Await!Promiseを超えた非同期処理
async-await.elはAsync/AwaitのEmacs Lisp実装。promise.el単独よりもさらにわかりやすく非同期処理を記述できる。プロセスやネットワークも簡単に。
lambdaにサヨナラバイバイ!無名関数をスタイリッシュに書く
fn.elはlambda式に超簡潔な記法を与える。(lambda (x &rest r) (list x r))→(fn (list ))
Emacs LispでPromise!非同期処理もテストも超簡単
promise.elはEmacs LispでのPromiseの実装。JavaScriptのPromises/A+の忠実な移植で、非同期処理がとても簡単に記述できる。deferred.elよりも手軽。
英語の活用語尾を取り除くライブラリ/helm-swoopで応用
stem-english.elは英語の活用語尾を取り除くライブラリ。正規表現と応用すれば現在の単語に活用語尾が含まれていても語幹を検索するようになる。
anything.el : 【新機能・互換性維持・復活】ずっと安心して使えるあなただけの候補選択フレームワーク
anything.elは2007年から僕が開発・メンテナンスしているhelmの前身となる候補選択フレームワークです。anything.elはhelmと明確に差別化し、Emacs Lisp学習者に対して実用的な成功体験とずっと使える安心を提供します。
all-completions + completion-regexp-list で文字列・シンボルリストの絞り込み検索を行う
all-completions + completion-regexp-listで正規表現リストによる絞り込み検索が行えます。とはいえ、大量の候補がある場合はバッファを用意してからre-search-forwardする方がよほど高速です。
el-x.el : 【ローカル関数】cl-fletが使いものにならない?ならばdfletを使おう
概要 Common Lispで使える関数・マクロを提供するclライブラリは cl-libライブラリとして合法的に使えるようになりました。 Common Lisp関数・マクロ群にプレフィクスcl-を付けることで、安心して使・・・
avy-menu.el : お手軽に使えるキーボード選択メニューライブラリ
少数の候補選択にはキーボード選択メニューが適しています。階層メニューも作成できます。ローカル変数としてavy-keysを設定すればキーを設定することもできます。
loop.el : ループでbreak/continue/returnを使えるようにする
概要 Emacsの素のループ制御構造は単体ではループを中断する機能が用意されていません。 たいていの言語には組み込みで用意されていますが、 Emacs Lispで実現するためにはcatchで囲む必要があって面倒です。 そ・・・
ht.el : 【Rubyist歓喜】ハッシュテーブルを超絶使いやすくするライブラリ
概要 あなたはEmacs Lispでハッシュテーブルを使っていますか? Emacs LispはLispだけに、どうしてもリストに目がいってしまうでしょう。 実際にリストを扱う関数は豊富です。 key/valueペアを扱う・・・
signal.el : フックとタイマーを組み合わせたまったく新しい関数挙動変更方法
概要 昨日はsignal.elのフックとの類似性を示し ました。 今日はフックとの違いを示します。 おさらいすると、hookとsignalの対応関係は以下のようになっています。 定義 defvar(defcustom) ・・・
signal.el : フックの進化形が登場!その中身とは?
概要 あなたは、hookやadviceを活用していますか? これらは関数の挙動をあなた色に染めるものです。 さて、、、 Emacsを極めるにはEmacs Lispを学ぶことが不可欠です。 なぜなら、hookやadvice・・・
tco.el : 【関数型歓喜】えっ、Emacs Lispで末尾再帰の最適化ができる…だと!?
概要 tco.el は、関数の末尾再帰を行うパッケージです。 末尾再帰というのは、関数呼び出しの自分自身を最後に再帰呼び出しする再帰パターンです。 関数型言語では定番の手法で、Schemeでは実装仕様で末尾再帰を要求して・・・
Emacs Lisp: サルでも分かるシンタックステーブル入門!対応する括弧もコメントアウトも思いのまま(寄稿)
今日はなんと、僕そして Emacs界に大きなプレゼントがあります! Emacsの魔境ともいえるシンタックステーブル、 あなたはきちんと理解していますか? 正直、とてもやないけど僕もわかっていませんでした。 僕のEmacs・・・
crux.el : crux-with-region-or-*: regionの有無で場合分けするコマンド3つ・アドバイス3つ
概要 crux パッケージは以下の要素に分かれています。 crux全体 ファイルを外部プログラムで開く termバッファを開く いろいろな編集コマンド バッファ・ファイル操作 elisp関係 rootで開く region・・・
Emacs: popup.elをhelmやidoに置き換える方法
popup.elはauto-complete.elでも使われているように素晴しいelispです。 とはいえ、中には候補選択インターフェースとして helm(カテゴリ) やido(カテゴリ) の方が好きな人もいるでしょう。・・・
死んだかもしれないEmacsを蘇生させられるかもしれない方法!?
シェルからpkill -USR2 emacsを実行すればEmacsで走っているLispプログラムを強制的に中断できます
ido-migemo.el : idoでMigemo!!
概要 http://sheephead.homelinux.org/2015/09/14/7329/ ついに来ました! idoでMigemo が使えるようになりました!! 候補選択インターフェースはhelm(カテゴリ) ・・・
ansi.el : ANSIエスケープシーケンスをつける関数群
概要 ansi.el は文字列にANSIエスケープシーケンスを付加する関数群です。 端末の文字に色をつけたくてもエスケープシーケンスを忘れた場合に 役立つことでしょう。 以下のように使います。 ;; 文・・・
helm-core.el : helmはhelm-coreとhelmの2パッケージに分裂しました
概要 大人気インクリメンタル絞り込み検索フレームワークhelm(カテゴリ) は、 昨日のコミットにより2つのパッケージに分裂しました。 helm-core - helmフレームワークの中核 helm - helmにバンド・・・
org文書の現在の要素(element)をthing-at-pointで扱えるようにする
thing-at-point はカーソル位置のいろいろな THING を得る関数です。 THINGはline, url, sexp, symbolなどいろいろ取りますが、 ユーザ側で拡張できます。 date-at-poi・・・
【dashでメソッドチェーン】月刊少女野崎くんに学ぶthreading macro
ハンタイのハンタイの〜 月刊少女野崎くんED ウラオモテ・フォーチュン には キライの ハンタイの ハンタイの ハンタイの ハンタイの そのさらにハンタイの キモチを伝えるのって 何だか難しい という歌詞が出てきます. ・・・
date-at-point.el : thing-at-pointで日付文字列(date)も扱えるようにする
概要 date-at-point.el は thing-at-point を拡張する20行足らずのライブラリです。 使い方は (date-at-point) とelispに書くだけです。 カーソル位置が 2014-12-・・・
iterator.el : Emacs Lispで外部イテレータを実現する
概要 iterator.el はRubyの Enumerator のような 外部イテレータ を実現します。 # Rubyにて # 外部イテ・・・
save-sexp.el : 変数を永続化する・設定ファイルにサッとsetqを挿入する
概要 この save-sexp.el は2つの側面があります。 設定ファイルに現在の設定値のsetqを挿入する 変数の値をファイルに書き出し 永続化 する ユーザサイドにとって嬉しいのが前者、 elispプログラマにとっ・・・
ample-regexps.el : 【さらばバックスラッシュ】rxに語彙を追加しより理解可能な正規表現を定義する
概要 Emacsの正規表現は古い方言のため、PCREなどの現代的な正規表現よりも バックスラッシュが多くなります。 しかもelispには正規表現リテラルがないため、 文字列で表現するとバックスラッシュてんこもりになってし・・・
macrostep.el : 【コードリーディング支援】elispのマクロ展開をその場で順番に眺める
概要 Lispのマクロはとても強力で、制御構造すら隠蔽できてしまいます。 もちろんelispだって例外ではありません。 マクロは何度も「展開」され、 最終的にはスペシャルフォームと関数のみになります。 マクロは便利さの反・・・
shut-up.el : お前は黙ってろ!!!
概要 Emacsはたまに饒舌が過ぎることがあります。 message 関数や write-region 関数、 load 関数は エコーエリア にメッセージを出力します。 しかし、メッセージを抑制したいときがあります。 ・・・
showkey.el : 【Emacs勉強会・トラブルシューティングの友】キー操作とコマンドの履歴を表示する
概要 Emacs 勉強会 で操作を披露するとき、 どのように操作しているのかを示したいことがあります。 そのとき操作しているキーとコマンドを表示してくれると理解されやすいです。 また、 トラブルシューティング の相談をす・・・