+
+(defun make-url-new (page-name &key (base-dir *base-url*) (format :html)
+ (vars nil))
+ (let ((amp (ecase format
+ (:html "&")
+ ((:xml :ie-xml) "&"))))
+ (concatenate 'string
+ base-dir page-name
+ (if vars
+ (let ((first-var (first vars)))
+ (concatenate 'string
+ "?" (car first-var) "=" (cadr first-var)
+ (mapcar-append-string
+ #'(lambda (var)
+ (when (and (car var) (cadr var))
+ (concatenate 'string
+ amp (car var) "=" (cadr var))))
+ (rest vars))))
+ ""))))