Source of Nothingness - outline

* 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 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-04-25

* xyzzy topic : outline-tree2, treeview, diff-detail 更新

xyzzy/index.html

[[あの件 self:1143031173.txt]]とか[[この件 self:1142430169.txt]]とか。後者については採用感謝です。
(2006-03-30)
[[(ReadMore...) index.rb?1143961754.txt]]

* 2006-03-22

いつの間にやら英語の論文を読むことに。門外漢の分野なのに……
たぶん直感に従ったやつが答え。それも結局はややこしいことに。
閑話休題。
[[outline-tree2 outline-tree2]]のフォルダの表示は同じフォルダでもロングネームとショートネームで区別されちゃってます。
ロングネームで統一しておいたほうが無難かと。
状況としては[[こんな感じ outline-tree2.png]]。
27日のCommon Lispセミナー(http://jp.franz.com/base/seminar-2006-03-27.html)は結局行くことにしました。
OSC2006は行くつもりだったのに、寝てすごしてしまったので今度はちゃんと行きます。

[[(ReadMore...) index.rb?1143031173.txt]]

* 2006-03-15

outline-tree2 で ed::build-summary-function の結果をノードにするってのはできそうな感じ。
最近C++を扱っているのだけど、Lispコーディングの影響か「三項演算子好き」「if文の条件部分にandとかorで処理を並べる」とコーディングスタイルがいつの間にやら変わっていた。
「++, --」は前置の方が速いと知って矯正中。

* xyzzy topic : outline-tree2の使い方

outline-tree2の使い方の紹介です。
第一部はアウトライン作成関数の生成について
第二部はアウトラインの出力について
(2006-03-12)

* xyzzy lisp : outline-treeの表示順にnext-bufferとか

(in-package "outline-tree2")
(global-set-key #\C-PageUp #'(lambda ()
                               (interactive)
                               (outline-tree-previous-buffer)
                               (outline-tree-select-node-by-buffer (selected-buffer))))
(global-set-key #\C-PageDown #'(lambda ()
                                 (interactive)
                                 (outline-tree-next-buffer)
                                 (outline-tree-select-node-by-buffer (selected-buffer))))

outline-treeをバッファバーの代わりにしているから、その見た目どおりに移動したい、
ということで、マウスに触る機会を減らすために。
outline-treeは規模が大きいからなかなか読めない(^^;