(defconst bt-nonbase64-chars (set-difference (mapcar #'identity bt-allchars)
bt-base64-chars))
-(when t
- ;; This code crashes some versions of XEmacs 21.2! This requires
- ;; further investigation. I (hniksic) am running Linux, and for me,
- ;; XEmacs used to crash in Fmapconcat()->mapcar1(), after a GC that
- ;; thrashes the stack. Raymond Toy reported a similar crash under
- ;; Solaris. I can no longer repeat the bug, so I cannot fix it now.
- (loop for (raw encoded) in bt-test-strings do
- (unless (equal raw "")
- (let* ((middlepos (/ (1+ (length encoded)) 2))
- (left (substring encoded 0 middlepos))
- (right (substring encoded middlepos)))
- ;; Whitespace at the beginning, end, and middle.
- (let ((mangled (concat bt-nonbase64-chars left bt-nonbase64-chars right
- bt-nonbase64-chars)))
- (Assert (equal (bt-base64-decode-string mangled) raw)))
-
- ;; Whitespace between every char.
- (let ((mangled (concat bt-nonbase64-chars
- ;; ENCODED with bt-nonbase64-chars
- ;; between every character.
- (mapconcat #'char-to-string encoded
- (apply #'string bt-nonbase64-chars))
- bt-nonbase64-chars)))
- (Assert (equal (bt-base64-decode-string mangled) raw))))))
- )
+(loop for (raw encoded) in bt-test-strings do
+ (unless (equal raw "")
+ (let* ((middlepos (/ (1+ (length encoded)) 2))
+ (left (substring encoded 0 middlepos))
+ (right (substring encoded middlepos)))
+ ;; Whitespace at the beginning, end, and middle.
+ (let ((mangled (concat bt-nonbase64-chars left bt-nonbase64-chars right
+ bt-nonbase64-chars)))
+ (Assert (equal (bt-base64-decode-string mangled) raw)))
+
+ ;; Whitespace between every char.
+ (let ((mangled (concat bt-nonbase64-chars
+ ;; ENCODED with bt-nonbase64-chars
+ ;; between every character.
+ (mapconcat #'char-to-string encoded
+ (apply #'string bt-nonbase64-chars))
+ bt-nonbase64-chars)))
+ (Assert (equal (bt-base64-decode-string mangled) raw))))))
;;-----------------------------------------------------
;; Mixed...