fixing clisp compatibility - cl-yag - Common Lisp Yet Another website Generator
 (HTM) git clone git://bitreich.org/cl-yag/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/cl-yag/
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Tags
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit da8e0af550cd5a47d4fccc399636d47287b143dd
 (DIR) parent e94fc554f9a4f95d8b8df4ea8629a330ef129d13
 (HTM) Author: Solene Rapenne <solene@dataswamp.org>
       Date:   Tue,  3 May 2016 15:54:02 +0200
       
       fixing clisp compatibility
       
       Diffstat:
         M generator.lisp                      |      22 ++++++++++------------
       
       1 file changed, 10 insertions(+), 12 deletions(-)
       ---
 (DIR) diff --git a/generator.lisp b/generator.lisp
       @@ -27,21 +27,20 @@
        (defun split-str (string &optional (separator " "))
          (split-str-1 string separator))
        
       -;; load a file as a string
       -;; we escape ~ to avoid failures with format
       -(defun load-file(path)
       -  (replace-all 
       -   (with-open-file (stream path)
       -                   (let ((data (make-string (file-length stream))))
       -                     (read-sequence data stream)
       -                     data))
       -   "~" "~~"))
       -
        ;; we have to remove the quotes
        ;; when using collect in a loop
        (defun strip-quotes(input)
          (format nil "~{~d~}" input))
        
       +;; load a file as a string
       +;; we escape ~ to avoid failures with format
       +(defun load-file(path)
       +  (replace-all
       +   (strip-quotes
       +    (with-open-file (stream path)
       +     (loop for line = (read-line stream nil) while line collect line)))
       +   "~" "~~"))
       +
        ;; save a string in a file
        (defun save-file(path data)
          (with-open-file (stream (concatenate 'string "output/" path) :direction :output :if-exists :supersede)
       @@ -62,8 +61,7 @@
        ;; simplify the file saving by using the layout
        (defmacro generate(name &body data)
          `(progn
       -     (save-file ,name
       -                (generate-layout ,@data))))
       +     (save-file ,name (generate-layout ,@data))))
        
        ;; generate the list of tags
        (defun articles-by-tag()