r8224: add entities argument to dtd-prologue
[lml.git] / downloads.lisp
index 36f599c2e612e361d1f411dadb193fa4f10c5e4f..d78f776ffcee171a3d52b6804c186a1ba5671f34 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Aug 2002
 ;;;;
-;;;; $Id: downloads.lisp,v 1.9 2003/06/06 21:59:30 kevin Exp $
+;;;; $Id$
 ;;;;
 ;;;; This file, part of LML, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
@@ -16,7 +16,7 @@
 ;;;; (http://www.gnu.org/licenses/gpl.html)
 ;;;; *************************************************************************
 
-(in-package lml)
+(in-package #:lml)
 
 
 (defvar *dl-base*)
     (when (>= (length name) len-base-name)
       (string= name *base-name* :end1 len-base-name :end2 len-base-name))))
 
+(defun match-base-name-latest? (name)
+  (let* ((latest (concatenate 'string *base-name* "-latest"))
+        (len-latest (length latest)))
+    (when (>= (length name) len-latest)
+      (string= name latest :end1 len-latest :end2 len-latest))))
+
 (defun filter-against-base (files)
   (delete-if-not #'(lambda (f) (match-base-name? (pathname-name f))) files))
 
+(defun filter-latest (files)
+  (delete-if #'(lambda (f) (match-base-name-latest? (pathname-name f))) files))
+
 (defun sort-pathnames (list)
   (sort list #'(lambda (a b) (string< (namestring a) (namestring b)))))
 
 (defun display-one-section (title pat)
-  (let ((files (sort-pathnames (filter-against-base (directory pat)))))
+  (let ((files (sort-pathnames (filter-latest
+                               (filter-against-base (directory pat))))))
     (when files
       (print-sect-title title)
       (lml-princ "<div style=\"padding-left: 20pt;\">")