* Menu
page 0 - << : 0 : >>
* 2008-03-05 :
- MIYAMUKO さんの xyscope.l にインスパイアされて XTAGS 用を書きました。
- builtin-tags.l の辺りにあります。テスト甘いです。
- パッケージは変えるかも。
- builtin.l までジャンプしてこないといけないので、それができる XTAGS を作っておく必要があります。
- 自分は ed::lisp-maketags をいじっているのですが、Nakano さんの ext-lisp-maketags を使えば OK だと思います。
- builtin-function-p → si:*builtin-function-p
* 2007-03-01
- xyzzyにbuiltin関数を追加してみた。
- 思っていたよりあっさり成功。亀井さんのすごさを改めて実感。
- builtin関数の追加の仕方は後でまとめよう。
- TODOが貯まるorz
- ふとS式コミュニケーションというのを見つけた。あのS式?
- S式で会話…… いいなぁ〜
* 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...)
* xyzzy lisp : clone-buffer
とりあえずこんなところか。
主だったところはsession.lから。
outline-tree2をバッファバーの代わりにしつつ、rename-bufferを良く使う人向け。
もしくは*compilation*バッファとかでうっかりそのまま編集して、undoができず残念な思いをする人向け。
メモ:
undo情報をそっくり写せるとうれしいかも。
(ReadMore...)
主だったところは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...)
* 2006-03-15
xyzzyの自動セーブの関数オブジェクトってdo-auto-saveだよな〜
builtin.lにあるよな〜
こんなもんだっけ?
exeのソースをいじってfuncallかなんかに置き換えてしまおうかな〜
builtin.lにあるよな〜
(setf (symbol-function 'do-auto-save) #'foo)で動作を置き換えられないみたいなんだけど、何でだろ?
こんなもんだっけ?
exeのソースをいじってfuncallかなんかに置き換えてしまおうかな〜
page 0 - << : 0 : >>