Properly list all matched accounts - pee - Pee a password manager;Pee - because you have to...
 (HTM) git clone git://vernunftzentrum.de/pee.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) LICENSE
       ---
 (DIR) commit 528e64deb27c160f3c05febe313ab4da46550628
 (DIR) parent a485baf0ea2485bcddd5f60bc067c3f3aa4c7179
 (HTM) Author: Christian Kellermann <ckeen@pestilenz.org>
       Date:   Tue, 12 Jan 2016 12:58:41 +0100
       
       Properly list all matched accounts
       
       do-list used the now gone get-result which resulted in wrong behaviour
       while listing accounts. Now the exact account name is also used for
       fetching the data from the db alist.
       
       Also simplify the code by deleting the awfully named
       print-without-password which had just one user: do-list.
       
       Also fix the pretty printing of the dates, the month should now be
       correct.
       
       Previously stored keys and their dates are not affected.
       
       Kudos to Kooda for catching this bug.
       
       Diffstat:
         pee.scm                             |      18 ++++++------------
       
       1 file changed, 6 insertions(+), 12 deletions(-)
       ---
 (DIR) diff --git a/pee.scm b/pee.scm
       @@ -222,13 +222,6 @@
        (define (banner)
          (printf "~a Version ~a -- ~a~%" program-name program-version program-description))
        
       -(define (print-without-password e)
       -  (printf "Account: ~a\tUser: ~a\tComment: ~a\tLast changed: ~a~%"
       -          (first e)
       -          (second e)
       -          (fourth e)
       -          (time->string (seconds->local-time (fifth e)) "%Y-%M-%d %H:%M:%S")))
       -
        (define (do-add db-name db p e)
          (when (alist-ref e db equal?)
                  (print "Error: An entry for '" e "' already exists.")
       @@ -277,11 +270,12 @@
                  (print "Error: No entry for " account " found.")
                  (exit 1))
            (for-each
       -     (lambda (e)
       -       (print-without-password e))
       -     (map (lambda (account)
       -            (get-result db account identity))
       -          accounts))))
       +     (lambda (account-name)
       +       (match-let (((user _ comment last-modified) (alist-ref account-name db equal?)))
       +                  (printf "Account: ~a\tUser: ~a\tComment: ~a\tLast changed: ~a ~a~%"
       +                          account-name user comment last-modified
       +                          (time->string (seconds->local-time last-modified) "%Y-%m-%d %H:%M:%S"))))
       +     accounts)))
        
        (define (do-password db e)
          (cond ((alist-ref e db equal?) =>