- (let ((sstart 0)
- (mstart 0)
- (end (length str)) result ms me)
- (while (string-match "\\(\r\n\\)+" str mstart)
- (setq ms (match-beginning 0)
- me (match-end 0))
- (setq mstart me)
- (when (and (< me end)
- (member (aref str me) '(?\t ?\ )))
- (setq me (- me 2)))
- (when (< ms me)
+ (if ew-remove-bare-crlf
+ (ew-crlf-line-convert str nil nil (lambda (nl) ""))
+ (let ((sstart 0)
+ (mstart 0)
+ (end (length str)) result ms me)
+ (while (string-match "\\(\r\n\\)+" str mstart)
+ (setq ms (match-beginning 0)
+ me (match-end 0))
+ (setq mstart me)
+ (when (and (< me end)
+ (member (aref str me) '(?\t ?\ )))
+ (setq me (- me 2)))
+ (when (< ms me)
+ (setq result (ew-rcons* result
+ (substring str sstart ms)
+ "=?+US-ASCII?Q?")
+ sstart me)
+ (while (< ms me)
+ (setq result (ew-rcons* result "=0D=0A")
+ ms (+ ms 2)))
+ (setq result (ew-rcons* result "?="))))
+ (when (< sstart end)