summaryrefslogtreecommitdiff
path: root/localrepo/xterm-color-20230321.3.tar
blob: 8fb9658d76fa40d714e6de860f30b18c22eabc13 (plain)
ofshex dumpascii
0000 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 32 30 32 33 30 33 32 31 2e 33 2f 00 00 00 00 00 00 00 00 00 xterm-color-20230321.3/.........
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0080 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 30 32 33 00 20 35 00 00 00 0000000.00000000000.013023..5...
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 32 30 32 33 30 33 32 31 2e 33 2f 78 74 65 72 6d 2d 63 6f 6c xterm-color-20230321.3/xterm-col
0220 6f 72 2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 or-pkg.el.......................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0280 30 30 30 30 36 35 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 34 30 36 00 20 30 00 00 00 0000656.00000000000.016406..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 78 74 65 72 6d 2d 63 6f 6c 6f 72 22 20 22 32 (define-package."xterm-color"."2
0420 30 32 33 30 33 32 31 2e 33 22 20 22 41 4e 53 49 2c 20 58 54 45 52 4d 20 32 35 36 20 61 6e 64 20 0230321.3"."ANSI,.XTERM.256.and.
0440 54 72 75 65 63 6f 6c 6f 72 20 73 75 70 70 6f 72 74 22 0a 20 20 27 28 28 65 6d 61 63 73 20 22 32 Truecolor.support"...'((emacs."2
0460 34 2e 34 22 29 29 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 32 61 64 34 30 37 63 36 35 31 65 39 30 66 4.4"))...:commit."2ad407c651e90f
0480 66 66 32 65 61 38 35 64 31 37 62 66 30 37 34 63 65 65 32 63 30 32 32 39 31 32 22 20 3a 61 75 74 ff2ea85d17bf074cee2c022912".:aut
04a0 68 6f 72 73 0a 20 20 27 28 28 22 78 72 69 73 74 6f 73 22 20 2e 20 22 78 72 69 73 74 6f 73 40 73 hors...'(("xristos"..."xristos@s
04c0 64 66 2e 6f 72 67 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 0a 20 20 27 28 28 22 78 df.org"))...:maintainers...'(("x
04e0 72 69 73 74 6f 73 22 20 2e 20 22 78 72 69 73 74 6f 73 40 73 64 66 2e 6f 72 67 22 29 29 0a 20 20 ristos"..."xristos@sdf.org"))...
0500 3a 6d 61 69 6e 74 61 69 6e 65 72 0a 20 20 27 28 22 78 72 69 73 74 6f 73 22 20 2e 20 22 78 72 69 :maintainer...'("xristos"..."xri
0520 73 74 6f 73 40 73 64 66 2e 6f 72 67 22 29 0a 20 20 3a 6b 65 79 77 6f 72 64 73 0a 20 20 27 28 22 stos@sdf.org")...:keywords...'("
0540 66 61 63 65 73 22 29 0a 20 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 faces")...:url."https://github.c
0560 6f 6d 2f 61 74 6f 6d 6f 6e 74 61 67 65 2f 78 74 65 72 6d 2d 63 6f 6c 6f 72 22 29 0a 3b 3b 20 4c om/atomontage/xterm-color").;;.L
0580 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 3b 3b 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 ocal.Variables:.;;.no-byte-compi
05a0 6c 65 3a 20 74 0a 3b 3b 20 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 le:.t.;;.End:...................
05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0600 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 32 30 32 33 30 33 32 31 2e 33 2f 78 74 65 72 6d 2d 63 6f 6c xterm-color-20230321.3/xterm-col
0620 6f 72 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 or.el...........................
0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0680 30 31 31 31 37 32 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 36 32 37 00 20 30 00 00 00 0111725.00000000000.015627..0...
06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0800 3b 3b 3b 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2e 65 6c 20 2d 2d 2d 20 41 4e 53 49 2c 20 58 54 45 ;;;.xterm-color.el.---.ANSI,.XTE
0820 52 4d 20 32 35 36 20 61 6e 64 20 54 72 75 65 63 6f 6c 6f 72 20 73 75 70 70 6f 72 74 20 2d 2a 2d RM.256.and.Truecolor.support.-*-
0840 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 .lexical-binding:.t.-*-..;;.Copy
0860 72 69 67 68 74 20 28 43 29 20 32 30 31 30 2d 32 30 32 30 20 78 72 69 73 74 6f 73 40 73 64 66 2e right.(C).2010-2020.xristos@sdf.
0880 6f 72 67 0a 3b 3b 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 0a 0a 3b 3b 20 4d org.;;.All.rights.reserved..;;.M
08a0 6f 64 69 66 69 65 64 3a 20 32 30 32 30 2d 30 35 2d 31 30 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 odified:.2020-05-10.;;.Version:.
08c0 32 2e 30 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 78 72 69 73 74 6f 73 20 3c 78 72 69 73 74 6f 73 40 2.0.;;.Author:.xristos.<xristos@
08e0 73 64 66 2e 6f 72 67 3e 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e sdf.org>.;;.URL:.https://github.
0900 63 6f 6d 2f 61 74 6f 6d 6f 6e 74 61 67 65 2f 78 74 65 72 6d 2d 63 6f 6c 6f 72 0a 3b 3b 20 50 61 com/atomontage/xterm-color.;;.Pa
0920 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73 20 22 32 34 2e 34 22 29 29 ckage-Requires:.((emacs."24.4"))
0940 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 66 61 63 65 73 0a 0a 3b 3b 20 52 65 64 69 73 74 72 69 .;;.Keywords:.faces..;;.Redistri
0960 62 75 74 69 6f 6e 20 61 6e 64 20 75 73 65 20 69 6e 20 73 6f 75 72 63 65 20 61 6e 64 20 62 69 6e bution.and.use.in.source.and.bin
0980 61 72 79 20 66 6f 72 6d 73 2c 20 77 69 74 68 20 6f 72 20 77 69 74 68 6f 75 74 0a 3b 3b 20 6d 6f ary.forms,.with.or.without.;;.mo
09a0 64 69 66 69 63 61 74 69 6f 6e 2c 20 61 72 65 20 70 65 72 6d 69 74 74 65 64 20 70 72 6f 76 69 64 dification,.are.permitted.provid
09c0 65 64 20 74 68 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 ed.that.the.following.conditions
09e0 0a 3b 3b 20 61 72 65 20 6d 65 74 3a 0a 3b 3b 0a 3b 3b 20 20 20 2a 20 52 65 64 69 73 74 72 69 62 .;;.are.met:.;;.;;...*.Redistrib
0a00 75 74 69 6f 6e 73 20 6f 66 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6d 75 73 74 20 72 65 74 61 69 utions.of.source.code.must.retai
0a20 6e 20 74 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 0a 3b 3b 20 20 20 20 20 6e 6f 74 n.the.above.copyright.;;.....not
0a40 69 63 65 2c 20 74 68 69 73 20 6c 69 73 74 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 6e 64 ice,.this.list.of.conditions.and
0a60 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 69 73 63 6c 61 69 6d 65 72 2e 0a 3b 3b 0a 3b 3b .the.following.disclaimer..;;.;;
0a80 20 20 20 2a 20 52 65 64 69 73 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 62 69 6e 61 72 79 20 66 ...*.Redistributions.in.binary.f
0aa0 6f 72 6d 20 6d 75 73 74 20 72 65 70 72 6f 64 75 63 65 20 74 68 65 20 61 62 6f 76 65 0a 3b 3b 20 orm.must.reproduce.the.above.;;.
0ac0 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 2c 20 74 68 69 73 20 6c 69 73 74 20 ....copyright.notice,.this.list.
0ae0 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a of.conditions.and.the.following.
0b00 3b 3b 20 20 20 20 20 64 69 73 63 6c 61 69 6d 65 72 20 69 6e 20 74 68 65 20 64 6f 63 75 6d 65 6e ;;.....disclaimer.in.the.documen
0b20 74 61 74 69 6f 6e 20 61 6e 64 2f 6f 72 20 6f 74 68 65 72 20 6d 61 74 65 72 69 61 6c 73 0a 3b 3b tation.and/or.other.materials.;;
0b40 20 20 20 20 20 70 72 6f 76 69 64 65 64 20 77 69 74 68 20 74 68 65 20 64 69 73 74 72 69 62 75 74 .....provided.with.the.distribut
0b60 69 6f 6e 2e 0a 3b 3b 0a 3b 3b 20 54 48 49 53 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 ion..;;.;;.THIS.SOFTWARE.IS.PROV
0b80 49 44 45 44 20 42 59 20 54 48 45 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 41 4e IDED.BY.THE.COPYRIGHT.HOLDERS.AN
0ba0 44 20 43 4f 4e 54 52 49 42 55 54 4f 52 53 20 22 41 53 20 49 53 22 0a 3b 3b 20 41 4e 44 20 41 4e D.CONTRIBUTORS."AS.IS".;;.AND.AN
0bc0 59 20 45 58 50 52 45 53 53 20 4f 52 20 49 4d 50 4c 49 45 44 20 57 41 52 52 41 4e 54 49 45 53 2c Y.EXPRESS.OR.IMPLIED.WARRANTIES,
0be0 20 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 20 .INCLUDING,.BUT.NOT.LIMITED.TO,.
0c00 54 48 45 0a 3b 3b 20 49 4d 50 4c 49 45 44 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 THE.;;.IMPLIED.WARRANTIES.OF.MER
0c20 43 48 41 4e 54 41 42 49 4c 49 54 59 20 41 4e 44 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 CHANTABILITY.AND.FITNESS.FOR.A.P
0c40 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 0a 3b 3b 20 41 52 45 20 44 49 53 43 4c 41 49 ARTICULAR.PURPOSE.;;.ARE.DISCLAI
0c60 4d 45 44 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 20 43 4f 50 59 52 MED..IN.NO.EVENT.SHALL.THE.COPYR
0c80 49 47 48 54 20 48 4f 4c 44 45 52 20 4f 52 20 43 4f 4e 54 52 49 42 55 54 4f 52 53 20 42 45 0a 3b IGHT.HOLDER.OR.CONTRIBUTORS.BE.;
0ca0 3b 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 44 49 52 45 43 54 2c 20 49 4e 44 49 52 45 43 ;.LIABLE.FOR.ANY.DIRECT,.INDIREC
0cc0 54 2c 20 49 4e 43 49 44 45 4e 54 41 4c 2c 20 53 50 45 43 49 41 4c 2c 20 45 58 45 4d 50 4c 41 52 T,.INCIDENTAL,.SPECIAL,.EXEMPLAR
0ce0 59 2c 20 4f 52 0a 3b 3b 20 43 4f 4e 53 45 51 55 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 53 20 28 Y,.OR.;;.CONSEQUENTIAL.DAMAGES.(
0d00 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 20 50 INCLUDING,.BUT.NOT.LIMITED.TO,.P
0d20 52 4f 43 55 52 45 4d 45 4e 54 20 4f 46 0a 3b 3b 20 53 55 42 53 54 49 54 55 54 45 20 47 4f 4f 44 ROCUREMENT.OF.;;.SUBSTITUTE.GOOD
0d40 53 20 4f 52 20 53 45 52 56 49 43 45 53 3b 20 4c 4f 53 53 20 4f 46 20 55 53 45 2c 20 44 41 54 41 S.OR.SERVICES;.LOSS.OF.USE,.DATA
0d60 2c 20 4f 52 20 50 52 4f 46 49 54 53 3b 20 4f 52 20 42 55 53 49 4e 45 53 53 0a 3b 3b 20 49 4e 54 ,.OR.PROFITS;.OR.BUSINESS.;;.INT
0d80 45 52 52 55 50 54 49 4f 4e 29 20 48 4f 57 45 56 45 52 20 43 41 55 53 45 44 20 41 4e 44 20 4f 4e ERRUPTION).HOWEVER.CAUSED.AND.ON
0da0 20 41 4e 59 20 54 48 45 4f 52 59 20 4f 46 20 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 .ANY.THEORY.OF.LIABILITY,.WHETHE
0dc0 52 20 49 4e 0a 3b 3b 20 43 4f 4e 54 52 41 43 54 2c 20 53 54 52 49 43 54 20 4c 49 41 42 49 4c 49 R.IN.;;.CONTRACT,.STRICT.LIABILI
0de0 54 59 2c 20 4f 52 20 54 4f 52 54 20 28 49 4e 43 4c 55 44 49 4e 47 20 4e 45 47 4c 49 47 45 4e 43 TY,.OR.TORT.(INCLUDING.NEGLIGENC
0e00 45 20 4f 52 20 4f 54 48 45 52 57 49 53 45 29 0a 3b 3b 20 41 52 49 53 49 4e 47 20 49 4e 20 41 4e E.OR.OTHERWISE).;;.ARISING.IN.AN
0e20 59 20 57 41 59 20 4f 55 54 20 4f 46 20 54 48 45 20 55 53 45 20 4f 46 20 54 48 49 53 20 53 4f 46 Y.WAY.OUT.OF.THE.USE.OF.THIS.SOF
0e40 54 57 41 52 45 2c 20 45 56 45 4e 20 49 46 20 41 44 56 49 53 45 44 20 4f 46 20 54 48 45 0a 3b 3b TWARE,.EVEN.IF.ADVISED.OF.THE.;;
0e60 20 50 4f 53 53 49 42 49 4c 49 54 59 20 4f 46 20 53 55 43 48 20 44 41 4d 41 47 45 2e 0a 0a 3b 3b .POSSIBILITY.OF.SUCH.DAMAGE...;;
0e80 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 3b 3b 0a 3b 3b 20 54 72 61 6e 73 6c 61 74 65 20 41 4e ;.Commentary:.;;.;;.Translate.AN
0ea0 53 49 20 63 6f 6e 74 72 6f 6c 20 73 65 71 75 65 6e 63 65 73 20 69 6e 74 6f 20 74 65 78 74 20 70 SI.control.sequences.into.text.p
0ec0 72 6f 70 65 72 74 69 65 73 20 74 68 72 6f 75 67 68 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 0a roperties.through.state.machine.
0ee0 3b 3b 20 65 6d 75 6c 61 74 69 6f 6e 2e 20 54 68 69 73 20 70 72 6f 76 69 64 65 73 20 61 20 66 61 ;;.emulation..This.provides.a.fa
0f00 72 20 6d 6f 72 65 20 61 63 63 75 72 61 74 65 2c 20 63 6f 6d 70 72 65 68 65 6e 73 69 76 65 20 72 r.more.accurate,.comprehensive.r
0f20 65 73 75 6c 74 20 74 68 61 6e 0a 3b 3b 20 60 61 6e 73 69 2d 63 6f 6c 6f 72 2e 65 6c 27 20 74 68 esult.than.;;.`ansi-color.el'.th
0f40 61 74 20 69 73 20 62 75 69 6c 74 2d 69 6e 74 6f 20 45 6d 61 63 73 2c 20 77 69 74 68 6f 75 74 20 at.is.built-into.Emacs,.without.
0f60 63 6f 6d 70 72 6f 6d 69 73 69 6e 67 20 6f 6e 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 0a 3b 3b 0a compromising.on.performance..;;.
0f80 3b 3b 20 50 6c 65 61 73 65 20 73 65 65 20 52 45 41 44 4d 45 2e 6f 72 67 20 66 6f 72 20 64 6f 63 ;;.Please.see.README.org.for.doc
0fa0 75 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 63 6c 75 64 69 6e 67 20 65 78 61 6d 70 6c 65 20 63 6f 6e umentation.including.example.con
0fc0 66 69 67 75 72 61 74 69 6f 6e 73 2e 0a 3b 3b 0a 3b 3b 3b 20 4e 6f 74 65 73 3a 0a 3b 3b 0a 3b 3b figurations..;;.;;;.Notes:.;;.;;
0fe0 20 55 6e 73 75 70 70 6f 72 74 65 64 20 53 47 52 20 61 74 74 72 69 62 75 74 65 73 3a 20 35 20 28 .Unsupported.SGR.attributes:.5.(
1000 73 6c 6f 77 20 62 6c 69 6e 6b 29 2c 20 36 20 28 72 61 70 69 64 20 62 6c 69 6e 6b 29 2c 20 38 20 slow.blink),.6.(rapid.blink),.8.
1020 28 63 6f 6e 63 65 61 6c 29 2c 0a 3b 3b 20 31 30 20 28 70 72 69 6d 61 72 79 20 66 6f 6e 74 29 2c (conceal),.;;.10.(primary.font),
1040 20 31 31 2d 31 39 20 28 61 6c 74 65 72 6e 61 74 69 76 65 20 66 6f 6e 74 29 2c 20 32 30 20 28 66 .11-19.(alternative.font),.20.(f
1060 72 61 6b 74 75 72 29 2c 20 32 31 20 28 64 6f 75 62 6c 65 20 75 6e 64 65 72 6c 69 6e 65 29 2c 0a raktur),.21.(double.underline),.
1080 3b 3b 20 32 35 20 28 62 6c 69 6e 6b 20 6f 66 66 29 2c 20 32 39 20 28 72 65 76 65 61 6c 29 2c 20 ;;.25.(blink.off),.29.(reveal),.
10a0 35 32 20 28 65 6e 63 69 72 63 6c 65 64 29 2c 20 36 30 2d 36 35 20 28 69 64 65 6f 67 72 61 6d 29 52.(encircled),.60-65.(ideogram)
10c0 0a 3b 3b 0a 3b 3b 20 4d 6f 73 74 20 6f 66 20 74 68 65 73 65 20 63 61 6e 20 6e 6f 74 20 62 65 20 .;;.;;.Most.of.these.can.not.be.
10e0 6d 61 70 70 65 64 20 74 6f 20 45 6d 61 63 73 20 66 61 63 65 20 70 72 6f 70 65 72 74 69 65 73 2e mapped.to.Emacs.face.properties.
1100 20 54 68 65 20 72 65 73 74 20 6d 61 79 20 62 65 0a 3b 3b 20 73 75 70 70 6f 72 74 65 64 20 69 6e .The.rest.may.be.;;.supported.in
1120 20 61 20 66 75 74 75 72 65 20 72 65 6c 65 61 73 65 2e 0a 3b 3b 0a 3b 3b 20 53 75 70 70 6f 72 74 .a.future.release..;;.;;.Support
1140 65 64 20 53 47 52 20 61 74 74 72 69 62 75 74 65 73 3a 20 4c 6f 6f 6b 20 61 74 20 60 78 74 65 72 ed.SGR.attributes:.Look.at.`xter
1160 6d 2d 63 6f 6c 6f 72 2d 2d 64 69 73 70 61 74 63 68 2d 53 47 52 27 2e 0a 3b 3b 20 53 47 52 20 61 m-color--dispatch-SGR'..;;.SGR.a
1180 74 74 72 69 62 75 74 65 20 31 20 69 73 20 72 65 6e 64 65 72 65 64 20 61 73 20 62 72 69 67 68 74 ttribute.1.is.rendered.as.bright
11a0 20 75 6e 6c 65 73 73 20 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 75 73 65 2d 62 6f 6c 64 2d 66 6f .unless.`xterm-color-use-bold-fo
11c0 72 2d 62 72 69 67 68 74 27 0a 3b 3b 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 77 68 69 63 68 20 77 69 r-bright'.;;.is.non-nil.which.wi
11e0 6c 6c 2c 20 69 66 20 63 75 72 72 65 6e 74 20 66 6f 6e 74 20 68 61 73 20 61 20 62 6f 6c 64 20 76 ll,.if.current.font.has.a.bold.v
1200 61 72 69 61 6e 74 2c 20 73 77 69 74 63 68 20 74 6f 20 62 6f 6c 64 2e 0a 3b 3b 20 53 47 52 20 61 ariant,.switch.to.bold..;;.SGR.a
1220 74 74 72 69 62 75 74 65 73 20 33 38 20 61 6e 64 20 34 38 20 61 72 65 20 73 75 70 70 6f 72 74 65 ttributes.38.and.48.are.supporte
1240 64 20 69 6e 20 62 6f 74 68 20 74 68 65 69 72 20 32 35 36 20 63 6f 6c 6f 72 20 61 6e 64 20 74 72 d.in.both.their.256.color.and.tr
1260 75 65 63 6f 6c 6f 72 0a 3b 3b 20 28 32 34 2d 62 69 74 29 20 76 61 72 69 61 6e 74 73 2e 0a 0a 3b uecolor.;;.(24-bit).variants...;
1280 3b 3b 20 54 65 73 74 3a 0a 3b 3b 0a 3b 3b 20 4d 2d 78 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 74 ;;.Test:.;;.;;.M-x.xterm-color-t
12a0 65 73 74 0a 3b 3b 0a 3b 3b 20 49 6e 20 73 68 65 6c 6c 20 6f 72 20 65 73 68 65 6c 6c 3a 0a 3b 3b est.;;.;;.In.shell.or.eshell:.;;
12c0 0a 3b 3b 20 70 65 72 6c 20 74 65 73 74 73 2f 78 74 65 72 6d 2d 63 6f 6c 6f 72 74 65 73 74 20 26 .;;.perl.tests/xterm-colortest.&
12e0 26 20 70 65 72 6c 20 74 65 73 74 73 2f 32 35 36 63 6f 6c 6f 72 73 32 2e 70 6c 0a 3b 3b 0a 3b 3b &.perl.tests/256colors2.pl.;;.;;
1300 20 70 72 69 6e 74 66 20 22 5c 78 31 62 5b 30 3b 31 3b 33 3b 34 3b 33 35 3b 35 31 6d 54 68 69 73 .printf."\x1b[0;1;3;4;35;51mThis
1320 20 69 73 20 6f 6e 6c 79 20 61 20 74 65 73 74 5c 78 31 62 5b 30 6d 5c 6e 22 0a 3b 3b 0a 3b 3b 20 .is.only.a.test\x1b[0m\n".;;.;;.
1340 43 6f 6d 70 61 72 69 73 6f 6e 20 77 69 74 68 20 61 6e 73 69 2d 63 6f 6c 6f 72 2e 65 6c 3a 0a 3b Comparison.with.ansi-color.el:.;
1360 3b 0a 3b 3b 20 4d 2d 78 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 74 65 73 74 2d 72 61 77 20 74 68 ;.;;.M-x.xterm-color-test-raw.th
1380 65 6e 20 4d 2d 78 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 63 6f 6c 6f 72 69 7a 65 2d 62 75 66 66 en.M-x.xterm-color-colorize-buff
13a0 65 72 0a 3b 3b 0a 3b 3b 20 61 6e 64 20 63 6f 6e 74 72 61 73 74 20 77 69 74 68 0a 3b 3b 0a 3b 3b er.;;.;;.and.contrast.with.;;.;;
13c0 20 4d 2d 78 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 74 65 73 74 2d 72 61 77 20 74 68 65 6e 20 4d .M-x.xterm-color-test-raw.then.M
13e0 2d 3a 20 28 61 6e 73 69 2d 63 6f 6c 6f 72 2d 61 70 70 6c 79 2d 6f 6e 2d 72 65 67 69 6f 6e 20 28 -:.(ansi-color-apply-on-region.(
1400 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 3b 3b 0a 3b 3b 20 55 73 point-min).(point-max)).;;.;;.Us
1420 65 20 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 62 65 6e 63 68 27 20 66 6f 72 20 62 65 6e 63 68 e.`xterm-color--bench'.for.bench
1440 6d 61 72 6b 73 20 64 75 72 69 6e 67 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2e 0a 0a 3b 3b 3b 20 43 marks.during.development...;;;.C
1460 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 73 75 62 72 2d 78 29 0a 28 72 65 71 75 69 72 65 ode:..(require.'subr-x).(require
1480 20 27 63 6c 2d 6c 69 62 29 0a 0a 28 64 65 66 67 72 6f 75 70 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 .'cl-lib)..(defgroup.xterm-color
14a0 20 6e 69 6c 0a 20 20 22 54 72 61 6e 73 6c 61 74 65 20 41 4e 53 49 20 63 6f 6e 74 72 6f 6c 20 73 .nil..."Translate.ANSI.control.s
14c0 65 71 75 65 6e 63 65 73 20 74 6f 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 2e 22 0a 20 20 equences.to.text.properties."...
14e0 3a 70 72 65 66 69 78 20 22 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 22 0a 20 20 3a 67 72 6f 75 70 20 :prefix."xterm-color-"...:group.
1500 27 70 72 6f 63 65 73 73 65 73 29 0a 0a 0a 3b 3b 3b 0a 3b 3b 3b 20 43 55 53 54 4f 4d 0a 3b 3b 3b 'processes)...;;;.;;;.CUSTOM.;;;
1520 0a 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 64 65 62 75 67 20 ...(defcustom.xterm-color-debug.
1540 6e 69 6c 0a 20 20 22 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 70 72 69 6e 74 20 41 4e 53 49 20 73 74 nil..."If.non-nil,.print.ANSI.st
1560 61 74 65 20 6d 61 63 68 69 6e 65 20 64 65 62 75 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e ate.machine.debug.information.in
1580 20 2a 4d 65 73 73 61 67 65 73 2a 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 .*Messages*."...:type.'boolean..
15a0 20 3a 67 72 6f 75 70 20 27 78 74 65 72 6d 2d 63 6f 6c 6f 72 29 0a 0a 28 64 65 66 63 75 73 74 6f .:group.'xterm-color)..(defcusto
15c0 6d 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 2d 62 72 69 67 68 m.xterm-color-use-bold-for-brigh
15e0 74 20 6e 69 6c 0a 20 20 22 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 72 65 6e 64 65 72 20 62 72 69 67 t.nil..."If.non-nil,.render.brig
1600 68 74 20 66 6f 72 65 67 72 6f 75 6e 64 20 61 74 74 72 69 62 75 74 65 20 61 73 20 62 6f 6c 64 2e ht.foreground.attribute.as.bold.
1620 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 67 72 6f 75 70 20 27 78 74 65 "...:type.'boolean...:group.'xte
1640 72 6d 2d 63 6f 6c 6f 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 78 74 65 72 6d 2d 63 6f 6c 6f rm-color)..(defcustom.xterm-colo
1660 72 2d 6e 61 6d 65 73 0a 20 20 5b 22 23 31 39 32 30 33 33 22 20 20 20 20 3b 20 62 6c 61 63 6b 0a r-names...["#192033"....;.black.
1680 20 20 20 22 23 41 39 33 46 34 33 22 20 20 20 20 3b 20 72 65 64 0a 20 20 20 22 23 35 39 39 36 33 ..."#A93F43"....;.red...."#59963
16a0 41 22 20 20 20 20 3b 20 67 72 65 65 6e 0a 20 20 20 22 23 42 45 38 41 32 44 22 20 20 20 20 3b 20 A"....;.green...."#BE8A2D"....;.
16c0 79 65 6c 6c 6f 77 0a 20 20 20 22 23 34 30 36 38 41 33 22 20 20 20 20 3b 20 62 6c 75 65 0a 20 20 yellow...."#4068A3"....;.blue...
16e0 20 22 23 37 46 36 30 41 37 22 20 20 20 20 3b 20 6d 61 67 65 6e 74 61 0a 20 20 20 22 23 34 45 39 ."#7F60A7"....;.magenta...."#4E9
1700 42 39 42 22 20 20 20 20 3b 20 63 79 61 6e 0a 20 20 20 22 23 37 45 38 41 39 30 22 5d 20 20 20 3b B9B"....;.cyan...."#7E8A90"]...;
1720 20 77 68 69 74 65 0a 20 20 22 44 65 66 61 75 6c 74 20 63 6f 6c 6f 72 73 20 74 6f 20 75 73 65 20 .white..."Default.colors.to.use.
1740 61 73 20 72 65 67 75 6c 61 72 20 41 4e 53 49 20 63 6f 6c 6f 72 73 2e 22 0a 20 20 3a 74 79 70 65 as.regular.ANSI.colors."...:type
1760 20 27 28 76 65 63 74 6f 72 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 73 .'(vector.string.string.string.s
1780 74 72 69 6e 67 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 73 74 72 69 6e tring.string.string.string.strin
17a0 67 29 0a 20 20 3a 67 72 6f 75 70 20 27 78 74 65 72 6d 2d 63 6f 6c 6f 72 29 0a 0a 28 64 65 66 63 g)...:group.'xterm-color)..(defc
17c0 75 73 74 6f 6d 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 6e 61 6d 65 73 2d 62 72 69 67 68 74 0a 20 ustom.xterm-color-names-bright..
17e0 20 5b 22 23 36 36 36 36 36 36 22 20 20 20 20 3b 20 62 6c 61 63 6b 0a 20 20 20 22 23 45 43 36 32 .["#666666"....;.black...."#EC62
1800 36 31 22 20 20 20 20 3b 20 72 65 64 0a 20 20 20 22 23 41 44 43 46 34 34 22 20 20 20 20 3b 20 67 61"....;.red...."#ADCF44"....;.g
1820 72 65 65 6e 0a 20 20 20 22 23 46 30 43 36 34 39 22 20 20 20 20 3b 20 79 65 6c 6c 6f 77 0a 20 20 reen...."#F0C649"....;.yellow...
1840 20 22 23 36 33 42 34 46 36 22 20 20 20 20 3b 20 62 6c 75 65 0a 20 20 20 22 23 43 42 37 37 46 39 ."#63B4F6"....;.blue...."#CB77F9
1860 22 20 20 20 20 3b 20 6d 61 67 65 6e 74 61 0a 20 20 20 22 23 38 36 44 37 44 42 22 20 20 20 20 3b "....;.magenta...."#86D7DB"....;
1880 20 63 79 61 6e 0a 20 20 20 22 23 44 33 44 32 44 31 22 5d 20 20 20 3b 20 77 68 69 74 65 0a 20 20 .cyan...."#D3D2D1"]...;.white...
18a0 22 44 65 66 61 75 6c 74 20 63 6f 6c 6f 72 73 20 74 6f 20 75 73 65 20 61 73 20 62 72 69 67 68 74 "Default.colors.to.use.as.bright
18c0 20 41 4e 53 49 20 63 6f 6c 6f 72 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 76 65 63 74 6f 72 20 .ANSI.colors."...:type.'(vector.
18e0 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 73 74 72 69 string.string.string.string.stri
1900 6e 67 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 29 0a 20 20 3a 67 72 6f 75 ng.string.string.string)...:grou
1920 70 20 27 78 74 65 72 6d 2d 63 6f 6c 6f 72 29 0a 0a 0a 3b 3b 3b 0a 3b 3b 3b 20 42 75 66 66 65 72 p.'xterm-color)...;;;.;;;.Buffer
1940 20 6c 6f 63 61 6c 73 2c 20 75 73 65 64 20 62 79 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 0a 3b .locals,.used.by.state.machine.;
1960 3b 3b 0a 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 70 ;;...(defvar-local.xterm-color-p
1980 72 65 73 65 72 76 65 2d 70 72 6f 70 65 72 74 69 65 73 20 6e 69 6c 0a 20 20 22 49 66 20 6e 6f 6e reserve-properties.nil..."If.non
19a0 2d 6e 69 6c 2c 20 70 72 65 73 65 72 76 65 20 65 78 69 73 74 69 6e 67 20 74 65 78 74 20 70 72 6f -nil,.preserve.existing.text.pro
19c0 70 65 72 74 69 65 73 20 6f 6e 20 69 6e 70 75 74 20 61 62 6f 75 74 20 74 6f 20 62 65 20 66 69 6c perties.on.input.about.to.be.fil
19e0 74 65 72 65 64 2e 0a 45 66 66 65 63 74 69 76 65 6c 79 20 74 68 69 73 20 73 6b 69 70 73 20 41 4e tered..Effectively.this.skips.AN
1a00 53 49 20 63 6f 6e 74 72 6f 6c 20 73 65 71 75 65 6e 63 65 20 70 72 6f 63 65 73 73 69 6e 67 20 66 SI.control.sequence.processing.f
1a20 6f 72 20 69 6e 70 75 74 20 70 61 72 74 73 0a 74 68 61 74 20 68 61 76 65 20 74 65 78 74 20 70 72 or.input.parts.that.have.text.pr
1a40 6f 70 65 72 74 69 65 73 20 61 70 70 6c 69 65 64 2e 20 54 68 69 73 20 73 68 6f 75 6c 64 20 62 65 operties.applied..This.should.be
1a60 20 6e 69 6c 20 6d 6f 73 74 20 6f 66 20 74 68 65 20 74 69 6d 65 2e 0a 49 74 20 69 73 20 72 65 61 .nil.most.of.the.time..It.is.rea
1a80 6c 6c 79 20 6d 65 61 6e 74 20 66 6f 72 20 61 6e 64 20 77 6f 72 6b 73 20 6f 6b 20 77 69 74 68 20 lly.meant.for.and.works.ok.with.
1aa0 65 73 68 65 6c 6c 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 78 74 65 72 6d 2d 63 eshell.")..(defvar-local.xterm-c
1ac0 6f 6c 6f 72 2d 72 65 6e 64 65 72 20 74 0a 20 20 22 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 72 65 6e olor-render.t..."If.non-nil,.ren
1ae0 64 65 72 20 53 47 52 20 61 74 74 72 69 62 75 74 65 73 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 64 der.SGR.attributes..Otherwise,.d
1b00 69 73 63 61 72 64 20 74 68 65 6d 2e 0a 54 68 65 20 6c 61 74 74 65 72 20 65 6e 61 62 6c 65 73 20 iscard.them..The.latter.enables.
1b20 70 72 6f 63 65 73 73 69 6e 67 20 61 6e 64 20 66 69 6c 74 65 72 69 6e 67 20 6f 75 74 20 41 4e 53 processing.and.filtering.out.ANS
1b40 49 20 63 6f 6e 74 72 6f 6c 20 73 65 71 75 65 6e 63 65 73 2c 0a 77 69 74 68 6f 75 74 20 61 70 70 I.control.sequences,.without.app
1b60 6c 79 69 6e 67 20 74 68 65 6d 20 74 6f 20 74 68 65 20 74 65 78 74 2e 22 29 0a 0a 28 64 65 66 76 lying.them.to.the.text.")..(defv
1b80 61 72 2d 6c 6f 63 61 6c 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 75 72 72 65 6e 74 2d 66 67 ar-local.xterm-color--current-fg
1ba0 20 6e 69 6c 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 .nil)..(defvar-local.xterm-color
1bc0 2d 2d 63 75 72 72 65 6e 74 2d 62 67 20 6e 69 6c 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c --current-bg.nil)..(defvar-local
1be0 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 68 61 72 2d 6c 69 73 74 20 6e 69 6c 0a 20 20 22 4c .xterm-color--char-list.nil..."L
1c00 69 73 74 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 20 74 68 65 20 63 75 72 72 65 ist.of.characters.that.the.curre
1c20 6e 74 20 41 4e 53 49 20 63 6f 6c 6f 72 20 61 70 70 6c 69 65 73 20 74 6f 2e 0a 41 6c 6c 20 63 68 nt.ANSI.color.applies.to..All.ch
1c40 61 72 61 63 74 65 72 73 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 72 65 76 65 72 73 65 2c 20 aracters.are.stored.in.reverse,.
1c60 4c 49 46 4f 2c 20 6f 72 64 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 78 74 LIFO,.order.")..(defvar-local.xt
1c80 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 43 53 49 2d 6c 69 73 74 20 6e 69 6c 0a 20 20 22 4c 69 73 74 20 erm-color--CSI-list.nil..."List.
1ca0 6f 66 20 63 75 72 72 65 6e 74 20 41 4e 53 49 20 43 53 49 20 73 65 71 75 65 6e 63 65 20 62 79 74 of.current.ANSI.CSI.sequence.byt
1cc0 65 73 20 28 63 68 61 72 61 63 74 65 72 73 29 2e 0a 41 6c 6c 20 63 68 61 72 61 63 74 65 72 73 20 es.(characters)..All.characters.
1ce0 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 72 65 76 65 72 73 65 2c 20 4c 49 46 4f 2c 20 6f 72 64 are.stored.in.reverse,.LIFO,.ord
1d00 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 er.")..(defvar-local.xterm-color
1d20 2d 2d 73 74 61 74 65 20 3a 63 68 61 72 0a 20 20 22 43 75 72 72 65 6e 74 20 73 74 61 74 65 20 6f --state.:char..."Current.state.o
1d40 66 20 41 4e 53 49 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 2e 0a 0a 43 61 6e 20 62 65 20 6f 6e f.ANSI.state.machine...Can.be.on
1d60 65 20 6f 66 20 3a 63 68 61 72 2c 20 3a 73 65 74 2d 63 68 61 72 2c 20 3a 61 6e 73 69 2d 65 73 63 e.of.:char,.:set-char,.:ansi-esc
1d80 2c 20 3a 61 6e 73 69 2d 63 73 69 2c 20 3a 61 6e 73 69 2d 6f 73 63 2c 0a 3a 61 6e 73 69 2d 6f 73 ,.:ansi-csi,.:ansi-osc,.:ansi-os
1da0 63 2d 65 73 63 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 78 74 65 72 6d 2d 63 6f c-esc.")..(defvar-local.xterm-co
1dc0 6c 6f 72 2d 2d 61 74 74 72 69 62 75 74 65 73 20 30 0a 20 20 22 42 69 74 76 65 63 74 6f 72 20 74 lor--attributes.0..."Bitvector.t
1de0 68 61 74 20 6b 65 65 70 73 20 74 72 61 63 6b 20 6f 66 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 hat.keeps.track.of.state.machine
1e00 20 61 74 74 72 69 62 75 74 65 73 2e 0a 0a 54 68 65 73 65 20 61 72 65 3a 20 62 72 69 67 68 74 2c .attributes...These.are:.bright,
1e20 20 69 74 61 6c 69 63 2c 20 75 6e 64 65 72 6c 69 6e 65 2c 20 73 74 72 69 6b 65 2d 74 68 72 6f 75 .italic,.underline,.strike-throu
1e40 67 68 2c 20 69 6e 76 65 72 73 65 2d 63 6f 6c 6f 72 2c 0a 66 72 61 6d 65 2c 20 6f 76 65 72 6c 69 gh,.inverse-color,.frame,.overli
1e60 6e 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 ne.")..(defvar-local.xterm-color
1e80 2d 2d 66 61 63 65 2d 63 61 63 68 65 20 6e 69 6c 0a 20 20 22 43 61 63 68 65 20 66 6f 72 20 61 75 --face-cache.nil..."Cache.for.au
1ea0 74 6f 2d 67 65 6e 65 72 61 74 65 64 20 66 61 63 65 20 61 74 74 72 69 62 75 74 65 73 2e 22 29 0a to-generated.face.attributes.").
1ec0 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 72 75 65 .(defvar-local.xterm-color--true
1ee0 63 6f 6c 6f 72 2d 66 61 63 65 2d 63 61 63 68 65 20 6e 69 6c 0a 20 20 22 43 61 63 68 65 20 66 6f color-face-cache.nil..."Cache.fo
1f00 72 20 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 64 20 66 61 63 65 20 61 74 74 72 69 62 75 74 65 73 r.auto-generated.face.attributes
1f20 2e 22 29 0a 0a 0a 3b 3b 3b 0a 3b 3b 3b 20 43 6f 6e 73 74 61 6e 74 73 0a 3b 3b 3b 0a 0a 0a 28 64 .")...;;;.;;;.Constants.;;;...(d
1f40 65 66 63 6f 6e 73 74 20 2b 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 61 62 6c 65 2d 32 35 36 2b efconst.+xterm-color--table-256+
1f60 20 5b 30 20 23 78 35 66 20 23 78 38 37 20 23 78 61 66 20 23 78 64 37 20 23 78 66 66 5d 29 0a 0a .[0.#x5f.#x87.#xaf.#xd7.#xff])..
1f80 0a 3b 3b 3b 0a 3b 3b 3b 20 49 6e 74 65 72 6e 61 6c 20 41 50 49 0a 3b 3b 3b 0a 0a 3b 3b 20 54 68 .;;;.;;;.Internal.API.;;;..;;.Th
1fa0 65 20 66 61 63 65 20 63 61 63 68 69 6e 67 20 73 63 68 65 6d 65 20 72 65 71 75 69 72 65 73 20 61 e.face.caching.scheme.requires.a
1fc0 6e 20 69 6e 74 65 67 65 72 20 77 69 64 74 68 20 6f 66 20 61 74 20 6c 65 61 73 74 20 35 36 20 62 n.integer.width.of.at.least.56.b
1fe0 69 74 73 0a 3b 3b 20 74 6f 20 63 61 63 68 65 20 66 61 63 65 73 20 64 65 72 69 76 65 64 20 66 72 its.;;.to.cache.faces.derived.fr
2000 6f 6d 20 74 72 75 65 63 6f 6c 6f 72 20 28 32 34 2d 62 69 74 29 20 41 4e 53 49 20 73 65 71 75 65 om.truecolor.(24-bit).ANSI.seque
2020 6e 63 65 73 2e 20 54 72 75 65 63 6f 6c 6f 72 0a 3b 3b 20 73 75 70 70 6f 72 74 20 69 73 20 74 68 nces..Truecolor.;;.support.is.th
2040 65 72 65 66 6f 72 65 20 64 69 73 61 62 6c 65 64 20 6f 6e 20 65 2e 67 2e 20 6d 61 63 68 69 6e 65 erefore.disabled.on.e.g..machine
2060 73 20 77 69 74 68 20 33 32 2d 62 69 74 20 69 6e 74 65 67 65 72 73 2e 0a 28 64 65 66 76 61 72 20 s.with.32-bit.integers..(defvar.
2080 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 73 75 70 70 6f 72 74 2d 74 72 75 65 63 6f 6c 6f 72 20 28 xterm-color--support-truecolor.(
20a0 3e 3d 20 28 31 2b 20 28 66 6c 6f 6f 72 20 28 6c 6f 67 20 6d 6f 73 74 2d 70 6f 73 69 74 69 76 65 >=.(1+.(floor.(log.most-positive
20c0 2d 66 69 78 6e 75 6d 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -fixnum.2)))....................
20e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 35 39 29 29 0a 0a 28 63 ........................59))..(c
2100 6c 2d 64 65 66 75 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 73 74 72 69 6e 67 2d 70 72 6f 70 l-defun.xterm-color--string-prop
2120 65 72 74 69 65 73 20 28 73 74 72 69 6e 67 29 0a 20 20 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 77 69 erties.(string)...(cl-loop....wi
2140 74 68 20 70 6f 73 20 3d 20 30 20 61 6e 64 20 72 65 73 75 6c 74 20 64 6f 0a 20 20 20 28 6c 65 74 th.pos.=.0.and.result.do....(let
2160 20 28 28 6e 65 78 74 2d 70 6f 73 20 28 6e 65 78 74 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 .((next-pos.(next-property-chang
2180 65 20 70 6f 73 20 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 28 69 66 20 6e 65 78 74 2d 70 6f e.pos.string)))......(if.next-po
21a0 73 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 75 s..........(progn............(pu
21c0 73 68 20 28 6c 69 73 74 20 70 6f 73 20 28 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 2d 61 74 sh.(list.pos.(text-properties-at
21e0 20 70 6f 73 20 73 74 72 69 6e 67 29 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 70 .pos.string).(substring.string.p
2200 6f 73 20 6e 65 78 74 2d 70 6f 73 29 29 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 os.next-pos)).result)...........
2220 20 28 73 65 74 71 20 70 6f 73 20 6e 65 78 74 2d 70 6f 73 29 29 0a 20 20 20 20 20 20 20 28 70 75 .(setq.pos.next-pos))........(pu
2240 73 68 20 28 6c 69 73 74 20 70 6f 73 20 28 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 2d 61 74 sh.(list.pos.(text-properties-at
2260 20 70 6f 73 20 73 74 72 69 6e 67 29 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 70 .pos.string).(substring.string.p
2280 6f 73 29 29 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 28 63 6c 2d 72 65 74 75 72 6e 2d 66 os)).result)........(cl-return-f
22a0 72 6f 6d 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 73 74 72 69 6e 67 2d 70 72 6f 70 65 72 74 69 rom.xterm-color--string-properti
22c0 65 73 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 es.(nreverse.result))))))..(defu
22e0 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 6f 6e 76 65 72 74 2d 74 65 78 74 2d 70 72 6f 70 n.xterm-color--convert-text-prop
2300 65 72 74 69 65 73 2d 74 6f 2d 6f 76 65 72 6c 61 79 73 20 28 62 65 67 20 65 6e 64 29 0a 20 20 22 erties-to-overlays.(beg.end)..."
2320 54 72 61 6e 73 66 6f 72 6d 20 66 61 63 65 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 62 Transform.face.text.properties.b
2340 65 74 77 65 65 6e 20 42 45 47 20 61 6e 64 20 45 4e 44 2c 20 74 6f 20 65 71 75 69 76 61 6c 65 6e etween.BEG.and.END,.to.equivalen
2360 74 20 6f 76 65 72 6c 61 79 73 2e 22 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 t.overlays."...(save-excursion..
2380 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 65 67 29 0a 20 20 20 20 28 6c 65 74 20 28 28 66 61 ...(goto-char.beg).....(let.((fa
23a0 63 65 2d 70 72 6f 70 20 28 69 66 20 28 6f 72 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 ce-prop.(if.(or.(get-text-proper
23c0 74 79 20 28 70 6f 69 6e 74 29 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 29 0a 20 20 20 20 ty.(point).'font-lock-face).....
23e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 78 74 2d 73 .........................(next-s
2400 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 28 70 6f 69 6e 74 29 20 27 66 ingle-property-change.(point).'f
2420 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ont-lock-face)).................
2440 20 20 20 20 20 20 20 20 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 27 66 61 63 65 29 29 .........'font-lock-face.'face))
2460 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 28 70 6f 69 6e 74 29 20 65 6e 64 29 0a 20 ).......(while.(<.(point).end)..
2480 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 70 6f 73 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 .......(let*.((pos.(point)).....
24a0 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 76 61 6c 75 65 20 28 67 65 74 2d 74 ...........(current-value.(get-t
24c0 65 78 74 2d 70 72 6f 70 65 72 74 79 20 70 6f 73 20 66 61 63 65 2d 70 72 6f 70 29 29 0a 20 20 20 ext-property.pos.face-prop))....
24e0 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 78 74 2d 63 68 61 6e 67 65 20 28 6e 65 78 74 2d 73 ............(next-change.(next-s
2500 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 70 6f 73 20 66 61 63 65 2d 70 ingle-property-change.pos.face-p
2520 72 6f 70 20 6e 69 6c 20 65 6e 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 63 rop.nil.end)))...........(when.c
2540 75 72 72 65 6e 74 2d 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 urrent-value.............(let.((
2560 6f 76 20 28 6d 61 6b 65 2d 6f 76 65 72 6c 61 79 20 70 6f 73 20 6e 65 78 74 2d 63 68 61 6e 67 65 ov.(make-overlay.pos.next-change
2580 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 75 74 20 6f )))...............(overlay-put.o
25a0 76 20 66 61 63 65 2d 70 72 6f 70 20 63 75 72 72 65 6e 74 2d 76 61 6c 75 65 29 0a 20 20 20 20 20 v.face-prop.current-value)......
25c0 20 20 20 20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 75 74 20 6f 76 20 27 78 74 65 72 6d 2d .........(overlay-put.ov.'xterm-
25e0 63 6f 6c 6f 72 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 color.t)))...........(goto-char.
2600 6e 65 78 74 2d 63 68 61 6e 67 65 29 29 29 0a 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 74 65 78 next-change))).......(remove-tex
2620 74 2d 70 72 6f 70 65 72 74 69 65 73 20 62 65 67 20 65 6e 64 20 28 6c 69 73 74 20 27 78 74 65 72 t-properties.beg.end.(list.'xter
2640 6d 2d 63 6f 6c 6f 72 20 6e 69 6c 20 66 61 63 65 2d 70 72 6f 70 20 6e 69 6c 29 29 29 29 29 0a 0a m-color.nil.face-prop.nil)))))..
2660 28 64 65 66 75 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 28 66 6f 72 (defun.xterm-color--message.(for
2680 6d 61 74 2d 73 74 72 69 6e 67 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 43 61 6c 6c 20 60 mat-string.&rest.args)..."Call.`
26a0 6d 65 73 73 61 67 65 27 20 77 69 74 68 20 46 4f 52 4d 41 54 2d 53 54 52 49 4e 47 20 61 6e 64 20 message'.with.FORMAT-STRING.and.
26c0 41 52 47 53 2e 0a 41 6c 73 6f 20 73 65 65 20 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 64 65 62 75 ARGS..Also.see.`xterm-color-debu
26e0 67 27 2e 22 0a 20 20 28 77 68 65 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 64 65 62 75 67 0a 20 g'."...(when.xterm-color-debug..
2700 20 20 20 28 6c 65 74 20 28 28 6d 65 73 73 61 67 65 2d 74 72 75 6e 63 61 74 65 2d 6c 69 6e 65 73 ...(let.((message-truncate-lines
2720 20 74 29 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 78 74 65 72 6d 2d 63 6f 6c 6f 72 .t)).......(message."xterm-color
2740 3a 20 25 73 22 20 28 61 70 70 6c 79 20 23 27 66 6f 72 6d 61 74 20 66 6f 72 6d 61 74 2d 73 74 72 :.%s".(apply.#'format.format-str
2760 69 6e 67 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 6e 69 6c 29 29 29 ing.args)).......(message.nil)))
2780 29 0a 0a 0a 3b 3b 3b 0a 3b 3b 3b 20 53 47 52 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 0a 3b 3b )...;;;.;;;.SGR.state.machine.;;
27a0 3b 0a 0a 0a 28 63 6c 2d 64 65 66 6d 61 63 72 6f 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 77 69 ;...(cl-defmacro.xterm-color--wi
27c0 74 68 2d 53 47 52 2d 63 6f 6e 73 74 61 6e 74 73 20 28 26 62 6f 64 79 20 62 6f 64 79 29 0a 20 20 th-SGR-constants.(&body.body)...
27e0 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 64 65 66 75 6e 29 29 0a 20 20 60 28 63 6c 2d (declare.(indent.defun))...`(cl-
2800 73 79 6d 62 6f 6c 2d 6d 61 63 72 6f 6c 65 74 0a 20 20 20 20 20 20 20 28 28 2b 62 72 69 67 68 74 symbol-macrolet........((+bright
2820 2b 20 20 20 20 20 20 20 20 20 20 20 31 29 0a 20 20 20 20 20 20 20 20 28 2b 69 74 61 6c 69 63 2b +...........1).........(+italic+
2840 20 20 20 20 20 20 20 20 20 20 20 32 29 0a 20 20 20 20 20 20 20 20 28 2b 75 6e 64 65 72 6c 69 6e ...........2).........(+underlin
2860 65 2b 20 20 20 20 20 20 20 20 34 29 0a 20 20 20 20 20 20 20 20 28 2b 73 74 72 69 6b 65 2d 74 68 e+........4).........(+strike-th
2880 72 6f 75 67 68 2b 20 20 20 38 29 0a 20 20 20 20 20 20 20 20 28 2b 6e 65 67 61 74 69 76 65 2b 20 rough+...8).........(+negative+.
28a0 20 20 20 20 20 20 20 31 36 29 0a 20 20 20 20 20 20 20 20 28 2b 66 72 61 6d 65 2b 20 20 20 20 20 .......16).........(+frame+.....
28c0 20 20 20 20 20 20 33 32 29 0a 20 20 20 20 20 20 20 20 28 2b 6f 76 65 72 6c 69 6e 65 2b 20 20 20 ......32).........(+overline+...
28e0 20 20 20 20 20 36 34 29 29 0a 20 20 20 20 20 2c 40 62 6f 64 79 29 29 0a 0a 28 63 6c 2d 64 65 66 .....64))......,@body))..(cl-def
2900 6d 61 63 72 6f 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 72 65 61 74 65 2d 53 47 52 2d 74 61 macro.xterm-color--create-SGR-ta
2920 62 6c 65 20 28 28 61 74 74 72 69 62 20 53 47 52 2d 6c 69 73 74 29 20 26 62 6f 64 79 20 62 6f 64 ble.((attrib.SGR-list).&body.bod
2940 79 29 0a 20 20 22 43 72 65 61 74 65 20 61 6e 20 69 74 65 72 61 74 69 6f 6e 2f 64 69 73 70 61 74 y)..."Create.an.iteration/dispat
2960 63 68 20 74 61 62 6c 65 20 62 61 73 65 64 20 6f 6e 20 70 72 6f 76 69 64 65 64 20 72 75 6c 65 73 ch.table.based.on.provided.rules
2980 20 74 68 61 74 0a 6d 61 74 63 68 20 53 47 52 20 61 74 74 72 69 62 75 74 65 73 2e 0a 46 6f 72 20 .that.match.SGR.attributes..For.
29a0 65 61 63 68 20 61 74 74 72 69 62 75 74 65 20 69 6e 20 53 47 52 2d 4c 49 53 54 2c 20 63 68 65 63 each.attribute.in.SGR-LIST,.chec
29c0 6b 20 74 6f 20 73 65 65 20 69 66 20 69 74 20 6d 61 74 63 68 65 73 20 61 20 72 75 6c 65 20 69 6e k.to.see.if.it.matches.a.rule.in
29e0 20 42 4f 44 59 20 61 6e 64 0a 65 76 61 6c 75 61 74 65 20 74 68 65 20 72 75 6c 65 20 62 6f 64 79 .BODY.and.evaluate.the.rule.body
2a00 20 69 66 20 74 68 61 74 20 69 73 20 74 68 65 20 63 61 73 65 2e 0a 0a 41 54 54 52 49 42 20 6d 75 .if.that.is.the.case...ATTRIB.mu
2a20 73 74 20 62 65 20 61 20 73 79 6d 62 6f 6c 20 74 68 61 74 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 st.be.a.symbol.that.is.bound.to.
2a40 53 47 52 2d 4c 49 53 54 20 61 74 74 72 69 62 75 74 65 73 20 69 6e 20 42 4f 44 59 2e 0a 53 47 52 SGR-LIST.attributes.in.BODY..SGR
2a60 2d 4c 49 53 54 20 6d 75 73 74 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 53 47 52 20 61 74 74 72 -LIST.must.be.a.list.of.SGR.attr
2a80 69 62 75 74 65 73 20 28 69 6e 74 65 67 65 72 73 29 20 69 6e 20 4c 49 46 4f 20 6f 72 64 65 72 2e ibutes.(integers).in.LIFO.order.
2aa0 0a 42 4f 44 59 20 6d 75 73 74 20 63 6f 6e 74 61 69 6e 20 72 75 6c 65 73 20 77 69 74 68 20 65 61 .BODY.must.contain.rules.with.ea
2ac0 63 68 20 72 75 6c 65 20 62 65 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 66 6f 72 6d 3a 0a 0a 20 ch.rule.being.a.list.of.form:...
2ae0 28 3a 6d 61 74 63 68 20 28 63 6f 6e 64 69 74 69 6f 6e 20 26 6b 65 79 20 28 73 6b 69 70 20 31 29 (:match.(condition.&key.(skip.1)
2b00 29 20 72 75 6c 65 2d 62 6f 64 79 2d 66 6f 72 6d 2e 2e 29 0a 0a 43 4f 4e 44 49 54 49 4f 4e 20 6d ).rule-body-form..)..CONDITION.m
2b20 75 73 74 20 62 65 20 61 20 4c 69 73 70 20 66 6f 72 6d 20 77 68 69 63 68 20 69 73 20 65 76 61 6c ust.be.a.Lisp.form.which.is.eval
2b40 75 61 74 65 64 20 61 73 20 70 61 72 74 20 6f 66 20 61 20 43 4f 4e 44 0a 63 6f 6e 64 69 74 69 6f uated.as.part.of.a.COND.conditio
2b60 6e 20 63 6c 61 75 73 65 2e 20 49 66 20 69 74 20 69 73 20 61 6e 20 61 74 6f 6d 2c 20 69 74 20 69 n.clause..If.it.is.an.atom,.it.i
2b80 73 20 72 65 77 72 69 74 74 65 6e 20 74 6f 20 28 65 71 20 43 4f 4e 44 49 54 49 4f 4e 20 41 54 54 s.rewritten.to.(eq.CONDITION.ATT
2ba0 52 49 42 29 2e 0a 4f 74 68 65 72 77 69 73 65 20 69 74 20 69 73 20 75 73 65 64 20 61 73 20 69 73 RIB)..Otherwise.it.is.used.as.is
2bc0 2e 20 41 73 20 70 65 72 20 43 4f 4e 44 20 73 74 61 74 65 6d 65 6e 74 2c 20 69 66 20 43 4f 4e 44 ..As.per.COND.statement,.if.COND
2be0 49 54 49 4f 4e 20 65 76 61 6c 75 61 74 65 73 0a 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 72 75 6c 65 ITION.evaluates.to.non-nil,.rule
2c00 20 62 6f 64 79 20 66 6f 72 6d 73 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 61 73 20 70 61 72 .body.forms.are.evaluated.as.par
2c20 74 20 6f 66 20 74 68 65 20 62 6f 64 79 20 6f 66 20 74 68 65 20 43 4f 4e 44 0a 63 6c 61 75 73 65 t.of.the.body.of.the.COND.clause
2c40 2e 0a 0a 53 4b 49 50 2c 20 69 66 20 67 69 76 65 6e 2c 20 6d 75 73 74 20 62 65 20 61 6e 20 69 6e ...SKIP,.if.given,.must.be.an.in
2c60 74 65 67 65 72 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 65 teger.specifying.the.number.of.e
2c80 6c 65 6d 65 6e 74 73 20 74 68 61 74 0a 73 68 6f 75 6c 64 20 62 65 20 73 6b 69 70 70 65 64 20 62 lements.that.should.be.skipped.b
2ca0 65 66 6f 72 65 20 74 68 65 20 6e 65 78 74 20 69 74 65 72 61 74 69 6f 6e 2e 20 54 68 65 20 64 65 efore.the.next.iteration..The.de
2cc0 66 61 75 6c 74 20 69 73 20 31 2c 0a 67 6f 69 6e 67 20 64 6f 77 6e 20 53 47 52 2d 4c 49 53 54 20 fault.is.1,.going.down.SGR-LIST.
2ce0 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 61 74 20 61 20 74 69 6d 65 2e 22 0a 20 20 28 64 65 63 6c 61 one.element.at.a.time."...(decla
2d00 72 65 20 28 69 6e 64 65 6e 74 20 64 65 66 75 6e 29 29 0a 20 20 60 28 78 74 65 72 6d 2d 63 6f 6c re.(indent.defun))...`(xterm-col
2d20 6f 72 2d 2d 77 69 74 68 2d 53 47 52 2d 63 6f 6e 73 74 61 6e 74 73 0a 20 20 20 20 20 28 63 6c 2d or--with-SGR-constants......(cl-
2d40 6d 61 63 72 6f 6c 65 74 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 20 66 6f 6c 6c 6f 77 69 macrolet..........;;.The.followi
2d60 6e 67 20 6d 61 63 72 6f 73 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 69 6e 20 72 75 6c 65 ng.macros.should.be.used.in.rule
2d80 20 62 6f 64 69 65 73 0a 20 20 20 20 20 20 20 20 20 28 28 73 65 74 2d 61 21 20 28 61 74 74 72 29 .bodies..........((set-a!.(attr)
2da0 20 20 20 60 28 73 65 74 71 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 61 74 74 72 69 62 75 74 65 ...`(setq.xterm-color--attribute
2dc0 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s...............................
2de0 20 20 20 20 28 6c 6f 67 69 6f 72 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 61 74 74 72 69 62 75 ....(logior.xterm-color--attribu
2e00 74 65 73 20 2c 61 74 74 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 75 6e 73 65 74 2d 61 21 tes.,attr)))...........(unset-a!
2e20 20 28 61 74 74 72 29 20 60 28 73 65 74 71 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 61 74 74 72 .(attr).`(setq.xterm-color--attr
2e40 69 62 75 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ibutes..........................
2e60 20 20 20 20 20 20 20 20 20 28 6c 6f 67 61 6e 64 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 61 74 .........(logand.xterm-color--at
2e80 74 72 69 62 75 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tributes........................
2ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 67 61 6e 64 20 23 78 66 66 20 ...................(logand.#xff.
2ec0 28 6c 6f 67 6e 6f 74 20 2c 61 74 74 72 29 29 29 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 73 (lognot.,attr)))))............(s
2ee0 65 74 2d 66 21 20 28 66 67 2d 63 6f 6c 6f 72 29 20 60 28 73 65 74 71 20 78 74 65 72 6d 2d 63 6f et-f!.(fg-color).`(setq.xterm-co
2f00 6c 6f 72 2d 2d 63 75 72 72 65 6e 74 2d 66 67 20 2c 66 67 2d 63 6f 6c 6f 72 29 29 0a 20 20 20 20 lor--current-fg.,fg-color)).....
2f20 20 20 20 20 20 20 28 73 65 74 2d 62 21 20 28 62 67 2d 63 6f 6c 6f 72 29 20 60 28 73 65 74 71 20 ......(set-b!.(bg-color).`(setq.
2f40 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 75 72 72 65 6e 74 2d 62 67 20 2c 62 67 2d 63 6f 6c 6f xterm-color--current-bg.,bg-colo
2f60 72 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 74 72 75 65 63 6f 6c 6f 72 21 20 28 r))............(set-truecolor!.(
2f80 72 20 67 20 62 20 63 75 72 72 65 6e 74 2d 63 6f 6c 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 r.g.b.current-color)............
2fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 20 73 69 6e 67 6c 65 20 69 6e 74 65 67 ...............;;.A.single.integ
2fc0 65 72 20 6d 75 73 74 20 62 65 20 61 62 6c 65 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 er.must.be.able.to..............
2fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 68 6f 6c 64 20 61 6e 64 20 64 69 73 74 69 6e 67 .............;;.hold.and.disting
3000 75 69 73 68 20 62 65 74 77 65 65 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uish.between:...................
3020 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........;;......................
3040 20 20 20 20 20 3b 3b 20 2d 20 32 34 62 69 74 20 74 72 75 65 63 6f 6c 6f 72 20 76 61 6c 75 65 73 .....;;.-.24bit.truecolor.values
3060 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 2d 20 ...........................;;.-.
3080 41 4e 53 49 20 63 6f 6c 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ANSI.colors.....................
30a0 20 20 20 20 20 20 3b 3b 20 2d 20 58 54 65 72 6d 20 32 35 36 20 63 6f 6c 6f 72 73 0a 20 20 20 20 ......;;.-.XTerm.256.colors.....
30c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 ......................;;........
30e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 20 66 6f 6c 6c 6f 77 ...................;;.The.follow
3100 69 6e 67 20 70 61 63 6b 69 6e 67 20 73 63 68 65 6d 65 20 61 63 68 69 65 76 65 73 20 74 68 61 74 ing.packing.scheme.achieves.that
3120 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 73 65 ............................`(se
3140 74 71 20 2c 63 75 72 72 65 6e 74 2d 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tq.,current-color...............
3160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 67 69 6f 72 20 28 61 73 68 20 ...................(logior.(ash.
3180 72 20 32 35 29 20 28 61 73 68 20 67 20 31 37 29 20 28 61 73 68 20 62 20 39 29 0a 20 20 20 20 20 r.25).(ash.g.17).(ash.b.9)......
31a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
31c0 20 20 20 20 23 78 31 30 30 29 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 72 65 73 65 74 21 20 ....#x100)))............(reset!.
31e0 28 29 20 20 20 20 20 20 60 28 73 65 74 71 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 75 72 72 ()......`(setq.xterm-color--curr
3200 65 6e 74 2d 66 67 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ent-fg.nil......................
3220 20 20 20 20 20 20 20 20 20 20 20 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 75 72 72 65 6e 74 ............xterm-color--current
3240 2d 62 67 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -bg.nil.........................
3260 20 20 20 20 20 20 20 20 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 61 74 74 72 69 62 75 74 65 73 .........xterm-color--attributes
3280 20 30 29 29 29 0a 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 66 6f .0)))........(cl-loop.........fo
32a0 72 20 2c 61 74 74 72 69 62 20 3d 20 28 63 6c 2d 66 69 72 73 74 20 2c 53 47 52 2d 6c 69 73 74 29 r.,attrib.=.(cl-first.,SGR-list)
32c0 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 2c 53 47 52 2d 6c 69 73 74 20 64 6f 0a 20 20 20 20 .........while.,SGR-list.do.....
32e0 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 2c 40 28 63 6c 2d 6c 6f 6f 70 0a 20 20 ....(cond..........,@(cl-loop...
3300 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 73 6b 69 70 20 3d 20 31 0a 20 20 20 20 20 20 20 20 20 ..........for.skip.=.1..........
3320 20 20 20 66 6f 72 20 28 74 61 67 20 28 63 20 2e 20 72 65 73 74 29 20 2e 20 72 75 6c 65 2d 62 6f ...for.(tag.(c...rest)...rule-bo
3340 64 79 29 20 69 6e 20 62 6f 64 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 28 6e 6f dy).in.body.............when.(no
3360 74 20 28 65 71 20 74 61 67 20 3a 6d 61 74 63 68 29 29 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 t.(eq.tag.:match)).do...........
3380 20 20 28 65 72 72 6f 72 20 22 52 75 6c 65 20 28 25 73 20 28 25 73 2e 2e 29 2e 2e 29 20 64 6f 65 ..(error."Rule.(%s.(%s..)..).doe
33a0 73 20 6e 6f 74 20 73 74 61 72 74 20 77 69 74 68 20 3a 6d 61 74 63 68 22 20 74 61 67 20 63 29 0a s.not.start.with.:match".tag.c).
33c0 20 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 72 65 73 74 20 64 6f 0a 20 20 20 20 20 20 20 ............when.rest.do........
33e0 20 20 20 20 20 28 73 65 74 71 20 73 6b 69 70 20 28 70 6c 69 73 74 2d 67 65 74 20 72 65 73 74 20 .....(setq.skip.(plist-get.rest.
3400 3a 73 6b 69 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 6e :skip)).............(when.(or.(n
3420 75 6c 6c 20 73 6b 69 70 29 20 28 63 64 64 72 20 72 65 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 ull.skip).(cddr.rest))..........
3440 20 20 20 20 20 28 65 72 72 6f 72 20 22 52 75 6c 65 20 28 25 73 20 28 25 73 2e 2e 29 2e 2e 29 20 .....(error."Rule.(%s.(%s..)..).
3460 68 61 73 20 6d 61 6c 66 6f 72 6d 65 64 20 61 72 67 75 6d 65 6e 74 73 3a 20 25 73 22 20 74 61 67 has.malformed.arguments:.%s".tag
3480 20 63 20 72 65 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 43 6f 6e 64 69 74 69 .c.rest)).............;;.Conditi
34a0 6f 6e 20 70 61 72 74 20 6f 66 20 43 4f 4e 44 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c on.part.of.COND.............coll
34c0 65 63 74 20 60 28 2c 28 69 66 20 28 61 74 6f 6d 20 63 29 20 60 28 65 71 20 2c 63 20 2c 61 74 74 ect.`(,(if.(atom.c).`(eq.,c.,att
34e0 72 69 62 29 20 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b rib).c).......................;;
3500 20 42 6f 64 79 20 6f 66 20 43 4f 4e 44 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .Body.of.COND...................
3520 20 20 20 20 2c 40 72 75 6c 65 2d 62 6f 64 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....,@rule-body.................
3540 20 20 20 20 20 20 28 73 65 74 71 20 2c 53 47 52 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 ......(setq.,SGR-list...........
3560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 69 66 20 28 3e 20 73 6b 69 70 20 31 ..................,(if.(>.skip.1
3580 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
35a0 20 20 20 60 28 6e 74 68 63 64 72 20 2c 73 6b 69 70 20 2c 53 47 52 2d 6c 69 73 74 29 0a 20 20 20 ...`(nthcdr.,skip.,SGR-list)....
35c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 63 64 ............................`(cd
35e0 72 20 2c 53 47 52 2d 6c 69 73 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 20 28 78 74 r.,SGR-list)))))..........(t.(xt
3600 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 22 4e 6f 74 20 69 6d 70 6c 65 6d 65 6e erm-color--message."Not.implemen
3620 74 65 64 20 53 47 52 20 61 74 74 72 69 62 75 74 65 20 25 73 22 20 2c 61 74 74 72 69 62 29 0a 20 ted.SGR.attribute.%s".,attrib)..
3640 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 53 47 52 2d 6c 69 73 74 20 28 63 64 72 20 ...........(setq.,SGR-list.(cdr.
3660 2c 53 47 52 2d 6c 69 73 74 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 78 74 65 ,SGR-list))))))))..(defsubst.xte
3680 72 6d 2d 63 6f 6c 6f 72 2d 2d 64 69 73 70 61 74 63 68 2d 53 47 52 20 28 53 47 52 2d 6c 69 73 74 rm-color--dispatch-SGR.(SGR-list
36a0 29 0a 20 20 22 55 70 64 61 74 65 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 20 62 61 73 65 64 20 )..."Update.state.machine.based.
36c0 6f 6e 20 53 47 52 2d 4c 49 53 54 20 28 6c 69 73 74 20 6f 66 20 53 47 52 20 61 74 74 72 69 62 75 on.SGR-LIST.(list.of.SGR.attribu
36e0 74 65 73 20 2f 69 6e 74 65 67 65 72 73 29 2e 22 0a 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d tes./integers)."...(xterm-color-
3700 2d 63 72 65 61 74 65 2d 53 47 52 2d 74 61 62 6c 65 20 28 65 6c 65 6d 20 53 47 52 2d 6c 69 73 74 -create-SGR-table.(elem.SGR-list
3720 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 30 29 20 20 28 72 65 73 65 74 21 29 29 20 20 20 20 ).....(:match.(0)..(reset!))....
3740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 52 45 53 45 ..........................;.RESE
3760 54 20 65 76 65 72 79 74 68 69 6e 67 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 28 3c 3d 20 33 30 T.everything.....(:match.((<=.30
3780 20 65 6c 65 6d 20 33 37 29 29 20 28 73 65 74 2d 66 21 20 28 2d 20 65 6c 65 6d 20 33 30 29 29 29 .elem.37)).(set-f!.(-.elem.30)))
37a0 20 20 20 20 20 3b 20 41 4e 53 49 20 46 47 20 63 6f 6c 6f 72 0a 20 20 20 20 28 3a 6d 61 74 63 68 .....;.ANSI.FG.color.....(:match
37c0 20 28 28 3c 3d 20 34 30 20 65 6c 65 6d 20 34 37 29 29 20 28 73 65 74 2d 62 21 20 28 2d 20 65 6c .((<=.40.elem.47)).(set-b!.(-.el
37e0 65 6d 20 34 30 29 29 29 20 20 20 20 20 3b 20 41 4e 53 49 20 42 47 20 63 6f 6c 6f 72 0a 20 20 20 em.40))).....;.ANSI.BG.color....
3800 20 28 3a 6d 61 74 63 68 20 28 33 39 29 20 28 73 65 74 2d 66 21 20 20 20 6e 69 6c 29 29 20 20 20 .(:match.(39).(set-f!...nil))...
3820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 52 45 53 45 54 20 46 47 20 .....................;.RESET.FG.
3840 63 6f 6c 6f 72 20 28 73 77 69 74 63 68 20 74 6f 20 64 65 66 61 75 6c 74 29 0a 20 20 20 20 28 3a color.(switch.to.default).....(:
3860 6d 61 74 63 68 20 28 34 39 29 20 28 73 65 74 2d 62 21 20 20 20 6e 69 6c 29 29 20 20 20 20 20 20 match.(49).(set-b!...nil))......
3880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 52 45 53 45 54 20 42 47 20 63 6f 6c ..................;.RESET.BG.col
38a0 6f 72 20 28 73 77 69 74 63 68 20 74 6f 20 64 65 66 61 75 6c 74 29 0a 20 20 20 20 28 3a 6d 61 74 or.(switch.to.default).....(:mat
38c0 63 68 20 28 31 29 20 20 28 73 65 74 2d 61 21 20 20 20 2b 62 72 69 67 68 74 2b 29 29 0a 20 20 20 ch.(1)..(set-a!...+bright+))....
38e0 20 28 3a 6d 61 74 63 68 20 28 32 29 20 20 28 75 6e 73 65 74 2d 61 21 20 2b 62 72 69 67 68 74 2b .(:match.(2)..(unset-a!.+bright+
3900 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 32 32 29 20 28 75 6e 73 65 74 2d 61 21 20 2b 62 )).....(:match.(22).(unset-a!.+b
3920 72 69 67 68 74 2b 29 29 0a 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 28 61 6e 64 20 28 65 71 20 right+))......(:match.((and.(eq.
3940 33 38 20 28 63 6c 2d 66 69 72 73 74 20 53 47 52 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 38.(cl-first.SGR-list)).........
3960 20 20 20 20 20 20 20 20 20 20 28 65 71 20 32 20 28 63 6c 2d 73 65 63 6f 6e 64 20 53 47 52 2d 6c ..........(eq.2.(cl-second.SGR-l
3980 69 73 74 29 29 29 20 20 20 20 20 20 20 20 20 20 3b 20 54 72 75 65 63 6f 6c 6f 72 20 28 32 34 2d ist)))..........;.Truecolor.(24-
39a0 62 69 74 29 20 46 47 20 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 6b 69 70 bit).FG.color..............:skip
39c0 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f .5).............(when.xterm-colo
39e0 72 2d 2d 73 75 70 70 6f 72 74 2d 74 72 75 65 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 r--support-truecolor............
3a00 20 20 20 28 69 66 2d 6c 65 74 20 28 28 72 20 28 63 6c 2d 74 68 69 72 64 20 53 47 52 2d 6c 69 73 ...(if-let.((r.(cl-third.SGR-lis
3a20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 20 28 63 t))........................(g.(c
3a40 6c 2d 66 6f 75 72 74 68 20 53 47 52 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 l-fourth.SGR-list)).............
3a60 20 20 20 20 20 20 20 20 20 20 20 28 62 20 28 63 6c 2d 66 69 66 74 68 20 53 47 52 2d 6c 69 73 74 ...........(b.(cl-fifth.SGR-list
3a80 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 3e )))...................(if.(or.(>
3aa0 20 72 20 32 35 35 29 20 28 3e 20 67 20 32 35 35 29 20 28 3e 20 62 20 32 35 35 29 29 0a 20 20 20 .r.255).(>.g.255).(>.b.255))....
3ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d ...................(xterm-color-
3ae0 2d 6d 65 73 73 61 67 65 20 22 53 47 52 20 33 38 3b 32 3b 25 73 3b 25 73 3b 25 73 20 65 78 63 65 -message."SGR.38;2;%s;%s;%s.exce
3b00 65 64 73 20 72 61 6e 67 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eds.range"......................
3b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 20 67 20 62 29 0a 20 20 .......................r.g.b)...
3b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 74 72 75 65 63 6f 6c 6f 72 ..................(set-truecolor
3b60 21 20 72 20 67 20 62 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 75 72 72 65 6e 74 2d 66 67 29 !.r.g.b.xterm-color--current-fg)
3b80 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d ).................(xterm-color--
3ba0 6d 65 73 73 61 67 65 20 22 53 47 52 20 33 38 3b 32 3b 25 73 3b 25 73 3b 25 73 20 65 72 72 6f 72 message."SGR.38;2;%s;%s;%s.error
3bc0 2c 20 65 78 70 65 63 74 65 64 20 33 38 3b 32 3b 52 3b 47 3b 42 22 0a 20 20 20 20 20 20 20 20 20 ,.expected.38;2;R;G;B"..........
3be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 20 67 .............................r.g
3c00 20 62 29 29 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 28 61 6e 64 20 28 65 71 20 33 38 20 .b)))).....(:match.((and.(eq.38.
3c20 28 63 6c 2d 66 69 72 73 74 20 53 47 52 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 (cl-first.SGR-list))............
3c40 20 20 20 20 20 20 20 28 65 71 20 35 20 28 63 6c 2d 73 65 63 6f 6e 64 20 53 47 52 2d 6c 69 73 74 .......(eq.5.(cl-second.SGR-list
3c60 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 6b 69 70 20 33 29 20 20 20 20 20 20 20 )))..............:skip.3).......
3c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 58 54 ............................;.XT
3ca0 45 52 4d 20 32 35 36 20 46 47 20 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 ERM.256.FG.color.............(if
3cc0 2d 6c 65 74 20 28 28 63 6f 6c 6f 72 20 28 63 6c 2d 74 68 69 72 64 20 53 47 52 2d 6c 69 73 74 29 -let.((color.(cl-third.SGR-list)
3ce0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3e 20 63 6f 6c 6f 72 20 )).................(if.(>.color.
3d00 32 35 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 255).....................(xterm-
3d20 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 22 53 47 52 20 33 38 3b 35 3b 25 73 20 65 78 63 65 color--message."SGR.38;5;%s.exce
3d40 65 64 73 20 72 61 6e 67 65 22 20 63 6f 6c 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eds.range".color)...............
3d60 20 20 20 20 28 73 65 74 2d 66 21 20 63 6f 6c 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....(set-f!.color)).............
3d80 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 22 53 47 52 20 33 38 3b ..(xterm-color--message."SGR.38;
3da0 35 3b 25 73 20 65 72 72 6f 72 2c 20 65 78 70 65 63 74 65 64 20 33 38 3b 35 3b 43 4f 4c 4f 52 22 5;%s.error,.expected.38;5;COLOR"
3dc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3de0 20 20 20 20 20 63 6f 6c 6f 72 29 29 29 0a 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 28 61 6e 64 .....color)))......(:match.((and
3e00 20 28 65 71 20 34 38 20 28 63 6c 2d 66 69 72 73 74 20 53 47 52 2d 6c 69 73 74 29 29 0a 20 20 20 .(eq.48.(cl-first.SGR-list))....
3e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 32 20 28 63 6c 2d 73 65 63 6f 6e 64 20 ...............(eq.2.(cl-second.
3e40 53 47 52 2d 6c 69 73 74 29 29 29 20 20 20 20 20 20 20 20 20 20 3b 20 54 72 75 65 63 6f 6c 6f 72 SGR-list)))..........;.Truecolor
3e60 20 28 32 34 2d 62 69 74 29 20 42 47 20 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(24-bit).BG.color..............
3e80 3a 73 6b 69 70 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 78 74 65 72 6d :skip.5).............(when.xterm
3ea0 2d 63 6f 6c 6f 72 2d 2d 73 75 70 70 6f 72 74 2d 74 72 75 65 63 6f 6c 6f 72 0a 20 20 20 20 20 20 -color--support-truecolor.......
3ec0 20 20 20 20 20 20 20 20 28 69 66 2d 6c 65 74 20 28 28 72 20 28 63 6c 2d 74 68 69 72 64 20 53 47 ........(if-let.((r.(cl-third.SG
3ee0 52 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 R-list))........................
3f00 28 67 20 28 63 6c 2d 66 6f 75 72 74 68 20 53 47 52 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 (g.(cl-fourth.SGR-list))........
3f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 20 28 63 6c 2d 66 69 66 74 68 20 53 47 52 ................(b.(cl-fifth.SGR
3f40 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 -list)))...................(if.(
3f60 6f 72 20 28 3e 20 72 20 32 35 35 29 20 28 3e 20 67 20 32 35 35 29 20 28 3e 20 62 20 32 35 35 29 or.(>.r.255).(>.g.255).(>.b.255)
3f80 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 ).......................(xterm-c
3fa0 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 22 53 47 52 20 34 38 3b 32 3b 25 73 3b 25 73 3b 25 73 olor--message."SGR.48;2;%s;%s;%s
3fc0 20 65 78 63 65 65 64 73 20 72 61 6e 67 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .exceeds.range".................
3fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 20 67 20 ............................r.g.
4000 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 74 72 75 65 b).....................(set-true
4020 63 6f 6c 6f 72 21 20 72 20 67 20 62 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 75 72 72 65 6e color!.r.g.b.xterm-color--curren
4040 74 2d 62 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f t-bg)).................(xterm-co
4060 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 22 53 47 52 20 34 38 3b 32 3b 25 73 3b 25 73 3b 25 73 20 lor--message."SGR.48;2;%s;%s;%s.
4080 65 72 72 6f 72 2c 20 65 78 70 65 63 74 65 64 20 34 38 3b 32 3b 52 3b 47 3b 42 22 0a 20 20 20 20 error,.expected.48;2;R;G;B".....
40a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
40c0 20 20 72 20 67 20 62 29 29 29 29 0a 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 28 61 6e 64 20 28 ..r.g.b))))......(:match.((and.(
40e0 65 71 20 34 38 20 28 63 6c 2d 66 69 72 73 74 20 53 47 52 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 eq.48.(cl-first.SGR-list))......
4100 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 35 20 28 63 6c 2d 73 65 63 6f 6e 64 20 53 47 .............(eq.5.(cl-second.SG
4120 52 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 6b 69 70 20 33 29 20 R-list)))..............:skip.3).
4140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4160 20 20 3b 20 58 54 45 52 4d 20 32 35 36 20 42 47 20 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 ..;.XTERM.256.BG.color..........
4180 20 20 20 28 69 66 2d 6c 65 74 20 28 28 63 6f 6c 6f 72 20 28 63 6c 2d 74 68 69 72 64 20 53 47 52 ...(if-let.((color.(cl-third.SGR
41a0 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3e 20 -list))).................(if.(>.
41c0 63 6f 6c 6f 72 20 32 35 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 color.255).....................(
41e0 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 22 53 47 52 20 34 38 3b 35 3b 25 xterm-color--message."SGR.48;5;%
4200 73 20 65 78 63 65 65 64 73 20 72 61 6e 67 65 22 20 63 6f 6c 6f 72 29 0a 20 20 20 20 20 20 20 20 s.exceeds.range".color).........
4220 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 62 21 20 63 6f 6c 6f 72 29 29 0a 20 20 20 20 20 20 ..........(set-b!.color)).......
4240 20 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 22 53 ........(xterm-color--message."S
4260 47 52 20 34 38 3b 35 3b 25 73 20 65 72 72 6f 72 2c 20 65 78 70 65 63 74 65 64 20 34 38 3b 35 3b GR.48;5;%s.error,.expected.48;5;
4280 43 4f 4c 4f 52 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 COLOR"..........................
42a0 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 29 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 ...........color))).....(:match.
42c0 28 28 3c 3d 20 39 30 20 65 6c 65 6d 20 39 37 29 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ((<=.90.elem.97))...............
42e0 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 41 49 58 54 45 52 4d 20 68 69 2d 69 6e 74 65 6e 73 69 ............;.AIXTERM.hi-intensi
4300 74 79 20 46 47 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 52 61 74 68 65 72 20 74 68 61 6e ty.FG.............;;.Rather.than
4320 20 73 65 74 74 69 6e 67 20 62 72 69 67 68 74 2c 20 77 68 69 63 68 20 77 6f 75 6c 64 20 62 65 20 .setting.bright,.which.would.be.
4340 77 72 6f 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 65 73 63 61 6c 65 20 63 6f wrong,.............;;.rescale.co
4360 6c 6f 72 20 74 6f 20 66 61 6c 6c 20 77 69 74 68 69 6e 20 38 2d 31 35 20 73 6f 20 74 68 61 74 20 lor.to.fall.within.8-15.so.that.
4380 69 74 20 67 65 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6d 61 70 70 65 64 20 74 6f it.gets.............;;.mapped.to
43a0 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 6e 61 6d 65 73 2d 62 72 69 67 68 74 20 62 79 20 78 74 65 .xterm-color-names-bright.by.xte
43c0 72 6d 2d 63 6f 6c 6f 72 2d 32 35 36 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 66 21 rm-color-256.............(set-f!
43e0 20 28 2d 20 65 6c 65 6d 20 38 32 29 29 29 0a 20 20 20 20 3b 3b 20 53 61 6d 65 20 66 6f 72 20 42 .(-.elem.82))).....;;.Same.for.B
4400 47 2c 20 72 65 73 63 61 6c 65 20 74 6f 20 38 2d 31 35 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 G,.rescale.to.8-15.....(:match.(
4420 28 3c 3d 20 31 30 30 20 65 6c 65 6d 20 31 30 37 29 29 20 28 73 65 74 2d 62 21 20 28 2d 20 65 6c (<=.100.elem.107)).(set-b!.(-.el
4440 65 6d 20 39 32 29 29 29 20 20 20 3b 20 41 49 58 54 45 52 4d 20 68 69 2d 69 6e 74 65 6e 73 69 74 em.92)))...;.AIXTERM.hi-intensit
4460 79 20 42 47 0a 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 35 31 29 20 28 73 65 74 2d 61 21 20 20 y.BG......(:match.(51).(set-a!..
4480 20 2b 66 72 61 6d 65 2b 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 35 33 29 20 28 73 65 74 .+frame+)).....(:match.(53).(set
44a0 2d 61 21 20 20 20 2b 6f 76 65 72 6c 69 6e 65 2b 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 -a!...+overline+)).....(:match.(
44c0 35 34 29 20 28 75 6e 73 65 74 2d 61 21 20 2b 66 72 61 6d 65 2b 29 29 0a 20 20 20 20 28 3a 6d 61 54).(unset-a!.+frame+)).....(:ma
44e0 74 63 68 20 28 35 35 29 20 28 75 6e 73 65 74 2d 61 21 20 2b 6f 76 65 72 6c 69 6e 65 2b 29 29 0a tch.(55).(unset-a!.+overline+)).
4500 20 20 20 20 28 3a 6d 61 74 63 68 20 28 34 29 20 20 28 73 65 74 2d 61 21 20 20 20 2b 75 6e 64 65 ....(:match.(4)..(set-a!...+unde
4520 72 6c 69 6e 65 2b 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 32 34 29 20 28 75 6e 73 65 74 rline+)).....(:match.(24).(unset
4540 2d 61 21 20 2b 75 6e 64 65 72 6c 69 6e 65 2b 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 33 -a!.+underline+)).....(:match.(3
4560 29 20 20 28 73 65 74 2d 61 21 20 20 20 2b 69 74 61 6c 69 63 2b 29 29 0a 20 20 20 20 28 3a 6d 61 )..(set-a!...+italic+)).....(:ma
4580 74 63 68 20 28 32 33 29 20 28 75 6e 73 65 74 2d 61 21 20 2b 69 74 61 6c 69 63 2b 29 29 0a 20 20 tch.(23).(unset-a!.+italic+))...
45a0 20 20 28 3a 6d 61 74 63 68 20 28 39 29 20 20 28 73 65 74 2d 61 21 20 20 20 2b 73 74 72 69 6b 65 ..(:match.(9)..(set-a!...+strike
45c0 2d 74 68 72 6f 75 67 68 2b 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 32 39 29 20 28 75 6e -through+)).....(:match.(29).(un
45e0 73 65 74 2d 61 21 20 2b 73 74 72 69 6b 65 2d 74 68 72 6f 75 67 68 2b 29 29 0a 20 20 20 20 28 3a set-a!.+strike-through+)).....(:
4600 6d 61 74 63 68 20 28 37 29 20 20 28 73 65 74 2d 61 21 20 20 20 2b 6e 65 67 61 74 69 76 65 2b 29 match.(7)..(set-a!...+negative+)
4620 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 32 37 29 20 28 75 6e 73 65 74 2d 61 21 20 2b 6e 65 ).....(:match.(27).(unset-a!.+ne
4640 67 61 74 69 76 65 2b 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 78 74 65 72 6d 2d 63 6f 6c gative+))))..(defsubst.xterm-col
4660 6f 72 2d 2d 53 47 52 2d 61 74 74 72 69 62 75 74 65 73 20 28 6c 69 73 74 29 0a 20 20 22 43 6f 6e or--SGR-attributes.(list)..."Con
4680 76 65 72 74 20 4c 49 46 4f 20 6c 69 73 74 20 6f 66 20 53 47 52 20 63 68 61 72 61 63 74 65 72 73 vert.LIFO.list.of.SGR.characters
46a0 20 74 6f 20 46 49 46 4f 20 6c 69 73 74 20 6f 66 20 53 47 52 20 61 74 74 72 69 62 75 74 65 73 20 .to.FIFO.list.of.SGR.attributes.
46c0 28 69 6e 74 65 67 65 72 73 29 2e 0a 0a 52 65 74 75 72 6e 73 20 46 49 46 4f 20 6c 69 73 74 20 6f (integers)...Returns.FIFO.list.o
46e0 66 20 53 47 52 20 61 74 74 72 69 62 75 74 65 73 20 6f 72 20 6e 69 6c 20 6f 6e 20 65 72 72 6f 72 f.SGR.attributes.or.nil.on.error
4700 73 2e 0a 0a 43 68 61 72 61 63 74 65 72 73 20 6d 75 73 74 20 62 65 20 69 6e 20 74 68 65 20 41 53 s...Characters.must.be.in.the.AS
4720 43 49 49 20 73 65 74 20 30 2d 39 20 28 64 65 63 69 6d 61 6c 20 34 38 20 74 6f 20 35 37 29 20 61 CII.set.0-9.(decimal.48.to.57).a
4740 6e 64 20 61 72 65 20 63 6f 6e 76 65 72 74 65 64 0a 74 6f 20 69 6e 74 65 67 65 72 20 64 69 67 69 nd.are.converted.to.integer.digi
4760 74 73 20 62 79 20 73 75 62 74 72 61 63 74 69 6e 67 20 34 38 20 66 72 6f 6d 20 65 61 63 68 20 63 ts.by.subtracting.48.from.each.c
4780 68 61 72 61 63 74 65 72 2e 20 45 2e 67 2e 20 43 68 61 72 61 63 74 65 72 20 34 38 0a 69 73 20 63 haracter..E.g..Character.48.is.c
47a0 6f 6e 76 65 72 74 65 64 20 74 6f 20 69 6e 74 65 67 65 72 20 64 69 67 69 74 20 30 2c 20 63 68 61 onverted.to.integer.digit.0,.cha
47c0 72 61 63 74 65 72 20 34 39 20 74 6f 20 69 6e 74 65 67 65 72 20 64 69 67 69 74 31 2e 2e 0a 43 68 racter.49.to.integer.digit1...Ch
47e0 61 72 61 63 74 65 72 20 35 39 20 28 3b 29 20 69 73 20 6e 6f 74 20 63 6f 6e 76 65 72 74 65 64 20 aracter.59.(;).is.not.converted.
4800 62 75 74 20 73 69 67 6e 69 66 69 65 73 20 74 68 61 74 20 61 6c 6c 20 61 63 63 75 6d 75 6c 61 74 but.signifies.that.all.accumulat
4820 65 64 20 69 6e 74 65 67 65 72 0a 64 69 67 69 74 73 20 73 68 6f 75 6c 64 20 62 65 20 72 65 76 65 ed.integer.digits.should.be.reve
4840 72 73 65 64 20 61 6e 64 20 63 6f 6d 62 69 6e 65 64 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 rsed.and.combined.into.a.single.
4860 69 6e 74 65 67 65 72 20 28 53 47 52 20 61 74 74 72 69 62 75 74 65 29 2e 0a 0a 45 78 61 6d 70 6c integer.(SGR.attribute)...Exampl
4880 65 73 3a 0a 0a 47 69 76 65 6e 20 28 34 38 29 20 72 65 74 75 72 6e 20 28 30 29 0a 47 69 76 65 6e es:..Given.(48).return.(0).Given
48a0 20 28 35 39 29 20 72 65 74 75 72 6e 20 28 30 20 30 29 0a 47 69 76 65 6e 20 28 34 38 20 34 39 20 .(59).return.(0.0).Given.(48.49.
48c0 35 30 29 20 72 65 74 75 72 6e 20 28 32 31 30 29 0a 47 69 76 65 6e 20 28 34 38 20 34 39 20 35 30 50).return.(210).Given.(48.49.50
48e0 20 35 39 20 35 30 20 35 30 20 35 39 20 34 38 20 34 39 29 20 72 65 74 75 72 6e 20 28 31 30 20 32 .59.50.50.59.48.49).return.(10.2
4900 32 20 32 31 30 29 22 0a 20 20 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 77 69 74 68 20 6d 75 6c 20 3d 2.210)"...(cl-loop....with.mul.=
4920 20 31 20 61 6e 64 20 6e 20 3d 20 30 20 61 6e 64 20 72 65 74 0a 20 20 20 66 6f 72 20 63 20 69 6e .1.and.n.=.0.and.ret....for.c.in
4940 20 6c 69 73 74 20 64 6f 0a 20 20 20 28 69 66 20 28 2f 3d 20 35 39 20 63 29 0a 20 20 20 20 20 20 .list.do....(if.(/=.59.c).......
4960 20 28 6c 65 74 20 28 28 65 20 28 2d 20 63 20 34 38 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 75 .(let.((e.(-.c.48)))..........(u
4980 6e 6c 65 73 73 20 28 3c 3d 20 30 20 65 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 78 74 65 nless.(<=.0.e.9)............(xte
49a0 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 22 49 6e 76 61 6c 69 64 20 53 47 52 20 61 rm-color--message."Invalid.SGR.a
49c0 74 74 72 69 62 75 74 65 20 25 73 22 20 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 72 ttribute.%s".c)............(cl-r
49e0 65 74 75 72 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6c 2d 69 6e 63 66 20 6e 20 28 2a 20 6d eturn))..........(cl-incf.n.(*.m
4a00 75 6c 20 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 75 6c 20 28 2a 20 6d 75 6c ul.e))..........(setq.mul.(*.mul
4a20 20 31 30 29 29 29 0a 20 20 20 20 20 28 70 75 73 68 20 6e 20 72 65 74 29 0a 20 20 20 20 20 28 73 .10)))......(push.n.ret)......(s
4a40 65 74 71 20 6e 20 30 20 6d 75 6c 20 31 29 29 0a 20 20 20 66 69 6e 61 6c 6c 79 20 72 65 74 75 72 etq.n.0.mul.1))....finally.retur
4a60 6e 20 28 70 75 73 68 20 6e 20 72 65 74 29 29 29 0a 0a 0a 3b 3b 3b 0a 3b 3b 3b 20 43 53 49 20 73 n.(push.n.ret)))...;;;.;;;.CSI.s
4a80 74 61 74 65 20 6d 61 63 68 69 6e 65 0a 3b 3b 3b 0a 0a 0a 28 64 65 66 73 75 62 73 74 20 78 74 65 tate.machine.;;;...(defsubst.xte
4aa0 72 6d 2d 63 6f 6c 6f 72 2d 2d 64 69 73 70 61 74 63 68 2d 43 53 49 20 28 29 0a 20 20 22 55 70 64 rm-color--dispatch-CSI.()..."Upd
4ac0 61 74 65 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 20 62 61 73 65 64 20 6f 6e 20 43 53 49 20 70 ate.state.machine.based.on.CSI.p
4ae0 61 72 61 6d 65 74 65 72 73 20 63 6f 6c 6c 65 63 74 65 64 20 73 6f 20 66 61 72 2e 0a 50 61 72 61 arameters.collected.so.far..Para
4b00 6d 65 74 65 72 73 20 61 72 65 20 74 61 6b 65 6e 20 66 72 6f 6d 20 60 78 74 65 72 6d 2d 63 6f 6c meters.are.taken.from.`xterm-col
4b20 6f 72 2d 2d 43 53 49 2d 6c 69 73 74 27 20 77 68 69 63 68 20 73 74 6f 72 65 73 20 74 68 65 6d 0a or--CSI-list'.which.stores.them.
4b40 69 6e 20 4c 49 46 4f 20 6f 72 64 65 72 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 63 73 69 20 20 20 in.LIFO.order."...(let*.((csi...
4b60 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 43 53 49 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 .xterm-color--CSI-list).........
4b80 20 28 74 65 72 6d 20 20 20 28 63 61 72 20 63 73 69 29 29 20 20 20 20 20 20 20 20 20 20 20 20 20 .(term...(car.csi)).............
4ba0 20 20 3b 20 66 69 6e 61 6c 20 70 61 72 61 6d 65 74 65 72 2c 20 74 65 72 6d 69 6e 61 74 6f 72 0a ..;.final.parameter,.terminator.
4bc0 20 20 20 20 20 20 20 20 20 28 70 61 72 61 6d 73 20 28 63 64 72 20 63 73 69 29 29 29 20 20 20 20 .........(params.(cdr.csi)))....
4be0 20 20 20 20 20 20 20 20 20 20 3b 20 72 65 73 74 20 6f 66 20 70 61 72 61 6d 65 74 65 72 73 2c 20 ..........;.rest.of.parameters,.
4c00 4c 49 46 4f 20 6f 72 64 65 72 0a 20 20 20 20 28 73 65 74 71 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 LIFO.order.....(setq.xterm-color
4c20 2d 2d 43 53 49 2d 6c 69 73 74 20 6e 69 6c 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 20 3f --CSI-list.nil).....(cond.((eq.?
4c40 6d 20 74 65 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 47 52 0a 20 20 20 20 20 20 m.term)............;;.SGR.......
4c60 20 20 20 20 20 28 6c 65 74 20 28 28 53 47 52 2d 6c 69 73 74 20 28 69 66 20 28 6e 75 6c 6c 20 70 .....(let.((SGR-list.(if.(null.p
4c80 61 72 61 6d 73 29 20 27 28 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 arams).'(0).....................
4ca0 20 20 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 53 47 52 2d 61 74 74 72 69 .........(xterm-color--SGR-attri
4cc0 62 75 74 65 73 20 70 61 72 61 6d 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 butes.params))))..............(w
4ce0 68 65 6e 20 53 47 52 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 74 65 hen.SGR-list................(xte
4d00 72 6d 2d 63 6f 6c 6f 72 2d 2d 64 69 73 70 61 74 63 68 2d 53 47 52 20 53 47 52 2d 6c 69 73 74 29 rm-color--dispatch-SGR.SGR-list)
4d20 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 78 74 65 )))...........(t............(xte
4d40 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 22 25 73 20 43 53 49 20 6e 6f 74 20 69 6d rm-color--message."%s.CSI.not.im
4d60 70 6c 65 6d 65 6e 74 65 64 22 20 63 73 69 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 78 plemented".csi)))))..(defmacro.x
4d80 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 77 69 74 68 2d 41 4e 53 49 2d 6d 61 63 72 6f 2d 68 65 6c 70 term-color--with-ANSI-macro-help
4da0 65 72 73 20 28 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 ers.(&rest.body)...(declare.(ind
4dc0 65 6e 74 20 64 65 66 75 6e 29 29 0a 20 20 60 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 77 69 74 ent.defun))...`(xterm-color--wit
4de0 68 2d 53 47 52 2d 63 6f 6e 73 74 61 6e 74 73 0a 20 20 20 20 20 28 63 6c 2d 73 79 6d 62 6f 6c 2d h-SGR-constants......(cl-symbol-
4e00 6d 61 63 72 6f 6c 65 74 20 28 28 66 67 20 20 20 20 20 20 20 20 20 20 20 78 74 65 72 6d 2d 63 6f macrolet.((fg...........xterm-co
4e20 6c 6f 72 2d 2d 63 75 72 72 65 6e 74 2d 66 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lor--current-fg)................
4e40 20 20 20 20 20 20 20 20 20 20 20 28 62 67 20 20 20 20 20 20 20 20 20 20 20 78 74 65 72 6d 2d 63 ...........(bg...........xterm-c
4e60 6f 6c 6f 72 2d 2d 63 75 72 72 65 6e 74 2d 62 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 olor--current-bg)...............
4e80 20 20 20 20 20 20 20 20 20 20 20 20 28 61 74 74 72 73 20 20 20 20 20 20 20 20 78 74 65 72 6d 2d ............(attrs........xterm-
4ea0 63 6f 6c 6f 72 2d 2d 61 74 74 72 69 62 75 74 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 color--attributes)..............
4ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 6f 6c 64 2d 62 72 69 67 68 74 20 20 78 74 65 72 6d .............(bold-bright..xterm
4ee0 2d 63 6f 6c 6f 72 2d 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 2d 62 72 69 67 68 74 29 29 0a 20 20 20 -color-use-bold-for-bright))....
4f00 20 20 20 20 28 63 6c 2d 6d 61 63 72 6f 6c 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 28 6f 75 ....(cl-macrolet............((ou
4f20 74 21 20 28 78 29 20 20 20 20 20 20 20 20 20 20 20 20 60 28 70 75 73 68 20 2c 78 20 72 65 73 75 t!.(x)............`(push.,x.resu
4f40 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 2d 63 68 61 72 21 20 28 63 29 lt)).............(push-char!.(c)
4f60 20 20 20 20 20 20 60 28 70 75 73 68 20 2c 63 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 68 61 ......`(push.,c.xterm-color--cha
4f80 72 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 2d 63 73 69 21 20 r-list)).............(push-csi!.
4fa0 28 63 29 20 20 20 20 20 20 20 60 28 70 75 73 68 20 2c 63 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d (c).......`(push.,c.xterm-color-
4fc0 2d 43 53 49 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 61 74 65 21 20 -CSI-list)).............(state!.
4fe0 28 73 29 20 20 20 20 20 20 20 20 20 20 60 28 73 65 74 71 20 73 74 61 74 65 20 2c 73 29 29 0a 20 (s)..........`(setq.state.,s))..
5000 20 20 20 20 20 20 20 20 20 20 20 28 67 72 61 70 68 69 63 73 3f 20 28 29 20 20 20 20 20 20 20 20 ...........(graphics?.()........
5020 60 28 6f 72 20 66 67 20 62 67 20 28 2f 3d 20 61 74 74 72 73 20 30 29 29 29 0a 20 20 20 20 20 20 `(or.fg.bg.(/=.attrs.0))).......
5040 20 20 20 20 20 20 28 68 61 73 3f 20 28 61 74 74 72 29 20 20 20 20 20 20 20 20 20 60 28 2f 3d 20 ......(has?.(attr).........`(/=.
5060 28 6c 6f 67 61 6e 64 20 2c 61 74 74 72 20 61 74 74 72 73 29 20 30 29 29 0a 20 20 20 20 20 20 20 (logand.,attr.attrs).0))........
5080 20 20 20 20 20 28 66 6d 74 2d 32 34 62 69 74 20 28 63 6f 6c 6f 72 29 20 20 20 60 28 66 6f 72 6d .....(fmt-24bit.(color)...`(form
50a0 61 74 20 22 23 25 30 36 78 22 20 2c 63 6f 6c 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 at."#%06x".,color)).............
50c0 28 66 6d 74 2d 32 35 36 20 28 63 6f 6c 6f 72 29 20 20 20 20 20 60 28 78 74 65 72 6d 2d 63 6f 6c (fmt-256.(color).....`(xterm-col
50e0 6f 72 2d 32 35 36 20 2c 63 6f 6c 6f 72 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 or-256.,color))..............;;.
5100 55 6e 70 61 63 6b 73 20 61 20 70 61 63 6b 65 64 20 74 72 75 65 63 6f 6c 6f 72 20 76 61 6c 75 65 Unpacks.a.packed.truecolor.value
5120 20 28 61 73 20 73 74 6f 72 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 78 .(as.stored.in.............;;.`x
5140 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 75 72 72 65 6e 74 2d 66 67 27 20 61 6e 64 20 60 78 74 65 term-color--current-fg'.and.`xte
5160 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 75 72 72 65 6e 74 2d 66 67 27 2e 0a 20 20 20 20 20 20 20 20 20 rm-color--current-fg'...........
5180 20 20 20 28 75 6e 70 61 63 6b 20 28 63 6f 6c 6f 72 29 20 20 20 20 20 20 60 28 61 73 68 20 2c 63 ...(unpack.(color)......`(ash.,c
51a0 6f 6c 6f 72 20 2d 39 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 6f 20 61 76 6f olor.-9))..............;;.To.avo
51c0 69 64 20 68 61 73 68 20 63 6f 6c 6c 69 73 69 6f 6e 73 2c 20 61 20 64 69 66 66 65 72 65 6e 74 20 id.hash.collisions,.a.different.
51e0 70 61 63 6b 69 6e 67 20 73 63 68 65 6d 65 20 69 73 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 20 packing.scheme.is.used..........
5200 20 20 20 3b 3b 20 66 6f 72 20 68 61 73 68 20 74 61 62 6c 65 20 6b 65 79 73 2e 20 49 74 20 63 61 ...;;.for.hash.table.keys..It.ca
5220 6e 20 65 6e 63 6f 64 65 20 74 77 6f 20 63 6f 6c 6f 72 73 20 28 66 6f 72 65 67 72 6f 75 6e 64 0a n.encode.two.colors.(foreground.
5240 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 6e 64 20 62 61 63 6b 67 72 6f 75 6e 64 29 20 74 ............;;.and.background).t
5260 68 61 74 20 63 61 6e 20 65 69 74 68 65 72 20 62 65 20 74 72 75 65 63 6f 6c 6f 72 20 32 34 62 69 hat.can.either.be.truecolor.24bi
5280 74 20 6f 72 20 58 54 65 72 6d 20 32 35 36 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 6f t.or.XTerm.256.............;;.co
52a0 6c 6f 72 20 38 62 69 74 2e 20 58 54 65 72 6d 20 32 35 36 20 63 6f 6c 6f 72 20 76 61 6c 75 65 73 lor.8bit..XTerm.256.color.values
52c0 20 73 75 62 73 75 6d 65 20 41 4e 53 49 20 63 6f 6c 6f 72 73 2c 20 61 0a 20 20 20 20 20 20 20 20 .subsume.ANSI.colors,.a.........
52e0 20 20 20 20 3b 3b 20 73 65 70 61 72 61 74 65 20 65 6e 63 6f 64 69 6e 67 20 73 63 68 65 6d 65 20 ....;;.separate.encoding.scheme.
5300 69 73 20 6e 6f 74 20 6e 65 65 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 is.not.needed..............;;...
5320 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 20 73 63 68 65 6d 65 20 75 73 65 64 20 61 6c 73 ..........;;.The.scheme.used.als
5340 6f 20 61 63 63 6f 75 6e 74 73 20 66 6f 72 20 74 68 65 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f o.accounts.for.the.combination.o
5360 66 20 61 20 74 72 75 65 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 69 74 f.a.truecolor.............;;.wit
5380 68 20 61 6e 20 58 54 65 72 6d 20 32 35 36 20 63 6f 6c 6f 72 20 61 73 20 70 61 72 74 20 6f 66 20 h.an.XTerm.256.color.as.part.of.
53a0 74 68 65 20 73 61 6d 65 20 68 61 73 68 65 64 20 65 6e 74 72 79 2e 20 53 69 6e 63 65 0a 20 20 20 the.same.hashed.entry..Since....
53c0 20 20 20 20 20 20 20 20 20 3b 3b 20 74 77 6f 20 64 69 66 66 65 72 65 6e 74 20 68 61 73 68 20 74 .........;;.two.different.hash.t
53e0 61 62 6c 65 73 20 61 72 65 20 75 73 65 64 20 74 6f 20 77 6f 72 6b 20 61 72 6f 75 6e 64 20 33 32 ables.are.used.to.work.around.32
5400 62 69 74 20 45 6d 61 63 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6c 69 6d 69 74 65 64 bit.Emacs.............;;.limited
5420 20 69 6e 74 65 67 65 72 20 72 61 6e 67 65 2c 20 74 77 6f 20 70 61 63 6b 69 6e 67 20 73 63 68 65 .integer.range,.two.packing.sche
5440 6d 65 73 20 61 72 65 20 6e 65 65 64 65 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 mes.are.needed:.............;;..
5460 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 48 69 67 68 3c 20 20 20 20 20 20 20 20 20 32 35 20 62 ...........;;.High<.........25.b
5480 69 74 73 20 20 20 20 20 20 20 3e 4c 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 54 its.......>Low.............;;.AT
54a0 54 52 5b 37 20 62 69 74 73 5d 42 47 5b 39 20 62 69 74 73 5d 46 47 5b 39 20 62 69 74 73 5d 20 77 TR[7.bits]BG[9.bits]FG[9.bits].w
54c0 68 65 72 65 20 42 47 20 61 6e 64 20 46 47 20 61 72 65 20 65 61 63 68 0a 20 20 20 20 20 20 20 20 here.BG.and.FG.are.each.........
54e0 20 20 20 20 3b 3b 20 65 6e 63 6f 64 65 64 20 61 73 20 74 68 65 20 38 62 69 74 20 63 6f 6c 6f 72 ....;;.encoded.as.the.8bit.color
5500 20 76 61 6c 75 65 20 73 68 69 66 74 65 64 20 6c 65 66 74 20 62 79 20 31 20 61 6e 64 20 63 6f 6d .value.shifted.left.by.1.and.com
5520 62 69 6e 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 69 74 68 20 61 20 66 6c 61 67 bined.............;;.with.a.flag
5540 20 62 69 74 20 77 68 69 63 68 20 69 73 20 73 65 74 20 77 68 65 6e 20 74 68 65 20 63 6f 6c 6f 72 .bit.which.is.set.when.the.color
5560 20 69 73 20 70 72 65 73 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 .is.present..............;;.....
5580 20 20 20 20 20 20 20 20 3b 3b 20 48 69 67 68 3c 20 20 20 20 20 20 20 20 20 35 39 20 62 69 74 73 ........;;.High<.........59.bits
55a0 20 20 20 20 20 20 20 3e 4c 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 54 54 52 5b .......>Low.............;;.ATTR[
55c0 37 20 62 69 74 73 5d 42 47 5b 32 36 20 62 69 74 73 5d 46 47 5b 32 36 20 62 69 74 73 5d 20 77 68 7.bits]BG[26.bits]FG[26.bits].wh
55e0 65 72 65 20 42 47 20 61 6e 64 20 46 47 20 61 72 65 20 65 61 63 68 0a 20 20 20 20 20 20 20 20 20 ere.BG.and.FG.are.each..........
5600 20 20 20 3b 3b 20 65 6e 63 6f 64 65 64 20 61 73 20 74 68 65 20 32 34 62 69 74 20 28 52 47 42 29 ...;;.encoded.as.the.24bit.(RGB)
5620 20 6f 72 20 38 62 69 74 20 63 6f 6c 6f 72 20 76 61 6c 75 65 20 73 68 69 66 74 65 64 20 6c 65 66 .or.8bit.color.value.shifted.lef
5640 74 20 62 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 32 20 61 6e 64 20 63 6f 6d 62 69 6e t.by.............;;.2.and.combin
5660 65 64 20 77 69 74 68 20 32 20 66 6c 61 67 20 62 69 74 73 20 74 68 61 74 20 61 72 65 20 73 65 74 ed.with.2.flag.bits.that.are.set
5680 20 77 68 65 6e 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 .when.the.value.............;;.i
56a0 73 20 32 34 62 69 74 20 28 68 69 67 68 20 62 69 74 29 20 61 6e 64 20 77 68 65 6e 20 74 68 65 20 s.24bit.(high.bit).and.when.the.
56c0 63 6f 6c 6f 72 20 69 73 20 70 72 65 73 65 6e 74 20 28 6c 6f 77 20 62 69 74 29 2e 0a 20 20 20 20 color.is.present.(low.bit)......
56e0 20 20 20 20 20 20 20 20 28 70 61 63 6b 2d 32 35 36 20 28 63 6f 6c 6f 72 29 20 20 20 20 60 28 69 ........(pack-256.(color)....`(i
5700 66 20 2c 63 6f 6c 6f 72 20 28 6c 6f 67 69 6f 72 20 28 61 73 68 20 2c 63 6f 6c 6f 72 20 31 29 20 f.,color.(logior.(ash.,color.1).
5720 31 29 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 2d 32 34 62 69 74 20 28 1).0)).............(pack-24bit.(
5740 63 6f 6c 6f 72 29 20 20 60 28 69 66 20 2c 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 color)..`(if.,color.............
5760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3e ..........................(if.(>
5780 20 2c 63 6f 6c 6f 72 20 32 35 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .,color.255)....................
57a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 67 69 6f 72 20 28 .......................(logior.(
57c0 61 73 68 20 28 75 6e 70 61 63 6b 20 2c 63 6f 6c 6f 72 29 20 32 29 20 33 29 0a 20 20 20 20 20 20 ash.(unpack.,color).2).3).......
57e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5800 20 20 28 6c 6f 67 69 6f 72 20 28 61 73 68 20 2c 63 6f 6c 6f 72 20 32 29 20 31 29 29 0a 20 20 20 ..(logior.(ash.,color.2).1))....
5820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5840 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 61 74 20 6c 65 61 73 74 20 .0)).............;;.If.at.least.
5860 6f 6e 65 20 6f 66 20 66 6f 72 65 67 72 6f 75 6e 64 20 2f 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 one.of.foreground./.background.c
5880 6f 6c 6f 72 20 69 73 20 61 20 32 34 62 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 olor.is.a.24bit.............;;.t
58a0 72 75 65 63 6f 6c 6f 72 20 76 61 6c 75 65 3a 20 53 65 63 6f 6e 64 20 70 61 63 6b 69 6e 67 20 73 ruecolor.value:.Second.packing.s
58c0 63 68 65 6d 65 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 78 74 65 72 6d cheme.with.............;;.`xterm
58e0 2d 63 6f 6c 6f 72 2d 2d 74 72 75 65 63 6f 6c 6f 72 2d 66 61 63 65 2d 63 61 63 68 65 27 20 69 73 -color--truecolor-face-cache'.is
5900 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 .used..............;;...........
5920 20 20 3b 3b 20 45 76 65 72 79 20 6f 74 68 65 72 20 63 61 73 65 2c 20 69 6e 63 6c 75 64 69 6e 67 ..;;.Every.other.case,.including
5940 20 77 68 65 6e 20 6e 6f 20 63 6f 6c 6f 72 73 20 61 72 65 20 70 72 65 73 65 6e 74 3a 0a 20 20 20 .when.no.colors.are.present:....
5960 20 20 20 20 20 20 20 20 20 3b 3b 20 46 69 72 73 74 20 70 61 63 6b 69 6e 67 20 73 63 68 65 6d 65 .........;;.First.packing.scheme
5980 20 77 69 74 68 20 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 66 61 63 65 2d 63 61 63 68 65 27 20 .with.`xterm-color--face-cache'.
59a0 69 73 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 2d 6b 65 79 2d 69 is.used..............(pack-key-i
59c0 6e 74 6f 20 28 6b 29 20 20 20 60 28 63 6f 6e 64 20 28 28 6f 72 20 28 61 6e 64 20 66 67 20 28 3e nto.(k)...`(cond.((or.(and.fg.(>
59e0 20 66 67 20 32 35 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .fg.255)).......................
5a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 62 67 20 28 .......................(and.bg.(
5a20 3e 20 62 67 20 32 35 35 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >.bg.255))).....................
5a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 74 20 6c 65 61 73 74 .....................;;.At.least
5a60 20 6f 6e 65 20 74 72 75 65 63 6f 6c 6f 72 20 32 34 62 69 74 20 76 61 6c 75 65 0a 20 20 20 20 20 .one.truecolor.24bit.value......
5a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5aa0 20 20 20 20 28 73 65 74 71 20 2c 6b 20 28 6c 6f 67 69 6f 72 20 28 61 73 68 20 61 74 74 72 73 20 ....(setq.,k.(logior.(ash.attrs.
5ac0 35 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52).............................
5ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 ..............................(a
5b00 73 68 20 28 70 61 63 6b 2d 32 34 62 69 74 20 62 67 29 20 32 36 29 0a 20 20 20 20 20 20 20 20 20 sh.(pack-24bit.bg).26)..........
5b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 2d 32 34 62 69 74 20 66 67 29 .................(pack-24bit.fg)
5b60 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))..............................
5b80 20 20 20 20 20 20 20 20 20 20 20 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 72 75 65 63 6f 6c ............xterm-color--truecol
5ba0 6f 72 2d 66 61 63 65 2d 63 61 63 68 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 or-face-cache)..................
5bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 3b 3b 20 4e 6f 20 .......................(t.;;.No.
5be0 74 72 75 65 63 6f 6c 6f 72 20 32 34 62 69 74 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 truecolor.24bit.value...........
5c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
5c20 73 65 74 71 20 2c 6b 20 28 6c 6f 67 69 6f 72 20 28 61 73 68 20 61 74 74 72 73 20 31 38 29 0a 20 setq.,k.(logior.(ash.attrs.18)..
5c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 68 20 28 70 .........................(ash.(p
5c80 61 63 6b 2d 32 35 36 20 62 67 29 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ack-256.bg).9)..................
5ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5cc0 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 2d 32 35 36 20 66 67 29 29 29 0a 20 20 20 20 20 20 20 .........(pack-256.fg)))........
5ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5d00 20 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 66 61 63 65 2d 63 61 63 68 65 29 29 29 0a 0a 20 20 ..xterm-color--face-cache)))....
5d20 20 20 20 20 20 20 20 20 20 20 28 66 61 63 65 21 20 28 6b 20 76 29 20 20 20 20 20 20 20 20 20 60 ..........(face!.(k.v).........`
5d40 28 73 65 74 71 20 70 6c 69 73 74 66 20 28 70 6c 69 73 74 2d 70 75 74 20 70 6c 69 73 74 66 20 2c (setq.plistf.(plist-put.plistf.,
5d60 6b 20 2c 76 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 63 6f 6c 6f 72 2d k.,v))).............(make-color-
5d80 66 67 20 28 29 20 20 20 20 60 28 69 66 20 28 61 6e 64 20 62 6f 6c 64 2d 62 72 69 67 68 74 0a 20 fg.()....`(if.(and.bold-bright..
5da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5dc0 20 20 20 20 20 20 20 20 20 20 28 3c 20 66 67 20 32 35 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 ..........(<.fg.256)............
5de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5e00 28 6f 72 20 28 68 61 73 3f 20 2b 62 72 69 67 68 74 2b 29 20 28 3c 3d 20 38 20 66 67 20 31 35 29 (or.(has?.+bright+).(<=.8.fg.15)
5e20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))..............................
5e40 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 28 66 61 63 65 21 20 3a 77 65 69 67 68 74 20 27 .........(progn.(face!.:weight.'
5e60 62 6f 6c 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bold)...........................
5e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 61 63 65 21 20 3a 66 6f 72 65 67 ...................(face!.:foreg
5ea0 72 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 round...........................
5ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6d 74 2d 32 ..........................(fmt-2
5ee0 35 36 20 28 69 66 20 28 3c 3d 20 38 20 66 67 29 20 28 2d 20 66 67 20 38 29 20 66 67 29 29 29 29 56.(if.(<=.8.fg).(-.fg.8).fg))))
5f00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5f20 20 20 20 20 20 28 66 61 63 65 21 20 3a 66 6f 72 65 67 72 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 .....(face!.:foreground.........
5f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5f60 20 20 20 28 69 66 20 28 3e 20 66 67 20 32 35 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(if.(>.fg.255)...............
5f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5fa0 20 28 66 6d 74 2d 32 34 62 69 74 20 28 75 6e 70 61 63 6b 20 66 67 29 29 0a 20 20 20 20 20 20 20 .(fmt-24bit.(unpack.fg))........
5fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5fe0 20 20 20 20 20 20 28 66 6d 74 2d 32 35 36 20 28 69 66 20 28 61 6e 64 20 28 3c 3d 20 66 67 20 37 ......(fmt-256.(if.(and.(<=.fg.7
6000 29 20 28 68 61 73 3f 20 2b 62 72 69 67 68 74 2b 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ).(has?.+bright+))..............
6020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6040 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 66 67 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 .............(+.fg.8)...........
6060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 67 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 ..............fg))))))..........
60a0 20 20 20 28 6d 61 6b 65 2d 63 6f 6c 6f 72 2d 62 67 20 28 29 20 20 20 20 60 28 66 61 63 65 21 20 ...(make-color-bg.()....`(face!.
60c0 3a 62 61 63 6b 67 72 6f 75 6e 64 20 28 63 6f 6e 64 20 28 28 3e 20 62 67 20 32 35 35 29 20 28 66 :background.(cond.((>.bg.255).(f
60e0 6d 74 2d 32 34 62 69 74 20 28 75 6e 70 61 63 6b 20 62 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 mt-24bit.(unpack.bg)))..........
6100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 66 6d 74 2d 32 35 36 20 62 67 ..................(t.(fmt-256.bg
6140 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 66 61 63 65 20 28 29 20 ))))).............(make-face.().
6160 20 20 20 20 20 20 20 60 28 6c 65 74 2a 20 28 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......`(let*.(k................
6180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 61 62 6c 65 ..........................(table
61a0 20 28 70 61 63 6b 2d 6b 65 79 2d 69 6e 74 6f 20 6b 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .(pack-key-into.k)))............
61c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 67 65 .........................(or.(ge
61e0 74 68 61 73 68 20 6b 20 74 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 thash.k.table)..................
6200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 70 6c 69 .......................(let.(pli
6220 73 74 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 stf)............................
6240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 68 61 73 3f 20 2b 69 74 61 6c ...............(when.(has?.+ital
6260 69 63 2b 29 20 20 20 20 20 20 20 20 20 28 66 61 63 65 21 20 3a 73 6c 61 6e 74 20 27 69 74 61 6c ic+).........(face!.:slant.'ital
6280 69 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ic))............................
62a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 68 61 73 3f 20 2b 75 6e 64 65 ...............(when.(has?.+unde
62c0 72 6c 69 6e 65 2b 29 20 20 20 20 20 20 28 66 61 63 65 21 20 3a 75 6e 64 65 72 6c 69 6e 65 20 74 rline+)......(face!.:underline.t
62e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))..............................
6300 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 68 61 73 3f 20 2b 73 74 72 69 6b 65 .............(when.(has?.+strike
6320 2d 74 68 72 6f 75 67 68 2b 29 20 28 66 61 63 65 21 20 3a 73 74 72 69 6b 65 2d 74 68 72 6f 75 67 -through+).(face!.:strike-throug
6340 68 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h.t))...........................
6360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 68 61 73 3f 20 2b 6e 65 67 ................(when.(has?.+neg
6380 61 74 69 76 65 2b 29 20 20 20 20 20 20 20 28 66 61 63 65 21 20 3a 69 6e 76 65 72 73 65 2d 76 69 ative+).......(face!.:inverse-vi
63a0 64 65 6f 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 deo.t)).........................
63c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 68 61 73 3f 20 2b 6f ..................(when.(has?.+o
63e0 76 65 72 6c 69 6e 65 2b 29 20 20 20 20 20 20 20 28 66 61 63 65 21 20 3a 6f 76 65 72 6c 69 6e 65 verline+).......(face!.:overline
6400 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .t))............................
6420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 68 61 73 3f 20 2b 66 72 61 6d ...............(when.(has?.+fram
6440 65 2b 29 20 20 20 20 20 20 20 20 20 20 28 66 61 63 65 21 20 3a 62 6f 78 20 74 29 29 0a 0a 20 20 e+)..........(face!.:box.t))....
6460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6480 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 66 67 20 28 6d 61 6b 65 2d 63 6f 6c 6f 72 2d 66 67 ........(cond.(fg.(make-color-fg
64a0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))..............................
64c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 77 68 65 6e 20 28 61 6e 64 ...................(t.(when.(and
64e0 20 62 6f 6c 64 2d 62 72 69 67 68 74 20 28 68 61 73 3f 20 2b 62 72 69 67 68 74 2b 29 29 0a 20 20 .bold-bright.(has?.+bright+))...
6500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 61 63 65 21 20 3a 77 65 69 67 68 ...................(face!.:weigh
6540 74 20 27 62 6f 6c 64 29 29 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.'bold)))).....................
6560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 62 67 20 .......................(when.bg.
6580 28 6d 61 6b 65 2d 63 6f 6c 6f 72 2d 62 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (make-color-bg))................
65a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 68 ...........................(puth
65c0 61 73 68 20 6b 20 70 6c 69 73 74 66 20 74 61 62 6c 65 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 ash.k.plistf.table))))).........
65e0 20 20 20 20 28 6d 61 79 62 65 2d 66 6f 6e 74 69 66 79 20 28 29 20 20 20 20 27 28 77 68 65 6e 20 ....(maybe-fontify.()....'(when.
6600 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 68 61 72 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 xterm-color--char-list..........
6620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 ...........................(let.
6640 28 28 73 20 28 63 6f 6e 63 61 74 20 28 6e 72 65 76 65 72 73 65 20 78 74 65 72 6d 2d 63 6f 6c 6f ((s.(concat.(nreverse.xterm-colo
6660 72 2d 2d 63 68 61 72 2d 6c 69 73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r--char-list))))................
6680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e .......................(when.(an
66a0 64 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 72 65 6e 64 65 72 20 28 67 72 61 70 68 69 63 73 3f 29 d.xterm-color-render.(graphics?)
66c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
66e0 20 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 0a 20 ..........(add-text-properties..
6700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6720 20 20 20 20 20 20 20 20 30 20 28 6c 65 6e 67 74 68 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 ........0.(length.s)............
6740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c ..............................(l
6760 69 73 74 20 27 78 74 65 72 6d 2d 63 6f 6c 6f 72 20 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ist.'xterm-color.t..............
6780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
67a0 20 20 28 69 66 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d 6f 64 65 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d ..(if.font-lock-mode.'font-lock-
67c0 66 61 63 65 20 27 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 face.'face).....................
67e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 ...........................(make
6800 2d 66 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -face)).........................
6820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .................s))............
6840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 75 74 21 ...........................(out!
6860 20 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .s))............................
6880 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 68 61 72 .........(setq.xterm-color--char
68a0 2d 6c 69 73 74 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 -list.nil))))..........,@body)))
68c0 29 0a 0a 0a 3b 3b 3b 0a 3b 3b 3b 20 45 78 70 6f 72 74 73 0a 3b 3b 3b 0a 0a 0a 3b 3b 3b 23 23 23 )...;;;.;;;.Exports.;;;...;;;###
68e0 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 66 69 6c 74 autoload.(defun.xterm-color-filt
6900 65 72 2d 73 74 72 69 70 20 28 73 74 72 69 6e 67 29 0a 20 20 22 54 72 61 6e 73 6c 61 74 65 20 41 er-strip.(string)..."Translate.A
6920 4e 53 49 20 63 6f 6c 6f 72 20 73 65 71 75 65 6e 63 65 73 20 69 6e 20 53 54 52 49 4e 47 20 69 6e NSI.color.sequences.in.STRING.in
6940 74 6f 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 2e 0a 52 65 74 75 72 6e 20 6e 65 77 20 53 to.text.properties..Return.new.S
6960 54 52 49 4e 47 20 77 69 74 68 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 61 70 70 6c 69 TRING.with.text.properties.appli
6980 65 64 2e 0a 0a 49 6e 20 6f 72 64 65 72 20 74 6f 20 67 65 74 20 6d 61 78 69 6d 75 6d 20 70 65 72 ed...In.order.to.get.maximum.per
69a0 66 6f 72 6d 61 6e 63 65 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 74 72 69 70 73 20 74 formance,.this.function.strips.t
69c0 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 0a 69 66 20 74 68 65 79 20 61 72 65 20 70 72 65 73 65 ext.properties.if.they.are.prese
69e0 6e 74 20 69 6e 20 53 54 52 49 4e 47 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 78 74 65 72 6d 2d 63 nt.in.STRING."...(unless.xterm-c
6a00 6f 6c 6f 72 2d 2d 66 61 63 65 2d 63 61 63 68 65 0a 20 20 20 20 28 73 65 74 71 20 78 74 65 72 6d olor--face-cache.....(setq.xterm
6a20 2d 63 6f 6c 6f 72 2d 2d 66 61 63 65 2d 63 61 63 68 65 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 -color--face-cache...........(ma
6a40 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 77 65 61 6b 6e 65 73 73 20 27 76 61 6c 75 65 29 29 ke-hash-table.:weakness.'value))
6a60 29 0a 20 20 28 75 6e 6c 65 73 73 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 72 75 65 63 6f 6c )...(unless.xterm-color--truecol
6a80 6f 72 2d 66 61 63 65 2d 63 61 63 68 65 0a 20 20 20 20 28 73 65 74 71 20 78 74 65 72 6d 2d 63 6f or-face-cache.....(setq.xterm-co
6aa0 6c 6f 72 2d 2d 74 72 75 65 63 6f 6c 6f 72 2d 66 61 63 65 2d 63 61 63 68 65 0a 20 20 20 20 20 20 lor--truecolor-face-cache.......
6ac0 20 20 20 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 77 65 61 6b 6e 65 73 73 20 27 ....(make-hash-table.:weakness.'
6ae0 76 61 6c 75 65 29 29 29 0a 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 77 69 74 68 2d 41 4e value)))...(xterm-color--with-AN
6b00 53 49 2d 6d 61 63 72 6f 2d 68 65 6c 70 65 72 73 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 0a 20 20 SI-macro-helpers.....(cl-loop...
6b20 20 20 20 77 69 74 68 20 73 74 61 74 65 20 3d 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 73 74 61 ...with.state.=.xterm-color--sta
6b40 74 65 20 61 6e 64 20 72 65 73 75 6c 74 0a 20 20 20 20 20 66 6f 72 20 63 68 61 72 20 61 63 72 6f te.and.result......for.char.acro
6b60 73 73 20 73 74 72 69 6e 67 20 64 6f 0a 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 28 28 ss.string.do......(cond.......((
6b80 65 71 20 73 74 61 74 65 20 3a 63 68 61 72 29 0a 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 eq.state.:char)........(cond....
6ba0 20 20 20 20 20 28 28 65 71 20 63 68 61 72 20 32 37 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....((eq.char.27)..............
6bc0 20 20 20 20 20 20 3b 20 45 53 43 0a 20 20 20 20 20 20 20 20 20 28 6d 61 79 62 65 2d 66 6f 6e 74 ......;.ESC..........(maybe-font
6be0 69 66 79 29 0a 20 20 20 20 20 20 20 20 20 28 73 74 61 74 65 21 20 3a 61 6e 73 69 2d 65 73 63 29 ify)..........(state!.:ansi-esc)
6c00 29 0a 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 28 69 66 20 28 67 72 61 70 68 ).........(t..........(if.(graph
6c20 69 63 73 3f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 2d 63 68 61 72 21 20 63 ics?)..............(push-char!.c
6c40 68 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6f 75 74 21 20 28 6c 69 73 74 20 63 68 61 72 har)............(out!.(list.char
6c60 29 29 29 29 29 29 0a 20 20 20 20 20 20 28 28 65 71 20 73 74 61 74 65 20 3a 61 6e 73 69 2d 65 73 )))))).......((eq.state.:ansi-es
6c80 63 29 0a 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 20 63 68 61 72 20 3f 5c 5b 29 0a 20 c)........(cond.((eq.char.?\[)..
6ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 61 74 65 21 20 3a 61 6e 73 69 2d 63 73 69 29 29 .............(state!.:ansi-csi))
6cc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 63 68 61 72 20 3f 5c 5d 29 0a 20 20 20 ..............((eq.char.?\])....
6ce0 20 20 20 20 20 20 20 20 20 20 20 28 73 74 61 74 65 21 20 3a 61 6e 73 69 2d 6f 73 63 29 29 0a 20 ...........(state!.:ansi-osc))..
6d00 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6f 72 20 28 65 71 20 63 68 61 72 20 3f 5c 28 29 0a 20 ............((or.(eq.char.?\()..
6d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 63 68 61 72 20 3f 5c 29 29 29 0a .................(eq.char.?\))).
6d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 61 74 65 21 20 3a 73 65 74 2d 63 68 61 72 29 ..............(state!.:set-char)
6d60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )..............(t...............
6d80 28 70 75 73 68 2d 63 68 61 72 21 20 63 68 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (push-char!.char)...............
6da0 28 73 74 61 74 65 21 20 3a 63 68 61 72 29 29 29 29 0a 20 20 20 20 20 20 28 28 65 71 20 73 74 61 (state!.:char)))).......((eq.sta
6dc0 74 65 20 3a 61 6e 73 69 2d 63 73 69 29 0a 20 20 20 20 20 20 20 28 70 75 73 68 2d 63 73 69 21 20 te.:ansi-csi)........(push-csi!.
6de0 63 68 61 72 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 3e 3d 20 63 68 61 72 char)........(when.(and.(>=.char
6e00 20 23 78 34 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 3d 20 63 68 61 .#x40)...................(<=.cha
6e20 72 20 23 78 37 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d r.#x7e))..........(xterm-color--
6e40 64 69 73 70 61 74 63 68 2d 43 53 49 29 0a 20 20 20 20 20 20 20 20 20 28 73 74 61 74 65 21 20 3a dispatch-CSI)..........(state!.:
6e60 63 68 61 72 29 29 29 0a 20 20 20 20 20 20 28 28 65 71 20 73 74 61 74 65 20 3a 61 6e 73 69 2d 6f char))).......((eq.state.:ansi-o
6e80 73 63 29 0a 20 20 20 20 20 20 20 3b 3b 20 4f 53 43 20 73 65 71 75 65 6e 63 65 73 20 61 72 65 20 sc)........;;.OSC.sequences.are.
6ea0 73 6b 69 70 70 65 64 0a 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 20 63 68 61 72 20 37 skipped........(cond.((eq.char.7
6ec0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 61 74 65 21 20 3a 63 68 61 72 29 29 0a )...............(state!.:char)).
6ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 63 68 61 72 20 32 37 29 0a 20 20 20 20 20 .............((eq.char.27)......
6f00 20 20 20 20 20 20 20 20 20 3b 3b 20 45 53 43 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 .........;;.ESC...............(s
6f20 74 61 74 65 21 20 3a 61 6e 73 69 2d 6f 73 63 2d 65 73 63 29 29 29 29 0a 20 20 20 20 20 20 28 28 tate!.:ansi-osc-esc)))).......((
6f40 65 71 20 73 74 61 74 65 20 3a 61 6e 73 69 2d 6f 73 63 2d 65 73 63 29 0a 20 20 20 20 20 20 20 28 eq.state.:ansi-osc-esc)........(
6f60 63 6f 6e 64 20 28 28 65 71 20 63 68 61 72 20 3f 5c 5c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 cond.((eq.char.?\\).............
6f80 20 20 28 73 74 61 74 65 21 20 3a 63 68 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ..(state!.:char))..............(
6fa0 74 20 28 73 74 61 74 65 21 20 3a 61 6e 73 69 2d 6f 73 63 29 29 29 29 0a 20 20 20 20 20 20 28 28 t.(state!.:ansi-osc)))).......((
6fc0 65 71 20 73 74 61 74 65 20 3a 73 65 74 2d 63 68 61 72 29 0a 20 20 20 20 20 20 20 28 78 74 65 72 eq.state.:set-char)........(xter
6fe0 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 22 25 73 20 53 45 54 2d 43 48 41 52 20 6e 6f m-color--message."%s.SET-CHAR.no
7000 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 22 20 63 68 61 72 29 0a 20 20 20 20 20 20 20 28 73 74 61 t.implemented".char)........(sta
7020 74 65 21 20 3a 63 68 61 72 29 29 29 0a 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 72 65 74 75 72 6e te!.:char)))......finally.return
7040 0a 20 20 20 20 20 28 70 72 6f 67 6e 20 28 77 68 65 6e 20 28 65 71 20 73 74 61 74 65 20 3a 63 68 ......(progn.(when.(eq.state.:ch
7060 61 72 29 20 28 6d 61 79 62 65 2d 66 6f 6e 74 69 66 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ar).(maybe-fontify))............
7080 20 28 73 65 74 71 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 73 74 61 74 65 20 73 74 61 74 65 29 .(setq.xterm-color--state.state)
70a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 27 63 6f 6e 63 61 74 20 28 6e 72 65 .............(apply.'concat.(nre
70c0 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f verse.result))))))..;;;###autolo
70e0 61 64 0a 28 64 65 66 75 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 66 69 6c 74 65 72 20 28 73 74 ad.(defun.xterm-color-filter.(st
7100 72 69 6e 67 29 0a 20 20 22 54 72 61 6e 73 6c 61 74 65 20 41 4e 53 49 20 63 6f 6c 6f 72 20 73 65 ring)..."Translate.ANSI.color.se
7120 71 75 65 6e 63 65 73 20 69 6e 20 53 54 52 49 4e 47 20 69 6e 74 6f 20 74 65 78 74 20 70 72 6f 70 quences.in.STRING.into.text.prop
7140 65 72 74 69 65 73 2e 0a 52 65 74 75 72 6e 20 6e 65 77 20 53 54 52 49 4e 47 20 77 69 74 68 20 74 erties..Return.new.STRING.with.t
7160 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 61 70 70 6c 69 65 64 2e 0a 0a 54 68 69 73 20 66 75 ext.properties.applied...This.fu
7180 6e 63 74 69 6f 6e 20 63 68 65 63 6b 73 20 69 66 20 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 70 72 nction.checks.if.`xterm-color-pr
71a0 65 73 65 72 76 65 2d 70 72 6f 70 65 72 74 69 65 73 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 0a 61 6e eserve-properties'.is.non-nil.an
71c0 64 20 6f 6e 6c 79 20 63 61 6c 6c 73 20 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 66 69 6c 74 65 72 d.only.calls.`xterm-color-filter
71e0 2d 73 74 72 69 70 27 20 6f 6e 20 73 75 62 73 74 72 69 6e 67 73 20 74 68 61 74 20 64 6f 20 6e 6f -strip'.on.substrings.that.do.no
7200 74 0a 68 61 76 65 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 61 70 70 6c 69 65 64 20 28 t.have.text.properties.applied.(
7220 70 61 73 73 69 6e 67 20 74 68 72 6f 75 67 68 20 74 68 65 20 72 65 73 74 20 75 6e 6d 6f 64 69 66 passing.through.the.rest.unmodif
7240 69 65 64 29 2e 0a 50 72 65 73 65 72 76 69 6e 67 20 70 72 6f 70 65 72 74 69 65 73 20 69 6e 20 74 ied)..Preserving.properties.in.t
7260 68 69 73 20 66 61 73 68 69 6f 6e 20 69 73 20 6e 6f 74 20 76 65 72 79 20 72 6f 62 75 73 74 20 61 his.fashion.is.not.very.robust.a
7280 73 20 74 68 65 72 65 20 6d 61 79 0a 62 65 20 73 69 74 75 61 74 69 6f 6e 73 20 77 68 65 72 65 20 s.there.may.be.situations.where.
72a0 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 61 72 65 20 61 70 70 6c 69 65 64 20 6f 6e 20 41 text.properties.are.applied.on.A
72c0 4e 53 49 20 64 61 74 61 2c 20 77 68 69 63 68 0a 77 69 6c 6c 20 64 65 73 79 6e 63 20 74 68 65 20 NSI.data,.which.will.desync.the.
72e0 73 74 61 74 65 20 6d 61 63 68 69 6e 65 2e 0a 0a 50 72 65 73 65 72 76 69 6e 67 20 70 72 6f 70 65 state.machine...Preserving.prope
7300 72 74 69 65 73 20 77 6f 72 6b 73 20 6f 6b 20 77 69 74 68 20 61 6e 64 20 69 73 20 72 65 61 6c 6c rties.works.ok.with.and.is.reall
7320 79 20 6d 65 61 6e 74 20 66 6f 72 20 65 73 68 65 6c 6c 2e 0a 0a 54 68 69 73 20 63 61 6e 20 62 65 y.meant.for.eshell...This.can.be
7340 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 60 63 6f 6d 69 6e 74 2d 70 72 65 6f 75 74 70 75 74 .inserted.into.`comint-preoutput
7360 2d 66 69 6c 74 65 72 2d 66 75 6e 63 74 69 6f 6e 73 27 2e 22 0a 20 20 28 69 66 20 28 6e 6f 74 20 -filter-functions'."...(if.(not.
7380 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 70 72 65 73 65 72 76 65 2d 70 72 6f 70 65 72 74 69 65 73 29 xterm-color-preserve-properties)
73a0 0a 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 66 69 6c 74 65 72 2d 73 74 72 69 70 .......(xterm-color-filter-strip
73c0 20 73 74 72 69 6e 67 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 20 20 77 69 74 68 20 .string).....(cl-loop......with.
73e0 72 65 73 75 6c 74 0a 20 20 20 20 20 66 6f 72 20 28 5f 20 70 72 6f 70 73 20 73 75 62 73 74 72 69 result......for.(_.props.substri
7400 6e 67 29 20 69 6e 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 73 74 72 69 6e 67 2d 70 72 6f 70 ng).in.(xterm-color--string-prop
7420 65 72 74 69 65 73 20 73 74 72 69 6e 67 29 20 64 6f 0a 20 20 20 20 20 28 70 75 73 68 20 28 69 66 erties.string).do......(push.(if
7440 20 70 72 6f 70 73 20 73 75 62 73 74 72 69 6e 67 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 66 69 .props.substring.(xterm-color-fi
7460 6c 74 65 72 2d 73 74 72 69 70 20 73 75 62 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 lter-strip.substring))..........
7480 20 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 72 65 74 75 72 6e 20 28 61 ..result)......finally.return.(a
74a0 70 70 6c 79 20 27 63 6f 6e 63 61 74 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 pply.'concat.(nreverse.result)))
74c0 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 78 74 65 72 6d 2d ))..;;;###autoload.(defun.xterm-
74e0 63 6f 6c 6f 72 2d 32 35 36 20 28 63 6f 6c 6f 72 29 0a 20 20 28 63 6f 6e 64 20 28 28 61 6e 64 20 color-256.(color)...(cond.((and.
7500 28 3e 3d 20 63 6f 6c 6f 72 20 32 33 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 3d (>=.color.232)...............(<=
7520 20 63 6f 6c 6f 72 20 32 35 35 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 47 72 61 79 73 63 61 .color.255))..........;;.Graysca
7540 6c 65 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 61 6c 20 28 2b 20 38 20 28 2a 20 28 le..........(let.((val.(+.8.(*.(
7560 2d 20 63 6f 6c 6f 72 20 32 33 32 29 20 31 30 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 -.color.232).10))))............(
7580 66 6f 72 6d 61 74 20 22 23 25 30 32 78 25 30 32 78 25 30 32 78 22 20 76 61 6c 20 76 61 6c 20 76 format."#%02x%02x%02x".val.val.v
75a0 61 6c 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 3c 3d 20 63 6f 6c 6f 72 20 37 29 0a 20 20 20 20 al))).........((<=.color.7).....
75c0 20 20 20 20 20 3b 3b 20 4e 6f 72 6d 61 6c 20 41 4e 53 49 20 63 6f 6c 6f 72 0a 20 20 20 20 20 20 .....;;.Normal.ANSI.color.......
75e0 20 20 20 28 61 72 65 66 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 6e 61 6d 65 73 20 63 6f 6c 6f 72 ...(aref.xterm-color-names.color
7600 29 29 0a 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3e 3d 20 63 6f 6c 6f 72 20 38 29 0a 20 20 )).........((and.(>=.color.8)...
7620 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 3d 20 63 6f 6c 6f 72 20 31 35 29 29 0a 20 20 20 20 20 ............(<=.color.15))......
7640 20 20 20 20 3b 3b 20 42 72 69 67 68 74 20 41 4e 53 49 20 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 ....;;.Bright.ANSI.color........
7660 20 20 28 61 72 65 66 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 6e 61 6d 65 73 2d 62 72 69 67 68 74 ..(aref.xterm-color-names-bright
7680 20 28 2d 20 63 6f 6c 6f 72 20 38 29 29 29 0a 20 20 20 20 20 20 20 20 28 74 20 28 6c 65 74 2a 20 .(-.color.8))).........(t.(let*.
76a0 28 28 63 6f 6c 6f 72 20 20 28 2d 20 63 6f 6c 6f 72 20 31 36 29 29 0a 20 20 20 20 20 20 20 20 20 ((color..(-.color.16))..........
76c0 20 20 20 20 20 20 20 20 20 28 72 65 64 20 20 20 20 28 2f 20 63 6f 6c 6f 72 20 33 36 29 29 0a 20 .........(red....(/.color.36))..
76e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6c 6f 72 20 20 28 6d 6f 64 20 63 6f .................(color..(mod.co
7700 6c 6f 72 20 33 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 72 65 65 lor.36))...................(gree
7720 6e 20 20 28 2f 20 63 6f 6c 6f 72 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n..(/.color.6)).................
7740 20 20 28 63 6f 6c 6f 72 20 20 28 6d 6f 64 20 63 6f 6c 6f 72 20 36 29 29 0a 20 20 20 20 20 20 20 ..(color..(mod.color.6))........
7760 20 20 20 20 20 20 20 20 20 20 20 28 62 6c 75 65 20 20 20 63 6f 6c 6f 72 29 29 0a 20 20 20 20 20 ...........(blue...color))......
7780 20 20 20 20 20 20 20 20 3b 3b 20 58 54 45 52 4d 20 32 35 36 20 63 6f 6c 6f 72 0a 20 20 20 20 20 ........;;.XTERM.256.color......
77a0 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 23 25 30 32 78 25 30 32 78 25 30 32 78 22 0a ........(format."#%02x%02x%02x".
77c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 2b 78 74 65 72 .....................(aref.+xter
77e0 6d 2d 63 6f 6c 6f 72 2d 2d 74 61 62 6c 65 2d 32 35 36 2b 20 72 65 64 29 0a 20 20 20 20 20 20 20 m-color--table-256+.red)........
7800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 2b 78 74 65 72 6d 2d 63 6f 6c 6f 72 ..............(aref.+xterm-color
7820 2d 2d 74 61 62 6c 65 2d 32 35 36 2b 20 67 72 65 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 --table-256+.green).............
7840 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 2b 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 61 62 .........(aref.+xterm-color--tab
7860 6c 65 2d 32 35 36 2b 20 62 6c 75 65 29 29 29 29 29 29 0a 0a 0a 3b 3b 3b 0a 3b 3b 3b 20 49 6e 74 le-256+.blue))))))...;;;.;;;.Int
7880 65 72 61 63 74 69 76 65 0a 3b 3b 3b 0a 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 63 eractive.;;;...;;;###autoload.(c
78a0 6c 2d 64 65 66 75 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 63 6f 6c 6f 72 69 7a 65 2d 62 75 66 l-defun.xterm-color-colorize-buf
78c0 66 65 72 20 28 26 6f 70 74 69 6f 6e 61 6c 20 75 73 65 2d 6f 76 65 72 6c 61 79 73 29 0a 20 20 22 fer.(&optional.use-overlays)..."
78e0 41 70 70 6c 79 20 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 66 69 6c 74 65 72 27 20 74 6f 20 63 75 Apply.`xterm-color-filter'.to.cu
7900 72 72 65 6e 74 20 62 75 66 66 65 72 2c 20 61 6e 64 20 72 65 70 6c 61 63 65 20 69 74 73 20 63 6f rrent.buffer,.and.replace.its.co
7920 6e 74 65 6e 74 73 2e 0a 43 6f 6c 6f 72 73 20 61 72 65 20 61 70 70 6c 69 65 64 20 75 73 69 6e 67 ntents..Colors.are.applied.using
7940 20 5c 5c 3d 27 66 61 63 65 2c 20 75 6e 6c 65 73 73 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d 6f 64 65 .\\='face,.unless.font-lock-mode
7960 20 69 73 20 61 63 74 69 76 65 2c 20 69 6e 0a 77 68 69 63 68 20 63 61 73 65 20 5c 5c 3d 27 66 6f .is.active,.in.which.case.\\='fo
7980 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 69 73 20 75 73 65 64 2e 20 4f 70 65 72 61 74 69 6f 6e 20 nt-lock-face.is.used..Operation.
79a0 77 69 74 68 20 66 6f 6e 74 2d 6c 6f 63 6b 20 6d 6f 64 65 20 61 63 74 69 76 65 0a 69 73 20 6e 6f with.font-lock.mode.active.is.no
79c0 74 20 72 65 63 6f 6d 6d 65 6e 64 65 64 2e 0a 0a 49 66 20 55 53 45 2d 4f 56 45 52 4c 41 59 53 20 t.recommended...If.USE-OVERLAYS.
79e0 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 63 6f 6c 6f 72 73 20 61 72 65 20 61 70 70 6c 69 65 64 20 74 is.non-nil,.colors.are.applied.t
7a00 6f 20 74 68 65 20 62 75 66 66 65 72 20 75 73 69 6e 67 20 6f 76 65 72 6c 61 79 73 0a 69 6e 73 74 o.the.buffer.using.overlays.inst
7a20 65 61 64 20 6f 66 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 2e 20 41 20 43 2d 75 20 70 72 ead.of.text.properties..A.C-u.pr
7a40 65 66 69 78 20 61 72 67 20 63 61 75 73 65 73 20 6f 76 65 72 6c 61 79 73 20 74 6f 20 62 65 20 75 efix.arg.causes.overlays.to.be.u
7a60 73 65 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 6c 65 74 sed."...(interactive."P")...(let
7a80 20 28 28 72 65 61 64 2d 6f 6e 6c 79 2d 70 20 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 29 .((read-only-p.buffer-read-only)
7aa0 29 0a 20 20 20 20 28 77 68 65 6e 20 72 65 61 64 2d 6f 6e 6c 79 2d 70 0a 20 20 20 20 20 20 28 75 ).....(when.read-only-p.......(u
7ac0 6e 6c 65 73 73 20 28 79 2d 6f 72 2d 6e 2d 70 20 22 42 75 66 66 65 72 20 69 73 20 72 65 61 64 20 nless.(y-or-n-p."Buffer.is.read.
7ae0 6f 6e 6c 79 2c 20 63 6f 6e 74 69 6e 75 65 20 63 6f 6c 6f 72 69 7a 69 6e 67 3f 20 22 29 0a 20 20 only,.continue.colorizing?.")...
7b00 20 20 20 20 20 20 28 63 6c 2d 72 65 74 75 72 6e 2d 66 72 6f 6d 20 78 74 65 72 6d 2d 63 6f 6c 6f ......(cl-return-from.xterm-colo
7b20 72 2d 63 6f 6c 6f 72 69 7a 65 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 28 72 65 61 64 2d r-colorize-buffer)).......(read-
7b40 6f 6e 6c 79 2d 6d 6f 64 65 20 2d 31 29 29 0a 20 20 20 20 28 69 6e 73 65 72 74 20 28 78 74 65 72 only-mode.-1)).....(insert.(xter
7b60 6d 2d 63 6f 6c 6f 72 2d 66 69 6c 74 65 72 20 28 64 65 6c 65 74 65 2d 61 6e 64 2d 65 78 74 72 61 m-color-filter.(delete-and-extra
7b80 63 74 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 ct-region.(point-min).(point-max
7ba0 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d )))).....(when.(and.xterm-color-
7bc0 72 65 6e 64 65 72 20 75 73 65 2d 6f 76 65 72 6c 61 79 73 29 0a 20 20 20 20 20 20 28 78 74 65 72 render.use-overlays).......(xter
7be0 6d 2d 63 6f 6c 6f 72 2d 2d 63 6f 6e 76 65 72 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 m-color--convert-text-properties
7c00 2d 74 6f 2d 6f 76 65 72 6c 61 79 73 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d -to-overlays.(point-min).(point-
7c20 6d 61 78 29 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e max))).....(goto-char.(point-min
7c40 29 29 0a 20 20 20 20 28 77 68 65 6e 20 72 65 61 64 2d 6f 6e 6c 79 2d 70 20 28 72 65 61 64 2d 6f )).....(when.read-only-p.(read-o
7c60 6e 6c 79 2d 6d 6f 64 65 20 31 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 nly-mode.1))))..;;;###autoload.(
7c80 64 65 66 75 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 63 6c 65 61 72 2d 63 61 63 68 65 20 28 29 defun.xterm-color-clear-cache.()
7ca0 0a 20 20 22 43 6c 65 61 72 20 78 74 65 72 6d 20 63 6f 6c 6f 72 20 66 61 63 65 20 61 74 74 72 69 ..."Clear.xterm.color.face.attri
7cc0 62 75 74 65 20 63 61 63 68 65 2e 0a 59 6f 75 20 6d 61 79 20 77 61 6e 74 20 74 6f 20 63 61 6c 6c bute.cache..You.may.want.to.call
7ce0 20 74 68 69 73 20 69 66 20 79 6f 75 20 63 68 61 6e 67 65 20 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 .this.if.you.change.`xterm-color
7d00 2d 6e 61 6d 65 73 27 20 6f 72 0a 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 6e 61 6d 65 73 2d 62 72 -names'.or.`xterm-color-names-br
7d20 69 67 68 74 27 20 61 74 20 72 75 6e 74 69 6d 65 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 74 6f ight'.at.runtime.and.you.want.to
7d40 20 73 65 65 20 74 68 65 20 63 68 61 6e 67 65 73 0a 74 61 6b 65 20 70 6c 61 63 65 20 69 6e 20 61 .see.the.changes.take.place.in.a
7d60 20 70 72 65 2d 65 78 69 73 74 69 6e 67 20 62 75 66 66 65 72 20 74 68 61 74 20 68 61 73 20 68 61 .pre-existing.buffer.that.has.ha
7d80 64 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 20 69 6e 69 74 69 61 6c 69 7a 65 64 2e 0a 0a 53 69 6e 63 d.xterm-color.initialized...Sinc
7da0 65 20 74 68 65 20 63 61 63 68 65 20 69 73 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 61 6e 64 20 e.the.cache.is.buffer-local.and.
7dc0 63 72 65 61 74 65 64 20 6f 6e 2d 64 65 6d 61 6e 64 20 77 68 65 6e 20 6e 65 65 64 65 64 2c 20 74 created.on-demand.when.needed,.t
7de0 68 69 73 20 68 61 73 20 6e 6f 0a 65 66 66 65 63 74 20 77 68 65 6e 20 63 61 6c 6c 65 64 20 66 72 his.has.no.effect.when.called.fr
7e00 6f 6d 20 61 20 62 75 66 66 65 72 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 61 om.a.buffer.that.does.not.have.a
7e20 20 63 61 63 68 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 61 6e 64 20 .cache."...(interactive)...(and.
7e40 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 66 61 63 65 2d 63 61 63 68 65 0a 20 20 20 20 20 20 20 28 xterm-color--face-cache........(
7e60 63 6c 72 68 61 73 68 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 66 61 63 65 2d 63 61 63 68 65 29 clrhash.xterm-color--face-cache)
7e80 0a 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 22 43 ........(xterm-color--message."C
7ea0 6c 65 61 72 65 64 20 66 61 63 65 20 61 74 74 72 69 62 75 74 65 20 63 61 63 68 65 22 29 29 0a 20 leared.face.attribute.cache"))..
7ec0 20 28 61 6e 64 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 72 75 65 63 6f 6c 6f 72 2d 66 61 63 .(and.xterm-color--truecolor-fac
7ee0 65 2d 63 61 63 68 65 0a 20 20 20 20 20 20 20 28 63 6c 72 68 61 73 68 20 78 74 65 72 6d 2d 63 6f e-cache........(clrhash.xterm-co
7f00 6c 6f 72 2d 2d 74 72 75 65 63 6f 6c 6f 72 2d 66 61 63 65 2d 63 61 63 68 65 29 0a 20 20 20 20 20 lor--truecolor-face-cache)......
7f20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 22 43 6c 65 61 72 65 64 ..(xterm-color--message."Cleared
7f40 20 74 72 75 65 63 6f 6c 6f 72 20 66 61 63 65 20 61 74 74 72 69 62 75 74 65 20 63 61 63 68 65 22 .truecolor.face.attribute.cache"
7f60 29 29 29 0a 0a 0a 3b 3b 3b 0a 3b 3b 3b 20 54 65 73 74 73 0a 3b 3b 3b 0a 0a 0a 28 64 65 66 6d 61 )))...;;;.;;;.Tests.;;;...(defma
7f80 63 72 6f 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 62 65 6e 63 68 20 28 70 61 74 68 20 26 6f 70 cro.xterm-color--bench.(path.&op
7fa0 74 69 6f 6e 61 6c 20 72 65 70 65 74 69 74 69 6f 6e 73 29 0a 20 20 60 28 62 65 6e 63 68 6d 61 72 tional.repetitions)...`(benchmar
7fc0 6b 2d 72 75 6e 2d 63 6f 6d 70 69 6c 65 64 20 2c 72 65 70 65 74 69 74 69 6f 6e 73 0a 20 20 20 20 k-run-compiled.,repetitions.....
7fe0 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 28 69 6e 73 65 72 .(with-temp-buffer........(inser
8000 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 2d 6c 69 74 65 72 61 6c 6c 79 20 2c 70 61 74 68 29 t-file-contents-literally.,path)
8020 0a 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 63 6f 6c 6f 72 69 7a 65 2d 62 75 ........(xterm-color-colorize-bu
8040 66 66 65 72 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 ffer))))..(defvar.xterm-color--t
8060 65 73 74 2d 64 6f 2d 66 69 6c 74 65 72 20 74 29 0a 0a 28 63 6c 2d 64 65 66 6d 61 63 72 6f 20 78 est-do-filter.t)..(cl-defmacro.x
8080 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 77 69 74 68 2d 74 65 73 74 73 20 28 26 62 6f 64 79 20 62 6f term-color--with-tests.(&body.bo
80a0 64 79 29 0a 20 20 60 28 63 6c 2d 6c 61 62 65 6c 73 20 28 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 dy)...`(cl-labels.((ansi-filter.
80c0 28 6d 73 67 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (msg.&rest.args)................
80e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 .............(insert............
8100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 78 74 65 72 6d 2d 63 6f 6c 6f ..................(if.xterm-colo
8120 72 2d 2d 74 65 73 74 2d 64 6f 2d 66 69 6c 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r--test-do-filter...............
8140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d ...................(xterm-color-
8160 66 69 6c 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 filter..........................
8180 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 66 6f 72 6d 61 74 20 6d 73 67 20 61 72 67 .........(apply.#'format.msg.arg
81a0 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s)).............................
81c0 20 20 20 28 61 70 70 6c 79 20 23 27 66 6f 72 6d 61 74 20 6d 73 67 20 61 72 67 73 29 29 29 29 0a ...(apply.#'format.msg.args)))).
81e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 65 73 74 20 28 6e 61 6d 65 20 26 72 65 73 74 ...............(test.(name.&rest
8200 20 61 74 74 72 69 62 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .attribs)......................(
8220 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 5c 78 31 62 5b 30 3b 25 73 6d 54 68 69 73 20 69 73 20 6f ansi-filter."\x1b[0;%smThis.is.o
8240 6e 6c 79 20 61 20 74 65 73 74 21 5c 78 31 62 5b 30 6d 5c 74 20 2d 2d 5b 20 25 73 5c 6e 22 0a 20 nly.a.test!\x1b[0m\t.--[.%s\n"..
8260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8280 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 20 61 74 74 72 69 62 73 20 22 .(mapconcat.#'identity.attribs."
82a0 3b 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ;").............................
82c0 20 20 20 20 20 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 2c 40 62 6f 64 79 29 29 0a 0a 28 64 65 ......name)))......,@body))..(de
82e0 66 75 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 65 73 74 2d 61 6e 73 69 20 28 29 0a 20 20 fun.xterm-color--test-ansi.()...
8300 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 77 69 74 68 2d 74 65 73 74 73 0a 20 20 20 28 6c 65 74 (xterm-color--with-tests....(let
8320 20 28 28 74 65 73 74 2d 61 74 74 72 69 62 75 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 27 28 28 .((test-attributes...........'((
8340 22 31 22 20 20 20 20 2e 20 22 62 72 69 67 68 74 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 "1"......"bright").............(
8360 22 35 31 22 20 20 20 2e 20 22 66 72 61 6d 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 "51"....."frame").............("
8380 33 22 20 20 20 20 2e 20 22 69 74 61 6c 69 63 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 3"......"italic").............("
83a0 34 22 20 20 20 20 2e 20 22 75 6e 64 65 72 6c 69 6e 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 4"......"underline")............
83c0 20 28 22 37 22 20 20 20 20 2e 20 22 6e 65 67 61 74 69 76 65 22 29 0a 20 20 20 20 20 20 20 20 20 .("7"......"negative")..........
83e0 20 20 20 28 22 39 22 20 20 20 20 2e 20 22 73 74 72 69 6b 65 20 74 68 72 6f 75 67 68 22 29 0a 20 ...("9"......"strike.through")..
8400 20 20 20 20 20 20 20 20 20 20 20 28 22 35 33 22 20 20 20 2e 20 22 6f 76 65 72 6c 69 6e 65 22 29 ...........("53"....."overline")
8420 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 31 3b 35 31 22 20 2e 20 22 62 72 69 67 68 74 20 2b .............("1;51"..."bright.+
8440 20 66 72 61 6d 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 31 3b 33 22 20 20 2e 20 22 .frame").............("1;3"...."
8460 62 72 69 67 68 74 20 2b 20 69 74 61 6c 69 63 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 bright.+.italic").............("
8480 31 3b 34 22 20 20 2e 20 22 62 72 69 67 68 74 20 2b 20 75 6e 64 65 72 6c 69 6e 65 22 29 0a 20 20 1;4"...."bright.+.underline")...
84a0 20 20 20 20 20 20 20 20 20 20 28 22 31 3b 37 22 20 20 2e 20 22 62 72 69 67 68 74 20 2b 20 6e 65 ..........("1;7"...."bright.+.ne
84c0 67 61 74 69 76 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 31 3b 39 22 20 20 2e 20 22 gative").............("1;9"...."
84e0 62 72 69 67 68 74 20 2b 20 73 74 72 69 6b 65 20 74 68 72 6f 75 67 68 22 29 0a 20 20 20 20 20 20 bright.+.strike.through").......
8500 20 20 20 20 20 20 28 22 31 3b 35 33 22 20 2e 20 22 62 72 69 67 68 74 20 2b 20 6f 76 65 72 6c 69 ......("1;53"..."bright.+.overli
8520 6e 65 22 29 29 29 29 0a 0a 20 20 20 20 20 3b 3b 20 41 74 74 72 69 62 75 74 65 73 20 28 6e 6f 20 ne")))).......;;.Attributes.(no.
8540 63 6f 6c 6f 72 29 0a 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 2a 20 41 4e 53 49 20 61 74 74 72 color)......(insert."*.ANSI.attr
8560 69 62 75 74 65 73 20 28 64 65 66 61 75 6c 74 20 63 6f 6c 6f 72 73 29 5c 6e 22 29 0a 0a 20 20 20 ibutes.(default.colors)\n").....
8580 20 20 28 69 66 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 2d 62 ..(if.xterm-color-use-bold-for-b
85a0 72 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 20 45 78 70 65 63 74 right..........(insert."..Expect
85c0 3a 20 42 6f 6c 64 20 69 6e 73 74 65 61 64 20 6f 66 20 62 72 69 67 68 74 22 29 0a 20 20 20 20 20 :.Bold.instead.of.bright")......
85e0 20 20 28 69 6e 73 65 72 74 20 22 20 20 45 78 70 65 63 74 3a 20 42 72 69 67 68 74 20 6e 6f 74 20 ..(insert."..Expect:.Bright.not.
8600 74 6f 20 62 65 20 72 65 6e 64 65 72 65 64 20 73 69 6e 63 65 20 6e 6f 20 66 6f 72 65 67 72 6f 75 to.be.rendered.since.no.foregrou
8620 6e 64 20 63 6f 6c 6f 72 20 69 73 20 73 65 74 22 29 29 0a 20 20 20 20 20 28 69 6e 73 65 72 74 20 nd.color.is.set"))......(insert.
8640 22 5c 6e 5c 6e 22 29 0a 0a 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 61 74 74 72 "\n\n").......(cl-loop.for.(attr
8660 69 62 20 2e 20 6e 61 6d 65 29 20 69 6e 20 74 65 73 74 2d 61 74 74 72 69 62 75 74 65 73 0a 20 20 ib...name).in.test-attributes...
8680 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 74 65 73 74 20 6e 61 6d 65 20 61 74 74 72 69 62 ............do.(test.name.attrib
86a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 28 69 6e 73 65 72 74 20 )...............finally.(insert.
86c0 22 5c 6e 22 29 29 0a 0a 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 2a 20 41 4e 53 49 20 61 74 74 "\n")).......(insert."*.ANSI.att
86e0 72 69 62 75 74 65 73 20 28 62 6c 75 65 20 66 6f 72 65 67 72 6f 75 6e 64 29 5c 6e 22 29 0a 0a 20 ributes.(blue.foreground)\n")...
8700 20 20 20 20 28 69 66 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 ....(if.xterm-color-use-bold-for
8720 2d 62 72 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 20 45 78 70 65 -bright..........(insert."..Expe
8740 63 74 3a 20 42 6f 6c 64 20 69 6e 73 74 65 61 64 20 6f 66 20 62 72 69 67 68 74 22 29 0a 20 20 20 ct:.Bold.instead.of.bright")....
8760 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 20 45 78 70 65 63 74 3a 20 42 72 69 67 68 74 20 72 65 ....(insert."..Expect:.Bright.re
8780 6e 64 65 72 65 64 20 61 73 20 62 72 69 67 68 74 20 63 6f 6c 6f 72 22 29 29 0a 20 20 20 20 20 28 ndered.as.bright.color"))......(
87a0 69 6e 73 65 72 74 20 22 5c 6e 5c 6e 22 29 0a 0a 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f insert."\n\n").......(cl-loop.fo
87c0 72 20 28 61 74 74 72 69 62 20 2e 20 6e 61 6d 65 29 20 69 6e 20 74 65 73 74 2d 61 74 74 72 69 62 r.(attrib...name).in.test-attrib
87e0 75 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 74 65 73 74 20 6e 61 6d 65 utes...............do.(test.name
8800 20 22 33 34 22 20 61 74 74 72 69 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 ."34".attrib)...............fina
8820 6c 6c 79 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 0a 0a 20 20 20 20 20 28 69 6e 73 65 72 74 lly.(insert."\n")).......(insert
8840 20 22 2a 20 41 4e 53 49 20 61 74 74 72 69 62 75 74 65 73 20 28 62 6c 75 65 20 62 61 63 6b 67 72 ."*.ANSI.attributes.(blue.backgr
8860 6f 75 6e 64 29 5c 6e 22 29 0a 0a 20 20 20 20 20 28 69 66 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d ound)\n").......(if.xterm-color-
8880 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 2d 62 72 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 28 69 6e use-bold-for-bright..........(in
88a0 73 65 72 74 20 22 20 20 45 78 70 65 63 74 3a 20 42 6f 6c 64 20 69 6e 73 74 65 61 64 20 6f 66 20 sert."..Expect:.Bold.instead.of.
88c0 62 72 69 67 68 74 22 29 0a 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 20 45 78 70 65 63 bright")........(insert."..Expec
88e0 74 3a 20 42 72 69 67 68 74 20 6e 6f 74 20 74 6f 20 62 65 20 72 65 6e 64 65 72 65 64 20 73 69 6e t:.Bright.not.to.be.rendered.sin
8900 63 65 20 6e 6f 20 66 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 69 73 20 73 65 74 22 29 29 ce.no.foreground.color.is.set"))
8920 0a 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 5c 6e 22 29 0a 0a 20 20 20 20 20 28 63 6c 2d ......(insert."\n\n").......(cl-
8940 6c 6f 6f 70 20 66 6f 72 20 28 61 74 74 72 69 62 20 2e 20 6e 61 6d 65 29 20 69 6e 20 74 65 73 74 loop.for.(attrib...name).in.test
8960 2d 61 74 74 72 69 62 75 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 74 65 -attributes...............do.(te
8980 73 74 20 6e 61 6d 65 20 22 34 34 22 20 61 74 74 72 69 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 st.name."44".attrib)............
89a0 20 20 20 66 69 6e 61 6c 6c 79 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 0a 0a 20 20 20 20 20 ...finally.(insert."\n")).......
89c0 28 69 6e 73 65 72 74 20 22 2a 20 41 4e 53 49 20 61 74 74 72 69 62 75 74 65 73 20 28 41 49 58 54 (insert."*.ANSI.attributes.(AIXT
89e0 45 52 4d 20 62 6c 75 65 20 66 6f 72 65 67 72 6f 75 6e 64 29 5c 6e 22 29 0a 0a 20 20 20 20 20 28 ERM.blue.foreground)\n").......(
8a00 69 66 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 2d 62 72 69 67 if.xterm-color-use-bold-for-brig
8a20 68 74 0a 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 20 45 78 70 65 63 74 3a 20 42 ht..........(insert."..Expect:.B
8a40 6f 6c 64 20 69 6e 73 74 65 61 64 20 6f 66 20 62 72 69 67 68 74 22 29 0a 20 20 20 20 20 20 20 28 old.instead.of.bright")........(
8a60 69 6e 73 65 72 74 20 22 20 20 45 78 70 65 63 74 3a 20 42 72 69 67 68 74 20 63 6f 6c 6f 72 20 65 insert."..Expect:.Bright.color.e
8a80 76 65 72 79 77 68 65 72 65 20 64 75 65 20 74 6f 20 41 49 58 54 45 52 4d 22 29 29 0a 20 20 20 20 verywhere.due.to.AIXTERM")).....
8aa0 20 28 69 6e 73 65 72 74 20 22 5c 6e 5c 6e 22 29 0a 0a 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 .(insert."\n\n").......(cl-loop.
8ac0 66 6f 72 20 28 61 74 74 72 69 62 20 2e 20 6e 61 6d 65 29 20 69 6e 20 74 65 73 74 2d 61 74 74 72 for.(attrib...name).in.test-attr
8ae0 69 62 75 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 74 65 73 74 20 6e 61 ibutes...............do.(test.na
8b00 6d 65 20 22 39 34 22 20 61 74 74 72 69 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 me."94".attrib)...............fi
8b20 6e 61 6c 6c 79 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 0a 0a 20 20 20 20 20 28 69 6e 73 65 nally.(insert."\n")).......(inse
8b40 72 74 20 22 2a 20 41 4e 53 49 20 61 74 74 72 69 62 75 74 65 73 20 28 41 49 58 54 45 52 4d 20 72 rt."*.ANSI.attributes.(AIXTERM.r
8b60 65 64 20 62 61 63 6b 67 72 6f 75 6e 64 29 5c 6e 22 29 0a 20 20 20 20 20 28 69 6e 73 65 72 74 20 ed.background)\n")......(insert.
8b80 22 20 20 45 78 70 65 63 74 3a 20 42 72 69 67 68 74 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c "..Expect:.Bright.background.col
8ba0 6f 72 20 64 75 65 20 74 6f 20 41 49 58 54 45 52 4d 5c 6e 22 29 0a 20 20 20 20 20 28 69 66 20 78 or.due.to.AIXTERM\n")......(if.x
8bc0 74 65 72 6d 2d 63 6f 6c 6f 72 2d 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 2d 62 72 69 67 68 74 0a 20 term-color-use-bold-for-bright..
8be0 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 20 45 78 70 65 63 74 3a 20 42 6f 6c 64 20 ........(insert."..Expect:.Bold.
8c00 69 6e 73 74 65 61 64 20 6f 66 20 62 72 69 67 68 74 20 66 6f 72 20 66 6f 72 65 67 72 6f 75 6e 64 instead.of.bright.for.foreground
8c20 5c 6e 5c 6e 22 29 0a 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 0a 0a 20 20 \n\n")........(insert."\n"))....
8c40 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 61 74 74 72 69 62 20 2e 20 6e 61 6d 65 29 20 ...(cl-loop.for.(attrib...name).
8c60 69 6e 20 74 65 73 74 2d 61 74 74 72 69 62 75 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 in.test-attributes..............
8c80 20 64 6f 20 28 74 65 73 74 20 6e 61 6d 65 20 22 31 30 31 22 20 61 74 74 72 69 62 29 0a 20 20 20 .do.(test.name."101".attrib)....
8ca0 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 ...........finally.(insert."\n")
8cc0 29 0a 0a 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 2a 20 4d 69 73 63 5c 6e 22 29 0a 20 20 20 20 ).......(insert."*.Misc\n").....
8ce0 20 28 69 66 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 2d 62 72 .(if.xterm-color-use-bold-for-br
8d00 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 ight..........(progn............
8d20 28 69 6e 73 65 72 74 20 22 20 20 45 78 70 65 63 74 3a 20 42 6f 6c 64 20 69 6e 73 74 65 61 64 20 (insert."..Expect:.Bold.instead.
8d40 6f 66 20 62 72 69 67 68 74 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 of.bright\n")............(insert
8d60 20 22 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 20 62 72 69 67 68 74 20 72 65 6e ."..........Otherwise.bright.ren
8d80 64 65 72 65 64 20 61 73 20 6e 6f 72 6d 61 6c 20 69 6e 74 65 6e 73 69 74 79 5c 6e 5c 6e 22 29 29 dered.as.normal.intensity\n\n"))
8da0 0a 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 0a 0a 20 20 20 20 20 28 69 6e ........(insert."\n")).......(in
8dc0 73 65 72 74 20 22 3b 20 52 65 73 65 74 74 69 6e 67 20 46 47 20 63 6f 6c 6f 72 20 73 68 6f 75 6c sert.";.Resetting.FG.color.shoul
8de0 64 20 6e 6f 74 20 61 66 66 65 63 74 20 6f 74 68 65 72 20 53 47 52 20 62 69 74 73 5c 6e 22 29 0a d.not.affect.other.SGR.bits\n").
8e00 20 20 20 20 20 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 44 65 66 61 75 6c 74 20 5c 78 31 62 5b .....(ansi-filter."Default.\x1b[
8e20 33 34 3b 31 6d 42 72 69 67 68 74 20 62 6c 75 65 5c 78 31 62 5b 33 39 6d 20 52 65 73 65 74 2d 66 34;1mBright.blue\x1b[39m.Reset-f
8e40 67 2d 63 6f 6c 6f 72 20 5c 78 31 62 5b 33 34 6d 42 6c 75 65 20 28 62 72 69 67 68 74 29 5c 78 31 g-color.\x1b[34mBlue.(bright)\x1
8e60 62 5b 30 6d 5c 6e 5c 6e 22 29 0a 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 3b 20 41 49 58 54 45 b[0m\n\n")......(insert.";.AIXTE
8e80 52 4d 20 62 72 69 67 68 74 20 63 6f 6c 6f 72 20 73 68 6f 75 6c 64 20 6e 6f 74 20 73 65 74 20 62 RM.bright.color.should.not.set.b
8ea0 72 69 67 68 74 20 53 47 52 20 62 69 74 5c 6e 22 29 0a 20 20 20 20 20 28 61 6e 73 69 2d 66 69 6c right.SGR.bit\n")......(ansi-fil
8ec0 74 65 72 20 22 44 65 66 61 75 6c 74 20 5c 78 31 62 5b 39 34 6d 42 72 69 67 68 74 20 62 6c 75 65 ter."Default.\x1b[94mBright.blue
8ee0 5c 78 31 62 5b 33 34 6d 20 53 77 69 74 63 68 2d 74 6f 2d 62 6c 75 65 20 28 6e 6f 72 6d 61 6c 29 \x1b[34m.Switch-to-blue.(normal)
8f00 5c 78 31 62 5b 30 6d 5c 6e 22 29 0a 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 29 \x1b[0m\n")......(insert."\n")))
8f20 29 0a 0a 28 64 65 66 75 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 65 73 74 2d 78 74 65 72 )..(defun.xterm-color--test-xter
8f40 6d 20 28 29 0a 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 77 69 74 68 2d 74 65 73 74 73 0a m.()...(xterm-color--with-tests.
8f60 20 20 20 3b 3b 20 53 79 73 74 65 6d 20 63 6f 6c 6f 72 73 0a 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 ...;;.System.colors....(cl-loop.
8f80 66 6f 72 20 63 6f 6c 6f 72 20 66 72 6f 6d 20 34 30 20 74 6f 20 34 37 0a 20 20 20 20 20 20 20 20 for.color.from.40.to.47.........
8fa0 20 20 20 20 64 6f 20 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 5c 78 31 62 5b 30 3b 25 73 6d 20 ....do.(ansi-filter."\x1b[0;%sm.
8fc0 20 22 20 63 6f 6c 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 28 61 .".color).............finally.(a
8fe0 6e 73 69 2d 66 69 6c 74 65 72 20 22 5c 78 31 62 5b 30 6d 20 2a 20 41 4e 53 49 20 73 79 73 74 65 nsi-filter."\x1b[0m.*.ANSI.syste
9000 6d 20 63 6f 6c 6f 72 73 5c 6e 22 29 29 0a 0a 20 20 20 3b 3b 20 4e 6f 72 6d 61 6c 20 41 4e 53 49 m.colors\n")).....;;.Normal.ANSI
9020 20 63 6f 6c 6f 72 73 20 6d 61 70 70 65 64 20 74 6f 20 58 54 45 52 4d 0a 20 20 20 28 63 6c 2d 6c .colors.mapped.to.XTERM....(cl-l
9040 6f 6f 70 20 66 6f 72 20 63 6f 6c 6f 72 20 66 72 6f 6d 20 30 20 74 6f 20 37 0a 20 20 20 20 20 20 oop.for.color.from.0.to.7.......
9060 20 20 20 20 20 20 64 6f 20 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 5c 78 31 62 5b 34 38 3b 35 ......do.(ansi-filter."\x1b[48;5
9080 3b 25 73 6d 20 20 22 20 63 6f 6c 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c ;%sm..".color).............final
90a0 6c 79 20 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 5c 78 31 62 5b 30 6d 20 2a 20 41 4e 53 49 20 ly.(ansi-filter."\x1b[0m.*.ANSI.
90c0 63 6f 6c 6f 72 73 20 6d 61 70 70 65 64 20 74 6f 20 58 54 45 52 4d 5c 6e 22 29 29 0a 0a 20 20 20 colors.mapped.to.XTERM\n")).....
90e0 3b 3b 20 42 72 69 67 68 74 20 41 4e 53 49 20 63 6f 6c 6f 72 73 20 6d 61 70 70 65 64 20 74 6f 20 ;;.Bright.ANSI.colors.mapped.to.
9100 58 54 45 52 4d 0a 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 63 6f 6c 6f 72 20 66 72 6f 6d XTERM....(cl-loop.for.color.from
9120 20 38 20 74 6f 20 31 35 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 61 6e 73 69 2d 66 69 .8.to.15.............do.(ansi-fi
9140 6c 74 65 72 20 22 5c 78 31 62 5b 34 38 3b 35 3b 25 73 6d 20 20 22 20 63 6f 6c 6f 72 29 0a 20 20 lter."\x1b[48;5;%sm..".color)...
9160 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 ..........finally.(ansi-filter."
9180 5c 78 31 62 5b 30 6d 20 2a 20 41 4e 53 49 20 62 72 69 67 68 74 20 63 6f 6c 6f 72 73 20 6d 61 70 \x1b[0m.*.ANSI.bright.colors.map
91a0 70 65 64 20 74 6f 20 58 54 45 52 4d 5c 6e 5c 6e 22 29 29 0a 0a 20 20 20 3b 3b 20 58 54 45 52 4d ped.to.XTERM\n\n")).....;;.XTERM
91c0 20 32 35 36 20 63 6f 6c 6f 72 20 63 75 62 65 73 0a 20 20 20 28 69 6e 73 65 72 74 20 22 2a 20 20 .256.color.cubes....(insert."*..
91e0 58 54 45 52 4d 20 32 35 36 20 63 6f 6c 6f 72 20 63 75 62 65 73 5c 6e 5c 6e 22 29 0a 0a 20 20 20 XTERM.256.color.cubes\n\n").....
9200 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 67 72 65 65 6e 20 66 72 6f 6d 20 30 20 74 6f 20 35 20 64 (cl-loop.for.green.from.0.to.5.d
9220 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 72 65 64 20 66 o.............(cl-loop.for.red.f
9240 72 6f 6d 20 30 20 74 6f 20 35 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rom.0.to.5.do...................
9260 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 62 6c 75 65 20 66 72 6f 6d 20 30 20 74 6f 20 35 ...(cl-loop.for.blue.from.0.to.5
9280 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 ...............................f
92a0 6f 72 20 63 6f 6c 6f 72 20 3d 20 28 2b 20 31 36 20 28 2a 20 33 36 20 72 65 64 29 20 28 2a 20 67 or.color.=.(+.16.(*.36.red).(*.g
92c0 72 65 65 6e 20 36 29 20 62 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 reen.6).blue)...................
92e0 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 5c 78 31 ............do.(ansi-filter."\x1
9300 62 5b 34 38 3b 35 3b 25 73 6d 20 20 5c 78 31 62 5b 30 6d 22 20 63 6f 6c 6f 72 29 29 0a 20 20 20 b[48;5;%sm..\x1b[0m".color))....
9320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 ..................(ansi-filter."
9340 5c 78 31 62 5b 30 6d 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 \x1b[0m.")).............(insert.
9360 22 5c 6e 22 29 29 0a 0a 20 20 20 3b 3b 20 54 72 75 65 63 6f 6c 6f 72 20 63 6f 6c 6f 72 20 72 61 "\n")).....;;.Truecolor.color.ra
9380 6d 70 73 0a 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 0a 20 20 20 28 69 6e 73 65 72 74 20 mps....(insert."\n")....(insert.
93a0 22 2a 20 20 54 72 75 65 63 6f 6c 6f 72 5c 6e 5c 6e 22 29 0a 20 20 20 28 63 6f 6e 64 20 28 78 74 "*..Truecolor\n\n")....(cond.(xt
93c0 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 73 75 70 70 6f 72 74 2d 74 72 75 65 63 6f 6c 6f 72 0a 20 20 20 erm-color--support-truecolor....
93e0 20 20 20 20 20 20 20 3b 3b 20 41 64 61 70 74 65 64 20 66 72 6f 6d 3a 20 68 74 74 70 73 3a 2f 2f .......;;.Adapted.from:.https://
9400 67 69 73 74 2e 67 69 74 68 75 62 2e 63 6f 6d 2f 58 56 69 6c 6b 61 2f 38 33 34 36 37 32 38 0a 20 gist.github.com/XVilka/8346728..
9420 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 20 20 20 77 69 74 .........(cl-loop............wit
9440 68 20 73 74 65 70 73 20 3d 20 37 37 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 63 20 66 72 h.steps.=.77............for.c.fr
9460 6f 6d 20 30 20 62 65 6c 6f 77 20 73 74 65 70 73 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 om.0.below.steps............for.
9480 72 20 3d 20 28 2d 20 32 35 35 20 28 2a 20 63 20 28 2f 20 32 35 35 20 73 74 65 70 73 29 29 29 0a r.=.(-.255.(*.c.(/.255.steps))).
94a0 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 67 20 3d 20 28 2a 20 63 20 28 2f 20 35 31 30 20 73 ...........for.g.=.(*.c.(/.510.s
94c0 74 65 70 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 62 20 3d 20 28 2a 20 63 20 28 teps))............for.b.=.(*.c.(
94e0 2f 20 32 35 35 20 73 74 65 70 73 29 29 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 /.255.steps)).do............(whe
9500 6e 20 28 3e 20 67 20 32 35 35 29 20 28 73 65 74 71 20 67 20 28 2d 20 35 31 30 20 67 29 29 29 0a n.(>.g.255).(setq.g.(-.510.g))).
9520 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 5c 78 31 62 5b 34 38 ...........(ansi-filter."\x1b[48
9540 3b 32 3b 25 73 3b 25 73 3b 25 73 6d 20 5c 78 31 62 5b 6d 22 20 72 20 67 20 62 29 29 29 0a 20 20 ;2;%s;%s;%sm.\x1b[m".r.g.b)))...
9560 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 54 72 75 .......(t...........(insert."Tru
9580 65 63 6f 6c 6f 72 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 6f 6e 20 45 6d 61 63 73 ecolor.is.not.supported.on.Emacs
95a0 20 33 32 62 69 74 22 29 29 29 0a 0a 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 5c 6e 22 29 0a 20 .32bit"))).....(insert."\n\n")..
95c0 20 20 28 69 6e 73 65 72 74 20 22 2a 20 20 58 54 45 52 4d 20 63 6f 6c 6f 72 20 67 72 61 79 73 63 ..(insert."*..XTERM.color.graysc
95e0 61 6c 65 20 72 61 6d 70 5c 6e 5c 6e 22 29 0a 0a 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 ale.ramp\n\n").....(cl-loop.for.
9600 63 6f 6c 6f 72 20 66 72 6f 6d 20 32 33 32 20 74 6f 20 32 35 35 0a 20 20 20 20 20 20 20 20 20 20 color.from.232.to.255...........
9620 20 20 64 6f 20 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 5c 78 31 62 5b 34 38 3b 35 3b 25 73 6d ..do.(ansi-filter."\x1b[48;5;%sm
9640 20 20 22 20 63 6f 6c 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 28 ..".color).............finally.(
9660 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 5c 78 31 62 5b 30 6d 5c 6e 5c 6e 22 29 29 29 29 0a 0a 3b ansi-filter."\x1b[0m\n\n"))))..;
9680 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 ;;###autoload.(defun.xterm-color
96a0 2d 74 65 73 74 20 28 29 0a 20 20 22 43 72 65 61 74 65 2c 20 64 69 73 70 6c 61 79 20 61 6e 64 20 -test.()..."Create,.display.and.
96c0 72 65 6e 64 65 72 20 61 20 6e 65 77 20 62 75 66 66 65 72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 41 render.a.new.buffer.containing.A
96e0 4e 53 49 20 63 6f 6e 74 72 6f 6c 20 73 65 71 75 65 6e 63 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 NSI.control.sequences."...(inter
9700 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 6e 61 6d 65 20 28 67 65 6e 65 72 61 74 65 active)...(let*.((name.(generate
9720 2d 6e 65 77 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 22 2a 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 74 -new-buffer-name."*xterm-color-t
9740 65 73 74 2a 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 62 75 66 20 28 67 65 74 2d 62 75 66 66 65 est*"))..........(buf.(get-buffe
9760 72 2d 63 72 65 61 74 65 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d r-create.name))).....(switch-to-
9780 62 75 66 66 65 72 20 62 75 66 29 29 0a 0a 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 65 buffer.buf))....(xterm-color--te
97a0 73 74 2d 78 74 65 72 6d 29 0a 0a 20 20 28 6c 65 74 20 28 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d st-xterm)....(let.((xterm-color-
97c0 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 2d 62 72 69 67 68 74 20 6e 69 6c 29 29 0a 20 20 20 20 28 78 use-bold-for-bright.nil)).....(x
97e0 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 65 73 74 2d 61 6e 73 69 29 29 0a 20 20 28 78 74 65 72 6d term-color--test-ansi))...(xterm
9800 2d 63 6f 6c 6f 72 2d 63 6c 65 61 72 2d 63 61 63 68 65 29 0a 0a 20 20 28 69 6e 73 65 72 74 20 22 -color-clear-cache)....(insert."
9820 3b 20 54 65 6d 70 6f 72 61 72 69 6c 79 20 73 65 74 74 69 6e 67 20 60 78 74 65 72 6d 2d 63 6f 6c ;.Temporarily.setting.`xterm-col
9840 6f 72 2d 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 2d 62 72 69 67 68 74 27 20 74 6f 20 54 5c 6e 22 29 or-use-bold-for-bright'.to.T\n")
9860 0a 20 20 28 69 6e 73 65 72 74 20 22 3b 20 43 75 72 72 65 6e 74 20 66 6f 6e 74 20 6e 65 65 64 73 ...(insert.";.Current.font.needs
9880 20 74 6f 20 68 61 76 65 20 61 20 62 6f 6c 64 20 76 61 72 69 61 6e 74 20 66 6f 72 20 66 6f 6c 6c .to.have.a.bold.variant.for.foll
98a0 6f 77 69 6e 67 20 74 65 73 74 73 5c 6e 5c 6e 22 29 0a 0a 20 20 28 6c 65 74 20 28 28 78 74 65 72 owing.tests\n\n")....(let.((xter
98c0 6d 2d 63 6f 6c 6f 72 2d 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 2d 62 72 69 67 68 74 20 74 29 29 0a m-color-use-bold-for-bright.t)).
98e0 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 65 73 74 2d 61 6e 73 69 29 29 0a 0a 20 ....(xterm-color--test-ansi))...
9900 20 28 73 65 74 71 20 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 0a 20 20 28 67 6f .(setq.buffer-read-only.t)...(go
9920 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 to-char.(point-min)))..;;;###aut
9940 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 74 65 73 74 2d 72 61 oload.(defun.xterm-color-test-ra
9960 77 20 28 29 0a 20 20 22 43 72 65 61 74 65 20 61 6e 64 20 64 69 73 70 6c 61 79 20 61 20 6e 65 77 w.()..."Create.and.display.a.new
9980 20 62 75 66 66 65 72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 41 4e 53 49 20 53 47 52 20 63 6f 6e 74 .buffer.containing.ANSI.SGR.cont
99a0 72 6f 6c 20 73 65 71 75 65 6e 63 65 73 2e 0a 41 4e 53 49 20 73 65 71 75 65 6e 63 65 73 20 61 72 rol.sequences..ANSI.sequences.ar
99c0 65 20 6e 6f 74 20 70 72 6f 63 65 73 73 65 64 2e 20 4f 6e 65 20 63 61 6e 20 75 73 65 20 61 20 64 e.not.processed..One.can.use.a.d
99e0 69 66 66 65 72 65 6e 74 20 45 6d 61 63 73 20 70 61 63 6b 61 67 65 2c 0a 73 75 63 68 20 61 73 20 ifferent.Emacs.package,.such.as.
9a00 61 6e 73 69 2d 63 6f 6c 6f 72 2e 65 6c 20 74 6f 20 64 6f 20 73 6f 2e 20 54 68 69 73 20 69 73 20 ansi-color.el.to.do.so..This.is.
9a20 72 65 61 6c 6c 79 20 6d 65 61 6e 74 20 74 6f 20 62 65 20 75 73 65 64 20 66 6f 72 20 65 61 73 79 really.meant.to.be.used.for.easy
9a40 0a 63 6f 6d 70 61 72 69 73 6f 6e 73 2f 62 65 6e 63 68 6d 61 72 6b 73 20 77 69 74 68 20 6c 69 62 .comparisons/benchmarks.with.lib
9a60 72 61 72 69 65 73 20 74 68 61 74 20 6f 66 66 65 72 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 raries.that.offer.similar.functi
9a80 6f 6e 61 6c 69 74 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 onality."...(interactive)...(let
9aa0 2a 20 28 28 6e 61 6d 65 20 28 67 65 6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 2d 6e 61 *.((name.(generate-new-buffer-na
9ac0 6d 65 20 22 2a 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 74 65 73 74 2d 72 61 77 2a 22 29 29 0a 20 20 me."*xterm-color-test-raw*"))...
9ae0 20 20 20 20 20 20 20 28 62 75 66 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 6e .......(buf.(get-buffer-create.n
9b00 61 6d 65 29 29 29 0a 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 62 75 66 ame))).....(switch-to-buffer.buf
9b20 29 29 0a 0a 20 20 28 6c 65 74 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 65 73 74 2d 64 6f ))....(let.(xterm-color--test-do
9b40 2d 66 69 6c 74 65 72 29 0a 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 65 73 74 2d -filter).....(xterm-color--test-
9b60 78 74 65 72 6d 29 0a 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 65 73 74 2d 61 6e xterm).....(xterm-color--test-an
9b80 73 69 29 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 0a si))...(goto-char.(point-min))).
9ba0 0a 28 70 72 6f 76 69 64 65 20 27 78 74 65 72 6d 2d 63 6f 6c 6f 72 29 0a 3b 3b 3b 20 78 74 65 72 .(provide.'xterm-color).;;;.xter
9bc0 6d 2d 63 6f 6c 6f 72 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 m-color.el.ends.here............
9be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................