### ----------------------------------------------------
### -- Format::Lisp
### -- Licenses: Artistic-2.0
### -- Authors: Jeffrey Goff
### -- File: t/14-format-circumflex.rakutest
### ----------------------------------------------------
### -- Chunk 3 of 4
, 1 ], [ 1, 2 ], [ Nil, 3 ], [ 2, 4 ] ),
		Q{24}
	), Q[format.^.:@{.20];
	)

	#`(
	# (def-format-test format.^.\:@{.21
	#   "~:@{~1,v^~A~}" ('(0 1) '(1 2) '(nil 3) '(2 4)) "134")
	# 
	ok def-format-test(
		Q{~:@{~1,v^~A~}},
		( [ 0, 1 ], [ 1, 2 ], [ Nil, 3 ], [ 2, 4 ] ),
		Q{134}
	), Q[format.^.:@{.21];
	)

	#`(
	# (def-format-test format.^.\:@{.22
	#   "~:@{~1,1,1^~A~}" ('(1) '(2 3) '(4 5 6) '(7 8 9 0)) "")
	# 
	ok def-format-test(
		Q{~:@{~1,1,1^~A~}},
		( [ 1 ], [ 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9, 0 ] ),
		Q{}
	), Q[format.^.:@{.22];
	)

	#`(
	# (def-format-test format.^.\:@{.23
	#   "~:@{~1,2,3^~A~}" ('(1) '(2 3) '(4 5 6) '(7 8 9 0)) "")
	# 
	ok def-format-test(
		Q{~:@{~1,2,3^~A~}},
		( [ 1 ], [ 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9, 0 ] ),
		Q{}
	), Q[format.^.:@{.23];
	)

	#`(
	# (def-format-test format.^.\:@{.24
	#   "~:@{~1,2,1^~A~}" ('(1) '(2 3) '(4 5 6) '(7 8 9 0)) "1247")
	# 
	ok def-format-test(
		Q{~:@{~1,2,1^~A~}},
		( [ 1 ], [ 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9, 0 ] ),
		Q{1247}
	), Q[format.^.:@{.24];
	)

	#`(
	# (def-format-test format.^.\:@{.25
	#   "~:@{~1,0,1^~A~}" ('(1) '(2 3) '(4 5 6) '(7 8 9 0)) "1247")
	# 
	ok def-format-test(
		Q{~:@{~1,0,1^~A~}},
		( [ 1 ], [ 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9, 0 ] ),
		Q{1247}
	), Q[format.^.:@{.25];
	)

	#`(
	# (def-format-test format.^.\:@{.26
	#   "~:@{~3,2,1^~A~}" ('(1) '(2 3) '(4 5 6) '(7 8 9 0)) "1247")
	# 
	ok def-format-test(
		Q{~:@{~3,2,1^~A~}},
		( [ 1 ], [ 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9, 0 ] ),
		Q{1247}
	), Q[format.^.:@{.26];
	)

	#`(
	# (def-format-test format.^.\:@{.27
	#   "~:@{~v,2,3^~A~}" ('(1 10) '(2 20) '(3 30) '(4 40)) "3040")
	# 
	ok def-format-test(
		Q{~:@{~v,2,3^~A~}},
		( [ 1, 10 ], [ 2, 20 ], [ 3, 30 ], [ 4, 40 ] ),
		Q{3040}
	), Q[format.^.:@{.27];
	)

	#`(
	# (def-format-test format.^.\:@{.28
	#   "~:@{~1,v,3^~A~}" ('(0 7) '(1 10) '(2 20) '(3 30) '(4 40)) "740")
	# 
	ok def-format-test(
		Q{~:@{~1,v,3^~A~}},
		( [ 0, 7 ], [ 1, 10 ], [ 2, 20 ], [ 3, 30 ], [ 4, 40 ] ),
		Q{740}
	), Q[format.^.:@{.28];
	)

	#`(
	# (def-format-test format.^.\:@{.29
	#   "~:@{~1,2,v^~A~}" ('(0 0) '(1 10) '(2 20) '(3 30) '(4 40) '(0 50))
	#   "01050")
	# 
	ok def-format-test(
		Q{~:@{~1,2,v^~A~}},
		( [ 0, 0 ], [ 1, 10 ], [ 2, 20 ],
		  [ 3, 30 ], [ 4, 40 ], [ 0, 50 ] ),
		Q{01050}
	), Q[format.^.:@{.29];
	)

	#`(
	# (def-format-test format.^.\:@{.30
	#   "~:@{~1,2,v^~A~}" ('(nil 0)) "0")
	# 
	ok def-format-test(
		Q{~:@{~1,2,v^~A~}}, ( [ Nil, 0 ] ), Q{0}
	), Q[format.^.:@{.30];
	)

	#`(
	# (def-format-test format.^.\:@{.31
	#   "~:@{~#,3,3^~A~}" ('(1) '(2 1) '(3 2 1) '(4 3 2 1) '(5 4 3 2 1)) "45")
	# 
	ok def-format-test(
		Q{~:@{~#,3,3^~A~}},
		( [ 1 ], [ 2, 1 ], [ 3, 2, 1 ], [ 4, 3, 2, 1 ],
		  [ 5, 4, 3, 2, 1 ] ),
		Q{45}
	), Q[format.^.:@{.31];
	)

	#`(
	# (def-format-test format.^.\:@{.32
	#   "~:@{~2,#,3^~A~}" ('(1) '(2 1) '(3 2 1) '(4 3 2 1) '(5 4 3 2 1)) "145")
	# 
	ok def-format-test(
		Q{~:@{~2,#,3^~A~}},
		( [ 1 ], [ 2, 1 ], [ 3, 2, 1 ], [ 4, 3, 2, 1 ],
		  [ 5, 4, 3, 2, 1 ] ),
		Q{145}
	), Q[format.^.:@{.32];
	)

	#`(
	# (def-format-test format.^.\:@{.33
	#   "~:@{~0,3,#^~A~}" ('(1) '(2 1) '(3 2 1) '(4 3 2 1) '(5 4 3 2 1)) "12")
	# 
	ok def-format-test(
		Q{~:@{~0,3,#^~A~}},
		( [ 1 ], [ 2, 1 ], [ 3, 2, 1 ], [ 4, 3, 2, 1 ],
		  [ 5, 4, 3, 2, 1 ] ),
		Q{12}
	), Q[format.^.:@{.33];
	)

	#`(
	# (def-format-test format.^.\:@{.34
	#   "~:@{~#,#,3^~A~}" ('(1) '(2 1) '(3 2 1) '(4 3 2 1) '(5 4 3 2 1)) "45")
	# 
	ok def-format-test(
		Q{~:@{~#,#,3^~A~}},
		( [ 1 ], [ 2, 1 ], [ 3, 2, 1 ], [ 4, 3, 2, 1 ],
		  [ 5, 4, 3, 2, 1 ] ),
		Q{45}
	), Q[format.^.:@{.34];
	)

	#`(
	# (def-format-test format.^.\:@{.35
	#   "~:@{~3,#,#^~A~}" ('(1) '(2 1) '(3 2 1) '(4 3 2 1) '(5 4 3 2 1)) "12")
	# 
	ok def-format-test(
		Q{~:@{~3,#,#^~A~}},
		( [ 1 ], [ 2, 1 ], [ 3, 2, 1 ], [ 4, 3, 2, 1 ],
		  [ 5, 4, 3, 2, 1 ] ),
		Q{12}
	), Q[format.^.:@{.35];
	)

	#`(
	# (def-format-test format.^.\:@{.36
	#   "~:@{~#,3,#^~A~}" ('(1) '(2 1) '(3 2 1) '(4 3 2 1) '(5 4 3 2 1)) "1245")
	# 
	ok def-format-test(
		Q{~:@{~#,3,#^~A~}},
		( [ 1 ], [ 2, 1 ], [ 3, 2, 1 ], [ 4, 3, 2, 1 ],
		  [ 5, 4, 3, 2, 1 ] ),
		Q{1245}
	), Q[format.^.:@{.36];
	)

	#`(
	# (def-format-test format.^.\:@{.37
	#   "~:@{~#,#,#^~A~}" ('(1) '(2 1) '(3 2 1) '(4 3 2 1) '(5 4 3 2 1)) "")
	# 
	ok def-format-test(
		Q{~:@{~#,#,#^~A~}},
		( [ 1 ], [ 2, 1 ], [ 3, 2, 1 ], [ 4, 3, 2, 1 ],
		  [ 5, 4, 3, 2, 1 ] ),
		Q{}
	), Q[format.^.:@{.37];
	)

	#`(
	# (def-format-test format.^.\:@{.38
	#   "~:@{~1,v,v^~A~}" ('(#\a nil 0)) "0")
	# 
	ok def-format-test(
		Q{~:@{~1,v,v^~A~}}, ( [ Q{a}, Nil, 0 ] ), Q{0}
	), Q[format.^.:@{.38];
	)

	#`(
	# (def-format-test format.^.\:@{.39
	#   "~:@{~v,1,v^~A~}" ('(#\a nil 0)) "0")
	# 
	ok def-format-test(
		Q{~:@{~v,1,v^~A~}}, ( [ Q{a}, Nil, 0 ] ), Q{0}
	), Q[format.^.:@{.39];
	)
}, Q[Inside ~:@{];

subtest {
	1;
	#`(
	# (def-format-test format.\:^.\:{.1
	#   "~:{~:^~A~}"  (nil) "")
	# 
	ok def-format-test( Q{~:{~:^~A~}}, ( Nil ), Q{} ), Q[format.:^.:{.1];
	)

	#`(
	# (def-format-test format.\:^.\:{.2
	#   "(~:{~A~:^,~})"  ('((1)(2)(3))) "(1,2,3)")
	# 
	ok def-format-test(
		Q{~:{~A~:^,~}}, ( [ [ 1 ], [ 2 ], [ 3 ] ] ), Q{(1,2,3)}
	), Q[format.:^.:{.2];
	)

	#`(
	# (def-format-test format.\:^.\:{.3
	#   "~:{~:^~A~}"  ('((1)(2)(3)(4))) "123")
	# 
	ok def-format-test(
		Q{~:{~:^~A~}}, ( [ [ 1 ], [ 2 ], [ 3 ], [ 4 ] ] ), Q{123}
	), Q[format.:^.:{.3];
	)
}, Q[~:^ in ~:{];

subtest {
	1;
	#`(
	# (def-format-test format.\:^.\:{.4
	#   "~:{~0:^~A~}" ('((1)(2))) "")
	# 
	ok def-format-test(
		Q{~:{~0:^~A~}}, ( [ [ 1 ], [ 2 ] ] ), Q{}
	), Q[format.:^.:{.4];
	)

	#`(
	# (def-format-test format.\:^.\:{.5
	#   "~:{~1:^~A~}" ('((1)(2))) "12")
	# 
	ok def-format-test(
		Q{~:{~1:^~A~}}, ( [ [ 1 ], [ 2 ] ] ), Q{12}
	), Q[format.:^.:{.5];
	)

	#`(
	# (def-format-test format.\:^.\:{.6
	#   "~:{~'X:^~A~}" ('((1)(2))) "12")
	# 
	ok def-format-test(
		Q{~:{~'X:^~A~}}, ( [ [ 1 ], [ 2 ] ] ), Q{12}
	), Q[format.:^.:{.6];
	)

	#`(
	# (def-format-test format.\:^.\:{.7
	#   "~:{~v:^~A~}" ('((1 8)(2 3 4)(3 1)(0)(6 7)(8 10))) "831")
	# 
	ok def-format-test(
		Q{~:{~v:^~A~}},
		( [ [ 1, 8 ], [ 2, 3, 4 ], [ 3, 1 ],
		    [ 0 ], [ 6, 7 ], [ 8, 10 ] ] ),
		Q{831}
	), Q[format.:^.:{.7];
	)

	#`(
	# (def-format-test format.\:^.\:{.8
	#   "~:{~V:^~A~}" ('((#\X 1)(0 2))) "1")
	# 
	ok def-format-test(
		Q{~:{~V:^~A~}}, ( [ [ Q{X}, 1 ], [ 0, 2 ] ] ), Q{1}
	), Q[format.:^.:{.8];
	)

	#`(
	# (def-format-test format.\:^.\:{.9
	#   "~:{~#:^~A~}" ('((1)(2)(3 4)(5 6 7)()(8 9 10))) "1235")
	# 
	ok def-format-test(
		Q{~:{~#:^~A~}},
		( [ [ 1 ], [ 2 ], [ 3, 4 ], [ 5, 6, 7 ], [ ], [ 8, 9, 10 ] ] ),
		Q{1}
	), Q[format.:^.:{.9];)

	#`(
	# (def-format-test format.\:^.\:{.10
	#   "~:{~1,1:^~A~}" ('(()(1)(2 3))) "")
	# 
	ok def-format-test(
		Q{~:{~1,1:^~A~}}, ( [ [ ], [ 1 ] , [ 2, 3 ] ] ), Q{}
	), Q[format.:^.:{.10];
	)

	#`(
	# (def-format-test format.\:^.\:{.11
	#   "~:{~0,1:^~A~}" ('((1)(2 3))) "12")
	# 
	ok def-format-test(
		Q{~:{~0,1:^~A~}}, ( [ [ 1 ], [ 2, 3 ] ] ), Q{12}
	), Q[format.:^.:{.11];
	)

	#`(
	# (def-format-test format.\:^.\:{.12
	#   "~:{~v,1:^~A~}" ('((2 3)(4 5 6)(0 2)(1 7)(9 10))) "352")
	# 
	ok def-format-test(
		Q{~:{~v,1:^~A~}},
		( [ [ 2, 3 ], [ 4, 5, 6 ], [ 0, 2 ], [ 1, 7 ], [ 9, 10 ] ] ),
		Q{352}
	), Q[format.:^.:{.12];
	)

	#`(
	# (def-format-test format.\:^.\:{.13
	#   "~:{~1,V:^~A~}" ('((2 3)(4 5 6)(0 2)(1 7)(9 10))) "352")
	# 
	ok def-format-test(
		Q{~:{~1,V:^~A~}},
		( [ [ 2, 3 ], [ 4, 5, 6 ], [ 0, 2 ], [ 1, 7 ], [ 9, 10 ] ] ),
		Q{352}
	), Q[format.:^.:{.13];
	)

	#`(
	# (def-format-test format.\:^.\:{.14
	#   "~:{~V,v:^~A~}" ('((0 1 2) (1 0 3) (4 4) () (5 6 7))) "23")
	# 
	ok def-format-test(
		Q{~:{~V,v:^~A~}},
		( [ [ 0, 1, 2 ], [ 1, 0, 3 ], [ 4, 4 ], [ ], [ 5, 6, 7 ] ] ),
		Q{352}
	), Q[format.:^.:{.14];
	)

	#`(
	# (def-format-test format.\:^.\:{.15
	#   "~:{~#,1:^~A~}" ('((2 3 4)(4 5)(0)(1 7)(9 10)))
	#   "24")
	# 
	ok def-format-test(
		Q{~:{~#,1:^~A~}},
		( [ [ 2, 3, 4 ], [ 4, 5 ], [ 0 ], [ 1, 7 ], [ 9, 10 ] ] ),
		Q{24}
	), Q[format.:^.:{.15];
	)

	#`(
	# (def-format-test format.\:^.\:{.16
	#   "~:{~1,#:^~A~}" ('((2 3 4)(4 5)(0)(1 7)(9 10)))
	#   "24")
	# 
	ok def-format-test(
		Q{~:{~1,#:^~A~}},
		( [ [ 2, 3, 4 ], [ 4, 5 ], [ 0 ], [ 1, 7 ], [ 9, 10 ] ] ),
		Q{24}
	), Q[format.:^.:{.16];
	)

	#`(
	# (def-format-test format.\:^.\:{.17
	#   "~:{~#,#:^~A~}" ('(nil))
	#   "")
	# 
	ok def-format-test(
		Q{~:{~#,#:^~A~}}, ( [ Nil ] ), Q{24}
	), Q[format.:^.:{.17];
	)

	#`(
	# (def-format-test format.\:^.\:{.18
	#   "~:{~#,#:^~A~}" ('((1)))
	#   "")
	# 
	ok def-format-test(
		Q{~:{~#,#:^~A~}}, ( [ [ 1 ] ] ), Q{}
	), Q[format.:^.:{.18];
	)

	#`(
	# (def-format-test format.\:^.\:{.19
	#   "~:{~#,v:^~A~}" ('((1 2)(3 4)(2 5 6)(1)(2)))
	#   "245")
	# 
	ok def-format-test(
		Q{~:{~#,v:^~A~}},
		( [ [ 1, 2 ], [ 3, 4 ], [ 2, 5, 6 ], [ 1 ], [ 2 ] ] ),
		Q{24}
	), Q[format.:^.:{.19];
	)

	#`(
	# (def-format-test format.\:^.\:{.20
	#   "~:{~V,#:^~A~}" ('((0 2)(1 3 4)(1 3)()(0 7)))
	#   "23")
	# 
	ok def-format-test(
		Q{~:{~V,#:^~A~}},
		( [ [ 0, 2 ], [ 1, 3, 4 ], [ 1, 3 ], [ ], [ 0, 7 ] ] ),
		Q{23}
	), Q[format.:^.:{.20];
	)

	#`(
	# (def-format-test format.\:^.\:{.21
	#   "~:{~'X,'Y:^~A~}" ('((1)(2)))
	#   "12")
	# 
	ok def-format-test(
		Q{~:{~'X,'Y:^~A~}}, ( [ [ 1 ], [ 2 ] ] ), Q{23}
	), Q[format.:^.:{.21];
	)

	#`(
	# (def-format-test format.\:^.\:{.22
	#   "~:{~'X,'X:^~A~}" ('((1)(2)))
	#   "")
	# 
	ok def-format-test(
		Q{~:{~'X,'X:^~A~}}, ( [ [ 1 ], [ 2 ] ] ), Q{}
	), Q[format.:^.:{.22];
	)

	#`(
	# (def-format-test  format.\:^.\:{.23
	#   "~:{~1,2,3:^~A~}" ('((1)(2)))
	#   "")
	# 
	ok def-format-test(
		Q{~:{~1,2,3:^~A~}}, ( [ [ 1 ], [ 2 ] ] ), Q{}
	), Q[format.:^.:{.23];
	)

	#`(
	# (def-format-test  format.\:^.\:{.24
	#   "~:{~1,2,1:^~A~}" ('((1)(2)))
	#   "12")
	# 
	ok def-format-test(
		Q{~:{~1,2,2:^~A~}}, ( [ [ 1 ], [ 2 ] ] ), Q{12}
	), Q[format.:^.:{.24];
	)

	#`(
	# (def-format-test  format.\:^.\:{.25
	#   "~:{~2,1,3:^~A~}" ('((1)(2)))
	#   "12")
	# 
	ok def-format-test(
		Q{~:{~2,1,3:^~A~}}, ( [ [ 1 ], [ 2 ] ] ), Q{12}
	), Q[format.:^.:{.25];
	)

	#`(
	# (def-format-test  format.\:^.\:{.26
	#   "~:{~1,1,v:^~A~}" ('((0 4)(nil 1)(0 5)))
	#   "4")
	# 
	ok def-format-test(
		Q{~:{~1,1,v:^~A~}},
		( [ [ 0, 4 ], [ Nil, 1 ], [ 0, 5 ] ] ),
		Q{4}
	), Q[format.:^.:{.26];
	)

	#`(
	# (def-format-test  format.\:^.\:{.27
	#   "~:{~v,2,2:^~A~}" ('((3 4)(1 1)(4 5)))
	#   "4")
	# 
	ok def-format-test(
		Q{~:{~v,2,2:^~A~}}, ( [ [ 3, 4 ], [ 1, 1 ], [ 4, 5 ] ] ), Q{4}
	), Q[format.:^.:{.27];
	)

	#`(
	# (def-format-test  format.\:^.\:{.28
	#   "~:{~1,v,2:^~A~}" ('((0 2)(3 4)(1 1)(4 5)))
	#   "24")
	# 
	ok def-format-test(
		Q{~:{~1,v,2:^~A~}},
		( [ [ 0, 2 ], [ 3, 4 ], [ 1, 1 ], [ 4, 5 ] ] ),
		Q{24}
	), Q[format.:^.:{.28];
	)

	#`(
	# (def-format-test  format.\:^.\:{.29
	#   "~:{~V,v,3:^~A~}" ('((1 4 0)(2 1 7)(4 4 8 0)(1 2 6)(9 8 0)))
	#   "078")
	# 
	ok def-format-test(
		Q{~:{~V,v,3:^~A~}},
		( [ [ 1, 4, 0 ], [ 2, 1, 7 ], [ 4, 4, 8, 0 ],
		    [ 1, 2, 6 ], [ 9, 8, 0 ] ] ),
		Q{078}
	), Q[format.:^.:{.29];
	)

	#`(
	# (def-format-test  format.\:^.\:{.30
	#   "~:{~v,2,v:^~A~}" ('((1 1 0)(3 2 5)(2 1 6)(1 2 0)(10 11 13)))
	#   "056")
	# 
	ok def-format-test(
		Q{~:{~v,2,v:^~A~}},
		( [ [ 1, 1, 0 ], [ 3, 2, 5 ], [ 2, 1, 6 ],
		    [ 1, 2, 0 ], [ 10, 11, 13 ] ] ),
		Q{056}
	), Q[format.:^.:{.30];
	)

	#`(
	# (def-format-test  format.\:^.\:{.31
	#   "~:{~2,V,v:^~A~}" ('((1 1 0)(3 2 5)(2 1 6)(10 11 13)(0 1 0)))
	#   "056")
	# 
	ok def-format-test(
		Q{~:{~2,V,v:^~A~}},
		( [ [ 1, 1, 0 ], [ 3, 2, 5 ], [ 2, 1, 6 ],
		    [ 10, 11, 13 ], [ 0, 1, 0 ] ] ),
		Q{056}
	), Q[format.:^.:{.31];
	)

	#`(
	# (def-format-test  format.\:^.\:{.32
	#   "~:{~v,v,V:^~A~}" ('((1 2 1 0)(2 1 1 4)(2 3 1 6)(1 2 3)(0 1 0 8)))
	#   "046")
	# 
	ok def-format-test(
		Q{~:{~v,v,V:^~A~}},
		( [ [ 1, 2, 1, 0 ], [ 2, 1, 1, 4 ], [ 2, 3, 1, 6 ],
		    [ 1, 2, 3 ], [ 0, 1, 0, 8 ] ] ),
		Q{046}
	), Q[format.:^.:{.32];
	)

	#`(
	# (def-format-test  format.\:^.\:{.33
	#   "~:{~#,2,2:^~A~}" ('((1 2 3)(2 X X)(0 A B C D)(4 5)(5 7 8 9)))
	#   "120")
	# 
	ok def-format-test(
		Q{~:{~#,2,2:^~A~}},
		( [ [ 1, 2, 3 ], [ 2, Q{X}, Q{X} ],
		    [ 0, Q{A}, Q{B}, Q{C}, Q{D} ],
		    [ 4, 5 ], [ 5, 7, 8, 9 ] ] ),
		Q{120}
	), Q[format.:^.:{.33];
	)
#`(
	# (def-format-test  format.\:^.\:{.34
	#   "~:{~2,#,3:^~A~}" ('((1)(2 3 4 5)(3 4)(4 5 6 7 8)()))
	#   "12")
	# 
	ok def-format-test(
		Q{~:{~2,#,3:^~A~}},
		( [ [ 1 ], [ 2, 3, 4, 5 ], [ 3, 4 ], [ 4, 5, 6, 7, 8 ], [ ] ] ),
		Q{12}
	), Q[format.:^.:{.34];
	)

	#`(
	# (def-format-test  format.\:^.\:{.35
	#   "~:{~1,3,#:^~A~}" ('((1)(2 3)(3 4)(4 5 6)(5)))
	#   "123")
	# 
	ok def-format-test(
		Q{~:{~1,3,#:^~A~}},
		( [ [ 1 ], [ 2, 3 ], [ 3, 4 ], [ 4, 5, 6 ], [ 5 ] ] ),
		Q{123}
	), Q[format.:^.:{.35];
	)

	#`(
	# (def-format-test  format.\:^.\:{.36
	#   "~:{~#,#,2:^~A~}" ('((1 2 3)(2 X X)(0 A B C D)(4 5)(5 7 8 9)))
	#   "120")
	# 
	ok def-format-test(
		Q{~:{~#,#,2:^~A~}},
		( [ [ 1, 2, 3 ], [ 2, Q{X}, Q{X} ],
		    [ 1, Q{A}, Q{B}, Q{C}, Q{D} ],
		    [ 4, 5 ], [ 5, 7, 8, 9 ] ] ),
		Q{120}
	), Q[format.:^.:{.36];
	)

	#`(
	# (def-format-test  format.\:^.\:{.37
	#   "~:{~3,#,#:^~A~}" ('((1)(2 3)(3 4)(4 5 6)(5)))
	#   "123")
	# 
	ok def-format-test(
		Q{~:{~3,#,#:^~A~}},
		( [ [ 1 ], [ 2, 3 ], [ 3, 4 ], [ 4, 5, 6 ], [ 5 ] ] ),
		Q{123}
	), Q[format.:^.:{.37];
	)

	#`(
	# (def-format-test  format.\:^.\:{.38
	#   "~:{~#,2,#:^~A~}" ('((1 2 3)(2)(0 A B C D)(4 5)(5 7 8 9)))
	#   "120")
	#  
	ok def-format-test(
		Q{~:{~#,2,#:^~A~}},
		( [ [ 1, 2, 3 ], [ 2 ], [ 0, Q{A}, Q{B}, Q{C}, Q{D} ],
		    [ 4, 5 ], [ 5, 7, 8, 9 ] ] ),
		Q{120}
	), Q[format.:^.:{.38];
	)

	#`(
	# (def-format-test  format.\:^.\:{.39
	#   "~:{~#,#,#:^~A~}" ('((1 2 3)(2)(0 A B C D)(4 5)(5 7 8 9)))
	#   "")
	# 
	ok def-format-test(
		Q{~:{~#,#,#:^~A~}},
		( [ [ 1, 2, 3 ], [ 2 ], [ 0, Q{A}, Q{B}, Q{C}, Q{D} ],
		    [ 4, 5 ], [ 5, 7, 8, 9 ] ] ),
		Q{}
	), Q[format.:^.:{.38];
	)
}, Q[arguments];

subtest {
	#`(
	# (def-format-test format.\:^.\:@{.1
	#   "~:@{~:^~A~}" nil "")
	# 
	ok def-format-test( Q{~:@{~:^~A~}}, ( ), Q{} ), Q[format.:^.:@{.1];
	)

	#`(
	# (def-format-test format.\:^.\:@{.2
	#   "(~:@{~A~:^,~})" ('(1) '(2) '(3))
	#   "(1,2,3)")
	# 
	ok def-format-test(
		Q{