| << | < | 2004-06 | > | >> | ||
|---|---|---|---|---|---|---|
| Su | Mo | Tu | We | Th | Fr | Sa | 
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 | 
| 13 | 14 | 15 | 16 | 17 | 18 | 19 | 
| 20 | 21 | 22 | 23 | 24 | 25 | 26 | 
| 27 | 28 | 29 | 30 | |||
(defun svn-dired-count-num ()
  (let ((num 1))
    #'(lambda () (if (= 1 num)
                     (prog1 ""
                       (setq num (1+ num)))
                   (prog1
                       (format nil "<~A>" num)
                     (setq num (1+ num)))))))
 
(defvar *svn-dired-buf-count* (svn-dired-count-num))
 
(defun svn-dired (&optional repo)
  (interactive)
  (let* ((repository (or repo (read-string "Repository: ")))
         (buf (format nil "~A~A" *svn-dired-prefix* (funcall *svn-dired-buf-count*))))
    (when (svn-dired-execute-svn-list repository buf)
      (let ((lst (svn-dired-make-list-from-svnlist buf)))
...
...
...svn-dired.lファイルの追加と、svn-diredモードの追加
*svn-output-buffer*バッファの*window-flag-line-number*、*window-flag-newline*、*window-flag-eof*変数をnilに
*svn-output-buffer*バッファを非表示に(バッファ名の先頭に空白を追加)
svn-with-set-optionマクロの修正
svnサブコマンドの出力先バッファの自動保存をしないように変更。それから保存する必要がないように変更
*svn-use-parse-sattus*がtの時のsvn statusコマンドの出力形式を少し変更
メニューにスイッチオプションを追加。それから階層メニュー化
*svn-repository-directory*変数をエクスポートしないようにした
*svn-window-conf*ローカル変数の削除
デバッグ用のmessage関数の取り外した
svn-toggle-verboseを新しく。svn.lからsvn-misc.lへ移動
*svn-verbose*変数の削除
*svn-mode-version*定数の書式を変更
svn-set-colorマクロの修正。apply関数は不必要だった模様(defstruct node
  (name "")
  (type "")
  (revision "")
  (time "")
  (author "")
  (child ()))
 
#S(node name "xyzzy" type :DIR revision nil
        time "Jun 6  9:10" author "lkpteam" child (
   #S(node name "site-lisp" type :DIR revision nil
           time "Jun 6  9:10" author "lkpteam" child (
      #S(node name "release" type :DIR revision 2090
              time "Jun 6 10:10" author "LKPTeam" child (nil))
      #S(node name "trunk" type :DIR revision 10
              time "Jun 6 12:10" author "LKPTeam" child (nil))))))("ROOT" :dir 102 "Jun 6  9:00" "lkpt"
 (("xyzzy" :dir 102 "Jun 6  9:00" "lkpt"
   (("site-lisp" :dir 102 "Jun 6  9:00" "lkpt"
     (("svn" :dir 102 "Jun 6  9:00" "lkpt"
       (("trunk" :dir 102 "Jun 6  9:00" "lkpt"
         (("svn.l" :file 100 "Jun 6  9:00" "lkpt")
          ("svn-misc.l" :file 102 "Jun 6  9:00" "lkpt")
          ("svn-parse.l" :file 100 "Jun 6  9:00" "lkpt")
          ("svn-dired.l" :file 102 "Jun 6  9:00" "lkpt")
          ("readme.txt" :file 98 "Jun 6  9:00" "lkpt")))
        ("release" :dir 100 "Jun 6  9:00" "lkpt"
         (("0.0.0.1" :dir 23 "Jun 6  9:00" "lkpt"
           (("svn.l" :file 23 "Jun 6  9:00" "lkpt")
            ("readme.txt" :file "Jun 6  9:00" "lkpt")))
          ("0.0.0.2" :dir 27 "Jun 6  9:00" "lkpt")
          )))))))))))(setq fs
'("ROOT"
 (("xyzzy"
   (("site-listp"
     (("Svn"
       (("trunk" (("svn.l") ("readme.txt")))
        ("release" (("0.0.0.1" (("svn.l") ("readme.txt")))
                    ("0.0.0.2" (("svn.l") ("readme.txt")))
                    )))))))))))
 
(defun get-node (name node)
  (interactive)
  (let (result)
    (labels ((get-node-1 (l n)
               (if (string= l (car n))
                   (setq result n)
                 (dolist (i (car (last n)))
                   (if (not (listp (car (last i))))
                       (return))
                   (when (get-node-1 l i)
                     (return result))
                   ))))
      (get-node-1 name node))))(get-node "release" fs)
=>("release" (("0.0.0.1" (("svn.l") ("readme.txt"))) ("0.0.0.2" (("svn.l") ("readme.txt")))))