fix(3p/lisp/mime4cl): make MIME-BODY-STREAM always return characters
Because OPEN-DECODED-FILE-PORTION only knows about transfer encodings it would only return a character stream for 7bit encoded bodies. This causes inconsistent behavior where some bodies would return binary and some character streams. To fix this, we specialize MIME-BODY-STREAM for MIME-TEXT parts which may or may not be a good enough solution. We may actually want to make MIME-BODY-STREAM binary always and let the user handle decoding?! This may be a good idea to take care after yet another stream machinery redesign. Since the mime4cl test suite doesn't test MIME-BODY-STREAM (much), add a message generated by notemap that hits this issue to the mblog golden test suite. Change-Id: Ie340c42ced6c693af9b3c84b177408d6b6d2c9c4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12913 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
This commit is contained in:
parent
0ead86ec89
commit
1f5e1383f5
7 changed files with 42 additions and 4 deletions
1
third_party/lisp/mime4cl/endec.lisp
vendored
1
third_party/lisp/mime4cl/endec.lisp
vendored
|
|
@ -656,6 +656,7 @@ sequence, a charset string indicating the original coding."
|
|||
(cons (flexi-streams:octets-to-string
|
||||
(car part)
|
||||
:external-format (flexi-streams:make-external-format
|
||||
;; TODO(sterni): sanitize charset before interning
|
||||
(intern (string-upcase (cdr part)) 'keyword))))
|
||||
(string part))))
|
||||
(apply #'concatenate
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue