ファイルの更新日時をyankにコピー

もしかしたら誰かの役に立つかもしれないので、今日もlispを1つ。
ファイルの更新日時をyankにコピーするlispです。

設定方法。以下のlispを.xyzzyにコピーする。現在はCtrl-wとCtrl-Alt-wにバインドしているので、お好みのキーにバインドしなおす。以上。
使用方法。ファイラを表示して任意のファイルを選択。Ctrl-w(もしくはCtrl-Alt-w)。ファイラを閉じる。更新日時を挿入したい場所でCtrl-y。ファイルの更新日時が挿入されるはず。

(define-key filer-keymap #\C-w #'(lambda () (interactive) (get-mod t)))
(define-key filer-keymap #\C-M-w #'(lambda () (interactive) (get-mod nil)))

(defun get-mod (fullp)
  ; 選択ファイルの更新日時をヤンクバッファにコピーする
  ; fullp t: ファイル名フルパス nil: ファイル名のみ
  (let ( (yank-buf "") (line "") (time-format "%y/%m/%d %H:%M:%S") )
	(dolist (file (filer-get-mark-files))
	  (setq line
			(format nil "~A\t~A"
					(if fullp
						file
					  (substitute-string file ".*/" ""))
					(format-date-string time-format (file-write-time file))))
	  (setq yank-buf (concat yank-buf line "\n")))
	(setq *clipboard-newer-than-kill-ring-p* nil
		  *kill-ring-newer-than-clipboard-p* t)
	(ed::kill-new yank-buf)))