Source of Nothingness - builtin

* Menu

[[About:self:AboutPage.txt]] | [[Profile:http://iddy.jp/profile/southly/]] | [[まとめ:self:1163859357.txt]] | [[オリジナル:http://ninjinix.x0.com/rn/]] | [[xyzzy:http://raido.sakura.ne.jp/southly/xyzzy/site-lisp/]] | [[あんてな:http://i-know.jp/southly/listall]] | [[■:http://raido.sakura.ne.jp/southly/lisp/ni/view.lisp]] | [[buzz:http://www.google.com/profiles/southly#buzz]]

* 2008-03-05 :

* 2007-03-01

* 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]]

* xyzzy lisp : clone-buffer

とりあえずこんなところか。
主だったところはsession.lから。
outline-tree2をバッファバーの代わりにしつつ、rename-bufferを良く使う人向け。
もしくは*compilation*バッファとかでうっかりそのまま編集して、undoができず残念な思いをする人向け。
(defun clone-buffer (buffer-name &optional (buffer (selected-buffer)))
  (interactive "sClone Buffer: ")
  (let ((major buffer-mode)
        (minor (mapcan #'(lambda (mode)
                           (let ((var (and (consp mode) (car mode))))
                             (and (symbolp var)
                                  (boundp var)
                                  (symbol-value var)
                                  (list var))))
                       *minor-mode-alist*))
        (locals (mapcar #'(lambda (var)
                            (and (symbolp var)
                                 (local-variable-p var)
                                 (cons var (symbol-value var))))
                        *buffer-info-variable-list*))
        (point (point)))
    (set-buffer (create-new-buffer buffer-name))
    (insert-buffer buffer)
    (funcall major)
    (mapc #'(lambda (f) (and (fboundp f) (funcall f))) minor)
    (mapc #'(lambda (x)
              (when (and (car x) (symbolp (car x)))
                (make-local-variable (car x))
                (set (car x) (cdr x))))
          locals)
    (goto-char point)))

メモ:
undo情報をそっくり写せるとうれしいかも。
[[(ReadMore...) index.rb?1161833288.txt]]

* 2006-03-15

xyzzyの自動セーブの関数オブジェクトってdo-auto-saveだよな〜
builtin.lにあるよな〜
(setf (symbol-function 'do-auto-save) #'foo)
で動作を置き換えられないみたいなんだけど、何でだろ?
こんなもんだっけ?
exeのソースをいじってfuncallかなんかに置き換えてしまおうかな〜