about summary refs log tree commit diff
path: root/third_party/lisp/mime4cl/endec.lisp
AgeCommit message (Collapse)AuthorFilesLines
2023-05-18 r/6158 test(3p/lisp/mime4cl): test decoding RFC2047 examplessterni1-1/+1
Change-Id: I32abb00e8cec697adb45b9a175cd753e807d33d5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8588 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-05-18 r/6157 refactor(3p/lisp/mime4cl): remove unused DECODE-STREAMsterni1-11/+0
This function has apparently been unused ever since we imported mime4cl into depot. Change-Id: I224c9b2947ffd641e01e8cd5454d7a7fa75278d4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8587 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org>
2023-05-18 r/6156 refactor(3p/lisp/mime4cl): port remaining base64 decoding to qbase64sterni1-60/+36
DECODE-BASE64-STREAM-TO-SEQUENCE is the only thing that requires anything fancy: We read into an adjustable array. Alternative could be using REDIRECT-STREAM and WITH-OUTPUT-TO-STRING, but that is likely slower (untested). Test cases are kept for now to confirm that qbase64 is conforming to our expectations, but can probably dropped in favor of a few more sample messages in the test suite. :START and :END are sadly no longer supported and need to be replaced by SUBSEQ. Change-Id: I5928aed7551b0dea32ee09518ea6f604b40c2863 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8586 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org>
2023-05-18 r/6155 refactor(3p/lisp/mime4cl): remove be and be*sterni1-11/+12
Seems simple enough to use standard LET and a few parentheses more which stock emacs can indent probably. Change-Id: I0137a532186194f62f3a36f9bf05630af1afcdae Reviewed-on: https://cl.tvl.fyi/c/depot/+/8584 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-03-30 r/6063 refactor(3p/lisp/mime4cl): replace babel with flexi-streamssterni1-3/+3
decode-RFC2047 used babel's octets-to-string, but we can replace it with the function of the same name from flexi-streams. This doesn't make a difference for the moment, but will be useful in the future: flexi-streams provides de- and encoding streams that we'll be able to use to replace and augment some of the stream based MIME part handling code in mime4cl. babel doesn't have as powerful stream functionality although it seems to be planned. Another big upside of flexi-streams is that we'll be able to replace delimited-input-string using it. This should allow us to slowly work towards correct and more efficient decoding of MIME bodies. Change-Id: I17174f1c96c5be7d103d396564e6aa0fe24c80fc Reviewed-on: https://cl.tvl.fyi/c/depot/+/8371 Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2022-02-02 r/3754 feat: move mblog header handling into mime4clsterni1-2/+16
Accessing the headers of a MIME message feels like something mime4cl should handle. We implemented this ad hoc in mblog before in order to not need to worry about doing it in a sensible way. Now we introduce a decent-ish interface for getting a header from a MIME message, mime-message-header-values: * It returns a list because MIME message headers may appear multiple times. * It decodes RFC2047 only upon request, as you may want to be stricter about parsing certain fields. * It checks header name equality case insensitively. The code for decoding the RFC2047 string is retained and still uses babel for doing the actual decoding. Change-Id: I58bbbe4b46dbded04160b481a28a40d14775673d Reviewed-on: https://cl.tvl.fyi/c/depot/+/5150 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2022-01-26 r/3675 style(3p/lisp): expand tabs in npg, mime4cl and sclfsterni1-270/+270
Done using find third_party/lisp/{sclf,mime4cl,npg} \ -name '*.lisp' -or -name '*.asd' \ -exec bash -c 'expand -i -t 8 "$0" | sponge "$0"' {} \; Change-Id: If84afac9c1d5cbc74e137a5aa0ae61472f0f1e90 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5066 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-09-01 r/2814 chore(3p/lisp): import mime4cl source tarballsterni1-0/+683
Used http://wcp.sdf-eu.org/software/mime4cl-20150207T211851.tbz (sha256 5a914669bba7561efe59a4fd0817204c07ad2add98b03ae206ef185ac04affb3). Importing seems sensible since there's no upstream repo nor has their been a release since 2015. This is just an import commit, so the changes made to make it build are more discoverable as their own commit. Change-Id: I2ff28c3c7433abdf7857204bc89eaf9edc0b1cbc Reviewed-on: https://cl.tvl.fyi/c/depot/+/3378 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>