URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=elisp&node=Command%20Overview" "elisp/コマンドループの概要"へのコメント(無し) コマンドループがまず始めに行うことはキー列、 つまり、コマンドへ変換されるイベント列を読むことです。 これには関数read-key-sequenceを呼び出します。 読者のLispコードでもこの関数を呼び出せます(see 節 20.6.1 キー列の入力)。 Lispプログラムでは、read-event(see 節 20.6.2 単一イベントの読み取り)で 低レベルの入力を行ったり、 discard-input(see 節 20.6.4 その他のイベント入力機能)で 処理待ち中の入力を破棄できます。 キー列は現在活性なキーマップを介してコマンドに変換されます。 この処理方法につい
Emacs Lisp メモ: バッファローカル変数 メモです。 正確なところはマニュアルなどで確認してください。 以下、変数 x を使って説明します。 デフォルト変数 バッファローカルでない、ふつうの変数。 どこ(どのバッファ)から参照・変更しても同じ値。 一般的なプログラミング言語の「グローバル変数」と似てる。 どのバッファから見ても x:D が参照される。 バッファローカル変数 バッファごとに別。 グローバルな(ふつうの)変数をマスクする。 「バッファ固有のマスク変数」みたいな感じ。 一般的なプログラミング言語の「ローカル変数」は 「スコープに対してローカル(特定のスコープ内だけから参照できる)」だが、 バッファローカル変数は「バッファに対してローカル (特定のバッファ内だけから参照できる)」 Emacs Lisp ではこの場合 x:D も x:L も同じ x として扱う(書く)が、
Posts Jun 3, 2025 Tree-sitter powered code completion Tree-sitter has taken the world of programming by a storm. Together with LSP, it’s probably the technology that has influenced the most programming editors and IDEs in the past several years. And now that Emacs 29+ comes with built-in Tree-sitter support I’ve been spending a lot of quality time with it, working on clojure-ts-mode and neocaml-mo
You can specify frame size and position at any time, including at Emacs startup and interactively, incrementally. At Emacs StartupPossibilities: Use command line options-mm: Maximize the first frame. E.g, use this as the Target of an MS Windows shortcut: runemacs -mm.-geometry: Set the first frame’s dimensions. E.g., emacs -geometry 80x24 for a frame 80 chars wide and 24 chars high.Use file ~/.Xre
25.1 Emacsウィンドウの基本概念 Emacsにおけるウィンドウ(window)とは、バッファが表示される、画面上 の物理的な領域です。この用語はまた、Emacs Lispにおいて、画面領域を表現す るLispオブジェクトを参照するためにも使用されます。どちらを意味しているの かは前後関係により明らかなはずです。 Emacsは、ウィンドウをフレームへとグループ分けします。フレームは、Emacsが 使用可能な画面の領域を表現します。各フレームは、常に少なくとも一つのウィ ンドウを含みますが、それらをさらに複数のオーバーラップしないEmacsウィン ドウへと垂直、あるいは水平に分割することができます。 各フレームにおいては、常に唯一一つのウィンドウが、そのフレーム内で 選択された(selected within the frame)ものとして指示されています。そのウィ ンドウ内にフレーム
Recent entries jlineで日本語を使えるようにする。 sugawara 2009-12-10 五反田Emacsの資料 sugawara 2009-10-19 trac-ticket.el sugawara 2007-11-19 Emacs Lisp 勉強会(バッファとウィンドウ編) sugawara 2007-10-22 10/11に行ったEmacs Lisp勉強会の内容です。 コラムのとこに載せようと思ったのですが、やり方がわからないのでここに載せました。 バッファとウィンドウって? バッファは Emacs で編集するテキストを持っているオブジェクトです。 簡単に言うと、文字列みたいなものです。 MVC の Model だと思えば良いです。 ウィンドウはバッファを表示する領域です。 MVC の View だと思えば良いです。 複数のウィンドウに同じバッファを表示する事がで
忌み嫌われているグローバル変数/関数をなるべく使用しないために、もう一つ小さな空間を用意している言語があります。僕のイメージでは、この空間はゆりかごです。ゆりかごの実現方法として、以下のようなものが挙げられるでしょう。 C++、Java ならクラス JavaScript なら関数、あるいはオブジェクト・リテラル Scheme なら手続き(関数) Emacs Lisp も Lisp なんですから、ある関数をゆりかごにして、中に関数を定義したいところです。でも、これはできません。さて、どうするかという話です。 defun で defun defun の中で defun したいところですが、これはうまく行きません。外側の関数が実行されると、内側の関数がグローバル空間に定義されてしまうからです。 (defun foo (n) (defun bar (n) (1+ n)) (bar n)) (fbo
はまったのでメモ。 message のような可変長引数 (?) をとる関数に対して、 funcall を使用すると &rest 以下の引数がうまいこと処理されない。 (defun hoge-funcall (string &rest arg) (funcall 'message string arg) ) (hoge-funcall "aa%s" "bb") ; => "aa (bb)" リストとして渡されてしまうところに問題があるっぽい。 リストを展開すればいいのかと思ってリスト操作系の関数を調べてもそれらしいものがない。 なので funcall についてマニュアルを調べたら、 http://www.bookshelf.jp/texi/elisp-manual-20-2.5-jp/elisp_12.html#SEC165 直後に apply についての説明が! 説明と例をみてもわからなか
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く