Source of Nothingness - format

* Menu

About | Profile | まとめ | オリジナル | xyzzy | あんてな | | buzz

* xyzzy lisp : global-markpopup の続き

(ReadMore...)

* xyzzy lisp : global-markpopup

とりあえず基礎部分。
もう少し作りこみたいところ。
(ReadMore...)

* 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...)

* clispcgi

URIのデコード・エンコードが一応完成。
感想メモ
・whileが無くてびっくり
xyzzy lispとの微妙な差が気になる
・(alphanumericp #\あ) => T ってなんだよ!?

(ReadMore...)

* clispcgi

必須のurl-encode&url-decodeの方法を探す。
clispの場合、このあたりが使えそう。

(format nil "~{~A~}"
        (map 'list
             #'(lambda (x)
                 (format nil "%~2,'0x" x))
             (ext:convert-string-to-bytes "あかさたな" charset:utf-8)))
=>"%E3%81%82%E3%81%8B%E3%81%95%E3%81%9F%E3%81%AA"

よしよしっと。
デコードは大変だな。
違う文字コードでエンコードされてやってきたらどうしたらいいんだろ。

(ReadMore...)

* 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したほうがいいんだっけ?