Source of Nothingness - interactive

* 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 : junk/httpの利用例として

RandomNote投稿lisp
refwikiのPOST用も作ってみたり。公開はしないけど。
[[(ReadMore...) index.rb?1148233294.txt]]

* xyzzy lisp : center-line

使ってみた感じだとこっちのほうがよさそう。
(in-package "editor")
; from $XYZZY/lisp/textmode.l
(defun center-line (&optional (arg 1))
  (interactive "*p")
  (center-region (progn (goto-bol) (point))
                 (progn
                   (forward-line arg)
                   (point))))

同じ感じでこういうのも。
(defun fill-line (&optional (arg 1))
  (interactive "*p")
  (fill-region (progn (goto-bol) (point))
               (progn (forward-line arg) (point))))

* xyzzy lisp : global-markpopup の続き

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

* xyzzy lisp : global-markpopup

とりあえず基礎部分。
もう少し作りこみたいところ。
[[(ReadMore...) index.rb?1143124229.txt]]

* xyzzy topic : はてダラを使いやすく

http://d.hatena.ne.jp/takef/20060320/1142829588

find-fileバッファを作っても保存するまではファイルができないから、こんな感じでもよさそう。
(defvar *hatedara-directory* "~/hatena")
(defun hatedara ()
  (interactive)
  (find-file (merge-pathnames *hatedara-directory* (format-date-string "%Y-%m-%d.txt"))))

* emacs lisp :

なんでaproposが無いんだろってことで
[[(ReadMore...) index.rb?1141506608.txt]]

* 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は規模が大きいからなかなか読めない(^^;

* 2006-02-09

;;; RandomNote投稿
(require "junk/http")

(in-package "junk")

(defvar *rn-url* "http://raido.sakura.ne.jp/southly/rn/index.rb")

(defun rn-post (url str)
  (let (http)
    (multiple-value-bind (proto host file anchor port)
        (junk-http-url-study url)
      (unless (string= proto "http")
        (junk-error "Protocol is not http: ~A" url))
      (unwind-protect
          (multiple-value-prog1
           (setq http (junk-http-request-send host file "POST" :data (format nil "cmd=edit_do&fname=&mes=~A" (si:www-url-encode str nil "0-9A-Za-z"))))
           ; 結果確認するならここ
           (and http (close http)))
        (close http :abort t)))))

(defun user::rn-post-region (beg end)
  (interactive "r")
  (rn-post *rn-url* (buffer-substring beg end)))

ということでできたRandomNote投稿Lisp。
xyzzyからM-x rn-post-regionで投稿します。
編集とか削除はしない方針なので作る予定はありません。

with-open-streamを見てちょっと修正。
一応closeしたほうがいいんだっけ?