22023fdc8d
Change-Id: Ie3367d05c1cf76ee98501f0527c1da6f3282b4fe Reviewed-on: https://cl.tvl.fyi/c/depot/+/12920 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
22 lines
886 B
Common Lisp
22 lines
886 B
Common Lisp
;; SPDX-License-Identifier: GPL-3.0-only
|
|
;; SPDX-FileCopyrightText: Copyright (C) 2022 by sterni
|
|
|
|
(in-package :maildir)
|
|
(declaim (optimize (safety 3)))
|
|
|
|
;; https://cr.yp.to/proto/maildir.html
|
|
;; http://qmail.org/qmail-manual-html/man5/maildir.html
|
|
(defun list (dir)
|
|
"Returns a list of pathnames to messages in a maildir. The messages are
|
|
returned in no guaranteed order. Note that this function doesn't fully
|
|
implement the behavior prescribed by maildir(5): It only looks at `cur`
|
|
and `new` and won't clean up `tmp` nor move files from `new` to `cur`,
|
|
since it is strictly read-only. In this, it follows mlist(1)."
|
|
(flet ((subdir-contents (subdir)
|
|
(directory
|
|
(merge-pathnames
|
|
(make-pathname :directory `(:relative ,subdir)
|
|
:name :wild :type :wild)
|
|
dir))))
|
|
(mapcan #'subdir-contents '("cur" "new"))))
|
|
|