Source of Nothingness - mac

* Menu

[[About:self:AboutPage.txt]] | [[Profile:file/southly/]] | [[まとめ:self:1163859357.txt]] | [[オリジナル:http://ninjinix.x0.com/rn/]] | [[xyzzy:lisp/]] | [[あんてな:listall]] | [[■:lisp]] | [[buzz:files/southly#buzz]]

* 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...) index.rb?1196394719.txt]]

* lisp : reader macro

「#-」「#+」は佐野さんのおっしゃるとおりですね。xyzzyでは $XZZY/lisp/cmu_loop.lで使われているだけだった気がします。デバッグプリントの埋め込みとかにも使えるかもしれません。使ったことありませんが。

「#.」はread時に評価するという指示で、「#:」はパッケージに属していないシンボルですね(gensymとかでできるやつ)。

詳しくは[[CLHS:lispworks.com/documentation/HyperSpec/Body/02_dh.htm]]で。

* lisp : スコープ

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

* Scrapbook : Firemacs

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

* editorパッケージのbuiltin関数

以下で調べて652個
(let ((count 0))
  (do-symbols (sym (find-package "editor") (format t "~%count: ~d~%" count))
    (when (and (not (find-symbol (symbol-name sym) "lisp"))
               (fboundp sym)
               (si:*builtin-function-p (symbol-function sym)))
      (format t "~a~%" sym)
      (incf count))))
[[(ReadMore...) index.rb?1164371462.txt]]

* Scrapbook : Common Lisp's Loop Macro Examples for Beginners

http://www.unixuser.org/~euske/doc/cl/loop.html

* 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