Source of Nothingness - emacs

* Menu

About | Profile | まとめ | オリジナル | xyzzy | あんてな | | buzz

* 2009-02-24 :

* 2009-02-20 :

* 2008-03-09 :

(ReadMore...)

* 2008-03-08 :

* 2008-02-25 :

(ReadMore...)

* xyzzy : gtags.l

たかだか3つの関数のためにemacs.lに依存するのはもったいないと思ったので、てきとーに実装してみました。
GPLなんですしemacs.lからもってくるのもありかと。
マイナーモードにする関数はed::toggle-modeを使いましょう。それでelisp::prefix-numeric-valueは不要になります。

(defun count-line(beg end)
  (if (eql beg end)
      0
    (1+ (- (save-excursion
             (goto-char end)
             (when (eql (preceding-char) #\LFD) (backward-char))
             (current-line-number))
           (save-excursion
             (goto-char beg)
             (current-line-number))))))

(defun expand-file-name (file &optional (dir (default-directory)))
  (merge-pathnames file dir))

(ReadMore...)

* lisp : スコープ

Scheme、Common Lisp、Emacs Lispの比較
Common Lisp自体は静的スコープだけど、 大域変数は暗黙的にスペシャル変数となるので Emacs Lispと同様上のような結果になる。
ダウト!
もしかしてCLtL1のときはそういう仕様だったのかもと確認してみたけれど、変更された形跡もない。
トップレベルで定義されようとレキシカルスコープに変わりはない。

* Scrapbook : Firemacs

 http://www.mew.org/~kazu/proj/firemacs/
なかなかよさげ

* emacsの文字表現

http://snmsts.orz.hm/~sana/wiki/index.php?%C6%FC%B5%AD%A4%C3%A4%DD%A4%AF%2F2006-10-03#k3406f46
すげー同感ッス。
bs.elの移植のとき
「? 」となっているところを見て何故に「?」が単独で?
としばらく考え込みました。

reader周りはまだ勉強していないのでスルーで。

* xyzzy lisp : Buffer selection

http://www.geekware.de/software/emacs/#bs
移植をしてみました。
http://raido.sakura.ne.jp/southly/xyzzy/site-lisp/bs-20060920.lzh
元の動作は知らないのですが、八割程度は動いているような気がします。

どんなものかは
http://www.bookshelf.jp/soft/meadow_28.html#SEC352

気が向いたときにでもNetInstaller用のパッケージにします。

* 2006-09-20

で、移植の手順。
1. Emacs lisp 移植キットを使えるようにする。
2. 使えないもの(defgroup, font-lock関係, フレーム関係, etc)をコメントアウト
3. 文字の表現を書き直し(?a → #\a) 特に#\SPCとか
4. キーバインドの記述を書き直し(文字列 → 文字 or cons)
5. formatの引数を直す
6. 無い関数を記述 & 無い変数を代替の関数へ
7. 位置の調整(xyzzyは0 origin, emacsは1 origin)
8. functionとsymbol
9. その他こまごまとした修正

* Scrapbook : Emacs Lisp

http://www.mew.org/~kazu/doc/elisp/profile.html

* xyzzy topic : migemoと大括弧

http://white.s151.xrea.com/wiki/index.php?diary%2F2006-04-05

もしかしてオレがバグを仕込んだかなと心配して、確認してみた。
違うみたいで一安心。
xyzzy仕様の正規表現を吐くようにmigemo.dllを改造するのが一番なんだろうけど。
emacsで使っている人なんかはどうしているのだろ?

* emacs lisp :

なんでaproposが無いんだろってことで
(ReadMore...)

* memo :

キー操作でemacsのメニューにアクセス
<f10>           tmm-menubar

ついでなのでlisp-modeのキーバインド
C-x C-e         lisp-eval-last-sexp

C-c C-v         lisp-show-variable-documentation
C-c C-f         lisp-show-function-documentation
C-c C-d         lisp-describe-sym
C-c C-a         lisp-show-arglist
C-c C-k         lisp-compile-file
C-c C-l         lisp-load-file
C-c C-c         lisp-compile-defun
C-c C-r         lisp-eval-region
C-c C-e         lisp-eval-defun
C-c C-z         switch-to-lisp

ESC C-x         lisp-eval-defun
ESC C-q         indent-sexp

clispのarglistの表示はそっけなくて不便。
ほんとにarg0, arg1, ... なんて使ってるの?