Source of Nothingness - WHEN

* Menu

[[About:self:AboutPage.txt]] | [[Profile:file/southly/]] | [[まとめ:self:1163859357.txt]] | [[オリジナル:http://ninjinix.x0.com/rn/]] | [[xyzzy:lisp/]] | [[あんてな:listall]] | [[■:lisp]] | [[buzz:files/southly#buzz]]

* 素数を求める。

とりあえず、アルゴリズム事典から。
よりLispらしく。
(defun generatePrimes (n)
  (let ((k 0)
        (prime (make-vector n :fill-pointer 0)))
    (vector-push 2 prime)
    (incf k)
    (do ((x 3 (+ x 2))
         (i 0 0))
        ((>= k n))
      (while (and (< i k) (/= 0 (rem x (aref prime i))))
        (incf i))
      (when (= i k)
        (vector-push x prime)
        (incf k)))
    prime))

* xyzzy lisp : junk/httpの利用例として

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

* xyzzy lisp : ディレクトリ付きにしてユニークなバッファ名に

機能的には[[しょぼしょぼすくりぷと xyzzy/library/buffer.html#buffer_rename]]さんと同等。
ひとつ上のディレクトリでやめてしまうみたいだから自分で書いてみた。
(defun buffer-name-with-directory ()
  (let* ((buffer (selected-buffer))
         (name (buffer-name buffer))
         dirs)
    (when (string-match "<[0-9]+>" name)
      (setq dirs (reverse (pathname-directory (get-buffer-file-name buffer))))
      (setq name (format nil "~A/~A" (pop dirs) (file-namestring (get-buffer-file-name buffer))))
      (while (and dirs (dolist (x (buffer-list))
                         (if (string= (buffer-name x) name)
                             (return t))))
        (setq name (format nil "~A/~A" (pop dirs) name)))
      (rename-buffer (abbreviate-display-string name 40) buffer))))
(add-hook '*find-file-hooks* 'buffer-name-with-directory)

* xyzzy lisp :

XTAGSの内容に絶対パスを許すには
関数 tags-setup-buffer の (looking-at "#USE \\(\\(../\\)+\\)$") の正規表現を変えるだけでよいみたい。
絶対パスまではいらないのでこんなのでお茶を濁す。
[[(ReadMore...) index.rb?1141572393.txt]]